gst/gstutils.c: Fix a caps memory leak introduced by the last change.
[platform/upstream/gstreamer.git] / ChangeLog
1 2008-12-09  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2
3         * gst/gstutils.c: (gst_element_get_compatible_pad):
4         Fix a caps memory leak introduced by the last change.
5
6 2008-12-09  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
7
8         * gst/gstutils.c: (gst_element_get_compatible_pad):
9         Check if the caps of the pads are compatible before returning
10         a pad and claiming it is compatible. This, among other things,
11         fixes a bug with gst-launch where an incompatible pad is chosen
12         and linking fails. Fixes bug #544003.
13
14 2008-12-09  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
15
16         * libs/gst/check/gstcheck.c: (gst_check_init):
17         Revert accidentially commited patch for bug #404631 which
18         tries to print a backtrace if a testcase is terminated by
19         a signal. This code was never activated as the corresponding
20         configure.ac change wasn't committed.
21
22 2008-12-09  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
23
24         * tests/check/libs/controller.c: (GST_START_TEST):
25         This test should return TRUE now as syncing an uncontrolled
26         object will succeed now (there's nothing to sync).
27
28 2008-12-09  Stefan Kost  <ensonic@users.sf.net>
29
30         * libs/gst/controller/gstcontroller.c:
31           Aggregate return value for gst_controller_sync_values(). More info in
32           logging. Always set values on first sync-call.
33
34         * libs/gst/controller/gstcontrolsource.c:
35           Microoptimizations.
36
37         * libs/gst/controller/gsthelper.c:
38           Fix return code and comment.
39
40 2008-12-09  Stefan Kost  <ensonic@users.sf.net>
41
42         * tools/gst-launch.1.in:
43           Fix description of how to specify a type in caps. Fixes #553873.
44           Also ranges and list contain values and not property-assignments.
45
46 2008-12-08  Wim Taymans  <wim.taymans@collabora.co.uk>
47
48         * plugins/elements/gsttee.c: (gst_tee_handle_buffer):
49         Check for changed pads-list before checking the last returned
50         GstFlowReturn because the pad could have been removed and we
51         need to ignore the value in that case.
52
53 2008-12-08  Wim Taymans  <wim.taymans@collabora.co.uk>
54
55         * libs/gst/base/gstbasetransform.c:
56         (gst_base_transform_prepare_output_buffer),
57         (gst_base_transform_getrange), (gst_base_transform_chain):
58         * libs/gst/base/gstbasetransform.h:
59         Add vmethod that is called before we start the transform and which can
60         be used to configure the transform, such as dynamic properties.
61
62 2008-12-05  David Schleef  <ds@schleef.org>
63
64         * gst/gst.c:
65         Search for plugins on win32 based on the location of the
66         gstreamer DLL.  Fixes #548786
67
68 2008-12-04  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
69
70         * configure.ac:
71         Apparently AC_CONFIG_MACRO_DIR breaks when using more
72         than one macro directory, reverting last change.
73
74 2008-12-04  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
75
76         * configure.ac:
77         Set AC_CONFIG_MACRO_DIR to common/m4 to point autoconf to
78         our M4 macros.
79
80 2008-11-29  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
81
82         Patch by: Cygwin Ports maintainer
83                   <yselkowitz at users dot sourceforge dot net>
84
85         * autogen.sh:
86         * configure.ac:
87         Require gettext 0.17 because older versions don't mix with libtool
88         2.2. At build time an older gettext version will still work.
89         Fixes bug #556091.
90
91 2008-11-27  Wim Taymans  <wim.taymans@collabora.co.uk>
92
93         Patch by: 이문형 <iwings at gmail dot com>
94
95         * gst/gstpoll.c: (gst_poll_fd_ctl_write), (gst_poll_fd_has_error):
96         Adds support for FD_CONNECT event (win32). See #562258.
97
98 2008-11-24  Stefan Kost  <ensonic@users.sf.net>
99
100         * libs/gst/base/gstbasesink.c:
101           Turn comment into gtk-doc comment.
102
103 2008-11-24  Wim Taymans  <wim.taymans@collabora.co.uk>
104
105         * libs/gst/base/gstbasetransform.c:
106         (gst_base_transform_acceptcaps):
107         Revert quick accepcaps attempt, it's not fully equivalent to the old
108         behaviour and thus causes regressions.
109
110 2008-11-24  Edward Hervey  <edward.hervey@collabora.co.uk>
111
112         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
113         Fix memory leak.
114
115 2008-11-24  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
116
117         Patch by: Simon Holm Thøgersen <odie at cs dot aau dot dk>
118
119         * gst/gstregistry.c: (gst_registry_scan_path_level):
120         Reduce the number of stat() calls for every file from three times
121         to one time. Fixes bug #560360.
122
123 2008-11-22  Wim Taymans  <wim.taymans@collabora.co.uk>
124
125         * libs/gst/base/gstbasetransform.c:
126         (gst_base_transform_acceptcaps):
127         Rename a variable to make the code clearer.
128
129 2008-11-21  Stefan Kost  <ensonic@users.sf.net>
130
131         * plugins/elements/gstidentity.c:
132         Don't warning on offset==-1. Taken from _check_imperfect_offset().
133
134 2008-11-21  Michael Smith <msmith@songbirdnest.com>
135
136         * plugins/elements/gstfilesrc.c:
137           Check for localhost in URI was backwards, fix it. Fixes unit test.
138
139 2008-11-21  Wim Taymans  <wim.taymans@collabora.co.uk>
140
141         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
142         (gst_base_transform_getcaps), (gst_base_transform_find_transform),
143         (gst_base_transform_acceptcaps), (gst_base_transform_getrange):
144         Add beginnings of a more optimized acceptcaps function than the default
145         core one.
146
147 2008-11-21  Wim Taymans  <wim.taymans@collabora.co.uk>
148
149         * gst/gstpad.c: (gst_pad_accept_caps):
150         Avoid getting the acceptcaps function too early.
151
152 2008-11-21  Wim Taymans  <wim.taymans@collabora.co.uk>
153
154         * tools/gst-launch.c: (event_loop):
155         Make gst-launch handle LATENCY messages and make it recalculate the
156         latency.
157
158 2008-11-20  Michael Smith <msmith@songbirdnest.com>
159
160         * plugins/elements/gstfilesrc.c:
161           Use g_filename_from_uri() for URI parsing in filesrc rather than rolling
162           out own slightly incorrect version. Fixes use of some paths on
163           win32.
164
165 2008-11-20  Michael Smith <msmith@songbirdnest.com>
166
167         * gst/gstregistrybinary.c:
168           In win32 codepath, if we fail to write the registry, create the
169           directory for it and try again, matching the behaviour in non-win32
170           codepaths.
171
172 2008-11-20  Wim Taymans  <wim.taymans@collabora.co.uk>
173
174         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_render_delay):
175         Changing the render delay changes the latency and so we must post a
176         latency message.
177
178 2008-11-20  Wim Taymans  <wim.taymans@collabora.co.uk>
179
180         * gst/gstquery.c:
181         * gst/gstquery.h:
182         Add GstQueryType for custom queries instead of having to use the
183         not-so-very-convenient registration infrastructure to register new
184         types.
185
186 2008-11-19  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
187
188         Patch by: Andrew Feren <acferen at yahoo dot com>
189
190         * gst/gstobject.c: (gst_object_default_deep_notify):
191         Unref the GEnumClass after usage again. Fixes bug #561501.
192
193 2008-11-19  Wim Taymans  <wim.taymans@collabora.co.uk>
194
195         * gst/gstbin.c: (_gst_boolean_accumulator), (gst_bin_class_init),
196         (gst_bin_recalculate_latency), (gst_bin_do_latency_func),
197         (gst_bin_change_state_func):
198         * gst/gstbin.h:
199         Add do-latency signal with the old default fallback implementation. This
200         allows for custom latency calculations for when the default is not
201         sufficient.
202         API: GstBin::do-latency signal.
203
204 2008-11-18  Wim Taymans  <wim.taymans@collabora.co.uk>
205
206         * win32/common/libgstreamer.def:
207         Add new symbols to .def file.
208
209 2008-11-18  Wim Taymans  <wim.taymans@collabora.co.uk>
210
211         * docs/gst/gstreamer-sections.txt:
212         * gst/gstbin.c: (gst_bin_recalculate_latency),
213         (gst_bin_change_state_func):
214         * gst/gstbin.h:
215         Add method to recalculate and redistribute the latency on a bin.
216         API: gst_bin_recalculate_latency().
217
218 2008-11-18  Wim Taymans  <wim.taymans@collabora.co.uk>
219
220         * gst/gstbuffer.h:
221         Document the free_func.
222
223 2008-11-17  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
224
225         * libs/gst/controller/gstinterpolation.c:
226         * libs/gst/controller/gstlfocontrolsource.c:
227         Use gst_guint64_to_gdouble instead of gst_util_guint64_to_gdouble
228         as it is mapped to a cast on non-win32 platforms.
229
230 2008-11-17  Stefan Kost  <ensonic@users.sf.net>
231
232         * libs/gst/controller/gstcontroller.c:
233         * libs/gst/controller/gstcontrollerprivate.h:
234           Keep last-value and only call set_property if value has changed. This
235           supresses all the g_object_notifies we would trigger otherwise. It
236           also allows the user to chage the value while there is no controller
237           change.
238
239 2008-11-17  Stefan Kost  <ensonic@users.sf.net>
240
241         * gst/gstvalue.c:
242           Don't crash if either of the string GValues is empty.
243
244 2008-11-17  Andy Wingo  <wingo@pobox.com>
245
246         * tools/gst-inspect.c (print_all_uri_handlers): New function,
247         prints a summary of what URI schemes are supported by what
248         elements.
249         (main): Plumb in support for --uri-handlers or -u, and fix the
250         argc check for -a and -u.
251
252 2008-11-17  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
253
254         * gst/gstutils.h:
255         Add G_GNUC_PURE to gst_util_uint64_scale* and the double<->uint64
256         conversion functions.
257
258 2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>
259
260         * gst/gstbuffer.c: (gst_buffer_finalize):
261         Avoid costly typechecking for trivially correct pointers.
262
263         * gst/gstpoll.c: (gst_poll_wait):
264         Add some G_LIKELY here and there.
265
266         * libs/gst/base/gstadapter.c: (gst_adapter_push):
267         Add some debug info.
268
269 2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>
270
271         * docs/random/wtay/poll-timeout:
272         Small tweaks.
273
274 2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>
275
276         * tests/old/testsuite/caps/intersection.c: (main):
277         * tests/old/testsuite/plugin/loading.c: (main):
278         Remove references to deprecated API g_mem_chunk*.
279         Fixes #560442.
280
281 2008-11-12  Wim Taymans  <wim.taymans@collabora.co.uk>
282
283         * tools/gst-inspect.c: (main):
284         Add --plugin option. Fixes #560301.
285
286 2008-11-12  Wim Taymans  <wim.taymans@collabora.co.uk>
287
288         * docs/random/wtay/poll-timeout:
289         Quick braindump for a possible (not totally verified) atomic case.
290
291 2008-11-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
292
293         * gst/gstregistrybinary.c: (gst_registry_binary_write_chunk),
294         (gst_registry_binary_initialize_magic),
295         (gst_registry_binary_write_cache),
296         (gst_registry_binary_check_magic):
297         * gst/gstregistrybinary.h:
298         Don't write and check a CRC for the binary registry file. It's
299         guaranteed that the registry is completely written (it's first written
300         to a temporary file and then moved) and if the registry was corrupted
301         by some hardware failure we would have bigger problems.
302
303         Bump binary registry version to 0.10.21.1 for this as it's an
304         incompatible change and to ensure that the registry gets rebuild
305         after the update.
306
307         This saves some milliseconds for reading/writing the registry.
308         Fixes bug #560399.
309
310 2008-11-11  Wim Taymans  <wim.taymans@collabora.co.uk>
311
312         * docs/random/wtay/poll-timeout:
313         Some pseudo code for how we could implement clock timeouts with GstPoll.
314
315 2008-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
316
317         * plugins/elements/gstfilesink.c:
318           Update Author string to match others.
319
320 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
321
322         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
323         Reorganize some more, be more conservative with the GST_TYPE_ARRAY not
324         being fixed and inline the trivial check.
325
326 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
327
328         * gst/gstcaps.c: (gst_caps_copy), (_gst_caps_free),
329         (gst_caps_merge_structure), (gst_caps_get_structure),
330         (gst_caps_copy_nth), (gst_caps_set_simple),
331         (gst_caps_set_simple_valist), (gst_caps_is_fixed),
332         (gst_caps_is_equal_fixed), (gst_caps_intersect),
333         (gst_caps_subtract), (gst_caps_normalize), (gst_caps_do_simplify),
334         (gst_caps_to_string):
335         Callgrind micro optimisations.
336         Avoid array bounds checks and force inline of trivial function.
337
338         * gst/gstobject.c: (gst_object_set_name_default):
339         -1 is equivalent to letting glib to the strlen but then there is more
340         room for optimisations and it's not our fault.
341
342         * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
343         no need to clear the array, we're cool.
344
345         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
346         The most common _is_fixed() check is done on fundamental glib base
347         types so we check this first instead of doing a huge amount of
348         useless GST_TYPE_ARRAY calls.
349
350 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
351
352         * gst/gstevent.h:
353         Add a SKIP seek flag for use with advanced trickmodes.
354         API: GstSeekFlags::GST_SEEK_FLAG_SKIP
355
356 2008-11-05  Wim Taymans  <wim.taymans@collabora.co.uk>
357
358         * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
359         No need to memset, we can clear the value ourselves.
360
361         * gst/gstvalue.c: (gst_type_is_fixed),
362         (gst_value_get_compare_func):
363         Some optimisations from a few callgrind sessions:
364         When checking if a type is fixed, check for trivial fundamental types
365         first before checking types for which we need to get the type followed
366         by the heavy duty type checks, this reduces the amount of
367         g_type_fundamental() calls a lot.
368         When getting the compare function, first check for our registered types.
369         If that fails, do the heavy duty g_type_is_a() checks, reduces the
370         amount of g_type_is_a() considerably.
371
372 2008-11-05  Wim Taymans  <wim.taymans@collabora.co.uk>
373
374         * docs/design/part-TODO.txt:
375         Mumble something about removing GstXML.
376
377 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
378
379         * gst/gstbin.c: (gst_bin_handle_message_func):
380         Get the seqnum before we dispose the message.
381
382 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
383
384         * docs/design/part-TODO.txt:
385         Refer to the framestepping document.
386
387 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
388
389         * gst/gstbin.c: (bin_handle_async_start),
390         (gst_bin_handle_message_func), (gst_bin_query):
391         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
392         (gst_base_sink_event), (gst_base_sink_change_state):
393         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
394         (gst_base_src_loop), (gst_base_src_change_state):
395         Copy seqnums from events to messages so that they can all be related
396         back to eachother.
397
398 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
399
400         * tools/gst-launch.c: (event_loop):
401         Print the message seqnums.
402
403 2008-11-04  Andy Wingo  <wingo@pobox.com>
404
405         * gst/gstutils.c (gst_util_seqnum_next): Refactor for clarity.
406
407 2008-11-04  Andy Wingo  <wingo@pobox.com>
408
409         Add sequence numbers to events and messages. See #559250.
410
411         * gst/gstutils.c (gst_util_seqnum_next, gst_util_seqnum_compare):
412         API: New functions.
413
414         * gst/gstevent.h:
415         * gst/gstevent.c (_gst_event_copy, gst_event_new): Initialize new
416         events with a new sequence number, and copy it when copying.
417         (gst_event_get_seqnum, gst_event_set_seqnum): API: Accessors for
418         an event's sequence number.
419
420         * gst/gstmessage.h:
421         * gst/gstmessage.c (_gst_message_copy, gst_message_new_custom):
422         (gst_event_get_seqnum, gst_event_set_seqnum): API: As with events,
423         so with messages.
424
425         * docs/gst/gstreamer-sections.txt: Add new functions to the docs.
426
427 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
428
429         * docs/manual/advanced-position.xml:
430         * docs/manual/basics-bins.xml:
431         * docs/manual/basics-bus.xml:
432         * docs/manual/basics-pads.xml:
433         * docs/manual/intro-gstreamer.xml:
434         * docs/manual/intro-preface.xml:
435         Some Application Development Manual fixes thanks to
436         Andrew Feren. Fixes #558459.
437
438 2008-11-03  Stefan Kost  <ensonic@users.sf.net>
439
440         * gst/gstregistrybinary.c:
441           Don't bother with the GTimer if we don't output the results.
442
443 2008-11-03  Wim Taymans  <wim.taymans@collabora.co.uk>
444
445         Patch by: David Schleef  <ds@schleef.org>
446
447         * libs/gst/net/Makefile.am:
448         Add WIN32_LIBS to libgstnet LIBADD. Fixes #557300.
449
450 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
451
452         * gst/gstregistrybinary.c:
453           Oh my, studip, stupid me. Remove double stat() call.
454
455 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
456
457         * gst/gstpreset.c:
458           Use g_unlink instead of unlink.
459
460         * gst/gststructure.c:
461           Use glib type.
462
463         * gst/gstutils.c:
464           Add a FIXME:.
465
466         * gst/gsttaglist.c:
467         * gst/gsttypefind.c:
468         * gst/gstvalue.c:
469           Formatting & whitespaces.
470
471 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
472
473         * plugins/elements/gstidentity.c:
474           Doc typo. Use return value of parent_class->event.
475   
476         * plugins/elements/gsttypefindelement.c:
477           Chain up at the end for consistency.
478   
479 2008-10-30  Stefan Kost  <ensonic@users.sf.net>
480
481         * docs/Makefile.am:
482         * docs/gst/gstreamer-docs.sgml:
483         * docs/gst/gstreamer-sections.txt:
484         * docs/gst/running.xml:
485         * docs/libs/gstreamer-libs-docs.sgml:
486           Change to xinclude based build - its faster and easier to maintain.
487
488 2008-10-30  Stefan Kost  <ensonic@users.sf.net>
489
490         * gst/gstregistrybinary.c:
491         * gst/gstregistryxml.c:
492           Use g_unlink() as none of these are directories.
493
494 2008-10-29  Wim Taymans  <wim.taymans@collabora.co.uk>
495
496         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func):
497         Some more comments.
498
499 2008-10-27  Wim Taymans  <wim.taymans@collabora.co.uk>
500
501         * libs/gst/base/gstbasetransform.c:
502         (gst_base_transform_find_transform), (gst_base_transform_getrange):
503         If we have a fixate function, call it even if we already have fixed caps
504         because the subclass might add some caps. Makes audioconvert add a
505         default channel layout.
506
507 2008-10-24  Wim Taymans  <wim.taymans@collabora.co.uk>
508
509         * libs/gst/base/gstbasetransform.c:
510         (gst_base_transform_prepare_output_buffer),
511         (gst_base_transform_getrange):
512         Clear the output buffer variable.
513         Cleanups to the error path in the getrange function.
514         Fixes #557649.
515
516 2008-10-23  Sebastian Dröge  <slomo@circular-chaos.org>
517
518         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
519         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
520         Use gst_buffer_try_new_and_alloc() and handle errors instead of
521         using gst_buffer_new_and_alloc() which aborts if the buffer couldn't
522         be allocated.
523
524 2008-10-23  Wim Taymans  <wim.taymans@collabora.co.uk>
525
526         * gst/gstsegment.c: (gst_segment_set_newsegment_full):
527         Set the last_stop to a more meaningful position when configuring the
528         segment. ie. the start/stop of the segment or clipped against the
529         updated segment boundaries.
530
531         * tests/check/gst/gstsegment.c: (GST_START_TEST):
532         Add some unit tests for the last_stop.
533
534 2008-10-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
535
536         * libs/gst/base/gstbytereader.c:
537         Use GST_(READ|WRITE)_(FLOAT|DOUBLE)_(LE|BE) instead of our own
538         copies of them.
539
540 2008-10-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
541
542         * docs/gst/gstreamer-sections.txt:
543         * gst/gstutils.h:
544         API: Move float endianness conversion macros from libgstfloatcast
545         to core as it's useful in general, even in core. Fixes bug #555196.
546         This adds GDOUBLE_FROM_BE, GDOUBLE_FROM_LE, GDOUBLE_TO_BE,
547         GDOUBLE_TO_LE, GDOUBLE_SWAP_LE_BE, GFLOAT_FROM_BE, GFLOAT_FROM_LE,
548         GFLOAT_TO_BE, GFLOAT_TO_LE, GFLOAT_SWAP_LE_BE.
549
550         Also add GST_READ_ and GST_WRITE_ macros for floats and doubles:
551         GST_READ_FLOAT_LE, GST_READ_FLOAT_BE, GST_READ_DOUBLE_LE,
552         GST_READ_DOUBLE_BE, GST_WRITE_FLOAT_LE, GST_WRITE_FLOAT_BE,
553         GST_WRITE_DOUBLE_LE, GST_WRITE_DOUBLE_BE.
554
555 2008-10-22  Sebastian Dröge  <slomo@circular-chaos.org>
556
557         * docs/libs/gstreamer-libs-sections.txt:
558         * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_data),
559         (gst_byte_reader_peek_data):
560         * libs/gst/base/gstbytereader.h:
561         * win32/common/libgstbase.def:
562         API: Add gst_byte_reader_get_data and gst_byte_reader_peek_data
563         to get a pointer to the data at the current position and have
564         a guaranteed size.
565
566 2008-10-22  Jan Schmidt  <jan.schmidt@sun.com>
567
568         * configure.ac:
569         Fix a bug in the output of the configure script summary
570         when --gst-disable-registry is supplied
571
572 2008-10-22  Jan Schmidt  <jan.schmidt@sun.com>
573
574         * libs/gst/base/gstbitreader.c:
575         * libs/gst/base/gstbytereader.c:
576         Fix the names of 2 functions in the docs strings.
577
578 2008-10-21  Wim Taymans  <wim.taymans@collabora.co.uk>
579
580         * libs/gst/base/gstbasetransform.c:
581         (gst_base_transform_prepare_output_buffer),
582         (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
583         Protect sink_alloc caps with the sinkpad lock to avoid nasty caps
584         refcount problems as seen in banshee and maybe also in farsight2.
585         Remove atomic int now that we need to take the lock anyways.
586
587 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
588
589         * libs/gst/base/gstbasesink.c: (gst_base_sink_default_do_seek),
590         (gst_base_sink_default_prepare_seek_segment),
591         (gst_base_sink_perform_seek), (gst_base_sink_get_position_last),
592         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
593         (gst_base_sink_query):
594         Implement more seeking in pull mode.
595         Use pad convert functions to convert position to the requested format.
596         Fix position/duration reporting in pull mode.
597         Implement position and duration reporting in other formats than time.
598
599         * libs/gst/base/gstbasesink.h:
600         Add member to keep track of when the segment is playing.
601
602 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
603
604         * gst/gstpad.c: (gst_pad_configure_src):
605         When we use gst_pad_alloc_buffer() without wanting to set the caps we
606         also don't need to check if the caps are compatible because the caller
607         presumably is going to perform its own custom checks. Fixes some cases
608         where basetransform elements would error out when it was not needed.
609
610 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
611
612         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
613         Update comment.
614
615         * libs/gst/base/gstbasetransform.c:
616         (gst_base_transform_handle_buffer),
617         (gst_base_transform_reconfigure):
618         Add some debug info.
619
620         * win32/common/libgstbase.def:
621         Add new method.
622
623 2008-10-19  Stefan Kost  <ensonic@users.sf.net>
624
625         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek);
626           Remove duplicated assignment and log a message in failure case.
627
628 2008-10-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
629
630         Patch by: Dig Ge <dig.ge.cn at gmail com>
631
632         * tests/examples/helloworld/helloworld.c: (main):
633           Fix copy'n'paste bug in hello world example (#556900).
634
635 2008-10-17  Wim Taymans  <wim.taymans@collabora.co.uk>
636
637         * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate_pull),
638         (gst_base_sink_query):
639         Query the total number of bytes when activating the pad in pull mode.
640         Implement duration query in pull mode by using the installed pad convert
641         function to convert from bytes to the requested format.
642
643 2008-10-16  Wim Taymans  <wim.taymans@collabora.co.uk>
644
645         * docs/libs/gstreamer-libs-sections.txt:
646         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_preroll),
647         (gst_base_sink_flush_start), (gst_base_sink_flush_stop),
648         (gst_base_sink_event), (gst_base_sink_perform_seek),
649         (gst_base_sink_loop), (gst_base_sink_pad_activate_pull),
650         (gst_base_sink_send_event), (gst_base_sink_change_state):
651         * libs/gst/base/gstbasesink.h:
652         Add method to commit the state in subclasses.
653         Refactor the flush_start and flush_stop code because we need it for
654         flushing while seeking too.
655         Implement the beginnings of seeking in pull mode.
656         Use the segment last_stop field for the pulling offset.
657         Fix the pause method in pull mode.
658         Configure the segment to BYTES for pull mode.
659         API: GstBaseSink::gst_base_sink_do_preroll()
660
661 2008-10-16  Wim Taymans  <wim.taymans@collabora.co.uk>
662
663         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
664         Update some docs.
665
666 2008-10-14  Tim-Philipp Müller  <tim.muller at collabora co uk>
667
668         * gst/gstquark.c: (_priv_gst_quarks_initialize):
669           Fix printf format warning.
670
671 2008-10-14  Sebastian Dröge  <slomo@circular-chaos.org>
672
673         * plugins/elements/gsttee.c: (gst_tee_handle_buffer):
674         Fix flow aggregation of tee. Error out immediately for all flow returns
675         except OK and NOT_LINKED, return NOT_LINKED if all pads are not linked
676         and return OK if at least one pad is linked.
677
678         Before we errored out on "fatal" flow returns (i.e. not for WRONG_STATE)
679         and otherwise returned the flow return of the last pad, which is wrong.
680         
681         * tests/check/elements/tee.c: (_fake_chain), (_fake_chain_error),
682         (GST_START_TEST), (tee_suite):
683         Add unit tests for the flow aggregation.
684
685 2008-10-13  Wim Taymans  <wim.taymans@collabora.co.uk>
686
687         * docs/design/part-TODO.txt:
688         Remove item from the todo list because it was fixed with the latency
689         state change rewrites.
690
691         * docs/design/part-seeking.txt:
692         * docs/design/part-segments.txt:
693         Update some docs.
694
695         * gst/gstevent.c: (gst_event_new_new_segment_full),
696         (gst_event_parse_new_segment_full), (gst_event_new_buffer_size),
697         (gst_event_parse_buffer_size), (gst_event_new_qos),
698         (gst_event_parse_qos), (gst_event_new_seek),
699         (gst_event_parse_seek), (gst_event_new_latency),
700         (gst_event_parse_latency):
701         Use quarks to construct and parse events.
702
703         * gst/gstquark.c: (_priv_gst_quarks_initialize):
704         * gst/gstquark.h:
705         Add some more quarks to the table.
706         Emit a warning when the quark tables are not in sync.
707
708         * tests/check/gst/gstbus.c: (GST_START_TEST):
709         Add an assert.
710
711 2008-10-13  Stefan Kost  <ensonic@users.sf.net>
712
713         * plugins/elements/Makefile.am:
714         * plugins/indexers/Makefile.am:
715           Don't install static libs for plugins. Fixes #550851 for core.
716
717 2008-10-13  Wim Taymans  <wim.taymans@collabora.co.uk>
718
719         * gst/gstbus.c: (gst_bus_source_finalize),
720         (gst_bus_add_watch_full_unlocked), (gst_bus_add_watch_full),
721         (gst_bus_enable_sync_message_emission),
722         (gst_bus_disable_sync_message_emission),
723         (gst_bus_add_signal_watch_full), (gst_bus_remove_signal_watch):
724         Fix deadlock, g_source_get_id() cannot be called in finalize.
725         Keep track of the watch source by keeping a pointer to the source object
726         instead.
727         Use the bus lock to protect access to the pointer to the current
728         watch source.
729
730 2008-10-13  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
731
732         Base on Patch by: Olivier Crete <tester at tester dot ca>
733
734         * gst/gstbus.c: (gst_bus_source_finalize),
735         (gst_bus_add_watch_full), (gst_bus_add_signal_watch_full):
736         Only allow one bus watch to be set at a time. This is necessary
737         because the dispatcher pops the message from the bus and the second
738         watcher will then get NULL or the next message (and the first won't
739         get this next message then, etc). If more than one "watcher" is
740         required signal watches should be used. Fixes bug #526044.
741
742 2008-10-12  Jan Schmidt  <jan.schmidt@sun.com>
743
744         * tools/gst-launch.c:
745         Change the printing of the 'buffering...' output to avoid putting
746         a \r in a translateable string (flagged by the TP).
747
748 2008-10-10  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
749
750         * gst/gstxml.c:
751         Clarify that the save_thyself() and restore_thyself() virtual
752         functions of GstObject need to be overriden, not
753         gst_object_(save|restore)_thyself() which is impossible.
754         Fixes bug #555700.
755
756 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
757
758         * gst/gstpad.c: (gst_pad_get_range), (gst_pad_pull_range):
759         Revert a patch from 21 months ago that broke caps negotiation in pull
760         mode. Basically, having a buffer pass over a pad will trigger the
761         setcaps function when caps change, just like in push mode.
762
763 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
764
765         * docs/design/part-negotiation.txt:
766         Update the docs some more.
767
768         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
769         If we pull a buffer with non-trivial caps, suggest those caps with the
770         max probability.
771
772 2008-10-10  Edward Hervey  <edward.hervey@collabora.co.uk>
773
774         * docs/design/part-TODO.txt:
775         Add another limitation of pad-blocking with segment seeks not pushing
776         EOS events.
777
778 2008-10-10  Jan Schmidt  <jan.schmidt@sun.com>
779
780         * win32/common/libgstbase.def:
781         * win32/common/libgstreamer.def:
782         Add new symbols to the win32 defs files
783
784 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
785
786         * gst/gstbin.c: (gst_bin_remove_func), (update_degree),
787         (gst_bin_handle_message_func):
788         The message src can be NULL, don't try to print the object names in that
789         case.
790
791         * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate):
792         Add some more debug info.
793
794         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline),
795         (GST_START_TEST):
796         Add some debug.
797         Fix the test, pull based sinks go ASYNC to PAUSED, just like other
798         scheduling modes.
799
800 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
801
802         * docs/design/part-negotiation.txt:
803         Small doc update.
804
805         * docs/libs/gstreamer-libs-sections.txt:
806         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
807         (gst_base_sink_pad_getcaps), (gst_base_sink_pad_setcaps),
808         (gst_base_sink_init), (gst_base_sink_set_blocksize),
809         (gst_base_sink_get_blocksize), (gst_base_sink_set_property),
810         (gst_base_sink_get_property), (gst_base_sink_needs_preroll),
811         (gst_base_sink_loop), (gst_base_sink_pad_activate),
812         (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
813         (gst_base_sink_change_state):
814         * libs/gst/base/gstbasesink.h:
815         Add blocksize property and methods to control the amount of data
816         to pull.
817         Negotiate first before activating upstream in pull mode so that they can
818         negotiate themselves.
819         When we operate in pull mode, we only accept the caps that we
820         negotiated.
821         Make the sink go ASYNC to PAUSED, like all other sinks.
822         API: GstBaseSink::gst_base_sink_set_blocksize()
823         API: GstBaseSink::gst_base_sink_get_blocksize()
824         API: GstBaseSink::blocksize
825
826         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
827         (gst_base_src_set_live), (gst_base_src_is_live),
828         (gst_base_src_set_format), (gst_base_src_query_latency),
829         (gst_base_src_set_blocksize), (gst_base_src_get_blocksize),
830         (gst_base_src_set_do_timestamp), (gst_base_src_get_do_timestamp),
831         (gst_base_src_set_property), (gst_base_src_get_property):
832         * libs/gst/base/gstbasesrc.h:
833         Add typechecking in public API functions.
834         Add methods to control the blocksize in subclasses.
835         API: GstBaseSrc::gst_base_src_set_blocksize()
836         API: GstBaseSrc::gst_base_src_get_blocksize()
837
838 2008-10-10  Edward Hervey  <edward.hervey@collabora.co.uk>
839
840         * tests/check/gst/gstutils.c: (probe_do_nothing), (data_probe),
841         (buffer_probe), (event_probe), (GST_START_TEST):
842         We now see 3 events go through our pad, since basesink now sends
843         upstream latency events.
844
845 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
846
847         * gst/gstpipeline.c: (gst_pipeline_change_state):
848         Release the object lock before trying to flush the bus.
849
850 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
851
852         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
853         Forward LATENCY events upstreams so that elements know about the total
854         pipeline latency. Fixes #555307.
855
856 2008-10-08  Jan Schmidt  <jan.schmidt@sun.com>
857
858         * plugins/elements/gstqueue.c:
859         Allow through queries when we don't know how
860         to adjust them (not TIME or BYTES), as otherwise it's
861         not possible to query the current position in order
862         to seek in other formats at all.
863
864 2008-10-08  Andy Wingo  <wingo@pobox.com>
865
866         * docs/gst/gstreamer-sections.txt: Placate doc pendants.
867
868 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
869
870         * gst/gstghostpad.c:
871         * gst/gstghostpad.h:
872         Unbreak -good build, private is a reserved c++ keyword.
873
874 2008-10-08  Andy Wingo  <wingo@pobox.com>
875
876         * gst/gstghostpad.h (GST_GHOST_PAD_CAST):
877         * gst/gstghostpad.c (GST_GHOST_PAD_CAST): Fix unintended API
878         removal: re-add GST_GHOST_PAD_CAST to the header.
879
880         * gst/gstghostpad.h (GstProxyPad, GstProxyPadClass, GstGhostPad)
881         (GstGhostPadClass): Publically expose these structures so as to
882         allow easy subclassing from C. Hide the member data behind a
883         private opaque data pointer.
884
885         * gst/gstghostpad.c: Adapt to store instance data in the type
886         instance's private data region, not in the public struct.
887
888 2008-10-08  Andy Wingo  <wingo@pobox.com>
889
890         * gst/gstghostpad.c (gst_ghost_pad_construct): If we got a
891         template via g_object_get(), be sure to unref it.
892
893         * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): Fix incorrect doc.
894
895 2008-10-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
896
897         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
898         If we can't get a cache file don't try to save something to it.
899         Dereferencing NULL pointers usually isn't a good idea.
900
901 2008-10-07  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
902
903         * tests/check/Makefile.am:
904         * tests/check/gst/gstabi.c:
905         * tests/check/gst/struct_sparc.h:
906         * tests/check/libs/libsabi.c:
907         * tests/check/libs/struct_sparc.h:
908         Add Sparc ABI checks
909
910         * tests/check/gst/gstvalue.c: (GST_START_TEST):
911         Cast signed integer to unsigned to avoid a compiler warning.
912
913 2008-10-07  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
914
915         * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_uint24_le),
916         (gst_byte_reader_get_uint24_be), (gst_byte_reader_get_int24_le),
917         (gst_byte_reader_get_int24_be), (gst_byte_reader_peek_uint24_le),
918         (gst_byte_reader_peek_uint24_be), (gst_byte_reader_peek_int24_le),
919         (gst_byte_reader_peek_int24_be):
920         Use new GST_READ_UINT24_(LE|BE) macros.
921
922 2008-10-07  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
923
924         * docs/gst/gstreamer-sections.txt:
925         * gst/gstutils.h:
926         Always use the unaligned variants of GST_READ_UINT* and GST_WRITE_UINT*
927         as it's too easy to break the ISO C strict aliasing rules with simple
928         casts to the corresponding type and this would introduce hard to debug
929         bugs. Fixes bug #545714.
930
931         API: Add GST_READ_UINT24_(LE|BE) and GST_WRITE_UINT24_(LE|BE).
932
933 2008-10-07  Tim-Philipp Müller  <tim.muller at collabora co uk>
934
935         * gst/gstbuffer.h: (GST_BUFFER_FREE_FUNC):
936         * gst/gstghostpad.c: (gst_ghost_pad_construct):
937           Add 'Since' bits to gtk-doc chunks for new API.
938
939 2008-10-06  Thijs Vermeir  <thijsvermeir@gmail.com>
940
941         * docs/gst/gstreamer-sections.txt:
942         Fix documentation
943
944 2008-10-06  Andy Wingo  <wingo@pobox.com>
945
946         * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): New API, a free function
947         that will be called on the malloc_data to free it. Basically a way
948         to avoid subclassing when all you need is a different free
949         function, i.e. free() instead of g_free().
950
951         * gst/gstbuffer.c (gst_buffer_finalize): Free malloc_data via
952         calling the free function.
953         (gst_buffer_init): Initialize the free function to g_free.
954
955 2008-10-06  Andy Wingo  <wingo@pobox.com>
956
957         * gst/gstghostpad.h:
958         * gst/gstghostpad.c (gst_ghost_pad_construct): New function,
959         finishes the initialization of ghost pad. Useful for language
960         bindings and subclassers of GstGhostPad. Fixes #539108.
961         (gst_ghost_pad_new_full): Use the new constructor.
962
963 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
964
965         Base on Patch by: Olivier Crete <tester at tester dot ca>
966
967         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
968         (gst_bin_remove_func), (update_degree),
969         (gst_bin_sort_iterator_new), (gst_bin_handle_message_func):
970         Keep track of pads that are being linked/unlinked and resync the state
971         changes.
972
973         * gst/gstpad.c: (gst_pad_get_direction),
974         (gst_pad_set_chain_function), (gst_pad_set_getrange_function),
975         (gst_pad_set_checkgetrange_function), (gst_pad_unlink),
976         (gst_pad_link_prepare), (gst_pad_link),
977         (gst_pad_event_default_dispatch), (gst_pad_chain), (gst_pad_push),
978         (gst_pad_check_pull_range), (gst_pad_get_range),
979         (gst_pad_pull_range):
980         Some code cleanups, use macros to check pad direction.
981         Don't need to take the lock on the pad direction.
982         Post structure change when pads are linked/unlinked.
983         Change some checks into _return_if_fail().
984
985         * tests/check/gst/gstbin.c:
986         (test_link_structure_change_state_changed_sync_cb),
987         (GST_START_TEST), (gst_bin_suite):
988         Add testcase for pad link/unlinke resync during a state change.
989         Fixes #510354.
990
991 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
992
993         * docs/gst/gstreamer-sections.txt:
994         * gst/gstmessage.c: (gst_message_new_structure_change),
995         (gst_message_parse_structure_change):
996         * gst/gstmessage.h:
997         Implement STRUCTURE_CHANGED messages. These messages will be used to
998         signal the parent bin of link/unlink operations that could require a
999         resync when doing a state change. See ##510354.
1000         API: gst_message_new_structure_change()
1001         API: gst_message_parse_structure_change()
1002
1003 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
1004
1005         * gst/gstquark.c:
1006         * gst/gstquark.h:
1007         Add some more quarks for new message. See #510354.
1008
1009 2008-10-06  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1010
1011         * docs/libs/gstreamer-libs-docs.sgml:
1012         * docs/libs/gstreamer-libs-sections.txt:
1013         * libs/gst/base/Makefile.am:
1014         * libs/gst/base/gstbitreader.c: (gst_bit_reader_new),
1015         (gst_bit_reader_new_from_buffer), (gst_bit_reader_free),
1016         (gst_bit_reader_init), (gst_bit_reader_init_from_buffer),
1017         (gst_bit_reader_set_pos), (gst_bit_reader_get_pos),
1018         (gst_bit_reader_get_remaining), (gst_bit_reader_skip),
1019         (gst_bit_reader_skip_to_byte):
1020         * libs/gst/base/gstbitreader.h:
1021         * libs/gst/base/gstbytereader.c: (GDOUBLE_SWAP_LE_BE),
1022         (GFLOAT_SWAP_LE_BE), (gst_byte_reader_new),
1023         (gst_byte_reader_new_from_buffer), (gst_byte_reader_free),
1024         (gst_byte_reader_init), (gst_byte_reader_init_from_buffer),
1025         (gst_byte_reader_set_pos), (gst_byte_reader_get_pos),
1026         (gst_byte_reader_get_remaining), (gst_byte_reader_skip),
1027         (gst_byte_reader_get_uint8), (gst_byte_reader_get_int8),
1028         (gst_byte_reader_peek_uint8), (gst_byte_reader_peek_int8),
1029         (gst_byte_reader_get_uint24_le), (gst_byte_reader_get_uint24_be),
1030         (gst_byte_reader_get_int24_le), (gst_byte_reader_get_int24_be),
1031         (gst_byte_reader_peek_uint24_le), (gst_byte_reader_peek_uint24_be),
1032         (gst_byte_reader_peek_int24_le), (gst_byte_reader_peek_int24_be):
1033         * libs/gst/base/gstbytereader.h:
1034         * tests/check/Makefile.am:
1035         * tests/check/libs/bitreader.c: (GST_START_TEST),
1036         (gst_bit_reader_suite):
1037         * tests/check/libs/bytereader.c: (GST_START_TEST),
1038         (gst_byte_reader_suite):
1039         API: Add bit reader and byte reader classes, including documentation
1040         and an extensive unit test suite. Fixes bug #553554.
1041
1042 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
1043
1044         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position),
1045         (gst_base_sink_query):
1046         Improve position reporting while flushing and other intermediate state
1047         changes. Fixes #553874.
1048
1049 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
1050
1051         Patch by: Antoine Tremblay <hexa00 at gmail dot com>
1052
1053         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
1054         Original patch by : Simon Descaries
1055         Fix small refount leak in caps compatibility check.
1056         Fixes #551676.
1057
1058 2008-10-06  Stefan Kost  <ensonic@users.sf.net>
1059
1060         * docs/pwg/advanced-request.xml:
1061           Fix 0.8 api usage in example. Fixes #554561
1062
1063         * docs/pwg/appendix-porting.xml:
1064           Change 0.9 to 0.10 here.
1065
1066 2008-10-06  Stefan Kost  <ensonic@users.sf.net>
1067
1068         * docs/manual/basics-data.xml:
1069           Change "event-event interaction" to "element-element interaction".
1070           Fixes #552448. Also fix sample code for seeking and do more 0.8->0.10
1071           updates.
1072
1073 2008-10-05  Jan Schmidt  <jan.schmidt@sun.com>
1074
1075         * configure.ac:
1076         Back to development -> 0.10.21.1
1077
1078 === release 0.10.21 ===
1079
1080 2008-10-02  Jan Schmidt <jan.schmidt@sun.com>
1081
1082         * configure.ac:
1083           releasing 0.10.21, "Take These Things From Me"
1084
1085 2008-09-28  Jan Schmidt  <jan.schmidt@sun.com>
1086
1087         * configure.ac:
1088         0.10.20.4 pre-release
1089
1090 2008-09-28  Jan Schmidt  <jan.schmidt@sun.com>
1091
1092         * libs/gst/base/gstbasetransform.c:
1093         * plugins/elements/gstcapsfilter.c:
1094         * tests/check/Makefile.am:
1095         * tests/check/elements/.cvsignore:
1096         * tests/check/elements/capsfilter.c:
1097         Fix assertion in basetransform when the subclass chooses not to
1098         allocate a buffer in prepare_buffer(), and make capsfilter error out
1099         cleanly if requested to apply caps that don't completely specify the
1100         buffer. Fixes #551509
1101
1102 2008-09-24  Wim Taymans  <wim.taymans@collabora.co.uk>
1103
1104         * libs/gst/base/gstbasetransform.c:
1105         (gst_base_transform_prepare_output_buffer):
1106         Take new caps ref because our old one might have been gone when the
1107         subclass performs a gst_pad_set_caps() on the srcpad. See #548764.
1108
1109 2008-09-15  Stefan Kost  <ensonic@users.sf.net>
1110
1111         * configure.ac:
1112           Do not probe availability of check unit test library when cross
1113           compiling, as test would not work anyway. Also cleanup verbose output
1114           of the check test. Fixes #551952.
1115
1116 2008-09-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1117
1118         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
1119
1120         * gst/gstelement.c: (gst_element_sync_state_with_parent):
1121         Avoid leaking the parent ref when we fail changing the state of the
1122         element using gst_element_sync_state_with_parent(). Fixes #551978.
1123
1124 2008-09-11  Tim-Philipp Müller  <tim.muller at collabora co uk>
1125
1126         * docs/manual/intro-motivation.xml::
1127           Remove some bits that no longer apply, update others (#551642).
1128
1129 2008-09-10  Jan Schmidt  <jan.schmidt@sun.com>
1130
1131         * configure.ac:
1132         0.10.20.2 pre-release
1133
1134         * po/LINGUAS:
1135         * po/id.po:
1136         * po/pt_BR.po:
1137
1138         New translations.
1139
1140 2008-09-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
1141
1142         * win32/common/config.h.in:
1143           Add GST_DATADIR, hard-code cpu to x86.
1144
1145         * win32/common/libgstreamer.def:
1146           Spaces to tabs.
1147
1148 2008-09-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
1149
1150         * gst/gsttaglist.h:
1151           Fix Since: markers for new geo tags.
1152
1153 2008-09-02  Stefan Kost  <ensonic@users.sf.net>
1154
1155         * gst/gsttaglist.h:
1156           Fix actual tag name define after renaming from altitude to elevation.
1157
1158 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1159
1160         * gst/gstpad.c: (add_unref_pad_to_list),
1161         (gst_pad_get_internal_links_default):
1162         Add fallback when calling the deprecated function on an element that
1163         implements the new internal_link handler.
1164
1165 2008-09-01  Stefan Kost  <ensonic@users.sf.net>
1166
1167         * docs/gst/gstreamer-sections.txt:
1168         * gst/gsttaglist.c:
1169         * gst/gsttaglist.h:
1170           Add new tags for geo location and clarify purpose of existing location
1171           tag. Fixes #481169
1172
1173 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1174
1175         Patch by: Olivier Crete <tester at tester dot ca>
1176
1177         * gst/gstpad.c: (gst_pad_iterate_internal_links_default),
1178         (gst_pad_event_default_dispatch), (gst_pad_dispatcher):
1179         Use thread-safe internal links iterator. Fixes #549504.
1180
1181 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1182
1183         Based on patch by: Olivier Crete <tester at tester dot ca>
1184
1185         * docs/gst/gstreamer-sections.txt:
1186         * win32/common/libgstreamer.def:
1187         * gst/gstpad.c: (gst_pad_init),
1188         (gst_pad_set_iterate_internal_links_function),
1189         (int_link_iter_data_free), (iterate_pad),
1190         (gst_pad_iterate_internal_links_default),
1191         (gst_pad_iterate_internal_links), (gst_pad_get_internal_links):
1192         * gst/gstpad.h:
1193         Add threadsafe replacement functions for getting internal links of an
1194         element. Deprecate the old internal links functions.
1195         API:GstPad::gst_pad_set_iterate_internal_links_function()
1196         API:GstPad::GstPadIterIntLinkFunction
1197         API:GstPad::gst_pad_iterate_internal_links()
1198         API:GstPad::gst_pad_iterate_internal_links_default()
1199
1200         * gst/gstghostpad.c: (gst_proxy_pad_do_iterate_internal_links),
1201         (gst_proxy_pad_init):
1202         Implement threadsafe internal links.
1203
1204         * tests/check/elements/tee.c: (GST_START_TEST), (tee_suite):
1205         Unit test for internal links on tee. See #549504.
1206
1207 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
1208
1209         * tests/check/Makefile.am:
1210         libs/transform1 test requires libs/test_transform.c
1211
1212 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
1213
1214         * gst/gstpad.c: (gst_pad_get_internal_links_default):
1215         Die evil deadlock, die !
1216
1217 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
1218
1219         * gst/gstutils.c: (gst_element_get_compatible_pad):
1220         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1221         * tests/check/gst/gstpad.c: (name_is_valid), (GST_START_TEST):
1222         Fix all leaks due to the bug in gst_pad_template_new() by which it does
1223         not steal the refcount of the given caps as stated.
1224
1225         REVERT THIS COMMIT ONCE FIXED !
1226         REVERT THIS COMMIT ONCE FIXED !
1227         REVERT THIS COMMIT ONCE FIXED !
1228         REVERT THIS COMMIT ONCE FIXED !
1229         REVERT THIS COMMIT ONCE FIXED !
1230         REVERT THIS COMMIT ONCE FIXED !
1231
1232 2008-08-29  Wim Taymans  <wim.taymans@collabora.co.uk>
1233
1234         * gst/gstiterator.c:
1235         * gst/gstiterator.h:
1236         After 3 years it's about time to revise the documentation of the
1237         iterator objects.
1238
1239 2008-08-29  Wim Taymans  <wim.taymans@collabora.co.uk>
1240
1241         * gst/gstpad.c: (gst_pad_get_internal_links_default):
1242         Make the internal links function less thread-unsafe and add some
1243         comments, dunno why.
1244
1245 2008-08-29  Tim-Philipp Müller  <tim.muller at collabora co uk>
1246
1247         * gst/gst_private.h:
1248           Include gstinfo.h even if GST_DISABLE_GST_DEBUG is defined. Fixes
1249           build with --disable-gst-debug.
1250
1251 2008-08-28  David Schleef  <ds@schleef.org>
1252
1253         * gst/gstpadtemplate.c: Revert last change, since it breaks
1254           a few plugins, ffmpeg, alaw, and mulaw.  Code is correct,
1255           but shouldn't be enabled until we've released fixed versions
1256           of -good and -ffmpeg.
1257
1258 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
1259
1260         * gst/gstobject.c:
1261           Put the gst_object_get_name() back in.
1262
1263 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
1264
1265         * gst/gstpadtemplate.c:
1266           The old behaviour was that gst_pad_template_new() takes ownership of
1267           the caps. As we now call g_object_new() which calls g_object_set() and
1268           which copies the caps, we have to unref them to not leak them. Fixes
1269           make valgrid for me.
1270
1271 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
1272
1273         * gst/gsturi.c:
1274           Don't segfault on input like "tel:+1-123-555-1234".
1275
1276 2008-08-27  Stefan Kost  <ensonic@users.sf.net>
1277
1278         * gst/gstobject.c:
1279           Due to popular request also include ObjectType in
1280           gst_object_get_path_string(). Makes gst-launch -v bit more useful.
1281
1282 2008-08-26  David Schleef  <ds@schleef.org>
1283
1284         * gst/gstutils.c: Remove check in gst_pad_query_convert() that
1285           src_val must be positive, because that's not a requirement.
1286           This causes problems with converting negative granulepos
1287           values for Dirac.
1288         * gst/gstquery.c: Same, gst_query_new_convert().
1289
1290 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1291
1292         * gst/gstclock.c: (gst_clock_add_observation):
1293         Add some more debugging to the clock slaving code.
1294
1295         * win32/common/libgstbase.def:
1296         Add new basetransform method.
1297
1298 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1299
1300         * gst/gstbin.c: (gst_bin_element_set_state):
1301         Take the (recursive) state lock between getting the locked state of an
1302         element and changing the element state. This allows the application to
1303         lock an element's state and then change its state without races.
1304
1305 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1306
1307         * gst/gstbin.c: (gst_bin_element_set_state):
1308         When an element is in the locked state we still want to update the
1309         base_time of the element.
1310
1311 2008-08-21  Wim Taymans  <wim.taymans@collabora.co.uk>
1312
1313         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1314         Use the result from gst_pad_set_caps() instead of assuming the element
1315         always accepted the caps computed by the default negotiate function.
1316
1317 2008-08-20  Wim Taymans  <wim.taymans@collabora.co.uk>
1318
1319         * docs/libs/gstreamer-libs-sections.txt:
1320         * libs/gst/base/gstbasetransform.c:
1321         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1322         (gst_base_transform_chain), (gst_base_transform_suggest),
1323         (gst_base_transform_reconfigure):
1324         * libs/gst/base/gstbasetransform.h:
1325         Implement method for reconfiguring basetransform.
1326         API: GstBaseTransform::gst_base_transform_reconfigure()
1327
1328 2008-08-20  Stefan Kost  <ensonic@users.sf.net>
1329
1330         patch by: Murray Cumming <murrayc@murrayc.com>
1331
1332         * gst/gstutils.c:
1333           Mention that this is just like gst_buffer_merge() but with extra
1334           unreffing for C coders. Advise language bindings not to wrap it.
1335           Fixes Bug #533856.
1336           
1337           Also fix file comment.
1338
1339 2008-08-20  Stefan Kost  <ensonic@users.sf.net>
1340
1341         reviewed by: Wim Taymans <wim.taymans@collabora.co.uk>
1342
1343         * plugins/elements/gstfakesink.c:
1344         * plugins/elements/gstfakesrc.c:
1345           Call super::event() when not handling it. Fixes #544855.
1346
1347 2008-08-19  Michael Smith <msmith@songbirdnest.com>
1348
1349         Patch by: Alessandro Decina <alessandro@nnva.org>
1350         * plugins/elements/gstfilesrc.c:
1351           Use 64 bit variants of stat functions on win32, to enable support
1352           of large files there.
1353           Fixes #547277.
1354
1355 2008-08-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1356
1357         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
1358         (gst_base_sink_event), (gst_base_sink_chain_unlocked),
1359         (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
1360         (gst_base_sink_get_position), (gst_base_sink_change_state):
1361         Improve position reporting in the flushing state.
1362         Also report the position when we are not yet prerolled but we
1363         have a newsegment event. Fixes #543444.
1364         Improve the pull-based negotiation code.
1365
1366         * tests/check/elements/fakesink.c: (GST_START_TEST),
1367         (fakesink_suite):
1368         Add testcase for position reporting while flushing in PAUSED and
1369         PLAYING.
1370
1371         * tests/check/generic/sinks.c: (GST_START_TEST):
1372         Update unit-test, we can now query the position as soon as we receive a
1373         NEWSEGMENT event.
1374
1375 2008-08-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1376
1377         Based on patch by: Jason Zhao <e3423c at motorola dot com>
1378
1379         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object):
1380         When the subclass event handler releases the PREROLL_LOCK, we could be
1381         in the flushing state and we have to ignore the event. Fixes #548394.
1382
1383 2008-08-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
1384
1385         * tools/gst-launch.1.in:
1386           Document GST_REGISTRY_UPDATE environment variable.
1387
1388 2008-08-18  Wim Taymans  <wim.taymans@collabora.co.uk>
1389
1390         * libs/gst/base/gstbasetransform.c:
1391         (gst_base_transform_prepare_output_buffer):
1392         If the element is configured in passthrough mode but the
1393         prepare_output_buffer gave us a new output buffer, discard that buffer
1394         and reuse the input buffer.
1395
1396 2008-08-15  Wim Taymans  <wim.taymans@collabora.co.uk>
1397
1398         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
1399
1400         * plugins/elements/gsttee.c: (gst_tee_finalize), (gst_tee_init),
1401         (gst_tee_request_new_pad), (gst_tee_release_pad),
1402         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc):
1403         * plugins/elements/gsttee.h:
1404         Protect pad_alloc with a new lock so that we can be sure that nothing is
1405         performing a pad_alloc when removing the pad. Fixes #547835.
1406
1407         * tests/check/elements/tee.c: (buffer_alloc_harness_setup),
1408         (buffer_alloc_harness_teardown), (app_thread_func),
1409         (final_sinkpad_bufferalloc), (GST_START_TEST), (tee_suite):
1410         Added testcase for shutdown race.
1411
1412 2008-08-14  Thijs Vermeir  <thijsvermeir@gmail.com>
1413
1414         * gst/gstpad.h:
1415         Add doc
1416
1417 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1418
1419         * libs/gst/base/gstbasetransform.c:
1420         (gst_base_transform_prepare_output_buffer),
1421         (gst_base_transform_buffer_alloc):
1422         Go over the buffer_alloc function again and make sure we always end up
1423         allocating a buffer.
1424         Add some more docs.
1425         Avoid doing pad alloc when we have a pending suggestion because we
1426         cannot yet deal with changing caps in that case. Fixes #547728
1427
1428 2008-08-14  Stefan Kost  <ensonic@users.sf.net>
1429
1430         patch by: Luc Pionchon <luc.pionchon@nokia.com>
1431
1432         * docs/manual/advanced-clocks.xml:
1433         * docs/manual/clocks.png:
1434         * docs/manual/diagrams-clocks.svg:
1435           Add one more image showing different times together with a describing
1436           paragraph. Fixes #547729.
1437
1438 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1439
1440         * win32/common/libgstbase.def:
1441         Add new method.
1442
1443 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1444
1445         * libs/gst/base/gstbasetransform.c:
1446         (gst_base_transform_transform_caps),
1447         (gst_base_transform_prepare_output_buffer),
1448         (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
1449         Don't overwrite the outsize when calculating the expected size of a new
1450         buffer because we still need it in case we cannot process the new
1451         buffer.
1452         When converting the size of the new buffer to an upstream size, actually
1453         use the expected size of the buffer, not some other random value.
1454         Use an atomic int to signal that a new upstream caps suggestion is
1455         available.
1456         When we can convert the current buffer to a new format, check if the
1457         buffer size is of the expected size and allocate a new buffer of the
1458         expected size when this is not the case. Fixes #546883.
1459
1460         * tests/check/libs/transform1.c: (GST_START_TEST):
1461         remove ifdeffed code from the unit test.
1462
1463 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1464
1465         * pkgconfig/gstreamer-uninstalled.pc.in:
1466         * pkgconfig/gstreamer.pc.in:
1467           Remove -lgstcontrol-0.10 which never worked anyway as the lib is
1468           called gstcontroller-0.10.
1469
1470 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1471
1472         * gst/gstchildproxy.h:
1473         * gst/gstpreset.h:
1474           Remove double interface from doc-string.        
1475
1476 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1477
1478         * libs/gst/base/gstbasesrc.c:
1479         * libs/gst/base/gstbasetransform.c:
1480           Fix headings in docs and gtk-doc warnings.
1481
1482 2008-08-11  Michael Smith <msmith@songbirdnest.com>
1483
1484         * gst/gstregistrybinary.c:
1485           Don't use g_mkstmp() on win32, it's unsafe if glib is using a different
1486           libc.
1487           Fixes #544776.
1488
1489 2008-08-11  Edward Hervey  <edward.hervey@collabora.co.uk>
1490
1491         * libs/gst/base/gstbasetransform.c:
1492         (gst_base_transform_buffer_alloc):
1493         Fix a "may be used unitialized" warning.
1494
1495 2008-08-11  Stefan Kost  <ensonic@users.sf.net>
1496
1497         * docs/gst/gstreamer-sections.txt:
1498         * gst/gstpreset.h:
1499           Document preset-iface vmethods.
1500
1501 2008-08-11  Stefan Kost  <ensonic@users.sf.net>
1502
1503         * docs/manual/advanced-interfaces.xml:
1504           Turn thoughts about HAL into a note-tag. Remove mentioning that is
1505           only used to discover devices.
1506
1507 2008-08-07  Tim-Philipp Müller  <tim.muller at collabora co uk>
1508
1509         Patch by: Frederic Crozat <fcrozat@mandriva.org>
1510
1511         * gst/gst.c: (init_pre):
1512         Make sure gettext returns translations in UTF-8 encoding rather
1513         than in the current locale encoding (#546822).
1514
1515 2008-08-07  Wim Taymans  <wim.taymans@collabora.co.uk>
1516
1517         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
1518         Fix subset test.
1519
1520         * tests/check/gst/gstcaps.c: (GST_START_TEST):
1521         Improve unit test subset tests and add a testcase for the subset failure
1522         cases.
1523
1524         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1525         Improve subtraction unit test.
1526
1527 2008-08-07  Stefan Kost  <ensonic@users.sf.net>
1528
1529         * plugins/elements/gsttee.c:
1530           Unlock, instead of locking again.
1531
1532 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1533
1534         * gst/gstpad.h:
1535         Clarify the docs a bit more.
1536
1537 2008-08-05  Stefan Kost  <ensonic@users.sf.net>
1538
1539         * tests/examples/metadata/read-metadata.c:
1540           Don't leak old taglist.
1541
1542 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1543
1544         Patch by: Olivier Crete <tester at tester dot ca>
1545
1546         * gst/gststructure.c:
1547         (gst_structure_fixate_field_nearest_fraction):
1548         Avoid overflows in fixation code when dealing with MAXINT values, which
1549         v4l2src seems to do.
1550         Fixes #546328.
1551
1552         * tests/check/gst/gststructure.c: (GST_START_TEST):
1553         Make a unit test to check the fix. 
1554
1555 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1556
1557         * plugins/elements/gstcapsfilter.c: (copy_func),
1558         (gst_capsfilter_set_property):
1559         Use new caps suggestion feature of basetransform to request a caps
1560         negotiation upstream.
1561
1562 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1563
1564         * docs/libs/gstreamer-libs-sections.txt:
1565         Add new function:
1566         API: GstBaseTransform::gst_base_transform_suggest()
1567
1568         * libs/gst/base/gstbasetransform.c: (gst_base_transform_finalize),
1569         (gst_base_transform_init), (gst_base_transform_transform_caps),
1570         (gst_base_transform_transform_size),
1571         (gst_base_transform_configure_caps),
1572         (gst_base_transform_can_transform),
1573         (gst_base_transform_find_transform), (gst_base_transform_setcaps),
1574         (gst_base_transform_prepare_output_buffer),
1575         (gst_base_transform_buffer_alloc),
1576         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1577         (gst_base_transform_chain), (gst_base_transform_activate),
1578         (gst_base_transform_set_passthrough),
1579         (gst_base_transform_is_passthrough),
1580         (gst_base_transform_set_in_place),
1581         (gst_base_transform_is_in_place), (gst_base_transform_update_qos),
1582         (gst_base_transform_set_qos_enabled),
1583         (gst_base_transform_is_qos_enabled),
1584         (gst_base_transform_set_gap_aware), (gst_base_transform_suggest),
1585         (gst_base_transform_reconfigure):
1586         * libs/gst/base/gstbasetransform.h:
1587         Rewrite of basetransform to perform negotiation outside of the
1588         buffer_alloc functions.  Fixes #545853.
1589
1590         * tests/check/libs/transform1.c: (GST_START_TEST),
1591         (buffer_alloc_ct2):
1592         Update unit test.
1593
1594 2008-08-05  Stefan Kost  <ensonic@users.sf.net>
1595
1596         * tests/check/gst/gstpreset.c:
1597           Only run preset tests when $HOME is writable. Preliminary fix for
1598           #545433.
1599
1600 2008-08-04  Wim Taymans  <wim.taymans@collabora.co.uk>
1601
1602         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1603         (gst_bin_change_state_func), (bin_handle_async_done),
1604         (gst_bin_handle_message_func):
1605         Fix race for bins that simulate ASYNC state changes by inserting
1606         ASYNC_START and ASYNC_DONE messages in their bus. We need to check for
1607         pending ASYNC messages even when the bin does not have ASYNC children.
1608         We note detect this behaviour because we will receive an ASYNC message
1609         that is originating from the bin itself. 
1610         Fixes races with decodebin2 state changes.
1611
1612         * tests/check/gst/gstbin.c: (GST_START_TEST):
1613         Add some more debug.
1614
1615 2008-08-04  Tim-Philipp Müller  <tim.muller at collabora co uk>
1616
1617         * gst/gsttaglist.c: (_gst_tag_initialize):
1618           Fix typo.
1619
1620 2008-08-04  Stefan Kost  <ensonic@users.sf.net>
1621
1622         * gst/gsttaglist.c:
1623           Argh. actually save the text before committing. Now adds
1624           gst_tag_merge_strings_with_comma() to gst_tag_register().
1625
1626 2008-08-04  Stefan Kost  <ensonic@users.sf.net>
1627
1628         * gst/gsttaglist.c:
1629         * gst/gsttaglist.h:
1630           Do as tim pointed out and actually register the new tag. Also improve
1631           te docs and use gst_tag_merge_strings_with_comma() method to allow
1632           retriving all keywords merged in one list.
1633
1634 2008-08-01  Stefan Kost  <ensonic@users.sf.net>
1635
1636         * configure.ac:
1637         * docs/gst/gstreamer.types:
1638           Revert 'accidential' change of the configure option removal. We still
1639           need to generate the types file in configure --disable-load-save.
1640
1641 2008-08-01  Stefan Kost  <ensonic@users.sf.net>
1642
1643         * docs/gst/gstreamer-sections.txt:
1644         * gst/gsttaglist.h:
1645           Add new taglist item GST_TAG_KEYWORDS, needed for #520694 .
1646
1647 2008-08-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
1648
1649         * gst/gstpadtemplate.c:
1650           (gst_pad_template_class_init), (gst_static_pad_template_get),
1651           (gst_pad_template_new), (gst_pad_template_pad_created),
1652           (gst_pad_template_set_property), (gst_pad_template_get_property):
1653           Add "name-template", "direction", "presence" and "caps" properties,
1654           so that gst_pad_template_new() is just a thin wrapper around
1655           g_object_new(), which is better for bindings. (Fixes: #539772)
1656
1657 2008-07-31  Michael Smith <msmith@songbirdnest.com>
1658
1659         * gst/gsturi.c:
1660           Be more liberal in what URIs we accept.
1661           Do not unescape bits of the URI for no apparent reason before passing to
1662           the element. Fixes #545352.
1663
1664 2008-07-31  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1665
1666         Patch by: Robert Schwebel <r.schwebel@pengutronix.de>
1667
1668         * gst/gst.c:
1669         Include gstconfig.h as macros from it are used. Fixes bug #545607.
1670
1671 2008-07-31  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1672
1673         * configure.ac:
1674         * docs/gst/gstreamer-sections.txt:
1675         * docs/gst/gstreamer.types:
1676         * docs/gst/gstreamer.types.in:
1677         * gst/Makefile.am:
1678         * gst/gst.c:
1679         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func):
1680         * gst/gstconfig.h.in:
1681         * gst/gstelement.c: (gst_element_get_index):
1682         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
1683         (gst_registry_binary_load_feature),
1684         (gst_registry_binary_read_cache):
1685         * gst/gstregistryxml.c: (load_feature),
1686         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
1687         * plugins/Makefile.am:
1688         * tools/gst-indent:
1689         * tools/gst-inspect.c: (print_index_info), (print_element_list),
1690         (print_plugin_features), (print_element_features):
1691         * tools/gst-xmlinspect.c: (print_event_masks),
1692         (print_element_info):
1693         * win32/common/gstconfig.h:
1694         Remove GST_DISABLE_(ENUMTYPES|INDEX|URI) everywhere.
1695
1696         Disabling the indexers and URI handler code will only reduce the
1697         required amount of memory by a very small amount but on the other hand
1698         requires much more maintaince work. Apart from that many places of
1699         code are broken when disabling them.
1700
1701         Disabling the enum types doesn't reduce the required amount of memory
1702         by more than a few bytes and makes it hard to fix bugs like #539772,
1703         i.e. use the enums as GObject properties.
1704
1705 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1706
1707         * docs/design/part-TODO.txt:
1708         Add some thoughts and problems with upstream renegotiation.
1709
1710 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1711
1712         * gst/gstpad.c: (gst_pad_acceptcaps_default),
1713         (gst_pad_configure_src), (gst_pad_alloc_buffer_full):
1714         Remove silly redundant debug.
1715         Add some more debug info.
1716         Clarify the docs regarding new caps received from pad_alloc.
1717
1718 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1719
1720         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_set_property),
1721         (gst_capsfilter_get_property), (gst_capsfilter_transform_caps):
1722         Make setting the caps more threadsafe.
1723
1724 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1725
1726         * docs/design/part-element-transform.txt:
1727         Update docs.
1728
1729 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1730
1731         * plugins/elements/gstqueue.c: (gst_queue_init),
1732         (gst_queue_acceptcaps):
1733         Add and use a custom acceptcaps function instead of falling back to the
1734         potentially less optimized default implementation.
1735
1736 2008-07-29  Tim-Philipp Müller  <tim.muller at collabora co uk>
1737
1738         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
1739           Only sanity-check the buffer size if requested_caps == buffer_caps
1740           (ie. don't take pad caps into account, they're not relevant here)
1741
1742 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1743
1744         * plugins/elements/gsttee.c:
1745         * plugins/elements/gsttee.h:
1746           Reverting as not everything is clear yet. Needs some general design
1747           work.
1748
1749 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1750
1751         * ChangeLog:
1752           ChangeLog surgery for tee commit.
1753
1754 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1755
1756         * docs/gst/gstreamer-sections.txt:
1757           Cleanup section-file.
1758
1759 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1760
1761         * plugins/elements/gsttee.c:
1762         * plugins/elements/gsttee.h:
1763           Relay tag events in tee. Fixes parts of #474016.
1764           Downgrades 3 reoccurring debugs to log.
1765
1766 2008-07-28  Michael Smith <msmith@songbirdnest.com>
1767
1768         * configure.ac:
1769         * libs/gst/Makefile.am:
1770           Build the net library if we have winsock2.
1771
1772 2008-07-26  Stefan Kost  <ensonic@users.sf.net>
1773
1774         patch by: Luc Pionchon <luc.pionchon@nokia.com>
1775
1776         * docs/manual/advanced-threads.xml:
1777         * docs/manual/diagrams-pipelines.svg:
1778         * docs/manual/hello-world.png:
1779         * docs/manual/linked-elements.png:
1780         * docs/manual/mime-world.png:
1781         * docs/manual/queue.png:
1782         * docs/manual/thread-buffering.png:
1783         * docs/manual/thread-synchronizing.png:
1784           Replace one diagram with two separate ones and updates others.
1785           Fixes #542401.
1786
1787 2008-07-25  Thijs Vermeir  <thijsvermeir@gmail.com>
1788
1789         * gst/gstelement.h:
1790         Fix link in documentation.
1791
1792 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
1793
1794         * gst/gstmessage.c:
1795         Fix confusing documentation.
1796
1797 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
1798
1799         * libs/gst/base/gstbasesrc.h:
1800         revert the changes to the header file for the ABI.
1801
1802 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
1803
1804         * libs/gst/base/gstbasesrc.c:
1805         * libs/gst/base/gstbasesrc.h:
1806         Don't cache the seekable status.
1807         Fixes bug #544174
1808
1809 2008-07-24  Rene Stadler  <mail@renestadler.de>
1810
1811         * docs/manual/advanced-autoplugging.xml: Add fakesink to example
1812         code to close the pipeline graph.  This prevents the program from
1813         printing internal data flow errors.
1814
1815 2008-07-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1816
1817         * docs/manual/basics-bus.xml:
1818         Correct typo. Fixes bug #544320.
1819
1820 2008-07-22  Michael Smith <msmith@songbirdnest.com>
1821
1822         * configure.ac:
1823           Remove AC_ISC_POSIX macro; it's broken on some platforms and not needed.
1824           Add check (taken from -base) for winsock, adds WIN32_LIBS
1825         * gst/Makefile.am:
1826           Add WIN32_LIBS to LIBADD for libgstreamer. Needed now that gstpoll uses
1827           winsock.
1828           Define GST_EXPORTS when building libgstreamer (only used on win32)
1829         * gst/gst_private.h:
1830         * gst/gstinfo.h:
1831           Use GST_EXPORT instead of locally-defined (and incorrect IMPORT_SYMBOL)
1832           for symbols that we need to export in both these files.
1833         * gst/gstpoll.c:
1834           Include gst_private.h higher up to avoid some compile problems on win32.
1835
1836 2008-07-22  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1837
1838         * gst/gstvalue.c:
1839         Fix typos.
1840
1841 2008-07-22  Thijs Vermeir  <thijsvermeir@gmail.com>
1842
1843         * gst/gstcaps.c:
1844         Previous commit was wrong NULL caps does not exist
1845         and indicate an error, so also add a FIXME to
1846         gst_caps_is_equal where NULL caps are accepted.
1847
1848 2008-07-22  Thijs Vermeir  <thijsvermeir@gmail.com>
1849
1850         * gst/gstcaps.c:
1851         Allow passing of NULL to gst_caps_union
1852
1853 2008-07-21  Thijs Vermeir  <thijsvermeir@gmail.com>
1854
1855         * gst/gstghostpad.c:
1856         Add in doc that gst_ghost_pad_set_target can accept
1857         NULL to clear target
1858
1859 2008-07-15  Michael Smith <msmith@songbirdnest.com>
1860
1861         * gst/gstplugin.c:
1862         * gst/gstregistry.c:
1863           GstRegistryPool doesn't exist; don't refer to it in docs.
1864           Don't refer to functions that don't exist in docs, it's
1865           unhelpful.
1866
1867 2008-07-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1868
1869         * gst/gst.c:
1870         Fix scanning of paths given via --gst-plugin-path. Fixes bug #542175.
1871
1872 2008-07-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1873
1874         Patch by: Tristan Matthews <le dot businessman at gmail dot com>
1875
1876         * docs/pwg/building-testapp.xml:
1877         Don't use an undeclared variable in the example program.
1878         Fixes bug #542573.
1879
1880 2008-07-12  Stefan Kost  <ensonic@users.sf.net>
1881
1882         * gst/gstdebugutils.c:
1883           Squeeze ghost-pad links and remove <> from classname labels to save
1884           more horizontal space.
1885
1886 2008-07-11  Stefan Kost  <ensonic@users.sf.net>
1887
1888         * gst/gstdebugutils.c:
1889           Give request and sometimes pads a different shpe style. Condense the
1890           graphs a little more.
1891
1892 2008-07-09  Michael Smith <msmith@songbirdnest.com>
1893
1894         * configure.ac:
1895           Don't require flex and bison if the parser is disabled.
1896
1897 2008-07-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1898
1899         * libs/gst/controller/gstinterpolationcontrolsource.c:
1900         (_list_find_sorted_custom):
1901         Don't use declarations after statements.
1902
1903 2008-07-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1904
1905         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
1906         Add FIXMEs for 0.11 to use GST_TYPE_OBJECT in the signature
1907         of the the child-added / -removed signals as GstChildProxy
1908         only supports GstObjects.
1909
1910 2008-07-07  Thijs Vermeir  <thijsvermeir@gmail.com>
1911
1912         * gst/gstdebugutils.c:
1913         Fix memleak
1914
1915 2008-07-06  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1916
1917         Patch by: Alessandro Decina <alessandro at nnva dot org>
1918
1919         * gst/gstpoll.c:
1920         Fix "ignored return value" compiler warning with newer glibc.
1921
1922 2008-07-05  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1923
1924         * gst/gstchildproxy.c:
1925         Fix copy&paste error in gst_child_proxy_removed() documentation.
1926
1927 2008-07-02  Tim-Philipp Müller  <tim.muller at collabora co uk>
1928
1929         * gst/gstplugin.c: (CHECK_PLUGIN_DESC_FIELD), (gst_plugin_load_file):
1930           Print error debug message if plugin description fields that should
1931           be set are NULL.
1932
1933         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string):
1934           Don't crash if the string to serialise is NULL (it really should
1935           not be, but apparently this used to work with the xml registry ...).
1936
1937 2008-07-02  Thijs Vermeir  <thijsvermeir@gmail.com>
1938
1939         * tools/gst-plot-timeline.py:
1940         Fix parsing of log messages
1941
1942 2008-07-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
1943
1944         * win32/common/libgstbase.def::
1945           Sort alphabetically so make check-exports doesn't barf.
1946
1947 2008-07-01  Stefan Kost  <ensonic@users.sf.net>
1948
1949         * gst/gstevent.c:
1950           Use gst_format_get_name() to improve debug output.
1951
1952         * gst/gstpreset.c:
1953           Remove #ifdef'ed code. Add TODO comment.
1954
1955         * gst/gstsegment.c:
1956           Add debug output to ease spotting format != segment.format assertions.
1957
1958 2008-06-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1959
1960         * tests/check/libs/gdp.c: (gst_dp_suite):
1961         Also enable the GDP unit test again on PPC now that the bug
1962         is fixed.
1963
1964 2008-06-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1965
1966         * libs/gst/dataprotocol/dataprotocol.c:
1967         Don't write to the same region of memory as a uint64 and uint16
1968         as this breaks strict aliasing rules and apparantly breaks on PPC
1969         and s390. Thanks to Sjoerd Simons for analysing. Fixes bug #348114.
1970
1971 2008-06-29  Stefan Kost  <ensonic@users.sf.net>
1972
1973         * libs/gst/controller/gstinterpolationcontrolsource.c:
1974           Optimize list handling. Use own find function. Exploit that fact that
1975           the list is sorted. Also pass back the node before, so that we can
1976           insert quickly. Have a fast path for append.
1977
1978 2008-06-29  Stefan Kost  <ensonic@users.sf.net>
1979
1980         * docs/design/draft-framestep.txt:
1981         * docs/design/part-negotiation.txt:
1982           Fix two typos.
1983
1984 2008-06-27  Stefan Kost  <ensonic@users.sf.net>
1985
1986         * configure.ac:
1987           Show configuration sumary after configure run. Based on patch by
1988           Luc Pionchon <luc.pionchon@nokia.com>. Fixes: #540134
1989
1990 2008-06-27  Stefan Kost  <ensonic@users.sf.net>
1991
1992         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
1993
1994         * docs/manual/advanced-autoplugging.xml:
1995         * docs/manual/advanced-threads.xml:
1996         * docs/manual/basics-bins.xml:
1997         * docs/manual/basics-elements.xml:
1998         * docs/manual/basics-helloworld.xml:
1999         * docs/manual/basics-pads.xml:
2000           Add scale factor for pdf output.
2001
2002         * docs/manual/intro-basics.xml:
2003           Switched sections "pads" and "bins" and added a pipeline diagram.
2004
2005         * docs/manual/intro-gstreamer.xml:
2006           Added more info on gstreamer.
2007
2008         * docs/manual/intro-motivation.xml:
2009           Commented out the whole section "current problem", which sounds
2010           historical and somehow osolete; it could be turned in a positive
2011           way and reused to improve the design principles.
2012
2013         * docs/manual/intro-preface.xml:
2014           - Update URLs to library.gnome.org. 
2015           - Do not mention GTK+ in preliminary reading (irrelevant). 
2016           - Mention Plugin Writer's Manual and further reading only in the
2017             previous section.
2018           - Added a list of most relevant GObject/glib topics.
2019
2020         * docs/manual/Makefile.am:
2021         * docs/manual/bin-element-ghost.fig:
2022         * docs/manual/bin-element-ghost.png:
2023         * docs/manual/bin-element-noghost.fig:
2024         * docs/manual/bin-element-noghost.png:
2025         * docs/manual/bin-element.fig:
2026         * docs/manual/bin-element.png:
2027         * docs/manual/filter-element-multi.fig:
2028         * docs/manual/filter-element-multi.png:
2029         * docs/manual/filter-element.fig:
2030         * docs/manual/filter-element.png:
2031         * docs/manual/gstreamer-overview.png:
2032         * docs/manual/hello-world.fig:
2033         * docs/manual/hello-world.png:
2034         * docs/manual/linked-elements.fig:
2035         * docs/manual/linked-elements.png:
2036         * docs/manual/mime-world.fig:
2037         * docs/manual/mime-world.png:
2038         * docs/manual/queue.fig:
2039         * docs/manual/queue.png:
2040         * docs/manual/simple-player.png:
2041         * docs/manual/sink-element.fig:
2042         * docs/manual/sink-element.png:
2043         * docs/manual/src-element.fig:
2044         * docs/manual/src-element.png:
2045         * docs/manual/diagrams-general.svg:
2046         * docs/manual/diagrams-pipelines.svg:
2047           Removed .fig, added .png counterpart.
2048           
2049           Fixes: #539137
2050
2051 2008-06-26  Thijs Vermeir  <thijsvermeir@gmail.com>
2052
2053         * plugins/elements/gstmultiqueue.c:
2054         * plugins/elements/gstmultiqueue.h:
2055         revert extra-size-buffers stuff, caused some race conditions
2056         and extra-size-buffers is not used anymore. Docs needs some updates
2057
2058 2008-06-26  Tim-Philipp Müller  <tim.muller at collabora co uk>
2059
2060         * win32/common/config.h:
2061         * win32/common/gstenumtypes.c:
2062         * win32/common/gstenumtypes.h:
2063         * win32/common/gstversion.h:
2064           Update win32 files.
2065
2066 2008-06-26  Tim-Philipp Müller  <tim.muller at collabora co uk>
2067
2068         * gst/gstdebugutils.h: (GstDebugGraphDetails),
2069           (GST_DEBUG_BIN_TO_DOT_FILE):
2070           Add missing Since' markers to gtk-doc blurbs.
2071
2072 2008-06-26  Wim Taymans  <wim.taymans@collabora.co.uk>
2073
2074         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2075         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2076         (set_caps_1), (set_caps_ct1), (transform_ct1),
2077         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2078         (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
2079         (transform_size_ct2), (buffer_alloc_ct2):
2080         Add some more tests with switching caps in buffer_alloc.
2081
2082 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2083
2084         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2085         (gst_test_trans_class_init), (result_sink_chain),
2086         (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
2087         (gst_test_trans_push), (gst_test_trans_pop):
2088         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2089         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2090         (set_caps_1), (set_caps_ct1), (transform_ct1),
2091         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2092         (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
2093         (transform_size_ct2), (buffer_alloc_ct2),
2094         (gst_basetransform_suite):
2095         More tests, prepare for tests with switching caps in buffer_alloc.
2096
2097 2008-06-25  Thijs Vermeir  <thijsvermeir@gmail.com>
2098
2099         * plugins/elements/gstmultiqueue.c:
2100         * plugins/elements/gstmultiqueue.h:
2101         Fix dead-lock in underrun_cb
2102
2103 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2104
2105         * docs/design/part-states.txt:
2106         Fix device open/close docs.
2107
2108 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2109
2110         * ChangeLog:
2111           Mention bugnumber for last commit.
2112
2113 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2114
2115         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
2116
2117         * docs/manual/manual.xml:
2118         - Reorganised the previous "introduction" bundle into Foreword,
2119         Introduction, and About GStreamer. The two first are <preface>
2120         docbook elements. The later is the first part of the book.
2121         - added intro-gstreamer.xml (content partially from
2122         intro-preface.xml)
2123         - moved appendix-win32.xml into appendix-integration.xml
2124
2125         * docs/manual/intro-preface.xml: gstreamer section moved...
2126         * docs/manual/intro-gstreamer.xml: ...here. new file.
2127
2128         * docs/manual/appendix-win32.xml: removed file. Content moved...
2129         * docs/manual/appendix-integration.xml: ...here.
2130         
2131         * docs/manual/highlevel-components.xml: section about GstEditor moved...
2132         * docs/manual/appendix-checklist.xml: ...here.
2133         
2134         Fixes: 538764
2135
2136 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2137
2138         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
2139
2140         * docs/manual/basics-helloworld.xml:
2141         * docs/manual/hello-world.fig:
2142           - Explicitely include glib.h.
2143           - Do not use global variables.
2144           - Use g_printerr() instead of g_print().
2145           - Minor formating/renaming to increase readibility.
2146           - Renamed new_pad() to on_pad_added()
2147           - Improved explenatory comments.
2148           - renamed ogg parser to ogg demuxer
2149           - Use "autoaudiosink" instead of "alsasink".
2150           Fixes: #538619
2151
2152 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2153
2154         * ChangeLog:
2155           Remove cvs conflict marker.
2156
2157 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2158
2159         * docs/README:
2160           Document that for plgin-docs we extraxt he short-desc from the element
2161           details.
2162
2163         * docs/design/part-states.txt:
2164           Tell that devices should be closed in PAUSED -> READY.
2165
2166         * docs/manual/README:
2167           Document how tests in the manual are handled.
2168
2169         * docs/manuals.mak:
2170           Typo in comment.
2171
2172 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2173
2174         * gst/gstbin.c: (bin_query_latency_fold):
2175         Only care about latency min and max when the sink is actually a live
2176         sink.
2177
2178 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2179
2180         * docs/design/part-block.txt:
2181         Fix typo.
2182
2183         * docs/design/part-element-transform.txt:
2184         Add notes about why transform needs to know input/output sizes.
2185         Add some issues that need to be solved.
2186         Add some more use cases.
2187
2188         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2189         (gst_test_trans_class_init), (result_sink_chain),
2190         (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
2191         (gst_test_trans_push), (gst_test_trans_pop):
2192         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2193         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2194         (set_caps_1), (set_caps_ct1), (transform_ct1),
2195         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2196         (gst_basetransform_suite):
2197         Add suport for different pad templates and buffer-alloc.
2198         Add more checks for caps and buffer-alloc.
2199         Add checks for proxy buffer alloc.
2200         Add unit test for copy transform.
2201
2202 2008-06-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2203
2204         Patch by: Luc Pionchon  <luc.pionchon@nokia.com>
2205
2206         * docs/manual/appendix-integration.xml:
2207         * docs/manual/appendix-licensing.xml:
2208         * docs/manual/basics-elements.xml:
2209         * docs/manual/basics-helloworld.xml:
2210         * docs/manual/basics-pads.xml:
2211         * docs/manual/highlevel-components.xml:
2212         * docs/manual/highlevel-xml.xml:
2213         * docs/manual/intro-basics.xml:
2214         * docs/manual/intro-preface.xml:
2215           Typo and formatting fixes (#538594).
2216
2217 2008-06-24  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2218
2219         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2220         Fix some memory leaks and uses of object instances that we don't
2221         actually own.
2222
2223 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
2224
2225         * plugins/elements/gstmultiqueue.c:
2226         Add functionality to extra-size-buffers property.
2227
2228 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
2229
2230         * plugins/elements/gstmultiqueue.c:
2231         Don't update the cur_time on GST_CLOCK_TIME_NONE (#537804) and don't
2232         activate the pads if they are added in STATE_NULL.
2233
2234 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
2235
2236         * docs/libs/gstreamer-libs-sections.txt:
2237         Add new API to doc
2238         * libs/gst/check/gstcheck.c:
2239         * libs/gst/check/gstcheck.h:
2240         API: gst_check_teardown_pad_by_name
2241
2242 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
2243
2244         * libs/gst/check/gstcheck.c:
2245         * libs/gst/check/gstcheck.h:
2246         Also setup request pads and allow setup pads by name (#537812)
2247         API: gst_check_setup_src_pad_by_name
2248         API: gst_check_setup_sink_pad_by_name
2249
2250 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2251
2252         * tests/check/gst/gstbuffer.c:
2253         * tests/check/pipelines/parse-launch.c:
2254           Use HAVE_VALGRIND_H some more.
2255
2256 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2257
2258         * scripts/cvs-update.sh:
2259           Pass arguments to make.
2260           Run autoregen.sh if Makefile is not there.
2261
2262 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2263
2264         * configure.ac:
2265         * gst/gstinfo.c:
2266           Don't assume that <valgrind/valgrind.h> exists just because
2267           the binary is there.
2268
2269 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2270
2271         * tests/check/Makefile.am:
2272         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2273         (gst_test_trans_class_init), (gst_test_trans_init),
2274         (gst_test_trans_set_data), (result_sink_chain),
2275         (gst_test_trans_new), (gst_test_trans_free), (gst_test_trans_push),
2276         (gst_test_trans_pop):
2277         * tests/check/libs/transform1.c: (GST_START_TEST),
2278         (transform_ip_1), (set_caps_1), (gst_basetransform_suite):
2279         Add some test basetransform element and the beginnings of various
2280         unit tests for it.
2281
2282 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2283
2284         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
2285         Increase code readability.
2286         Don't try to compare buffer offsets when ther are invalid.
2287
2288 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
2289
2290         * docs/design/Makefile.am:
2291           Dist some more design docs.
2292
2293         * docs/random/moving-plugins:
2294           Small addition: good plugins mustn't have functional code
2295           within assertion macros.
2296
2297 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2298
2299         * docs/design/draft-framestep.txt:
2300         Some ideas about a framestep API
2301
2302         * docs/design/part-element-transform.txt:
2303         Start design and use cases for basetransform in order to get it
2304         fixed soon.
2305
2306 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
2307
2308         * gst/gsttaglist.h:
2309           In GST_TAG_ATTACHEMENT docs, mention that the file name needs to
2310           be in UTF-8 encoding.
2311
2312 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
2313
2314         * gst/gstbus.c:
2315           Make it known that gst_bus_poll() is pure evil (fixes #538810).
2316
2317 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2318
2319         * plugins/elements/gstcapsfilter.c:
2320         * plugins/elements/gstfakesink.c:
2321         * plugins/elements/gstfakesrc.c:
2322         * plugins/elements/gstfdsink.c:
2323         * plugins/elements/gstfdsrc.c:
2324         * plugins/elements/gstfilesink.c:
2325         * plugins/elements/gstfilesrc.c:
2326         * plugins/elements/gstidentity.c:
2327         * plugins/elements/gstmultiqueue.c:
2328         * plugins/elements/gstqueue.c:
2329         * plugins/elements/gsttee.c:
2330         * plugins/elements/gsttypefindelement.c:
2331           Remove short_description. Add basic docs for gsttypefindelement.
2332           Simplify markup for fakesrc/fdsrc.
2333
2334 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2335
2336         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
2337         Added Since doc.
2338
2339 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2340
2341         Patch by: Joel Larsson <tilljoel at gmail dot com>
2342
2343         * docs/plugins/gstreamer-plugins.args:
2344         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
2345         (gst_fd_src_init), (gst_fd_src_update_fd),
2346         (gst_fd_src_set_property), (gst_fd_src_get_property),
2347         (gst_fd_src_create):
2348         * plugins/elements/gstfdsrc.h:
2349         Add timeout property like udpsrc. Fixes #538628.
2350         Add some more docs and example pipelines.
2351
2352 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2353
2354         * docs/libs/gstreamer-libs-sections.txt:
2355         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2356         (gst_base_sink_query_latency), (gst_base_sink_set_render_delay),
2357         (gst_base_sink_get_render_delay), (gst_base_sink_wait_eos),
2358         (gst_base_sink_do_sync):
2359         * libs/gst/base/gstbasesink.h:
2360         * win32/common/libgstbase.def:
2361         Add method to allow sinks to specify additional delay between the sync
2362         times and the actual rendering of the data.
2363         API: gst_base_sink_set_render_delay()
2364         API: gst_base_sink_get_render_delay()
2365
2366 2008-06-20  Jan Schmidt  <jan.schmidt@sun.com>
2367
2368         * configure.ac:
2369         Bump version number back to dev -> 0.10.20.1
2370
2371 2008-06-20  Sebastian Dröge  <slomo@circular-chaos.org>
2372
2373         * docs/gst/gstreamer-sections.txt:
2374         * gst/gsttaglist.c: (_gst_tag_initialize):
2375         * gst/gsttaglist.h:
2376         API: Add GST_TAG_ATTACHMENT for generic file attachments to streams.
2377         Fixes bug #538568.
2378
2379 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2380
2381         * libs/gst/controller/gstcontroller.c:
2382           Revert one change, that make ret value possible uninitialized.
2383
2384 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2385
2386         * libs/gst/controller/gstcontroller.c:
2387           Use freeze/thaw notify to sync notify emission a bit (its also more
2388           efficient). Move debug output to LOG (is called a lot in a loop).
2389           Always unset g_values if the have been initialized.
2390
2391 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2392
2393         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2394         (gst_base_sink_wait_eos), (gst_base_sink_event):
2395         If we have not seen a buffer before EOS, use the segment values to
2396         report the current position instead of invalid positions.
2397
2398 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2399
2400         * docs/plugins/tmpl/.cvsignore:
2401         * tests/check/gst/.cvsignore:
2402           Ignore more.
2403
2404 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2405
2406         * libs/gst/controller/gstinterpolation.c:
2407         * libs/gst/controller/gstinterpolationcontrolsource.c:
2408         * tests/check/libs/controller.c:
2409           Rewrite handling of default values. Fix overflow with unsigned types
2410           in linear interpolation. Remove now obsolete _first_value() function.
2411           Add more tests. Fixes #538201.
2412
2413 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2414
2415         * libs/gst/base/gstbasetransform.c:
2416         (gst_base_transform_class_init), (gst_base_transform_init),
2417         (gst_base_transform_transform_caps),
2418         (gst_base_transform_prepare_output_buffer):
2419         Add debug info.
2420         When a buffer is writable, its metadata is also writable so we don't
2421         need to subbuffer (which then makes the buffer not-writable anymore).
2422
2423 === release 0.10.20 ===
2424
2425 2008-06-18  Jan Schmidt <jan.schmidt@sun.com>
2426
2427         * configure.ac:
2428           releasing 0.10.20, "You Crazy Diamond"
2429
2430 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
2431
2432         * configure.ac:
2433         0.10.19.3 pre-release
2434
2435 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
2436
2437         * configure.ac:
2438         * gst/gstpreset.c:
2439         Rename DATADIR to GST_DATADIR to avoid build problems
2440         on win32. Patch By: David Schleef <ds@schleef.org>
2441         Fixes: #536857
2442
2443 2008-06-05  Sebastian Dröge  <slomo@circular-chaos.org>
2444
2445         * configure.ac:
2446         Explicitely link with -ldl if dladdr() is found there. Before it was
2447         implicitely linked by the gmodule pkgconfig file but in glib 2.17.0
2448         -ldl has moved from Libs to Libs.private. Fixes bug #536744.
2449
2450 2008-06-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
2451
2452         * gst/gsterror.c: (_gst_stream_errors_init):
2453           Fix typo (spotted by Fabricio Godoy, #536723).
2454
2455 2008-06-05  Jan Schmidt  <jan.schmidt@sun.com>
2456
2457         * configure.ac:
2458         0.10.19.2 pre-release
2459
2460 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
2461
2462         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_async_enabled),
2463         (gst_base_sink_set_ts_offset), (gst_base_sink_perform_qos):
2464         Add some debug.
2465         Make sure we don't generate invalid QoS messages.
2466
2467 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
2468
2469         * gst/gstevent.c: (gst_event_new_qos):
2470         Add some assert and docs for invalid input to the qos function.
2471
2472 2008-05-30  Wim Taymans  <wim.taymans@collabora.co.uk>
2473
2474         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2475         (gst_base_sink_get_position):
2476         The reported position must always be smaller than the last seen
2477         timestamps (or timestamp + duration for reverse).
2478
2479 2008-05-30  Sebastian Dröge  <slomo@circular-chaos.org>
2480
2481         Patch by: Rob Bradford <rob at robster dot org dot uk>
2482
2483         * gst/gstregistry.c: (gst_registry_scan_path_level):
2484         Don't recurse into .debug directories as some distros install
2485         the debugging symbols next to the plugins in .debug directories
2486         and dlopen() crashes on them sometimes. Fixes bug #508070.
2487
2488         Add FIXME for 0.11 to not recurse into directories at all because
2489         it's very inconsistent to the behaviour of other PATH environment
2490         variables.
2491
2492 2008-05-29  Wim Taymans  <wim.taymans@collabora.co.uk>
2493
2494         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2495         (gst_base_sink_get_position_last), (gst_base_sink_get_position):
2496         Fix position query range checks in reverse playback.
2497
2498 2008-05-29  Sebastian Dröge  <slomo@circular-chaos.org>
2499
2500         * gst/gstelement.c:
2501         * gst/gstelement.h:
2502         Deprecated gst_element_get_pad() as it can't be used sanely. It's not
2503         clear of the reference to the resulting pad must be released later
2504         or not, resulting in possible leaks. Fixes bug #533865.
2505
2506 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
2507
2508         Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
2509
2510         * gst/gstelementfactory.c:
2511         Small doc fix. Fixes #535285.
2512
2513 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
2514
2515         Based on patch by: Bjarne Rosengren <bjarne at axis dot com>
2516
2517         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
2518         (gst_base_src_get_range), (gst_base_src_pad_get_range),
2519         (gst_base_src_loop), (gst_base_src_set_flushing),
2520         (gst_base_src_change_state):
2521         Make sending an EOS event to the basesrc non-blocking even if the
2522         implementation does blocking waits in the create function. This is done
2523         by unlocking the create function when EOS is sent.
2524         Fixes #535218.
2525
2526 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
2527
2528         * tools/gst-inspect.c: (print_element_properties_info):
2529         If possible print the element type of GValueArray properties.
2530
2531 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
2532
2533         * gst/gstiterator.c:
2534         Remove an unused field from the private GstListIterator struct.
2535
2536 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2537
2538         * libs/gst/controller/gstcontroller.c:
2539           Add parameter guards.
2540
2541 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2542
2543         * tests/check/gst/gstpipeline.c:
2544           Revert test change and add comment why it should not work.
2545
2546 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2547
2548         * tests/check/gst/gstpipeline.c:
2549           Extending the test a little to verify that we also get the NULL state-
2550           change message.
2551
2552 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
2553
2554         * gst/gstpreset.c: (gst_preset_default_get_meta),
2555           (gst_preset_get_preset_names), (gst_preset_get_property_names),
2556           (gst_preset_load_preset), (gst_preset_save_preset),
2557           (gst_preset_rename_preset), (gst_preset_delete_preset),
2558           (gst_preset_set_meta):
2559           Add Since: markers to docs blurbs.
2560
2561         * win32/common/libgstreamer.def:
2562           Add recently-added API.
2563
2564 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2565
2566         Patch by: Stefan Kost  <ensonic@users.sf.net>
2567
2568         * configure.ac:
2569         Add DATADIR for storing presets.
2570
2571         * docs/gst/gstreamer-docs.sgml:
2572         * docs/gst/gstreamer-sections.txt:
2573         * docs/gst/gstreamer.types.in:
2574         Add GstPreset to docs.
2575
2576         * gst/Makefile.am:
2577         * gst/gst.h:
2578         * gst/gstpreset.c: (preset_get_paths), (preset_skip_property),
2579         (preset_open_and_parse_header), (preset_parse_version),
2580         (preset_merge), (preset_get_keyfile),
2581         (gst_preset_default_get_preset_names),
2582         (gst_preset_default_get_property_names),
2583         (gst_preset_default_load_preset),
2584         (gst_preset_default_save_presets_file),
2585         (gst_preset_default_save_preset),
2586         (gst_preset_default_rename_preset),
2587         (gst_preset_default_delete_preset), (gst_preset_default_set_meta),
2588         (gst_preset_default_get_meta), (gst_preset_default_randomize),
2589         (gst_preset_default_reset), (gst_preset_get_preset_names),
2590         (gst_preset_get_property_names), (gst_preset_load_preset),
2591         (gst_preset_save_preset), (gst_preset_rename_preset),
2592         (gst_preset_delete_preset), (gst_preset_set_meta),
2593         (gst_preset_get_meta), (gst_preset_class_init),
2594         (gst_preset_base_init), (gst_preset_get_type):
2595         * gst/gstpreset.h:
2596         Add GstPreset to core. Fixes #396779
2597
2598         * tests/check/Makefile.am:
2599         * tests/check/gst/gstpreset.c: (gst_preset_test_get_property),
2600         (gst_preset_test_set_property), (gst_preset_test_class_init),
2601         (gst_preset_test_base_init), (gst_preset_test_get_type),
2602         (gst_preset_test_plugin_init), (GST_START_TEST),
2603         (remove_preset_file), (test_setup), (test_teardown),
2604         (gst_preset_suite):
2605         Add GstPreset unit tests.
2606
2607 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2608
2609         * gst/gstpad.c: (gst_pad_event_default_dispatch):
2610         The default event function on a sinkpad should return TRUE when
2611         there are no internal links but should collect the return values from
2612         the internal links otherwise.
2613
2614 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2615
2616         * plugins/elements/gsttypefindelement.c:
2617         (gst_type_find_element_src_event),
2618         (gst_type_find_element_handle_event):
2619         Use faster and safer _pad_push_event().
2620
2621 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
2622
2623         * docs/gst/gstreamer-sections.txt:
2624         * gst/gstutils.c: (element_find_unlinked_pad),
2625           (gst_bin_find_unlinked_pad), (gst_bin_find_unconnected_pad),
2626         * gst/gstutils.h:
2627           API: add gst_bin_find_unlinked_pad()
2628           API: deprecate gst_bin_find_unconnected_pad() (#401456)
2629
2630 2008-05-26  Peter Kjellerstedt  <pkj@axis.com>
2631
2632         * gst/gstclock.c:
2633         * gst/gstclock.h:
2634         * gst/gsttask.c:
2635         * gst/gsttask.h:
2636         Fixed a bunch of typos.
2637
2638 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2639
2640         * gst/gstpad.h:
2641         * gst/gstutils.c: (gst_element_unlink), (element_find_unlinked_pad),
2642           (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description),
2643           (gst_parse_bin_from_description_full):
2644         * gst/gstutils.h:
2645           'unconnected pad' -> 'unlinked pad' for consistency (#401456).
2646
2647 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2648
2649         * docs/pwg/advanced-tagging.xml:
2650           Small docs update, can't be bothered to rewrite the nonsensical
2651           examples right now.
2652
2653 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2654
2655         * gst/gstevent.h:
2656           Clarify docs for GST_SEEK_TYPE_CUR (#534505).
2657
2658 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2659
2660         * gst/parse/grammar.y:
2661           Remove unneeded casts.
2662
2663 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2664
2665         * gst/parse/grammar.y:
2666         * tests/check/pipelines/parse-launch.c:
2667           Get all missing elements from a parse launch string if possible
2668           (ie. if the FATAL_ERRORS flag has been specified). Fixes #528178.
2669
2670 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2671
2672         * tests/check/Makefile.am:
2673         * tests/check/pipelines/parse-launch.c:
2674           Add some unit tests for the new gst_parse_launch*_full() API.
2675           (Exposes a previously-existing memory leak in the error code
2676           path, so adding to VALGRIND_TO_FIX for now).
2677
2678 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2679
2680         * docs/gst/gstreamer-sections.txt:
2681         * gst/gst.c: (init_post):
2682         * gst/gst_private.h: (_GstParseContext):
2683         * gst/gstparse.c: (gst_parse_error_quark), (gst_parse_context_new),
2684           (gst_parse_context_free), (gst_parse_context_get_missing_elements),
2685           (gst_parse_launchv), (gst_parse_launchv_full), (gst_parse_launch),
2686           (gst_parse_launch_full):
2687         * gst/gstparse.h: (GST_PARSE_FLAG_NONE), (GST_PARSE_FLAG_FATAL_ERRORS),
2688           (GstParseFlags), (GstParseContext):
2689         * gst/gstutils.c: (gst_parse_bin_from_description),
2690           (gst_parse_bin_from_description_full):
2691         * gst/gstutils.h:
2692         * gst/parse/grammar.y:
2693         * gst/parse/types.h:
2694         * win32/common/libgstreamer.def:
2695           Add new gst_parse_*_full API (#528178):
2696           API: gst_parse_launch_full()
2697           API: gst_parse_launchv_full()
2698           API: gst_parse_bin_from_description_full()
2699           API: gst_parse_context_new()
2700           API: gst_parse_context_free()
2701           API: gst_parse_context_get_missing_elements()
2702
2703 2008-05-23  Stefan Kost  <ensonic@users.sf.net>
2704
2705         patch by: Suresh Kumar P <sureshkumar.pp@gmail.com>
2706
2707         * docs/faq/gst-uninstalled:
2708           Also support ffmpeg in gst-uninstalled.
2709
2710 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
2711
2712         * configure.ac:
2713         After discussion on IRC use the binary registry as default
2714         but allow to disable it with --disable-binary-registry.
2715
2716         * win32/common/libgstreamer.def:
2717         Add the two new symbols for the binary registry.
2718
2719 2008-05-22  Tim-Philipp Müller  <tim.muller at collabora co uk>
2720
2721         * gst/gstparse.c: (_gst_parse_escape), (gst_parse_launchv):
2722         * gst/gstutils.c: (gst_parse_bin_from_description):
2723         * gst/parse/grammar.y: (graph):
2724           More guards against bad input; typo fix; some minor clean-ups.
2725
2726 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
2727
2728         Patch by: Sjoerd Simons <sjoerd at luon dot net>
2729
2730         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2731         If nothing else can be used, use the last buffer's start time as
2732         the segment's last stop. Fixes bug #534258.
2733
2734 2008-05-21  Tim-Philipp Müller  <tim.muller at collabora co uk>
2735
2736         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
2737           Move size sanity check to the right place: downstream may return
2738           a buffer with a smaller size if the buffer caps are different than
2739           the requested ones, as may happen when doing reverse negotiation.
2740
2741 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2742
2743         * plugins/elements/gstfilesink.c: (gst_file_sink_set_location),
2744         (gst_file_sink_render):
2745         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location),
2746         (gst_file_src_start):
2747         Small cleanups. Add note adbout g_fopen() on windows and why we don't
2748         use it yet.
2749
2750 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2751
2752         * gst/gstpad.c: (gst_pad_load_and_link):
2753         * gst/gstutils.c: (gst_element_link_pads),
2754         (gst_element_unlink_pads):
2755         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2756         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
2757         (gst_check_teardown_sink_pad),
2758         (gst_check_element_push_buffer_list):
2759         * tests/check/elements/fakesink.c: (GST_START_TEST):
2760         * tests/check/elements/filesink.c:
2761         * tests/check/elements/filesrc.c: (GST_START_TEST):
2762         * tests/check/elements/multiqueue.c: (setup_multiqueue),
2763         (mq_sinkpad_to_srcpad):
2764         * tests/check/elements/tee.c: (GST_START_TEST):
2765         * tests/check/generic/sinks.c: (GST_START_TEST):
2766         * tests/check/gst/gstbin.c: (GST_START_TEST):
2767         * tests/check/gst/gstevent.c: (GST_START_TEST):
2768         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2769         * tests/check/gst/gstpipeline.c: (GST_START_TEST):
2770         * tests/check/gst/gstquery.c: (GST_START_TEST):
2771         * tests/check/gst/gstutils.c: (GST_START_TEST):
2772         * tests/check/libs/basesrc.c: (GST_START_TEST):
2773         * tests/check/pipelines/parse-launch.c: (run_delayed_test),
2774         (gst_parse_test_element_change_state):
2775         Don't use gst_element_get_pad().
2776
2777 2008-05-21  Felipe Contreras  <felipe.contreras@gmail.com>
2778
2779         * docs/Makefile.am:
2780         Fix installing plugin documentation when gtk-doc is disabled.
2781
2782 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2783
2784         * docs/manual/advanced-autoplugging.xml:
2785         * docs/manual/basics-helloworld.xml:
2786         * docs/manual/basics-pads.xml:
2787         * docs/manual/highlevel-components.xml:
2788         Avoid using a bad function in the example code.
2789
2790 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2791
2792         * gst/gstclock.c: (gst_clock_set_calibration):
2793         Fix debug of the new clock rate.
2794
2795 2008-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
2796
2797         * win32/common/libgstbase.def:
2798         Add gst_base_sink_wait_clock() to the exported symbols.
2799
2800 2008-05-20  Sebastian Dröge  <slomo@circular-chaos.org>
2801
2802         Patch by: Tim-Philipp Müller  <tim.muller at collabora co uk>
2803
2804         * libs/gst/base/gstbasetransform.c:
2805         (gst_base_transform_sink_event):
2806         Unref events that the GstBaseTransform::event vfunc didn't want to
2807         have forwarded by the base class. Closes a leak in identity.
2808         Fixes bug #446763.
2809
2810 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2811
2812         * docs/libs/gstreamer-libs-sections.txt:
2813         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock):
2814         * libs/gst/base/gstbasesink.h:
2815         Expose a method that was previously used internally to synchronize
2816         against the clock because it can be useful for subclasses too.
2817         API: GstBaseSink::gst_base_sink_wait_clock()
2818
2819 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
2820
2821         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
2822           Add sanity check to make sure we don't get smaller buffers
2823           than requested (and fallback to normal buffer alloc if we do).
2824
2825 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2826
2827         * libs/gst/base/gstbasesink.c: (gst_base_sink_adjust_time),
2828         (gst_base_sink_wait_clock), (gst_base_sink_wait_eos),
2829         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked):
2830         Refactor adjusting the running_time with latency and offset into a
2831         separate method.
2832         When doing clipping, we still want to use the subclass get_times method,
2833         just in case the DURATION or TIMESTAMP are not set.
2834
2835 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
2836
2837         * docs/gst/gstreamer-sections.txt:
2838         * gst/gsttypefind.c: (gst_type_find_suggest_simple):
2839         * gst/gsttypefind.h:
2840         * win32/common/libgstreamer.def:
2841           API: add gst_type_find_suggest_simple(), #533740.
2842
2843 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
2844
2845         * libs/gst/base/gstbasesrc.c: (gst_base_src_start):
2846           Use right error code when typefinding fails, so we can use
2847           the default (translated) error messages.
2848
2849 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2850
2851         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
2852         (gst_base_src_start):
2853         When the subclass did not set caps on outgoing buffers, configure the
2854         caps we negotiated on the source pad.
2855         When the typefind helper does not find caps, error out properly instead
2856         of doing things with NULL caps.
2857
2858 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
2859
2860         * gst/gsttypefind.h:
2861           Tabs to spaces, oh yes!
2862
2863 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
2864
2865         * tests/check/gst/gstcaps.c: (test_intersect2), (gst_caps_suite):
2866           Add David's and Benjamin's tests for array intersection to the
2867           unit test suite (#147931).
2868
2869 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
2870
2871         * gst/gstevent.c:
2872           Document that gst_event_new_tag() and gst_event_new_navigation()
2873           take ownership of the taglist/structure passed to them. (#533635).
2874
2875 2008-05-17  Jan Schmidt  <jan.schmidt@sun.com>
2876
2877         * docs/Makefile.am:
2878         Don't descend into the plugins dir if plugin docs building
2879         is disabled.
2880
2881         * docs/README:
2882         Add a note about the new type:GTypeName syntax for the plugin
2883         documentation .types file.
2884
2885 2008-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
2886
2887         * gst/gstmessage.c: (gst_message_new_error),
2888         (gst_message_new_warning), (gst_message_new_info):
2889         * gst/gstmessage.h:
2890         Mark the debug string parameters as const. Fixes bug #533490.
2891
2892 2008-05-16  Sebastian Dröge  <slomo@circular-chaos.org>
2893
2894         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
2895         Sort buffer cache list by end offsets. This makes sure that we don't
2896         stop to search for a cached buffer that contains the requested data
2897         too early.
2898         Also read a minimum of 4k bytes instead of 512 bytes as this is a bit
2899         more efficient. Fixes bug #459862.
2900
2901 2008-05-14  Stefan Kost  <ensonic@users.sf.net>
2902
2903         * gst/gstinfo.c:
2904           Explain why we copy the list.
2905
2906         * gst/gstpipeline.c:
2907           Improve docs.
2908
2909         * gst/gstutils.c:
2910           Add one debug-log statement to help tracing probelms with linking pads.
2911
2912 2008-05-12  Stefan Kost  <ensonic@users.sf.net>
2913
2914         * tests/check/gst/gstinfo.c:
2915         Add a test for removing the default log handler. Seems to fail under
2916         windows.
2917
2918 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
2919
2920         * gst/gstpad.c: (gst_pad_peer_accept_caps):
2921         Release pad lock before calling out to avoid a possible deadlock.
2922
2923 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
2924
2925         * gst/parse/grammar.y:
2926         Remove unneeded value unset.
2927
2928         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2929         Add unit test for de/serialization of caps.
2930
2931 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2932
2933         * plugins/elements/gstfakesink.c:
2934         (marshal_VOID__MINIOBJECT_OBJECT), (gst_fake_sink_class_init):
2935         * plugins/elements/gstfakesrc.c: (marshal_VOID__MINIOBJECT_OBJECT),
2936         (gst_fake_src_class_init):
2937         Use custom marshalers that take GstMiniObject as first parameter.
2938         Using OBJECT as parameter while a GstMiniObject is given will lead
2939         to assertions if built with G_ENABLE_DEBUG. Fixes bug #525532.
2940
2941 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2942
2943         * plugins/elements/gsttypefindelement.c:
2944         (gst_type_find_element_handle_event),
2945         (gst_type_find_element_send_cached_events),
2946         (gst_type_find_element_change_state):
2947         Clean up on FLUSH_STOP and not FLUSH_START. Forward both events
2948         immediately.
2949
2950 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2951
2952         * plugins/elements/gsttypefindelement.c:
2953         (gst_type_find_handle_src_query), (stop_typefinding),
2954         (gst_type_find_element_handle_event),
2955         (gst_type_find_element_send_cached_events),
2956         (gst_type_find_element_change_state):
2957         Forward FLUSH_START events immediately and clean up instead of
2958         caching them.
2959
2960 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2961
2962         Patch by: Sjoerd Simons <sjoerd at luon dot net>
2963
2964         * libs/gst/base/gstbasetransform.c:
2965         (gst_base_transform_buffer_alloc):
2966         Check the caps of the buffer returned by gst_pad_alloc_buffer() and
2967         fall back to default negotiation in the chain function if the caps
2968         are different from what was requested. Fixes bug #526768.
2969
2970 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
2971
2972         * gst/gstsegment.c:
2973         * tests/check/gst/gstsegment.c:
2974           No, let's not use g_slice_{dup|copy} here, since they only exist
2975           since GLib 2.14 and we still depend only on >= 2.12. Also add
2976           unit test for gst_segment_copy().
2977
2978 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
2979
2980         * gst/gstutils.h: (GST_BOILERPLATE_FULL):
2981           Try to fix 'dereferencing type-punned pointer will break strict
2982           aliasing rules' warnings with C++ compilers and GLib >= 2.14.0: GLib
2983           changed the default GType typedef from gulong to gsize at some point,
2984           but kept GType typedef'ed to gulong for C++ for ABI reasons; the
2985           g_once_* functions all take a gsize * though, so work around the type
2986           mismatch for C++ by doing everything in gsize and casting to GType
2987           later.
2988
2989 2008-05-09  Jan Schmidt  <jan.schmidt@sun.com>
2990
2991         * plugins/elements/gstmultiqueue.c:
2992         Add documentation for the signals to push our core plugin docs
2993         coverage back up to 100%.
2994
2995 2008-05-08  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
2996
2997         * gst/gstinfo.h (GST_FUNCTION):
2998           Reverted GST_FUNCTION to the old version as we don't want the
2999           full signature in C++ code. Also added support for MSVC.
3000
3001 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
3002
3003         * gst/gstutils.h:
3004         Intern the type name string, similar to what G_DEFINE_TYPE does.
3005
3006 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
3007
3008         * gst/gstutils.h:
3009         Make GST_BOILERPLATE thread-safe if building with GLib 2.14 or newer.
3010
3011 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
3012
3013         Based on a patch by: Sjoerd Simons <sjoerd at luon dot net>
3014
3015         * libs/gst/base/gstbasetransform.c:
3016         (gst_base_transform_buffer_alloc):
3017         Don't passthrough buffer allocation too easily if the caps change.
3018         This breaks when working in passthrough mode and upstream changes
3019         it's caps. Fixes bug #526768.
3020
3021 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
3022
3023         * gst/gstinfo.c (gst_debug_log_valist):
3024           Improved the __FILE__ part of debug output for MSVC.
3025
3026 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
3027
3028         * libs/gst/base/gstbasesrc.c (gst_base_src_default_query):
3029           Declaration after statement fix for compilers like MSVC.
3030
3031 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
3032
3033         * win32/common/config.h.in:
3034           Don't define GST_FUNCTION, if GLib supports MSVC we'd much rather
3035           use the real thing than having "???" unconditionally.
3036
3037 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
3038
3039         * gst/gstinfo.h (GST_FUNCTION):
3040           Made GST_FUNCTION an alias for G_STRFUNC to avoid duplication.
3041
3042 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
3043
3044         * libs/gst/base/gstadapter.c: (gst_adapter_available_fast):
3045         Small code cleanup.
3046
3047         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3048         (gst_base_sink_set_flushing):
3049         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
3050         Fix some comments.
3051
3052 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
3053
3054         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
3055         (gst_fake_src_init), (gst_fake_src_set_property),
3056         (gst_fake_src_get_property), (gst_fake_src_start):
3057         * plugins/elements/gstfakesrc.h:
3058         Added format property to control the format of the newsegment events.
3059         API: GstFakeSrc:format
3060
3061 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
3062
3063         * win32/common/libgstreamer.def:
3064         Add gst_pad_has_name() to the exported symbols.
3065
3066 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
3067
3068         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
3069         * libs/gst/base/gstbasetransform.c:
3070         (gst_base_transform_prepare_output_buffer):
3071         Don't allow negative sizes when allocating new buffers.
3072         Fixes bug #461253.
3073
3074 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
3075
3076         Patch by: Sjoerd Simons <sjoerd at luon net>
3077
3078         * gst/gstbus.c: (gst_bus_source_dispatch):
3079           Don't print a warning if the queue is empty when we try to pop
3080           here. That could happen if another thread or callback set the
3081           bus to flushing between the source's check/prepare and the
3082           dispatch being called (#531538).
3083
3084 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
3085
3086         * plugins/elements/gstmultiqueue.c:
3087           Small docs fix.
3088         
3089 2008-05-05  Sebastian Dröge  <slomo@circular-chaos.org>
3090
3091         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3092         Add unit test for deserializing uint64s and check some really large
3093         numbers in the int64 test.
3094
3095 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
3096
3097         * tools/gst-inspect.c: (n_print), (print_hierarchy),
3098         (print_interfaces), (print_element_properties_info),
3099         (print_signal_info):
3100         Use "%s" as format string instead of printing strings directly.
3101
3102 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
3103
3104         * gst/gstclock.c: (gst_clock_set_calibration):
3105         Make some checks actually useful.
3106
3107         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
3108         Remove some unused code. Unsigned integers tend to be >= 0.
3109
3110 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3111
3112         * gst/gstminiobject.c: (gst_value_get_mini_object):
3113           Fix 'Since:' version in gst_value_dup_mini_object() docs blurb: this
3114           function was not in the unscheduled 0.10.19 release.
3115
3116 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3117
3118         * gst/gstregistry.c: (gst_registry_scan_path_level):
3119           Only print one log message per non-plugin file.
3120
3121 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3122
3123         * gst/gstinfo.c: (gst_debug_log_default):
3124           Fix alignment of debug log columns on 64-bit.
3125
3126 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3127
3128         * docs/libs/Makefile.am:
3129         * docs/libs/gstreamer-libs-sections.txt:
3130           Ignore private controller headers for docs.
3131
3132 2008-05-03  Sebastian Dröge  <slomo@circular-chaos.org>
3133
3134         * libs/gst/controller/gstcontrollerprivate.h:
3135         * libs/gst/controller/gsthelper.c:
3136         * libs/gst/controller/gstinterpolation.c:
3137         * libs/gst/controller/gstinterpolationcontrolsource.c:
3138         (gst_interpolation_control_source_set_interpolation_mode):
3139         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
3140         * libs/gst/controller/lib.c:
3141         Move some private declarations into private headers.
3142
3143 2008-05-02  Sebastian Dröge  <slomo@circular-chaos.org>
3144
3145         * gst/gstdebugutils.c: (debug_dump_element_pad):
3146         Remove some code that is unused after Stefan's refactoring and uses
3147         uninitialized variables now, resulting in a compiler warning.
3148
3149 2008-05-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
3150
3151         * gst/gstregistry.c: (gst_registry_scan_path_level):
3152           Run g_str_has_suffix() only on the file name, not the
3153           entire file path.
3154
3155 2008-04-30  Tim-Philipp Müller  <tim.muller at collabora co uk>
3156
3157         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream):
3158           Since we're not called only from the chain function any longer,
3159           we can't assume that there's always data in the queue, so move
3160           the is_full check to the beginning of the loop (otherwise we'd
3161           hit the assert when changing the limit properties while the
3162           queue is empty or not running yet).
3163           Also, only set a discont if items were actually removed from
3164           the queue.
3165
3166         * tests/check/elements/queue.c: (test_leaky_downstream):
3167           Test case for the above.
3168
3169 2008-04-30  Wim Taymans  <wim.taymans@collabora.co.uk>
3170
3171         Patch by: Jonas Holmberg <jonas dot holmberg at axis dot com>
3172
3173         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream),
3174         (gst_queue_chain), (queue_capacity_change),
3175         (gst_queue_set_property):
3176         When changing thr max capacity of a leaky queue, immediatly drop buffers
3177         instead of waiting for a push on the sinkpad. Fixes #530637.
3178
3179 2008-04-30  Stefan Kost  <ensonic@users.sf.net>
3180
3181         * gst/gstdebugutils.c:
3182           Refactor code and fix handling of ghostpads and their proxypads.
3183
3184 2008-04-29  Wim Taymans  <wim.taymans@collabora.co.uk>
3185
3186         * docs/gst/gstreamer-sections.txt:
3187         * gst/gstevent.c: (gst_event_has_name):
3188         * gst/gstevent.h:
3189         * tests/check/gst/gstevent.c: (GST_START_TEST):
3190         Add method to conveniently check the name of a custom event with
3191         gst_event_has_name().
3192         Reformat the event docs so that related methods are put together instead
3193         of the default alphabetical sort.
3194         Update unit test with new method.
3195         API: GstEvent::gst_event_has_name()
3196
3197 2008-04-28  Michael Smith <msmith@songbirdnest.com>
3198
3199         * libs/gst/check/Makefile.am:
3200           Don't add an explicit link to libgstreamer-0.10.la; it's already
3201           included in GST_OBJ_LIBS.
3202
3203 2008-04-28  Sebastian Dröge  <slomo@circular-chaos.org>
3204
3205         * gst/gst.c:
3206         Register GstClock type from a type-safe context. Fixes bug #530317.
3207
3208 2008-04-25  Michael Smith <msmith@songbirdnest.com>
3209
3210         Patch by Edward Hervey <edward.hervey@collabora.co.uk>
3211         * tools/gst-run.c:
3212           Include <unistd.h> conditionally on HAVE_UNISTD_H as elsewhere.
3213
3214 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
3215
3216         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
3217         (gst_bin_dispose):
3218         Use the GLib stuff to create a private structure.
3219         Add some locking around some dispose methods to make them a little
3220         safer, see #529723. Patch by: Antoine Tremblay <hexa00 at gmail dot com>
3221
3222 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
3223
3224         * libs/gst/base/gstbasesink.h:
3225         * libs/gst/base/gstbasesrc.h:
3226         * libs/gst/base/gstbasetransform.h:
3227         * libs/gst/base/gstcollectpads.h:
3228           Fix doc typos and unify caps a bit.
3229
3230 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
3231
3232         * tools/gst-launch.1.in:
3233           Forgot to also add the envvar docs here.
3234
3235 2008-04-25  Tim-Philipp Müller  <tim at centricular dot net>
3236
3237         * gst/gst.c: (init_post), (gst_deinit):
3238         * tests/check/gst/gstpipeline.c: (GST_START_TEST), (pipeline_thread),
3239           (test_concurrent_create), (gst_pipeline_suite):
3240           Ref some more classes in gst_init() to work around thread-safety
3241           issues in pre-2.16 GLibs, and add basic unit test.
3242
3243 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
3244
3245         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3246         (gst_base_sink_send_event):
3247         Rearrange the latency query code. We always want to do the upstream
3248         query, even if we are not live so that the upstream elements can get the
3249         latency results too. If we fail doing the query and we are live, we
3250         return TRUE afterwards.
3251
3252 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
3253
3254         patch by: Jason Zhao <e3423c@motorola.com>
3255
3256         * docs/gst/running.xml:
3257         * gst/gst.c:
3258           Enable/disable scan_and_update_registry() based on commandline switch
3259           or environment variable. Fixes #520468.
3260           
3261         * ChangeLog:
3262           Fix typo in my previous commit.
3263
3264 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
3265
3266         * gst/gstregistrybinary.c:
3267           Add a warning if we hit unhandled factories when saving.
3268           More debug logging detail, but move to LOG category.
3269
3270 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
3271
3272         * gst/gstregistry.c:
3273           Tell the *truth* when improving the documentation.
3274
3275 2008-04-23  Sebastian Dröge  <slomo@circular-chaos.org>
3276
3277         * gst/gstelementfactory.c: (gst_element_factory_make):
3278         Unref the factory after it was used the last time, not before.
3279
3280         * gst/gstindexfactory.c: (gst_index_factory_make):
3281         Improve debugging a bit and don't leak a ref to the index factory with
3282         each call.
3283
3284 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3285
3286         * gst/gstregistry.c:
3287           Improve the documentation.
3288
3289 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3290
3291         * gst/gstsegment.c:
3292           The glib macro seems to be borked. Use g_slice_copy directly and cast
3293           in the hope that this fixes the warning on 64bit.
3294
3295 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3296
3297         * gst/gstsegment.c:
3298           Document the new function. Use g_slice_dup() (no need for
3299           gst_segment_init()).    
3300
3301 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3302
3303         * docs/gst/gstreamer-sections.txt:
3304           Move GParamSepc macros to standart section.
3305   
3306         * gst/gstbin.c:
3307           Dn't document _get_type - its in private section in docs anyway and
3308           this doc-blob was incomplete.
3309
3310         * gst/gstclock.h:
3311           Fix wrong symbol names in docs.
3312
3313         * gst/gstmacros.h:
3314           Add once doc sentence.
3315
3316         * tests/check/gst/.cvsignore:
3317           Ignore more.
3318
3319 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
3320
3321         * docs/gst/Makefile.am:
3322           And remove those libs here.
3323
3324 2008-04-21  Tim-Philipp Müller  <tim at centricular dot net>
3325
3326         * docs/libs/Makefile.am:
3327           Fix docs build again by adding libgstnet-0.10.so to SCANOBJ_DEPS.
3328
3329 2008-04-21  Wim Taymans  <wim.taymans@collabora.co.uk>
3330
3331         Patch by: Olivier Crete <tester at tester dot ca>
3332
3333         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
3334         Add the min-threshold to the min latency if possible. Fixes #529148.
3335
3336 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
3337
3338         * docs/gst/gstreamer.types.in:
3339           Stupid editor, I removed that line as it should go in yet.
3340
3341 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
3342
3343         * docs/gst/gstreamer.types.in:
3344         * docs/libs/gstreamer-libs.types:
3345           Remove library types fro core docs and have them in libs docs.
3346           Reformat and cleanup. Add comment for miniobject types.
3347
3348 2008-04-20  Tim-Philipp Müller  <tim at centricular dot net>
3349
3350         * gst/gsturi.c: (gst_uri_get_protocol):
3351           Fix leak: g_strdown operates on the string in place, while
3352           g_ascii_strdown() returns a newly-allocated string.
3353
3354 2008-04-20  Sebastian Dröge  <slomo@circular-chaos.org>
3355
3356         * tools/gst-inspect.c: (print_uri_handler_info),
3357         (print_element_info):
3358         Print the URI protocols and the URI type supported by the element.
3359
3360 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3361
3362         * gst/gsttaglist.c: (gst_tag_merge_strings_with_comma):
3363         Use g_value_take_string() instead of the deprecated
3364         g_value_set_string_take_ownership().
3365
3366 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3367
3368         * gst/gstregistrybinary.c: (_gst_crc32):
3369         Return the old CRC instead of 0 if we give a NULL buffer
3370         or a buffer with a length of 0.
3371
3372 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3373
3374         * gst/gsturi.c: (gst_uri_protocol_check_internal),
3375         (gst_uri_get_protocol), (gst_uri_has_protocol),
3376         (gst_uri_construct), (gst_uri_handler_set_uri):
3377         A valid URI scheme can also include '+', '-' and '.' additional
3378         to alphanumeric characters as per RFC 3986 Section 3.1.
3379
3380         Handle URI schemes case insensitive in all places and convert
3381         to lower-case when constructing an URI or setting an URI with
3382         the GstURIHandler interface. Fixes bug #528868.
3383         All elements can still assume (as before) that they will
3384         get passed URIs with a lower-case URI scheme by the GstURIHandler
3385         interface.
3386
3387 2008-04-17  Tim-Philipp Müller  <tim at centricular dot net>
3388
3389         * gst/gstcaps.c: (gst_static_caps_get):
3390         * gst/gstclock.c: (gst_clock_entry_new):
3391           Don't use g_atomic_set_int where it's not needed.
3392
3393 2008-04-17  Wim Taymans  <wim.taymans@collabora.co.uk>
3394
3395         * gst/gstvalue.c: (gst_value_deserialize_caps):
3396         * gst/parse/grammar.y:
3397         Fix 2 caps leaks.
3398
3399 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
3400
3401         * gst/gstutils.c: (gst_atomic_int_set):
3402         Use g_atomic_int_set() here too instead of assignment +
3403         g_atomic_int_get().
3404
3405 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
3406         
3407         * gst/gstutils.c:
3408         * gst/gstutils.h:
3409         API: Deprecate gst_atomic_int_set(), g_atomic_int_set() should be used
3410         now that we depend on new enough GLib.
3411
3412         * gst/gstcaps.c: (gst_static_caps_get):
3413         * gst/gstclock.c: (gst_clock_entry_new):
3414         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_set_colored),
3415         (gst_debug_set_default_threshold), (_gst_debug_category_new),
3416         (gst_debug_category_set_threshold):
3417         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3418         (gst_base_sink_set_qos_enabled):
3419         * libs/gst/net/gstnettimeprovider.c:
3420         (gst_net_time_provider_set_property):
3421         Use g_atomic_int_set() instead of gst_atomic_int_set().
3422
3423 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3424
3425         * gst/gstquery.c:
3426           Also use G_GINT64_CONSTANT for the queries.
3427
3428 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3429
3430         * gst/gstmessage.c:
3431           Use G_GINT64_CONSTANT in varargs function.
3432
3433 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3434
3435         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic):
3436         Initialize the registry magic with zeroes.
3437
3438 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3439
3440         * gst/gstregistrybinary.c: (_gst_crc32),
3441         (gst_registry_binary_write),
3442         (gst_registry_binary_initialize_magic),
3443         (gst_registry_binary_write_cache),
3444         (gst_registry_binary_check_magic),
3445         (gst_registry_binary_read_cache):
3446         * gst/gstregistrybinary.h:
3447         Add crc32 checksum to the binary registry file and check this before
3448         accepting a registry file.
3449
3450         Also free the data list when writing to the registry file fails.
3451
3452 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3453
3454         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
3455         (gst_registry_binary_load_feature),
3456         (gst_registry_binary_load_plugin):
3457         If an element supports the Uri interface, returns a valid pointer
3458         to the supported URI protocols but this pointer contains nothing
3459         don't try to save that as it will corrupt the registry.
3460
3461         Don't unref the plugin if we added it to the registry already but
3462         fail to load a feature as gst_registry_add_plugin() takes ownership
3463         of the plugin.
3464
3465         Improve debugging a bit.
3466
3467 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3468
3469         * gst/gsttaglist.h:
3470           Clarify some tag item docs after discussion on irc.
3471
3472 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3473
3474         * docs/gst/gstreamer-docs.sgml:
3475           Remove commented out plugins (they have their own docs). Update
3476           comments.
3477
3478 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3479
3480         * docs/gst/gstreamer-docs.sgml:
3481         * docs/gst/gstreamer-sections.txt:
3482         * gst/gstparamspecs.c:
3483         * gst/gstparamspecs.h:
3484           Add GST_PARAM_CONTROLLABLE and GST_PARAM_USER_SHIFT. Move paramspec
3485           docs to own section.
3486
3487         * gst/gstvalue.c:
3488           This now only documents GValue.
3489           
3490         * docs/libs/gstreamer-libs-sections.txt:
3491         * libs/gst/controller/gstcontroller.h:
3492           Remove GST_PARAM_CONTROLLABLE.
3493
3494 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3495
3496         * docs/README:
3497           Correct file path. Tell about how to use -overrides.txt.
3498         * docs/design/draft-tagreading.txt:
3499           Small design update.
3500
3501 2008-04-14  Sebastian Dröge  <slomo@circular-chaos.org>
3502
3503         * gst/gstregistrybinary.c: (gst_registry_binary_load_feature),
3504         (gst_registry_binary_load_plugin):
3505         Fix a typo in a debug message and revert change from yesterday as
3506         gst_registry_add_plugin() will only fail if something is really wrong
3507         already and we can't survive it anyway.
3508
3509 2008-04-14  Tim-Philipp Müller  <tim at centricular dot net>
3510
3511         * gst/gst.c: (init_post), (gst_deinit):
3512           Pre-register GstGError GType from a thread-safe context
3513           (fixes #527967); unref enum type classes in deinit.
3514
3515 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3516
3517         Patch by: Rene Stadler <mail at renestadler de>
3518
3519         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
3520           Merging an empty list with another list in KEEP_ALL mode should
3521           yield an empty list as result and not the second list (#512578).
3522
3523         * tests/check/gst/gsttagsetter.c:
3524           Add unit test for tag merge modes and the aforementioned bug.
3525
3526 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3527
3528         Patch by: Rene Stadler <mail at renestadler de>
3529
3530         * gst/gsttaglist.h:
3531           Fix description to match the order in the table (#512577).
3532   
3533 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3534
3535         Patch by: Kwang Yul Seo  <kwangyul.seo gmail com>
3536
3537         * libs/gst/net/gstnettimepacket.h:
3538         * docs/libs/gstreamer-libs-sections.txt:
3539           Define socklen_t as int if it's not defined yet. Fixes compilation
3540           with MSVC6 and other versions where socklen_t is not defined in
3541           the windows headers (#518022).
3542
3543 2008-04-13  Sebastian Dröge  <slomo@circular-chaos.org>
3544
3545         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
3546         If gst_registry_add_plugin() fails our reference to the plugin is
3547         invalid so don't try to use it anymore and instead error out.
3548
3549 2008-04-12  Tim-Philipp Müller  <tim at centricular dot net>
3550
3551         * tools/gst-xmlinspect.c: (print_element_info), (main):
3552           De-cruft a bit. If no argument is specified, print all elements in
3553           XML syntax rather than a freestyle list of elements like gst-inspect.
3554           Also, don't print XML header chunk unless we actually have something
3555           to print (ie. don't print it before an error message); print error
3556           message to stderr not stdout. Remove support for printing plugin
3557           info (it would just output something freestyle along the lines of
3558           gst-inspect so far), which fixes #514507. Also add license header.
3559
3560 2008-04-11  Julien Moutte  <julien@fluendo.com>
3561
3562         Mac OS X love...
3563         * configure.ac: Merge platform specific defines, introduce a new
3564         define on OS X to remember that forking when updating registry is
3565         unsafe.
3566         * docs/faq/gst-uninstalled: Updated to include gst-libs in the bad
3567         module.
3568         * gst/gst.c: Don't fork when updating registry if GST_HAVE_UNSAFE_FORK
3569         is defined.
3570         * gst/gstregistry.c: (gst_registry_scan_path_level): Fixed a bogus
3571         condition that leads to absolutely no plugins being registered on
3572         OS X.
3573
3574 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
3575
3576         Based on patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
3577
3578         * gst/gstutils.c: (gst_pad_add_data_probe),
3579           (gst_pad_add_data_probe_full), (gst_pad_add_event_probe),
3580           (gst_pad_add_event_probe_full), (gst_pad_add_buffer_probe),
3581           (gst_pad_add_buffer_probe_full):
3582         * gst/gstutils.h:
3583         * docs/gst/gstreamer-sections.txt:
3584         * win32/common/libgstreamer.def:
3585           Add gst_pad_add_*_probe_full() functions with a notify callback that
3586           lets the caller free the data it passes to the probe functions. This
3587           is useful for bindings such as gst-python or gstreamermm (#526814).
3588           API: gst_pad_add_data_probe_full
3589           API: gst_pad_add_buffer_probe_full
3590           API: gst_pad_add_event_probe_full
3591
3592         * tests/check/gst/gstutils.c:
3593           Add minimal unit test to make sure freeing the data actually works
3594           as expected.
3595
3596         * tests/benchmarks/.cvsignore:
3597           Random cvsignore addendum.
3598
3599 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
3600
3601         * gst/gstdebugutils.h: (GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS),
3602           (GST_DEBUG_BIN_TO_DOT_FILE):
3603           Mention GstDebugGraphDetails enum type in doc blurb so we get a link
3604           to it in the docs (since these are macros the types of the arguments
3605           won't be shown in the docs otherwise).
3606
3607 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
3608
3609         * gst/gstpad.c:
3610           Do not abort on out of memory for pad_alloc_buffer.
3611
3612 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
3613
3614         * libs/gst/check/gstcheck.c:
3615           Remove blank line between symbol name ad parameters to fix gtkdoc
3616           warning.
3617
3618 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3619
3620         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
3621
3622         * docs/gst/gstreamer-sections.txt:
3623         * gst/gstsegment.c:
3624         * gst/gstsegment.h:
3625         * win32/common/libgstreamer.def:
3626           Expose gst_segment_copy() to make things easier for the c++ bindings.
3627           Fixes #518932.
3628           API: gst_segment_copy()
3629
3630 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3631
3632         * gst/gst.c: (gst_init_get_option_group), (init_post):
3633           Fix const position; ref GType classes for enum types to work
3634           around thread-safety issues in GLib versions < 2.16.
3635
3636 2008-04-09  Wim Taymans  <wim.taymans@collabora.co.uk>
3637
3638         * docs/design/part-buffering.txt:
3639         Fix some typos and set the estimated total for push mode to -1.
3640
3641         * gst/gstquery.c: (gst_query_new_buffering):
3642         Set buffering-left to 0 as we're not buffering by default.
3643
3644         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
3645         Implement BUFFERING query.
3646
3647 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3648
3649         Based on patch by: Milosz Derezynski <internalerror gmail com>
3650
3651         * gst/gsterror.c: (_gst_stream_errors_init):
3652         * gst/gsterror.h:
3653           Add two new error codes for encrypted content. Fixes #524659.
3654           API: GST_STREAM_ERROR_DECRYPT
3655           API: GST_STREAM_ERROR_DECRYPT_NOKEY
3656
3657 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3658
3659         * gst/gstquery.h:
3660           Fix typo.
3661
3662         * win32/common/libgstreamer.def:
3663           Add new functions.
3664
3665 2008-04-09  Sebastian Dröge  <slomo@circular-chaos.org>
3666
3667         * plugins/elements/gstidentity.c: (gst_identity_event),
3668         (gst_identity_start):
3669         Fix imperfect timestamp/offset checks when we get another NEWSEGMENT
3670         event after processing some data. Fixes bug #526042.
3671
3672 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3673
3674         * docs/gst/gstreamer-sections.txt:
3675         * gst/gstquery.c: (gst_query_parse_latency),
3676         (gst_query_set_buffering_percent),
3677         (gst_query_parse_buffering_percent),
3678         (gst_query_set_buffering_range), (gst_query_parse_buffering_range):
3679         * gst/gstquery.h:
3680         Rename _avail -> _range
3681         API: gst_query_set_buffering_range
3682         API: gst_query_parse_buffering_range
3683
3684 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3685
3686         * docs/design/part-buffering.txt:
3687         * gst/gstquark.c:
3688         * gst/gstquark.h:
3689         * gst/gstquery.c: (gst_query_parse_latency),
3690         (gst_query_new_buffering), (gst_query_set_buffering_percent),
3691         (gst_query_parse_buffering_percent):
3692         * gst/gstquery.h:
3693         Add busy field and quark for the buffering query so that the app can
3694         only use the query to see if buffering is in progress.
3695
3696 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3697
3698         * docs/gst/gstreamer-sections.txt:
3699         * gst/gstmessage.c: (gst_message_set_buffering_stats),
3700         (gst_message_parse_buffering_stats):
3701         * gst/gstmessage.h:
3702         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
3703         (gst_query_parse_latency), (gst_query_new_buffering),
3704         (gst_query_set_buffering_percent),
3705         (gst_query_parse_buffering_percent),
3706         (gst_query_set_buffering_stats), (gst_query_parse_buffering_stats),
3707         (gst_query_set_buffering_avail), (gst_query_parse_buffering_avail):
3708         * gst/gstquery.h:
3709         Reorder the message docs and headers for clarity.
3710         Add aditional buffering stats API for messages.
3711         Add buffering query.
3712         Convert some leftover queries to use GstQuark.
3713         API: gst_message_set_buffering_stats
3714         API: gst_message_parse_buffering_stats
3715         API: GST_QUERY_BUFFERING
3716         API: GstBufferingMode
3717         API: gst_query_new_buffering
3718         API: gst_query_set_buffering_percent
3719         API: gst_query_parse_buffering_percent
3720         API: gst_query_set_buffering_stats
3721         API: gst_query_parse_buffering_stats
3722
3723 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3724
3725         * gst/gstmessage.c: (gst_message_new_error),
3726         (gst_message_new_warning), (gst_message_new_info),
3727         (gst_message_new_buffering), (gst_message_new_state_changed),
3728         (gst_message_new_clock_provide), (gst_message_new_clock_lost),
3729         (gst_message_new_new_clock), (gst_message_new_segment_start),
3730         (gst_message_new_segment_done), (gst_message_new_duration),
3731         (gst_message_new_async_start), (gst_message_parse_buffering),
3732         (gst_message_parse_state_changed),
3733         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
3734         (gst_message_parse_new_clock), (gst_message_parse_error),
3735         (gst_message_parse_warning), (gst_message_parse_info),
3736         (gst_message_parse_segment_start),
3737         (gst_message_parse_segment_done), (gst_message_parse_duration),
3738         (gst_message_parse_async_start):
3739         Use GstQuark for messages.
3740
3741 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3742
3743         * gst/gstquark.c: (_priv_gst_quarks_initialize):
3744         * gst/gstquark.h:
3745         Add some more quarks needed for messages and queries.
3746
3747 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3748
3749         * docs/design/part-buffering.txt:
3750         Remove the "none" buffering mode, STREAM is a good default.
3751         Move estimated-time to the avail query, that's when it will be needed.
3752         Other small typo fixes and updates.
3753
3754 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
3755
3756         * gst/gstindex.c: (gst_index_resolver_get_type):
3757           Don't put descriptions into the nick field of a GEnumValue: it's not
3758           meant for that and some language bindings rely on the nick field to
3759           construct constants and the like. Fixes #526705.
3760
3761 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
3762
3763         * NEWS:
3764         * RELEASE:
3765         * gstreamer.doap:
3766           Merge other changes from 0.10.19 release branch.
3767
3768 2008-04-06  Sebastian Dröge  <slomo@circular-chaos.org>
3769
3770         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3771
3772         * configure.ac:
3773         Actually build dlls when cross-compiling with mingw32.
3774         Fixes bug #526247.
3775
3776 2008-04-05  Sebastian Dröge  <slomo@circular-chaos.org>
3777
3778         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3779
3780         * gst/gstpoll.c:
3781         Fix compilation of GstPoll with mingw32. Fixes bug #526236.
3782
3783 2008-04-04  Wim Taymans  <wim.taymans@collabora.co.uk>
3784
3785         * docs/design/draft-latency.txt:
3786         Fix typo.
3787
3788         * docs/design/part-buffering.txt:
3789         Update design docs with more buffering ideas.
3790
3791 2008-04-03  Tim-Philipp Müller  <tim at centricular dot net>
3792
3793         * configure.ac:
3794           Bump version to 0.10.19.1 after the unscheduled 0.10.19 release.
3795
3796 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
3797
3798         * configure.ac:
3799           Revert part that belongs to the preset patch.
3800
3801 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
3802
3803         * configure.ac:
3804           Add qoutes to the define. Fixes # 525961.
3805
3806 2008-04-03  Sebastian Dröge  <slomo@circular-chaos.org>
3807
3808         * plugins/indexers/gstfileindex.c: (_file_index_id_free),
3809         (gst_file_index_load), (gst_file_index_add_id),
3810         (gst_file_index_get_assoc_entry):
3811         * plugins/indexers/gstmemindex.c: (gst_mem_index_free_format),
3812         (gst_mem_index_free_id), (gst_mem_index_add_id),
3813         (gst_mem_index_index_format):
3814         Use GSlice when possible.
3815
3816 2008-04-02  Sebastian Dröge  <slomo@circular-chaos.org>
3817
3818         * libs/gst/controller/gstinterpolationcontrolsource.c:
3819         (gst_control_point_free),
3820         (gst_interpolation_control_source_set_internal):
3821         Use GSlice for allocating the control points.
3822
3823 2008-04-02  Wim Taymans  <wim.taymans@collabora.co.uk>
3824
3825         * plugins/elements/gsttypefindelement.c:
3826         (gst_type_find_element_class_init),
3827         (gst_type_find_element_set_property),
3828         (gst_type_find_element_get_property),
3829         (gst_type_find_element_activate):
3830         * plugins/elements/gsttypefindelement.h:
3831         Cleanup properties.
3832         Fix pad leak when peer query fails.
3833         We can still typefind when the peer returns -1.
3834         Add property to force caps and bypass typefinding. This will be used in
3835         uridecodebin.
3836         API::force-caps
3837
3838 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
3839
3840         * configure.ac:
3841         Require GLib 2.12.
3842
3843         * gst/glib-compat-private.h:
3844         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free):
3845         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
3846         Unconditionally use GSlice for allocation.
3847
3848         * gst/gstpoll.c: (gst_poll_new), (gst_poll_free):
3849         * gst/gstsegment.c: (gst_segment_new), (gst_segment_free):
3850         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
3851         (gst_structure_free):
3852         Use GSlice for allocation.
3853
3854 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
3855
3856         * gst/parse/Makefile.am:
3857         * gst/parse/grammar.tab.pre.c:
3858         * gst/parse/grammar.tab.pre.h:
3859         * gst/parse/lex._gst_parse_yy.pre.c:
3860         Require a new enough flex and bison and remove the parser hacks to use
3861         a pre-regenerated version.
3862
3863 2008-04-01  Julien Moutte  <julien@fluendo.com>
3864
3865         patch by: Jason Zhao <E3423C@motorola.com>
3866
3867         * configure.ac: Add a configure switch to disable option parsing
3868         in gst_init.
3869         Fixes #522882.
3870
3871 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
3872
3873         * configure.ac:
3874         * gst/gstregistry.c:
3875           MacOS has plugins under .so or under .dylib. Add detection for MacOS
3876           and handle this case.
3877
3878         * gst/gst.c:
3879           Add a comment here describing, why we stat each plugin and not try to
3880           be smart.
3881
3882 2008-03-31  Sebastian Dröge  <slomo@circular-chaos.org>
3883
3884         * libs/gst/base/gstbasetransform.c:
3885         (gst_base_transform_prepare_output_buffer):
3886         Also unset the GAP flag on buffers if we're working inplace but
3887         the element is not GAP-aware.
3888
3889         Mark a comment as FIXME 0.11.
3890
3891 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
3892
3893         * gst/gst.c:
3894           Fix type in log message and add one to ease seeing how long registry
3895           cache verification takes.
3896
3897         * gst/gstregistry.c:
3898           Only test plugin filenames against G_MODULE_SUFFIX.
3899
3900 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
3901
3902         * gst/gstdebugutils.c:
3903           Improve handling ghost/proxy pads.
3904
3905 2008-03-27  Stefan Kost  <ensonic@users.sf.net>
3906
3907         * docs/gst/gstreamer-sections.txt:
3908         * gst/gstpad.c:
3909         * gst/gstpad.h:
3910           Expose macro to docs and fix link to it.
3911
3912 2008-03-27  Michael Smith <msmith@fluendo.com>
3913
3914         * libs/gst/dataprotocol/dataprotocol.c:
3915         (gst_dp_packet_from_event_1_0):
3916           When calculating GDP body CRC, use the correct pointer. 
3917           Fixes part of #522401.
3918
3919 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3920
3921         Patch by: Mark Nauwelaerts <manauw at skynet be>
3922
3923         * plugins/elements/gstidentity.c: (gst_identity_class_init),
3924         (gst_identity_init), (gst_identity_prepare_output_buffer):
3925         Identity is not always a passthrough element, it can modify the buffer
3926         timestamps when it has a datarate and operates in single-segment mode.
3927         We therefore make it an in_place filter with a custom buffer prepare
3928         function that conditionally makes the input buffer metadata writable
3929         when needed.  Fixes #523985.
3930
3931 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3932
3933         Patch by: Mark Nauwelaerts <manauw at skynet be>
3934
3935         * gst/gstclock.h:
3936         * libs/gst/base/gstbasesrc.h:
3937         * libs/gst/base/gstbasetransform.c:
3938         * libs/gst/check/gstcheck.c:
3939         Small documentation fixes. Fixes #523978.
3940
3941 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3942
3943         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
3944         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
3945         Also retry our poll_wait when we get EAGAIN. Fixes #524041.
3946
3947 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3948
3949         * plugins/elements/gstmultiqueue.c: (single_queue_overrun_cb),
3950         (single_queue_underrun_cb):
3951         When trying to make room in the queue, bump the max allowed buffers
3952         bigger than the current amount of buffers in the queue. this fixes some
3953         nasty deadlocks in multiqueue when dynamically changing the limits of
3954         the queue.
3955
3956 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3957
3958         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
3959
3960         * gst/gstcaps.c: (gst_caps_set_simple),
3961         (gst_caps_set_simple_valist), (gst_caps_intersect):
3962         * gst/gstcaps.h:
3963         Constify the field gchar * params in set_simple and friends.
3964         Fixes #522326.
3965
3966 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3967
3968         * gst/gstvalue.c: (gst_value_transform_object_string):
3969         Transform a GstObject to a more meaningfull string that includes the
3970         object type in addition to its name.
3971
3972 2008-03-23  Stefan Kost  <ensonic@users.sf.net>
3973
3974         * ChangeLog:
3975           ChangeLog surgery to add bugnumber to commit.
3976
3977 2008-03-23  Rene Stadler  <mail@renestadler.de>
3978
3979         * libs/gst/base/gstbasetransform.c:
3980         (gst_base_transform_set_gap_aware): Fix confusing documentation.
3981
3982 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
3983
3984         * gst/gstregistrybinary.c: (gst_registry_binary_write):
3985         Rename constant everywhere and don't forget one occurence.
3986
3987 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
3988
3989         * gst/gstregistrybinary.c: (gst_registry_binary_write):
3990         Align memory to the pointer size even if the architecture allows
3991         unaligned memory access. Unaligned memory access usually comes with
3992         performance penality.
3993
3994 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
3995
3996         * gst/gstregistrybinary.c: (gst_registry_binary_write),
3997         (gst_registry_binary_check_magic),
3998         (gst_registry_binary_load_pad_template),
3999         (gst_registry_binary_load_feature),
4000         (gst_registry_binary_load_plugin):
4001         Align memory to the pointer size instead of always 32 bit. Fixes
4002         unaligned memory accesses on ia64 and friends.
4003
4004         * gst/gstregistrybinary.h:
4005         Bump binary registry format version for this as it changes the
4006         format on those architectures that don't have unaligned access
4007         and 64 bit pointers.
4008
4009 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
4010
4011         * docs/pwg/advanced-dparams.xml:
4012         * docs/pwg/building-props.xml:
4013         * docs/pwg/other-source.xml:
4014         * gst/glib-compat.h:
4015         * gst/gstbin.c: (gst_bin_class_init):
4016         * gst/gstclock.c: (gst_clock_class_init):
4017         * gst/gstindex.c: (gst_index_class_init):
4018         * gst/gstobject.c: (gst_object_class_init):
4019         * gst/gstpad.c: (gst_pad_class_init):
4020         * gst/gstpipeline.c: (gst_pipeline_class_init):
4021         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4022         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
4023         * libs/gst/base/gstbasetransform.c:
4024         (gst_base_transform_class_init):
4025         * libs/gst/base/gstdataqueue.c: (gst_data_queue_class_init):
4026         * libs/gst/check/gstcheck.c: (_gst_check_fault_handler_restore),
4027         (_gst_check_fault_handler_sighandler),
4028         (_gst_check_fault_handler_setup), (gst_check_init):
4029         * libs/gst/controller/gstcontroller.c:
4030         (_gst_controller_class_init):
4031         * libs/gst/controller/gstlfocontrolsource.c:
4032         (gst_lfo_control_source_class_init):
4033         * libs/gst/net/gstnetclientclock.c:
4034         (gst_net_client_clock_class_init):
4035         * libs/gst/net/gstnettimeprovider.c:
4036         (gst_net_time_provider_class_init):
4037         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
4038         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
4039         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
4040         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
4041         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
4042         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
4043         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
4044         * plugins/elements/gstidentity.c: (gst_identity_class_init):
4045         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_class_init):
4046         * plugins/elements/gstqueue.c: (gst_queue_class_init):
4047         * plugins/elements/gsttee.c: (gst_tee_class_init):
4048         * plugins/elements/gsttypefindelement.c:
4049         (gst_type_find_element_class_init):
4050         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
4051         Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and
4052         use it everywhere for GParamSpecs that use static strings (i.e. all).
4053         This gives us less memory usage, fewer allocations and thus less
4054         memory defragmentation. Fixes bug #523806.
4055
4056 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
4057
4058         * gst/gstminiobject.c: (gst_value_dup_mini_object),
4059         (gst_param_spec_mini_object):
4060         * gst/gstminiobject.h:
4061         * win32/common/libgstreamer.def:
4062         * docs/gst/gstreamer-sections.txt:
4063         API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
4064         GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object. Also move
4065         GstParamSpecMiniObject into a public header for this.
4066
4067         This make GstMiniObject a bit more consistent with GObject and makes
4068         it possible to extend the param specs.
4069
4070         gst_value_dup_mini_object is mainly useful for set_property methods.
4071
4072         Fixes bug #523798.
4073
4074         * tools/gst-inspect.c: (print_element_properties_info):
4075         Print something useful for GstMiniObject properties and not just
4076         "unknown type".
4077
4078 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
4079
4080         * docs/gst/gstreamer-sections.txt:
4081         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
4082         (gst_registry_binary_check_magic):
4083         * gst/gstregistrybinary.h:
4084         Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent
4085         and add it to the (private part) of the docs to fix the build.
4086
4087 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
4088
4089         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
4090         (gst_registry_binary_check_magic),
4091         (gst_registry_binary_read_cache):
4092         * gst/gstregistrybinary.h:
4093         Don't use GST_MAJORMINOR for the binary registry version. Instead
4094         hardcode a value that must be changed whenever the format changes
4095         in an incompatible way.
4096         Also don't GST_ERROR when there is a version mismatch, just
4097         regenerate the registry silently.
4098
4099 2008-03-21  Jan Schmidt  <jan.schmidt@sun.com>
4100
4101         * configure.ac:
4102         Back to development - 0.10.18.1
4103
4104 === release 0.10.18 ===
4105
4106 2008-03-20  Jan Schmidt <jan.schmidt@sun.com>
4107
4108         * configure.ac:
4109           releasing 0.10.18, "So far away"
4110
4111 2008-03-18  Jan Schmidt  <jan.schmidt@sun.com>
4112
4113         * configure.ac:
4114         * win32/common/config.h:
4115         0.10.17.4 pre-release
4116
4117 2008-03-18  Wim Taymans  <wim.taymans@collabora.co.uk>
4118
4119         Patch by: Ole André Vadla Ravnås
4120             <ole dot andre dot ravnas at tandberg dot com>
4121
4122         * docs/gst/gstreamer-sections.txt:
4123         * gst/gstpoll.c: (gst_poll_winsock_error_to_errno),
4124         (gst_poll_update_winsock_event_mask),
4125         (gst_poll_prepare_winsock_active_sets),
4126         (gst_poll_collect_winsock_events), (gst_poll_new), (gst_poll_free),
4127         (gst_poll_add_fd_unlocked), (gst_poll_fd_ctl_write),
4128         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ignored),
4129         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
4130         (gst_poll_check_ctrl_commands), (gst_poll_wait):
4131         * gst/gstpoll.h:
4132         * win32/common/libgstreamer.def:
4133         Add new function gst_poll_fd_ignored() for improved Windows
4134         compatibility.
4135         Various minor fixes and cleanups. See #520808.
4136
4137 2008-03-17  Tim-Philipp Müller  <tim at centricular dot net>
4138
4139         * gst/gstindex.c: (gst_index_entry_free):
4140         * gst/gstindex.h:
4141           Don't free key strings which we don't own. Fixes crash in
4142           gst_index_entry_free() (#522741).
4143
4144         * tests/check/Makefile.am:
4145         * tests/check/gst/.cvsignore:
4146         * tests/check/gst/gstindex.c: (test_index_entries),
4147           (gst_index_suite), (gst_index):
4148           Add unit test for the above.
4149
4150 2008-03-11  Sebastian Dröge  <slomo@circular-chaos.org>
4151
4152         * win32/common/libgstreamer.def:
4153         Remove symbols that were removed recently. Fixes bug #521740.
4154
4155 2008-03-11  Jan Schmidt  <jan.schmidt@sun.com>
4156
4157         * configure.ac:
4158         * win32/common/config.h:
4159         0.10.17.3 pre-release
4160
4161 2008-03-07  Wim Taymans  <wim.taymans@collabora.co.uk>
4162
4163         Patch by: Ole André Vadla Ravnås
4164             <ole dot andre dot ravnas at tandberg dot com>
4165
4166         * docs/gst/gstreamer-sections.txt:
4167         * gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event),
4168         (gst_poll_update_winsock_event_mask), (gst_poll_new),
4169         (gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked),
4170         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
4171         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed),
4172         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
4173         (gst_poll_fd_can_write), (gst_poll_wait),
4174         (gst_poll_set_controllable), (gst_poll_restart),
4175         (gst_poll_set_flushing):
4176         * gst/gstpoll.h:
4177         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
4178         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start),
4179         (gst_net_time_provider_new):
4180         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
4181         * plugins/elements/gstfdsrc.c: (gst_fd_src_start):
4182         * tests/benchmarks/gstpollstress.c: (main):
4183         * tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite):
4184         Remove GstPollMode from the API, it does not make sense to let the
4185         application control this.
4186         Add support for Win32.
4187         Fix the testsuite. Fixes #520671.
4188
4189 2008-03-07  Sebastian Dröge  <slomo@circular-chaos.org>
4190
4191         Patch by: Ole André Vadla Ravnås
4192             <ole dot andre dot ravnas at tandberg dot com>
4193
4194         * gst/gstregistrybinary.c:
4195         Include io.h for write() and close() when building with MSVC. Fixes
4196         bug #520877.
4197
4198 2008-03-07  Stefan Kost  <ensonic@users.sf.net>
4199
4200         * configure.ac:
4201         * gst/gst_private.h:
4202         * gst/gstconfig.h.in:
4203         * gst/gstregistry.h:
4204         * gst/gstregistrybinary.c:
4205         * win32/common/gstconfig.h:
4206           Move registry backend API to private headers where we can. Add
4207           fixme-0.11 comments for the others. Add stubs for the xml backend when
4208           using the binary to ensure they functions exists (they should not be
4209           used though). Fixes #520756.
4210
4211 2008-03-04  Jan Schmidt  <jan.schmidt@sun.com>
4212
4213         * configure.ac:
4214         * win32/common/config.h:
4215         0.10.17.2 prelease
4216
4217 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
4218
4219         * gst/gstregistrybinary.c: (gst_registry_binary_write),
4220         (gst_registry_binary_read_cache):
4221         * gst/gstregistryxml.c: (gst_registry_save):
4222         * gst/gsturi.c: (unescape_string), (gst_uri_has_protocol):
4223         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file):
4224         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4225         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
4226         Switch to using portabl gsize/gssize instead of size_t/ssize_t
4227         Fixes #520152
4228
4229 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
4230
4231         * gst/gstminiobject.c:
4232         Import gst_private.h before any other header that might include other
4233         glib headers. This fixes the build on windows using native compilers.
4234
4235 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
4236
4237         * win32/common/gstconfig.h:
4238           Add here too, just for completeness.
4239
4240 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
4241
4242         * configure.ac:
4243         * gst/gstconfig.h.in:
4244         * gst/gstregistry.h:
4245           Fix broken use of config.h-defined preprocessor directive in a public
4246           header file. Add a corresponding define to gstconfig.h, since we can't
4247           really remove those function declarations from the header file now
4248           (or can we? and why are they there in the first place?).
4249
4250 2008-03-03  Andy Wingo  <wingo@pobox.com>
4251
4252         * tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
4253         the new warning.
4254
4255         * gst/gststructure.c (gst_structure_from_string): Warn if
4256         structure_from_string didn't consume the whole string, but the
4257         caller did not provide an end pointer.
4258
4259 2008-03-01  Tim-Philipp Müller  <tim at centricular dot net>
4260
4261         Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it>
4262
4263         * gst/gstregistryxml.c: (read_string), (load_feature):
4264           Strings allocated by libxml2 should be freed with xmlFree(), not
4265           with g_free(). Fixes issues on windows in certain contexts (#519698).
4266
4267 2008-02-29  Tim-Philipp Müller  <tim at centricular dot net>
4268
4269         * gst/gstinterface.c: (gst_element_implements_interface):
4270           Don't crash if the element supports the interface queried, but does
4271           not implement GstImplementsInterface. Fixes #519584.
4272
4273         * tests/check/Makefile.am:
4274         * tests/check/gst/.cvsignore:
4275         * tests/check/gst/gstinterface.c:
4276           Add unit test for the above.
4277
4278 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4279
4280         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4281         Small doc update.
4282
4283 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4284
4285         * gst/gstsegment.c: (gst_segment_set_seek),
4286         (gst_segment_to_stream_time):
4287         Improve some comment.
4288         Update variables where it makes more sense.
4289
4290 2008-02-29  Rene Stadler  <mail@renestadler.de>
4291
4292         * gst/gsturi.c: (gst_uri_handler_get_protocols):
4293         Use the get_protocols_full vfunc if get_protocols is NULL.  Fixes
4294         URIHandlers implemented using language bindings.
4295
4296 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4297
4298         * gst/gstelementfactory.h:
4299         * tests/check/elements/fakesink.c:
4300         * tests/check/elements/fakesrc.c: (setup_fakesrc):
4301         * tests/check/elements/fdsrc.c: (setup_fdsrc):
4302         * tests/check/elements/filesink.c: (setup_filesink):
4303         * tests/check/elements/filesrc.c: (setup_filesrc):
4304         * tests/check/elements/identity.c: (setup_identity):
4305         * tests/check/elements/tee.c:
4306         * tests/check/generic/sinks.c:
4307         * tests/check/generic/states.c: (setup), (teardown):
4308         * tests/check/gst/gst.c:
4309         * tests/check/gst/gstabi.c:
4310         * tests/check/gst/gstbin.c:
4311         * tests/check/gst/gstbus.c: (pull_messages):
4312         * tests/check/gst/gstcaps.c:
4313         * tests/check/gst/gstelement.c:
4314         * tests/check/gst/gstevent.c:
4315         * tests/check/gst/gstghostpad.c:
4316         * tests/check/gst/gstiterator.c:
4317         * tests/check/gst/gstmessage.c:
4318         * tests/check/gst/gstminiobject.c: (my_foo_init):
4319         * tests/check/gst/gstobject.c: (thread_name_object),
4320         (gst_object_suite):
4321         * tests/check/gst/gstpad.c:
4322         * tests/check/gst/gstplugin.c:
4323         * tests/check/gst/gstpoll.c:
4324         * tests/check/gst/gstquery.c:
4325         * tests/check/gst/gstsegment.c:
4326         * tests/check/gst/gststructure.c:
4327         * tests/check/gst/gstsystemclock.c:
4328         * tests/check/gst/gsttask.c:
4329         * tests/check/gst/gstutils.c:
4330         * tests/check/gst/gstvalue.c:
4331         * tests/check/gst/struct_hppa.h:
4332         * tests/check/gst/struct_i386.h:
4333         * tests/check/gst/struct_ppc32.h:
4334         * tests/check/gst/struct_ppc64.h:
4335         * tests/check/gst/struct_x86_64.h:
4336         * tests/check/libs/adapter.c: (create_and_fill_adapter):
4337         * tests/check/libs/basesrc.c:
4338         * tests/check/libs/controller.c: (GST_START_TEST):
4339         * tests/check/libs/gdp.c:
4340         * tests/check/libs/gstnetclientclock.c:
4341         * tests/check/libs/gstnettimeprovider.c:
4342         * tests/check/libs/libsabi.c:
4343         * tests/check/libs/struct_hppa.h:
4344         * tests/check/libs/struct_i386.h:
4345         * tests/check/libs/struct_ppc32.h:
4346         * tests/check/libs/struct_ppc64.h:
4347         * tests/check/libs/struct_x86_64.h:
4348         * tests/check/pipelines/cleanup.c:
4349         * tests/check/pipelines/simple-launch-lines.c:
4350         * tests/check/pipelines/stress.c:
4351         And correct even more valid sparse warnings.
4352
4353         * win32/common/libgstreamer.def:
4354         Add gst_poll_fd_init to the list of symbols.
4355
4356 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4357
4358         * gst/gstconfig.h.in:
4359         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
4360         * libs/gst/check/gstcheck.c: (gst_check_log_message_func),
4361         (gst_check_log_critical_func), (gst_check_drop_buffers),
4362         (gst_check_element_push_buffer_list):
4363         * libs/gst/controller/gstcontroller.c: (gst_controller_get),
4364         (gst_controller_get_type):
4365         * libs/gst/controller/gsthelper.c: (gst_object_control_properties),
4366         (gst_object_get_controller), (gst_object_get_control_source):
4367         * libs/gst/controller/gstinterpolationcontrolsource.c:
4368         (gst_interpolation_control_source_new):
4369         * libs/gst/controller/gstlfocontrolsource.c:
4370         (gst_lfo_control_source_new):
4371         * libs/gst/dataprotocol/dataprotocol.c:
4372         (gst_dp_event_from_packet_0_2):
4373         * plugins/elements/gstfdsrc.c:
4374         * plugins/elements/gstmultiqueue.c:
4375         * plugins/elements/gsttee.c:
4376         * plugins/elements/gsttypefindelement.c:
4377         * plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
4378         (gst_file_index_add_association):
4379         * plugins/indexers/gstmemindex.c:
4380         * tests/benchmarks/gstpollstress.c: (mess_some_more):
4381         * tests/check/elements/queue.c: (setup_queue):
4382         * tests/check/gst/gstpipeline.c:
4383         * tests/check/libs/collectpads.c: (setup), (teardown),
4384         (gst_collect_pads_suite):
4385         * tests/examples/adapter/adapter_test.c:
4386         * tests/examples/metadata/read-metadata.c: (make_pipeline):
4387         * tests/examples/xml/createxml.c:
4388         * tests/examples/xml/runxml.c:
4389         * tools/gst-inspect.c:
4390         * tools/gst-run.c:
4391         Correct all relevant warnings found by the sparse semantic code
4392         analyzer. This include marking several symbols static, using
4393         NULL instead of 0 for pointers, not using variable sized arrays
4394         on the stack, moving variable declarations to the beginning of
4395         a block and using "foo (void)" instead of "foo ()" for declarations.
4396
4397 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4398
4399         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4400         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4401         Don't reset GstPollFDs, this is not necessary at all.
4402
4403         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4404         (delayed_restart), (delayed_control):
4405         Use GST_POLL_FD_INIT.
4406
4407 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4408
4409         * gst/gstpoll.c: (gst_poll_fd_init):
4410         * gst/gstpoll.h:
4411         Added Since tags.
4412
4413         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4414         Use some more init macros.
4415
4416 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4417
4418         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
4419         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4420         Use init macros and functions.
4421
4422 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4423
4424         * docs/gst/gstreamer-sections.txt:
4425         * gst/gstpoll.c: (gst_poll_fd_init):
4426         * gst/gstpoll.h:
4427         Add INIT macro and _init method for initializing the GstPollFD.
4428
4429 2008-02-28  Sebastian Dröge  <slomo@circular-chaos.org>
4430
4431         * plugins/elements/gstfdsink.c: (gst_fd_sink_start),
4432         (gst_fd_sink_update_fd):
4433         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4434         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4435         (delayed_restart), (delayed_control):
4436         Initialize some uninitialized variables as spotted by valgrind.
4437
4438 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
4439
4440         * tests/benchmarks/Makefile.am:
4441         * tests/benchmarks/gstpollstress.c: (mess_some_more), (run_test),
4442         (main):
4443         Add poll stress test.
4444
4445 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
4446
4447         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4448
4449         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
4450         (gst_fd_sink_start), (gst_fd_sink_stop), (gst_fd_sink_unlock),
4451         (gst_fd_sink_unlock_stop), (gst_fd_sink_update_fd):
4452         * plugins/elements/gstfdsink.h:
4453         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
4454         (gst_fd_src_start), (gst_fd_src_stop), (gst_fd_src_unlock),
4455         (gst_fd_src_unlock_stop), (gst_fd_src_create),
4456         (gst_fd_src_uri_set_uri):
4457         * plugins/elements/gstfdsrc.h:
4458         Port to GstPoll. See #505417.
4459
4460 2008-02-27  Jan Schmidt  <jan.schmidt@sun.com>
4461
4462         * win32/common/libgstreamer.def:
4463         Add new gst_poll_ symbols to win32 defs.
4464
4465 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4466
4467         * docs/libs/gstreamer-libs-sections.txt:
4468         * libs/gst/net/gstnetclientclock.c:
4469         (gst_net_client_clock_class_init), (gst_net_client_clock_init),
4470         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4471         (gst_net_client_clock_thread), (gst_net_client_clock_start),
4472         (gst_net_client_clock_stop), (gst_net_client_clock_new):
4473         * libs/gst/net/gstnetclientclock.h:
4474         * libs/gst/net/gstnettimeprovider.c:
4475         (gst_net_time_provider_class_init), (gst_net_time_provider_init),
4476         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4477         (gst_net_time_provider_start), (gst_net_time_provider_stop),
4478         (gst_net_time_provider_new):
4479         * libs/gst/net/gstnettimeprovider.h:
4480         Use a private stuct to not break ABI.
4481
4482 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4483
4484         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4485
4486         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_init),
4487         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4488         (gst_net_client_clock_thread), (gst_net_client_clock_start),
4489         (gst_net_client_clock_stop), (gst_net_client_clock_new):
4490         * libs/gst/net/gstnetclientclock.h:
4491         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_init),
4492         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4493         (gst_net_time_provider_start), (gst_net_time_provider_stop),
4494         (gst_net_time_provider_new):
4495         * libs/gst/net/gstnettimeprovider.h:
4496         Massive code removal and cleanups because of GstPoll.
4497         Fixes #505417.
4498
4499 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4500
4501         * configure.ac:
4502         Add checks for poll, ppoll and pselect.
4503
4504         * docs/gst/gstreamer-docs.sgml:
4505         * docs/gst/gstreamer-sections.txt:
4506         Add docs for GstPoll.
4507
4508         * gst/Makefile.am:
4509         * gst/gst.h:
4510         * gst/gstpoll.c: (find_index), (selectable_fds),
4511         (pollable_timeout), (choose_mode), (pollfd_to_fd_set),
4512         (fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
4513         (gst_poll_set_mode), (gst_poll_get_mode),
4514         (gst_poll_add_fd_unlocked), (gst_poll_add_fd),
4515         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
4516         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
4517         (gst_poll_fd_has_closed), (gst_poll_fd_has_error),
4518         (gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
4519         (gst_poll_fd_can_write), (gst_poll_wait),
4520         (gst_poll_set_controllable), (gst_poll_restart),
4521         (gst_poll_set_flushing):
4522         * gst/gstpoll.h:
4523         Add generic poll abstraction. We ideally don't want to have this in core
4524         here but in glib intead...
4525         This code will be used in various network elements and ultimately for
4526         the nanosecond precision monotonic clock (that's why it's here in core).
4527         It'll allow us to implement cancelable socket operations for windows too.
4528
4529         * tests/check/Makefile.am:
4530         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4531         (delayed_stop), (delayed_restart), (delayed_flush),
4532         (delayed_control), (gst_poll_suite):
4533         Add GstPoll unit test.
4534
4535 2008-02-25  Tim-Philipp Müller  <tim at centricular dot net>
4536
4537         * gst/gstfilter.c:
4538           Improve documentation of gst_filter_run(). Fixes #518627.
4539
4540 2008-02-23  Tim-Philipp Müller  <tim at centricular dot net>
4541
4542         * docs/README:
4543           Add a few lines about the new 'check-inspected-versions' target.
4544
4545 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
4546
4547         * tests/check/gst/gstevent.c:
4548           Add qos to the event test. Rename tcase/tsuite; is not only about
4549           custom events.
4550
4551 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
4552
4553         * plugins/elements/gstqueue.c:
4554           Ensure that buffer metadata is writeable, before modifying. Spotted by
4555           Mike.
4556
4557 2008-02-20  Stefan Kost  <ensonic@users.sf.net>
4558
4559         * plugins/elements/gstqueue.c:
4560         * plugins/elements/gstqueue.h:
4561           When dropping buffers in leaky modes, mark next buffers we sent as
4562           DISCONT.
4563
4564 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
4565
4566         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region):
4567           Also, if mmap() fails that would be a READ error, not OPEN_READ.
4568
4569 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
4570
4571         * plugins/elements/Makefile.am:
4572         * plugins/elements/gstbufferstore.c:
4573         * plugins/elements/gstbufferstore.h:
4574         * plugins/elements/gsttypefindelement.h:
4575           Remove GstBufferStore, no idea why we were still building it.
4576           It's not used anywhere and superseded by GstAdapter.
4577
4578         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4579           (gst_file_src_create_mmap):
4580         * plugins/indexers/gstfileindex.c: (gst_file_index_add_association):
4581           Printf format fixes for 64-bit integers.
4582
4583 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4584
4585         * configure.ac:
4586         Don't set GST_CACHE_DIR and allow to set it by a configure parameter.
4587         We're not in 0.8 times anymore.
4588
4589 2008-02-19  Jan Schmidt  <Jan.Schmidt@sun.com>
4590
4591         * libs/gst/check/gstcheck.c: (gst_check_drop_buffers),
4592         (gst_check_element_push_buffer_list):
4593         * libs/gst/check/gstcheck.h:
4594         Make the declaration in the header for
4595         gst_check_element_push_buffer_list match the implementation.
4596
4597         Fix up spelling, grammar and wording of the documentation in a few
4598         places, and add the Since keyword to new API functions.
4599         Use g_list_delete_link instead of g_list_remove in
4600         gst_check_drop_buffers, since it's immeasurably more efficient.
4601
4602         * tests/check/elements/fakesrc.c: (GST_START_TEST):
4603         Use new gst_check_drop_buffers function where appropriate.
4604
4605         * win32/common/libgstbase.def:
4606         * win32/common/libgstreamer.def:
4607         Add new symbols gst_collect_pads_take_buffer, 
4608         gst_collect_pads_read_buffer, gst_index_set_resolver_full to the
4609         exports
4610
4611         Changelog surgery to add API keyword to new gst_check API.
4612
4613 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4614
4615         * gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer),
4616         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra):
4617         Update pre-generated flex files with flex 2.3.34.
4618
4619 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4620
4621         * gst/gstminiobject.c:
4622           Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
4623           friendly to subclasses and not require them to know all internals
4624           of their parent class.
4625
4626 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
4627
4628         * docs/libs/gstreamer-libs-sections.txt:
4629         * libs/gst/base/gstcollectpads.c:
4630         * libs/gst/base/gstcollectpads.h:
4631           Add sub-buffer functions to collectpads. Fixes #516187.
4632           API: gst_collect_pads_take_buffer(), gst_collect_pads_read_buffer()
4633
4634 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
4635
4636         * gst/gstbuffer.c:
4637           Copy selected buffer-flags when creating subbuffers.
4638           Fixes #516395.
4639
4640 2008-02-12  Sebastian Dröge  <slomo@circular-chaos.org>
4641
4642         * gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
4643         * gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
4644         * gst/gstmessage.c: (gst_message_class_init),
4645         (gst_message_finalize):
4646         * gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
4647         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
4648         (gst_mmap_buffer_finalize):
4649         Properly chain up finalize functions to the parent class.
4650
4651 2008-02-11  Wim Taymans  <wim.taymans@collabora.co.uk>
4652
4653         Patch by: Siavash Safi <siavash dot safi at gmail dot com>
4654
4655         * gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
4656         (gst_index_set_resolver_full):
4657         * gst/gstindex.h:
4658         Add new function with option to dispose of user_data in resolver.
4659         Actually call the dispose function when finalizing the object and not
4660         just when changing the resolver/filter.
4661         API: GstIndex::gst_index_set_resolver_full()
4662
4663         * docs/gst/gstreamer-sections.txt:
4664         Add new function to docs. Fixes #515469.
4665
4666 2008-02-11  Sebastian Dröge  <slomo@circular-chaos.org>
4667
4668         * gst/gstindex.c: (gst_index_finalize):
4669         Chain up finalize to the parent class. Fixes leaking the GstObject
4670         name and other things.
4671
4672 2008-02-08  Jan Schmidt  <jan.schmidt@sun.com>
4673
4674         * configure.ac:
4675         Make DISABLE_DEPRECATED defined *only* during CVS, not during
4676         pre-releases or releases.
4677
4678         * docs/faq/gst-uninstalled:
4679         Add gst-plugins-gl
4680
4681         * docs/random/release:
4682         Change one of the steps - we only upload core & base to Gnome FTP
4683
4684 2008-02-06  Stefan Kost  <ensonic@users.sf.net>
4685
4686         * gst/gstconfig.h.in:
4687           Add 'id' for example.
4688
4689         * gst/gstpad.c:
4690         * gst/gstutils.c:
4691         * plugins/elements/gstfdsink.c:
4692           Link to signals. Doc and comment fixes.
4693
4694 2008-02-05  Tim-Philipp Müller  <tim at centricular dot net>
4695
4696         * gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
4697         * gst/gstpluginfeature.h: (GstPluginFeatureClass):
4698           Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
4699           unused and unimplemented; finally, it is plugin features, not
4700           plugins, that have ranks.
4701           
4702 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
4703
4704         * gst/gstpluginfeature.h:
4705           Clarify GstRank range docs.
4706
4707 2008-02-05  David Schleef  <ds@schleef.org>
4708
4709         * gst/gst.c: Add a separate gst_deinitialized that prevents
4710           gst_init() from being called after gst_deinit().  Fixes #509559
4711
4712 2008-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
4713
4714         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
4715         (gst_bin_class_init):
4716         * gst/gstelement.c: (gst_element_base_class_init),
4717         (gst_element_class_add_pad_template):
4718         * gst/gstpadtemplate.c: (gst_pad_template_init):
4719         * gst/gstpipeline.c: (gst_pipeline_get_type),
4720         (gst_pipeline_base_init), (gst_pipeline_class_init):
4721         * libs/gst/base/gstbasesink.c:
4722         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4723         (gst_base_src_base_init), (gst_base_src_class_init):
4724         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4725         (gst_capsfilter_class_init):
4726         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4727         (gst_fake_sink_class_init):
4728         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4729         (gst_fake_src_class_init):
4730         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4731         (gst_fd_sink_class_init):
4732         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4733         (gst_fd_src_class_init):
4734         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4735         (gst_file_sink_class_init):
4736         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4737         (gst_file_src_class_init):
4738         * plugins/elements/gstidentity.c: (gst_identity_base_init),
4739         (gst_identity_class_init):
4740         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4741         (gst_multi_queue_class_init):
4742         * plugins/elements/gstqueue.c: (gst_queue_base_init),
4743         (gst_queue_class_init):
4744         * plugins/elements/gsttee.c: (gst_tee_base_init),
4745         (gst_tee_class_init):
4746         * plugins/elements/gsttypefindelement.c:
4747         (gst_type_find_element_base_init),
4748         (gst_type_find_element_class_init):
4749         * tests/check/gst/gstelement.c: (gst_element_suite):
4750         Revert previous changes to the behaviour of GstPadTemplates, etc
4751         and the possiblity to call them in class_init as it breaks too
4752         many elements. Reopens bug #491501.
4753
4754         Should be applied again for 0.11, thus added a few FIXME 0.11 at
4755         several places.
4756
4757 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
4758
4759         * tools/gst-launch.c:
4760         Dump one graph per pipeline state-change and state change name
4761         (if GST_DEBUG_DUMP_DOT_DIR is set).
4762
4763 2008-02-04  Thijs Vermeir  <thijsvermeir@gmail.com>
4764
4765         * gst/gstpad.c:
4766         * tests/check/gst/gstpad.c:
4767         Be sure that we have a new copy of the caps and not
4768         reffed caps from a template
4769
4770 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
4771
4772         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
4773         * gst/gstpipeline.c: (gst_pipeline_get_type),
4774         (gst_pipeline_class_init):
4775         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
4776         (gst_base_sink_class_init):
4777         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4778         (gst_base_src_class_init):
4779         * libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
4780         (gst_base_transform_class_init):
4781         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4782         (gst_collect_pads_class_init):
4783         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
4784         * libs/gst/net/gstnettimeprovider.c:
4785         (gst_net_time_provider_base_init),
4786         (gst_net_time_provider_class_init):
4787         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4788         (gst_capsfilter_class_init):
4789         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4790         (gst_fake_sink_class_init):
4791         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4792         (gst_fake_src_class_init):
4793         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4794         (gst_fd_sink_class_init):
4795         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4796         (gst_fd_src_class_init):
4797         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4798         (gst_file_sink_class_init):
4799         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4800         (gst_file_src_class_init):
4801         * plugins/elements/gstidentity.c: (gst_identity_base_init),
4802         (gst_identity_class_init):
4803         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4804         (gst_multi_queue_class_init):
4805         * plugins/elements/gstqueue.c: (gst_queue_base_init),
4806         (gst_queue_class_init):
4807         * plugins/elements/gsttee.c: (gst_tee_base_init),
4808         (gst_tee_class_init):
4809         * plugins/elements/gsttypefindelement.c:
4810         (gst_type_find_element_base_init),
4811         (gst_type_find_element_class_init):
4812         Don't use base_init where not absolutely necessary. For example it's
4813         not necessary anymore for adding pad templates or setting element
4814         details.
4815
4816         Leave empty base_init functions in several places as GST_BOILERPLATE
4817         still defines and uses them.
4818
4819 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
4820
4821         * gst/gstelement.c: (gst_element_base_class_init),
4822         (gst_element_class_add_pad_template):
4823         * gst/gstpadtemplate.c:
4824         Make it possible (and recommended) to set element details and add
4825         pad templates in the class_init functions by copying the details/pad
4826         templates in GstElement's base_init.
4827
4828         Also make it possible to replace existing pad templates by adding
4829         a new one with the same name. This was done in a hackish fashion
4830         in same elements before already.
4831
4832         Don't reference pad templates that are added a second time. A
4833         new pad template has a refcount of one and is not floating anymore
4834         and to be owned by the element's class. Make this more explicit by
4835         mentioning it in the docs of gst_element_class_add_pad_template().
4836
4837         These changes are backwards compatible. Fixes bug #491501.
4838
4839         * tests/check/gst/gstelement.c:
4840         Add unit test for setting element details, adding pad templates and
4841         replacing them in a subclass.
4842
4843 2008-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
4844
4845         * tools/gst-inspect.c: (print_interfaces),
4846         (print_element_properties_info), (print_pad_info),
4847         (print_signal_info), (print_element_info):
4848         Fix a few memory leaks.
4849
4850 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
4851
4852         * docs/libs/gstreamer-libs-sections.txt:
4853         * libs/gst/check/gstcheck.c:
4854         * libs/gst/check/gstcheck.h:
4855         Add more functions for unit testing: gst_check_drop_buffers,
4856         gst_check_caps_equal, gst_check_element_push_buffer_list,
4857         gst_check_element_push_buffer
4858         API: gst_check_drop_buffers
4859         API: gst_check_caps_equal
4860         API: gst_check_element_push_buffer_list
4861         API: gst_check_element_push_buffer
4862
4863 2008-02-01  Julien Moutte  <julien@fluendo.com>
4864
4865         * docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
4866         * gst/gstindex.c: (gst_index_class_init), (gst_index_free_writer),
4867         (gst_index_finalize), (gst_index_entry_free),
4868         (gst_index_add_association): Fix memory leaks.
4869         * gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
4870         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
4871         (gst_mem_index_free_format), (gst_mem_index_free_id),
4872         (gst_mem_index_finalize): Fix memory leaks.
4873         * win32/common/config.h: Updated to CVS HEAD.
4874
4875 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
4876
4877         * docs/README:
4878           Some more details about how the plugin docs works.
4879
4880         * docs/plugins/gstreamer-plugins-sections.txt:
4881           Whitespace cleanup.
4882
4883 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
4884
4885         * gst/parse/grammar.tab.pre.c:
4886         * gst/parse/grammar.tab.pre.h:
4887         * gst/parse/grammar.y:
4888         * gst/parse/lex._gst_parse_yy.pre.c:
4889           Add delayed set-property. This allows to set properties on dynamicaly
4890           created objects (pads in videomxer). Fixes #509391.
4891
4892 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
4893
4894         * gst/gstutils.c:
4895         Check if caps are not NULL (fix bug #510194)
4896
4897 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
4898
4899         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop),
4900         (gst_base_sink_get_position_paused):
4901         Add fixme regarding EOS in pull mode.
4902         Fix position reporting in PAUSED for negative rates.
4903
4904 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
4905
4906         * gst/gstminiobject.c: (gst_mini_object_replace):
4907         When replacing a miniobject, do a quick equality check first so that we
4908         can avoid a ref/unref pair.
4909
4910 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
4911
4912         * docs/design/part-synchronisation.txt:
4913         Update some docs.
4914
4915         * docs/plugins/Makefile.am:
4916         * docs/plugins/gstreamer-plugins-docs.sgml:
4917         * docs/plugins/gstreamer-plugins-sections.txt:
4918         * plugins/elements/gstmultiqueue.c:
4919         Add multiqueue to the docs.
4920
4921 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4922
4923         * configure.ac:
4924           Back to CVS
4925
4926 === release 0.10.17 ===
4927
4928 2008-01-30  Jan Schmidt <jan.schmidt@sun.com>
4929
4930         * configure.ac:
4931           releasing 0.10.17, "Due Negligence"
4932
4933 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4934
4935         * gst/gstutils.c:
4936         Revert caps != NULL check temporarily for 0.10.17 release.
4937
4938 2008-01-30  Thijs Vermeir  <thijsvermeir@gmail.com>
4939
4940         * gst/gstutils.c:
4941         Check if caps are not NULL (fix bug #510194)
4942
4943 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4944
4945         * gst/gstutils.c:
4946         Fix compilation on systems that have posix timers but no
4947         monotonic clock.
4948         Fixes: #512715
4949         Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
4950         dot net>
4951
4952 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4953
4954         * tools/gst-inspect.c:
4955         Revert previous commit in preparation for an impromptu 0.10.17 release
4956
4957 2008-01-29  Sebastian Dröge  <slomo@circular-chaos.org>
4958
4959         * tools/gst-inspect.c: (print_interfaces),
4960         (print_element_properties_info), (print_pad_info),
4961         (print_signal_info), (print_element_info):
4962         Fix a few memory leaks.
4963
4964 2008-01-28  Jan Schmidt  <jan.schmidt@sun.com>
4965
4966         * configure.ac:
4967         Back to CVS
4968
4969 === release 0.10.16 ===
4970
4971 2008-01-28  Jan Schmidt <thaytan@noraisin.net>
4972
4973         * configure.ac:
4974           releasing 0.10.16, "Special Dispensation"
4975
4976 2008-01-24  Tim-Philipp Müller  <tim at centricular dot net>
4977
4978         * configure.ac:
4979           Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for
4980           _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes configure
4981           not fail when trying to crosscompile on OpenEmbedded (#511750).
4982
4983 2008-01-20  Sebastian Dröge  <slomo@circular-chaos.org>
4984
4985         * docs/manuals.mak:
4986         Use $(MAKE) instead of make to fix the build if GNU make is
4987         called different. Fixes bug #510747.
4988
4989 2008-01-20  Tim-Philipp Müller  <tim at centricular dot net>
4990
4991         * gst/gstplugin.c: (_gst_plugin_initialize):
4992           Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
4993           again, which I broke two commits ago when changing the API
4994           of gst_plugin_register_static(): the g_list_foreach() in
4995           _gst_plugin_register_static still assumed the old function
4996           signature and would therefore fail (re-fixes #510187).
4997
4998         * gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
4999           (_gst_plugin_register_static), (gst_plugin_register_static):
5000           Revert the (technically correct) change to call g_thread_init() from
5001           the pre-main() constructor. This will break programs which call
5002           g_thread_init() without an if (!g_thread_supported()) guard in their
5003           main function. We could just blame it on GLib or the application, but
5004           it's probably best to just avoid this altogether and simply not use
5005           any GLib functions here and use plain old malloc() with a simple
5006           array to store the plugins to register later when gst_init() is
5007           finally called (re-fixes #510187).
5008
5009         * tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
5010           (GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
5011           (plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
5012           (GST_START_TEST), (gst_plugin_suite):
5013           Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
5014           works.
5015
5016 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
5017
5018         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
5019           Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
5020           This makes gtk-doc complain, but results in slightly better
5021           compiler errors. The old _gst_plugin_register_static() is
5022           still guarded, so there'll be a compiler warning about that
5023           instead. Fixes #510187 too.
5024
5025 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
5026
5027         * gst/gst.c: (init_post):
5028         * gst/gstplugin.c: (_gst_plugin_register_static),
5029           (gst_plugin_register_static), (_gst_plugin_initialize):
5030         * gst/gstplugin.h: (GstPluginFilter):
5031           Change API of gst_plugin_register_static() to not take
5032           a GstPluginDesc, but rather just take all the arguments
5033           in a GstPluginDesc directly. This is more intuitive and
5034           avoids certain mistakes when porting code from
5035           GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
5036           Fixes #510187.
5037
5038         * tests/check/gst/gstplugin.c:
5039           Fix up for changed API.
5040
5041 2008-01-17  Thomas Vander Stichele  <thomas at apestaart dot org>
5042
5043         * docs/faq/legal.xml:
5044           Update FAQ, Totem actually has an exception these days.
5045
5046 2008-01-14  Jan Schmidt  <jan.schmidt@sun.com>
5047
5048         * win32/common/libgstreamer.def:
5049         Add new API declarations
5050
5051 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
5052
5053         * gst/gstminiobject.c:
5054           Spelling fixes for the API docs.
5055
5056 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
5057
5058         * libs/gst/base/gstbasetransform.c:
5059           Fix long property description for QoS.
5060
5061 2008-01-12  Jan Schmidt  <Jan.Schmidt@sun.com>
5062
5063         * gst/gst.c:
5064         _gst_trace_on is already provided by gsttrace.h, no need to declare
5065         it ourselves.
5066
5067         * docs/libs/gstreamer-libs-sections.txt:
5068         Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
5069         and remove strange tcase_add_test which is outputting a warning.
5070
5071         * libs/gst/check/gstcheck.c:
5072         * libs/gst/check/gstcheck.h:
5073         Properly declare 'buffers', 'check_cond', 'check_mutex' extern
5074         and define them in gstcheck.c instead of having every .c file whcih
5075         includes gstcheck.h be defining its own copy and relying on symbol
5076         interposing to marry them all, which doesn't work on Solaris.
5077
5078         * tests/check/elements/identity.c: (GST_START_TEST):
5079         Don't define 'buffers' locally, it comes from libgstcheck.
5080
5081         * tests/check/generic/sinks.c: (send_buffer):
5082         Fix type of variable (GstFlowReturn, not GstStateChangeReturn)
5083
5084         * tests/check/gst/gststructure.c: (GST_START_TEST):
5085         * tests/check/gst/gstsystemclock.c: (GST_START_TEST):
5086         * tests/check/gst/gstutils.c: (GST_START_TEST):
5087         * tests/check/gst/gstvalue.c: (GST_START_TEST):
5088         Add a bunch of casts to make various constants fit the types
5089         they're being assigned to.
5090
5091 2008-01-10  Stefan Kost  <ensonic@users.sf.net>
5092
5093         * gst/gstchildproxy.c:
5094           Improve docs and add some ideas for making this more general-purpose.
5095
5096 2008-01-10  Tim-Philipp Müller  <tim at centricular dot net>
5097
5098         * gst/gst_private.h: (GST_CAT_TYPES):
5099           Add GST_CAT_TYPES, for consistency, and so that the other
5100           debug categories don't make fun of it. Spotted by Saur on IRC.
5101
5102 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
5103
5104         * gst/parse/Makefile.am:
5105           Move types.h from EXTRA_DIST to noinst_HEADERS.
5106
5107 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
5108
5109         * autogen.sh:
5110           Add -Wno-portability to the automake parameters to stop warnings
5111           about GNU make extensions being used. We require GNU make in almost
5112           every Makefile anyway.
5113
5114         * configure.ac:
5115           Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
5116           at the same time is required for per target flags.
5117
5118 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5119
5120         * gst/gstmacros.h:
5121           Include glib/gmacros.h for G_BEGIN_DECLS. Check if
5122           __GNUC__ is defined before using it.
5123
5124 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5125
5126         * docs/gst/gstreamer-sections.txt:
5127         * gst/gst.c: (init_post):
5128         * gst/gstplugin.c: (_gst_plugin_register_static),
5129           (gst_plugin_register_static), (_gst_plugin_initialize),
5130           (gst_plugin_register_func):
5131         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
5132           API: add gst_plugin_register_static() and deprecate
5133           GST_PLUGIN_DEFINE_STATIC, since it's not portable
5134           (#498924).
5135           Also, in _gst_plugin_register_static(), make sure to call
5136           g_thread_init() before calling GLib functions such as
5137           g_list_append() if we're not initialised yet, since that
5138           may lead to random crashes with older GSlice/GLib versions.
5139
5140         * tests/check/gst/gstplugin.c:
5141           Adapt unit test to above changes.
5142
5143 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5144
5145         * gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
5146         * gst/gstcaps.c: (gst_caps_to_string):
5147         * gst/gststructure.c: (GST_ASCII_IS_STRING),
5148           (priv_gst_structure_append_to_gstring), (gst_structure_to_string):
5149           Yet another gratuitous GString micro-optimisation: add a (private)
5150           function that serialises a structure appending to an existing
5151           GString, so that when we serialise caps we don't need to alloc+free
5152           a throwaway GString for each structure (each of which also entailing
5153           multiple reallocs on the way); also use g_string_sized_new() in
5154           various places with an approximate string length to avoid reallocs
5155           within GString. See #500143.
5156
5157 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5158
5159         * gst/gststructure.c: (gst_structure_id_set_value):
5160           Always check UTF-8 conformance of structure strings and not only
5161           if the debugging system is enabled; reasoning: the behaviour of
5162           the actual code shouldn't really change depending on whether the
5163           debugging system is enabled or not (#508291).
5164
5165 2008-01-09  Stefan Kost  <ensonic@users.sf.net>
5166
5167         * Makefile.am:
5168           Remove old coverage target in favour of "make lcov".
5169
5170 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
5171
5172         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
5173         (gst_base_src_loop):
5174         The start segment for reverse playback goes from start to last_stop.
5175
5176 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
5177
5178         Patch by: Peter Kjellerstedt <pkj axis com>
5179
5180         * gst/gstclock.h:
5181         Cast the results from the timeval/spec_to_time macros to what the
5182         docs say it casts to, a GstClockTime. fixes #508175.
5183
5184 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
5185
5186         * gst/gstbuffer.c:
5187         Update some comments.
5188
5189         * tools/gst-inspect.c: (print_element_properties_info):
5190         Improve printing of flags.
5191
5192 2008-01-08  Tim-Philipp Müller  <tim at centricular dot net>
5193
5194         * libs/gst/base/gstbasetransform.c:
5195           (gst_base_transform_transform_size):
5196           Print element name with g_warning() if there's a problem
5197           with the unit size.
5198
5199 2008-01-07  David Schleef  <ds@schleef.org>
5200
5201         Patch by: Damien Lespiau <damien.lespiau@gmail.com>
5202
5203         * libs/gst/controller/gstcontroller.h:
5204         * libs/gst/controller/gstcontrolsource.h:
5205         * libs/gst/controller/gstinterpolationcontrolsource.h:
5206         * libs/gst/controller/gstlfocontrolsource.h:
5207         * libs/gst/dataprotocol/dataprotocol.h:
5208           Fix empty prototypes.  Fixes bug #507957.
5209
5210 2008-01-07  David Schleef  <ds@schleef.org>
5211
5212         * docs/faq/dependencies.xml: Fix typo.
5213
5214 2008-01-07  Wim Taymans  <wim.taymans@collabora.co.uk>
5215
5216         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek),
5217         (gst_base_src_loop):
5218         Don't update the last_stop position in do_seek, that's the position we
5219         did a seek to.
5220         Read backwards when we have a negative rate.
5221
5222         * tests/check/elements/filesrc.c: (event_func), (wait_eos),
5223         (setup_filesrc), (cleanup_filesrc), (GST_START_TEST),
5224         (filesrc_suite):
5225         Add check for reverse reading.
5226
5227 2008-01-07  Tim-Philipp Müller  <tim at centricular dot net>
5228
5229         Patch by: Alexis Ballier <aballier at gentoo org>
5230
5231         * tests/check/gst/gstabi.c:
5232         * tests/check/gst/struct_ppc64.h:
5233         * tests/check/libs/libsabi.c:
5234         * tests/check/libs/struct_ppc64.h:
5235           Decide which header to include based on the userland ABI target
5236           and not the kernel/cpu. Fix up structure sizes of ppc64 header
5237           for 64-bit userland (#503590).  Might need something similar for
5238           x86 too.
5239
5240 2008-01-05  Tim-Philipp Müller  <tim at centricular dot net>
5241
5242         * gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
5243           Log the reason why fopen fails in addition to the fact that it failed.
5244           
5245 2008-01-04  Sebastian Dröge  <slomo@circular-chaos.org>
5246
5247         * gst/parse/parse.l:
5248         Use "%option never-interactive" to prevent useless calls to isatty()
5249         on every input when parsing. Also use "%option noinput" to not define
5250         the static input/yyinput functions which we don't use anyway. This
5251         removes a compiler warning with gcc 4.3 and saves some bytes in the
5252         library.
5253         
5254         * gst/parse/lex._gst_parse_yy.pre.c:
5255         Regenerated for the above change.
5256
5257 2008-01-04  Wim Taymans  <wim.taymans@collabora.co.uk>
5258
5259         * gst/gstpad.c: (fixate_value):
5260         Don't crash when trying to fixate and empty list.
5261         Fixes #506643.
5262
5263 2008-01-03  Sebastian Dröge  <slomo@circular-chaos.org>
5264
5265         * docs/faq/gst-uninstalled:
5266         Clarify the comments to make the usage of this script and what it
5267         does easier to understand.
5268
5269 2008-01-01  Thijs Vermeir  <thijsvermeir@gmail.com>
5270
5271         * tools/gst-plot-timeline.py:
5272         Add more options to gst-plot-timeline
5273
5274 2007-12-31  Wim Taymans  <wim.taymans@collabora.co.uk>
5275
5276         * docs/design/part-synchronisation.txt:
5277         Some more info on how the stream_time in GstBaseSink is done.
5278
5279 2007-12-30  Tim-Philipp Müller  <tim at centricular dot net>
5280
5281         * tests/check/generic/sinks.c: (gst_sinks_suite):
5282           Put back the tcase_set_timeout(), apparently it's needed after
5283           all; fix it up in a way that makes things work with valgrind too.
5284
5285 2007-12-30  Thijs Vermeir  <thijsvermeir@gmail.com>
5286
5287         * gst/gstdebugutils.c:
5288           Add warning when failed to open file for writing.
5289
5290 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
5291
5292         Based on patch by: Laurent Glayal  <spglegle yahoo fr>
5293
5294         * gst/gstvalue.c: (gst_value_is_fixed):
5295           Optimisation: bail out of the loop as early as possible (#500143).
5296
5297 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
5298
5299         * gst/gstcaps.c: (gst_caps_to_string):
5300         * gst/gstinfo.c: (gst_debug_construct_term_color):
5301         * gst/gstparse.c: (gst_parse_launchv):
5302         * gst/gstutils.c: (gst_util_dump_mem):
5303         * gst/gstvalue.c: (gst_value_serialize_any_list),
5304           (gst_value_transform_any_list_string):
5305           Bunch of gratuitous nano-optimisations.
5306
5307 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
5308
5309         * tests/check/generic/sinks.c: (async_done_func),
5310           (async_done_eos_func):
5311           Fix leak in unit test (bus sync handler must unref the message
5312           if it returns GST_BUS_DROP). Don't fiddle with the default test
5313           timeout, this is smaller than the current preconfigured value
5314           via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
5315           because it overrides the value specified in CK_DEFAULT_TIMEOUT.
5316
5317 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
5318
5319         Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5320
5321         * configure.ac:
5322         Check for stdio_ext.h for the filesink changes.
5323
5324         * plugins/elements/gstfilesink.c: (buffer_mode_get_type),
5325         (gst_file_sink_class_init), (gst_file_sink_init),
5326         (gst_file_sink_dispose), (gst_file_sink_set_property),
5327         (gst_file_sink_get_property), (gst_file_sink_open_file),
5328         (gst_file_sink_close_file):
5329         * plugins/elements/gstfilesink.h:
5330         Add two properties to control the buffering mode and size.
5331         API: GstFileSink::buffer-mode
5332         API: GstFileSink::buffer-size
5333         Fixes #500150.
5334
5335 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
5336
5337         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
5338         Add some more docs to explain why a FIXME was wrongly added. 
5339
5340 2007-12-22  Sebastian Dröge  <slomo@circular-chaos.org>
5341
5342         * gst/gstobject.c:
5343           Fix typo in the gst_object_{ref,unref} documentation.
5344
5345 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
5346
5347         * tests/check/libs/controller.c:
5348         * tests/check/libs/typefindhelper.c:
5349         * tests/check/pipelines/parse-launch.c:
5350           Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
5351           going to be deprecated (see #498924).
5352
5353 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
5354
5355         * gst/gsttypefind.c: (gst_type_find_register):
5356           Make gst_type_find_register work for static typefind functions,
5357           ie. allow passing plugin == NULL (prerequisite for #498924).
5358
5359         * gst/gstelementfactory.c: (gst_element_register):
5360           Small docs addition.
5361
5362 2007-12-21  Wim Taymans  <wim.taymans@collabora.co.uk>
5363
5364         * gst/gstpad.c: (gst_pad_dispose):
5365         Really unlink the peer pad instead of setting the peer pointer to NULL
5366         when we dispose the pad.
5367         This correctly calls the unlink functions and makes sure that the peer
5368         does not have a handle to invalid memory. See #504671.
5369
5370         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
5371         Add testsuite for above case.
5372
5373 2007-12-20  Tim-Philipp Müller  <tim at centricular dot net>
5374
5375         Patch by: Peter Kjellerstedt <pkj axis com>
5376
5377         * libs/gst/check/gstcheck.h:
5378           Fix detection of the check version we're compiling against (would
5379           otherwise break if check goes v0.10.0); correctly report the
5380           name of the failed test again in case of failure, instead of
5381           just 'tf' (fixes #504499).
5382
5383 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
5384
5385         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
5386         (gst_base_src_get_range), (gst_base_src_pad_get_range),
5387         (gst_base_src_loop), (gst_base_src_set_flushing),
5388         (gst_base_src_change_state):
5389         Allow sending EOS to the source to make it send out an EOS event from
5390         the streaming thread.
5391         Update docs and deprecate the old NULL/READY shutdown method.
5392
5393         * tests/check/libs/basesrc.c: (GST_START_TEST),
5394         (gst_basesrc_suite):
5395         Add unit test for controlled shutdown.
5396
5397 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
5398
5399         * docs/design/part-synchronisation.txt:
5400         Small updates.
5401
5402         * gst/gstsegment.c: (gst_segment_set_seek),
5403         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
5404         (gst_segment_to_running_time):
5405         The seek format can be different from the segment format when the start
5406         and stop values are not to be updated, when we only do a rate change for
5407         example.
5408
5409         * tests/check/gst/gstsegment.c: (GST_START_TEST),
5410         (gst_segment_suite):
5411         Add a testcase for the rate-only seeks, checking that the format is
5412         correctly ignored when start and stop are not updated.
5413
5414 2007-12-18  Sebastian Dröge  <slomo@circular-chaos.org>
5415
5416         Patch by: Matthias Bolte <photon at mail dot upb dot de>
5417
5418         * win32/vs8/grammar.vcproj:
5419         * win32/vs8/libgstcontroller.vcproj:
5420         * win32/vs8/libgstreamer.vcproj:
5421         Fix compilation with VS8 and include some missing files.
5422
5423 2007-12-18  Tim-Philipp Müller  <tim at centricular dot net>
5424
5425         * gst/gsttaglist.c:
5426           Small docs addition: mention that the strings returned by
5427           gst_tag_list_get_string*() are in UTF-8 encoding.
5428
5429 2007-12-17  Tim-Philipp Müller  <tim at centricular dot net>
5430
5431         * Makefile.am:
5432           The check-exports stuff moved to common/win32.mak, so include that.
5433
5434 2007-12-17  Wim Taymans  <wim.taymans@collabora.co.uk>
5435
5436         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
5437         (gst_base_src_perform_seek), (gst_base_src_get_range),
5438         (gst_base_src_set_playing), (gst_base_src_change_state):
5439         Make _wait_playing() not check any variables so that we can call this
5440         function from subclasses. Move the checks elsewhere similar to
5441         _wait_preroll() in basesink.
5442         Add some debugging.
5443         Only signal the LIVE cond when we are going back to PLAYING.
5444
5445 2007-12-16  Tim-Philipp Müller  <tim at centricular dot net>
5446
5447         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
5448           Use g_remove() and g_rename(). Check result of g_rename(), and
5449           don't leak the open file descriptor if we error out when writing.
5450
5451         * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
5452           Must check the return value of close() after writing out the new
5453           registry file.  Sometimes write problems such as out-of-diskspace
5454           are only reported when the file is closed and not already during
5455           the write.  This may have caused partial/broken registry files in
5456           some rare circumstances. Should fix #503675.
5457
5458 2007-12-16  Edward Hervey  <edward.hervey@collabora.co.uk>
5459
5460         * docs/gst/.cvsignore:
5461         * docs/libs/.cvsignore:
5462         * docs/plugins/.cvsignore:
5463         Ignore files generated by new common/* modifications
5464
5465 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5466
5467         * win32/common/libgstbase.def:
5468           Yes, you can also have a <TAB> if you want.
5469
5470 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5471
5472         * win32/common/libgstbase.def:
5473           Add new basetransform API to win export file.
5474
5475 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5476
5477         * tests/check/gst/gstbin.c:
5478           Adjust the test to the refcount change two days ago.
5479
5480 2007-12-14  David Schleef  <ds@schleef.org>
5481
5482         * docs/faq/getting.xml: Fix typo.
5483
5484 2007-12-14  Sebastian Dröge  <slomo@circular-chaos.org>
5485
5486         * docs/libs/gstreamer-libs-sections.txt:
5487         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
5488           (gst_base_transform_prepare_output_buffer),
5489           (gst_base_transform_set_gap_aware):
5490         * libs/gst/base/gstbasetransform.h:
5491           API: Add gst_base_transform_set_gap_aware() to control whether
5492           the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
5493           get buffers with this flag at all. Fixes #503231.
5494
5495 2007-12-13  Stefan Kost  <ensonic@users.sf.net>
5496
5497         * libs/gst/base/gstbasesink.c:
5498         * libs/gst/base/gstbasesrc.c:
5499         * libs/gst/base/gstbasetransform.c:
5500           Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
5501           thread. Correct log message in gstbasesrc.c.
5502
5503 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
5504
5505         * gst/gstutils.c: (element_find_unconnected_pad):
5506           Fix possible compiler warning (#503417).
5507
5508 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
5509
5510         * gst/gstobject.c: (gst_object_dispatch_properties_changed):
5511           Don't use GST_CAT_EVENT here for logging, it makes no sense.
5512
5513 2007-12-13  Sebastian Dröge  <slomo@circular-chaos.org>
5514
5515         * tools/gst-inspect.c: (print_element_properties_info):
5516           Add support for GstFraction properties.
5517
5518 2007-12-12  Tim-Philipp Müller  <tim at centricular dot net>
5519
5520         * Makefile.am:
5521           Add check-exports target and run it as part of 'make check'
5522           (see #499140 and #493983).
5523
5524         * gst/gst_private.h:
5525         * gst/gstelementfactory.h:
5526         * gst/gstghostpad.c: (gst_proxy_pad_class_init):
5527         * gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
5528           (_priv_gst_in_valgrind):
5529         * gst/gstinfo.h: (GstLogFunction):
5530         * gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
5531           (gst_type_find_register):
5532         * gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
5533           (gst_type_find_factory_get_type):
5534         * libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
5535           (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
5536           (gst_controller_new_valist), (gst_controller_new_list),
5537           (_gst_controller_dispose), (_gst_controller_class_init):
5538         * libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
5539         * libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
5540           (GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
5541           (gst_object_get_controller), (gst_object_set_controller),
5542           (gst_object_suggest_next_sync), (gst_object_sync_values),
5543           (gst_object_set_control_source), (gst_object_get_control_source),
5544           (gst_object_get_value_arrays), (gst_object_get_value_array),
5545           (gst_object_get_control_rate), (gst_object_set_control_rate):
5546         * libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
5547         * libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
5548           Make some functions that should be static static; rename some
5549           private symbols so that they don't get exported; add some FIXME
5550           comments so we can move accidentally exported functions into
5551           our private section in 0.11.
5552
5553         * win32/common/libgstreamer.def:
5554           Add gst_utils_get_timestamp().
5555
5556 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
5557
5558         * gst/gstvalue.c:
5559         * gst/gstvalue.h:
5560           Add more missing "Since:" tags to docs.
5561
5562 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
5563
5564         * gst/gstutils.c:
5565           Add mising "Since:" to docs.
5566
5567 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5568
5569         * gst/gstplugin.c:
5570           Include "glib-compat-private.h" to fix the build on system with
5571           glib < 2.10. Fixes #503131.
5572
5573 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5574
5575         * gst/gstutils.c:
5576         * gst/gstutils.h:
5577           Actually its not PURE as it gets the time from elsewhere.
5578
5579 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5580
5581         * docs/gst/gstreamer-sections.txt:
5582         * gst/gstclock.h:
5583         * gst/gstdebugutils.c:
5584         * gst/gstinfo.c:
5585         * gst/gstutils.c:
5586         * gst/gstutils.h:
5587         * libs/gst/base/gstbasesink.c:
5588         * tools/gst-launch.c:
5589           Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
5590           uses as we don't have HAVE_POSIX_TIMERS in public headers.
5591           Thanks Tim for spotting.
5592           API: gst_util_get_timestamp
5593
5594 2007-12-09  Sebastian Dröge  <slomo@circular-chaos.org>
5595
5596         * configure.ac:
5597           Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.
5598
5599 2007-12-08  Tim-Philipp Müller  <tim at centricular dot net>
5600
5601         * gst/gststructure.c: (gst_structure_validate_name),
5602           (gst_structure_new_valist), (gst_structure_parse_value),
5603           (gst_structure_from_string):
5604           Don't crash in _from_string() if the structure name is not valid
5605           (fixes #501560).  Allow structure names to start with a number
5606           again (this apparently broke the ubuntu codec installer).
5607
5608         * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
5609           (GST_START_TEST):
5610           Add unit test for the crash; update unit tests for new behaviour.
5611
5612 2007-12-03  Wim Taymans  <wim.taymans@gmail.com>
5613
5614         * gst/gstutils.c:
5615         Clarify gst_element_get_compatible_pad() documentation.
5616         Fixes #500919.
5617
5618 2007-12-02  Sebastian Dröge  <slomo@circular-chaos.org>
5619
5620         * tests/check/Makefile.am:
5621           Don't forget to dist {gst,libs}/struct_hppa.h.
5622
5623 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5624
5625         * libs/gst/base/gstbasesink.c:
5626           Use new API to get elapsed time.
5627
5628 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5629
5630         * gst/gstdebugutils.c:
5631         * gst/gstinfo.c:
5632           Fix wrong order of args in GST_CLOCK_DIFF() usage.
5633
5634         * tools/gst-launch.c:
5635           Use new API to get elapsed time.
5636
5637 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5638
5639         * docs/gst/gstreamer-sections.txt:
5640         * gst/gstclock.h:
5641         * gst/gstdebugutils.c:
5642         * gst/gstinfo.c:
5643           Rename new API + ChangeLog surgery to remove old name from last entry..
5644
5645 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5646
5647         * docs/gst/gstreamer-sections.txt:
5648         * gst/gstclock.h:
5649         * gst/gstdebugutils.c:
5650         * gst/gstinfo.c:
5651           Now hide the different clock stuff behind a macro.
5652
5653 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5654
5655         * configure.ac:
5656         * gst/gstdebugutils.c:
5657         * gst/gstinfo.c:
5658           Apply the posix-timer check from #361155. Conditionally use the posix
5659           timer for logging. This gives better timestamp precission, less
5660           overhead and no ntp jitter.
5661
5662 2007-11-28  Sebastian Dröge  <slomo@circular-chaos.org>
5663
5664         * gst/gstminiobject.c: (gst_mini_object_get_type),
5665         (gst_mini_object_class_init), (gst_mini_object_copy_default),
5666         (gst_mini_object_finalize), (gst_mini_object_copy),
5667         (gst_mini_object_is_writable), (gst_mini_object_make_writable),
5668         (gst_mini_object_replace), (param_mini_object_validate),
5669         (gst_param_spec_mini_object_get_type):
5670         Some cleanup and checking against invalid function parameters.
5671
5672 2007-11-28  Wim Taymans  <wim.taymans@gmail.com>
5673
5674         * docs/gst/gstreamer-sections.txt:
5675         * gst/gstclock.h:
5676         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
5677         (gst_systemclock_suite):
5678         Start merging in the easy bits of #361155, the monotonic clock patch.
5679         This one adds a few handy macros with docs and a testsuite.
5680
5681 2007-11-27  Wim Taymans  <wim.taymans@gmail.com>
5682
5683         * plugins/elements/gstfilesink.c: (gst_file_sink_event):
5684         Be a bit smarter when seeking, like, don't try to do a seek when it's
5685         not needed. This avoids errors when the file is not seekable.
5686         Fixes #499771.
5687
5688 2007-11-26  Stefan Kost  <ensonic@users.sf.net>
5689
5690         * docs/gst/gstreamer-docs.sgml:
5691         * docs/gst/gstreamer-sections.txt:
5692         * docs/gst/gstreamer.types.in:
5693         * gst/Makefile.am:
5694         * gst/gst.h:
5695         * gst/gstpreset.c:
5696         * gst/gstpreset.h:
5697         * plugins/elements/gstqueue.c:
5698           Due to popular request remove preset interface again. :-(.
5699
5700 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5701
5702         * tools/gst-inspect.c:
5703           Print 'default value' for enums and flags too.
5704
5705 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5706
5707         * docs/random/ensonic/profiling.txt:
5708           More ideas.
5709
5710         * gst/gstbin.c:
5711           Fix typo and give better log output.
5712
5713         * gst/gstdebugutils.c:
5714         * gst/gstdebugutils.h:
5715           More ideas, make graphs a bit smaller and fix param name in macro.
5716
5717 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5718
5719         * gst/gstpreset.c:
5720           Try harder to use the return value from fgets().
5721
5722 2007-11-21  Stefan Kost  <ensonic@users.sf.net>
5723
5724         * gst/gstpreset.c:
5725           For theses two fgets we handle the error below.
5726
5727 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
5728
5729         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
5730         Only send upstream events upstream. Fixes #498746.
5731
5732 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
5733
5734         Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5735
5736         * plugins/elements/gstidentity.c: (gst_identity_class_init),
5737         (gst_identity_init), (gst_identity_transform_ip),
5738         (gst_identity_set_property), (gst_identity_get_property):
5739         * plugins/elements/gstidentity.h:
5740         Add property to disable handoff signal emission. Fixes #498694.
5741         API: GstIdentity::signal-handoffs
5742
5743 2007-11-21  Julien Moutte  <julien@fluendo.com>
5744
5745         * docs/faq/gst-uninstalled: Yet another missing library for the
5746         uninstalled script (fft)
5747
5748 2007-11-21  Jan Schmidt  <jan.schmidt@sun.com>
5749
5750         * docs/faq/developing.xml:
5751         Add a question about how to submit new translations.
5752
5753         * docs/random/release:
5754         Update the contact email address for the Translation Project
5755
5756         * plugins/elements/gstfdsrc.c:
5757         The parent_class for fdsrc is pushsrc, not GstElement.
5758
5759 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
5760
5761         * gst/gstpreset.c:
5762           Plug a leak and fix saving.
5763
5764 2007-11-20  Sebastian Dröge  <slomo@circular-chaos.org>
5765
5766         * docs/gst/gstreamer-sections.txt:
5767         Add new gst_preset__get_property_names() function to the docs
5768         to fix the build.
5769
5770 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
5771
5772         * gst/gstpreset.c:
5773         * gst/gstpreset.h:
5774           Change _get_preset_names API to return a strv with copies. Add
5775           _get_property_names to allow implementations to filter and provide
5776           good default implementation.
5777
5778 2007-11-20  Julien MOUTTE  <julien@moutte.net>
5779
5780         * docs/faq/gst-uninstalled: Add another library to the uninstalled
5781         script (sdp).
5782
5783 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
5784
5785         * gst/gstpreset.c:
5786           More cleanups, docs, and TODOs from comments that now slowly come in.
5787
5788 2007-11-19  Julien MOUTTE  <julien@moutte.net>
5789
5790         * docs/faq/gst-uninstalled: Add new base libraries in the LD 
5791         search path.
5792
5793 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
5794
5795         * gst/gstpreset.c:
5796           Fix bogus warning and make the property type specific code more
5797           similar.
5798
5799 2007-11-19  Julien MOUTTE  <julien@moutte.net>
5800
5801         * gst/gstpreset.c: (gst_preset_default_create_preset): Make
5802         it build on OS X.
5803
5804 2007-11-19  Wim Taymans  <wim.taymans@gmail.com>
5805
5806         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5807         (gst_bin_add_func), (gst_bin_remove_func),
5808         (gst_bin_change_state_func), (gst_bin_continue_func):
5809         Change email, cleanups add some more debug and comments.
5810         Also set bus and clock on new elements when the pipeline was in error.
5811
5812 2007-11-18  Stefan Kost  <ensonic@users.sf.net>
5813
5814         * gst/gstbin.c:
5815         * gst/gstdebugutils.c:
5816           Fix build with --disable-gst-debug. Fixes #497859.
5817           Spotted by Sameer Naik.
5818
5819 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
5820
5821         * gst/gstevent.c:
5822           Little documentation improvment.
5823
5824         * gst/gstpreset.c:
5825           More TODO cleanups. Remove c++ comments.
5826
5827         * libs/gst/controller/gstcontroller.c:
5828           Add TODO and use quark from static string.
5829
5830         * tests/check/gst/gstmessage.c:
5831         * tests/check/gst/gststructure.c:
5832           Use quark from static string.
5833
5834 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
5835
5836         * gst/gstpreset.c:
5837           Add some comments and TODOs.
5838
5839         * gst/gstpreset.h:
5840           Add padding for future changes.
5841
5842         * plugins/elements/gstqueue.c:
5843           Implement the iface.    
5844
5845 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
5846
5847         * docs/gst/gstreamer-docs.sgml:
5848         * docs/gst/gstreamer-sections.txt:
5849         * docs/gst/gstreamer.types.in:
5850         * gst/Makefile.am:
5851         * gst/gst.h:
5852         * gst/gstpreset.c:
5853         * gst/gstpreset.h:
5854           Add the preset interface (Fixes #396779). Do some doc cleanups along.
5855
5856 2007-11-16  Jan Schmidt  <jan.schmidt@sun.com>
5857
5858         * configure.ac:
5859
5860         Back to CVS
5861
5862 === release 0.10.15 ===
5863
5864 2007-11-15  Jan Schmidt <jan.schmidt@sun.com>
5865
5866         * configure.ac:
5867           releasing 0.10.15, "October"
5868
5869 2007-11-14  Jan Schmidt  <jan.schmidt@sun.com>
5870
5871         * win32/vs6/libgstreamer.dsp:
5872         Convert line endings back to DOS.
5873
5874 2007-11-13  Stefan Kost  <ensonic@users.sf.net>
5875
5876         * docs/design/draft-tagreading.txt:
5877         * docs/random/ensonic/profiling.txt:
5878         Update fast tagreading draft and performance profiling ideas.
5879
5880 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
5881
5882         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
5883         Don't hold the object lock when unreffing a buffer because it could
5884         cause a deadlock when the finalize function wants to grab the object
5885         lock too. Fixes #495133.
5886
5887 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
5888
5889         * gst/gstsegment.c: (gst_segment_set_newsegment_full),
5890         (gst_segment_to_stream_time), (gst_segment_to_running_time):
5891         Also accumulate time correctly when doing reverse playback. Fixes
5892         #488201,
5893         When converting to running and stream time, use default values for
5894         start/stop/time/accum when comparing different formats. Fixes #494245.
5895
5896         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
5897         Do running/stream time in TIME format.
5898
5899         * tests/check/gst/gstsegment.c: (GST_START_TEST),
5900         (gst_segment_suite):
5901         2 new unit tests for segment accumulation.
5902
5903 2007-11-07  Tim-Philipp Müller  <tim at centricular dot net>
5904
5905         * gst/gst.c: (init_pre):
5906         * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
5907           (_gst_debug_bin_to_dot_file):
5908           Move getenv() back into gst_init, so everyone can live happily
5909           ever after. Make sure the symbol isn't exported though.
5910
5911 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5912
5913         Patch by: Sebastien Moutte  <sebastien moutte net>
5914
5915         * win32/common/gstenumtypes.c:
5916         * win32/common/gstenumtypes.h:
5917           Update enum types.
5918
5919         * win32/vs6/libgstreamer.dsp:
5920           Update vs6 project files (#494343).
5921
5922 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5923
5924         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
5925         (gst_base_src_perform_seek), (gst_base_src_default_event),
5926         (gst_base_src_set_flushing), (gst_base_src_activate_push),
5927         (gst_base_src_activate_pull):
5928         Unify flushing code, remove some old unlock code that is no longer used.
5929         Take the streaming lock when seeking to avoid races. Fixes #492729.
5930         Added some more comments.
5931
5932 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5933
5934         * gst/gst.c: (_gst_disable_segtrap):
5935           Make  _gst_disable_segtrap static, it's only used in gstplugin.c and
5936           we can use gst_segtrap_is_enabled() there now that we have that API.
5937           Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
5938           to do the getenv here (and export the variable).
5939
5940         * gst/gstdebugutils.c: (debug_dump_element),
5941           (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
5942           Don't use VLAs which is a C99ism and throws off MSVC (#493983).
5943
5944         * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
5945           (gst_debug_log_default):
5946           Rename _gst_info_start_time to priv_gst_info_start_time so it
5947           doesn't get exported (was never in any header).
5948
5949         * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
5950           (gst_plugin_loading_mutex):
5951           Make static mutex gst_plugin_loading_mutex really static (was never
5952           in any header), and use gst_segtrap_is_enabled() instead of
5953           _gst_disable_segtrap.
5954
5955         * gst/gsttrace.c: (_gst_trace_default):
5956           Make local _gst_trace_default static (was never in any header).
5957
5958 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5959
5960         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
5961
5962         * win32/common/libgstbase.def:
5963         * win32/common/libgstcontroller.def:
5964         * win32/common/libgstdataprotocol.def:
5965         * win32/common/libgstnet.def:
5966         * win32/common/libgstreamer.def:
5967           Add more missing symbols, remove some duplicates, and sort
5968           as the 'sort' command sorts it (partially fixes #493983).
5969
5970 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5971
5972         * gst/gstelement.c: (gst_element_set_state_func):
5973         Only change the state cookie if a different state was set on the
5974         element. See #492729.
5975
5976 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5977
5978         * gst/gstvalue.c:
5979           Remove unused and uninitialised type variables that were still
5980           exported for some reason (they were never in any header files
5981           though).
5982
5983 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5984
5985         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
5986         (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
5987         (gst_base_sink_event), (gst_base_sink_get_position_last),
5988         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
5989         (gst_base_sink_change_state):
5990         Don't try to report a 0 position when we don't know, return -1 and FALSE
5991         instead. This mostly happens when we are prerolling.
5992         Make sure we can report the right position before we post the ASYNC_DONE
5993         message so that a message handler can query position without races.
5994
5995         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
5996         (async_done_handoff), (async_done_func), (send_buffer),
5997         (async_done_eos_func), (gst_sinks_suite):
5998         Add two tests for the above.
5999
6000 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
6001
6002         * MAINTAINERS:
6003         Update with new email address.
6004
6005         * docs/design/part-TODO.txt:
6006         Add some more info about future pad-block and negotiation changes.
6007
6008         * docs/design/part-buffering.txt:
6009         Add some ideas about buffering reporting.
6010
6011 2007-11-06  Jan Schmidt  <jan.schmidt@sun.com>
6012
6013         * tests/check/gst/gstobject.c:
6014         Disable silly racy test that always fails on this combination of CPU
6015         and kernel.
6016
6017 2007-11-03  Tim-Philipp Müller  <tim at centricular dot net>
6018
6019         Patch by: Murray Cumming  <murrayc@murrayc.com>
6020
6021         * gst/gstobject.c:
6022           Corrected the registration of the parent-set and parent-unset
6023           signals: The parameter is a GstObject, not a GObject (#493134).
6024
6025 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6026
6027         * gst/gst_private.h:
6028         * gst/gstbuffer.h:
6029         * gst/gstevent.h:
6030         * gst/gstformat.h:
6031         * gst/gstmessage.h:
6032         * gst/gstplugin.h:
6033         * gst/gstquery.h:
6034         * gst/gsttaglist.h:
6035         * gst/gstvalue.h:
6036           Move declaration of private _gst_foo_initialize() functions into
6037           our private header file where they should have been all along.
6038
6039 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6040
6041         * docs/plugins/gstreamer-plugins-sections.txt:
6042         * gst/gstdebugutils.h:
6043         * gst/gstxml.h:
6044         * plugins/elements/gstqueue.c:
6045           gtk-doc fixes; trailing-comma-in-enum fix.
6046
6047 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6048
6049         * gst/gst.c: (gst_deinit):
6050           Clean up on deinit (not the external ones though, doesn't seem to be
6051           needed for some reason).
6052
6053 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
6054
6055         * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
6056           Remove __declspec(dllimport) for MSVC that was copied over into core
6057           from a plugin, obviously without ever having been tested (note the
6058           single underscore in _declspec in the initial commit), and that doesn't
6059           really make sense.  See #492077.
6060
6061 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
6062
6063         * gst/gst.c: (init_post):
6064         * gst/gstevent.c: (_gst_event_initialize):
6065         * gst/gstquery.c: (_gst_query_initialize):
6066         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
6067           g_type_class_ref() other types as well, see #349410 and #64764.
6068
6069         * gst/gstbuffer.c: (_gst_buffer_initialize):
6070         * gst/gstmessage.c: (_gst_message_initialize):
6071           Simplify existing g_type_class_ref().
6072
6073 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
6074
6075         * gst/gstformat.c: (_gst_format_initialize):
6076           g_type_class_ref() our GstFormat type to make sure we avoid the
6077           thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
6078           bug #64764. Should fix intermittent tee unit test failures (#474823).
6079
6080 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
6081
6082         * tests/check/elements/tee.c: (test_num_buffers):
6083           Simplify, simplify, simplify - or not.  Rewrite unit test
6084           not to use gst_parse_launch(); allow N sub-streams. Increasing
6085           the number of sub-streams seems to reproduce #474823 more easily.
6086
6087 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
6088
6089         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
6090
6091         * gst/gsttrace.c:
6092         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
6093         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
6094         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
6095           Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
6096           starting with 2.14.0, GLib won't provide a pipe() macro any longer,
6097           so use _pipe() directly (#492077).
6098
6099         * win32/common/dirent.c: (_treaddir):
6100           Add a couple of casts to make it build without warnings with MSVC.
6101
6102         * win32/common/libgstreamer.def:
6103           Add some more symbols that need to be exported.
6104
6105 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
6106
6107         * tests/examples/metadata/read-metadata.c: (message_loop):
6108           Use _KEEP as merge mode rather than _KEEP_ALL, so tags
6109           arriving in a second or third tag message are added to
6110           the tag list as well.
6111
6112 2007-10-31  Stefan Kost  <ensonic@users.sf.net>
6113
6114         * libs/gst/base/gstbasesrc.c:
6115           Its "Since:" and not "@Since:". And remove an superflous cast.
6116
6117 2007-10-30  Wim Taymans  <wim.taymans@gmail.com>
6118
6119         * docs/libs/gstreamer-libs-sections.txt:
6120         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6121         (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
6122         (gst_base_sink_get_property), (gst_base_sink_render_object),
6123         (gst_base_sink_preroll_object),
6124         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
6125         (gst_base_sink_change_state):
6126         * libs/gst/base/gstbasesink.h:
6127         Add a new last-buffer property that contains the last buffer used in
6128         basesink for preroll or rendering. useful for making snapshots.
6129         API: gst_base_sink_get_last_buffer()
6130         API: GstBaseSink::last-buffer
6131
6132 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
6133
6134         * docs/gst/running.xml:
6135         * gst/gst.c:
6136         * gst/gstdebugutils.c:
6137         * gst/gstdebugutils.h:
6138         * tools/gst-launch.c:
6139           Improve bin graph dumping, by using the envvar to specify a path.
6140           Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
6141
6142 2007-10-29  Tim-Philipp Müller  <tim at centricular dot net>
6143
6144         * plugins/elements/gsttypefindelement.c:
6145           (gst_type_find_element_handle_event),
6146           (gst_type_find_element_activate):
6147           Post special error message if we can't determine the type of a stream
6148           because it's empty.
6149
6150 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
6151
6152         * docs/gst/running.xml:
6153         * gst/gstdebugutils.c:
6154           Document new env-var. Add one log-line after dumpng a graph.
6155
6156 2007-10-26  Tim-Philipp Müller  <tim at centricular dot net>
6157
6158         * configure.ac:
6159           Ugly hack to put the (recently removed and non-portable, apparently)
6160           -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
6161           GNU ld, because without that 'make check' fails miserably on my debian
6162           stable box.  Someone with more knowledge of linker intricacies and
6163           portability issues than me fix this properly please.
6164
6165 2007-10-25  Wim Taymans  <wim.taymans@gmail.com>
6166
6167         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
6168         Reset last seen position after flushing so that we don't report the old
6169         position anymore.
6170
6171 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
6172
6173         * gst/gstelementfactory.c: (gst_element_register):
6174         * gst/gsturi.h:
6175         Patch from Alessandro Decina adding get_type_full and
6176         get_protocols_full private vfuncs to the URIHandler interface
6177         to allow bindings to support creating URI handlers. 
6178         Partially fixes: #339279
6179         API: GstURIHandlerInterface::get_type_full
6180         API: GstURIHandlerInterface::get_protocols_full
6181
6182 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
6183
6184         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
6185         (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
6186         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
6187         Make it so that pads are considered linked until a buffer is pushed
6188         and discovered otherwise. This avoids problems with decodebin2 hanging
6189         after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
6190         case.
6191
6192         Make sure we lock the multiqueue when updating the max-size properties.
6193         
6194         Fix a crash on Solaris in a debug statement in get_request_pad that
6195         passes a NULL string to GST_DEBUG. 
6196
6197         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
6198         (run_output_order_test):
6199         Fix the test to allow the first buffer on not-linked pads to come out
6200         of sequence while multiqueue discovers that they are not-linked.
6201
6202 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
6203
6204         * configure.ac:
6205         * libs/gst/check/Makefile.am:
6206         Use a custom export symbol regex for libgstcheck, as it needs
6207         to export symbols that don't match the standard GStreamer gst_*
6208         pattern, and  --export-dynamic is not portable (only works on 
6209         GNU ld)
6210
6211         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
6212         (gst_check_setup_sink_pad):
6213         Make sure to pass a message parameter to the fail_* macros.
6214
6215         * tests/check/gst/gstinfo.c: (GST_START_TEST):
6216         Fix some compiler warnings.
6217
6218 2007-10-25  Tim-Philipp Müller  <tim at centricular dot net>
6219
6220         * tests/check/gst/gststructure.c: (test_to_string):
6221           Disable test that checks that white spaces are not allowed
6222           in structure names or field names, since we need to
6223           support that for now for backwards compatibility reasons.
6224
6225 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
6226
6227         * docs/gst/gstreamer-sections.txt:
6228         * gst/gsttaglist.c:
6229         * gst/gsttaglist.h:
6230           API: add GST_TAG_ARTIST_SORTNAME
6231           API: add GST_TAG_ALBUM_SORTNAME
6232           API: add GST_TAG_TITLE_SORTNAME
6233           Add tag variants for sorting (#414539).
6234
6235 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
6236
6237         * gst/gststructure.c:
6238           Also allow white space for names so we don't break
6239           backwards compatibility.
6240
6241 2007-10-22  Wim Taymans  <wim.taymans@gmail.com>
6242
6243         * docs/design/part-TODO.txt:
6244         * docs/design/part-segments.txt:
6245         * docs/design/part-streams.txt:
6246         Small updates.
6247
6248 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
6249
6250         * docs/gst/gstreamer-sections.txt:
6251          Fixed documentation from my previous commit (added new API add
6252          gst_value_set_structure(), add gst_value_get_structure() and
6253          GST_VALUE_HOLDS_STRUCTURE).
6254
6255 2007-10-22  Stefan Kost  <ensonic@users.sf.net>
6256
6257         * gst/gstdebugutils.c:
6258           Reflow code to fix uninitialized variable warning.
6259
6260 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
6261
6262         * gst/gstcaps.c: (gst_caps_to_string),
6263         (gst_caps_from_string_inplace):
6264         * gst/gststructure.c: (gst_structure_get_abbrs),
6265         (gst_structure_to_string), (gst_structure_from_string):
6266         * gst/gstvalue.c: (gst_value_set_structure),
6267         (gst_value_get_structure), (gst_value_serialize_structure),
6268         (gst_value_deserialize_structure), (_gst_value_initialize):
6269         * gst/gstvalue.h:
6270         * tests/check/gst/gststructure.c: (GST_START_TEST),
6271         (gst_structure_suite):
6272         * tests/check/gst/gstvalue.c: (GST_START_TEST):
6273          Added GstStructure to gst_value_table and its related functions.
6274          Changed gst_structure_to_string to print ';' in the end.
6275          Changed gst_caps_to_string to not print ';' beteween its
6276          fields (structures) anymore and remove the lastes ';' from latest
6277          structure. Now it is possible to have nested structures.
6278          In addition, backward compatibilty is assured by accepting '\0' as
6279          end delimiter. Fixes: #487969.
6280          API: add gst_value_set_structure()
6281          API: add gst_value_get_structure()
6282          API: add GST_VALUE_HOLDS_STRUCTURE
6283
6284 2007-10-19  Tim-Philipp Müller  <tim at centricular dot net>
6285
6286         * gst/gstbus.c:
6287           When no GSource callback has been set up, tell developer
6288           to use a function that actually exists.
6289
6290 2007-10-17  Stefan Kost  <ensonic@users.sf.net>
6291
6292         * docs/gst/gstreamer-sections.txt:
6293         * gst/Makefile.am:
6294         * gst/gst.c:
6295         * gst/gst.h:
6296         * gst/gstdebugutils.c:
6297         * gst/gstdebugutils.h:
6298         * gst/gstinfo.c:
6299         * gst/gstinfo.h:
6300         * tools/gst-launch.c:
6301           Allow dumping pipelines as dot graphs. Fixes #456573.
6302
6303 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6304
6305         * gst/gststructure.c:
6306           Allow '+' as well, it can be part of media or mime types
6307           such as image/svg+xml.
6308
6309 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6310
6311         * docs/gst/gstreamer-sections.txt:
6312         * gst/gstbus.c:
6313         * gst/gstbus.h:
6314           API: add gst_bus_pop_filtered
6315           API: add gst_bus_timed_pop_filtered
6316           Two new functions for waiting for specific message types on the
6317           bus for a specified amount of time without iterating any main
6318           loops or main contexts.
6319
6320         * tests/check/gst/gstbus.c:
6321           Some tests for the new functions.
6322
6323 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6324
6325         * docs/libs/gstreamer-libs-sections.txt:
6326           Make gtk-doc ignore stuff it should ignore.
6327
6328 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6329
6330         * libs/gst/check/gstcheck.c:
6331         * libs/gst/check/gstcheck.h:
6332           Allow runtime selection of unit tests to run via the GST_CHECKS
6333           environment variable (test case function names, comma-separated).
6334
6335 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
6336
6337         * gst/gststructure.c:
6338         * tests/check/gst/gststructure.c:
6339           Revert serialisation change and constrain structure-names after
6340           consensus on irc. Update api documentation to reflect the change.
6341
6342 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
6343
6344         * gst/gststructure.c:
6345           Improve serialization and fix tests.
6346
6347         * tests/check/gst/gststructure.c:
6348           Add another test that covers why I actually did the previous structure
6349           change.
6350
6351 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
6352
6353         * tools/gst-inspect.c: (print_element_info):
6354         Don't crash when inspecting an element.
6355
6356 2007-10-15  Tim-Philipp Müller  <tim at centricular dot net>
6357
6358         * tests/check/gst/gststructure.c:
6359           Add unit test for escaping of structure name when serialising
6360           and deserialising to/from strings.
6361
6362 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
6363
6364         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
6365         (gst_single_queue_new):
6366         * plugins/elements/gstqueue.c: (gst_queue_init),
6367         (gst_queue_push_one):
6368         Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
6369         upstream is tricked into thinking it can suggest a format downstream
6370         while downstream does not support that format. The real problem is that
6371         core calls acceptcaps when pushing a buffer with new caps, for which we
6372         do a little workaround by setting the caps on the srcpad ourselves
6373         before pushing the buffer (until this is figured out). Fixes #486758.
6374
6375 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6376
6377         * gst/gststructure.c:
6378         * gst/gstvalue.c:
6379           Add some more comments and debug output. Quote structure name to fix
6380           deserialisation of some strings.
6381
6382 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6383
6384         * gst/gstbuffer.h:
6385           Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
6386           on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
6387
6388 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6389
6390         * tools/gst-inspect.c:
6391           Save approx. 400 1 byte allocs when printing. Use API to acces element
6392           details.
6393
6394         * tools/gst-run.c:
6395           Avoid a strdup.
6396
6397         * tools/gst-xmlinspect.c:
6398           Use API to acces element details.
6399
6400 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6401
6402         * gst/gstinfo.c:
6403           Fix some spelling errors.
6404
6405 2007-10-14  Wim Taymans  <wim.taymans@gmail.com>
6406
6407         * gst/gstbin.c: (bin_handle_async_done):
6408         Correctly set the next state if all of our async children commited their
6409         state. This makes sure we can actually cancel the state change in
6410         progress. Fixes a regression in Rhythmbox when seeking.
6411
6412 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
6413
6414         * gst/gstbin.c:
6415           Don't shadow local variable.
6416
6417         * gst/gstinfo.c:
6418           Don't shadow global function name.
6419
6420 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
6421
6422         * gst/gstelementfactory.c:
6423         * gst/gstpluginfeature.c:
6424         * gst/gstpluginfeature.h:
6425         * gst/gstregistrybinary.c:
6426         * gst/gstregistryxml.c:
6427         * gst/gsttypefind.c:
6428           Use already-interned string for the private GstPluginFeature
6429           plugin_name field.
6430
6431 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6432
6433         * docs/libs/gstreamer-libs-sections.txt:
6434           Add new API to docs; fixes the build.
6435
6436 2007-10-10  Wim Taymans  <wim.taymans@gmail.com>
6437         
6438         Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
6439
6440         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
6441         (gst_base_sink_event):
6442         * libs/gst/base/gstbasesink.h:
6443         Add function to wait for EOS, subclasses can use this to correctly wait
6444         for devices to drain before performing the EOS logic. Fixes #485343.
6445         API: gst_base_sink_wait_eos()
6446
6447 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6448
6449         * gst/gstplugin.h:
6450           Cast description string constants in GST_PLUGIN_DEFINE macros
6451           to a (gchar*) to make C++ code using these macros compile
6452           without warning with g++-4.2 (see #462737).  Even if slightly
6453           ugly, this seems preferable to putting the description strings
6454           into the GLib quark table or making the structure member a
6455           const gchar * and doing casts in core code that allocs and
6456           frees these strings, or requiring a cast in the C++ code.
6457
6458 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6459
6460         * gst/gstinfo.h:
6461           Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
6462           to print the entire class/function signature into the log
6463           file for C++ code.  This only affects C++ code, for C code
6464           everything remains the same.
6465
6466 2007-10-09  Wim Taymans  <wim.taymans@gmail.com>
6467
6468         * gst/gstbin.c: (remove_from_queue):
6469         Work around a problem with pipelines containing (semi)loops until a
6470         proper, more complicated solution is ready. See #475455.
6471
6472 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6473
6474         * gst/gstplugin.c:
6475         * gst/gstplugin.h:
6476         * gst/gstregistrybinary.c:
6477         * gst/gstregistryxml.c:
6478           Put more strings into the GLib quark table. No need to keep
6479           a hundred-something copies of identical version strings,
6480           license strings, package name strings and package origin
6481           strings around. 
6482
6483 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6484
6485         * docs/manual/advanced-dataaccess.xml:
6486           Don't imply that it's okay to unconditionally change
6487           buffer data or buffer metadata in a pad probe callback,
6488           and a bunch of other comments. Fixes #430031.
6489
6490 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6491
6492         * win32/common/gstenumtypes.c:
6493         * win32/common/gstenumtypes.h:
6494         * win32/common/gstversion.h:
6495           Update generated files.
6496
6497 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6498
6499         * docs/manual/advanced-autoplugging.xml:
6500           Prefix section with broken code with a warning (see #342432).
6501
6502 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6503
6504         * docs/manual/appendix-integration.xml:
6505         * docs/manual/basics-init.xml:
6506           Call g_thread_init() before g_option_context_new() to
6507           avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
6508
6509 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6510
6511         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6512         (gst_base_sink_queue_object_unlocked),
6513         (gst_base_sink_queue_object), (gst_base_sink_event),
6514         (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
6515         When we received EOS and are waiting for when to post the EOS message,
6516         our state is prerolled and we should not return ASYNC.
6517         Reorganize some code paths to implement this behavior.
6518
6519         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
6520         (gst_sinks_suite):
6521         Add unit test to verify above EOS fix.
6522
6523 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6524
6525         * plugins/elements/gsttypefindelement.c:
6526         (gst_type_find_element_have_type), (gst_type_find_element_init),
6527         (gst_type_find_element_setcaps), (gst_type_find_element_chain):
6528         Move detecting the input caps of the sinkpad to the setcaps function.
6529         This allows us to update the output caps when we receive new input caps
6530         instead of always using the first detected caps.
6531
6532 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6533
6534         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
6535         (gst_base_sink_get_position):
6536         Don't try to preroll non-async elements after a flush.
6537         Subtract latency form clock times when reporting position.
6538
6539 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6540
6541         * gst/gstpad.c: (gst_pad_pause_task):
6542         * gst/gstutils.c:
6543         Small comment and documentation update.
6544
6545 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6546
6547         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
6548         (gst_base_src_set_live), (gst_base_src_is_live),
6549         (gst_base_src_query_latency), (gst_base_src_perform_seek),
6550         (gst_base_src_default_event), (gst_base_src_wait),
6551         (gst_base_src_do_sync), (gst_base_src_get_range),
6552         (gst_base_src_pad_get_range), (gst_base_src_loop),
6553         (gst_base_src_unlock), (gst_base_src_unlock_stop),
6554         (gst_base_src_set_flushing), (gst_base_src_set_playing),
6555         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6556         (gst_base_src_change_state):
6557         Rework the locking of basesrc in a similar fashion to basesink. We
6558         basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
6559         us to handle live sources and semi live ones much better.
6560         Simplify flushing.
6561         Fix unlocking when seeking, shutting down and pausing in live sources.
6562
6563 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6564
6565         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
6566         Fix compilation again.
6567
6568 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6569
6570         * gst/gstelement.c:
6571           Use meaningful categories for the logs to clean the default one.
6572
6573 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6574
6575         * tests/check/pipelines/cleanup.c:
6576           Print message name and not just number.
6577
6578 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6579
6580         * docs/design/draft-tagreading.txt:
6581           Add some more thoughts.
6582
6583 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6584
6585         * tests/check/pipelines/simple-launch-lines.c:
6586           Print message name and not just number.
6587
6588 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6589
6590         * libs/gst/base/gsttypefindhelper.c:
6591           Speedup typefinding. This is work in progress (see #459862).
6592
6593 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6594
6595         * gst/gstplugin.c:
6596           Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
6597           Spotted by Josep Torra Valles <josep@fluendo.com>.
6598
6599 2007-10-03  Tim-Philipp Müller  <tim at centricular dot net>
6600
6601         * gst/gstclock.h:
6602           Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
6603           field has moved to GstObject.
6604
6605 2007-10-02  Wim Taymans  <wim.taymans@gmail.com>
6606
6607         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
6608         (gst_base_src_get_range), (gst_base_src_change_state):
6609         Call unlock for live sources so that they can't get stuck in _create and
6610         produce a buffer before they are set back to PLAYING.
6611
6612 2007-10-02  Edward Hervey  <bilboed@bilboed.com>
6613
6614         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6615         (gst_queue_locked_dequeue):
6616         Comment the segment-related code... in the PROPER function.
6617         See #482147 and my commit from yesterday.
6618
6619 2007-10-01  Wim Taymans  <wim.taymans@gmail.com>
6620
6621         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
6622         Also initialize the counter that calculates the first timestamp on a
6623         buffer correctly for non-live sources.
6624
6625 2007-10-01  Edward Hervey  <bilboed@bilboed.com>
6626
6627         * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
6628         Disable code that's breaking the current-time-level reporting.
6629         See #482147
6630
6631 2007-09-30  Sebastian Dröge  <slomo@circular-chaos.org>
6632
6633         * docs/gst/gstreamer-sections.txt:
6634         Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
6635         as they shouldn't show up. Fixes the docs build.
6636
6637 2007-09-29  Sebastien Moutte  <sebastien@moutte.net>
6638         
6639         * gst/gstinfo.h:
6640         Add an explicit variable importation needed on VS6 (only for MSC_VER)
6641         Define M_PI which is used in files which are including gstinfo.h. 
6642         VS6 includes doesn't define it.
6643         * win32/common/libgstbase.def:
6644         * win32/common/libgstcontroller.def:
6645         * win32/common/libgstreamer.def:
6646         Add new exported functions and variables.
6647         * win32/vs6/libgstcontroller.dsp:
6648         * win32/vs6/libgstreamer.dsp:
6649         Update the list of files to build.
6650         
6651 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
6652
6653         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6654
6655         * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
6656         (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
6657         (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
6658         Improve debugging. Fixes #480858.
6659
6660 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
6661
6662         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6663
6664         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
6665         First patch of code cleanups, use the macros and right arguments in the
6666         macros to signal and lock the queue. See #480858.
6667
6668 2007-09-26  Wim Taymans  <wim.taymans@gmail.com>
6669
6670         * gst/gstbus.c: (poll_func):
6671         Improve debugging when dealing with _poll().
6672
6673 2007-09-26  Tim-Philipp Müller  <tim at centricular dot net>
6674
6675         * gst/gstregistryxml.c:
6676           Fix memory leak I introduced a few days ago.
6677
6678 2007-09-26  Michael Smith <msmith@fluendo.com>
6679
6680         * gst/gstbuffer.c: (gst_buffer_finalize):
6681           Make it once again possible to free GstBuffers in the default
6682           build.
6683           The poisoning scribbles on parts of the miniobject we need in
6684           order to free it.
6685           Fixes #480341
6686
6687 2007-09-25  Tim-Philipp Müller  <tim at centricular dot net>
6688
6689         * docs/gst/gstreamer-sections.txt:
6690         * gst/gsttaglist.c:
6691         * gst/gsttaglist.h:
6692         API: add GST_TAG_COMPOSER, fixes #459809.
6693
6694 2007-09-24  Sebastian Dröge  <slomo@circular-chaos.org>
6695
6696         * gst/gstplugin.c:
6697         * gst/gstplugin.h:
6698         Add the 3-clause BSD license and the MIT/X11 license to the license
6699         list. Fixes #479784.
6700
6701 2007-09-24  Tim-Philipp Müller  <tim at centricular dot net>
6702
6703         * docs/faq/getting.xml:
6704           Add Q+A about different GStreamer versions (#364056).
6705
6706 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6707
6708         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6709         (gst_base_sink_event), (gst_base_sink_change_state):
6710         Return correct gboolean from query function.
6711
6712 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6713
6714         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6715         (gst_base_sink_event), (gst_base_sink_query),
6716         (gst_base_sink_change_state):
6717         Simplify latency query.
6718         When not synchronizing, we can report latency without querying the peer
6719         element.
6720
6721 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6722
6723         * gst/gstobject.h:
6724         * gst/gstvalue.c:
6725         Fix small typos in the docs.
6726
6727 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6728
6729         * docs/design/draft-latency.txt:
6730         * docs/design/draft-push-pull.txt:
6731         * docs/design/draft-tagreading.txt:
6732         * docs/design/part-MT-refcounting.txt:
6733         * docs/design/part-activation.txt:
6734         * docs/design/part-block.txt:
6735         * docs/design/part-element-source.txt:
6736         * docs/design/part-events.txt:
6737         * docs/design/part-gstbin.txt:
6738         * docs/design/part-gstelement.txt:
6739         * docs/design/part-gstobject.txt:
6740         * docs/design/part-gstpipeline.txt:
6741         * docs/design/part-messages.txt:
6742         * docs/design/part-preroll.txt:
6743         * docs/design/part-push-pull.txt:
6744         * docs/design/part-qos.txt:
6745         * docs/design/part-query.txt:
6746         * docs/design/part-scheduling.txt:
6747         * docs/design/part-seeking.txt:
6748         * docs/design/part-segments.txt:
6749         * docs/design/part-states.txt:
6750         Documentation updates and typo fixes.
6751
6752 2007-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6753
6754         * plugins/elements/gstfakesink.c:
6755           Add some debug text to error message to indicate that
6756           we errored out on request.
6757
6758         * tools/gst-launch.c:
6759           When the state change to PLAYING fails, check for an
6760           error message on the bus and print it.
6761
6762 2007-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6763
6764         translated by: Jorge González González <aloriel@gmail.com>
6765
6766         * po/LINGUAS:
6767         * po/es.po:
6768           Added Spanish translation.
6769
6770 2007-09-21  Wim Taymans  <wim.taymans@gmail.com>
6771
6772         * plugins/elements/gstqueue.c: (gst_queue_push_one):
6773         Fix printf arguments.
6774
6775 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
6776
6777         * tests/check/generic/states.c:
6778           Improved state change unit test.
6779
6780 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
6781
6782         * gst/gstbin.h:
6783           Move priv to the right place.
6784
6785         * gst/gstsystemclock.c:
6786           Add FIXME: and improve log.
6787
6788         * tests/check/Makefile.am:
6789         * tests/examples/manual/Makefile.am:
6790           Work with all types of registries.
6791
6792 2007-09-19  Wim Taymans  <wim.taymans@gmail.com>
6793
6794         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6795         Don't unref the event after pushing it. Fixes #478401.
6796
6797 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
6798
6799         * .cvsignore:
6800         * tests/examples/manual/.cvsignore:
6801           Ignore registries in any format.
6802
6803 2007-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6804
6805         * gst/glib-compat-private.h:
6806           Add compatibility macro for g_intern_string() for
6807           GLib-2.8 (any reason we can't just bump the
6808           requirement to at least 2.10?)
6809
6810         * gst/gstpadtemplate.h:
6811         * gst/gstelementfactory.c:
6812         * gst/gstregistryxml.c:
6813         * gst/gstregistrybinary.c:
6814           Make GstStaticPadTemplate's templ_name field a const gchar * and fix
6815           up the internal code accordingly.  This shouldn't be a problem, since
6816           there is no reason external code could ever assume the string in such
6817           a structure is dynamically allocated unless it did that itself;  the
6818           use of g_strdup() is private to element factories.  The new code also
6819           saves some memory by putting pad template name strings into the GLib
6820           quark table instead of allocating them dynamically.
6821           Declaring this field constant fixes warnings with g++-4.2 when using
6822           the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
6823
6824 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
6825
6826         * gst/gstelementfactory.c:
6827           Release static caps. Fixes #475723.
6828
6829 2007-09-18  Tim-Philipp Müller  <tim at centricular dot net>
6830
6831         * gst/gstinfo.c:
6832         * gst/gstinfo.h:
6833           Make some internal API take const gchar * instead of just
6834           gchar * to avoid compiler warnings with g++-4.2.2 when
6835           passing string constants (partially fixes #478092).
6836
6837 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
6838
6839         * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
6840         A latency query fails when one of the sinks fail.
6841
6842         * gst/gstelement.c: (gst_element_set_base_time):
6843         Improve debugging.
6844
6845 2007-09-17  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
6846
6847         * gst/gstbin.c: (gst_bin_continue_func):
6848         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
6849         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
6850         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
6851
6852         Fix minor compilation warnings shown with Forte.
6853
6854 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
6855
6856         * plugins/elements/gstqueue.c: (apply_buffer),
6857         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
6858         Measure queue level based on the diff between head and tail timestamps
6859         even when pushing the first buffer.
6860
6861 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
6862
6863         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6864         (gst_base_sink_event), (gst_base_sink_change_state):
6865         Sinks that don't preroll can always be queried for the latency.
6866         Don't post ASYNC start when we are not async.
6867
6868 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
6869
6870         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6871         (gst_queue_handle_sink_event), (gst_queue_chain),
6872         (gst_queue_push_one), (gst_queue_handle_src_query),
6873         (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
6874         * plugins/elements/gstqueue.h:
6875         When downstream returns UNEXPECTED from pushing a buffer, don't try to
6876         push more buffers but allow pushing of EOS and NEWSEGMENT.
6877         Add some more debug info here and there. Fixes #476514.
6878
6879 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
6880
6881         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
6882         (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
6883         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
6884         (gst_base_sink_set_flushing), (gst_base_sink_query),
6885         (gst_base_sink_change_state):
6886         Latency query is allowed after we are prerolled. Introduce a new flag
6887         for this and stop abusing other variables.
6888
6889 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6890
6891         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6892         Push OOB events downstream when we get them in send_event. This allows
6893         the application to insert events in the pipeline.
6894         Add some more comments.
6895
6896 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6897
6898         * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
6899         (do_bin_latency), (gst_bin_change_state_func):
6900         * gst/gstpipeline.c: (gst_pipeline_change_state):
6901         Move latency query from GstPipeline to GstBin so that we can also
6902         use it when async-handling is enabled on bins.
6903
6904 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6905
6906         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
6907         (gst_base_src_do_sync), (gst_base_src_change_state):
6908         Update docs.
6909         Clean up the timestamping and syncing code for pseudo live sources.
6910
6911 2007-09-13  Tim-Philipp Müller  <tim at centricular dot net>
6912
6913         Patch by: Steve Fink  <sphink gmail com>
6914
6915         * docs/manual/appendix-checklist.xml:
6916           Mention less -R switch in the section about debug output (#474055).
6917
6918 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6919
6920         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
6921         Queue can latency to the pipeline up to the configured max size in time.
6922         Report this fact in the latency query.
6923
6924 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
6925
6926         Patch by: Sebastien Moutte <sebastien at moutte dot net>
6927
6928         * libs/gst/controller/gstinterpolation.c:
6929         * libs/gst/controller/gstlfocontrolsource.c:
6930         Use gst_guint64_to_gdouble() when converting from a uint64 or
6931         GstClockTime to double to fix the build on win32. Fixes #474371.
6932
6933 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
6934
6935         * gst/gstbuffer.c: (gst_buffer_finalize):
6936         Implement poisoning for GstBuffer if --enable-poisoning is specified.
6937         When finalizing a buffer the complete struct is filled with 0xff,
6938         thus making a use of the buffer after the final unref impossible.
6939
6940 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
6941
6942         * tests/check/libs/controller.c: (GST_START_TEST):
6943         Use fail_unless_equals_int(a, b) instead of
6944         fail_unless_equals (a == b) to get better output on failures.
6945
6946 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
6947
6948         * tests/check/gst/gsturi.c:
6949           Also check for the other file URI variant on win32.
6950
6951 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
6952
6953         * gst/gsturi.c: (gst_uri_get_location):
6954           If there's no hostname, we want to return 'c:/foo/bar.txt'
6955           and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
6956
6957         * tests/check/gst/gsturi.c:
6958           Unit test for the above and a few more things.
6959
6960 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
6961
6962         * docs/design/part-live-source.txt:
6963         Add docs on how live sources should timestamp.
6964
6965         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
6966         Add some more debug info.
6967         For subclasses that are live and like to sync, add aditional startup
6968         latency to sync time and timestamps so that we timstamp according to the
6969         design doc.
6970
6971 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
6972
6973         * gst/gstbuffer.c:
6974           Also do a g_type_class_ref() for the subbuffer type in
6975           the init function.
6976
6977 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
6978
6979         * docs/gst/gstreamer-sections.txt:
6980         * gst/gstpad.c: (gst_pad_peer_query):
6981         * gst/gstpad.h:
6982         Add function to perform a query on the peer of a pad.
6983         API: gst_pad_peer_query()
6984
6985 2007-09-11  Stefan Kost  <ensonic@users.sf.net>
6986
6987         * tests/check/gst/gstsystemclock.c:
6988           Cleanup the test a little (use gst-logging and not g_message). Improve
6989           test to check if a wait reached the target.
6990
6991 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
6992
6993         * docs/libs/gstreamer-libs-sections.txt:
6994           Add new API to docs and fix the build.
6995
6996 2007-09-10  Wim Taymans  <wim.taymans@gmail.com>
6997
6998         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6999         (gst_base_src_init), (gst_base_src_set_do_timestamp),
7000         (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
7001         (gst_base_src_get_property), (gst_base_src_do_sync):
7002         * libs/gst/base/gstbasesrc.h:
7003         Add property to make the basesrc timestamp buffers based on the current
7004         running time.
7005         API: GstBaseSrc::do-timestamp
7006         API: gst_base_src_set_do_timestamp()
7007         API: gst_base_src_get_do_timestamp()
7008
7009 2007-09-08  Tim-Philipp Müller  <tim at centricular dot net>
7010
7011         * docs/random/release:
7012           Really make sure translations are up-to-date before
7013           a release (#465010).
7014
7015 2007-09-07  Sebastian Dröge  <slomo@circular-chaos.org>
7016
7017         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7018         Always destroy the timer, also in error cases.
7019
7020 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
7021
7022         * docs/manual/highlevel-xml.xml:
7023         Fix XML example code. Fixes #472714.
7024
7025 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
7026
7027         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
7028         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
7029         (gst_base_sink_query):
7030         Protect eos and have_preroll with the OBJECT lock so we don't need to
7031         take the PREROLL lock when querying the latency. Fixes #473846.
7032
7033 2007-09-05  Stefan Kost  <ensonic@users.sf.net>
7034
7035         * gst/gstelement.c:
7036           Give some log-messages a category.
7037
7038 2007-09-04  Wim Taymans  <wim.taymans@gmail.com>
7039
7040         * gst/gststructure.c:
7041         (gst_structure_fixate_field_nearest_fraction):
7042         Fix fraction list fixation code. Take the fraction with the smallest
7043         difference with the target instead of the first one in the list.
7044
7045         * tests/check/gst/gststructure.c: (GST_START_TEST),
7046         (gst_structure_suite):
7047         Added test to verify correct fraction list fixation behaviour.
7048
7049 2007-09-02  Tim-Philipp Müller  <tim at centricular dot net>
7050
7051         * win32/common/libgstreamer.def:
7052           Export gst_bus_add_signal_watch too.
7053
7054 2007-08-30  Wim Taymans  <wim.taymans@gmail.com>
7055
7056         * docs/libs/gstreamer-libs-sections.txt:
7057         Add new methods to docs.
7058
7059         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7060         (gst_base_sink_init), (gst_base_sink_set_ts_offset),
7061         (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
7062         (gst_base_sink_get_property), (gst_base_sink_wait_clock):
7063         * libs/gst/base/gstbasesink.h:
7064         Add ts-offset property to fine-tune the synchronisation.
7065         API: GstBaseSink::ts-offset property
7066         API: gst_base_sink_set_ts_offset()
7067         API: gst_base_sink_get_ts_offset()
7068
7069 2007-08-29  Wim Taymans  <wim.taymans@gmail.com>
7070
7071         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7072         (gst_base_sink_init), (gst_base_sink_set_sync),
7073         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
7074         (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
7075         (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
7076         (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
7077         (gst_base_sink_get_property), (gst_base_sink_change_state):
7078         * libs/gst/base/gstbasesink.h:
7079         Add async property to instruct the sink never to inform the parent about
7080         ASYNC state changes, update docs.
7081         Check argument with g_return_* for the public functions.
7082         API: GstBaseSink::async property
7083         API: gst_base_sink_set_async_enabled()
7084         API: gst_base_sink_is_async_enabled()
7085
7086 2007-08-28  Wim Taymans  <wim.taymans@gmail.com>
7087
7088         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
7089         Improve debugging.
7090
7091         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
7092         (gst_base_src_default_query), (gst_base_src_wait),
7093         (gst_base_src_do_sync), (gst_base_src_change_state):
7094         Rearrange some code so that we can add support for measuring the 
7095         startup latency.
7096
7097 2007-08-27  Stefan Kost  <ensonic@users.sf.net>
7098
7099         * docs/random/ensonic/dynlink.txt:
7100           More thoughs on this.
7101
7102         * plugins/elements/gstcapsfilter.c:
7103           Add bugzilla ticket number to FIXME comment.
7104
7105 2007-08-24  Wim Taymans  <wim.taymans@gmail.com>
7106
7107         * docs/design/part-TODO.txt:
7108         * docs/design/part-block.txt:
7109         Update some docs.
7110
7111 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7112
7113         * gst/Makefile.am:
7114           Revert patch which uses $(gst_headers) instead of $^ because it
7115           breaks make dist.
7116
7117 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7118
7119         * tests/check/gst/gstbin.c: (GST_START_TEST):
7120           Fix leaks in the new unit test.
7121
7122 2007-08-23  Tim-Philipp Müller  <tim at centricular dot net>
7123
7124         * gst/gst.c:
7125           Don't use GST_INFO before the debug system is actually initialised
7126           (shouldn't do any harm, but won't print anything either, so we can
7127           just as well remove it).
7128
7129         * gst/gstinfo.h:
7130           GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
7131           compilers that don't support variadic macros (such as MSVC), should
7132           check for debug_level <= __gst_debug_min as well, since that's the
7133           function called from all the level-specific GST_CAT_*_LOG_OBJECT()
7134           inline helper functions. Should improve performance a bit, but also
7135           makes sure uses of GST_INFO et.al are ignored if the debugging
7136           system isn't initialised yet (instead of printing an assertion
7137           failure).
7138
7139 2007-08-23  Stefan Kost  <ensonic@users.sf.net>
7140
7141         patch by: David Nečas <yeti@physics.muni.cz>
7142
7143         * gst/Makefile.am:
7144           Replace some non portable makefile constructs.
7145
7146 2007-08-21  Stefan Kost  <ensonic@users.sf.net>
7147
7148         * common/gtk-doc-plugins.mak:
7149           Grrrrr. Don't remove the types file on make clean.
7150
7151 2007-08-20  Wim Taymans  <wim.taymans@gmail.com>
7152
7153         * tools/gst-launch.1.in:
7154         Add colorspace to example pipeline. Fixes #458274.
7155
7156 2007-08-20  Tim-Philipp Müller  <tim at centricular dot net>
7157
7158         * docs/random/release:
7159           The release manager should run 'make download-po' before making a
7160           release to make sure translations are up-to-date.
7161
7162         * po/LINGUAS:
7163         * po/be.po:
7164         * po/pl.po:
7165         * po/rw.po:
7166           Add some new translations.
7167
7168 2007-08-17  Wim Taymans  <wim.taymans@gmail.com>
7169
7170         * tools/gst-launch.c: (event_loop), (main):
7171         Don´t try to do any state management when a live pipeline posts
7172         buffering messages.
7173         Also make the buffering string translatable.
7174
7175 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
7176
7177         * gst/gstbin.c: (is_eos), (gst_bin_add_func),
7178         (bin_handle_async_start), (gst_bin_handle_message_func):
7179         Improve debugging.
7180         When adding elements, insert messages into the bus of the newly added
7181         element and make sure the element is the source of the message. This
7182         allows the parent bin to intercept the message and do the
7183         right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
7184         messages to the app (which is not allowed).
7185         Update some docs.
7186
7187         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
7188         Fix testsuite so that is does not work around messages that should not
7189         have been posted in the first place.
7190
7191 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
7192
7193         * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
7194         (update_degree), (gst_bin_sort_iterator_next):
7195         Fix annoying bug in the sorted iterator where a sink that is not really
7196         a sink (when it has downstream links) screwed up the iterator.
7197
7198         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7199         Unit test to verify the fix.
7200
7201 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
7202
7203         * gst/gstmessage.h:
7204         Add some more docs for the messages.
7205
7206         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7207         (gst_base_sink_query):
7208         Add some more debugging.
7209
7210         * tools/gst-launch.c: (event_loop):
7211         When interrupting, don't try to set pipeline to PAUSED twice.
7212
7213 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
7214
7215         
7216         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
7217         (bin_handle_async_start), (gst_bin_handle_message_func):
7218         Move ASYNC_START message posting to where it belongs, similar to
7219         async_done. 
7220         Don't post ASYNC_START when we are in error. 
7221         Post ASYNC_START when we added an async element to a bin.
7222
7223 2007-08-14  Julien MOUTTE  <julien@moutte.net>
7224
7225         * gst/gstindex.c: (gst_index_add_association): Fix index entry
7226         generation from vargs. Fixes #466595.
7227
7228 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
7229
7230         * gst/gstbin.c: (gst_bin_element_set_state):
7231         Always change the state of a NO_PREROLL element even if it has ASYNC
7232         elements inside (in case of a bin).
7233
7234         * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
7235         Unit test for this case.
7236
7237 2007-08-13  Stefan Kost  <ensonic@users.sf.net>
7238
7239         * libs/gst/check/gstbufferstraw.c:
7240         * libs/gst/check/gstcheck.h:
7241         * libs/gst/controller/gstcontroller.c:
7242         * libs/gst/controller/gstcontrolsource.h:
7243         * libs/gst/controller/gstlfocontrolsource.h:
7244         * plugins/elements/gstcapsfilter.h:
7245         * plugins/elements/gstfdsink.h:
7246         * plugins/elements/gstfdsrc.h:
7247           Add more missing docs.
7248
7249 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
7250
7251         * gst/gststructure.c:
7252         Add Since tag to docs.
7253
7254 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
7255
7256         * docs/gst/gstreamer-sections.txt:
7257         * gst/gststructure.c: (gst_structure_get_uint):
7258         * gst/gststructure.h:
7259         Add function to get uint from a structure.
7260         API: gst_structure_get_uint()
7261
7262 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
7263
7264         * gst/gstcaps.c: (gst_caps_set_simple_valist),
7265         (gst_caps_intersect):
7266         Fix proper check for simple caps.
7267
7268 2007-08-10  Stefan Kost  <ensonic@users.sf.net>
7269
7270         * docs/gst/Makefile.am:
7271         * docs/libs/Makefile.am:
7272           Remove cruft and do some cleanups.
7273
7274         * docs/gst/gstreamer-docs.sgml:
7275         * docs/libs/gstreamer-libs-docs.sgml:
7276           Prepare for comming gtkdoc features (rebase against online docs).
7277
7278 2007-08-10  Michael Smith <msmith@fluendo.com>
7279
7280         * docs/gst/gstreamer-sections.txt:
7281           Add gst_registry_add_path to docs.
7282
7283 2007-08-10  Michael Smith <msmith@fluendo.com>
7284
7285         * gst/gstregistry.h:
7286           Add gst_registry_add_path, which was missing from this header.
7287
7288 2007-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7289
7290         * libs/gst/controller/gstlfocontrolsource.c:
7291           Printf format fix.
7292
7293 2007-08-09  Philippe Kalaf <philippe.kalaf@collabora.co.uk>
7294
7295         * libs/gst/base/gstbasesink.c:
7296           Don't send an async_start message during downwards state change if 
7297           target state is less than READY
7298
7299 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7300
7301         translated by: Gabor Kelemen <kelemeng@gnome.hu>
7302
7303         * po/LINGUAS:
7304         * po/hu.po:
7305           Added Hungarian translation.
7306
7307 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7308
7309         * po/fi.po:
7310         * po/it.po:
7311         * po/nl.po:
7312         * po/sv.po:
7313         * po/uk.po:
7314           Updated translations.
7315
7316 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
7317
7318         * libs/gst/controller/Makefile.am:
7319         Dist gstlfocontrolsourceprivate.h
7320
7321 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
7322
7323         * docs/libs/gstreamer-libs.types:
7324         Don't register the enum type gst_lfo_waveform_get_type() in the
7325         .types file - only GObject derived types belong.
7326
7327 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
7328
7329         Patch by: <arenevier at fdn dot fr>
7330
7331         * gst/gstbuffer.h:
7332         Remove comma from last element in enum to avoid compile errors when
7333         using -pendantic. Fixes #464366.
7334
7335 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
7336
7337         * docs/design/part-TODO.txt:
7338         Add some more TODO items
7339
7340         * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
7341         Improve debugging.
7342
7343         * gst/gstcaps.c: (gst_caps_intersect):
7344         Optimize trivial intersection case between identical caps pointers.
7345
7346         * gst/gstelement.c: (gst_element_continue_state),
7347         (gst_element_set_state_func):
7348         * gst/gstpad.c:
7349         Fix spelling and grammar mistakes.
7350
7351 2007-08-05  Stefan Kost  <ensonic@users.sf.net>
7352
7353         * po/POTFILES.in:
7354         * po/POTFILES.skip:
7355           Update POTFILES. Fixes #461599.
7356
7357 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
7358
7359         * gst/gst.c:
7360         Fix confusing typo in debug output.
7361
7362 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
7363
7364         reviewed by: Stefan Kost <ensonic@users.sf.net>
7365
7366         * libs/gst/controller/Makefile.am:
7367         * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
7368         (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
7369         (gst_lfo_control_source_new),
7370         (gst_lfo_control_source_set_waveform),
7371         (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
7372         (gst_lfo_control_source_finalize),
7373         (gst_lfo_control_source_dispose),
7374         (gst_lfo_control_source_set_property),
7375         (gst_lfo_control_source_get_property),
7376         (gst_lfo_control_source_class_init):
7377         * libs/gst/controller/gstlfocontrolsource.h:
7378         * libs/gst/controller/gstlfocontrolsourceprivate.h:
7379         API: Add GstLFOControlSource, a control source that gives values
7380         for specific timestamps based on several periodic waveforms.
7381         Fixes #459717.
7382
7383         * tests/check/libs/controller.c: (GST_START_TEST),
7384         (gst_controller_suite):
7385         * docs/libs/gstreamer-libs-docs.sgml:
7386         * docs/libs/gstreamer-libs-sections.txt:
7387         * docs/libs/gstreamer-libs.types:
7388         Add documentation and unit tests for GstLFOControlSource.
7389
7390 2007-08-03  Jan Schmidt  <thaytan@mad.scientist.com>
7391
7392         * configure.ac:
7393         Back to CVS
7394
7395 === release 0.10.14 ===
7396
7397 2007-08-03  Jan Schmidt <thaytan@mad.scientist.com>
7398
7399         * configure.ac:
7400           releasing 0.10.14, "Breathing Vacuum"
7401
7402 2007-08-02  Tim-Philipp Müller  <tim at centricular dot net>
7403
7404         * gst/gstelement.c: (gst_element_class_set_details_simple):
7405         * gst/gstelement.h:
7406           Make strings passed to gst_element_class_set_details_simple()
7407           constant, as they should be (#462752).
7408
7409 2007-08-02  Wim Taymans  <wim.taymans@gmail.com>
7410
7411         * gst/gstbin.c: (gst_bin_change_state_func),
7412         (bin_handle_async_done), (gst_bin_handle_message_func):
7413         Don't forget about the fact that some element went ASYNC even after a
7414         resync. This makes us post the ASYNC_DONE message correctly.
7415         Fixes #462558.
7416
7417 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
7418
7419         * gst/gstregistry.c: (gst_registry_add_feature):
7420         When replacing an existing feature in the registry, make sure to
7421         continue holding a reference until we've replaced the name string
7422         within our feature hash table. Make sure to use g_hash_table_replace
7423         instead of g_hash_table_insert to ensure the new name string is used
7424         as a key instead of the old one that we're about to free.
7425         Fixes: #462085
7426
7427 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
7428
7429         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7430         (gst_plugin_feature_set_name):
7431         Revert patch from #459466 until after the release and we can work
7432         out exactly what the problem is (if any).
7433
7434 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
7435
7436         * docs/gst/gstreamer-sections.txt:
7437         * gst/gsttaglist.c:
7438         * gst/gsttaglist.h:
7439           API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
7440
7441 2007-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
7442
7443         * docs/libs/Makefile.am:
7444         Include our build-prefix libs and includes before the generic ones to
7445         avoid linking against the installed libs when we want the build-tree
7446         ones.
7447
7448 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
7449
7450         Patch by: Steve Fink  <sphink gmail com>
7451
7452         * docs/pwg/building-testapp.xml:
7453           Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
7454           if people try to build or install the example from the plugin
7455           template against a GStreamer from package using the configure
7456           defaults.
7457
7458 2007-07-25  Tim-Philipp Müller  <tim at centricular dot net>
7459
7460         Patch by: Steve Fink  <sphink gmail com>
7461
7462         * tools/gst-inspect.1.in:
7463           Document --print-all and --print-plugin-auto-install-info command
7464           line options in man page.
7465
7466 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
7467
7468         * docs/gst/gstreamer-sections.txt:
7469         Add docs for new api function.
7470
7471 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
7472
7473         * gst/gstelementfactory.c: (gst_element_factory_has_interface):
7474         * gst/gstelementfactory.h:
7475         API: gst_element_factory_has_interface()
7476         Added method to check if an element factory implements a named
7477         interface.
7478
7479 2007-07-25  Stefan Kost  <ensonic@users.sf.net>
7480
7481         * configure.ac:
7482         * docs/gst/gstreamer.types.in:
7483           Another conditional doc check.
7484
7485         * gst/gstmessage.c:
7486         * gst/gstparamspecs.h:
7487         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7488         * gst/gstvalue.c:
7489         * gst/gstxml.h:
7490           API-doc fixes.
7491
7492 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7493
7494         * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
7495         (gst_registry_binary_load_feature),
7496         (gst_registry_binary_load_plugin),
7497         (gst_registry_binary_read_cache):
7498           Print error just once and with additional info.
7499
7500 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7501
7502         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
7503         (helper_find_suggest), (helper_find_get_length),
7504         (gst_type_find_helper_get_range), (buf_helper_find_suggest),
7505         (gst_type_find_helper_for_buffer):
7506           Cleanup the typefindhelper code and add private doc comments.
7507
7508 2007-07-24  Edward Hervey  <bilboed@bilboed.com>
7509
7510         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7511         (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
7512         Fix capsfilter for cases where the caps set on capsfilter will provide
7513         additional information.
7514         Fixes #449197
7515
7516 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7517
7518         * gst/gsttypefindfactory.c:
7519           Fix docs that recommened wrong function to use.
7520
7521 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7522
7523         * tools/gst-inspect.c: (print_plugin_features):
7524           Also give media-type for typefinders in element output.
7525
7526 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7527
7528         * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
7529         (gst_registry_remove_features_for_plugin_unlocked),
7530         (gst_registry_add_feature), (gst_registry_remove_feature),
7531         (gst_registry_lookup_feature_locked):
7532         * gst/gstregistry.h:
7533           Speed up gst_registry_lookup_feature_locked() by using a hashmap.
7534           Fixes #459501.
7535
7536 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7537
7538         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7539         (gst_plugin_feature_set_name):
7540           Avoid double memory usage for pluginfeature names. Fixes #459466.
7541
7542 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
7543
7544         * gst/gstpad.h:
7545           Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
7546           driving the pipeline may need to explicitly check for NOT_LINKED as
7547           well, since IS_FATAL doesn't cover that.
7548
7549 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
7550
7551         * docs/pwg/advanced-types.xml:
7552           Fix typo and duplicate entry in video formats list.
7553
7554 2007-07-22  Sebastian Dröge  <slomo@circular-chaos.org>
7555
7556         * libs/gst/controller/gstinterpolation.c:
7557         Also round to the nearest int when using cubic interpolation.
7558
7559 2007-07-19  Jan Schmidt  <thaytan@noraisin.net>
7560
7561         * libs/gst/controller/gstinterpolation.c:
7562         When linearly interpolating integer types, round to the nearest int
7563         by adding 0.5. Don't do it for float/double types.
7564         Fixes the failing controller test on my machine, which is somehow
7565         rounding differently than on the buildbots.
7566
7567 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7568
7569         * tools/gst-plot-timeline.py:
7570           Better log parsing (categories can have -). Adjust text vs. lines, so
7571           that they span the same y-range.        
7572
7573 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7574
7575         * docs/random/ensonic/audiobaseclasses.txt:
7576         * docs/random/ensonic/dynlink.txt:
7577         * docs/random/ensonic/profiling.txt:
7578           Save my thoughts.
7579
7580         * docs/random/moving-plugins:
7581           Add note to use g_assert type macros.
7582
7583 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7584
7585         * configure.ac:
7586         * libs/gst/check/Makefile.am:
7587           Add libm check as we use in for plugins.
7588
7589 2007-07-18  Jan Schmidt  <thaytan@noraisin.net>
7590
7591         * gst/gstbin.c: (gst_bin_continue_func):
7592         Check that the state_cookie hasn't changed since the continue_func
7593         was scheduled. Avoids problems where the state changes back to
7594         something it shouldn't be because it was changed in the meantime.
7595
7596 2007-07-17  Stefan Kost  <ensonic@users.sf.net>
7597
7598         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
7599         (gst_registry_binary_save_string),
7600         (gst_registry_binary_save_pad_template),
7601         (gst_registry_binary_save_feature),
7602         (gst_registry_binary_save_plugin),
7603         (gst_registry_binary_load_feature),
7604         (gst_registry_binary_load_plugin),
7605         (gst_registry_binary_read_cache):
7606           Fix memory leak. Be less verbose in the log.
7607
7608 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7609
7610         * tests/check/elements/.cvsignore:
7611         Add file to cvsignore as commanded.
7612
7613 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7614
7615         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
7616         (mq_dummypad_event), (run_output_order_test):
7617         Use a GStaticMutex to protect all cases where libcheck
7618         fail_if/fail_unless macros might be called from multiple threads
7619         simultaneously to avoid errors like:
7620           "check_pack.c:107: :-1081725400:Bad message type arg"
7621
7622 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7623
7624         * tests/check/pipelines/stress.c: (GST_START_TEST):
7625         Make sure we set the pipeline back to the NULL state before
7626         dropping our final reference.
7627
7628 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7629
7630         * tests/check/elements/tee.c: (GST_START_TEST):
7631         Make the tee stress-test a little less stressful so it doesn't just
7632         time out on slow-machines, and remove a small race when it's starting 
7633         up by adding a get_state() call.
7634
7635 2007-07-16  Stefan Kost  <ensonic@users.sf.net>
7636
7637         * gst/gst.c:
7638           Avoid reading registry twice on startup. Fixes #457322.
7639
7640 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
7641
7642         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7643         * pkgconfig/gstreamer-check.pc.in:
7644         Substitute the CFLAGS for libcheck into our .pc file too so that
7645         dependent modules will pick it up properly if libcheck is installed
7646         into some other prefix.
7647
7648 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
7649
7650         * configure.ac:
7651         Revert the pkg-config check for libcheck, since it pulls in the
7652         wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
7653         a proper solution, either from the check project, or something else.
7654
7655 2007-07-12  Stefan Kost  <ensonic@users.sf.net>
7656
7657         * configure.ac:
7658           Use pkg-config to locate check.
7659
7660 2007-07-10  Stefan Kost  <ensonic@users.sf.net>
7661
7662         * gst/gsttaglist.c:
7663           Fix doc syntax.
7664
7665         * gst/gstutils.c:
7666         * gst/gstutils.h:
7667           Add deprecation guards.
7668
7669         * libs/gst/base/gstcollectpads.h:
7670           Don't document object (this is implicitly private).
7671
7672 2007-07-08  Tim-Philipp Müller  <tim at centricular dot net>
7673
7674         * gst/gststructure.c: (gst_structure_parse_value):
7675           When deserialising foo=bar without a type cast, check if it's a
7676           boolean before falling back to a string type, otherwise things like
7677           audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
7678           because the filtercaps end up having a signed=(string)true field,
7679           which causes problems later when intersection caps.
7680
7681         * tests/check/gst/gststructure.c: (GST_START_TEST):
7682           Add a unit test for this.
7683
7684 2007-07-06  Sebastian Dröge  <slomo@circular-chaos.org>
7685
7686         Reviewed by: Stefan Kost <ensonic@users.sf.net>
7687
7688         * libs/gst/controller/Makefile.am:
7689         * libs/gst/controller/gstcontroller.c:
7690         (gst_controlled_property_add_interpolation_control_source),
7691         (gst_controlled_property_new), (gst_controlled_property_free),
7692         (gst_controller_find_controlled_property),
7693         (gst_controller_new_valist), (gst_controller_new_list),
7694         (gst_controller_new), (gst_controller_remove_properties_valist),
7695         (gst_controller_remove_properties_list),
7696         (gst_controller_remove_properties),
7697         (gst_controller_set_property_disabled),
7698         (gst_controller_set_disabled), (gst_controller_set_control_source),
7699         (gst_controller_get_control_source), (gst_controller_get),
7700         (gst_controller_sync_values), (gst_controller_get_value_array),
7701         (_gst_controller_dispose), (gst_controller_get_type),
7702         (gst_controlled_property_set_interpolation_mode),
7703         (gst_controller_set), (gst_controller_set_from_list),
7704         (gst_controller_unset), (gst_controller_unset_all),
7705         (gst_controller_get_all), (gst_controller_set_interpolation_mode):
7706         * libs/gst/controller/gstcontroller.h:
7707         * libs/gst/controller/gstcontrollerprivate.h:
7708         * libs/gst/controller/gstcontrolsource.c:
7709         (gst_control_source_class_init), (gst_control_source_init),
7710         (gst_control_source_get_value),
7711         (gst_control_source_get_value_array), (gst_control_source_bind):
7712         * libs/gst/controller/gstcontrolsource.h:
7713         * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
7714         (gst_object_get_control_source):
7715         * libs/gst/controller/gstinterpolation.c:
7716         (gst_interpolation_control_source_find_control_point_node),
7717         (gst_interpolation_control_source_get_first_value),
7718         (_interpolate_none_get), (interpolate_none_get),
7719         (interpolate_none_get_boolean_value_array),
7720         (interpolate_none_get_enum_value_array),
7721         (interpolate_none_get_string_value_array),
7722         (_interpolate_trigger_get), (interpolate_trigger_get),
7723         (interpolate_trigger_get_boolean_value_array),
7724         (interpolate_trigger_get_enum_value_array),
7725         (interpolate_trigger_get_string_value_array):
7726         * libs/gst/controller/gstinterpolationcontrolsource.c:
7727         (gst_control_point_free), (gst_interpolation_control_source_reset),
7728         (gst_interpolation_control_source_new),
7729         (gst_interpolation_control_source_set_interpolation_mode),
7730         (gst_interpolation_control_source_bind),
7731         (gst_control_point_compare), (gst_control_point_find),
7732         (gst_interpolation_control_source_set_internal),
7733         (gst_interpolation_control_source_set),
7734         (gst_interpolation_control_source_set_from_list),
7735         (gst_interpolation_control_source_unset),
7736         (gst_interpolation_control_source_unset_all),
7737         (gst_interpolation_control_source_get_all),
7738         (gst_interpolation_control_source_get_count),
7739         (gst_interpolation_control_source_init),
7740         (gst_interpolation_control_source_finalize),
7741         (gst_interpolation_control_source_dispose),
7742         (gst_interpolation_control_source_class_init):
7743         * libs/gst/controller/gstinterpolationcontrolsource.h:
7744         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
7745         API: Refactor GstController into the core controller which can take
7746         a GstControlSource for providing actual values for timestamps.
7747         Implement a interpolation control source and use this for backward
7748         compatibility, deprecate a bunch of functions that are now handled
7749         by GstControlSource or GstInterpolationControlSource.
7750         Make it possible to disable the controller completely or only for
7751         specific properties. Fixes #450711.
7752         * docs/libs/gstreamer-libs-docs.sgml:
7753         * docs/libs/gstreamer-libs-sections.txt:
7754         * docs/libs/gstreamer-libs.types:
7755         Add new functions and classes to the docs.
7756         * tests/check/libs/controller.c: (GST_START_TEST),
7757         (gst_controller_suite):
7758         * tests/examples/controller/audio-example.c: (main):
7759         Port unit test and example to the new API and add some new
7760         unit tests.
7761
7762 2007-07-05  Wim Taymans  <wim.taymans@gmail.com>
7763
7764         Patch by: Mark Nauwelaerts <manauw at skynet be>
7765
7766         * plugins/elements/gstmultiqueue.c:
7767         (gst_multi_queue_get_internal_links), (apply_buffer),
7768         (single_queue_overrun_cb), (gst_single_queue_new):
7769         Implement non-default GstPadIntLinkFunction for multiqueue pads so that
7770         the pipeline layout can be tracked correctly. Fixes #453732.
7771
7772 2007-07-05  Stefan Kost  <ensonic@users.sf.net>
7773
7774         * docs/gst/Makefile.am:
7775         * docs/libs/Makefile.am:
7776         * docs/plugins/Makefile.am:
7777           Simplify --extra-dir as gtkdoc scans recursively.
7778
7779 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
7780
7781         * tools/gst-launch.c: (main):
7782         When we got an error, there is no point in waiting for preroll when
7783         shutting down.
7784
7785 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
7786
7787         * plugins/elements/gsttee.c: (gst_tee_base_init),
7788         (gst_tee_request_new_pad), (gst_tee_release_pad),
7789         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
7790         (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
7791         (gst_tee_chain):
7792         Be a lot smarter when deciding what srcpad to use for proxying
7793         the buffer_alloc. Also handle pad added/removed when doing so.
7794         Fixes #357959.
7795         Keep track of what pads we already pushed on in case we have pads
7796         added/removed while pushing. Fixes #374639 
7797
7798         * tests/check/Makefile.am:
7799         * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
7800         (tee_suite):
7801         Added unit test for pad resync.
7802
7803 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7804
7805         * po/nl.po:
7806         * po/sv.po:
7807           Updated translations.
7808
7809 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7810
7811         translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
7812
7813         * po/LINGUAS:
7814         * po/fi.po:
7815           Added new Finnish translation.
7816
7817 2007-06-28  Wim Taymans  <wim@fluendo.com>
7818
7819         * plugins/elements/gstmultiqueue.c: (apply_buffer),
7820         (single_queue_overrun_cb):
7821         When figuring out when a queue is filled, use our internal time estimate
7822         based on segments, just like check_full does.
7823
7824 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
7825
7826         * gst/gstminiobject.c: (gst_mini_object_get_type):
7827           Remove 3 do-nothing methods.
7828
7829 2007-06-27  Wim Taymans  <wim@fluendo.com>
7830
7831         Patch by: Tim Angus <tim at ngus dot net>
7832
7833         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7834         (gst_capsfilter_set_property):
7835         Take a reference instead of a copy when setting "caps".
7836         Fix documentation to clarify this behaviour. Fixes #449414.
7837
7838 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
7839
7840         * gst/gstindexfactory.c: (gst_index_factory_get_type):
7841         * gst/gstplugin.c: (gst_plugin_init):
7842         * gst/gstpluginfeature.c: (gst_plugin_feature_init):
7843         * gst/gstquery.c: (gst_query_get_type):
7844         * gst/gstregistry.c: (gst_registry_init):
7845         * gst/gsturi.c: (gst_uri_handler_base_init):
7846           Remove empty instance_init() functions to save relocs and lessen the
7847           noise. Remove some of the function prototypes that are doubled by
7848           G_DEFINE_TYPE.
7849           
7850 2007-06-27  Wim Taymans  <wim@fluendo.com>
7851
7852         Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
7853
7854         * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
7855         Add peer and direction in the XML serialisation of ghostpads.
7856         Fixes #449226.
7857
7858 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
7859
7860         * configure.ac:
7861           Preserve useful information, thanks Tim.
7862
7863 2007-06-26  Jan Schmidt  <thaytan@noraisin.net>
7864
7865         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
7866         (gst_single_queue_flush), (apply_segment), (apply_buffer),
7867         (gst_single_queue_push_one), (gst_multi_queue_loop),
7868         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
7869         (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
7870         (compute_high_id), (gst_single_queue_new):
7871         * plugins/elements/gstmultiqueue.h:
7872         Take the multiqueue lock when updating the fill level so we don't get
7873         confused. 
7874
7875         After applying a buffer or event on the src pad segment, make sure to
7876         call gst_data_queue_limits_changed() to get the data queue to unblock
7877         and check the filled state again.
7878         
7879         Rework the not-linked pad handling so the logic is that not-linked 
7880         pads can push as fast as they like, but only so they never get 
7881         ahead of any linked pads.
7882
7883         * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
7884         (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
7885         (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
7886
7887         Add a test to check that not-linked pads always stay behind
7888         linked pads.
7889
7890         Fixes: #430682
7891
7892 2007-06-26  Jan Schmidt  <thaytan@mad.scientist.com>
7893
7894         * docs/random/release:
7895           Some updates to the release procedure.
7896
7897 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
7898
7899         * gst/gstelementfactory.c: (__gst_element_details_clear):
7900           Microoptimization that saves stunning 80 bytes.
7901
7902 2007-06-25  Stefan Kost  <ensonic@users.sf.net>
7903
7904         * docs/plugins/gstreamer-plugins.args:
7905         * docs/plugins/inspect/plugin-coreelements.xml:
7906         * docs/plugins/inspect/plugin-coreindexers.xml:
7907           Update docs with caps info.
7908
7909 2007-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7910
7911         * po/it.po:
7912           Updated Italian translation.
7913
7914 2007-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7915
7916         * ChangeLog:
7917         * po/vi.po:
7918           Update Vietnamese translations.
7919
7920 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
7921
7922         * libs/gst/base/gstbasesink.c:
7923           Remove unused signal enum.
7924
7925 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
7926
7927         * docs/gst/gstreamer-sections.txt:
7928         * gst/gstelement.c:
7929         * gst/gstutils.c: (gst_type_register_static_full):
7930         Beef up and include the docs for gst_type_register_static_full and
7931         gst_element_class_set_details_simple and add the API keyword
7932         in the ChangeLog.
7933
7934 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
7935
7936         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
7937         (update_time_level), (gst_single_queue_push_one),
7938         (gst_multi_queue_chain), (gst_multi_queue_sink_event),
7939         (single_queue_overrun_cb), (single_queue_underrun_cb),
7940         (single_queue_check_full):
7941         Fix setting max-* properties after adding queues.
7942         Use IS_FILLED for checking visible items.
7943         Signal overrun if multiple queues overrun.
7944         Add extra debug output.
7945         Patch by: Wim Taymans <wim@fluendo.com>
7946
7947 2007-06-21  Stefan Kost  <ensonic@users.sf.net>
7948
7949         * gst/gstelement.c: (gst_element_class_set_details_simple):
7950         * gst/gstelement.h:
7951         * gst/gstutils.c: (gst_type_register_static_full):
7952         * gst/gstutils.h:
7953         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
7954         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
7955         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
7956         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
7957         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
7958         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
7959         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
7960         * plugins/elements/gstidentity.c: (gst_identity_base_init):
7961         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
7962         * plugins/elements/gstqueue.c: (gst_queue_base_init),
7963         (apply_buffer), (gst_queue_chain):
7964         * plugins/elements/gsttee.c: (gst_tee_base_init):
7965         * plugins/elements/gsttypefindelement.c:
7966         (gst_type_find_element_base_init),
7967         (gst_type_find_element_class_init):
7968           Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
7969           API: add gst_type_register_static_full
7970           API: add gst_element_class_set_details_simple
7971
7972 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
7973
7974         * docs/pwg/advanced-types.xml:
7975           Fix typo in iana.org URI.
7976
7977 2007-06-19  Andy Wingo  <wingo@pobox.com>
7978
7979         * tests/check/pipelines/simple-launch-lines.c
7980         (test_state_change_returns): Enable pull-mode tests now that
7981         basesink has been fixed.
7982
7983         * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
7984         Changed from gst_base_sink_is_prerolled, reversing the sense of
7985         the return value. Returns FALSE also if the sink is in pull mode,
7986         in which case it needs no preroll.
7987         (gst_base_sink_query, gst_base_sink_change_state): Update for
7988         needs_preroll change.
7989         (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
7990         chaining up, in which we return SUCCESS directly if we activated
7991         in pull mode instead of ASYNC. Involves countering an async_start
7992         message sent before chaining up; not sure if this is correct, in
7993         an ideal world we only send async-start when activating in push
7994         mode.
7995
7996         * tests/check/pipelines/simple-launch-lines.c
7997         (test_state_change_returns): New test, partially disabled until
7998         basesink is fixed.
7999
8000 2007-06-19  Wim Taymans  <wim@fluendo.com>
8001
8002         * plugins/elements/gstmultiqueue.c: (apply_buffer),
8003         (gst_multi_queue_sink_event):
8004         Fix event leak.
8005
8006 2007-06-19  Wim Taymans  <wim@fluendo.com>
8007
8008         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
8009         (gst_bin_change_state_func), (bin_push_state_continue),
8010         (bin_handle_async_start), (bin_handle_async_done),
8011         (gst_bin_handle_message_func):
8012         Move the common code for posting state-change messages into
8013         one function.
8014         Broadcast the state signal after we posted the messages.
8015         Mark the bin as busy when it's doing a state-change.
8016         Make sure async-start/done messages don't interfere with the bin's
8017         state when it's busy.
8018         After the state change, let the bin check which elements completed the
8019         state change while it was busy so that it can update its state.
8020
8021 2007-06-19  Jan Schmidt  <thaytan@mad.scientist.com>
8022
8023         * docs/random/release:
8024         Add a note about updating the doap file to the release checklist
8025
8026 2007-06-18  Wim Taymans  <wim@fluendo.com>
8027
8028         * plugins/elements/gstmultiqueue.c: (apply_buffer),
8029         (gst_single_queue_push_one), (gst_multi_queue_chain),
8030         (gst_multi_queue_sink_event):
8031         Make sure we don't reference the buffer/event after we have given away
8032         ownership in the queue.
8033
8034 2007-06-18  Wim Taymans  <wim@fluendo.com>
8035
8036         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
8037         (gst_multi_queue_chain), (gst_multi_queue_sink_event):
8038         Update queue state _after_ adding the item in the queue because else we
8039         could end up being full without the element added yet.
8040
8041 2007-06-18  Wim Taymans  <wim@fluendo.com>
8042
8043         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
8044         (gst_bin_remove_func), (gst_bin_get_state_func),
8045         (gst_bin_element_set_state), (gst_bin_continue_func),
8046         (bin_push_state_continue), (bin_handle_async_start),
8047         (bin_handle_async_done), (gst_bin_handle_message_func):
8048         * gst/gstbin.h:
8049         Immediatly commit the toplevel bin state when receiving an async-done
8050         message. This enables us to avoid spawning a thread to commit the state
8051         in some common cases and it also avoids some races.
8052         Avoid spawning a state thread when adding/removing async elements to a
8053         toplevel bin. Instead we immediatly update the bin state.
8054         Get rid of iterating all the children when getting the state in the bin
8055         because it is now always up-to-date.
8056         Fix bug where locked elements would always return _SUCCESS even it they
8057         returned NO_PREROLL before being locked.
8058         Fix the order of the state_change, async-start/done messages that was
8059         sometimes incorrect.
8060         Mark the state_dirty field as deprecated, we don't need it anymore as we
8061         are always up-to-date.
8062
8063         * gst/gstelement.c: (gst_element_get_state_func),
8064         (gst_element_continue_state):
8065         Small debug inprovements.
8066         Return the previous element state return when nothing is pending instead
8067         of blindly returning SUCCESS.
8068
8069         * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
8070         (gst_sinks_suite):
8071         Add a whole bunch of new testcases.
8072
8073 2007-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8074
8075         * po/uk.po:
8076         * po/vi.po:
8077           Update translations.
8078
8079 2007-06-15  Jan Schmidt  <thaytan@mad.scientist.com>
8080
8081         * gst/gstpad.c:
8082         Fix typo in the docs.
8083
8084 2007-06-15  Wim Taymans  <wim@fluendo.com>
8085
8086         * docs/libs/gstreamer-libs-sections.txt:
8087         Add docs for new methods.
8088
8089 2007-06-15  Wim Taymans  <wim@fluendo.com>
8090
8091         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
8092         (gst_multi_queue_item_new):
8093         Don't use GSlice because we don't depend on >= 2.10 yet.
8094
8095 2007-06-15  Wim Taymans  <wim@fluendo.com>
8096
8097         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
8098         (update_time_level), (apply_segment), (apply_buffer),
8099         (gst_single_queue_push_one), (gst_multi_queue_item_new),
8100         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
8101         (gst_multi_queue_sink_event), (single_queue_overrun_cb),
8102         (single_queue_underrun_cb), (single_queue_check_full):
8103         Remove debug printf.
8104
8105 2007-06-15  Wim Taymans  <wim@fluendo.com>
8106
8107         * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
8108         (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
8109         (gst_data_queue_set_flushing), (gst_data_queue_push),
8110         (gst_data_queue_pop), (gst_data_queue_drop_head),
8111         (gst_data_queue_limits_changed), (gst_data_queue_get_level):
8112         * libs/gst/base/gstdataqueue.h:
8113         Various cleanups.
8114         Added methods to get the current levels and to inform the queue that the
8115         'full' limits changed.
8116
8117         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
8118         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
8119         (gst_single_queue_flush), (update_time_level), (apply_segment),
8120         (apply_buffer), (gst_single_queue_push_one),
8121         (gst_multi_queue_item_steal_object),
8122         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
8123         (gst_multi_queue_loop), (gst_multi_queue_chain),
8124         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
8125         (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
8126         (gst_multi_queue_src_query), (single_queue_overrun_cb),
8127         (single_queue_underrun_cb), (single_queue_check_full),
8128         (gst_single_queue_new):
8129         Keep track of time in the queue by measuring the difference between
8130         running_time on input and output. This gives more accurate results and
8131         can compensate for segments correctly.
8132         Make a queue by default only 5 buffers deep. We will now increase the
8133         buffer size depending on the filledness of the other queues.
8134         Factor out commong flush code.
8135         Make sure we don't add additional refcounts to buffers when we can avoid
8136         it.
8137         Propagate GstFlowReturn differently.
8138         Use GSlice for intermediate GstMultiQueueItems.
8139         Keep track of EOS.
8140         Resize queues on over and underruns based on filled level of other
8141         queues.
8142         When checking if the queue is filled, prefer to measure in time if we
8143         can and fall back to bytes when no time is known.
8144
8145         * plugins/elements/gstqueue.c:
8146         Fix return value.
8147
8148 2007-06-15  Wim Taymans  <wim@fluendo.com>
8149
8150         * libs/gst/base/gstbasetransform.c:
8151         (gst_base_transform_sink_event):
8152         Work around the brokenness of the event vmethod in basetransform. Prefer
8153         to return TRUE when the subclass returned FALSE (meaning don't forward
8154         the event). 
8155
8156         * libs/gst/base/gstbasetransform.h:
8157         Clarify the docs.
8158
8159 2007-06-15  Wim Taymans  <wim@fluendo.com>
8160
8161         * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
8162         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
8163         (gst_base_src_default_query), (gst_base_src_get_range),
8164         (gst_base_src_start):
8165         * tests/check/pipelines/parse-launch.c: (setup_pipeline):
8166         Improve debugging.
8167
8168 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
8169
8170         * docs/pwg/advanced-types.xml:
8171           Added more formats to caps table.
8172
8173 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
8174
8175         * tools/gst-launch.c: (main):
8176           Remove crufy code. GOption does not need this workaround.
8177
8178 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
8179
8180         * libs/gst/controller/gstcontroller.c:
8181         (gst_controlled_property_set_interpolation_mode):
8182           Fix wrong getter for enums in controller.
8183
8184 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8185
8186         * libs/gst/check/gstcheck.c: (gst_check_init):
8187           Intercept criticals and warnings in the Gst-Phonon log domain, so
8188           ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
8189           well.
8190         
8191 2007-06-14  Edward Hervey  <edward@fluendo.com>
8192
8193         * gst/gstparamspecs.c: (_gst_param_fraction_validate):
8194         Since this file doesn't include "gst.h" it will not go through the
8195         macros that disable GST_LOG if debugging was disabled.
8196
8197 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8198
8199         * libs/gst/check/Makefile.am:
8200         * libs/gst/check/gstcheck.h:
8201         * pkgconfig/gstreamer-check-uninstalled.pc.in:
8202         * pkgconfig/gstreamer-check.pc.in:
8203           Ugly 'fix' for the controller unit test on the p5 bot: in
8204           fail_unless_equals_float() check whether the values are 'almost
8205           equal' by allowing a small absolute error, which should be good
8206           enough for our use cases (normal numbers and values close to 0).
8207           Proper fixage left to floating point arithmetic aficionados.
8208
8209 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
8210
8211         * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
8212         (gst_base_sink_render_object), (gst_base_sink_get_position):
8213           Add two breaks thats where missing.
8214
8215 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8216
8217         * docs/libs/gstreamer-libs-sections.txt:
8218         * libs/gst/check/gstcheck.h:
8219           API: add fail_unless_equals_float() and assert_equals_float().
8220           Add documentation for some of the macros.
8221
8222         * tests/check/libs/controller.c: (GST_START_TEST):
8223           Use newly-added asserts.
8224
8225 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
8226
8227         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
8228           Show the caps change in the log to help spotting the case of not
8229           exactly matching caps.
8230
8231 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8232
8233         * docs/pwg/building-boiler.xml:
8234           Fix typos, spotted by Thijs Vermeir (#447190).
8235
8236 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8237
8238         * docs/plugins/tmpl/.cvsignore:
8239         Ignore file to keep the buildbots happy
8240
8241 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8242
8243         * docs/plugins/Makefile.am:
8244         * docs/plugins/gstreamer-plugins-docs.sgml:
8245         * docs/plugins/gstreamer-plugins-sections.txt:
8246         Pull fdsink into the docs too.
8247
8248 2007-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
8249
8250         * libs/gst/controller/gstinterpolation.c:
8251         Actually use the new functions with min/max checks for the trigger and
8252         none interpolation modes for get() and get_value_array() instead of
8253         just the latter.
8254
8255 2007-06-10  Sebastian Dröge  <slomo@circular-chaos.org>
8256
8257         * libs/gst/controller/gstcontroller.c:
8258         (gst_controlled_property_free):
8259         Unset the minimum and maximum GValues when freeing the corresponding
8260         GstControllerProperty struct.
8261
8262 2007-06-09  Sebastian Dröge  <slomo@circular-chaos.org>
8263
8264         * libs/gst/controller/gstcontroller.c:
8265         (gst_controlled_property_new):
8266         * libs/gst/controller/gstcontrollerprivate.h:
8267         * libs/gst/controller/gstinterpolation.c:
8268         (gst_controlled_property_find_control_point_node),
8269         (interpolate_none_get), (interpolate_none_get_enum_value_array),
8270         (interpolate_none_get_string_value_array),
8271         (interpolate_trigger_get),
8272         (interpolate_trigger_get_enum_value_array),
8273         (interpolate_trigger_get_string_value_array):
8274         Protect against values larger or smaller than the minimum or maximum
8275         allowed value for the property when using values that can be compared.
8276
8277         Optimize trigger interpolator a bit by taking the last requested value
8278         into account instead of always looping through the complete list.
8279
8280         Fix coding style a bit, everywhere else we use "return foo" instead
8281         of "return (foo)".
8282         
8283         * tests/check/libs/controller.c: (GST_START_TEST),
8284         (gst_controller_suite):
8285         Add unit test for the protection against too large or too small
8286         values.
8287
8288 2007-06-08  Sebastian Dröge  <slomo@circular-chaos.org>
8289
8290         * docs/random/slomo/controller.txt:
8291         Add some thoughts about the future of the controller.
8292
8293 2007-06-08  Wim Taymans  <wim@fluendo.com>
8294
8295         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
8296         Don't overflow in retimestamping code.
8297
8298 2007-06-07  Sebastien Moutte  <sebastien@moutte.net>
8299
8300         * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
8301         Use gst_util_guint64_to_gdouble for conversions.
8302         * win32/common/libgstreamer.def:
8303         Add new exported functions.
8304
8305 2007-06-07  Tim-Philipp Müller  <tim at centricular dot net>
8306
8307         * gst/gstutils.c:
8308           Small docs addition.
8309
8310 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8311
8312         * README:
8313           Remove that test line again.
8314
8315 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8316
8317         * README:
8318           Test commit mail sending.
8319
8320 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8321
8322         * configure.ac:
8323           Fix typo and test commit mail sending.
8324
8325 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8326
8327         * tests/examples/controller/audio-example.c:
8328           Improve comment and test commit mail sending.
8329
8330 2007-06-07  Wim Taymans  <wim@fluendo.com>
8331
8332         * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
8333         (gst_bin_remove_func), (gst_bin_element_set_state),
8334         (bin_handle_async_start), (bin_handle_async_done),
8335         (gst_bin_handle_message_func):
8336         Add helper function to find messages.
8337         Generate the async-done messages together with the state change
8338         messages.
8339         Small cleanups in handling toplevel bins.
8340
8341 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8342
8343         * libs/gst/base/gstdataqueue.c:
8344         * libs/gst/base/gstdataqueue.h:
8345         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
8346         (gst_multi_queue_item_new), (gst_multi_queue_chain),
8347         (gst_multi_queue_sink_event):
8348         * tests/check/elements/multiqueue.c: (multiqueue_suite):
8349           Fix multiqueue leaking buffers and events when downstream or the
8350           queue are flushing. Make refcounting assumptions explicit and
8351           document them (shouldn't break existing code that uses it other than
8352           maybe leak miniobjects, but that already happens anyway). Add unit
8353           test for the most common flushing case. Fixes #423700.
8354           
8355 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
8356
8357         * libs/gst/controller/gstcontroller.c:
8358         Clarify docs: The get_all, get_value_array(s) functions
8359         don't modify the GObject properties.
8360
8361 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
8362
8363         * libs/gst/controller/gstcontroller.c:
8364         (gst_controlled_property_set_interpolation_mode),
8365         (gst_controlled_property_prepend_default),
8366         (gst_controlled_property_new), (gst_controller_set_unlocked),
8367         (gst_controller_set), (gst_controller_set_from_list),
8368         (gst_controller_unset), (gst_controller_unset_all):
8369         * libs/gst/controller/gstcontrollerprivate.h:
8370         * libs/gst/controller/gstinterpolation.c:
8371         Factor out the 'set' logic into gst_controller_set_unlocked for the
8372         gst_controller_set and gst_controller_set_from_list functions.
8373
8374         To make life of the interpolators easier always add a control point
8375         at timestamp zero with the default value.
8376
8377         In the linear interpolator make things more obvious by better variable
8378         naming (slope).
8379
8380         Implement cubic interpolation mode (by using a natural cubic spline)
8381         and map the quadratic interpolation mode to this too (as quadratic
8382         doesn't make much sense, see discussion on the list).
8383
8384         * tests/check/libs/controller.c: (GST_START_TEST),
8385         (gst_controller_suite):
8386         Add unit test for the cubic interpolation mode and check everywhere
8387         if the interpolation mode could be set as expected.
8388
8389 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8390
8391         * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
8392           Don't use GLib-2.10 functions, we still depend on
8393           GLib-how-old-is-it-again-2.8.
8394
8395 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8396
8397         * docs/gst/gstreamer-sections.txt:
8398         * gst/Makefile.am:
8399         * gst/gst.c:
8400         * gst/gst.h:
8401         * gst/gstparamspecs.c: (_gst_param_fraction_init),
8402         (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
8403         (_gst_param_fraction_values_cmp),
8404         (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
8405         * gst/gstparamspecs.h:
8406         * gst/gstvalue.c:
8407         * tests/check/Makefile.am:
8408         * tests/check/gst/.cvsignore:
8409         * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
8410         (gst_dummy_obj_class_init), (gst_dummy_obj_init),
8411         (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
8412         (GST_START_TEST), (gst_param_spec_suite):
8413           API: add GstParamSpecFraction, so elements can have fraction
8414           properties without lots of painful string parsing (#444648).
8415
8416 2007-06-05  Wim Taymans  <wim@fluendo.com>
8417
8418         * gst/gstobject.c: (gst_object_class_init):
8419         Fix signal signature.
8420
8421         * gst/gstsegment.c:
8422         Add small clarification in the api docs.
8423
8424         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
8425         States are protected with object lock.
8426
8427 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
8428
8429         * AUTHORS:
8430         I should probably be listed as an author by now.
8431
8432         * docs/random/release:
8433         Update the release doc
8434
8435 2007-06-05  Tim-Philipp Müller  <tim at centricular dot net>
8436
8437         * gst/gstvalue.c:
8438           Make docs for gst_value_compare() mention return enums that
8439           actually exist.
8440
8441 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
8442
8443         * configure.ac:
8444           Back to CVS
8445
8446 === release 0.10.13 ===
8447
8448 2007-06-05  Jan Schmidt <thaytan@mad.scientist.com>
8449
8450         * configure.ac:
8451           releasing 0.10.13, "With or without you"
8452
8453 2007-05-25  Wim Taymans  <wim@fluendo.com>
8454
8455         * gst/gstbin.c: (bin_handle_async_done):
8456         Make sure that the child bin stops after completing the async state
8457         change so that the parent can continue the state change to PLAYING.
8458         Fixes #441159.
8459
8460 2007-05-25  Wim Taymans  <wim@fluendo.com>
8461
8462         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8463         (unref_data), (gst_collect_pads_remove_pad),
8464         (gst_collect_pads_check_pads):
8465         Use additional refcounting to avoid crashes when dynamically adding and
8466         removing pads. Fixes #420206.
8467
8468 2007-05-24  Wim Taymans  <wim@fluendo.com>
8469
8470         * tools/gst-launch.c: (event_loop):
8471         When buffering goes from a two digit to a single digit number, make sure
8472         to remove the old second digit by writing a blank over it.
8473
8474 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
8475
8476         * libs/gst/base/gstdataqueue.c:
8477           Eliminate tabs and trailing comma in enum list; fix some typos.
8478
8479 2007-05-24  Wim Taymans  <wim@fluendo.com>
8480
8481         * tests/check/gst/gstbin.c: (GST_START_TEST):
8482         Allow refcount of 3 and 4 because some state thread might still be busy
8483         with it.
8484
8485 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
8486
8487         * plugins/elements/Makefile.am:
8488         * plugins/elements/gstmultiqueue.h:
8489         * plugins/elements/gstqueue.h:
8490           These are not installed headers, no need for padding.
8491
8492 2007-05-24  Wim Taymans  <wim@fluendo.com>
8493
8494         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
8495         (gst_bin_continue_func):
8496         Enable latency for next release.
8497         Restore STATE_LOCK around recalc_state that was left out during the
8498         rewrite and could result in racy behaviour when _get_state and
8499         recalc_state are run concurrently. See #440463.
8500
8501 2007-05-23  Wim Taymans  <wim@fluendo.com>
8502
8503         * tests/check/gst/gstsystemclock.c: (store_callback),
8504         (GST_START_TEST):
8505         Improve test_async_order to also work when both timers are already
8506         expired when we get scheduled to check it.
8507
8508 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8509
8510         * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
8511         (gst_bin_set_property), (gst_bin_get_property),
8512         (gst_bin_remove_func), (gst_bin_handle_message_func):
8513         * gst/gstbin.h:
8514           'private' is a c++ keyword, let's not use that in header files,
8515           otherwise c++ compilers will throw a tantrum.
8516
8517 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8518
8519         * plugins/elements/gstelements.c:
8520         * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
8521         (gst_file_sink_get_current_offset):
8522         * plugins/indexers/gstindexers.c: (plugin_init):
8523           Use #ifdef for HAVE_XYZ for consistency.
8524
8525         * tests/check/Makefile.am:
8526         * tests/check/elements/.cvsignore:
8527         * tests/check/elements/filesink.c: (setup_filesink),
8528         (cleanup_filesink), (GST_START_TEST), (filesink_suite):
8529           Add some unit tests for filesink.
8530
8531 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8532
8533         Patch by: Mark Nauwelaerts <manauw at skynet be>
8534
8535         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
8536         (gst_file_sink_query), (gst_file_sink_do_seek),
8537         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8538         * plugins/elements/gstfilesink.h:
8539           Fix position reporting; rename data_written member to current_pos to
8540           reflect its real meaning (fixes #412648).
8541
8542 2007-05-22  Edward Hervey  <edward@fluendo.com>
8543
8544         * docs/gst/gstreamer-sections.txt:
8545         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
8546         (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
8547         (gst_bin_remove_func), (gst_bin_handle_message_func):
8548         * gst/gstbin.h:
8549         Add a property for bins that handle the state change of their childs.
8550         Fixes #435880
8551
8552 2007-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
8553
8554         * libs/gst/controller/gstinterpolation.c:
8555         Use an array of the correct type when using _get_value_array with
8556         linear interpolation.
8557
8558 2007-05-22  Stefan Kost  <ensonic@users.sf.net>
8559
8560         * gst/gstelement.c (gst_element_requires_clock,
8561           gst_element_provides_clock, gst_element_request_pad,
8562           gst_element_class_set_details, gst_element_class_set_details_simple,
8563           gst_element_default_send_event, gst_element_abort_state,
8564           gst_element_continue_state, gst_element_set_state,
8565           gst_element_set_state_func, iterator_activate_fold_with_resync):
8566         * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
8567           gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
8568           gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
8569           gst_pad_get_range, gst_pad_pull_range):
8570         * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
8571           GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
8572           GstPadActivateModeFunction, GstPadChainFunction,
8573           GstPadGetCapsFunction, GstPadAcceptCapsFunction,
8574           GstPadFixateCapsFunction, GstPadTemplate):
8575         * gst/gstpipeline.c (gst_pipeline_change_state,
8576           gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
8577           gst_pipeline_set_clock, gst_pipeline_auto_clock,
8578           gst_pipeline_get_delay):
8579           Whitespace and docs fixes.
8580
8581 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8582
8583         * libs/gst/controller/gstinterpolation.c:
8584         (interpolate_trigger_get_enum_value_array),
8585         (interpolate_trigger_get_string_value_array):
8586         Add support for retrieving value arrays when using the trigger
8587         interpolation mode. 
8588
8589 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8590
8591         * libs/gst/controller/gstcontroller.c:
8592         (gst_controller_get_value_array):
8593         * libs/gst/controller/gstcontroller.h:
8594         Clarify the docs of gst_controller_get_value_array(): The array where
8595         the values should be written to must be allocated as there seems to be
8596         no way to get the size of a random GType. This doesn't change any
8597         behaviour. Also fix some typos all over the place and remove an unused,
8598         commented function that is not necessary as g_object_set() could be
8599         used instead.
8600         * tests/check/libs/controller.c: (GST_START_TEST),
8601         (gst_controller_suite):
8602         Add unit test for gst_controller_get_value_array().
8603
8604 2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>
8605
8606         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
8607
8608         Disable part of the gst_buffer_try_new_and_alloc test, because
8609         it can happily succeed on 64-bit systems where there's more address
8610         space available.
8611
8612 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8613
8614         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
8615         Add unit test for the improved caps checking from bug #421543.
8616
8617 2007-05-21  Wim Taymans  <wim@fluendo.com>
8618
8619         * docs/design/part-synchronisation.txt:
8620         Small addition.
8621
8622         * gst/gstbin.c: (gst_bin_query):
8623         * plugins/elements/gstqueue.c: (apply_segment):
8624         Improve debugging.
8625
8626         * gst/gstmessage.h:
8627         Improve docs.
8628
8629 2007-05-21  Wim Taymans  <wim@fluendo.com>
8630
8631         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
8632         (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
8633         (gst_pad_configure_src):
8634         Added simple version of improved caps checking. It was previously
8635         assumed that a setcaps function would check the validity of the caps but
8636         people prefer us to check caps against the template automatically. 
8637         Fixes #421543.
8638
8639 2007-05-21  Wim Taymans  <wim@fluendo.com>
8640
8641         * libs/gst/base/gstbasetransform.h:
8642         Fix macro for locking/unlocking the transform lock.
8643
8644 2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
8645
8646         * docs/plugins/tmpl/.cvsignore:
8647           Ignore more.
8648
8649 2007-05-18  Edward Hervey  <edward@fluendo.com>
8650
8651         * plugins/elements/gstqueue.c: (gst_queue_loop):
8652         Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
8653         for the subtle art of warning a potentially blocking thread that it
8654         should check the source pad return value, and relay the information
8655         upstream.
8656
8657 2007-05-18  Edward Hervey  <edward@fluendo.com>
8658
8659         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
8660         Release the queue lock !
8661
8662 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8663
8664         * docs/libs/gstreamer-libs-sections.txt:
8665         Add the two new controller functions to the appropiate places.
8666
8667 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8668
8669         reviewed by: Stefan Kost <ensonic@users.sf.net>
8670
8671         * libs/gst/controller/gstcontroller.c:
8672         (gst_controller_suggest_next_sync), (gst_controller_sync_values),
8673         (_gst_controller_get_property), (_gst_controller_set_property),
8674         (_gst_controller_init), (_gst_controller_class_init):
8675         * libs/gst/controller/gstcontroller.h:
8676         * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
8677         (gst_object_get_control_rate), (gst_object_set_control_rate):
8678         API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
8679         Add API that provides sync suggestion timestamps for elements that
8680         call gst_object_sync_values() from which those elements can subdivide
8681         their processing loop to get the best results for the controlled
8682         properties. For now it just suggests last_sync + control_rate as
8683         new timestamp but this will be improved in the future.
8684
8685         While doing that change the control-rate property to a GstClockTime
8686         from guint and change it's meaning from samples to nanoseconds as
8687         the GstController doesn't know anything about sampling rate. Strictly
8688         speaking this breaks ABI but as the control-rate property didn't do
8689         anything in the past and as such couldn't be used this should be no
8690         problem.        
8691
8692 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8693
8694         reviewed by: Stefan Kost <ensonic@users.sf.net>
8695
8696         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
8697         (gst_controller_unset_all):
8698         * libs/gst/controller/gstcontrollerprivate.h:
8699         * libs/gst/controller/gstinterpolation.c:
8700         (gst_controlled_property_find_control_point_node):
8701         Save last synced value from the list to continue searching from there
8702         in future syncs. This speeds everything up a bit.
8703         
8704 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8705
8706         reviewed by: Stefan Kost <ensonic@users.sf.net>
8707
8708         * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
8709         (gst_control_point_find), (gst_controlled_property_new),
8710         (gst_control_point_free), (gst_controlled_property_free),
8711         (gst_controller_set), (gst_controller_set_from_list),
8712         (gst_controller_unset), (gst_controller_unset_all),
8713         (gst_controller_sync_values):
8714         * libs/gst/controller/gstcontroller.h:
8715         * libs/gst/controller/gstcontrollerprivate.h:
8716         * libs/gst/controller/gstinterpolation.c:
8717         (gst_controlled_property_find_control_point_node),
8718         (interpolate_none_get), (interpolate_trigger_get):
8719         Add a new private GstControlPoint struct which "inherits" from
8720         GstTimedValue to allow different interpolators to store internal
8721         values next to each control point. From the outside everything is
8722         still a GstControlPoint so we don't loose binary compatibility.
8723         Also fixup all the GValue handling to not leak GValues or list nodes.
8724         * tests/check/libs/controller.c: (GST_START_TEST):
8725         Free the list nodes and GValues in the controller_misc test.
8726
8727 2007-05-17  Edward Hervey  <edward@fluendo.com>
8728
8729         * gst/gstsegment.c:
8730         Small doc fix.
8731
8732 2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
8733
8734         * gst/gstplugin.c: (gst_plugin_load_file):
8735           If we fail to load a plugin because of unresolved symbols or missing
8736           libraries and spew a warning to stderr, we may just as well mention
8737           which plugin it was that failed to load.
8738
8739 2007-05-13  David Schleef  <ds@schleef.org>
8740
8741         * docs/Makefile.am: the gtk-doc makefile snippet correctly
8742           handles the case when ENABLE_GTK_DOC is false, and installs
8743           the prebuilt documentation.  So gtk-doc subdirs are 
8744           unconditionally enabled.  Fixes: #349099.
8745
8746 2007-05-13  David Schleef  <ds@schleef.org>
8747
8748         * gst/gstutils.h: Reword some documentation.
8749
8750 2007-05-12  David Schleef  <ds@schleef.org>
8751
8752         * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
8753           do anything with the passed "module" parameter, so remove it.
8754           Allows removal of additional vestigal code.
8755
8756 2007-05-12  David Schleef  <ds@schleef.org>
8757
8758         * gst/gstplugin.c:
8759           Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
8760           Switch to using g_stat() because it's more portable.
8761
8762 2007-05-12  David Schleef  <ds@schleef.org>
8763
8764         * gst/gst.c:
8765           Add GST_DISABLE_OPTION_PARSING, in order to disable option
8766           parsing for embedded systems.
8767         * gst/gstelementfactory.c:
8768           Allow gst_element_register() to be called with plugin==NULL.
8769           Did nobody notice that static elements were broken?
8770
8771 2007-05-12  Wim Taymans  <wim@fluendo.com>
8772
8773         * tools/gst-launch.c: (event_loop):
8774         Give more interesting info when buffering starts and stops.
8775         Fix case where buffering starts but we fail to update the buffering flag
8776         because the target state is not PLAYING.
8777
8778 2007-05-12  Wim Taymans  <wim@fluendo.com>
8779
8780         * plugins/elements/gstqueue.c: (gst_queue_init),
8781         (gst_queue_finalize), (update_time_level), (apply_segment),
8782         (apply_buffer), (gst_queue_locked_flush),
8783         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
8784         (gst_queue_handle_sink_event), (gst_queue_chain),
8785         (gst_queue_push_one), (gst_queue_loop):
8786         * plugins/elements/gstqueue.h:
8787         Refactor an cleanup queue a bit.
8788         Do better time level calculations that also work when the srcpad is not
8789         yet running.
8790         Remove some unneeded debug lines.
8791
8792         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
8793         Added testcase for time level measurement.
8794         Try to make some stuff more racefree.
8795
8796 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
8797
8798         * gst/gsturi.c: (gst_element_make_from_uri):
8799           Don't leak plugin feature.
8800
8801         * tests/check/Makefile.am:
8802         * tests/check/gst/.cvsignore:
8803         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
8804           Add brain-dead unit test.
8805
8806 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
8807
8808         Patch by: Jeroen Wouters <woutersj at gmail com>
8809
8810         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
8811           Treat protocol strings in a case-insensitive way (#437563).
8812
8813 2007-05-11  Michael Smith <msmith@fluendo.com>
8814
8815         * gst/gstplugin.c: (gst_plugin_load_file):
8816         * gst/gstregistry.c: (gst_registry_scan_path_level):
8817           Don't print a g_warning for any failure to load a shared object.
8818           Instead, push this down into gstplugin.c, and warn _only_ if we
8819           failed to open the module (i.e. failure to link).
8820           Avoids warnings on normal, working, non-plugin .so files.
8821
8822 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
8823
8824         * gst/gstplugin.c (gst_plugin_load_file):
8825         * gst/gstregistry.c (GST_CAT_DEFAULT,
8826           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
8827           Print a g_warning if there was an error when loading a plugins during
8828           registry scan. The shuld help beginners starting with gst-plugin
8829           template.
8830
8831 2007-05-10  Wim Taymans  <wim@fluendo.com>
8832
8833         * plugins/elements/gstqueue.c: (gst_queue_class_init),
8834         (update_time_level), (gst_queue_locked_flush),
8835         (gst_queue_handle_sink_event), (gst_queue_chain),
8836         (gst_queue_push_one), (gst_queue_loop):
8837         * plugins/elements/gstqueue.h:
8838         Be smarter when calculating the current amount of data in the queue by
8839         measuring the difference between start and end timestamps (in running
8840         time) inside the queue. Fixes #432876.
8841         API: GstQueue::pushing to notify elements that we are pushing data again
8842         since the running signal is rather broken for this purpose.
8843
8844 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
8845
8846         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
8847           gst_queue_base_init, gst_queue_init):
8848           use GST_BOILERPLATE
8849
8850 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
8851
8852         * win32/common/libgstreamer.def:
8853         Add new exported functions.
8854         * win32/vs6/grammar.dsp:
8855         Use grammar pre-generated files.
8856
8857 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
8858
8859         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
8860
8861         * gst/Makefile.am:
8862         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
8863         * gst/gstparse.h:
8864         * gst/gstutils.c: (gst_parse_bin_from_description):
8865         * gst/gstutils.h:
8866           Maintain API and ABI when --disable-parse is used. Now that
8867           we have an appropriate error code, we can just return NULL and the
8868           appropriate error when gst_parse_launch() is used despite it having
8869           been disabled (#342564).
8870
8871         * tests/check/Makefile.am:
8872         * tests/check/pipelines/.cvsignore:
8873         * tests/check/pipelines/parse-disabled.c:
8874           Make sure these functions exist and return NULL plus a GError when
8875           --disable-parse is used.
8876
8877 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
8878
8879         * tests/benchmarks/complexity.c: (main):
8880         * tests/benchmarks/mass-elements.c: (main):
8881           Set a good example and don't leak messages.
8882
8883 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
8884
8885         * docs/gst/Makefile.am:
8886         * docs/libs/Makefile.am:
8887           Correct fixxrefs options.
8888
8889         * docs/plugins/Makefile.am:
8890         * docs/plugins/gstreamer-plugins-docs.sgml:
8891         * docs/plugins/gstreamer-plugins-sections.txt:
8892         * plugins/elements/Makefile.am:
8893         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
8894         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
8895           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
8896           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
8897           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
8898           _GstCapsFilterClass, trans_class):
8899         * plugins/elements/gstelements.c (name, rank, type, _elements):
8900         * plugins/elements/gstidentity.c
8901           (gst_identity_check_imperfect_timestamp,
8902           gst_identity_check_imperfect_offset):
8903           Document capsfilter and add doc-blurb to identity.
8904
8905 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
8906
8907         * libs/gst/controller/gstcontroller.c:
8908         (gst_controlled_property_set_interpolation_mode):
8909         * libs/gst/controller/gstinterpolation.c:
8910           Don't crash if someone tries to set an interpolation mode that
8911           is invalid or that isn't supported yet. Fixes #422295.
8912
8913         * tests/check/libs/controller.c: (GST_START_TEST),
8914         (gst_controller_suite):
8915           Add a test case for the above.
8916
8917 2007-05-03  Edward Hervey  <edward@fluendo.com>
8918
8919         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
8920         Properly set the last_stop position on GstSegment. This will only happen
8921         if there is a buffer to push out.
8922
8923 2007-05-03  Wim Taymans  <wim@fluendo.com>
8924
8925         * libs/gst/base/gstbasetransform.c:
8926         (gst_base_transform_buffer_alloc):
8927         always_in_place does not mean that the sink and source caps are the
8928         same! Make sure we don't blindly proxy the buffer_alloc in this case.
8929
8930 2007-05-03  Wim Taymans  <wim@fluendo.com>
8931
8932         * docs/libs/gstreamer-libs-sections.txt:
8933         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
8934         (gst_base_src_default_query), (gst_base_src_get_range):
8935         * libs/gst/base/gstbasesrc.h:
8936         API: gst_base_src_query_latency(). Added method so that subclasses can
8937         easily get the latency values of the base source class.
8938
8939 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
8940
8941         * tools/gst-inspect.c (print_implementation_info):
8942         Remove 0.8 cruft.
8943
8944 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
8945
8946         * tools/Makefile.am:
8947         * tools/gst-launch.1.in:
8948           Don't create a customised man page based on the host architecture,
8949           describe the default registry path generically. That way the man
8950           page is the same for all architectures and packagers have one
8951           multilib issue less to deal with. Fixes #434926.
8952
8953 2007-05-02  Wim Taymans  <wim@fluendo.com>
8954
8955         * gst/gstpad.c:
8956         Fix documentation as spotted by rg on IRC. 
8957
8958 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
8959
8960         * gst/gstutils.c:
8961           Improve docs for gst_element_{link,unlink}.
8962
8963 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
8964
8965         * docs/design/part-events.txt:
8966         * docs/design/part-overview.txt:
8967         * gst/gstevent.c:
8968         * gst/gsturi.c:
8969         * gst/gsturi.h:
8970         * libs/gst/base/gstbasesink.c:
8971           Typo fixes; minor docs addition.
8972
8973 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
8974
8975         * docs/gst/gstreamer-sections.txt:
8976         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
8977         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
8978         * gst/gsturi.h:
8979         API: Add gst_uri_protocol_is_supported(), which checks if a sink
8980         or src that supports a given URI protocol exists.
8981
8982 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
8983
8984         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
8985         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
8986         Set the location to NULL if "file://" is set as URI. Otherwise
8987         some random previous URI would still be set if "file://" is
8988         set on an already used filesink/filesrc.
8989
8990 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
8991
8992         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
8993         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
8994         Special case the "file://" URI as as this is used by some
8995         applications to test with gst_element_make_from_uri if there's
8996         an element that supports the URI protocol.
8997         Also move the g_path_is_absolute() check for the location part
8998         of the URI to also check this for "file://localhost/bla" URIs.
8999
9000 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
9001
9002         * docs/gst/gstreamer-sections.txt:
9003         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
9004         * gst/gstbuffer.h:
9005         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
9006         (gst_buffer_suite):
9007           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
9008
9009 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
9010
9011         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
9012         (gst_registry_binary_load_pad_template),
9013         (gst_registry_binary_load_plugin),
9014         (gst_registry_binary_read_cache):
9015         * gst/gstregistrybinary.h:
9016           Implement no-mmap alternative for registry reading. Do code cleanups.
9017           Add more comments about avoiding strdups for all text data. Comments
9018           welcome.
9019
9020 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
9021
9022         * gst/gstregistrybinary.h (GstBinaryPluginElement,
9023           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
9024           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
9025           Comment structs and reformat to fix the build (that stuff should go
9026           into a priv. header).
9027
9028 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
9029
9030         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
9031         (gst_registry_binary_load_feature):
9032         * gst/gstregistrybinary.h:
9033           Refactor so that we can implement multiple features. Add support for
9034           TypeFindFactory features.
9035
9036 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
9037
9038         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
9039
9040         * configure.ac:
9041           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
9042
9043 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
9044
9045         * gst/gstbin.c: (gst_bin_element_set_state),
9046         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
9047         (bin_handle_async_done), (gst_bin_handle_message_func):
9048           Fix build with --gst-disable-gst-debug
9049
9050 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
9051
9052         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
9053           Make sure streaming has finished before calling the ::stop() vfunc,
9054           since that vfunc might clear state which is being used in the
9055           streaming thread. This fixes a race that caused crashes in
9056           audioresample when shutting down a pipeline (#420106).
9057
9058 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
9059
9060         * docs/gst/gstreamer-sections.txt:
9061           That was one byte missing.
9062
9063 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
9064
9065         * configure.ac:
9066         * docs/gst/gstreamer-sections.txt:
9067         * gst/Makefile.am:
9068         * gst/gstconfig.h.in:
9069         * gst/gstobject.c: (gst_object_class_init),
9070         (gst_signal_object_class_init):
9071         * gst/gstobject.h:
9072           2nd attempt to have a xml-less build as a joined effort of #413123
9073           and #421480.
9074
9075 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
9076
9077         * docs/design/draft-tagreading.txt:
9078           Added open issues/thoughts to draft.
9079
9080 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
9081
9082         * gst/parse/grammar.tab.pre.c:
9083         * gst/parse/grammar.tab.pre.h:
9084         * gst/parse/lex._gst_parse_yy.pre.c:
9085         Update the prebuild parser sources.
9086
9087 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
9088
9089         * gst/parse/Makefile.am:
9090         And now fix the building of the flex sources. Now everything should
9091         work as expected.
9092
9093 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
9094
9095         * gst/parse/Makefile.am:
9096         Now hopefully fix the build failures by setting proper rule
9097         dependencies and moving instead of copying.
9098
9099 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
9100
9101         * tests/benchmarks/complexity.gnuplot:
9102         * tests/benchmarks/complexity.scm:
9103         * tests/benchmarks/mass-elements.gnuplot:
9104         * tests/benchmarks/mass-elements.scm:
9105           Total licensification.
9106
9107 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
9108
9109         * gst/parse/Makefile.am:
9110           Fix the build by correcting the rule that gave wrong files to flex.
9111
9112 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
9113
9114         * tests/benchmarks/complexity.c:
9115         * tests/benchmarks/mass-elements.c:
9116           Change licence to LGPL as granted by Benjamin and Andy.
9117
9118 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
9119
9120         * gst/parse/Makefile.am:
9121         Add correct grammar.tab.h dependency if compiling without new enough
9122         flex. Fixes #431150.
9123
9124 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
9125
9126         * gst/parse/Makefile.am:
9127         Fix typo and use outdated sources if the flex/bison sources are newer
9128         than the pregenerated ones but flex is too old. Print a warning in
9129         that case. This should fix the build on the build bot.
9130
9131 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
9132
9133         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
9134         * gst/parse/Makefile.am:
9135         * gst/parse/grammar.y:
9136         * gst/parse/parse.l:
9137         Make the parser reentrant and recursively callable. This requires flex
9138         >= 2.5.31, for older versions pregenerated sources are used as we
9139         can't bump the build dependency. Finally fixes #349180.
9140
9141         * gst/gstparse.c: (gst_parse_launch):
9142         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
9143         now anyway.
9144
9145         * docs/gst/Makefile.am:
9146         * docs/gst/Makefile.am:
9147         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
9148         (__gst_parse_strfree), (__gst_parse_link_new),
9149         (__gst_parse_link_free), (__gst_parse_chain_new),
9150         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
9151         (gst_parse_element_set), (gst_parse_free_link),
9152         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
9153         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
9154         (_gst_parse_launch):
9155         * gst/parse/grammar.tab.pre.h:
9156         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
9157         (yy_get_previous_state), (yy_try_NUL_trans), (input),
9158         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
9159         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
9160         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
9161         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
9162         (_gst_parse_yypop_buffer_state),
9163         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
9164         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
9165         (yy_fatal_error), (_gst_parse_yyget_extra),
9166         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
9167         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
9168         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
9169         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
9170         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
9171         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
9172         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
9173         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
9174         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
9175         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
9176         (_gst_parse_yyfree):
9177         If the installed flex version is too old use pre-generated parser
9178         sources. These pre-generated parser sources are always updated when
9179         the actual flex/bison sources change but require everybody who wants
9180         to change something in the parser to have flex >= 2.5.31 installed.
9181
9182 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
9183
9184         * common/m4/gst-gettext.m4:
9185         * gst/gst-i18n-lib.h:
9186           Make --disable-nls to work
9187
9188 2007-04-17  Wim Taymans  <wim@fluendo.com>
9189
9190         * gst/gstconfig.h.in:
9191         Revert previous change that broke the build.
9192
9193 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
9194
9195         * configure.ac:
9196         * gst/Makefile.am:
9197         * gst/gstconfig.h.in:
9198           Drop libxml2 dependency when building with 
9199           --enable-binary-registry --disable-loadsave
9200
9201 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
9202
9203         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
9204         (gst_registry_binary_read_cache):
9205         * gst/gstregistrybinary.h:
9206           Remove unnecessary <sys/mman.h> include which broke the win32 build
9207           with MingW; move includes from header file to .c file, even if the
9208           header file isn't installed; use g_strerror() where UTF-8 strings
9209           are expected, such as in GST_DEBUG messages.
9210
9211 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9212
9213         * docs/libs/gstreamer-libs-sections.txt:
9214         Remove bogus addition for API I didn't end up keeping.
9215
9216         * libs/gst/base/gstbasesrc.h:
9217         Mention Since: 0.10.13 in the documentation.
9218
9219         Add the API keyword to the previous ChangeLog entry.
9220
9221 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9222
9223         * docs/libs/gstreamer-libs-sections.txt:
9224         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9225         (gst_base_src_default_prepare_seek_segment),
9226         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
9227         * libs/gst/base/gstbasesrc.h:
9228         Allow basesrc derived classes to execute seeks in other formats
9229         by providing a prepare_seek_segment vmethod. Sub-classes can choose
9230         to prepare the GstSegment in any format that their perform_seek method
9231         will be able to understand. The default implementation provides the
9232         old behaviour of attempting to convert the seek offsets to the 
9233         configured native format.
9234
9235         API: basesrc::prepare_seek_segment vmethod.
9236
9237 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9238
9239         * gst/gstelement.c: (gst_element_get_state_func):
9240         Don't output the same debug statement twice.
9241
9242         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
9243         (gst_adapter_peek), (gst_adapter_take_buffer):
9244         Optimise the case where we have buffers at the head of the queue that
9245         can be joined quickly (because they're contiguous sub-buffers) by
9246         merging them together rather than copying data out into new memory.
9247
9248         * gst/parse/grammar.y:
9249         * tests/check/pipelines/parse-launch.c:
9250         Fix a leak in an error path for parse_launch, and add a check 
9251         for it to the testsuite.
9252
9253 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9254
9255         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
9256           Don't deadlock when releasing a pad - gst_pad_set_active may try
9257           and take the multiqueue lock too.
9258
9259 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
9260
9261         * gst/gsterror.c: (_gst_core_errors_init):
9262         * gst/gsterror.h:
9263           API: add GST_CORE_ERROR_DISABLED (#392804).
9264
9265 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9266
9267         * docs/faq/gst-uninstalled:
9268           don't get empty paths on the PATH variables
9269         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
9270           Don't format for the uncommon terminal width of 84 characters.
9271
9272 2007-04-06  Wim Taymans  <wim@fluendo.com>
9273
9274         * gst/gstpipeline.c: (reset_stream_time),
9275         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
9276         Only try to select a different pipeline clock when we went back to
9277         PAUSED and not when we merely got flushed.
9278
9279 2007-04-05  Michael Smith  <msmith@fluendo.com>
9280
9281         * tools/gst-launch.1.in:
9282           fractions are better supported in gstreamer than ractions, so
9283           suggest using those.
9284
9285 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9286
9287         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
9288
9289         * po/LINGUAS:
9290         * po/da.po:
9291           Added Danish translation.
9292
9293 2007-04-05  Wim Taymans  <wim@fluendo.com>
9294
9295         * libs/gst/base/gstbasesink.c:
9296         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
9297         Fix leak caused when refusing newsegment after EOS.
9298
9299         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
9300         (gst_fake_sink_init), (gst_fake_sink_set_property),
9301         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
9302         (gst_fake_sink_render), (gst_fake_sink_change_state):
9303         * plugins/elements/gstfakesink.h:
9304         Add num-buffers property to make the element generate EOS after a
9305         configurable amount of buffers.
9306         API: fakesink::num-buffers property.
9307
9308         * tests/check/elements/fakesink.c: (GST_START_TEST),
9309         (fakesink_suite):
9310         Fix GstBus leak in test.
9311         Test for fakesink num-buffers.
9312
9313 2007-04-05  Wim Taymans  <wim@fluendo.com>
9314
9315         * libs/gst/base/gstbasesink.c:
9316         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
9317         (gst_base_sink_change_state):
9318         Don't accept anything after an EOS, return UNEXPECTED instead.
9319
9320         * tests/check/elements/fakesink.c: (GST_START_TEST),
9321         (fakesink_suite):
9322         Unit test for new EOS behaviour.
9323
9324 2007-04-05  Wim Taymans  <wim@fluendo.com>
9325
9326         * gst/gstelement.c: (gst_element_get_request_pad):
9327         Make padtemplates also work when they don't contain %s or %d.
9328
9329 2007-04-05  Wim Taymans  <wim@fluendo.com>
9330
9331         * docs/gst/gstreamer-sections.txt:
9332         * gst/gstclock.c: (gst_clock_adjust_unlocked),
9333         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
9334         * gst/gstclock.h:
9335         Improve _adjust_unlocked() so that it overflows less.
9336         Add gst_clock_unadjust_unlocked to convert from external time to
9337         internal time based on calibration.
9338         Add some more debug.
9339         API: GstClock::gst_clock_unadjust_unlocked()
9340
9341 2007-04-03  Wim Taymans  <wim@fluendo.com>
9342
9343         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
9344
9345         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
9346         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
9347         when releasing sink pad. Fixes #425400.
9348
9349 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
9350
9351         * docs/random/ensonic/dynlink.txt:
9352           More work on proposal for new core api.
9353
9354         * docs/libs/gstreamer-libs-sections.txt:
9355         * libs/gst/base/gstbasetransform.h:
9356           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
9357           
9358         * libs/gst/controller/gstcontroller.c:
9359         (on_object_controlled_property_changed),
9360         (gst_controller_sync_values),
9361         (gst_controller_set_interpolation_mode):
9362         * libs/gst/controller/gstcontroller.h:
9363           Less verbose logging add docs for unimplemented parts and correctly
9364           return when using unavailable parts.
9365
9366 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
9367
9368         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
9369         Move all the debug to the CLOCK category, and associate it with
9370         the clock object.
9371
9372 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
9373
9374         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
9375         Make take_buffer a bit quicker by removing redundant checks
9376         caused by calling gst_adapter_take.
9377
9378 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
9379
9380         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
9381           Don't leak GCond.
9382
9383         * tests/check/Makefile.am:
9384         * tests/check/elements/.cvsignore:
9385         * tests/check/elements/multiqueue.c: (setup_multiqueue),
9386         (GST_START_TEST), (multiqueue_suite):
9387           Add some dead simple unit tests for the 'multiqueue' element
9388           (some bits don't work yet and are disabled for now).
9389
9390 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
9391
9392         * gst/gstelement.c: (gst_element_get_request_pad),
9393         (gst_element_class_get_request_pad_template):
9394           Make gst_element_get_request_pad() create request pads only for
9395           request pad templates and not for, say, sometimes pad templates.
9396
9397 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
9398
9399         * docs/design/draft-klass.txt:
9400           Add example that needs more thinking.
9401         
9402         * docs/design/draft-missing-plugins.txt:
9403           More thoughts about wrapper plugins.
9404         
9405         * docs/random/ensonic/embedded.txt:
9406         * docs/random/ensonic/profiling.txt:
9407           More design work.
9408
9409 2007-03-25  Wim Taymans  <wim@fluendo.com>
9410
9411         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
9412         (gst_base_src_loop):
9413         Only push the segment events in the PLAYING state for live sources.
9414
9415 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
9416
9417         * gst/gstpipeline.c: (gst_pipeline_change_state):
9418         Modify the clock distribution path in PAUSED->PLAYING so that we 
9419         never attempt to choose a new clock unless we're actually leaving
9420         the PAUSED state for the first time. This prevents choosing a
9421         different clock when the state_change gets called for a 2nd time due
9422         to some element doing an async state change.
9423
9424 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
9425
9426         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
9427         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
9428         (gst_pad_chain_unchecked), (gst_pad_push):
9429         Revert last commit. This needs some more thoughts.
9430
9431 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
9432
9433         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
9434         (gst_pad_chain_unchecked), (gst_pad_push):
9435         Check in set_caps if the caps are compatible with the pad and remove
9436         two functions that are redundant now. Fixes #421543.
9437
9438 2007-03-22  Wim Taymans  <wim@fluendo.com>
9439
9440         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
9441         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
9442         Unref some more to make valgrind happy.
9443
9444 2007-03-22  Wim Taymans  <wim@fluendo.com>
9445
9446         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
9447         (gst_system_clock_id_wait_jitter),
9448         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
9449         Fix anoying regression that survived a few releases. When adding an
9450         async entry while blocking on a sync entry, the sync entry will unblock
9451         but still be busy, so it should continue to wait instead of returning
9452         _BUSY to the app.
9453         Add some comments here and there.
9454
9455         * tests/check/gst/gstsystemclock.c: (mixed_thread),
9456         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
9457         Add testcase for this.
9458
9459 2007-03-22  Wim Taymans  <wim@fluendo.com>
9460
9461         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
9462         Handle errors from the clock sync better, only UNSCHEDULED indicates a
9463         WRONG_STATE and can silently pause the task. All other cases should
9464         error out.
9465
9466 2007-03-22  Wim Taymans  <wim@fluendo.com>
9467
9468         Patch by: Ville Syrjala <syrjala at sci dot fi>
9469
9470         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
9471         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
9472         Improve debugging.
9473
9474 2007-03-21  Michael Smith  <msmith@fluendo.com>
9475
9476         * docs/pwg/advanced-types.xml:
9477           Fix some errors in the typefinding docs pointed out on irc.
9478
9479 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
9480
9481         * libs/gst/base/gstbasesrc.c:
9482         Clarify FIXME comment in the face of having added unlock_stop()
9483
9484 2007-03-21  Wim Taymans  <wim@fluendo.com>
9485
9486         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
9487         Prepare for release where we warn against possible app breakage in the
9488         case of live pipelines along with an env var to enable/disable live
9489         preroll mode (GST_COMPAT=[no-]live-preroll).
9490
9491 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9492
9493         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
9494         So we should use correct constants for checking for None offset.
9495
9496 2007-03-20  Wim Taymans  <wim@fluendo.com>
9497
9498         * docs/design/part-block.txt:
9499         Mention the fact that the newly switched element should be set to at
9500         least PAUSED.
9501
9502 2007-03-20  Wim Taymans  <wim@fluendo.com>
9503
9504         * gst/gst.c:
9505         Fix compilation with registry disabled as spotted by Saur.
9506
9507 2007-03-20  Wim Taymans  <wim@fluendo.com>
9508
9509         Patch by: Olivier Crete <tester at tester dot ca>
9510
9511         * gst/gstelement.c: (gst_element_sync_state_with_parent):
9512         Look at the pending state too when syncing the element state to the
9513         parent. Fixes #420133.
9514
9515 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
9516
9517         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
9518         (gst_base_sink_change_state):
9519         * libs/gst/base/gstbasesink.h:
9520         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
9521         (gst_base_src_default_event), (gst_base_src_unlock_stop),
9522         (gst_base_src_deactivate):
9523         * libs/gst/base/gstbasesrc.h:
9524         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
9525         for sub-classes to correctly clear any state they set trying to
9526         unlock, such as clearing out unlock commands from a command fd.
9527         API: basesrc::unlock_stop
9528         API: basesink::unlock_stop
9529
9530         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
9531         (gst_fd_sink_render), (gst_fd_sink_unlock),
9532         (gst_fd_sink_unlock_stop):
9533         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
9534         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
9535         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
9536
9537         Implement unlock_stop in fdsrc and fdsink.
9538         Implement seeking in fdsrc when a seekable fd is passed, as in
9539         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
9540
9541 2007-03-19  Wim Taymans  <wim@fluendo.com>
9542
9543         Patch by: Evan Nemerson <evan at coeus dash group dot com>
9544
9545         * gst/gstelement.c: (gst_element_class_init):
9546         Fix pad-added and pad-removed signal signatures so that the pad type is
9547         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
9548
9549 2007-03-19  Wim Taymans  <wim@fluendo.com>
9550
9551         * docs/gst/gstreamer-sections.txt:
9552         Add new element field and method.
9553
9554         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
9555         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
9556         (gst_bin_recalc_state), (gst_bin_get_state_func),
9557         (gst_bin_element_set_state), (gst_bin_change_state_func),
9558         (gst_bin_continue_func), (bin_bus_handler),
9559         (bin_push_state_continue), (bin_handle_async_start),
9560         (bin_handle_async_done), (gst_bin_handle_message_func):
9561         Make async state changes a bit smarter by using new ASYNC_START and
9562         ASYNC_DONE messages. This reduces the number of times we run the state
9563         recalculation thread.
9564         Don't change state of element with a pending ASYNC_START message.
9565         Deprecate STATE_DIRTY messages.
9566         
9567         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
9568         (gst_element_get_state_func), (gst_element_continue_state),
9569         (gst_element_lost_state), (gst_element_set_state_func),
9570         (gst_element_change_state):
9571         * gst/gstelement.h:
9572         Keep the state that was last set by the app in a new element field.
9573         Don't allow state changes when handling an element event.
9574         Post ASYNC_START and ASYNC_DONE messages.
9575         Change lost_state so that we go to PAUSED and wait for the parent to set
9576         us to PLAYING again (so latency calculation can be performed)
9577         Export gst_element_change_state() method so that subclasses can use it.
9578         API: gst_element_change_state()
9579         API: GST_STATE_TARGET
9580
9581         * gst/gstpipeline.c: (gst_pipeline_class_init),
9582         (reset_stream_time), (gst_pipeline_change_state),
9583         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
9584         Using the new ASYNC_START message we can reset the base_time when
9585         needed. This can then be used to implement base_time redistribution in
9586         flushing seeks so that we can remove the explicit seek handling.
9587         Perform latency query and configuration when going to PLAYING.
9588
9589         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9590         (gst_base_sink_query), (gst_base_sink_change_state):
9591         Post new ASYNC_START/ASYNC_DONE messages.
9592
9593         * tests/check/generic/sinks.c: (GST_START_TEST):
9594         Fix test because the bin will not set the async element to PLAYING right
9595         away.
9596
9597         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
9598         Make the message check a little stronger.
9599         Handle ASYNC messages.
9600
9601         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
9602         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
9603         Expect ASYNC_DONE messages.
9604
9605 2007-03-19  Wim Taymans  <wim@fluendo.com>
9606
9607         * docs/gst/gstreamer-sections.txt:
9608         * gst/gstmessage.c: (gst_message_new_async_start),
9609         (gst_message_new_async_done), (gst_message_parse_info),
9610         (gst_message_parse_async_start):
9611         * gst/gstmessage.h:
9612         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
9613         support.
9614
9615 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
9616
9617         * tools/gst-inspect.c:
9618         (print_plugin_automatic_install_info_codecs):
9619           Now that we don't check for the 'Codec' keyword any longer in the
9620           klass, we shouldn't spew a warning if the klass isn't a decoder or
9621           encoder (since it might be a Source/Network, for example).
9622
9623 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
9624
9625         * tools/gst-inspect.c:
9626         (print_plugin_automatic_install_info_codecs):
9627           Don't require decoder/demuxer/depayloader elements or
9628           encoder/muxer/paylader elements to have 'Codec' as part of their
9629           factory class string when introspecting a plugin's capabilities.
9630           draft-klass.txt mentions that it might be removed in future, and
9631           flump3dec doesn't have it as part of its class string, so chances
9632           are others might also not have it.
9633
9634 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9635
9636         * po/af.po:
9637         * po/az.po:
9638         * po/bg.po:
9639         * po/ca.po:
9640         * po/cs.po:
9641         * po/de.po:
9642         * po/en_GB.po:
9643         * po/fr.po:
9644         * po/it.po:
9645         * po/nb.po:
9646         * po/nl.po:
9647         * po/ru.po:
9648         * po/sq.po:
9649         * po/sr.po:
9650         * po/sv.po:
9651         * po/tr.po:
9652         * po/uk.po:
9653         * po/vi.po:
9654         * po/zh_CN.po:
9655         * po/zh_TW.po:
9656           Update translations from translation project
9657
9658 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
9659
9660         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
9661         (gst_child_proxy_set_property):
9662           Invert precondition check to be alike the ones in the mimiced gobject
9663           api.
9664
9665 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
9666
9667         * docs/design/draft-tagreading.txt:
9668         * docs/random/ensonic/audiobaseclasses.txt:
9669           Do some Architect work.
9670
9671         * gst/gstobject.c: (gst_object_set_name):
9672           Add a WARNING.
9673
9674         * gst/gstpad.c:
9675           Add docs that point from gst_pad_get_range to gst_pad_pull_range
9676
9677 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
9678
9679         * gst/gstsystemclock.c: (gst_system_clock_init),
9680         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
9681         Defer starting the async system clock thread until the first async
9682         wait is scheduled. Fixes #414986.
9683
9684 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
9685
9686         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
9687         (gst_single_queue_free):
9688           Fix small leak (free GstSingleQueue structure too, not only contents).
9689
9690 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
9691
9692         * gst/gstbin.c:(gst_bin_add):
9693         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
9694         * win32/common/libgstbase.def:
9695         * win32/common/libgstreamer.def:
9696         Add new exported functions.
9697
9698 2007-03-09  Wim Taymans  <wim@fluendo.com>
9699
9700         * docs/plugins/gstreamer-plugins-sections.txt:
9701         Fix GstTee docs.
9702
9703 2007-03-09  Wim Taymans  <wim@fluendo.com>
9704
9705         * docs/gst/gstreamer-sections.txt:
9706         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
9707         * gst/gstbuffer.h:
9708         Add metadata copy functions. Fixes #393099.
9709         API: gst_buffer_copy_metadata()
9710
9711         * gst/gstutils.c: (gst_buffer_stamp):
9712         * libs/gst/base/gstbasetransform.c:
9713         (gst_base_transform_prepare_output_buffer):
9714         Use new metadata copy functions.
9715
9716 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9717
9718         * plugins/elements/gstidentity.c: (gst_identity_class_init),
9719         (gst_identity_init), (gst_identity_check_perfect),
9720         (gst_identity_check_imperfect_timestamp),
9721         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
9722         (gst_identity_set_property), (gst_identity_get_property):
9723         * plugins/elements/gstidentity.h:
9724         Separate out check-imperfect-timestamp and check-imperfect-offset.
9725         Put back check-perfect as it was to keep compatibility.
9726
9727 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
9728
9729         * gst/gstelement.c: (gst_element_dispose):
9730         There's no need to warn if VOID_PENDING is not NONE here, as
9731         long as the state is NULL it's ok, and that's checked immediately
9732         above.
9733
9734 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9735
9736         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9737         Fix check for perfect stream to ignore buffers with -1 
9738         offsets/offset ends when checking data contiguity.
9739
9740 2007-03-08  Wim Taymans  <wim@fluendo.com>
9741
9742         * tools/gst-launch.c: (event_loop):
9743         Print INFO messages.
9744
9745 2007-03-08  Wim Taymans  <wim@fluendo.com>
9746
9747         * libs/gst/base/gstbasetransform.c:
9748         (gst_base_transform_sink_eventfunc),
9749         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
9750         (gst_base_transform_activate):
9751         * libs/gst/base/gstbasetransform.h:
9752         Add support for dropping buffers with custom GstFlowReturn.
9753         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
9754         buffers or dropped buffers.
9755
9756         * docs/libs/gstreamer-libs-sections.txt:
9757         docs for new custom return code.
9758
9759         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
9760         Use drop support in base class to implement drop-probability.
9761
9762 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
9763
9764         * gst/gst.c: (load_plugin_func):
9765         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
9766         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
9767         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
9768           Remove newlines at end of debug log strings.
9769
9770 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9771
9772         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9773         Only post bus message at max, once per buffer received.
9774
9775 2007-03-07  Wim Taymans  <wim@fluendo.com>
9776
9777         * docs/design/Makefile.am:
9778         * docs/design/part-synchronisation.txt:
9779         Add doc about synchronisation
9780
9781         * docs/design/draft-latency.txt:
9782         * docs/design/part-TODO.txt:
9783         * docs/design/part-clocks.txt:
9784         * docs/design/part-events.txt:
9785         * docs/design/part-gstbus.txt:
9786         * docs/design/part-gstpipeline.txt:
9787         * docs/design/part-live-source.txt:
9788         * docs/design/part-messages.txt:
9789         * docs/design/part-overview.txt:
9790         * docs/design/part-streams.txt:
9791         * docs/design/part-trickmodes.txt:
9792         Documentation updates.
9793
9794 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
9795
9796         * gstreamer.doap:
9797         Update the doap file.
9798
9799 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9800
9801         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9802         Rename non-perfect to imperfect for Mike and for the sanctity of the
9803         language.
9804         Also make sure bus message gets emitted for data-incontiguities.
9805
9806 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9807
9808         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
9809         (gst_identity_start):
9810         * plugins/elements/gstidentity.h:
9811         Emit bus message if check-perfect is true and we encounter a
9812         non-perfect stream between 2 consecutive buffers.
9813         Fixes #415394.
9814
9815 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
9816
9817         * configure.ac:
9818         Back to CVS
9819
9820 === release 0.10.12 ===
9821
9822 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
9823
9824         * configure.ac:
9825           releasing 0.10.12, "Inevitable Demise"
9826
9827 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
9828
9829         * configure.ac:
9830          Version 0.10.11.2 (0.10.12 pre-release)
9831          Bump libtool versioning.
9832
9833 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
9834
9835         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
9836           Log flow-names and not numbers.
9837
9838 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9839
9840         * configure.ac:
9841           Convert to new AG_GST style.
9842
9843 2007-02-28  Wim Taymans  <wim@fluendo.com>
9844
9845         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
9846         Don't unref query twice.
9847
9848 2007-02-28  Wim Taymans  <wim@fluendo.com>
9849
9850         * gst/gstvalue.c: (gst_value_transform_object_string),
9851         (_gst_value_initialize):
9852         Implement GstObject -> string transform so we print object names
9853         when serializing GValues containing GstObjects.
9854
9855 2007-02-28  Wim Taymans  <wim@fluendo.com>
9856
9857         * docs/gst/gstreamer-sections.txt:
9858         Add new stuff to docs.
9859
9860 2007-02-28  Wim Taymans  <wim@fluendo.com>
9861
9862         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
9863         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
9864         (gst_base_sink_change_state):
9865         Improve latency query code.
9866         Don't leak latency events.
9867
9868         * tests/check/gst/gstbin.c: (GST_START_TEST):
9869         Improve debugging.
9870
9871 2007-02-28  Wim Taymans  <wim@fluendo.com>
9872
9873         * gst/gstelement.c: (gst_element_message_full),
9874         (gst_element_get_state_func):
9875         * gst/gstelement.h:
9876         Improve docs a little. Added Since: for new macro.
9877
9878         * gst/gstobject.c: (gst_object_sink):
9879         * gst/gstpipeline.c: (gst_pipeline_change_state),
9880         (gst_pipeline_set_new_stream_time):
9881         * gst/gstpipeline.h:
9882         Improve debugging and docs.
9883
9884         * gst/gstutils.c: (gst_element_state_change_return_get_name):
9885         Improve debugging.
9886
9887 2007-02-28  Wim Taymans  <wim@fluendo.com>
9888
9889         * gst/gstelement.c: (gst_element_message_full),
9890         (gst_element_set_locked_state), (gst_element_get_state_func),
9891         (gst_element_change_state):
9892         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
9893         Documentation updates.
9894         Small code cleanups.
9895
9896         * gst/gstmessage.c: (gst_message_new_info),
9897         (gst_message_parse_info):
9898         * gst/gstmessage.h:
9899         API: gst_message_new_info()
9900         API: gst_message_parse_info()
9901         Add INFO message create and parse code.
9902
9903 2007-02-28  Wim Taymans  <wim@fluendo.com>
9904
9905         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
9906         (bin_query_latency_done):
9907         Also report the live parameter of a latency query.
9908
9909 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9910
9911         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
9912           Copy the current generic/states example from -base and adapt so
9913           we can use the exact same code everywhere.
9914           Check a STATES_IGNORE_ELEMENTS env var which can be used
9915           to ignore certain element factories for this test, which is
9916           what is being done in -base
9917         * tests/check/Makefile.am:
9918           Mention this environment variable.
9919
9920 2007-02-27  Wim Taymans  <wim@fluendo.com>
9921
9922         * docs/gst/gstreamer-sections.txt:
9923         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
9924         (gst_bus_timed_pop), (gst_bus_pop):
9925         * gst/gstbus.h:
9926         API: gst_bus_timed_pop()
9927         Implement gst_bus_timed_pop() to do a blocking timed wait for a
9928         message to arrive on the bus.
9929
9930         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
9931         (gst_bus_suite):
9932         Two unit tests for new _timed_pop() function.
9933
9934 2007-02-23  Wim Taymans  <wim@fluendo.com>
9935
9936         * gst/gstpipeline.c: (gst_pipeline_change_state),
9937         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
9938         Don't ref a NULL clock in _provide_clock_func().
9939         Don't allow an INVALID delay.
9940         Don't try to calculate base_time with an invalid start_time.
9941         Also distribute and notify a NULL clock when it was selected.
9942
9943         * tools/gst-launch.c: (event_loop):
9944         Don't crash when a NULL clock was selected in the pipeline.
9945
9946 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
9947
9948         * docs/design/Makefile.am:
9949         * docs/design/draft-missing-plugins.txt:
9950         * docs/random/draft-missing-plugins.txt:
9951           Some small updates: update plugin system identifier prefix
9952           ('gstreamer.net' to 'gstreamer'), mention our new install
9953           API in libgstbaseutils rather than libgimme-codec, add
9954           reference to the online docs.
9955
9956 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9957
9958         * win32/common/config.h:
9959           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
9960           use moap cl ci to only check in what is mentioned in the ChangeLog.
9961
9962 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9963
9964         * docs/gst/gstreamer-sections.txt:
9965         * gst/gstelement.h:
9966           Fix up documentation to link to the correct GstGError section.
9967           Add GST_ELEMENT_INFO macro since someone else added a Info message.
9968
9969 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9970
9971         * tools/gst-launch.c: (event_loop):
9972           Make sure that we actually show the important message part of a
9973           warning message.
9974           No need to check if the gerror is not NULL to free; first of all
9975           g_free accepts NULL; and second the default error handler would
9976           segfault if gerror was NULL.
9977
9978 2007-02-21  Wim Taymans  <wim@fluendo.com>
9979
9980         * docs/gst/gstreamer-sections.txt:
9981         Removed docs as well.
9982
9983 2007-02-21  Wim Taymans  <wim@fluendo.com>
9984
9985         * gst/gstmessage.c: (gst_message_parse_duration):
9986         * gst/gstmessage.h:
9987         Remove new messages for release.
9988
9989 2007-02-20  Wim Taymans  <wim@fluendo.com>
9990
9991         * docs/design/part-gstghostpad.txt:
9992         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
9993         (gst_ghost_pad_new_full):
9994         Make the ghostpad a parent of the internal pad again for better backward
9995         compatibility. Don't write code that relies on this however.
9996
9997         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
9998         (gst_pad_link_check_hierarchy):
9999         Require that parents should be GstElements in the hierarchy check.
10000
10001 2007-02-20  Wim Taymans  <wim@fluendo.com>
10002
10003         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
10004         (gst_bin_change_state_func), (bin_query_min_max_init),
10005         (bin_query_latency_fold), (bin_query_latency_done),
10006         (gst_bin_query):
10007         Improve debug info.
10008         Implement latency query.
10009
10010 2007-02-20  Wim Taymans  <wim@fluendo.com>
10011
10012         * docs/design/part-gstghostpad.txt:
10013         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
10014         (gst_ghost_pad_internal_do_activate_push),
10015         (gst_ghost_pad_internal_do_activate_pull),
10016         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
10017         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
10018         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
10019         Do not set the internal pad as a parent anymore so we can avoid
10020         hierarchy linking errors when the ghostpad has no parent yet. This also
10021         fixes failed activation because of unlinked internal pads, which in
10022         turn fixes the impossible case where you have to activate a pad before
10023         you can add it to a running element.
10024         Also fix the docs.
10025
10026         * gst/gstpad.c: (pre_activate), (post_activate),
10027         (gst_pad_set_active), (gst_pad_activate_pull),
10028         (gst_pad_activate_push), (gst_pad_check_pull_range):
10029         Add some more debug info.
10030         Mark activation mode in pre_activate so that we don't try to activate in
10031         endless loops. Fixes #385084.
10032
10033 2007-02-19  Wim Taymans  <wim@fluendo.com>
10034
10035         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
10036         (gst_base_transform_check_get_range):
10037         Implement a checkgetrange function instead of relying on the default
10038         core behaviour that assumes we can operate in pull mode if we have a
10039         getrange function. First step at fixing #385084.
10040
10041 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
10042
10043         * gst/gstchildproxy.h:
10044         * libs/gst/base/gstbasesink.h:
10045         * libs/gst/base/gstbasesrc.h:
10046         * libs/gst/base/gstbasetransform.h:
10047         More docs coverage and some ChangeLog surgery (add missing names)
10048
10049 2007-02-15  Wim Taymans  <wim@fluendo.com>
10050
10051         * docs/design/part-TODO.txt:
10052         * docs/design/part-activation.txt:
10053         * docs/design/part-block.txt:
10054         * docs/design/part-buffering.txt:
10055         * docs/design/part-clocks.txt:
10056         * docs/design/part-element-source.txt:
10057         * docs/design/part-events.txt:
10058         * docs/design/part-gstbin.txt:
10059         * docs/design/part-gstbus.txt:
10060         * docs/design/part-gstpipeline.txt:
10061         * docs/design/part-live-source.txt:
10062         * docs/design/part-messages.txt:
10063         * docs/design/part-overview.txt:
10064         * docs/design/part-qos.txt:
10065         * docs/design/part-query.txt:
10066         * docs/design/part-states.txt:
10067         * docs/design/part-trickmodes.txt:
10068         Some doc updates. Start renaming from stream_time to running_time where
10069         it was used wrongly.
10070
10071 2007-02-15  Wim Taymans  <wim@fluendo.com>
10072
10073         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
10074         Answer LATENCY query.
10075
10076 2007-02-15  Wim Taymans  <wim@fluendo.com>
10077
10078         * tests/check/gst/gstevent.c: (event_probe), (test_event),
10079         (GST_START_TEST):
10080         Improve debugging.
10081
10082 2007-02-15  Wim Taymans  <wim@fluendo.com>
10083
10084         * gst/gstpad.c: (gst_pad_get_internal_links_default),
10085         (gst_pad_dispatcher):
10086         Improve debugging of default pad dispatcher and query functions.
10087
10088 2007-02-15  Wim Taymans  <wim@fluendo.com>
10089
10090         * docs/gst/gstreamer-sections.txt:
10091         Remove old unused method.
10092
10093 2007-02-13  Wim Taymans  <wim@fluendo.com>
10094
10095         * tests/check/gst/gstsegment.c: (GST_START_TEST):
10096         Fix check
10097
10098 2007-02-13  Wim Taymans  <wim@fluendo.com>
10099
10100         * docs/design/part-seeking.txt:
10101         Some small update.
10102
10103         * gst/gstsegment.c: (gst_segment_set_seek):
10104         Revert old bogus change that should make seeking work again.
10105
10106 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
10107
10108         * docs/random/ensonic/dynlink.txt:
10109         * docs/random/ensonic/interfaces.txt:
10110         * docs/random/ensonic/receipies.txt:
10111           Possible dynamic reconnection api, plus some type fixes the other two
10112           docs.
10113
10114 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
10115
10116         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
10117         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
10118         Also check for an absolute path following file:// in the filesrc
10119         element. Remove redundant check and call g_path_is_absolute() on the
10120         unescaped location.
10121
10122 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
10123
10124         * docs/design/draft-klass.txt:
10125           Add existing category analysis.
10126           
10127         * gst/gstcaps.c:
10128           Fix doc example, framerate is a fraction.
10129
10130 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
10131
10132         * configure.ac:
10133         * docs/gst/Makefile.am:
10134         * docs/gst/gstreamer-sections.txt:
10135         * docs/libs/Makefile.am:
10136           Erm, forgot a bunch of --extra-dir.
10137
10138 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
10139
10140         * configure.ac:
10141         * docs/gst/Makefile.am:
10142         * docs/libs/Makefile.am:
10143         * docs/plugins/Makefile.am:
10144           Add crossreferences to glib/gobject docs.
10145
10146 2007-02-12  Wim Taymans  <wim@fluendo.com>
10147
10148         * docs/design/draft-latency.txt:
10149         Small update.
10150
10151         * docs/libs/gstreamer-libs-sections.txt:
10152         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
10153         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
10154         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
10155         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
10156         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
10157         (gst_base_sink_get_position), (gst_base_sink_query),
10158         (gst_base_sink_change_state):
10159         * libs/gst/base/gstbasesink.h:
10160         API: gst_base_sink_query_latency() to let subclasses query the upstream
10161         latency.
10162         API: gst_base_sink_get_latency() to let subclasses query the configured
10163         latency in the sink.
10164         Implement query and set latency.
10165         Update some docs.
10166         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
10167         don't continue preroll when we are flushing. Fixes #405284.
10168
10169         * tests/check/pipelines/stress.c: (change_state_timeout),
10170         (quit_timeout), (GST_START_TEST), (stress_suite):
10171         Test for #405284.
10172
10173 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
10174
10175         Patch by: René Stadler <mail at renestadler de>
10176
10177         * docs/gst/gstreamer-sections.txt:
10178         * gst/gsttaglist.c: (_gst_tag_initialize):
10179         * gst/gsttaglist.h:
10180           API: add GST_TAG_REFERENCE_LEVEL (#403597).
10181
10182 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
10183
10184         * docs/libs/Makefile.am:
10185           Fix path to core docs.
10186
10187         * gst/gstbin.c: (gst_bin_get_by_interface),
10188         (gst_bin_iterate_all_by_interface):
10189           Refix docs by also renaming 'interface' to 'iface' in implementation.
10190
10191         * docs/gst/gstreamer-sections.txt:
10192         * gst/gstcaps.c:
10193         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
10194         * gst/gstchildproxy.h:
10195         * gst/gstelementfactory.c:
10196         * gst/gstpadtemplate.h:
10197         * libs/gst/controller/gstcontroller.c:
10198         (gst_controlled_property_new):
10199           Document more.
10200
10201 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
10202
10203         * gst/gstbin.h:(gst_bin_get_by_interface),
10204         (gst_bin_iterate_all_by_interface):
10205         Replace interface parameter name by iface as interface is 
10206         a reserved keyword in Visual Studio for C++ projects so it removes
10207         a build error for application developpers using VS.
10208         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
10209         Fix a bug on Windows in uri format check. Now the prefix checked
10210         is file:// and next we check if the path after file:// is absolute.
10211         * win32/common/libgstbase.def:
10212         * win32/common/libgstdataprotocol.def:
10213         * win32/common/libgstgstreamer.def:
10214         Add new exported functions.
10215
10216 2007-02-09  Andy Wingo  <wingo@pobox.com>
10217
10218         * tests/check/pipelines/simple-launch-lines.c
10219         (simple_launch_lines_suite, test_tee): Disable tee test until I
10220         have time to fix it :-(
10221
10222         * tests/check/Makefile.am (noinst_HEADERS): 
10223         * tests/check/libs/libsabi.c: 
10224         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
10225         * tests/check/gst/gstabi.c: 
10226         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
10227
10228         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
10229         tests for push and pull tee behavior.
10230
10231         * plugins/elements/gsttee.h: 
10232         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
10233         mark as deprecated as well as unimplemented. It was a crack idea.
10234         Add support for tee operating in pull mode, off by default.
10235
10236         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
10237         normal-case logs down to LOG, raise errors to WARNING.
10238         (gst_registry_xml_read_cache): Don't log before calling a function
10239         that logs.
10240
10241         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
10242         exit (registry finalize).
10243         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
10244         DEBUG log when we emit signals that people don't even have the
10245         chance to connect to.
10246         (gst_registry_scan_path_level): Less logging in the normal case.
10247
10248 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
10249
10250         Patch by: Michal Benes <michal dot benes at itonis dot tv>
10251
10252         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
10253         Correctly generate EOS for non-seekable files. We don't have a total
10254         length for them and would get an unexpected end of file if we only
10255         special-cased for regular files. (Fixes: #404569)
10256
10257 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
10258
10259         * tests/check/elements/filesrc.c: (GST_START_TEST),
10260         (filesrc_suite):
10261         Add unit test for the GstURIHandler interface in filesrc. This also
10262         tests the newly added file://localhost/foo/bar support.
10263
10264 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
10265
10266         * gst/gstelementfactory.h:
10267           The klass string is not a hierarchy. Add reference to the design doc
10268           for more information and common types.
10269
10270 2007-02-02  Wim Taymans  <wim@fluendo.com>
10271
10272         * gst/gstquery.c: (gst_query_new_latency):
10273         Remove old structure field.
10274
10275 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
10276
10277         * tools/gst-launch.1.in:
10278           Give example for network streaming (#351998)
10279
10280 2007-02-02  Wim Taymans  <wim@fluendo.com>
10281
10282         * docs/gst/gstreamer-sections.txt:
10283         Add docs for new methods.
10284
10285         * gst/gstevent.c: (gst_event_new_latency),
10286         (gst_event_parse_latency):
10287         * gst/gstevent.h:
10288         Add new LATENCY event to configure latency in a pipeline.
10289         API: gst_event_new_latency
10290         API: gst_event_parse_latency
10291
10292         * gst/gstmessage.c: (gst_message_new_buffering),
10293         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
10294         (gst_message_new_latency), (gst_message_parse_buffering),
10295         (gst_message_parse_lost_preroll):
10296         * gst/gstmessage.h:
10297         Added messages used in draft-latency.
10298         API: gst_message_new_lost_preroll
10299         API: gst_message_parse_lost_preroll
10300         API: gst_message_new_prerolled
10301         API: gst_message_new_latency
10302
10303         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
10304         (gst_query_parse_latency):
10305         * gst/gstquery.h:
10306         Implemented new latency query as in design doc.
10307         API: gst_query_new_latency
10308         API: gst_query_set_latency
10309         API: gst_query_parse_latency
10310
10311 2007-02-02  Wim Taymans  <wim@fluendo.com>
10312
10313         * docs/design/draft-latency.txt:
10314         Slight redesign to allow for dynamic latency adjustments.
10315
10316         * docs/design/part-negotiation.txt:
10317         Fix some typos.
10318
10319 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
10320
10321         reviewed by: Wim Taymans <wim@fluendo.com>
10322
10323         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
10324         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
10325         Allow file://localhost/foo/bar URLs and correctly fail for every other
10326         hostname that one sets. This was gnomevfssrc is linked for those if
10327         installed as it can handle it (#403172)
10328
10329 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
10330
10331         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
10332
10333         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10334         (unref_data), (gst_collect_pads_add_pad_full):
10335         * libs/gst/base/gstcollectpads.h:
10336         Don't put the previously added destroy notify in the GstCollectData
10337         struct as all it's padding is already used and we don't want to break
10338         ABI. Instead put in the pad's GObject data for now. This should be
10339         cleaned up for 0.11 (#402393).
10340
10341 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
10342
10343         reviewed by: Wim Taymans <wim@fluendo.com>
10344
10345         * docs/libs/gstreamer-libs-sections.txt:
10346         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10347         (unref_data), (gst_collect_pads_add_pad),
10348         (gst_collect_pads_add_pad_full):
10349         * libs/gst/base/gstcollectpads.h:
10350         API: Add function to specify a destroy notification for custom
10351         GstCollectData when adding new pads in GstCollectPads (#402393).
10352
10353 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
10354
10355         * po/sv.po:
10356           Update Swedish translation (#378255).
10357
10358 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
10359
10360         * docs/design/draft-klass.txt:
10361           Fix the previous change, this is a list of categories and not a hierarchy.
10362
10363 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
10364
10365         * docs/design/draft-klass.txt:
10366           Add info about how to get a list of used classes.
10367
10368 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
10369
10370         * plugins/elements/gsttypefindelement.c:
10371         (gst_type_find_element_chain_do_typefinding),
10372         (gst_type_find_element_change_state):
10373           Don't leak found caps in chain function (no idea why that never
10374           showed up as a leak anywhere).
10375
10376 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
10377
10378         * gst/gstplugin.h:
10379           Fix and expand GstPluginDesc API docs.
10380
10381 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
10382
10383         * gst/gstcaps.c:
10384         * gst/gstelementfactory.c:
10385         * gst/gstpadtemplate.h:
10386           api doc fixes
10387
10388         * libs/gst/controller/gstcontroller.c:
10389         (gst_controlled_property_new):
10390         * tests/examples/controller/audio-example.c:
10391           comment fixes
10392
10393 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
10394
10395         * configure.ac:
10396           comment about refining the xml deps
10397
10398         * docs/manuals.mak:
10399           comments about moving away from jade for docs
10400         
10401         * gst/gst.c:
10402           recommit the ifdefs to use the binary registry
10403         
10404         * gst/gstbin.c: (gst_bin_change_state_func):
10405           this break is obsolete
10406
10407         * gst/gstelementfactory.h:
10408           better GST_ELEMENT_DETAILS docs, add comment about translation
10409
10410         * gst/gstinfo.h:
10411           remove eol slash
10412
10413         * gst/gstobject.c: (gst_signal_object_get_type):
10414           add G_UNLIKELY as usual
10415
10416         * gst/gstpad.c: (gst_pad_event_default):
10417           add fall trhu comment
10418
10419         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10420         (gst_registry_binary_initialize_magic),
10421         (gst_registry_binary_save_string),
10422         (gst_registry_binary_save_pad_template),
10423         (gst_registry_binary_save_feature),
10424         (gst_registry_binary_save_plugin),
10425         (gst_registry_binary_write_cache),
10426         (gst_registry_binary_check_magic),
10427         (gst_registry_binary_load_pad_template),
10428         (gst_registry_binary_load_feature),
10429         (gst_registry_binary_load_plugin),
10430         (gst_registry_binary_read_cache):
10431           comment typo and formatting
10432
10433         * gst/gstutils.c: (gst_element_state_get_name),
10434         (gst_element_state_change_return_get_name):
10435           remove obsolete breaks
10436
10437         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
10438           add FIXME 0.11 and remove cpp comment
10439
10440 2007-01-29  Edward Hervey  <edward@fluendo.com>
10441
10442         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10443         Fix print statement in an even more portable way.
10444
10445 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
10446
10447         * docs/gst/gstreamer-sections.txt:
10448         * gst/gstutils.h:
10449           API: add GST_ROUND_DOWN_* macros (#401781).
10450
10451 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
10452
10453         * docs/gst/gstreamer.types.in:
10454         * gst/gstregistry.c: (gst_registry_class_init):
10455           Document registry signals and make gtk-doc pick them up (#401381).
10456
10457 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
10458
10459         * docs/pwg/building-testapp.xml:
10460           Add some audioconverts and audioresample to the pipeline, and some
10461           more comments and error handling.
10462
10463 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
10464
10465         * docs/manual/manual.xml:
10466         * docs/pwg/pwg.xml:
10467           Fix typo (#400987).
10468
10469 2007-01-26  Wim Taymans  <wim@fluendo.com>
10470
10471         * gst/gstcaps.c: (gst_static_caps_get):
10472         Init caps flags too.
10473
10474 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
10475
10476         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
10477
10478         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
10479         If not using mmap'ed files try to seek to the end instead of the
10480         start to determine whether we can seek at all. This fixes the case
10481         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
10482         seeks for everything afterwards fail. Fixes #400656
10483
10484 2007-01-25  Wim Taymans  <wim@fluendo.com>
10485
10486         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
10487         Add some refcount debugging.
10488         Make gst_static_caps_get threadsafe, which is needed when autoplugging
10489         in multiple streaming threads.
10490
10491 2007-01-25  Wim Taymans  <wim@fluendo.com>
10492
10493         Patch by: David Schleef <ds at schleef dot org>
10494
10495         * docs/libs/gstreamer-libs-sections.txt:
10496         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
10497         * libs/gst/base/gstadapter.h:
10498         API: gst_adapter_copy() that can reduce the amount of memcpy when
10499         getting data from the adapter. Fixes #388201.
10500
10501 2007-01-25  Edward Hervey  <edward@fluendo.com>
10502
10503         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10504         In print statements, "%x" is for guint. Fixes build on macosx.
10505
10506 2007-01-24  Edward Hervey  <edward@fluendo.com>
10507
10508         * plugins/elements/gstmultiqueue.c:
10509         (gst_multi_queue_loop):
10510         Small fix.
10511         (single_queue_overrun_cb), (single_queue_underrun_cb),
10512         (single_queue_check_full), (gst_single_queue_new):
10513         Implement single queue growth system.
10514         This uses the extra-size properties, and will grow single queues by
10515         that much if one goes full whereas there are others empty. This is
10516         called extra-mode in the code.
10517         When a single queue's levels go back below the initial max-size
10518         limits, it is no longer in extra-mode. This is to ensure we don't
10519         consume too much memory.
10520         Fixes #399875
10521
10522 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
10523
10524         * gst/gst.c: (gst_init_get_option_group):
10525           Make warning about late g_thread_init() calls a bit more explicit,
10526           so that it's more obvious to application developers what they need
10527           to do if a user files a bug against their application.
10528
10529 2007-01-22  Edward Hervey  <edward@fluendo.com>
10530
10531         * plugins/elements/gstmultiqueue.c:
10532         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
10533         Remove previous hack of unsetting the flushing flag for the source pad
10534         instead of activating it. Instead, fix the source pad activate function
10535         so that it no longer depends on having a parent set or not.
10536
10537 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
10538
10539         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
10540
10541         * docs/manual/basics-bus.xml:
10542           Fix example code, gst_element_unref() doesn't exist any longer.
10543
10544 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
10545
10546         Patch by: Mark Nauwelaerts <manauw at skynet be>
10547
10548         * gst/gstpad.c:
10549           Fix two docs typoes (#399094).
10550
10551 2007-01-19  Edward Hervey  <edward@fluendo.com>
10552
10553         * docs/faq/gst-uninstalled:
10554         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
10555         depending on libgstbaseutils can work in uninstalled environment.
10556
10557 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
10558
10559         * gst/gsttaglist.h:
10560         * gst/gsttagsetter.c:
10561         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
10562         statement for new tag.
10563
10564 2007-01-17  Edward Hervey  <edward@fluendo.com>
10565
10566         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
10567         When dynamically creating single queues, activate sinkpad before adding
10568         it.
10569         We should be doing the same thing for the source pad, but we can't
10570         since it would call a method which needs the parent to be set in order
10571         to work propertly. Instead of activating the source pad, we just unset
10572         the flushing flag, which is the minimal requirement for adding a pad
10573         to an element in a state greater than READY.
10574
10575 2007-01-17  Edward Hervey  <edward@fluendo.com>
10576
10577         * docs/faq/gst-uninstalled:
10578         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
10579         Mac OS X.
10580
10581 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
10582
10583         * tests/check/gst/gstabi.c:
10584         * tests/check/gst/struct_hppa.h:
10585         * tests/check/libs/libsabi.c:
10586         * tests/check/libs/struct_hppa.h:
10587           Add ABI structs for HPPA (see #393796).
10588
10589 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
10590
10591         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
10592           Actually write ABI structs to the file specified in the GST_ABI
10593           environment variable, as the message we print claims we would.
10594
10595 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10596
10597         * tests/check/gst/gsttask.c:
10598           Fix header comment.
10599
10600 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10601
10602         * gst/gsttaglist.c: (_gst_tag_initialize):
10603           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
10604           previous two entries.
10605
10606 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10607
10608         * docs/gst/gstreamer-sections.txt:
10609         * gst/gsttaglist.c: (_gst_tag_initialize):
10610         * gst/gsttaglist.h:
10611           Add tag support for beat-per-minute.
10612
10613 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10614
10615         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10616         (gst_registry_binary_initialize_magic),
10617         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
10618         (gst_registry_binary_save_pad_template),
10619         (gst_registry_binary_save_feature),
10620         (gst_registry_binary_save_plugin),
10621         (gst_registry_binary_write_cache),
10622         (gst_registry_binary_check_magic),
10623         (gst_registry_binary_load_pad_template),
10624         (gst_registry_binary_load_feature),
10625         (gst_registry_binary_load_plugin),
10626         (gst_registry_binary_read_cache):
10627         * gst/gstregistrybinary.h:
10628           Use glib types, cleanup comments, impement interfaces and uri-types.
10629
10630 2007-01-13  Andy Wingo  <wingo@pobox.com>
10631
10632         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
10633         getrange() to return buffers with other caps, while we fix
10634         demuxers and typefind, or otherwise change part-negotiation.txt.
10635
10636 2007-01-12  Andy Wingo  <wingo@pobox.com>
10637
10638         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
10639         Factor start/stop into this private function instead of partially
10640         in activate functions and partially in the change_state function.
10641         Fixes setup before the element has changed from READY->PAUSED, as
10642         is the case in pull-mode pipelines.
10643         (gst_base_transform_sink_activate_push)
10644         (gst_base_transform_src_activate_pull): Refactor to use
10645         gst_base_transform_activate().
10646         (gst_base_transform_change_state): Removed, not needed any more.
10647
10648         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10649         Truncate before fixating.
10650         
10651         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10652         Don't set_caps() if the result of fixating is ANY, as it's not
10653         supported, and not necessary in the case of a link with no
10654         template caps on either side. Fixes tests/check/libs/basesrc in
10655         some pull-mode tests.
10656
10657         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
10658         (gst_base_transform_init, gst_base_transform_sink_activate_push)
10659         (gst_base_transform_src_activate_pull): 
10660         Track the activation mode.
10661         (gst_base_transform_setcaps): In pull mode, when activating the
10662         src pad, after activating the sink pad, activate the sink pad's
10663         peer, as discussed in part-negotiation.txt.
10664
10665         * libs/gst/base/gstbasesrc.h: 
10666         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
10667         vmethod, as in basesink.
10668
10669         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
10670
10671         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
10672         mode, first proxy the setcaps to the peer pad.
10673         (gst_base_sink_pad_fixate): Add a fixate function that calls the
10674         new fixate vmethod.
10675         (gst_base_sink_default_activate_pull): Rename from
10676         gst_base_sink_activate_pull.
10677         (gst_base_sink_negotiate_pull): New function, performs negotiation
10678         in pull mode before calling ::activate_pull().
10679         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
10680         vmethod instead of the default implementation. I have no idea how
10681         this worked before. Negotiate before calling activate_pull.
10682
10683         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
10684         sink pads in pull mode. In addition to being correct, fixes
10685         filesrc ! decodebin ! identity ! fakesink.
10686         (gst_pad_get_range, gst_pad_pull_range): Don't call
10687         gst_pad_set_caps() if the caps changes; instead error out with
10688         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
10689
10690 2007-01-12  Andy Wingo  <wingo@pobox.com>
10691
10692         * docs/design/part-negotiation.txt: Update with more policy.
10693
10694 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10695
10696         * libs/gst/check/gstbufferstraw.h:
10697         * libs/gst/check/gstcheck.h:
10698           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
10699           belongs.
10700
10701 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10702
10703         * tests/check/Makefile.am:
10704         * tests/check/gst/.cvsignore:
10705         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
10706         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
10707         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
10708         (GST_START_TEST), (gst_tag_setter_suite):
10709           Add minimal unit test for beforementioned GstTagSetter bug.
10710
10711 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10712
10713         Patch by: René Stadler <mail at renestadler dot de>
10714
10715         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
10716           gst_tag_list_merge() returns a new list, so it's not the best idea
10717           to ingore its return value. Effectively meant that tags could only
10718           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
10719           Also add function guard to require a non-NULL taglist as input (has
10720           always been so due to gst_tag_list_copy(), just making it explicit).
10721
10722 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10723
10724         * docs/random/draft-missing-plugins.txt:
10725           Some additions: mention new API that is supposed to be used at the
10726           various stages; short blob about new gst-inspect introspection
10727           option; mention potential future problem with plugins that have
10728           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
10729
10730 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10731
10732         * tools/gst-inspect.c:
10733         (print_plugin_automatic_install_info_codecs),
10734         (print_plugin_automatic_install_info_protocols),
10735         (print_plugin_automatic_install_info), (main):
10736         Add --print-plugin-auto-install-info option to gst-inspect, so we can
10737         introspect plugin files and get machine-parsable output that corresponds
10738         to the last bit of the missing-plugin installer string (small gotcha:
10739         doesn't take into account ranks).
10740
10741 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
10742
10743         * configure.ac:
10744         * docs/gst/gstreamer-sections.txt:
10745         * gst/Makefile.am:
10746         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
10747         (gst_registry_lookup_locked):
10748         * gst/gstregistry.h:
10749         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10750         (gst_registry_binary_initialize_magic),
10751         (gst_registry_binary_save_string),
10752         (gst_registry_binary_save_pad_template),
10753         (gst_registry_binary_save_feature),
10754         (gst_registry_binary_save_plugin),
10755         (gst_registry_binary_write_cache),
10756         (gst_registry_binary_check_magic),
10757         (gst_registry_binary_load_pad_template),
10758         (gst_registry_binary_load_feature),
10759         (gst_registry_binary_load_plugin),
10760         (gst_registry_binary_read_cache):
10761         * gst/gstregistrybinary.h:
10762         * gst/gstregistryxml.c: (load_feature),
10763         (gst_registry_xml_read_cache):
10764           commit binary registry (disabled by default, see #359653)
10765
10766 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10767
10768         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
10769           Fix 'make check' too.
10770
10771 2007-01-10  Andy Wingo  <wingo@pobox.com>
10772
10773         * docs/design/part-negotiation.txt: Fix a typo, add a couple
10774         notes.
10775         
10776         * docs/design/part-negotiation.txt: Update with, um, one way that
10777         pull-mode negotiation might work?
10778
10779         * gst/gstpad.h: 
10780         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
10781         that the pad must be a src pad; makes sense to call it the other
10782         way in pull mode, and the logic is symmetric anyway.
10783
10784 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
10785
10786         * plugins/elements/gstfilesink.c:
10787           Include <stdio.h> for fseeko().
10788
10789 2007-01-10  Wim Taymans  <wim@fluendo.com>
10790
10791         * gst/gstevent.c:
10792         * gst/gstevent.h:
10793         Reserve LATENCY event.
10794
10795 2007-01-09  Wim Taymans  <wim@fluendo.com>
10796
10797         * docs/design/draft-latency.txt:
10798         Updates.
10799
10800 2007-01-09  Wim Taymans  <wim@fluendo.com>
10801
10802         * docs/design/draft-latency.txt:
10803         Updates.
10804
10805         * gst/gstelement.h:
10806         * gst/gststructure.c:
10807         * gst/gsttrace.c:
10808         Small typo fixes.
10809
10810 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
10811
10812         * tests/check/.cvsignore:
10813           Ignore test-registry.xml as well.
10814
10815 2007-01-09  Wim Taymans  <wim@fluendo.com>
10816
10817         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
10818         unref data at the end when we are done with the pad.
10819
10820 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
10821
10822         * docs/gst/gstreamer-sections.txt:
10823         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
10824         (init_post), (gst_deinit), (gst_update_registry):
10825         * gst/gst.h:
10826           API: add gst_update_registry() (#391296).
10827
10828         * tests/check/Makefile.am:
10829         * tests/check/gst/gstregistry.c:
10830         * tests/check/gst/.cvsignore:
10831           Simple unit test for the above.
10832
10833 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
10834
10835         * gst/gstregistry.c: (gst_registry_scan_path_level):
10836           Plugin extension on HP-UX is .sl, add that to the list of approved
10837           plugin extensions (see #393796).
10838
10839         * tests/check/gst/gstpad.c: (GST_START_TEST):
10840           ulong => gulong. Fixes compilation with HP-UX compiler.
10841
10842         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
10843           Fix compilation if valgrind headers are not available.
10844
10845 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
10846
10847         * win32/common/libgstreamer.def: 
10848           Add new exported function.
10849         * win32/vs6/libgstbase.dsp: 
10850           Add gstdataqueue.c to the build.
10851         * win32/vs6/libgstcoreelements.dsp:
10852           Add gstmultiqueue.c to the build.
10853         
10854 2007-01-06  Andy Wingo  <wingo@pobox.com>
10855
10856         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
10857         activate_pull(), providing for a way to specialize the process of
10858         spawning a thread to pull on the sink pad. There is a default
10859         implementation.
10860
10861         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
10862         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
10863         (gst_base_sink_init): Renamed pad activation functions (inserting
10864         "_pad" in their names). Refactor to use the new activate_pull
10865         vmethod, as appropriate.
10866         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
10867         default activate_pull function to start a task pulling from the
10868         sink pad, as before.
10869
10870         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
10871         on the pads if necessary, as in push()/chain(). Update docs.
10872         Shouldn't affect existing pull() usage as it is currently only
10873         being used on buffers without caps.
10874
10875 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10876
10877         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
10878         (init_pre):
10879           Call g_thread_init() first thing in gst_init() / gst_check_init().
10880           When initialisation is done via gst_init_get_option_group() and
10881           GOption parsing, issue a warning if the GLib thread system has not
10882           been initialised yet by the time gst_init_get_option_group() is
10883           called, as it's quite likely other GLib functions such as
10884           g_option_context_new() have been called already then, and
10885           g_thread_init() must be called before any other GLib function. The
10886           application in question must be fixed in that case, since memory
10887           corruption might happen otherwise.
10888           We issue the warning because even if the GLib folks decide to work
10889           around the problem on their end in future, this is still an issue
10890           with all GLib versions >= 2.10.0, so we should warn until we depend
10891           on a GLib version we know to be safe.
10892           Update documentation as well.
10893           Closes bug #391278.
10894
10895 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10896
10897         * tools/gst-inspect.c: (main):
10898         * tools/gst-launch.c: (main):
10899         * tools/gst-typefind.c: (main):
10900         * tools/gst-xmlinspect.c: (main):
10901           Call g_thread_init() really really early, before any other GLib
10902           function (see #342564 and recent discussion on gtk-devel-list).
10903
10904 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10905
10906         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
10907
10908         * gst/gst_private.h:
10909         * gst/gstconfig.h.in:
10910         * gst/gstinfo.h:
10911           On win32, all the __declspec stuff for symbol exporting is
10912           apparently only needed with MSVC, but doesn't work with MingW.
10913           Fixes compilation with MingW and #391909.
10914
10915 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10916
10917         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
10918           Change some GST_ERROR_OBJECT that aren't really errors to
10919           GST_WARNING_OBJECT in order to reduce terminal spam.
10920
10921 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
10922
10923         * tests/check/Makefile.am:
10924           disable test again, as there seem to be still race problems
10925
10926 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
10927
10928         * tests/check/Makefile.am:
10929         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10930         (GST_START_TEST), (queue_suite):
10931           enable queue test again, add tests for the leaky behaviour
10932
10933 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
10934
10935         * configure.ac:
10936         * tests/examples/Makefile.am:
10937           Compile adapter test/example only if the required headers are
10938           available (fixes #391915).
10939
10940 2007-01-01  David Schleef  <ds@schleef.org>
10941
10942         * gst/gstplugin.c:
10943           Restore the previous signal handler for SIGSEGV instead of
10944           setting to default, since we may have stolen it away from
10945           someone.  (i.e., Mono)
10946
10947 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
10948
10949         * docs/random/draft-missing-plugins.txt:
10950           Some small additions and clarifications.
10951
10952 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
10953
10954         * gst/gstregistryxml.c: (gst_registry_save_escaped):
10955           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
10956           since that can lead to random memory corruptions and crashes
10957           (may or may not be related to #383244, #386711, and #386711).
10958
10959 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10960
10961         * tests/check/.cvsignore:
10962         * tests/check/Makefile.am:
10963           sync .cvsignome and CLEANFILES
10964
10965 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10966
10967         * tests/check/Makefile.am:
10968           fix distcheck
10969
10970 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10971
10972         * docs/design/part-states.txt:
10973           two tiny additional comments
10974         
10975         * gst/gststructure.c:
10976           doc fixing
10977
10978         * tests/check/Makefile.am:
10979         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10980         (GST_START_TEST):
10981           disable test for now, unless it gets fixed
10982
10983 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10984
10985         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10986         (GST_START_TEST):
10987           fix race in underrun test
10988
10989 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10990
10991         * tests/check/elements/.cvsignore:
10992           ignore more
10993
10994         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10995         (GST_START_TEST):
10996           try to narrow test failure
10997
10998 2006-12-21  David Schleef  <ds@schleef.org>
10999
11000         * plugins/elements/gstfakesrc.c:
11001           Use g_random_int_range(), since it produces better random
11002           numbers in a range than almost-correct floating point code.
11003
11004 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
11005
11006         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
11007         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
11008         (gst_check_teardown_sink_pad):
11009           do not automatically (de)activate pads
11010
11011         * tests/check/Makefile.am:
11012         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
11013         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
11014           add new, yet simple tests for queue
11015
11016         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
11017         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
11018         * tests/check/elements/filesrc.c: (cleanup_filesrc),
11019         (GST_START_TEST):
11020         * tests/check/elements/identity.c: (cleanup_identity):
11021           consistent pad (de)activation
11022
11023 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
11024
11025         Patch by: Sebastian Dröge  <slomo ubuntu com>
11026
11027         * libs/gst/base/gstcollectpads.c:
11028           Fix two doc typos (#387866).
11029
11030 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
11031
11032         * docs/manual/advanced-dparams.xml:
11033           Fix typo (g_object_control_properties() doesn't exist).
11034
11035 2006-12-19  Edward Hervey  <edward@fluendo.com>
11036
11037         * gst/gstsegment.c: (gst_segment_set_seek):
11038         Fine tune the cases where the segment start/stop values are really
11039         updated.
11040         * tests/check/gst/gstsegment.c: (GST_START_TEST):
11041         Add tests for the return values of gst_segment_set_seek().
11042
11043 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
11044
11045         * gst/gst.c:
11046           Docs typo fix.
11047
11048         * plugins/elements/gstqueue.c: (gst_queue_class_init),
11049         (gst_queue_init):
11050           Fix incorrect documentation and flesh it out a bit more.
11051           Set default values for the max properties on the GParamSpec as well,
11052           so it shows up correctly in gst-inspect.
11053
11054 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
11055
11056         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
11057           Correct docs of queue, add more detail and crosslink it more.
11058
11059 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
11060
11061         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
11062           Print additional debug info when the stream isn't perfectly
11063           timestamped; don't try to use invalid durations.
11064
11065 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
11066
11067         * docs/design/Makefile.am:
11068           Dist new design docs.
11069
11070 2006-12-16  Wim Taymans  <wim@fluendo.com>
11071
11072         Patch by: Sjoerd Simons <sjoerd at luon dot net>
11073
11074         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
11075         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
11076         (gst_collect_pads_stop), (gst_collect_pads_event),
11077         (gst_collect_pads_chain):
11078         * libs/gst/base/gstcollectpads.h:
11079         Add refcounting to the collectpads data so we can track when it's safe
11080         to free the data. Fixes #383382.
11081
11082 2006-12-15  Wim Taymans  <wim@fluendo.com>
11083
11084         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
11085         (gst_collect_pads_remove_pad):
11086         Automatically activate/deactivate pads when they are added to a
11087         started/stoped collectpads.
11088
11089 2006-12-15  Wim Taymans  <wim@fluendo.com>
11090
11091         * gst/gstelement.c: (gst_element_add_pad):
11092         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
11093         * gst/gstpad.c: (gst_pad_init):
11094         Set pads to FLUSHING when they are created. Check, warn and fix when a
11095         demuxer adds an inactive pad to itself when running. Fixes #339326.
11096
11097 2006-12-15  Wim Taymans  <wim@fluendo.com>
11098
11099         * gst/gstelement.c: (gst_element_class_init),
11100         (gst_element_default_send_event), (gst_element_send_event),
11101         (gst_element_default_query), (gst_element_query):
11102         Expose default element send_event and query handling as vmethods that
11103         subclasses can chain up to.
11104
11105 2006-12-15  Wim Taymans  <wim@fluendo.com>
11106
11107         * gst/gstelement.c: (gst_element_set_state_func):
11108         Small documentation fixes.
11109
11110 2006-12-15  Wim Taymans  <wim@fluendo.com>
11111
11112         * docs/design/draft-latency.txt:
11113         Checked in draft for handling latency in pipelines.
11114
11115 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11116
11117         * Makefile.am:
11118         * gstreamer.doap:
11119         * gstreamer.spec.in:
11120           adding .doap file
11121
11122 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
11123
11124         * gst/gst.c: (init_pre), (init_post):
11125           init_pre() and init_post() might be called via our GOptionGroup or
11126           from gst_init(), and we should skip both of them if we've already
11127           been initialised, otherwise we will init some things twice or add
11128           two default log functions.
11129
11130 2006-12-13  Edward Hervey  <edward@fluendo.com>
11131
11132         * docs/manual/basics-bus.xml:
11133         No, gst_main_loop does not exist. Its g_main_loop.
11134         Discovered by somebody who abused the copy-paste technique of coding :)
11135
11136 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
11137
11138         * gst/gstghostpad.c:
11139           Log ghostpad debug stuff to the GST_PADS category as well rather
11140           than just to the default category.
11141
11142 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
11143
11144         * configure.ac:
11145         * gst/gst.c: (init_pre):
11146           Add some basic system details such as OS and architecture
11147           to the debug output if possible, courtesy of uname().
11148
11149 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
11150
11151         * docs/gst/running.xml:
11152           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
11153           environment variables.
11154
11155 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
11156
11157         * tests/check/gst/gstbin.c: (GST_START_TEST):
11158         It is acceptable to have a refcount of 2 or 3 at this point in the
11159         test, because the pipeline might be just posting its state_change
11160         message. The next line then waits for that message to appear using
11161         bus_poll, so that should be fine too.
11162
11163 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
11164
11165         * gst/gst.c: (ensure_current_registry_forking):
11166         Ignore EINTR when reading from the child registry pipe.
11167         Explicitly ignore the return value from close, since it makes no
11168         difference.
11169
11170         * gst/gstminiobject.c: (gst_mini_object_ref),
11171         (gst_mini_object_unref):
11172         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
11173
11174         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
11175         When removing cached plugins, remove their features too, so they're
11176         not visible after they've disappeared.
11177
11178         * gst/gstutils.c: (prepare_link_maybe_ghosting):
11179         In the unlikely case that we are linking pads with no parents, don't
11180         crash trying to get the non-existent parent bin.
11181
11182         * gst/parse/grammar.y:
11183         Output debug in the PIPELINE category
11184
11185 2005-03-08  Wim Taymans  <wim@fluendo.com>
11186
11187         Patch by: René Stadler <mail at renestadler dot de>
11188
11189         * gst/gstclock.c: (gst_clock_new_periodic_id):
11190         Reject invalid clock times for interval of periodic ids.
11191         Fixes ##383506.
11192
11193 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
11194
11195         * gst/gstelementfactory.c: (gst_element_factory_create):
11196         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
11197         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
11198         * tools/gst-inspect.c: (print_element_info):
11199         Fix refcounting of gst_plugin_feature_load to match the docs. 
11200         Fixes: #380129
11201
11202 2006-12-07  Wim Taymans  <wim@fluendo.com>
11203
11204         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
11205         (gst_base_sink_get_position):
11206         Improve debugging of events.
11207
11208 2006-12-07  Wim Taymans  <wim@fluendo.com>
11209
11210         Patch by: René Stadler <mail at renestadler dot de>
11211
11212         * gst/gstclock.c: (gst_clock_id_wait):
11213         Make period ids add the interval to the origial requested time instead
11214         of the possibly updated time which can be wrong when there are multiple
11215         waiters for the same id. Fixes #382592.
11216
11217         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
11218         (gst_system_clock_id_wait_jitter_unlocked),
11219         (gst_system_clock_id_wait_jitter):
11220         Fix restart in the async notify thread when an async entry is added to
11221         the front of the list. Fixes #381492. 
11222
11223         * tests/check/gst/gstsystemclock.c: (store_callback),
11224         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
11225         Added test for multiple async waits.
11226         Added test for async wait order.
11227
11228 2006-12-07  Wim Taymans  <wim@fluendo.com>
11229
11230         * gst/gstbin.c: (gst_bin_query):
11231         Add some more docs about the POSITION query.
11232
11233 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
11234
11235         * configure.ac:
11236         Bump version nano - back to CVS.
11237
11238 === release 0.10.11 ===
11239
11240 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
11241
11242         * configure.ac:
11243           releasing 0.10.11, "Love never runs on time"
11244
11245 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
11246
11247         * win32/common/libgstbase.def:
11248         * win32/common/libgstreamer.def:
11249         * win32/vs8/libgstbase.vcproj:
11250         * win32/vs8/libgstcoreelements.vcproj:
11251         * win32/vs8/libgstreamer.vcproj:
11252         Fix compilation on win32 under VS8
11253         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11254         Partially fixes #381175
11255
11256 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
11257
11258         * gst/gstvalue.c: (gst_value_compare_fraction):
11259         If someone is foolish enough to compare 2 fractions with denominator =
11260         0, return UNORDERED rather than aborting.
11261
11262 2006-11-28  Edward Hervey  <edward@fluendo.com>
11263
11264         * libs/gst/base/Makefile.am:
11265         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
11266         (gst_data_queue_base_init), (gst_data_queue_class_init),
11267         (gst_data_queue_init), (gst_data_queue_new),
11268         (gst_data_queue_cleanup), (gst_data_queue_finalize),
11269         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
11270         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
11271         (gst_data_queue_is_empty), (gst_data_queue_is_full),
11272         (gst_data_queue_set_flushing), (gst_data_queue_push),
11273         (gst_data_queue_pop), (gst_data_queue_drop_head),
11274         (gst_data_queue_set_property), (gst_data_queue_get_property):
11275         * libs/gst/base/gstdataqueue.h:
11276         New GstDataQueue object for threadsafe queueing. Most useful for
11277         elements that need some queueing functionnality.
11278         * docs/libs/gstreamer-libs-docs.sgml:
11279         * docs/libs/gstreamer-libs-sections.txt:
11280         Insert documentation for GstDataQueue
11281         * plugins/elements/Makefile.am:
11282         * plugins/elements/gstelements.c:
11283         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
11284         (gst_multi_queue_class_init), (gst_multi_queue_init),
11285         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
11286         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
11287         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
11288         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
11289         (gst_multi_queue_loop), (gst_multi_queue_chain),
11290         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
11291         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
11292         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
11293         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
11294         (wake_up_next_non_linked), (compute_next_non_linked),
11295         (single_queue_overrun_cb), (single_queue_underrun_cb),
11296         (single_queue_check_full), (gst_single_queue_new):
11297         * plugins/elements/gstmultiqueue.h:
11298         New multiqueue element, using GstDataQueue. Used for queuing multiple
11299         streams.
11300         Closes #344639 and #347785
11301
11302 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
11303
11304         * docs/pwg/advanced-types.xml:
11305           add more missing type details
11306
11307         * tools/gst-run.c: (main):
11308           remove unused variable
11309
11310 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
11311
11312         * docs/libs/Makefile.am:
11313         * docs/libs/gstreamer-libs.types:
11314           add types of base classes to enable gobject specific stuff in the docs
11315
11316         * docs/random/ensonic/embedded.txt:
11317           more ideas about isolating platform specific things
11318
11319 2006-11-20  Wim Taymans  <wim@fluendo.com>
11320
11321         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
11322
11323         * libs/gst/check/gstcheck.h:
11324         Fix compilation and running against 0.9.4. Fixes #377332.
11325
11326 2006-11-20  Wim Taymans  <wim@fluendo.com>
11327
11328         * gst/gstsegment.c: (gst_segment_set_seek),
11329         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
11330         (gst_segment_to_running_time):
11331         Fix boundary checking in to_running_time() and to_stream_time().
11332         Fixes #377183.
11333
11334         * tests/check/gst/gstsegment.c: (GST_START_TEST):
11335         stream and running time can now be calculated for the complete
11336         clipped segment.
11337
11338 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
11339
11340         * gst/gstpad.c: (gst_pad_push_event):
11341           Can't access event structure after giving away ownership of
11342           the event.
11343
11344 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
11345
11346         * docs/random/ensonic/embedded.txt:
11347         * docs/random/ensonic/profiling.txt:
11348         * docs/random/ensonic/receipies.txt:
11349           more thinking
11350
11351 2006-11-13  Wim Taymans  <wim@fluendo.com>
11352
11353         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11354
11355         * gst/gstpad.c:
11356         Fix documentation for gst_pad_dispatcher. Fixes #374475.
11357
11358 2006-11-13  Wim Taymans  <wim@fluendo.com>
11359
11360         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
11361
11362         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
11363         Store new length in segment duration so we don't keep on calling the
11364         potentially expensize get_size() call. Fixes #370865.
11365
11366 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
11367
11368         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
11369
11370         * win32/common/libgstreamer.def:
11371           Add two missing symbols (#366492).
11372
11373 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
11374
11375         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
11376         (gst_adapter_take_buffer):
11377         Fix format string to use all its arguments.
11378         Remove useless >= check on a guint
11379
11380 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11381
11382         * tests/examples/adapter/.cvsignore:
11383         Ignore build file as commanded by the build-bot
11384
11385 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11386
11387         * tests/examples/adapter/Makefile.am:
11388         * tests/examples/adapter/adapter_test.c: (run_test_take),
11389         (run_test_take_buffer), (run_tests), (main):
11390
11391         Add new files from the previous commit
11392
11393 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11394
11395         * Makefile.am:
11396         * configure.ac:
11397         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
11398         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
11399         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
11400         * libs/gst/base/gstadapter.h:
11401         * tests/check/libs/adapter.c: (create_and_fill_adapter),
11402         (GST_START_TEST), (gst_adapter_suite):
11403         * tests/examples/Makefile.am:
11404         Do some optimisation work in GstAdapter to avoid copies in more cases.
11405         It could still do slightly better by merging buffers when
11406         gst_buffer_is_span_fast is true, but is already faster. 
11407
11408         Also, avoid traversing a single-linked list to append each incoming 
11409         buffer inside the adapter.
11410
11411         Add simple test app that times the adapter behaviour in different
11412         situations, and extend the unit test to check that bytes enter and
11413         exit the adapter in their original order.
11414
11415 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
11416
11417         * docs/random/draft-missing-plugins.txt:
11418           Update: use element message instead of adding a new message
11419           type to the core; don't provide GStreamer API to initiate the
11420           plugin download, just provide API to compose the strings needed
11421           and let an external libgimmestuff handle the rest.
11422
11423 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
11424
11425         * tools/gst-inspect.c: (print_element_properties_info):
11426         Print a string instead of 'unknown type' for GValueArray properties
11427
11428 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
11429
11430         * docs/random/draft-missing-plugins.txt:
11431         More small fixes.
11432
11433 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
11434
11435         * tests/examples/typefind/typefind.c: (type_found), (main):
11436           Make typefind element example work again (#371894); add a
11437           license header.
11438
11439 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
11440
11441         * docs/random/draft-missing-plugins.txt:
11442           Commit initial draft about how to deal with missing plugins,
11443           needs work (API too).
11444
11445 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
11446
11447         * docs/pwg/advanced-types.xml:
11448           documents the new caps elements (see #363118)
11449
11450 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
11451
11452         * gst/gstplugin.c: (gst_plugin_load_file):
11453         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
11454         (gst_file_src_map_region), (gst_file_src_start):
11455         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
11456         (gst_file_index_commit):
11457           Use g_strerror() instead of strerror() - we want UTF-8.
11458
11459 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
11460
11461         Patch by: Peter Kjellerstedt <pkj at axis com>
11462
11463         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11464           Another printf fix (#371493).
11465
11466 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11467
11468         * tests/check/gst/gsttag.c:
11469           relicence (okay with author=company)
11470
11471 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11472
11473         * gst/gstpad.c: (gst_pad_event_default_dispatch),
11474         (gst_pad_push_event):
11475           Enhance debug and improve docs
11476         
11477         * gst/gsturi.c:
11478           Fix docs
11479
11480 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11481
11482         * docs/random/ensonic/distributed.txt:
11483         * docs/random/ensonic/profiling.txt:
11484           more ideas
11485
11486 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11487
11488         * docs/gst/gstreamer-sections.txt:
11489           add new API and fix the build
11490           
11491         * gst/gstbin.c: (gst_bin_recalc_state):
11492         * gst/gstelement.c: (gst_element_message_full),
11493         (gst_element_get_state_func), (gst_element_set_state_func):
11494           use new API and improve logging
11495         
11496         * gst/gstutils.c: (gst_element_state_change_return_get_name):
11497         * gst/gstutils.h:
11498           API: add function to get StateChangereturn names to improve logs 
11499
11500 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11501
11502         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
11503           I'm considering shooting the next person to put strerror stuff
11504           in the translateable part of the message.
11505
11506 2006-11-03  Wim Taymans  <wim@fluendo.com>
11507
11508         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11509         Get the type and printf conversion specifiers right.
11510
11511 2006-11-03  Wim Taymans  <wim@fluendo.com>
11512
11513         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11514
11515         * gst/gstpad.c: (gst_pad_init), (pre_activate),
11516         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
11517         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
11518         Some small cleanups. Improve debugging.
11519         * gst/gstpad.h:
11520         Signal all waiting threads with a broadcast instead of just one.
11521         Fixes #369942.
11522
11523 2006-11-03  Wim Taymans  <wim@fluendo.com>
11524
11525         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
11526         (gst_fd_src_create):
11527         Add some debugging. 
11528         Only update fd when it's different from the old.
11529
11530 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
11531
11532         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
11533           Printf fixes for PPC/OSX, take two (#369366).
11534
11535 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
11536
11537         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
11538
11539         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
11540         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
11541         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
11542           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
11543           don't cast to long long for portability reasons, but use
11544           GLib's types instead.
11545
11546 2006-10-30  Michael Smith  <msmith@fluendo.com>
11547
11548         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
11549           Get the arguments to lseek() the right way around.
11550           Fixes 367677.
11551
11552 2006-10-30  Wim Taymans  <wim@fluendo.com>
11553
11554         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
11555
11556         * gst/gstinfo.h:
11557         _declspec should be __declspec (two underscores, not one). Fixes 366572.
11558
11559 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
11560
11561         Patch by: Kjartan Maraas  <kmaraas at gnome org>
11562
11563         * docs/design/part-MT-refcounting.txt:
11564         * docs/random/wtay/capsnego2-docs:
11565         * gst/gstclock.c:
11566         * gst/gstxml.c:
11567           Typo fixes (#366212).
11568
11569 2006-10-28  Wim Taymans  <wim@fluendo.com>
11570
11571         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11572
11573         * gst/gst.c:
11574         * win32/common/libgstbase.def:
11575         * win32/common/libgstreamer.def:
11576         * win32/vs8/libgstbase.vcproj:
11577         * win32/vs8/libgstcontroller.vcproj:
11578         Add needed entries in .def files.
11579         Use HAVE_UNISTD_H.
11580         Rearrange def files in vs8 solutions. Fixes #366286.
11581
11582 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
11583
11584         * win32/common/gstconfig.h:
11585           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
11586           hand-made win32 gstconfig.h. Fixes #366321.
11587
11588 2006-10-27  Wim Taymans  <wim@fluendo.com>
11589
11590         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
11591         (gst_ghost_pad_new_full):
11592         Make acceptcaps return TRUE when we don't have a target, just like
11593         setcaps does.
11594
11595 2006-10-27  Wim Taymans  <wim@fluendo.com>
11596
11597         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11598         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
11599
11600 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
11601
11602         * gst/gststructure.c: (gst_structure_id_set_value):
11603           If someone tries to set a non-UTF8 string field on a structure,
11604           don't just print a warning, but also ignore the request and do
11605           not change/add that field to the structure.
11606
11607         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11608           Test for the above.
11609
11610 2006-10-25  David Schleef  <ds@schleef.org>
11611
11612         * gst/gstinfo.c:
11613           g_hash_table_insert() needs a cast to a non-const pointer duh.
11614
11615 2006-10-25  David Schleef  <ds@schleef.org>
11616
11617         * gst/gstinfo.c:
11618         * gst/gstinfo.h:
11619           Change name parameter of _gst_debug_register_funcptr to const
11620           to reflect the constness of its use in the function as well
11621           as to quiet a gcc warning.
11622
11623 2006-10-25  Edward Hervey  <edward@fluendo.com>
11624
11625         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11626         Don't push the buffer if it's empty.
11627         Closes #363095
11628
11629 2006-10-24  Wim Taymans  <wim@fluendo.com>
11630
11631         * gst/gstevent.h:
11632         Add small comment.
11633
11634         * libs/gst/base/gstbasetransform.c:
11635         (gst_base_transform_sink_eventfunc):
11636         Debug segment values *after* updating them as this is more
11637         interesting.
11638
11639 2006-10-23  Wim Taymans  <wim@fluendo.com>
11640
11641         * docs/design/part-events.txt:
11642         Update some docs.
11643
11644         * docs/design/part-block.txt:
11645         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
11646         (gst_pad_push_event):
11647         Revert BLOCKING patch, it tries to be smart without really having a
11648         clear idea what or how. So, now we discard all FLUSHING events again on
11649         a blocking pad. Should fix gnonlin again.
11650
11651 2006-10-23  Wim Taymans  <wim@fluendo.com>
11652
11653         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11654
11655         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
11656         (gst_base_src_start), (gst_base_src_activate_push):
11657         Make sure size is always initialized. Fixes #364388.
11658
11659 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
11660
11661         * docs/random/ensonic/distributed.txt:
11662           add some ideas about doing distributed processing
11663
11664         * docs/random/ensonic/profiling.txt:
11665           get_rusage look promising
11666
11667 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
11668
11669         * docs/manual/basics-helloworld.xml:
11670           Add a cast in example to fix compile warning
11671
11672 2006-10-18  Wim Taymans  <wim@fluendo.com>
11673
11674         * gst/gstsegment.c: (gst_segment_set_last_stop),
11675         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11676         Relax arg checking again, -1 is allowed.
11677
11678 2006-10-18  Wim Taymans  <wim@fluendo.com>
11679
11680         * gst/gstsegment.c: (gst_segment_set_last_stop),
11681         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11682         _set_last_stop() must be with a value != -1
11683         A _TYPE_SET to -1 means seek to 0.
11684         Calc last_stop correctly for negative rates.
11685         Make sure we work with positive durations when updating a segment.
11686
11687 2006-10-18  Wim Taymans  <wim@fluendo.com>
11688
11689         * docs/design/part-live-source.txt:
11690         * gst/gstclock.h:
11691         Small docs fixes.
11692
11693 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
11694
11695         * gst/gstbuffer.h:
11696           Add an explicit cast to GstBuffer** to keep old code that added an
11697           explicit cast to GstMiniObject** for gst_mini_object_replace()
11698           compiling without warning.
11699
11700 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
11701
11702         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
11703           check for validity of dates
11704
11705 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11706
11707         * docs/gst/gstreamer-sections.txt:
11708           Forgot this one, makes gtk-doc shut up.
11709
11710 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11711
11712         Patch by: Peter Kjellerstedt <pkj at axis com>
11713
11714         * gst/gstobject.h:
11715           Don't define xmlNodePtr to gpointer if the core was built with
11716           --disable-loadsave and --disable-registry, this will break
11717           applications that want to use libxml2 but are buildling against a
11718           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
11719           instead so we don't have to mess with the libxml2 namespace
11720           (#361675).
11721
11722 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11723
11724         * gst/gstbuffer.h:
11725           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
11726           type-punned pointer warnings.
11727
11728 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
11729
11730         * gst/gstelement.h:
11731           Add casts to the correct return type to state <=> state transition
11732           macros.
11733
11734 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
11735
11736         * docs/design/part-live-source.txt:
11737           describe howto handle latency
11738         
11739         * docs/random/ensonic/profiling.txt:
11740           more ideas
11741
11742         * tools/gst-plot-timeline.py:
11743           fix log parsing for solaris, remove unused function
11744
11745 2006-10-16  Wim Taymans  <wim@fluendo.com>
11746
11747         * docs/design/part-trickmodes.txt:
11748         * gst/gstevent.c:
11749         Update some docs regarding reverse playback.
11750
11751 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
11752
11753         Patch by: Marcus Granado  <mrc dot gran at gmail com>
11754
11755         * win32/vs8/grammar.vcproj:
11756           Error out with a warning if glib-genmarshal.exe is not in path,
11757           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
11758
11759 2006-10-13  Wim Taymans  <wim@fluendo.com>
11760
11761         * gst/gstsegment.c: (gst_segment_set_seek):
11762         When seeking to stop -1, set last_stop (current position) to the
11763         duration of the segment.
11764
11765 2006-10-13  Wim Taymans  <wim@fluendo.com>
11766
11767         * gst/gstelement.h:
11768         Clarify _NO_PREROLL a bit more.
11769
11770         * gst/gstevent.c:
11771         Fix docs.
11772
11773         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
11774         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
11775         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
11776         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
11777         due to wrong locking order. Fixes #361769.
11778         Remove some redundant/misplaced checks in pad_block.
11779
11780         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
11781         For negative rates, count backwards from the duration.
11782
11783 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
11784
11785         * gst/gsterror.c: (_gst_library_errors_init):
11786           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
11787           up with something better).
11788
11789 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
11790
11791         * win32/vs6/libgstreamer.dsp:
11792         * win32/vs7/libgstreamer.vcproj:
11793         * win32/vs8/libgstreamer.vcproj:
11794           Don't reference glib-compat.c which is currently not used and not
11795           disted; add gstquark.c which was recently added. Fixes #361730.
11796
11797 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
11798
11799         * win32/common/libgstbase.def:
11800         * win32/common/libgstcontroller.def:
11801         * win32/common/libgstreamer.def:
11802           Add gst_caps_merge() and a bunch of other recently-added functions.
11803           Fixes #361732.
11804
11805 2006-10-11  Wim Taymans  <wim@fluendo.com>
11806
11807         * docs/plugins/gstreamer-plugins.args:
11808         * docs/plugins/inspect/plugin-coreelements.xml:
11809         * docs/plugins/inspect/plugin-coreindexers.xml:
11810         Update element args.
11811
11812         * gst/gstsystemclock.c:
11813         Small comment update.
11814
11815         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
11816         (gst_tee_request_new_pad), (gst_tee_release_pad),
11817         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
11818         (gst_tee_sink_activate_pull):
11819         * plugins/elements/gsttee.h:
11820         Some tee loving:
11821         Add default property defines.
11822         Implement release pad function.
11823         Give properties better blubs etc.
11824         Activate pads before adding them to a running tee.
11825         Do simple buffer_alloc on the first requested pad.
11826         Post error when activation fails.
11827
11828 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
11829
11830         * gst/gst.c: (ensure_current_registry_forking):
11831           Check return value of write() to make compiler happy.
11832
11833 2006-10-11  Wim Taymans  <wim@fluendo.com>
11834
11835         Patch by: Sjoerd Simons <sjoerd at luon dot net>
11836
11837         * plugins/elements/gstqueue.c: (gst_queue_chain):
11838         Recheck queue filledness after signalling the overrun when we're about
11839         to leak downstream because we released the lock when emitting the signal
11840         and the queue could be empty again. Fixes #352345.
11841
11842 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
11843
11844         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
11845           Fix refcounting here too, just like we did for _new_valist() a few
11846           days ago (#357180) (thanks to René Stadler). Also remove all those
11847           'Since: 0.9' from the gtk-doc blobs.
11848
11849         * tests/check/libs/controller.c: (controller_refcount_new_list),
11850         (gst_controller_suite):
11851           Unit test for the above.
11852
11853 2006-10-10  Wim Taymans  <wim@fluendo.com>
11854
11855         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
11856
11857         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
11858         (gst_pad_save_thyself):
11859         Update some docs.
11860         Write pad direction in XML output. Fixes #345496.
11861
11862 2006-10-10  Wim Taymans  <wim@fluendo.com>
11863
11864         Patch by: René Stadler <mail at renestadler dot de>
11865
11866         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
11867         (gst_controller_new_list), (_gst_controller_dispose),
11868         (_gst_controller_finalize), (_gst_controller_class_init):
11869         Take ref to controlled object so that it cannot disappear. 
11870         Fixes #357432.
11871
11872 2006-10-10  Wim Taymans  <wim@fluendo.com>
11873
11874         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
11875         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
11876         (gst_check_teardown_sink_pad):
11877         Activate/deactivate pads in setup/teardown respectively.
11878
11879 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11880
11881         Patch by: Josep Torra Valles <josep@fluendo.com>
11882
11883         * gst/Makefile.am:
11884         Cast values when making gstenumtypes.h.  This pacifies Forte
11885         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
11886         in the enumeration.
11887
11888 2006-10-09  Wim Taymans  <wim@fluendo.com>
11889
11890         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
11891         Rename some more @cur to @start to fix docs. 
11892
11893         * gst/gstsegment.c: (gst_segment_set_seek):
11894         Fix typo.
11895         time and start must always stay in sync as defined in design doc.
11896
11897         * gst/gsttaglist.c: (gst_tag_list_is_empty):
11898         Rename param to fix docs.
11899
11900         * tests/check/gst/gstsegment.c: (GST_START_TEST):
11901         Check that start and time are in sync.
11902
11903         * tests/check/pipelines/parse-launch.c:
11904         (gst_parse_test_element_change_state):
11905         Activate pad before adding to the element.
11906
11907 2006-10-09  Wim Taymans  <wim@fluendo.com>
11908
11909         * docs/design/part-qos.txt:
11910         Fix typo.
11911
11912         * gst/gstevent.c:
11913         * gst/gstevent.h:
11914         Update seek event docs regarding negative rates.
11915         Rename @cur to @start. 
11916
11917         * gst/gstsegment.c: (gst_segment_set_seek):
11918         * gst/gstsegment.h:
11919         Update set_seek docs regarding negative rates.
11920         Correctly update last_stop to @stop when dealing with negative
11921         rates.
11922         Rename @cur to @start. 
11923
11924         * tests/check/gst/gstpad.c: (GST_START_TEST):
11925         Activate pads before trying to use them.
11926
11927         * tests/check/gst/gstsegment.c: (GST_START_TEST),
11928         (gst_segment_suite):
11929         Add simple check for segments and negative rates.
11930
11931 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
11932
11933         * gst/gsttaglist.c: (gst_tag_list_is_empty):
11934         * gst/gsttaglist.h:
11935         * docs/gst/gstreamer-sections.txt:
11936           API: add gst_tag_list_is_empty() (#360467).
11937
11938         * tests/check/gst/gsttag.c: (GST_START_TEST):
11939           And a test case.
11940
11941 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11942
11943         * gst/gstmessage.h:
11944         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
11945         a value that doesn't fit on enumeration.
11946
11947 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11948
11949         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11950         Remove local debugging system and use Gstreamer's instead.
11951
11952 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11953
11954         Patch by: Josep Torra Valles <josep@fluendo.com>
11955
11956         * common/m4/gst-error.m4:
11957         Disable warning of statement not reached on Forte.
11958         * gst/gstmessage.h:
11959         Fix warning on Forte (value doesn't fit on enumeration).
11960         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
11961         Fix warning on Forte (value doesn't fit on enumeration).
11962         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11963         DEBUG macro says it takes minimum of 2 args and so Forte
11964         complains about the use with just 1 arg.
11965         * plugins/elements/gstfdsink.c:
11966         * plugins/elements/gstfdsrc.c:
11967         * plugins/elements/gstfilesink.c:
11968         * plugins/elements/gstfilesrc.c:
11969         Use correct return type for the uri handler implementations.
11970
11971         All these fix warnings in Forte.  Fixes bug #360860.
11972
11973 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
11974
11975         * gst/gstelement.h:
11976           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
11977           format string, so don't use G_GNUC_PRINTF for those versions.
11978
11979 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
11980
11981         * gst/gsttaglist.c: (gst_is_tag_list):
11982         * gst/gsttaglist.h:
11983           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
11984
11985         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11986           Small test for the above.
11987
11988 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
11989
11990         * gst/gsttaglist.h:
11991           Less tabs, more spaces.
11992
11993 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
11994
11995         * gst/gstinfo.h:
11996           Those two function declarations do actually belong there, revert
11997           commit from yesterday that turned them intro macros.
11998
11999 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12000
12001         Patch by: Josep Torra Valles <josep@fluendo.com>
12002
12003         * gst/gst.c: (gst_init_get_option_group):
12004         Fix empty declaration and type mismatch.
12005         * gst/gstbin.c: (gst_bin_change_state_func):
12006         Fix type mismatch.
12007         * gst/gstelement.c: (gst_element_continue_state),
12008         (gst_element_set_state_func), (gst_element_change_state),
12009         (gst_element_change_state_func):
12010         Fix type mismatches.
12011         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
12012         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
12013         Cast as appropriate.
12014         * gst/gstobject.c: (gst_class_signal_connect):
12015         Cast as appropriate.  The function pointer parameter really
12016         has the wrong type but would break API if we change it.
12017         * gst/gstquery.c:
12018         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
12019         order of including string.h.
12020         * gst/gstutils.c: (gst_element_state_get_name):
12021         Remove unreachable line.
12022         * gst/gstxml.c: (gst_xml_parse_doc):
12023         Fix type mismatch.
12024         All these caught by Forte.
12025
12026 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12027
12028         Patch by: Josep Torra Valles <josep@fluendo.com>
12029
12030         * common/m4/gst-error.m4:
12031         Fixed bug #360151.
12032         We need to disable warnings on Forte for empty declarations
12033         due to gst-indent adding ;s to lines that just use macros
12034         where the macro actually doesn't need a ; at end to end
12035         statement.
12036
12037 2006-10-06  Wim Taymans  <wim@fluendo.com>
12038
12039         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
12040         (gst_file_sink_close_file), (gst_file_sink_event),
12041         (gst_file_sink_render):
12042         Add some FIXME for the NEWSEGMENT handling.
12043
12044 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12045
12046         * gst/parse/grammar.y:
12047         Remove static function gst_parse_element_lock as all it does
12048         is return.  Looks like cruft from 0.8.
12049
12050 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12051
12052         Patch by: Josep Torra Valles <josep@fluendo.com>
12053
12054         * common/m4/gst-error.m4:
12055         * configure.ac:
12056         * libs/gst/net/Makefile.am:
12057         Fix a compilation issue with Forte on Solaris.  inet_aton is in
12058         libresolv.
12059
12060 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
12061
12062         * gst/gstpad.c: (pre_activate):
12063         * gst/gstregistry.c: (gst_registry_scan_path_level):
12064         * gst/gstregistryxml.c: (load_plugin):
12065         * libs/gst/controller/gstcontroller.c:
12066         (gst_controlled_property_set_interpolation_mode):
12067         * libs/gst/dataprotocol/dataprotocol.c:
12068         (gst_dp_packet_from_event_1_0):
12069         * libs/gst/net/gstnetclientclock.c:
12070         (gst_net_client_clock_observe_times):
12071         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
12072           Printf fixes.
12073
12074 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
12075
12076         * configure.ac:
12077         * docs/gst/gstreamer-sections.txt:
12078         * gst/gstconfig.h.in:
12079         * gst/gstelement.h:
12080         * gst/gstinfo.h:
12081           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
12082           whether we can use G_GNUC_PRINTF in other header files and at
12083           least check the printf format/arguments of debug messages and
12084           GST_ELEMENT_ERROR messages when the printf extension is not
12085           being used.
12086           Replace more tabs with spaces in gstinfo.h and remove two spurious
12087           function declarations in GST_DISABLE_DEBUG part with macros.
12088
12089 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
12090
12091         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
12092           More docs for the sync-message signal (mention that it is not
12093           emitted by default); log message structures of messages posted on
12094           the bus as well.
12095
12096 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
12097
12098         * gst/gst.c: (ensure_current_registry_forking):
12099         Use a pipe pair to receive status results from the forked child, and
12100         ignore the result from waitpid. Fixes #355499
12101
12102 2006-10-02  Wim Taymans  <wim@fluendo.com>
12103
12104         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12105         (gst_ghost_pad_suite):
12106         Fix leak in check.
12107
12108 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
12109
12110         * gst/gstpad.c:
12111           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
12112
12113 2006-10-02  Edward Hervey  <edward@fluendo.com>
12114
12115         * docs/design/part-block.txt:
12116         Further explain the use of flushing on blocked pads.
12117         * docs/gst/gstreamer-sections.txt:
12118         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
12119         (gst_pad_push_event):
12120         * gst/gstpad.h:
12121         Added new GstPadFlag : GST_PAD_BLOCKING.
12122         Adds the notion of pads really blocking, which enables to properly
12123         handle FLUSH_START/FLUSH_STOP events on blocked pads.
12124         Fixes #358999
12125         API: gst_pad_is_blocking()
12126         API: GST_PAD_IS_BLOCKING() macro
12127         API: GST_PAD_BLOCKING GstPadFlag
12128         
12129 2006-10-02  Wim Taymans  <wim@fluendo.com>
12130
12131         Patch by: mrcgran <mrc.gran at gmail dot com>
12132
12133         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
12134         Filter the proxied caps against the padtemplate if we have one.
12135
12136         * gst/gstquery.c: (gst_query_new_segment):
12137         Add include for gstinfo.h so that compilation with
12138         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
12139
12140 2006-10-02  Wim Taymans  <wim@fluendo.com>
12141
12142         Patch by: Alessandro Decina  <alessandro at nnva org>
12143
12144         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
12145         (gst_file_sink_set_location), (gst_file_sink_open_file),
12146         (gst_file_sink_close_file), (gst_file_sink_event),
12147         (gst_file_sink_render):
12148         Set file to NULL when closing filesink so that we can set a new filename
12149         in READY. Fixes #358613.
12150
12151 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
12152
12153         Patch by: Alessandro Decina  <alessandro at nnva org>
12154
12155         * gst/gstevent.c: (_gst_event_copy):
12156           Fix gst_mini_object_make_writable() and gst_event_copy() for events
12157           with event structures by setting the parent refcount address of the
12158           copied structure to the address of the refcount member of the newly
12159           copied event rather than the address of the refcount member of the
12160           original event. Fixes #358737.
12161
12162         * tests/check/gst/gstevent.c: (GST_START_TEST):
12163           Unit test for the above.
12164
12165 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
12166
12167         * docs/design/Makefile.am:
12168           Dist some more files.
12169
12170 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
12171
12172         * tests/check/libs/controller.c: (GST_START_TEST),
12173         (gst_controller_suite):
12174           Add test for the previous fix; add some more tests
12175           for correct refcounting behaviour; fix a few leaks
12176           in test cases; call gst_controller_init() at start
12177           of all tests.
12178
12179 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
12180
12181         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12182         (gst_controller_set_from_list):
12183           Don't g_return_val_if_fail() on timed values with invalid timestamps
12184           inside a critical section without unlocking the mutex. Spotted by
12185           René Stadler. (#357617)
12186           Also, fix up refcounting properly: when returning an existing
12187           controller, we should increase the reference only once and not
12188           once per property and when trying to control a property again
12189           we should also increase the refcount.
12190
12191 2006-09-29  Wim Taymans  <wim@fluendo.com>
12192
12193         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
12194         * libs/gst/net/gstnettimeprovider.c:
12195         (gst_net_time_provider_thread):
12196         Stop reading commands when EOF as well.
12197
12198         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
12199         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
12200         * plugins/elements/gstidentity.c: (gst_identity_class_init):
12201         Unify description of the dump property.
12202
12203 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12204
12205         * tests/examples/manual/.cvsignore:
12206         OK, so it's actually cvsignore that needs changing. Stop laughing.
12207
12208 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12209
12210         * tests/examples/manual/Makefile.am:
12211         Gah, declare vars *before* using them
12212
12213 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12214
12215         * gst/gst.c: (init_pre), (scan_and_update_registry),
12216         (ensure_current_registry_nonforking),
12217         (ensure_current_registry_forking), (ensure_current_registry),
12218         (init_post), (gst_debug_help), (gst_deinit):
12219         * gst/gst_private.h:
12220         * gst/gstregistry.c: (gst_registry_finalize),
12221         (gst_registry_remove_features_for_plugin_unlocked),
12222         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12223         (gst_registry_scan_path),
12224         (_priv_gst_registry_remove_cache_plugins),
12225         (_priv_gst_registry_cleanup):
12226         * gst/gstregistry.h:
12227         Re-commit the registry changes, along with an extra fix:
12228           When a cached plugin is encountered at a different file path,
12229           update the stored path in the registry cache so that the parent
12230           process knows where it actually is now when it re-reads the registry
12231           cache. Fixes the thing that broke distcheck with the previous commit.
12232
12233         * tests/check/Makefile.am:
12234         Clean up files named 'core' too when running make clean.
12235
12236         * tests/examples/manual/Makefile.am:
12237         Set up a registry path for running these tests, and clean it properly
12238         for distcheck.
12239
12240 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12241
12242         * configure.ac:
12243         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
12244         want gmodule-no-export-2.0.pc instead so that we don't drag in
12245         --export-dynamic on every project that links to GStreamer.
12246
12247         Also, make our export regex only match the start of symbols, rather 
12248         than any symbol that contains '_gst' somewhere.
12249
12250         * libs/gst/check/Makefile.am:
12251         The libgstcheck we build does however need export-dynamic, as it
12252         produces some symbols that don't match our _gst... style regex.
12253         Fixes: #318031
12254
12255 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
12256
12257         * gst/gst.c: (init_pre), (scan_and_update_registry),
12258         (ensure_current_registry_nonforking),
12259         (ensure_current_registry_forking), (ensure_current_registry),
12260         (init_post), (gst_debug_help), (gst_deinit):
12261         * gst/gst_private.h:
12262         * gst/gstregistry.c: (gst_registry_finalize),
12263         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12264         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
12265         (_gst_registry_cleanup):
12266         * gst/gstregistry.h:
12267           Revert previous change until I figure out why it breaks distcheck.
12268
12269 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
12270
12271         * gst/gst.c: (init_pre), (scan_and_update_registry),
12272         (ensure_current_registry_nonforking),
12273         (ensure_current_registry_forking), (ensure_current_registry),
12274         (init_post), (gst_debug_help), (gst_deinit):
12275
12276           Make init_pre and init_post take the full complement of GOptionFunc
12277           args so they can return useful GErrors. Make the registry updating
12278           functions do so.
12279
12280           Call _priv_gst_registry_remove_cache_plugins after scanning files to
12281           ensure that the registry we're about to write out doesn't contain
12282           stale information about old-deleted plugin files.
12283
12284           Make _priv_gst_registry_remove_cache_plugins return a boolean so
12285           that deletion of plugin files is considered a registry change.
12286
12287         * gst/gst_private.h:
12288         * gst/gstregistry.c: (gst_registry_finalize),
12289         (gst_registry_remove_features_for_plugin_unlocked),
12290         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12291         (gst_registry_scan_path),
12292         (_priv_gst_registry_remove_cache_plugins),
12293         (_priv_gst_registry_cleanup):
12294         * gst/gstregistry.h:
12295         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
12296         by adding _priv prefix, so that they won't appear in the global
12297         symbol table. They still do atm though because of #318031. Move the
12298         prototypes to gst_private.h
12299
12300         When removing a plugin, remove all features for that plugin too. 
12301         Fixes #340878.
12302
12303 2006-09-27  Wim Taymans  <wim@fluendo.com>
12304
12305         * docs/random/moving-plugins:
12306         Make it clear that the "compiled-in descriptions" really mean
12307         the element details.
12308
12309         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12310         (gst_base_sink_wait_preroll):
12311         Update docs.
12312
12313         * docs/libs/gstreamer-libs-sections.txt:
12314         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
12315         (gst_base_src_get_range), (gst_base_src_activate_push):
12316         * libs/gst/base/gstbasesrc.h:
12317         Added function to block while waiting for PLAYING, this function
12318         is used by live sources that block on the clock.
12319         API: gst_base_src_wait_playing()
12320
12321 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12322
12323         Patch by: Peter Kjellerstedt <pkj at axis com>
12324
12325         * Makefile.am:
12326           gst-element-check.m4 is generated and should therefore be
12327           copied from the build dir rather than the source dir (#357593).
12328           'make distcheck' hasn't noticed this because we were disting
12329           the file as well, so stop doing that.
12330
12331 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12332
12333         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12334           Add some tests for gst_caps_intersect().
12335
12336         * tools/gst-launch.c: (event_loop):
12337           Print all buffering percentages we get, even the 100% one.
12338
12339 2006-09-26  Wim Taymans  <wim@fluendo.com>
12340
12341         * tools/gst-inspect.c: (print_element_properties_info),
12342         (print_signal_info):
12343         Fix printing of flags to match the look of enums.
12344
12345 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12346
12347         * gst/gstelementfactory.c:
12348           Fix typo in docs blurb.
12349
12350 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12351
12352         * gst/gsturi.c: (search_by_entry):
12353           Don't assert/crash here if a uri handler doesn't return any
12354           supported protocols. The list of protocols could be generated
12355           dynamically at runtime or at plugin registration, and an error
12356           in the underlying library shouldn't be fatal (#353301).
12357
12358 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12359
12360         * gst/gstinfo.c:
12361           Fix warning if HAVE_PRINTF_EXTENSION is undefined
12362           (spotted by Peter Kjellerstedt).
12363
12364 2006-09-23  Wim Taymans  <wim@fluendo.com>
12365
12366         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
12367
12368         * libs/gst/base/gstbasesrc.c:
12369         (gst_base_src_default_check_get_range), (gst_base_src_start),
12370         (gst_base_src_activate_push), (gst_base_src_activate_pull),
12371         (gst_base_src_change_state):
12372         Match _start/_stop calls in the activate functions. Remove redundant
12373         _stop call from the state change function. Fixes #356910.
12374         Turn failure DEBUG into ERROR. 
12375
12376 2006-09-22  Wim Taymans  <wim@fluendo.com>
12377
12378         * docs/design/part-buffering.txt:
12379         * gst/gstmessage.c: (gst_message_new_buffering),
12380         (gst_message_parse_buffering):
12381         Update docs about buffering.
12382
12383         * docs/design/part-trickmodes.txt:
12384         Fix typo.
12385
12386 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
12387
12388         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12389         (gst_controller_new_list):
12390           Ref instances when returning them again (fixes #357180)
12391
12392 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
12393
12394         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
12395           Don't forget to release proxy lock when there's an error.
12396
12397 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
12398
12399         * gst/gstcaps.h:
12400           Add extra initialisers for Caps things, to fix some plugin warnings
12401           when using -Wextra
12402
12403 2006-09-18  Wim Taymans  <wim@fluendo.com>
12404
12405         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
12406           Also set template on the internal pad so that a getcaps from the 
12407           target pad returns the template caps.
12408
12409 2006-09-18  Wim Taymans  <wim@fluendo.com>
12410
12411         * gst/gstelement.c: (gst_element_post_message),
12412         (gst_element_dispose):
12413         Use _DEBUG_OBJECT some more.
12414
12415         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
12416         Avoid typechecks.
12417
12418         * tools/gst-launch.c: (main):
12419         If the toplevel element is not a GstPipeline, it must be put in a
12420         pipeline so that a bus and clock is selected.
12421
12422 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
12423
12424         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
12425           JITTER, RATE, and LATENCY query should be handled by the
12426           default case and not by the CONVERT query code.
12427
12428 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
12429
12430         * gst/gstformat.c: (gst_format_register):
12431           Fix locking order (must take lock before using n_values).
12432
12433         * gst/gstvalue.c: (gst_value_serialize_enum),
12434         (gst_value_deserialize_enum_iter_cmp),
12435         (gst_value_deserialize_enum):
12436           Fix serialisation/deserialisation of custom registered GstFormats.
12437
12438         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12439           Unit test for custom format serialisation/deserialisation.
12440
12441 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
12442
12443         * docs/pwg/building-boiler.xml:
12444         * plugins/elements/gstcapsfilter.c:
12445         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
12446         section.
12447
12448 2006-09-16  Edward Hervey  <edward@fluendo.com>
12449
12450         * libs/gst/base/gstbasetransform.c:
12451         (gst_base_transform_buffer_alloc):
12452         Check if requested caps are the same as the sinks caps IF
12453         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
12454         is FALSE.
12455         This fixes the renegotiation issues stated in #352827.
12456
12457 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12458
12459         * configure.ac:
12460         * docs/manual/advanced-autoplugging.xml:
12461         * tests/examples/Makefile.am:
12462         * tests/examples/manual/.cvsignore:
12463         * tests/examples/manual/Makefile.am:
12464         * tests/examples/manual/extract.pl:
12465           Extract the manual examples again like we used to do.
12466           Fix one of them.
12467
12468 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12469
12470         * win32/common/config.h:
12471           update for version
12472
12473 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
12474
12475         * gst/gsterror.c:
12476           Documents how to receive errors.
12477
12478 2006-09-15  Wim Taymans  <wim@fluendo.com>
12479
12480         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
12481         (event_loop), (main):
12482         Added some comments here and there.
12483         Post an application message when an interrupt is caught instead of doing
12484         an uncontrolled state change.
12485         Clean up the event loop.
12486         Handle buffering messages, pause/resume the pipeline.
12487         Make shutdown because of an interrupt more reliable.
12488
12489 2006-09-15  Wim Taymans  <wim@fluendo.com>
12490
12491         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12492         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
12493         (gst_base_sink_preroll_object):
12494         Make sure that our internal state is correct when we commit our state
12495         asynchronously. This solves a race where a state change to PLAYING
12496         could cause the sink to remain blocked in preroll in some situations.
12497
12498 2006-09-15  Wim Taymans  <wim@fluendo.com>
12499
12500         * tools/gst-inspect.c: (print_element_properties_info),
12501         (print_signal_info):
12502         List flags as hex so it's easier to deal with.
12503
12504 2006-09-15  Wim Taymans  <wim@fluendo.com>
12505
12506         * docs/libs/gstreamer-libs-sections.txt:
12507         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
12508         (gst_base_sink_do_sync):
12509         * libs/gst/base/gstbasesink.h:
12510         Expose logic to wait for preroll so that subclasses such as audiosink
12511         can also use this method.
12512         API: gst_base_sink_wait_preroll()
12513
12514 2006-09-15  Wim Taymans  <wim@fluendo.com>
12515
12516         * gst/gstobject.c: (gst_object_set_parent):
12517         * gst/gstpipeline.c: (do_pipeline_seek):
12518         Small cleanups in docs and code.
12519
12520         * gst/gstsegment.c: (gst_segment_clip):
12521         * tests/check/gst/gstsegment.c: (GST_START_TEST):
12522         if stop == start and start is in the segment, no clipping should be
12523         done. Also add a test for this.
12524
12525 2006-09-15  Wim Taymans  <wim@fluendo.com>
12526
12527         * docs/design/part-buffering.txt:
12528         * docs/gst/gstreamer-sections.txt:
12529         * gst/gstmessage.c: (gst_message_new_buffering),
12530         (gst_message_parse_buffering):
12531         * gst/gstmessage.h:
12532         Added methods to create and parse BUFFERING messages.
12533         Added preliminary docs about buffering.
12534         API: gst_message_new_buffering
12535         API: gst_message_parse_buffering
12536
12537 2006-09-06  Wim Taymans  <wim@fluendo.com>
12538
12539         * gst/gstbin.c:
12540         Update documentation.
12541
12542         * gst/gstelement.c: (gst_element_class_init),
12543         (gst_element_release_request_pad), (gst_element_set_clock),
12544         (gst_element_get_index), (gst_element_add_pad),
12545         (gst_element_remove_pad), (gst_element_get_random_pad),
12546         (gst_element_send_event), (gst_element_get_query_types),
12547         (gst_element_query), (gst_element_post_message),
12548         (gst_element_message_full), (gst_element_continue_state),
12549         (gst_element_lost_state), (gst_element_save_thyself),
12550         (gst_element_restore_thyself):
12551         Documentation updates.
12552         Rename last bit of the new-pad -> pad-added signal rename.
12553         Fix the case where an element query would only work if the source
12554         pad was linked.
12555         Avoid some useless type checking in message handling.
12556
12557         * gst/gstevent.c:
12558         * gst/gstevent.h:
12559         * gst/gstutils.c:
12560         Documentation updates.
12561
12562 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12563
12564         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
12565           add an INFO line for when we actually update the fd
12566
12567 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12568
12569         * configure.ac:
12570           back to TRUNK
12571
12572 === release 0.10.10 ===
12573
12574 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
12575
12576         * configure.ac:
12577           releasing 0.10.10, "Pais"
12578
12579 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
12580
12581         * docs/manual/advanced-position.xml:
12582           Fix typo in sample code.
12583
12584 2006-09-05  Wim Taymans  <wim@fluendo.com>
12585
12586         * libs/gst/net/gstnetclientclock.c: (inet_aton),
12587         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
12588         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
12589         * libs/gst/net/gstnetclientclock.h:
12590         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
12591         * libs/gst/net/gstnettimepacket.h:
12592         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
12593         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
12594         (gst_net_time_provider_thread), (gst_net_time_provider_new):
12595         * libs/gst/net/gstnettimeprovider.h:
12596         Make stuff compile on windows. Fixes #345295.
12597
12598 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
12599
12600         * gst/gst.c: (ensure_current_registry_forking):
12601           Print better details when child was terminated by signal.
12602
12603 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
12604
12605         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
12606           Print a warning rather than g_assert() if a plugin feature
12607           is a URI handler but returns no protocols (#353976).
12608
12609 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
12610
12611         * docs/random/moving-plugins:
12612         Fix two typos.         
12613
12614 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
12615
12616         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
12617           Fix locking order, handle NULL function values properly.
12618
12619         * gst/gstinfo.h:
12620           Fix docs.
12621
12622         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
12623           Initialise variable before using it and fix debug statement to
12624           print the address of the function rather than the address of the
12625           variable on the stack holding the address of the function.
12626
12627 2006-09-01  Wim Taymans  <wim@fluendo.com>
12628
12629         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
12630         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
12631         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
12632         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
12633         (gst_ghost_pad_parent_unset),
12634         (gst_ghost_pad_internal_do_activate_push),
12635         (gst_ghost_pad_internal_do_activate_pull),
12636         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12637         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12638         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
12639         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
12640         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
12641         (gst_ghost_pad_new_no_target_from_template),
12642         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
12643         More cleanups.
12644         Avoid needless typechecking in macros.
12645         Since the internal pad is always present and never changes, there is
12646         no need to locking or ref when retrieving it.
12647         Improve debugging a bit.
12648         Handle link errors when setting the target. Fixes #341029.
12649
12650 2006-09-01  Wim Taymans  <wim@fluendo.com>
12651
12652         * docs/libs/gstreamer-libs-sections.txt:
12653         * docs/plugins/gstreamer-plugins-sections.txt:
12654         Fix docs some more.
12655
12656         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
12657         (gst_collect_pads_event):
12658         * libs/gst/base/gstcollectpads.h:
12659         Documentation updates.
12660         Free queued buffer when removing a pad.
12661
12662 2006-08-31  Michael Smith  <msmith@fluendo.com>
12663
12664         * gst/gstutils.c: (gst_element_link_pads),
12665         (gst_element_link_pads_filtered):
12666           Ensure that we set a capsfilter to NULL if we failed to link it
12667           when doing filtered linking, to avoid criticals.
12668
12669           No need to check for unreffing srcpad, which is explicly NULLed
12670           above (a trivial code cleanup).
12671
12672 2006-08-31  Wim Taymans  <wim@fluendo.com>
12673
12674         * docs/design/part-gstghostpad.txt:
12675         Update ascii art in documentation.
12676
12677         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
12678         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
12679         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
12680         (gst_ghost_pad_internal_do_activate_push),
12681         (gst_ghost_pad_internal_do_activate_pull),
12682         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12683         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12684         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
12685         (gst_ghost_pad_set_target):
12686         Small cleanups and leak fixes.
12687         Remove some checks now that the internal pad is never NULL.
12688         Fix the case where linking pads without a target would create nasty
12689         criticals. Fixes #341029.
12690         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
12691         value of _set_target().
12692
12693         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12694         (gst_ghost_pad_suite):
12695         Some more tests for creating and linking untargeted ghostpads.
12696
12697 2006-08-31  Edward Hervey  <edward@fluendo.com>
12698
12699         * docs/gst/gstreamer-sections.txt:
12700         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
12701         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
12702         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
12703         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
12704         (gst_ghost_pad_new_from_template),
12705         (gst_ghost_pad_new_no_target_from_template):
12706         * gst/gstghostpad.h:
12707         Refactored *_new() functions.
12708         Templates are now used as a g_object_new() parameter.
12709         Use template in _do_getcaps() if we don't have a target.
12710         Small documentation cleanups.
12711         Added two new constructors:
12712         gst_ghost_pad_new_from_template()
12713         gst_ghost_pad_new_no_target_from_template()
12714         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12715         (gst_ghost_pad_suite):
12716         Added tests for new ghostpad instanciation functions.
12717
12718         API additions: gst_ghost_pad_new_from_template,
12719         gst_ghost_pad_new_no_target_from_template
12720
12721 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
12722
12723         * docs/random/ensonic/profiling.txt:
12724           Ideas about qos profiling.
12725
12726 2006-08-29  Wim Taymans  <wim@fluendo.com>
12727
12728         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
12729         Code cleanups.
12730         Fix memleak.
12731
12732 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
12733
12734         * gst/gstxml.c:
12735           Improve and detypofy docs.
12736
12737         * tests/check/Makefile.am:
12738         * tests/check/gst/.cvsignore:
12739         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
12740           Add a basic test suite for GstXML.
12741
12742 2006-08-29  Wim Taymans  <wim@fluendo.com>
12743
12744         * gst/gstelement.c: (activate_pads), (clear_caps),
12745         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
12746         Clear the pad caps when the element shut down all of the pads and
12747         is not streaming data that could modify the caps. 
12748         Fixes #352958.
12749
12750 2006-08-28  Michael Smith  <msmith@fluendo.com>
12751
12752         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12753           Revert previous change; I misunderstood single-segment mode.
12754
12755 2006-08-28  Michael Smith  <msmith@fluendo.com>
12756
12757         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12758           Unset DISCONT on buffers when using single-segment mode.
12759
12760 2006-08-28  Wim Taymans  <wim@fluendo.com>
12761
12762         * gst/gstcaps.c: (gst_caps_merge_structure):
12763         * gst/gstcaps.h:
12764         Fix docs and indentation again.
12765
12766         * tests/check/gst/gstquery.c: (GST_START_TEST):
12767         Fix leak in tests and add some more tests.
12768
12769 2006-08-28  Edward Hervey  <edward@fluendo.com>
12770
12771         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
12772         Inform GstSegment of the last stop position in order for the current
12773         segment to have a proper duration if it doesn't have a specific stop
12774         position from which a duration could be calculated.
12775         This bug was noticeable when a non-flushing, non-update new segment was
12776         followed by another segment (all buffers from the new segment were being
12777         dropped).
12778
12779 2006-08-28  Wim Taymans  <wim@fluendo.com>
12780
12781         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
12782         Small comment update.
12783
12784         * plugins/elements/gstidentity.c: (gst_identity_class_init),
12785         (gst_identity_transform_ip):
12786         Drop-probability is broken, mention this in the code with a 
12787         FIXME and also in the property description.
12788         Make silent also be silent about the drop messages.
12789
12790 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
12791
12792         * docs/manual/appendix-win32.xml:
12793           Remove mention of popt, we don't depend on that any
12794           longer (#353136). Add some comments pointing out that
12795           this section is slightly outdated.
12796
12797 2006-08-28  Wim Taymans  <wim@fluendo.com>
12798
12799         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12800
12801         * gst/gstquery.c: (gst_query_new_segment):
12802         * tests/check/gst/gstquery.c: (GST_START_TEST):
12803         Initialize variables when creating a new segment query.
12804         Fixes #353121.
12805
12806 2006-08-28  Wim Taymans  <wim@fluendo.com>
12807
12808         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12809
12810         * gst/gstelement.c: (gst_element_get_bus):
12811         * tests/check/gst/gstelement.c: (GST_START_TEST):
12812         Check for NULL before _reffing the bus. Fixes #353122.
12813
12814 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
12815
12816         * docs/manual/basics-bus.xml:
12817           Docs update: fix wrong callback return value explanation; add
12818           some lines about the implicit relationship between main loop
12819           and main context; remove duplicate main loop variable declaration.
12820
12821 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
12822
12823         * tests/check/gst/gstcaps.c: (GST_START_TEST):
12824           Don't leak caps in unit test; add a few more simple
12825           checks. 
12826
12827 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
12828
12829         * docs/gst/gstreamer-sections.txt:
12830         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
12831         (gst_caps_structure_is_subset), (gst_caps_merge),
12832         (gst_caps_merge_structure):
12833         * gst/gstcaps.h:
12834         * libs/gst/base/gstbasetransform.c:
12835         (gst_base_transform_transform_caps):
12836         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12837           implement caps merging (fixes #352580)
12838
12839 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
12840
12841         * tools/Makefile.am:
12842         * tools/gst-plot-timeline.py:
12843           add debug-log plotting developer tool (#340674)
12844
12845 2006-08-23  Wim Taymans  <wim@fluendo.com>
12846
12847         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
12848         (gst_pad_stop_task):
12849         Improve debugging for task functions.
12850
12851         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
12852         (gst_task_start), (gst_task_pause), (gst_task_join):
12853         Make sure that the task function started and finished after a 
12854         join(). 
12855         Don't try to push the task function on the threadpool multiple
12856         times.
12857         Improve the g_warning message with some useful suggestions
12858         about how to fix the problem. 
12859
12860 2006-08-23  Wim Taymans  <wim@fluendo.com>
12861
12862         * gst/gstutils.c: (gst_pad_proxy_getcaps):
12863         Handle RESYNC correctly in _proxy_getcaps.
12864
12865 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
12866
12867         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
12868         (gst_xml_parse_memory), (gst_xml_get_element):
12869           Chain up to parent class in dispose function and also
12870           unref the elements in the toplevel_elements GList.
12871           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
12872           Always return a reference in gst_xml_get_element() rather
12873           than only sometimes.
12874
12875         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12876           Don't leak GstXml object.
12877
12878 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
12879
12880         * docs/gst/gstreamer-sections.txt:
12881         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
12882         (gst_caps_merge):
12883         * gst/gstcaps.h:
12884         * libs/gst/base/gstbasetransform.c:
12885         (gst_base_transform_transform_caps):
12886           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
12887           in a better way
12888
12889 2006-08-21  Edward Hervey  <edward@fluendo.com>
12890
12891         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
12892         Implement GObject::dispose virtual method in GstXML so we can free the
12893         top_elements GList.
12894
12895 2006-08-21  Wim Taymans  <wim@fluendo.com>
12896
12897         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
12898         (gst_buffer_create_sub):
12899         Copy duration/offset_end/caps when creating a subbuffer of the
12900         complete parent.
12901         Make the subbuffer read-only when we make the metadata writable for
12902         now. Fixes #351768.
12903
12904         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
12905         Added check for metadata copy when creating subbuffers.
12906
12907 2006-08-21  Edward Hervey  <edward@fluendo.com>
12908
12909         * libs/gst/base/gstbasetransform.c:
12910         (gst_base_transform_buffer_alloc):
12911         Only call downstream buffer_alloc if transform element is passthrough
12912         or always_in_place. Closes #350449.
12913
12914 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12915
12916         * ChangeLog:
12917           ChangeLog surgery to add comments to previous changes
12918
12919 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12920
12921         * gst/gst.c:
12922           Add comments
12923
12924         * gst/gstpad.c: (gst_pad_set_active):
12925           Be more verbose in the log
12926
12927         * libs/gst/base/gstbasetransform.c:
12928         (gst_base_transform_transform_caps):
12929           Simplify caps to get rid of duplicates, fixes #345444
12930
12931 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12932
12933         * gst/gstvalue.c:
12934         * gst/gstvalue.h:
12935           Use these optimizations only internally.
12936
12937 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12938
12939         * gst/gstvalue.c: (gst_value_compare_list),
12940         (gst_value_compare_fraction_range),
12941         (gst_value_intersect_fraction_fraction_range),
12942         (gst_value_intersect_fraction_range_fraction_range),
12943         (gst_value_subtract_fraction_fraction_range),
12944         (gst_value_subtract_fraction_range_fraction_range),
12945         (gst_value_get_compare_func), (gst_value_compare),
12946         (gst_value_compare_with_func):
12947         * gst/gstvalue.h:
12948           Saves the expensive lookup of the compare function in many cases
12949          (#345444)
12950
12951 2006-08-18  Edward Hervey  <edward@fluendo.com>
12952
12953         * tests/check/gst/gstinfo.c: (gst_info_suite):
12954         Disable test that require gstdebug if it wasn't built in core.
12955
12956 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
12957
12958         * docs/random/ensonic/logging.txt:
12959           update ideas
12960           
12961         * gst/gstinfo.c: (gst_debug_log_default):
12962           reorder fields, save some columns, add optional color codes for log
12963           levels
12964
12965 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
12966
12967         * docs/random/ensonic/logging.txt:
12968           add ideas about making the logs a bit more useful
12969
12970 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
12971
12972         * docs/pwg/advanced-events.xml:
12973         * docs/pwg/titlepage.xml:
12974           Update for 0.10 API (#340627). Add myself
12975           to authors list.
12976
12977 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
12978
12979         * docs/libs/gstreamer-libs-docs.sgml:
12980         * docs/libs/gstreamer-libs-sections.txt:
12981         * libs/gst/check/gstbufferstraw.c:
12982           Make gstcheck stuff show up in docs (still needs to
12983           be documented properly though).
12984
12985 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
12986
12987         * docs/gst/gstreamer-sections.txt:
12988         * gst/Makefile.am:
12989         * gst/gst.c: (init_post):
12990         * gst/gst_private.h:
12991         * gst/gstquark.c: (_priv_gst_quarks_initialize):
12992         * gst/gstquark.h:
12993         * gst/gstquery.c: (gst_query_new_position),
12994         (gst_query_set_position), (gst_query_parse_position),
12995         (gst_query_new_duration), (gst_query_set_duration),
12996         (gst_query_parse_duration), (gst_query_new_convert),
12997         (gst_query_set_convert), (gst_query_parse_convert),
12998         (gst_query_new_segment), (gst_query_set_segment),
12999         (gst_query_parse_segment), (gst_query_new_seeking),
13000         (gst_query_set_seeking), (gst_query_parse_seeking):
13001         Add internal helpers for pre-registering quarks from static strings
13002         and using the quark values directly instead of looking them up when
13003         creating and parsing queries. Can be used for event construction too.
13004         Closes #350432.
13005
13006 2006-08-16  Wim Taymans  <wim@fluendo.com>
13007
13008         * gst/gstbin.c:
13009         Fix bogus docs.
13010
13011 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
13012
13013         * gst/gstutils.c: (gst_util_set_value_from_string):
13014           Fix memleak (#351502).
13015
13016         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13017           Add unit test for most of gst_util_set_value_from_string()
13018           (not that one would want to encourage use of this function).
13019
13020 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
13021
13022         * libs/gst/check/gstcheck.h:
13023           Use const gchar * variables in fail_unless_equals_string
13024           macro to avoid compiler warnings (and don't use tabs for
13025           indenting).
13026
13027 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
13028
13029         * tools/gst-launch.c: (print_tag):
13030           More space on the left for the tag names, to cater
13031           for the 'extended comment' tag (not touching the
13032           string for the first line since it's translated).
13033
13034 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
13035
13036         * libs/gst/check/gstcheck.h:
13037           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
13038           print something when they fail.
13039
13040 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
13041
13042         * docs/gst/gstreamer-sections.txt:
13043         * gst/gsttaglist.c: (_gst_tag_initialize):
13044         * gst/gsttaglist.h:
13045           API: add GST_TAG_EXTENDED_COMMENT (#350935).
13046           Also change merge function for GST_TAG_COMMENT to
13047           use_first.
13048
13049 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
13050
13051         * gst/gstinfo.c: (gst_debug_print_object):
13052           Make GST_PTR_FORMAT print messages as well.
13053
13054         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
13055         (GST_START_TEST), (gst_info_suite):
13056           More tests.
13057
13058 2006-08-14  Edward Hervey  <edward@fluendo.com>
13059
13060         * gst/gstelementfactory.c: (gst_element_register):
13061         If the GstElementClass doesn't have a GstElementDetails with all fields
13062         filled up correctly (longname, description AND author), then error out
13063         nicely instead of crashing.
13064
13065 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
13066
13067         * gst/gststructure.c:
13068           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
13069
13070         * gst/gstvalue.h:
13071           Expand on the difference between arrays and lists as we use them.
13072           
13073 2006-08-14  Wim Taymans  <wim@fluendo.com>
13074
13075         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
13076         If the parent state change function failed, don't assume we can safely
13077         stop the source, this will be done when the pads are deactivated.
13078
13079 2006-08-14  Wim Taymans  <wim@fluendo.com>
13080
13081         * gst/gstbuffer.c:
13082         * gst/gsttask.c: (gst_task_join):
13083         Small doc updates.
13084
13085         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
13086         (gst_pad_stop_task):
13087         When pad (de)activation failed for some reason, restore the old
13088         activation mode and set the pad to flushing instead of assuming the
13089         pad is deactivated.
13090         If the _task_join() failed, reinstall the task on the pad so that it can
13091         be stopped later and return an error.
13092
13093 2006-08-11  Andy Wingo  <wingo@pobox.com>
13094
13095         * configure.ac:
13096         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
13097         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
13098         is only for users of API that don't want to see deprecated
13099         functions in the headers; people that want to compile out
13100         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
13101         CFLAGS. Fixes the build of multifdsink, or will soon..
13102
13103 2006-08-11  Wim Taymans  <wim@fluendo.com>
13104
13105         * docs/gst/gstreamer-sections.txt:
13106         Add GstClockClass vmethod docs.
13107
13108         * gst/gstcaps.h:
13109         Mark #endif with comment for associated #if
13110
13111         * gst/gstclock.c: (gst_clock_id_wait):
13112         * gst/gstclock.h:
13113         Add vmethod wait_jitter to avoid an unneeded _get_time() for
13114         most clock implementations.
13115         Document vmethods.
13116         Flesh out docs about resolution methods.
13117         API: GstClockClass::wait_jitter
13118
13119         * gst/gstsystemclock.c: (gst_system_clock_class_init),
13120         (gst_system_clock_async_thread),
13121         (gst_system_clock_id_wait_jitter_unlocked),
13122         (gst_system_clock_id_wait_jitter):
13123         Use base class wait_jitter variant for improved performance
13124         due to less clock polling.
13125
13126 2006-08-11  Edward Hervey  <edward@fluendo.com>
13127
13128         * gst/gst.c: (gst_init_check), (init_post):
13129         Set gst as being initialized before scanning/updating the registry,
13130         since there might be my python plugin loader that calls gst_init() and
13131         we don't want to loop back in.
13132         Closes #350879
13133
13134 2006-08-11  Wim Taymans  <wim@fluendo.com>
13135
13136         * docs/design/part-qos.txt:
13137         Bring docs in line with the code. Mostly the sign of the jitter was
13138         wrong in the docs. Fixes #349943.
13139
13140         * gst/gstclock.c:
13141         Fix the docs for the jitter.
13142
13143         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
13144         (gst_event_parse_tag), (gst_event_new_buffer_size),
13145         (gst_event_parse_buffer_size), (gst_event_parse_qos),
13146         (gst_event_new_seek), (gst_event_parse_seek),
13147         (gst_event_new_navigation):
13148         Make sure the GstStructure has no parent when creating custom
13149         events.
13150         Add some more argument checking so that we avoid 0.0 rates.
13151         Flesh out the docs for the QoS event some more.
13152
13153 2006-08-11  Wim Taymans  <wim@fluendo.com>
13154
13155         * docs/gst/gstreamer-sections.txt:
13156         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
13157         (ensure_current_registry_forking), (ensure_current_registry),
13158         (parse_one_option), (parse_goption_arg), (gst_deinit),
13159         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
13160         * gst/gst.h:
13161         Doc updates.
13162         Added API and command line option to disable registry forking in
13163         addition to the environment variable.
13164         Constify some static arrays.
13165         Added some more debug.
13166         Don't deinit twice.
13167         API: gst_registry_fork_is_enabled()
13168         API: gst_registry_fork_set_enabled()
13169         API: --gst-disable-registry-fork command line option
13170         Fixes #348918.
13171
13172 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
13173
13174         * gst/gst.c: (gst_init):
13175           Fix typo in error message.
13176
13177 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
13178
13179         * libs/gst/controller/gstcontroller.h:
13180           fix ABI size-correction
13181
13182         * tests/check/libs/gdp.c: (gst_dp_suite):
13183           make tests that use deprecated API conditional
13184
13185 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
13186
13187         * docs/libs/gstreamer-libs-sections.txt:
13188         * libs/gst/controller/gstcontroller.c:
13189         (_gst_controller_get_property), (_gst_controller_set_property),
13190         (_gst_controller_init), (_gst_controller_class_init):
13191         * libs/gst/controller/gstcontroller.h:
13192         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
13193         (gst_object_set_control_rate):
13194           API: add gst_object_{s,g}et_control_rate(), add private data section,
13195           fix docs
13196
13197         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
13198         * libs/gst/dataprotocol/dataprotocol.h:
13199           add deprecation guards to make gtk-doc happy and allow disabling cruft
13200
13201 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
13202
13203         * tests/check/Makefile.am:
13204         * tests/check/gst/.cvsignore:
13205           Let's enable the new unit test as well.
13206
13207 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
13208
13209         * configure.ac:
13210         * docs/gst/gstreamer-sections.txt:
13211         * gst/gstconfig.h.in:
13212         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
13213         (_gst_info_printf_extension_ptr),
13214         (_gst_info_printf_extension_segment):
13215           API: add GST_SEGMENT_FORMAT, which is a printf extension we
13216           register that lets us easily dump GstSegments into debug
13217           logs (#350419).
13218
13219         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
13220         (info_segment_format_printf_extension), (gst_info_suite):
13221           Add simple unit test that logs a bunch of different segments (not
13222           valgrinded at the moment because of leaks in
13223           gst_debug_add_log_function).
13224
13225 2006-08-09  Edward Hervey  <edward@fluendo.com>
13226
13227         * libs/gst/base/gstbasetransform.c:
13228         (gst_base_transform_buffer_alloc):
13229         Even if we can't figure out the proper format to request downstream,
13230         call buffer_alloc() downstream with the input parameters without setting
13231         the caps on the srcpad. This will force negotiation in the chain
13232         function.
13233         Closes #350449
13234
13235 2006-08-08  Edward Hervey  <edward@fluendo.com>
13236
13237         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
13238         Unlinking from a pad without a target is now a perfectly valid case
13239         which should NOT raise an assertion.
13240         This case would happen if a linked ghostpad its target set to NULL after
13241         it was previously linked.
13242
13243 2006-08-08  Edward Hervey  <edward@fluendo.com>
13244
13245         * tests/check/libs/gdp.c:
13246         Also comment out the test (see below).
13247
13248 2006-08-08  Edward Hervey  <edward@fluendo.com>
13249
13250         * tests/check/libs/gdp.c: (gst_dp_suite):
13251         Use the architecture information from config.h and not gcc macros
13252         in order to properly disable a test that fails on PPC64.
13253
13254 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
13255
13256         * gst/gstelement.c: (gst_element_remove_pad):
13257           Don't crash printing the warning if the pad has no parent.
13258
13259 2006-08-02  Wim Taymans  <wim@fluendo.com>
13260
13261         * libs/gst/dataprotocol/dataprotocol.c:
13262         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
13263         (gst_dp_crc), (gst_dp_header_payload_length),
13264         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
13265         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
13266         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
13267         (gst_dp_event_from_packet), (gst_dp_validate_header),
13268         (gst_dp_validate_payload):
13269         Make debug category static
13270         Constify the crc table.
13271         Do some more arg checking in public functions.
13272         Fix some docs and do some small cleanups.
13273
13274         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
13275         Add some more checks to see if GDP deals with bogus input.
13276
13277 2006-07-31  Wim Taymans  <wim@fluendo.com>
13278
13279         * gst/gstvalue.c: (gst_value_compare_list):
13280         Fix GstValueList comparison code. Fixes #347293.
13281
13282         * tests/check/gst/gstvalue.c: (GST_START_TEST):
13283         Check to test GstValueList comparison.
13284
13285 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
13286
13287         * gst/gstelementfactory.c: (gst_element_factory_create):
13288         Remove unnecessary ref/unref pair
13289
13290         * gst/parse/grammar.y:
13291         Make sure to free the parse buffer on all code paths.
13292         Move a g_free up to the error handler where it's easier to see.
13293
13294         * tests/check/gst/gstevent.c: (test_event):
13295         Extending timeout for downstream travelling events to 10 seconds to
13296         hopefully avoid intermittent failure on the buildbots.
13297
13298         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
13299         Don't manually set the state of the src element - it will happen as a
13300         natural consequence of the pipeline changing state, and that way it
13301         will do it in the right order too.
13302
13303 2006-07-31  Wim Taymans  <wim@fluendo.com>
13304
13305         * libs/gst/base/gstbasetransform.c:
13306         (gst_base_transform_buffer_alloc):
13307         Use OBJECT_LOCK and refcounting to get the pad caps in the
13308         buffer_alloc function because the caps could change while we are
13309         busy with them. Fixes #349105
13310
13311 2006-07-31  Wim Taymans  <wim@fluendo.com>
13312
13313         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
13314         Protect _PAD_CAPS with OBJECT_LOCK.
13315
13316 2006-07-31  Wim Taymans  <wim@fluendo.com>
13317
13318         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
13319         (gst_pad_get_property), (gst_pad_activate_pull),
13320         (gst_pad_activate_push), (gst_pad_set_blocked_async),
13321         (gst_pad_set_activate_function),
13322         (gst_pad_set_activatepull_function),
13323         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
13324         (gst_pad_set_getrange_function),
13325         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
13326         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
13327         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
13328         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
13329         (gst_pad_set_acceptcaps_function),
13330         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
13331         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
13332         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
13333         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
13334         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
13335         (gst_pad_configure_sink), (gst_pad_configure_src),
13336         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
13337         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
13338         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
13339         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
13340         (gst_pad_send_event):
13341         Use _DEBUG_OBJECT when it makes sense.
13342         Protect GST_PAD_CAPS with the OBJECT_LOCK.
13343         Small cleanups and code reflows.
13344         Avoid caps refcounting in _accept_caps.
13345         Refactor alloc_buffer so that the code performed on the peer is in a
13346         separate function. Also if the pad does not implement a buffer alloc
13347         function, we should still check if the pad is flushing before falling
13348         back to the default allocator.
13349
13350 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
13351
13352         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13353         Make all uses of identity and fakesink have silent=true to avoid
13354         serialising every passing data structure, which is breaking tests
13355         on FC4 for some unknown reason.
13356
13357 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
13358
13359         * gst/parse/Makefile.am:
13360         * gst/parse/grammar.y:
13361         * gst/parse/parse.l:
13362           Reverted previous patch as it required to bump the flex dependency to
13363           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
13364
13365 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
13366
13367         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
13368
13369         * gst/parse/Makefile.am:
13370         * gst/parse/grammar.y:
13371         * gst/parse/parse.l:
13372           push & pop the state of the lexer for reentrant use case
13373           Fixes #349180
13374
13375 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
13376
13377         * libs/gst/base/gstbasesrc.h:
13378           Note in the docs that the ::newsegment vfunc is not actually used by
13379           GstBaseSrc.
13380
13381 2006-07-28  Wim Taymans  <wim@fluendo.com>
13382
13383         * libs/gst/base/gstcollectpads.c:
13384         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
13385         (gst_collect_pads_clear), (gst_collect_pads_flush),
13386         (gst_collect_pads_event), (gst_collect_pads_chain):
13387         When flushing a pad, also clear the queued buffer so that we don't
13388         accidentally use it when we shouldn't.
13389         Fix leaks by inreffing incomming buffer.
13390         Flush out queued buffers in case of errors.
13391         Fixes #347452.
13392
13393 2006-07-28  Wim Taymans  <wim@fluendo.com>
13394
13395         * docs/random/phonon-gst:
13396         Random notes about a Phonon backend.
13397
13398 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
13399
13400         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13401         Extra debug output
13402         * tests/check/libs/gdp.c: (gst_dp_suite):
13403         Take a whack at fixing the ppc compile using a different define to
13404         disable the broken test.
13405
13406         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13407         Remove excess g_print()
13408
13409 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
13410
13411         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
13412         Oops, meant to uncomment this line too to dampen the noise a bit.
13413
13414 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
13415
13416         * gst/parse/grammar.y:
13417         * gst/parse/parse.l:
13418         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13419         (GST_START_TEST), (parse_suite):
13420         Fix some of the leaks exposed by extending the parse-launch testsuite,
13421         and move the 3 I can't figure out into a separate test that won't run
13422         the pipelines unless the appropriate line is uncommented.
13423
13424 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
13425
13426         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13427           Requesting 0 bytes before the end of the file should result in
13428           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
13429           unit test.
13430
13431 2006-07-27  Wim Taymans  <wim@fluendo.com>
13432
13433         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
13434         Fix useless assert, a uint is always positive.
13435
13436         * gst/gststructure.c: (gst_structure_nth_field_name),
13437         (gst_structure_foreach), (gst_structure_map_in_place):
13438         Check input arguments for public functions to avoid obvious crashes.
13439
13440         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
13441         * plugins/elements/gstfakesink.h:
13442         Do less useless typechecking.
13443
13444 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
13445
13446         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
13447           Do not use mmap() by default since there are a number of error
13448           conditions that we would like to handle in a non-fatal way that
13449           will result in a SIGBUS if we use mmap(). Examples: external
13450           devices (USB harddrive, portable music player) being unplugged
13451           while in use; file on mounted CD/DVD that can't be read because
13452           the medium is partly damaged. Fixes #348455 and #348475.
13453
13454 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
13455
13456         * gst/gstquery.h:
13457         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
13458         rates are a gdouble
13459
13460 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
13461
13462         * gst/gstregistry.c:
13463           Move big documentation comment into class section header, so that it
13464           appears in the API docs.
13465
13466 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13467
13468         * docs/gst/gstreamer-sections.txt:
13469         Oops. Commit the docs additions too for new API.
13470         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
13471
13472 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13473
13474         * gst/gststructure.c: (gst_structure_id_set),
13475         (gst_structure_id_set_valist):
13476         * gst/gststructure.h:
13477         Add API for setting values into structures without performing
13478         a quark lookup, if the appropriate quark is already known.
13479
13480         API: gst_structure_id_set
13481         API: gst_structure_id_set_valist
13482
13483         * gst/parse/grammar.y:
13484         * gst/parse/parse.l:
13485         Remove some dead code shown by the coverage information.
13486         Don't throw a critical g_warning when encountering a syntax error,
13487         just warn and let the normal error path handle it.
13488
13489         * plugins/elements/gstelements.c:
13490         Bump the rank of filesink up to PRIMARY so that it is preferred over
13491         gnomevfssink for file:// sink uri's
13492
13493         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13494         (GST_START_TEST), (run_delayed_test),
13495         (gst_parse_test_element_base_init),
13496         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
13497         (gst_parse_test_element_change_state),
13498         (gst_register_parse_element), (parse_suite):
13499         Beef up the tests for parse syntax to check that more error cases
13500         fail as they are supposed to. Increases the test coverage a bit.
13501
13502 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
13503
13504         * docs/manual/basics-elements.xml:
13505           Fix gst_element_link() example.
13506
13507         * gst/gstutils.c:
13508           Mention in API docs that one should usually gst_bin_add()
13509           elements to a bin or pipeline before doing the linking.
13510           
13511 2006-07-26  Wim Taymans  <wim@fluendo.com>
13512
13513         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
13514         (gst_subbuffer_get_type), (gst_buffer_create_sub):
13515         Avoid function call for known types by keeping the buffer and
13516         subbuffer GType global.
13517
13518         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13519         Random silly optimisations in read() path.
13520
13521 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13522
13523         * tools/gst-launch.c: (main):
13524           If the top-level of the parse is a normal bin, it doesn't do the
13525           right logic to run as a top-level element, so place it inside a
13526           pipeline.
13527
13528 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
13529
13530         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
13531           Remove superfluous g_object_notify() calls, GObject does
13532           that for us automatically.
13533
13534 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
13535
13536         * gst/gstinfo.h:
13537           on Win32, use dllspec to export the debug category symbols
13538
13539 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
13540
13541         * gst/gsttaglist.c: (_gst_tag_initialize):
13542           Allow more than one GST_TAG_IMAGE per taglist.
13543
13544 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13545
13546         * gst/gstminiobject.c:
13547           update docs
13548         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
13549         (gst_fd_src_create):
13550           log recurring events at LOG level
13551           add more debug for when the fd gets set
13552
13553 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
13554
13555         * gst/gstparse.c: (gst_parse_launch):
13556           Also remove reentrance checks if flex is MT safe (#348179)
13557          Fix my empty ChangeLog entry below
13558
13559 2006-07-21  Andy Wingo  <wingo@pobox.com>
13560
13561         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
13562
13563         * libs/gst/check/Makefile.am
13564         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
13565         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
13566         * libs/gst/check/gstbufferstraw.h:
13567         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
13568         functions, thus proving I am still a GStreamer haxor. OK I wrote
13569         them a long time ago, but anyways.
13570
13571 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
13572
13573         * configure.ac:
13574         * gst/gstparse.c: (gst_parse_launch):
13575           Check for flex version and omit mutex if we have a MT save flex
13576           (fixes #348179)
13577
13578 2006-07-21  Wim Taymans  <wim@fluendo.com>
13579
13580         * gst/gstparse.c: (gst_parse_launch):
13581         Protect recursive calls to _parse with a recursive mutex
13582         and busy flag.
13583
13584 2006-07-21  Wim Taymans  <wim@fluendo.com>
13585
13586         * tests/check/gst/gstpad.c: (GST_START_TEST):
13587         Fix leak in test.
13588
13589 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
13590
13591         * gst/gstparse.c: (gst_parse_launch):
13592           Do not hang on recursive usage of gst_parse_launch()
13593
13594 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
13595
13596         * gst/gsttaglist.c:
13597           Add some more docs, comments and FIXME 0.11s here and there
13598           and also fix some typos.
13599
13600 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
13601
13602         * gst/gstsegment.h:
13603           Convert tabs to spaces for better readability. 
13604
13605 2006-07-20  Edward Hervey  <edward@fluendo.com>
13606
13607         * tests/check/libs/gdp.c: (gst_dp_suite):
13608         the test_buffer test fails at line 140 on ppc64 at the following
13609         check:
13610         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
13611                 GST_BUFFER_FLAG_IN_CAPS),
13612                 "GST_BUFFER_IN_CAPS flag should have been copied !");
13613         See bug #348114 for more details.
13614
13615 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
13616
13617         * docs/pwg/advanced-scheduling.xml:
13618         * gst/gstpad.c:
13619           Fix typos (#348000).
13620
13621 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
13622
13623         * docs/pwg/intro-basics.xml:
13624           Fix wrong links (#347927).
13625
13626 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
13627
13628         * gst/gstregistry.h:
13629         * gst/gstregistryxml.c: (load_feature),
13630         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
13631         * win32/common/config.h:
13632           make --disable-index work (#342564)
13633
13634 2006-07-18  Wim Taymans  <wim@fluendo.com>
13635
13636         Patch by: Peter Kjellerstedt <pkj at axis dot com>
13637
13638         * gst/Makefile.am:
13639         * gst/gsttrace.h:
13640         The attached patch adds two missing defines to gsttrace.h when tracing
13641         is disabled.  It also corrects one existing define.
13642         Fixes #347756.
13643
13644 2006-07-17  Wim Taymans  <wim@fluendo.com>
13645
13646         * docs/gst/gstreamer-sections.txt:
13647         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
13648         * gst/gst.h:
13649         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
13650         Add two functions to check and change the SIGSEGV behaviour
13651         when loading plugins.
13652         Don't mess with the SIGSEGV handler when we were told not to.
13653         Fixes #347794.
13654         API: gst_segtrap_is_enabled
13655         API: gst_segtrap_set_enabled
13656
13657 2006-07-14  Wim Taymans  <wim@fluendo.com>
13658
13659         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13660         * tests/check/elements/filesrc.c: (GST_START_TEST):
13661         Revert fix for regression in #347408 after release.
13662
13663 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
13664
13665         Patch by: Antoine Tremblay <hexa00 at gmail com>
13666
13667         * gst/gstutils.c: (gst_element_unlink):
13668           Free iterator when done (#347311).
13669
13670         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13671           And add a test case for this.
13672
13673 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
13674
13675         * configure.ac:
13676         Bump nano back to CVS
13677
13678 === release 0.10.9 ===
13679
13680 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
13681
13682         * configure.ac:
13683           releasing 0.10.9, "On the road again"
13684
13685 2006-07-13  Wim Taymans  <wim@fluendo.com>
13686
13687         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13688         * tests/check/elements/filesrc.c: (GST_START_TEST):
13689         Revert pull-0 fix for release. Disable check. Fixes #347408.
13690
13691 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13692
13693         * libs/gst/dataprotocol/dataprotocol.c:
13694         (gst_dp_event_from_packet_1_0):
13695           Fixes #347337: failure to deserialize event packets with
13696           empty payload (only event type)
13697
13698 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13699
13700         * gst/Makefile.am:
13701           do not install a .c file in the header directory
13702
13703 2006-07-13  Edward Hervey  <edward@fluendo.com>
13704
13705         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
13706         GhostPad no longer implicitely use the padtemplates of the targets.
13707         Fixes #347384
13708
13709 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
13710
13711         * gst/gstvalue.c: (gst_value_compare_list),
13712         (gst_value_compare_array), (_gst_value_initialize):
13713         * tests/check/gst/gstvalue.c: (GST_START_TEST):
13714         Make GstValueArray comparison be order dependent as designed.
13715         Add checks for value lists and value array comparisons.
13716         Fixes #347221
13717
13718 2006-07-11  Edward Hervey  <edward@fluendo.com>
13719
13720         * gst/gstbin.c: (activate_pads),
13721         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
13722         (gst_bin_change_state_func):
13723         (de)activate src pads before calling state_change on the childs.
13724         This is to avoid the case where a src ghostpad is blocked (holding the
13725         stream lock), which would block the deactivation of the ghostpad's
13726         target pad.
13727         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
13728         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
13729         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
13730         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
13731         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
13732         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13733         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
13734         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
13735         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
13736         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
13737         (gst_ghost_pad_class_init),
13738         (gst_ghost_pad_internal_do_activate_push),
13739         (gst_ghost_pad_internal_do_activate_pull),
13740         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
13741         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
13742         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
13743         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
13744         GhostPads now create their internal GstProxyPad at creation (and not
13745         when they're linked, as it was being done previously).
13746         The internal and target pads are linked straight away.
13747         The data will also travel through the other pad in order to make
13748         pad blocking and probes non-hackish (the probe/block now really happens
13749         on the GhostPad and not on the target).
13750         * gst/gstpad.c: (gst_pad_set_blocked_async),
13751         (gst_pad_link_prepare), (gst_pad_push_event):
13752         Remove previous ghostpad cruft.
13753         * gst/gstutils.c: (gst_pad_add_data_probe),
13754         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
13755         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
13756         (gst_pad_remove_buffer_probe):
13757         Remove previous ghost pad cruft.
13758         Added more detailed debug statements.
13759         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
13760         Fix the testsuite for refcounting changes.
13761         The comments about who has references were correct, but the refcount
13762         being checked wasn't the same (!?!).
13763
13764         Fixes #341029
13765
13766 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
13767
13768         * docs/gst/gstreamer-sections.txt:
13769         * gst/gstconfig.h.in:
13770         More docs for configuration options, add docs to gtk-doc.
13771
13772 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
13773
13774         * gst/Makefile.am:
13775         * gst/gstconfig.h.in:
13776         * win32/common/config.h:
13777         Fix build when disabling tracing (fixes #344016). Also start to document
13778         the defines that disable the sub-systems.
13779
13780 2006-07-10  Edward Hervey  <edward@fluendo.com>
13781
13782         * gst/gst.c: (ensure_current_registry_forking):
13783         let's make valgrind happy...
13784
13785 2006-07-09  Wim Taymans  <wim@fluendo.com>
13786
13787         * gst/gstelement.c: (activate_pads),
13788         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
13789         Better pad activation code: Reset the collect value too on resync.
13790         Add some comments.
13791
13792 2006-07-09  Wim Taymans  <wim@fluendo.com>
13793
13794         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
13795         (gst_pad_activate_push):
13796         Use some more macros where it makes sense.
13797         Allow pad mode switching instead of asserting. When a pad
13798         is activated in one mode and we activate it in another, 
13799         deactivate it first before activating it in a different mode.
13800         Fixes #329198.
13801
13802 2006-07-08  Andy Wingo  <wingo@pobox.com>
13803
13804         * tools/gst-launch.c (main): Handle err == NULL.
13805
13806         * gst/gst.c (init_post, ensure_current_registry)
13807         (ensure_current_registry_forking)
13808         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
13809         factoring out the registry scanning into separate functions. Don't
13810         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
13811         Better environment var name/interface suggestions accepted.
13812
13813 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13814
13815         * gst/gstobject.c: (gst_object_set_name_default),
13816         (gst_object_set_name):
13817           Random micro-optimisation: don't use a hash table
13818           with strings as keys and the usual strdup/strcmp
13819           involved, but rather just use the GQuark of the
13820           type name as key, since it needs to be looked up
13821           anyway to get the type name string.
13822
13823         * tests/check/gst/gstobject.c: (GST_START_TEST):
13824           Fix various leaks.
13825
13826 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13827
13828         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
13829         (gst_bin_iterate_all_by_interface):
13830           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
13831           GTypes are gulongs and thus the top 4 bytes might be cut
13832           off on some platforms when doing GPOINTER_TO_INT, leading
13833           to invalid GTypes and bad things happening (see RH bug #179654).
13834           Also add a check to make sure the type passed in is really
13835           an interface type.
13836
13837 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13838
13839         * .cvsignore:
13840           Ignore more.
13841
13842 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13843
13844         * Makefile.am:
13845         * configure.ac:
13846         * gst-element-check.m4:
13847         * gst-element-check.m4.in:
13848           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
13849           instead of the unversioned gst-inspect (#324176, #168659).
13850
13851 2006-07-06  Wim Taymans  <wim@fluendo.com>
13852
13853         * gst/gstmessage.h:
13854         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
13855         warnings.
13856
13857 2006-07-06  Wim Taymans  <wim@fluendo.com>
13858
13859         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
13860         (gst_base_src_wait), (gst_base_src_update_length),
13861         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
13862         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
13863         (gst_base_src_loop), (gst_base_src_start),
13864         (gst_base_src_activate_pull):
13865         Update docs.
13866         blocksize == 0 now means the default blocksize when working in push
13867         based mode.
13868         Remove some pointless asserts in _wait function.
13869         Fix offset/length calculations and EOS handling. We can now pull 0
13870         bytes as well, which is allowed.
13871         use _check_get_range() to decide if we can operate in _pull based
13872         mode.
13873         Fix refcounting leak when check_get_range function was not 
13874         implemented.
13875         API GstBaseSrc::blocksize range can be 0 too now (default)
13876
13877         * tests/check/elements/filesrc.c: (GST_START_TEST),
13878         (filesrc_suite):
13879         Added check to test _get_range() behaviour.
13880
13881 2006-07-06  Wim Taymans  <wim@fluendo.com>
13882
13883         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
13884         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
13885         (gst_pad_pull_range):
13886         * gst/gstpad.h:
13887         Lots of comments and docs added to the pad functions.
13888         Flesh out the expected behaviour of the get_range() functions.
13889
13890 2006-07-06  Wim Taymans  <wim@fluendo.com>
13891
13892         * gst/gstbus.h:
13893         * gst/gstclock.h:
13894         * gst/gstevent.h:
13895         * gst/gstiterator.h:
13896         * gst/gstpad.h:
13897         * gst/gstplugin.h:
13898         * gst/gsttask.h:
13899         Remove comma at end of enumerator list. 
13900
13901 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
13902
13903         * win32/common/libgstbase.def:
13904         * win32/common/libgstdataprotocol.def:
13905         * win32/common/libsgtreamer.def:
13906         Add new exported functions.
13907
13908 2006-07-05  Wim Taymans  <wim@fluendo.com>
13909
13910         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
13911         Add some more docs here and there.
13912
13913 2006-07-05  Wim Taymans  <wim@fluendo.com>
13914
13915         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
13916         (gst_base_sink_loop), (gst_base_sink_get_position):
13917         When operating in pull mode update the offset so that we
13918         read sequentially.
13919
13920 2006-07-05  Wim Taymans  <wim@fluendo.com>
13921
13922         * gst/gstregistryxml.c: (read_string):
13923         Avoid strdup. (will happen in libxml, but hey!)
13924
13925         * gst/gsturi.c:
13926         Add some more docs.
13927
13928 2006-07-05  Wim Taymans  <wim@fluendo.com>
13929
13930         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
13931         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
13932         (gst_buffer_suite):
13933         No point in checking if the size of the subbuffer > 0, the
13934         code handles it correclty as demonstrated by unit test.
13935         Also add a unit test for the zero sized _new_and_alloc and
13936         _copy. Fixes #346663.
13937
13938 2006-07-05  Wim Taymans  <wim@fluendo.com>
13939
13940         * libs/gst/base/gstbasetransform.c:
13941         (gst_base_transform_prepare_output_buffer),
13942         (gst_base_transform_buffer_alloc),
13943         (gst_base_transform_handle_buffer):
13944         Make sure the buffer we pass to transform_ip has a refcount of
13945         1 and thus is writable. Fixes #343196
13946
13947 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
13948
13949         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
13950         (gst_file_src_init), (gst_file_src_set_property),
13951         (gst_file_src_get_property), (gst_file_src_map_region):
13952         * plugins/elements/gstfilesrc.h:
13953         Add "sequential" property, off by default, to use madvise and hint
13954         to the kernel that sequential access is desired.
13955         Touch all retrieved pages by default to ensure they are pulled
13956         into memory. (Closes #345720)
13957
13958 2006-07-03  Wim Taymans  <wim@fluendo.com>
13959
13960         * docs/design/part-block.txt:
13961         * docs/design/part-dynamic.txt:
13962         Small docs updates.
13963
13964 2006-07-03  Wim Taymans  <wim@fluendo.com>
13965
13966         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
13967         (gst_caps_unref), (gst_static_caps_get),
13968         (gst_caps_append_structure):
13969         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
13970         Use GSlice when the glib we build against is >= 2.10
13971
13972 2006-07-03  Wim Taymans  <wim@fluendo.com>
13973
13974         * gst/gstelement.c: (gst_element_pads_activate):
13975         Small cleanup in pad activation code.
13976
13977 2006-07-03  Wim Taymans  <wim@fluendo.com>
13978
13979         Patch by: Peter Kjellerstedt <pkj at axis dot com>
13980
13981         * gst/gst-i18n-app.h:
13982         * gst/gst-i18n-lib.h:
13983         * tools/gst-inspect.c: (print_signal_info):
13984         The attached patch will make the inclusion of gettext.h unconditional in
13985         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
13986         libintl.h in tools/gst-inspect.c.
13987         This allows use of --disable-nls again and fixes #344642.
13988
13989 2006-07-03  Edward Hervey  <edward@fluendo.com>
13990
13991         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
13992         Implement pad blocking on events according to part-block.txt.
13993         More comments on behaviour.
13994         * tests/check/gst/gstevent.c: (test_event):
13995         Send event to peer pad of blocked pad (else it will block).
13996
13997 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13998
13999         * libs/gst/check/gstcheck.c: (gst_check_message_error),
14000         (gst_check_run_suite):
14001           if we get the wrong message, give us the types as string
14002         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
14003           Fix a translatable
14004         * tests/check/elements/filesrc.c: (GST_START_TEST):
14005           add a test for trying to open a non-existing file
14006
14007 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14008
14009         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
14010           add a test for adding self
14011
14012 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14013
14014         * libs/gst/check/gstcheck.h:
14015           add some assert_ as alias for fail_unless_*
14016         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
14017           increase test coverage
14018
14019 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14020
14021         * Makefile.am:
14022           include lcov.mak for lcov coverage generation
14023         * tools/Makefile.am:
14024           add to CLEANFILES
14025
14026 2006-07-02  Edward Hervey  <edward@fluendo.com>
14027
14028         * tests/check/elements/.cvsignore:
14029         moaping
14030
14031 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14032
14033         * configure.ac:
14034           don't set CFLAGS and friends for gcov, done from GST_GCOV now
14035         * tests/check/Makefile.am:
14036           clean up gcov files
14037
14038 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14039
14040         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
14041           remove gst_caps_simplify; it was not declared and not used
14042           and deprecated in 0.8
14043
14044 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14045
14046         * docs/faq/gst-uninstalled:
14047           don't put empty paths on PYTHONPATH
14048         * docs/gst/gstreamer-sections.txt:
14049           remove some symbols that are not there
14050
14051 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14052
14053         * gst/gstcaps.c: (gst_caps_compare_structures):
14054           whitespace fixes
14055         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
14056         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
14057           add more tests
14058
14059 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14060
14061         * libs/gst/dataprotocol/Makefile.am:
14062           build dataprotocol test by linking to the lib, instead of
14063           compiling the source, so we get coverage
14064         * tests/check/Makefile.am:
14065         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
14066         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
14067           add a test for filesrc
14068
14069 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14070
14071         * tests/check/gst/gststructure.c: (GST_START_TEST),
14072         (gst_structure_suite):
14073           Push coverage from 59.04% to 70.00%
14074
14075 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14076
14077         * tests/check/Makefile.am:
14078           gst-inspect every element; this makes sure that we also get
14079           coverage on element's get/set functions
14080
14081 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14082
14083         * configure.ac:
14084           set CFLAGS and friends to -O0 if gcov is being used
14085           add GCOV LIBS
14086         * gst/Makefile.am:
14087         * libs/gst/base/Makefile.am:
14088         * libs/gst/check/Makefile.am:
14089         * libs/gst/controller/Makefile.am:
14090         * libs/gst/dataprotocol/Makefile.am:
14091         * libs/gst/net/Makefile.am:
14092         * plugins/elements/Makefile.am:
14093         * plugins/indexers/Makefile.am:
14094           add makefile rules to generate gcov data and clean up
14095         * tests/check/Makefile.am:
14096           add a coverage target that generates an html overview
14097           of coverage data
14098
14099 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14100
14101         * tests/check/elements/fakesink.c:
14102         * tests/check/elements/fakesrc.c:
14103         * tests/check/elements/fdsrc.c:
14104         * tests/check/elements/identity.c:
14105         * tests/check/generic/sinks.c: (gst_sinks_suite):
14106         * tests/check/generic/states.c:
14107         * tests/check/gst/gst.c:
14108         * tests/check/gst/gstabi.c:
14109         * tests/check/gst/gstbin.c:
14110         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
14111         * tests/check/gst/gstbus.c: (gst_bus_suite):
14112         * tests/check/gst/gstcaps.c: (GST_START_TEST):
14113         * tests/check/gst/gstelement.c:
14114         * tests/check/gst/gstevent.c: (gst_event_suite):
14115         * tests/check/gst/gstghostpad.c:
14116         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
14117         * tests/check/gst/gstmessage.c: (gst_message_suite):
14118         * tests/check/gst/gstminiobject.c:
14119         * tests/check/gst/gstobject.c:
14120         * tests/check/gst/gstpad.c:
14121         * tests/check/gst/gstpipeline.c:
14122         * tests/check/gst/gstplugin.c:
14123         * tests/check/gst/gstquery.c: (gst_query_suite):
14124         * tests/check/gst/gstsegment.c: (gst_segment_suite):
14125         * tests/check/gst/gststructure.c:
14126         * tests/check/gst/gstsystemclock.c:
14127         * tests/check/gst/gsttag.c:
14128         * tests/check/gst/gsttask.c: (gst_task_suite):
14129         * tests/check/gst/gstutils.c:
14130         * tests/check/gst/gstvalue.c:
14131         * tests/check/libs/adapter.c:
14132         * tests/check/libs/basesrc.c:
14133         * tests/check/libs/collectpads.c:
14134         * tests/check/libs/controller.c:
14135         * tests/check/libs/gdp.c: (gst_dp_suite):
14136         * tests/check/libs/gstnetclientclock.c:
14137         * tests/check/libs/gstnettimeprovider.c:
14138         * tests/check/libs/libsabi.c: (libsabi_suite):
14139         * tests/check/libs/typefindhelper.c:
14140         * tests/check/pipelines/cleanup.c:
14141         * tests/check/pipelines/parse-launch.c:
14142         * tests/check/pipelines/simple-launch-lines.c:
14143         * tests/check/pipelines/stress.c: (stress_suite):
14144           use the new macro
14145
14146 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14147
14148         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
14149         * libs/gst/check/gstcheck.h:
14150           create a macro and function so that the simple unit test
14151           case can be just one macro to create main()
14152
14153 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
14154
14155         * gst/gstbin.c: (gst_bin_restore_thyself):
14156         * gst/gstxml.c: (gst_xml_make_element):
14157           Fix deserialisation from XML. Set parent manually
14158           instead of using gst_bin_add(), since gst_bin_add()
14159           will unlink all pads of the element being added.
14160           Fixes #341667.
14161
14162 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
14163
14164         Patch by: Peter Kjellerstedt <pkj at axis com>
14165
14166         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
14167           Fix missing g_strdup() and double free when using the
14168           --gst-plugin-load command line option (#346097).
14169
14170 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
14171
14172         * gst/gstinfo.c:
14173           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
14174
14175         * libs/gst/net/gstnetclientclock.c:
14176         * libs/gst/net/gstnettimeprovider.c:
14177           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
14178
14179 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
14180
14181         * docs/manual/advanced-dataaccess.xml:
14182           Fix buffer probe example compilation in
14183           ADM (#345708).
14184         
14185 2006-06-22  Edward Hervey  <edward@fluendo.com>
14186
14187         * gst/gstelement.c: (gst_element_pads_activate):
14188         We need to deactivate src pads first and then sink pads.
14189         The reason is the src pads might be blocking while holding the streaming
14190         lock, so we need to deactivate them first so that deactivating the sink
14191         pads doesn't block (since it will require the streaming lock).
14192
14193 2006-06-22  Wim Taymans  <wim@fluendo.com>
14194
14195         * libs/gst/base/gstbasetransform.c:
14196         (gst_base_transform_buffer_alloc):
14197         Forgot to remove two unneeded unrefs.
14198         Simplify a check _is_equal allready checks the obvious case.
14199
14200 2006-06-22  Wim Taymans  <wim@fluendo.com>
14201
14202         * docs/design/part-block.txt:
14203         Some docs about what pad_block should do.
14204
14205 2006-06-22  Wim Taymans  <wim@fluendo.com>
14206
14207         * gst/gstcaps.c: (gst_caps_replace):
14208         Fix crasher when passed NULL. Doc clarification.
14209         Optimize for the trivial case.
14210
14211         * gst/gstpipeline.c: (gst_pipeline_change_state):
14212         Small cleanups.
14213
14214         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
14215         Small documentation cleanup.
14216
14217         * libs/gst/base/gstbasetransform.c:
14218         (gst_base_transform_buffer_alloc):
14219         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
14220         is what we need and it avoids a whole lot of redundant 
14221         refcount operations.
14222
14223 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
14224
14225         Patch by: Philip Jägenstedt  <philip at lysator liu se>
14226
14227         * docs/manual/advanced-dataaccess.xml:
14228           Fix 'Embedding static elements' section to use
14229           GST_PLUGIN_DEFINE_STATIC (#345607).
14230
14231 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
14232
14233         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
14234           Attempt to 'fix' spuriously failing test case: it seems like the
14235           timeout of half a second is simply too small when the system is under
14236           load otherwise, and the timeout doesn't really seem to serve any
14237           particular purpose here. Give the pipeline a few seconds to preroll
14238           first, and then give it another half a second to go from PAUSED to
14239           PLAYING and marshal the message into the main thread.
14240
14241 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
14242
14243         * tools/gst-feedback-m.m:
14244           Don't only use unversioned tools, try versioned tools as well
14245           (#345086).
14246
14247 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
14248
14249         * gst/gstbus.c: (gst_bus_class_init):
14250           Fix some typos, make docs more explicit.
14251
14252 2006-06-20  Wim Taymans  <wim@fluendo.com>
14253
14254         * tests/check/gst/gstghostpad.c: (block_callback),
14255         (GST_START_TEST), (gst_ghost_pad_suite):
14256         Added some more ghostpad tests, mainly blocking
14257         and probes.
14258
14259 2006-06-16  Wim Taymans  <wim@fluendo.com>
14260
14261         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
14262         (gst_file_sink_close_file), (gst_file_sink_do_seek),
14263         (gst_file_sink_event), (gst_file_sink_render):
14264         * plugins/elements/gstfilesink.h:
14265         Check if we can seek in the file instead of assuming
14266         we always can. Post an error when we are asked to seek in a
14267         non-seekable file (like a fifo). Fixes #343312.
14268         Some cleanups.
14269
14270 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
14271
14272         * tools/gst-launch.1.in:
14273           Un-garble (fourcc) bit in filtered caps section.
14274
14275 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
14276
14277         * docs/manual/advanced-autoplugging.xml:
14278         * docs/manual/basics-helloworld.xml:
14279         * docs/manual/highlevel-components.xml:
14280           Don't leak bus reference in sample code.
14281
14282 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
14283
14284         * autogen.sh:
14285           Add default for new --enable-plugin-docs switch.
14286
14287         * configure.ac:
14288           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
14289           Fixes #344039.
14290
14291         * docs/Makefile.am:
14292           Use new ENABLE_PLUGIN_DOCS conditional.
14293
14294 2006-06-14  Wim Taymans  <wim@fluendo.com>
14295
14296         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
14297         Make it clear with a FIXME and a real define what the #if 0
14298         previously disabled.
14299
14300 2006-06-14  Wim Taymans  <wim@fluendo.com>
14301
14302         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
14303         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14304         * libs/gst/base/gstbasetransform.c:
14305         (gst_base_transform_sink_eventfunc):
14306         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
14307         Don't randomly and silently reset a segment when the format 
14308         changes as this is a bug somewhere upstream. Fixes #330379.
14309
14310 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
14311
14312         Patch by: Wouter Paesen  <wouter at kangaroot net>
14313
14314         * libs/gst/controller/gstcontroller.c:
14315         (gst_controlled_property_new):
14316           Fix controlling of float properties (#344849).
14317
14318         * tests/check/libs/controller.c:
14319         (gst_test_mono_source_get_property),
14320         (gst_test_mono_source_set_property),
14321         (gst_test_mono_source_class_init), (GST_START_TEST):
14322           While we're at it, add some float stuff to unit test.
14323
14324 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14325
14326         * docs/README:
14327         * docs/images/gdp-header.svg:
14328           add a gdp image
14329         * docs/libs/Makefile.am:
14330         * docs/libs/gdp-header.png:
14331         * libs/gst/dataprotocol/dataprotocol.c:
14332           add it to the API docs
14333         * docs/manual/intro-motivation.xml:
14334           fix typo
14335
14336 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
14337
14338         * gst/gst.c: (scan_and_update_registry), (init_post):
14339           If the fork()'ed child process can't write the updated registry cache
14340           file to disk for some reason, make it exit with a failure exit code,
14341           so that the parent can then re-scan the plugins itself and update the
14342           registry structures in memory and work with that (rather than failing
14343           when creating elements because seemingly no plugins are available).
14344           Refactor registry scanning code into separate function for this and
14345           also separate fork() and non-fork() code paths. Fixes #344748.
14346
14347 2006-06-13  Wim Taymans  <wim@fluendo.com>
14348
14349         * docs/manual/advanced-dataaccess.xml:
14350         Fix wrong PluginDesc. Fixes #344755.
14351
14352 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
14353
14354         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
14355           Fix silly bug that prevented us from creating
14356           ~/.gstreamer-0.10 and writing the registry in one
14357           go (the first call to g_mkstemp() would overwrite the
14358           placeholder in the template string, so the second call
14359           to g_mkstemp() after creating the missing directory
14360           would then error out with 'invalid argument').
14361
14362 2006-06-13  Edward Hervey  <edward@fluendo.com>
14363
14364         * gst/gst.c: (init_post):
14365         Free string.
14366
14367 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14368
14369         * gst/glib-compat-private.h:
14370         * gst/glib-compat.c:
14371         * gst/glib-compat.h:
14372         * gst/gstvalue.c: (gst_value_serialize_flags):
14373           remove GLib 2.6 compatibility code
14374
14375 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
14376
14377         * gst/parse/Makefile.am:
14378           Fix build with 'make -j N' even more (#340016).
14379
14380 2006-06-12  Wim Taymans  <wim@fluendo.com>
14381
14382         * docs/gst/gstreamer-sections.txt:
14383         Fix docs.
14384
14385 2006-06-12  Wim Taymans  <wim@fluendo.com>
14386
14387         * gst/gstsegment.c: (gst_segment_set_duration),
14388         (gst_segment_set_last_stop), (gst_segment_set_seek),
14389         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
14390         (gst_segment_to_running_time), (gst_segment_clip):
14391         Use G_UNLIKELY to help the compiler a bit.
14392
14393 2006-06-12  Wim Taymans  <wim@fluendo.com>
14394
14395         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
14396
14397         * gst/gstevent.c: (gst_event_get_type):
14398         * gst/gstmessage.c:
14399         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
14400         (gst_pad_push):
14401         constify quark registration strings. Fixes #344115
14402         Avoid unneeded type checking is _pad_push() by internally
14403         calling gst_pad_chain_unchecked().
14404
14405 2006-06-12  Wim Taymans  <wim@fluendo.com>
14406
14407         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
14408         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
14409         (gst_subbuffer_finalize), (gst_buffer_create_sub),
14410         (gst_buffer_is_span_fast), (gst_buffer_span):
14411         Init _type for consistency.
14412         Use _FLAGS macro to avoid type check.
14413         Avoid unneeded type checks in subbufer code.
14414
14415 2006-06-12  Wim Taymans  <wim@fluendo.com>
14416
14417         * gst/gst.c: (gst_debug_help):
14418         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
14419         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
14420         (gst_plugin_feature_list_free):
14421         * gst/gstregistry.c: (gst_registry_add_plugin),
14422         (gst_registry_add_feature), (gst_registry_plugin_filter),
14423         (gst_registry_feature_filter), (gst_registry_find_plugin),
14424         (gst_registry_find_feature), (gst_registry_get_plugin_list),
14425         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
14426         * gst/gstregistryxml.c: (load_feature),
14427         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
14428         * gst/gstminiobject.c: (gst_mini_object_unref),
14429         (gst_mini_object_replace), (gst_value_mini_object_free),
14430         (gst_value_mini_object_copy):
14431         Use _CAST macros to avoid unneeded type checking.
14432         Added some more G_UNLIKELY.
14433
14434 2006-06-12  Wim Taymans  <wim@fluendo.com>
14435
14436         * gst/gstbuffer.h:
14437         Avoid unneeded type checking.
14438         API: GST_BUFFER_IS_DISCONT
14439
14440         * gst/gstminiobject.h:
14441         Avoid type check in flag accessor.
14442
14443         * gst/gstelementfactory.h:
14444         * gst/gstplugin.h:
14445         * gst/gstpluginfeature.h:
14446         Add _CAST macros.
14447         API: GST_ELEMENT_FACTORY_CAST
14448         API: GST_PLUGIN_CAST
14449         API: GST_PLUGIN_FEATURE_CAST
14450
14451 2006-06-12  Wim Taymans  <wim@fluendo.com>
14452
14453         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
14454         (gst_object_unref):
14455         Add G_UNLIKELY in type registration.
14456         Avoid type check in _ref/_unref since that is also
14457         done in glib.
14458
14459 2006-06-12  Wim Taymans  <wim@fluendo.com>
14460
14461         * gst/gsterror.c: (gst_g_error_get_type):
14462         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
14463         (gst_static_pad_template_get_type):
14464         * gst/gsttaglist.c: (gst_tag_list_get_type):
14465         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
14466         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
14467         * gst/gsturi.c: (gst_uri_handler_get_type):
14468         * gst/gstvalue.c: (gst_date_get_type):
14469         * gst/gstxml.c: (gst_xml_get_type):
14470         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
14471         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14472         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
14473         Add G_UNLIKELY in type registration.
14474
14475 2006-06-12  Wim Taymans  <wim@fluendo.com>
14476
14477         * tools/gst-inspect.c: (print_signal_info):
14478         Properly print enum values.
14479
14480 2006-06-12  Wim Taymans  <wim@fluendo.com>
14481
14482         * gst/gstinfo.c: (gst_debug_set_active),
14483         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
14484         * gst/gstinfo.h:
14485         Add some G_[UN]LIKELY.
14486         Maintain __gst_debug_min to avoid formatting the arguments of
14487         debug messages that will be dropped anyway to avoid a lot of 
14488         overhead from the debugging system.
14489
14490 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14491
14492         * po/POTFILES.in:
14493         * po/POTFILES.skip:
14494           add missing files containing translatable strings, tell intltool about
14495           one exception
14496
14497 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14498
14499         * tests/check/libs/.cvsignore:
14500         add test-binary to ignore list
14501
14502 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14503
14504         * docs/libs/gstreamer-libs-docs.sgml:
14505         reorder (put dp into a chapter) and indent
14506
14507 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14508
14509         * configure.ac:
14510           back to HEAD
14511
14512 === release 0.10.8 ===
14513
14514 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
14515
14516         * configure.ac:
14517           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
14518
14519 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14520
14521         * gst/gst.c: (init_post):
14522           move pid declaration to declaration block
14523
14524 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14525
14526         * gst/gst.c: (init_post):
14527           use _exit() instead of exit() in our forked child; this ensures
14528           that none of the registered exit handlers from whatever is using
14529           GStreamer get executed.  This fixes gnome-mixer-applet failing
14530           to load, because ORBit would shut down.
14531           Spotted by: Edward Hervey  <edward@fluendo.com>
14532           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
14533           Fixes #344474
14534
14535 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14536
14537         * configure.ac:
14538           back to TRUNK
14539
14540 === release 0.10.7 ===
14541
14542 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
14543
14544         * configure.ac:
14545           releasing 0.10.7, "Soepeke, ik zie ou"
14546
14547 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14548
14549         * configure.ac:
14550         * po/af.po:
14551         * po/az.po:
14552         * po/bg.po:
14553         * po/ca.po:
14554         * po/cs.po:
14555         * po/de.po:
14556         * po/en_GB.po:
14557         * po/fr.po:
14558         * po/it.po:
14559         * po/nb.po:
14560         * po/nl.po:
14561         * po/ru.po:
14562         * po/sq.po:
14563         * po/sr.po:
14564         * po/sv.po:
14565         * po/tr.po:
14566         * po/uk.po:
14567         * po/vi.po:
14568         * po/zh_CN.po:
14569         * po/zh_TW.po:
14570         * win32/common/config.h:
14571           0.10.6.2 prerelease
14572
14573 2006-06-07  Wim Taymans  <wim@fluendo.com>
14574
14575         * gst/gstindex.c: (gst_index_gtype_resolver):
14576         * tools/gst-xmlinspect.c: (print_plugin_info):
14577         Fix leak spotted by coverity checker. Fixes #343827
14578         Fix another other leak found by paolo borelli.
14579
14580 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14581
14582         * libs/gst/dataprotocol/dataprotocol.c:
14583         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
14584         (gst_dp_version_get_type), (gst_dp_init),
14585         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
14586         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
14587         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
14588         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
14589         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
14590         (gst_dp_packetizer_free):
14591         * libs/gst/dataprotocol/dataprotocol.h:
14592           API: add a GstDPPacketizer object, and create/free functions
14593           API: add GstDPVersion enum
14594           Add 1.0 event function that uses the string serialization
14595           Serialize more useful buffer flags
14596           Fixes #343988
14597
14598 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14599
14600         * tests/check/Makefile.am:
14601         * tests/check/gst/gstabi.c:
14602         * tests/check/gst/struct_ppc64.h:
14603         * tests/check/libs/libsabi.c:
14604         * tests/check/libs/struct_ppc64.h:
14605           add ppc64 structure sizes
14606
14607 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14608
14609         * tests/check/Makefile.am:
14610         * tests/check/gst/gstabi.c:
14611         * tests/check/gst/struct_x86_64.h:
14612         * tests/check/libs/libsabi.c:
14613         * tests/check/libs/struct_x86_64.h:
14614           generate and add structure size lists for x86_64
14615
14616 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14617
14618         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
14619         * libs/gst/check/gstcheck.h:
14620           factor out the method from tests that checks size of structures,
14621           and add code to generate the header containing these sizes
14622         * tests/check/gst/gstabi.c: (GST_START_TEST):
14623         * tests/check/gst/struct_i386.h:
14624         * tests/check/libs/libsabi.c: (GST_START_TEST):
14625         * tests/check/libs/struct_i386.h:
14626           use it
14627
14628 2006-06-06  Michael Smith  <msmith@fluendo.com>
14629
14630         * gst/gstsegment.h:
14631           Don't use c++-style comments, fixes #343929
14632
14633 2006-06-05  Edward Hervey  <edward@fluendo.com>
14634
14635         * gst/gst.c:
14636         plugin_paths is not used if we build without registry support.
14637
14638         * gst/gstsegment.c: (gst_segment_copy): 
14639         _copy() was always returning NULL...
14640
14641 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14642
14643         * libs/gst/dataprotocol/dataprotocol.c:
14644         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14645         (gst_dp_packet_from_event):
14646           factor out CRC code
14647
14648 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14649
14650         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
14651           make sure we unset caps
14652
14653 2006-06-02  Michael Smith  <msmith@fluendo.com>
14654
14655         * libs/gst/check/gstcheck.c: (gst_check_init),
14656         (gst_check_chain_func):
14657         * libs/gst/check/gstcheck.h:
14658           Add a cond/mutex to the check support lib, signal this whenever we
14659           add to the buffers list. This will allow tests to not busy-wait on
14660           the buffer-list.
14661
14662 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14663
14664         * libs/gst/dataprotocol/dataprotocol.c:
14665         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14666         (gst_dp_packet_from_event):
14667           factor out some common header init code
14668
14669 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14670
14671         * docs/libs/gstreamer-libs-sections.txt:
14672         * docs/libs/tmpl/gstdataprotocol.sgml:
14673         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
14674         * libs/gst/dataprotocol/dataprotocol.h:
14675           API: make gst_dp_crc() public
14676
14677 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
14678
14679         * plugins/indexers/gstindexers.c: (plugin_init):
14680         conditionally register fileindexer (fixes #343598)
14681
14682 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
14683
14684         * gst/gsttagsetter.h:
14685         Can't cast ifaces to a class
14686
14687         * libs/gst/net/gstnetclientclock.h:
14688         * libs/gst/net/gstnettimeprovider.h:
14689         * plugins/elements/gstfakesink.h:
14690         * plugins/elements/gstfakesrc.h:
14691         * plugins/elements/gstfdsink.h:
14692         * plugins/elements/gstfdsrc.h:
14693         * plugins/elements/gstfilesink.h:
14694         * plugins/elements/gstfilesrc.h:
14695         * plugins/elements/gstidentity.h:
14696         * plugins/elements/gstqueue.h:
14697         * plugins/elements/gsttee.h:
14698         * plugins/indexers/gstfileindex.c:
14699         * plugins/indexers/gstmemindex.c:
14700         * tests/old/examples/plugins/example.h:
14701         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
14702
14703 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14704
14705         * libs/gst/dataprotocol/dataprotocol.c:
14706         (gst_dp_header_from_buffer):
14707           make sure we zero the whole ABI-compatible area
14708
14709 2006-06-01  Wim Taymans  <wim@fluendo.com>
14710
14711         Patch by: Alessandro Decina <alessandro at nnva dot org>
14712
14713         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
14714         Make sure the EOS flag is cleared from pads after a flush
14715         or stop. Fixes #343538.
14716
14717         * tests/check/libs/collectpads.c: (GST_START_TEST),
14718         (gst_collect_pads_suite):
14719         Added test for collectpads reusage after EOS.
14720
14721 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
14722
14723         * gst/gst.c:
14724          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
14725         * win32/common/libgstbase.def:
14726          export gst_collect_pads_set_flushing
14727         * win32/common/libgstreamer.def:
14728          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
14729          gst_value_fraction_multiply
14730         * win32/vs6/gst_inspect.dsp:
14731          add a link to intl.lib
14732
14733 2006-05-30  Wim Taymans  <wim@fluendo.com>
14734
14735         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
14736         (gst_collect_pads_chain):
14737         Handle the case where a pad is removed from the collection
14738         that could cause the other pads to become collectable.
14739
14740 2006-05-30  Wim Taymans  <wim@fluendo.com>
14741
14742         * gst/gstelement.c:
14743         Clarify the use of _release_request_pad() and
14744         _get_request_pad() a bit better.
14745
14746         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
14747         (gst_adapter_take_buffer):
14748         Fix some doc and comment typos.
14749
14750 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14751
14752         * docs/gst/gstreamer-sections.txt:
14753         * docs/libs/gstreamer-libs-sections.txt:
14754           add declared symbols
14755
14756 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
14757
14758         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
14759         Add debug that can be enabled using a #define at the top of the file,
14760         for dumping stats about how late/early we were when waking up from
14761         waiting on the clock.
14762
14763 2006-05-30  Wim Taymans  <wim@fluendo.com>
14764
14765         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
14766         When rebuilding the pad list, don't leak the previous list.
14767
14768 2006-05-30  Wim Taymans  <wim@fluendo.com>
14769
14770         Patch by: Lutz Mueller <lutz at topfrose dot de>
14771
14772         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14773         (gst_base_src_get_query_types), (gst_base_src_update_length):
14774         Publish supported query types.
14775         Update last_stop field in get_range mode so the position
14776         query works. Fixes #342321.
14777
14778 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
14779
14780         * docs/gst/gstreamer-sections.txt:
14781         * gst/gsttaglist.c: (_gst_tag_initialize):
14782         * gst/gsttaglist.h:
14783           API: add GST_TAG_PREVIEW_IMAGE (#343341).
14784
14785 2006-05-30  Wim Taymans  <wim@fluendo.com>
14786
14787         Patch by: Alessandro Decina <alessandro at nnva dot org>
14788
14789         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
14790         Unlock mutex when removing an unknown pad.
14791         Fixes #343334.
14792
14793         * tests/check/Makefile.am:
14794         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
14795         (push_event), (setup), (teardown), (GST_START_TEST),
14796         (gst_collect_pads_suite), (main):
14797         Added collecpads check, disabled for now as check crashes for
14798         some reason.
14799
14800 2006-05-29  Wim Taymans  <wim@fluendo.com>
14801
14802         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
14803         Don't leak pads lists.
14804
14805 2006-05-29  Wim Taymans  <wim@fluendo.com>
14806
14807         * docs/libs/gstreamer-libs-sections.txt:
14808         * libs/gst/base/gstcollectpads.c:
14809         (gst_collect_pads_set_flushing_unlocked),
14810         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
14811         (gst_collect_pads_stop):
14812         * libs/gst/base/gstcollectpads.h:
14813         API: gst_collect_pads_set_flushing()
14814         Added api to set the pads to flushing, useful for seeking
14815         code in elements using collectpads.
14816         Clear segment when receiving a flush.
14817
14818 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
14819
14820         * gst/gst.c: (add_path_func), (init_post):
14821           Don't scan registry paths passed via --gst-plugin-path immediately
14822           (will crash, because absolutely nothing is set up and no types are
14823           registered etc.); do this later in init_post(). Fixes #343057.
14824
14825 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
14826
14827         * gst/gst.c: (init_post):
14828           if we have fork, fork while reading/rebuilding the registry
14829           so the parent doesn't take the hit of having all plugins loaded
14830           in memory.  Fixes #342777.
14831         * configure.ac:
14832           Check if we have fork()
14833         * win32/common/config.h.in:
14834           no fork() on win32
14835
14836 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
14837
14838         * plugins/elements/gstelements.c:
14839         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
14840         (gst_file_src_init), (gst_file_src_set_property),
14841         (gst_file_src_get_property), (gst_file_src_start):
14842         * plugins/elements/gstfilesrc.h:
14843           API: GstFileSrc::use-mmap
14844
14845         Add a use-mmap property to enable easier testing of all code paths.
14846         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
14847         in the absence of gnomevfssrc. (Closes #340501)
14848
14849 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
14850
14851         * tools/gst-inspect.c:
14852         Add missing include, removes warning of ngettext not being defined on
14853         some arches.
14854
14855 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
14856
14857         * gst/gstvalue.c: (gst_value_deserialize_fraction):
14858         Handle NULL input and output pointers silently as a failed conversion,
14859         rather than g_warnings.
14860
14861 2006-05-25  Wim Taymans  <wim@fluendo.com>
14862
14863         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
14864         Initialize variable before using. Fixes #342820.
14865
14866 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
14867
14868         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
14869           Fix off-by-one bug that would only allow peeks of N-1 bytes
14870           from the start even if the buffer to typefind on contains
14871           in fact N bytes of data (makes vorbis typefinding from a
14872           vorbis identification header buffer work).
14873
14874         * tests/check/Makefile.am:
14875         * tests/check/libs/.cvsignore:
14876         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
14877         (gst_typefindhelper_suite), (main), (foobar_typefind),
14878         (plugin_init):
14879           Add very basic unit test for gst_type_find_helper_for_buffer()
14880           that checks for the problem fixed above.
14881
14882 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14883
14884         * tools/gst-inspect.c: (print_interfaces),
14885         (print_element_properties_info), (print_element_list), (main):
14886           add more translatable strings
14887
14888 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
14889
14890         Patch by: Julien Moutte  <julien at moutte net>
14891
14892         * docs/gst/gstreamer-sections.txt:
14893           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
14894           
14895         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
14896         (gst_fake_sink_preroll):
14897         * plugins/elements/gstfakesink.h:
14898           API: Add new GstFakeSink::preroll-handoff signal (#337100).
14899
14900 2006-05-23  Wim Taymans  <wim@fluendo.com>
14901
14902         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
14903         * gst/gstpad.h:
14904         Added _CUSTOM error and success GstFlowReturn that can be
14905         used be elements internally. 
14906         Added macro to check for SUCCESS flowreturns.
14907         API: GST_FLOW_CUSTOM_SUCCESS
14908         API: GST_FLOW_CUSTOM_ERROR
14909         API: GST_FLOW_IS_SUCCESS
14910
14911         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
14912         Added check for GstFlowReturn sanity.
14913
14914 2006-05-23  Wim Taymans  <wim@fluendo.com>
14915
14916         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
14917
14918         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
14919         (gst_collect_pads_event):
14920         clear/reset segment info in FLUSH_STOP.
14921         Fixes #336929.
14922
14923 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
14924
14925         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
14926         (gst_collect_pads_check_collected):
14927         Flush queued buffer on _stop(), fixes playing again (#342454)
14928
14929 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14930
14931         * tests/check/gst/gststructure.c: (GST_START_TEST),
14932         (gst_structure_suite):
14933           add a test for a complete structure
14934
14935 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
14936
14937         * docs/faq/developing.xml:
14938         * docs/faq/faq.xml:
14939         * docs/faq/troubleshooting.xml:
14940         * docs/faq/using.xml:
14941           Some minor FAQ updates that won't change the fact that
14942           our FAQ is badly structured, full of information hardly
14943           anyone new to GStreamer needs to know and lacking lots
14944           of information people constantly ask for.
14945           
14946 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
14947
14948         * gst/gstpad.c: (gst_pad_set_caps):
14949           Short-circuit gst_pad_set_caps if setting the existing
14950           caps pointer again, and avoid printing debug and 
14951           reffing/unreffing the caps.
14952
14953         * plugins/elements/gstqueue.c: (gst_queue_push_one):
14954           There's actually no need to set the caps before pushing -
14955           the acceptcaps method will handle it anyway.
14956
14957 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
14958
14959         * docs/gst/gstreamer-sections.txt:
14960         * win32/common/libgstreamer.def:
14961         * gst/gstutils.c: (gst_element_seek_simple):
14962         * gst/gstutils.h:
14963           API: add gst_element_seek_simple() (#342238).
14964
14965 2006-05-18  Edward Hervey  <edward@fluendo.com>
14966
14967         * gst/gsttypefind.c: (gst_type_find_get_type):
14968         * gst/gsttypefind.h:
14969         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
14970         registered for GstTypeFind pointers. This allows wrapping the structure
14971         in bindings (i.e. gst-python).
14972
14973 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
14974
14975         * gst/gsttagsetter.c:
14976           Docs additions and fixes (see #339918).
14977
14978 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
14979
14980         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
14981         The caps intersection algorithm can produce multiple copies of the
14982         caps. Until that is fixed, we need to simplify the result to be
14983         sure whether the allowed caps are fixed or not.
14984
14985         * plugins/elements/gstqueue.c: (gst_queue_init),
14986         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
14987         (gst_queue_push_one):
14988         Proxied buffer alloc should not set the caps on the source pad.
14989         When pushing buffers, we always accept the caps change that triggers.
14990         This prevents negotiation errors caused by caps changing mid-stream 
14991         and then being refused on our source pad (because upstream is now
14992         refusing those caps).
14993
14994 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
14995
14996         * tests/examples/helloworld/helloworld.c: (main):
14997           Must plug audioconvert and audioresample between decoder
14998           and audio sink.
14999
15000 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
15001
15002         * gst/gstregistryxml.c: (read_string), (load_pad_template),
15003         (load_feature), (load_plugin):
15004         Allow empty strings for some of the plugin fields so we don't 
15005         drop valid plugin entries that were written out correctly
15006         (Fixes #341479)
15007
15008 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
15009         
15010         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
15011           Use g_remove and g_rename instead of remove and rename that don't 
15012           handle utf8 characters. rename was failing for users who had specific
15013           characters in their name then the registry was built at each 
15014           gstreamer init.
15015         * win32/vs6/gst_inspect.dsp:
15016         * win32/vs6/gst_launch.dsp:
15017         * win32/vs6/libgstbase.dsp:
15018         * win32/vs6/libgstcoreelements.dsp:
15019         * win32/vs6/libgstreamer.dsp:
15020           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
15021           build of libgstreamer and clean unused libraries in projects link 
15022           settings.
15023
15024 2006-05-17  Edward Hervey  <edward@fluendo.com>
15025
15026         * plugins/elements/gstqueue.c: (gst_queue_push_one):
15027         The queue is not responsible for pushing an EOS when receiving a fatal
15028         flow error. It's up to the real element driving the pipeline to do that.
15029
15030 2006-05-16  Edward Hervey  <edward@fluendo.com>
15031
15032         * plugins/elements/gstqueue.c: (gst_queue_push_one):
15033         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
15034         buffer returned a fatal error. It should just send an EOS and stop
15035         its task.
15036         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
15037         when pushing buffers on the queue and will be able to handle the event.
15038
15039 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
15040
15041         * docs/manual/basics-bins.xml:
15042         * docs/manual/basics-init.xml:
15043           Fix typos and minor errors in sample code (#341856).
15044
15045 2006-05-16  Wim Taymans  <wim@fluendo.com>
15046
15047         * docs/design/part-qos.txt:
15048         Fix indexes in formulas to make more sense.
15049
15050 2006-05-15  Wim Taymans  <wim@fluendo.com>
15051
15052         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
15053         Don't report POSITION based on clock time if sync is
15054         disabled in a sink.
15055
15056 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
15057
15058         * gst/gstobject.h:
15059           Add cast to make compiler happy - refcount variable was a gint
15060           in GstObject but is a guint in GObject and g_atomic_int_get()
15061           wants a gint *.
15062
15063 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15064
15065         * gst/parse/Makefile.am:
15066           chain commands using &&, which also makes parallel make work
15067
15068 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
15069
15070         * docs/gst/gstreamer-sections.txt:
15071         * gst/gstevent.c:
15072         * gst/gstevent.h:
15073         * gst/gstmessage.h:
15074           Minor docs fixes.
15075
15076 === release 0.10.6 ===
15077
15078 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
15079
15080         * configure.ac:
15081           releasing 0.10.6, "Take the cannoli"
15082
15083 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
15084
15085         * tools/gst-launch.c: (print_tag):
15086           Fix use of uninitialized variable in the hypothetical
15087           case that some broken plugin creates a GST_TAG_IMAGE
15088           tag containing a NULL buffer (#341667).
15089
15090 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
15091
15092         * tools/gst-launch.c: (print_tag):
15093           Print something more intelligible for image tags when
15094           using the -t switch (#341556).
15095
15096 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15097
15098         * Makefile.am:
15099           updates for win32
15100         * configure.ac:
15101           define GST_MAJORMINOR so we have it available in win32/common/config.h
15102           Possibly remove it from our Makefile.am files later
15103         * win32/common/config.h:
15104         * win32/common/config.h.in:
15105           added GST_MAJORMINOR
15106         * win32/common/gstenumtypes.c: (register_gst_resource_error):
15107         * win32/common/gstversion.h:
15108           updated
15109
15110 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
15111
15112         * win32/MANIFEST:
15113           Update win32 files listing.
15114         * win32/common/gstversion.h:
15115           Add GST_MAJORMINOR definition.
15116         * win32/common/libgstreamer.def:
15117           Add new exported functions.
15118           
15119 2006-05-12  Michael Smith  <msmith@fluendo.com>
15120
15121         * gst/gstplugin.c: (gst_plugin_load_file):
15122           If an so file has no plugin entry point, unload the module.
15123
15124 2006-05-11  Wim Taymans  <wim@fluendo.com>
15125
15126         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
15127         (gst_queue_set_property):
15128         Don't forget to signal the _chain or _loop function 
15129         when the queue size or thresholds change since that might
15130         cause them to make progres again.
15131
15132 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
15133
15134         * gst/gstclock.c: (gst_clock_class_init):
15135         * gst/gstindex.c: (gst_index_class_init):
15136         * gst/gstobject.c: (gst_object_class_init):
15137         * gst/gstpad.c: (gst_pad_class_init):
15138         * gst/gstpipeline.c: (gst_pipeline_class_init):
15139         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
15140         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
15141         * libs/gst/base/gstbasetransform.c:
15142         (gst_base_transform_class_init):
15143         * libs/gst/net/gstnetclientclock.c:
15144         (gst_net_client_clock_class_init):
15145         * libs/gst/net/gstnettimeprovider.c:
15146         (gst_net_time_provider_class_init):
15147         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
15148         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
15149         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
15150         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
15151         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
15152         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
15153         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
15154         * plugins/elements/gstidentity.c: (gst_identity_class_init):
15155         * plugins/elements/gsttee.c: (gst_tee_class_init):
15156         * tests/old/examples/plugins/example.c: (gst_example_class_init):
15157         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
15158           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
15159
15160 2006-05-11  Wim Taymans  <wim@fluendo.com>
15161
15162         * gst/gstbuffer.c: (_gst_buffer_initialize):
15163         Register subbufer along with the buffer type so that
15164         it does not accidentally gets registered from N
15165         different streaming threads in a non threadsafe way.
15166
15167 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
15168
15169         * gst/gstbuffer.h:
15170         * gst/gstevent.h:
15171         * gst/gstmessage.h:
15172           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
15173           gst_event_ref() and gst_message_ref() functions again
15174           (ugly hack, please do fix if there's a better way besides
15175           overrides.txt, which doesn't seem to work).
15176
15177 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15178
15179         * libs/gst/check/gstcheck.h:
15180           add an assert for setting state to avoid lots of repetitive code
15181           in the future
15182
15183 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15184
15185         * gst/gstvalue.c: (gst_value_serialize_flags):
15186           fix a leak if no flags are set
15187         * tests/check/gst/gstvalue.c: (GST_START_TEST):
15188           fix leak in tests
15189
15190 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
15191
15192         * docs/manual/basics-pads.xml:
15193           Expand a bit on caps and filtered links and update
15194           examples that were still using the no longer existing
15195           gst_pad_link_filtered() (#338206).
15196
15197 2006-05-10  Wim Taymans  <wim@fluendo.com>
15198
15199         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
15200         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
15201         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
15202         (gst_collect_pads_stop):
15203         * libs/gst/base/gstcollectpads.h:
15204         No need to call _stop in _finalize.
15205         Iterate the main pad list in _finalize.
15206         Added some more debug.
15207         Free lists and data in the right order.
15208         Also free data whem doing _remove_pad when stopped for
15209         backward compatibility protect ::started with PAD_LOCK as
15210         well.
15211
15212 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15213
15214         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
15215         (gst_structure_parse_value):
15216           add some comments
15217           rename a method so that it actually says what it does better
15218
15219 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15220
15221         * gst/gstevent.c: (_gst_event_initialize):
15222         * gst/gstformat.c: (_gst_format_initialize):
15223           make sure some essential types used by events are registered
15224           as part of gst_init()
15225         * gst/gstvalue.c: (gst_value_serialize_flags):
15226           if no flags are set, serialize them to a value that represents NONE
15227           so that deserializing them works
15228         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15229           add tests for serialization and deserialization of flags
15230
15231 2006-05-10  Wim Taymans  <wim@fluendo.com>
15232
15233         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
15234         (gst_collect_pads_collect_range), (gst_collect_pads_available),
15235         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
15236         (gst_collect_pads_event), (gst_collect_pads_chain):
15237         Update docs.
15238         Better debug info.
15239         Catch and return errors from the collect function
15240         Refuse data on eos pads.
15241
15242 2006-05-10  Edward Hervey  <edward@fluendo.com>
15243
15244         * gst/gstinterface.h:
15245         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
15246         GInterface type checking.
15247         They were previously using non-defined macros.
15248
15249 2006-05-09  Wim Taymans  <wim@fluendo.com>
15250
15251         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
15252         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
15253         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
15254         (gst_collect_pads_start), (gst_collect_pads_stop),
15255         (gst_collect_pads_peek), (gst_collect_pads_pop),
15256         (gst_collect_pads_available), (gst_collect_pads_read),
15257         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
15258         (gst_collect_pads_is_collected), (gst_collect_pads_event),
15259         (gst_collect_pads_chain):
15260         * libs/gst/base/gstcollectpads.h:
15261         Clean up the mess that is collectpads, add comments and
15262         FIXMEs where needed.
15263         Maintain a separate pad list so we can add pads while
15264         collecting the other ones. For this we need a new separate 
15265         lock (see comics).
15266         Fix memory leak in finalize.
15267         Refactor some weird code to set/unset pad flushing flags, mark
15268         with comments.
15269         Don't crash in _available, _read, _flush when we're EOS.
15270
15271         * tests/check/libs/.cvsignore:
15272         Ignore adapter check binary.
15273
15274 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15275
15276         * gst/gstindex.c: (gst_index_resolver_get_type):
15277         * plugins/elements/gstfakesink.c:
15278         (gst_fake_sink_state_error_get_type):
15279         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
15280         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
15281         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
15282           Const-ify GEnumValue arrays.
15283
15284 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15285
15286         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
15287           Add test case for flags + gst_buffer_make_metadata_writable().
15288
15289 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15290
15291         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
15292           gst_buffer_make_metadata_writable() should maintain the
15293           buffer flags (those that make sense at least) (see #340859).
15294
15295 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15296
15297         * tools/gst-inspect.c:
15298         * tools/gst-launch.c:
15299         * tools/gst-typefind.c:
15300         * tools/gst-xmlinspect.c:
15301         * tools/tools.h:
15302           Fix up includes: need to include stdlib.h in tools.h for exit().
15303
15304 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15305
15306         * gst/gsttaglist.c: (_gst_tag_initialize):
15307         * gst/gsttaglist.h:
15308           API: add GST_TAG_IMAGE tag (#340721).
15309
15310 2006-05-08  Wim Taymans  <wim@fluendo.com>
15311
15312         * gst/gstquery.c:
15313         Added some docs for the segment query.
15314
15315 2006-05-08  Wim Taymans  <wim@fluendo.com>
15316
15317         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15318         (gst_base_src_loop), (gst_base_src_change_state):
15319         Always push non-flushing serialized events in the streaming 
15320         thread.
15321
15322 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15323
15324         * gst/gsterror.c: (_gst_stream_errors_init):
15325           Add a missing error string.
15326
15327 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
15328
15329         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
15330         Add applied_rate to the debug
15331
15332         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
15333         Copy applied_rate into the outgoing NEWSEGMENT event
15334
15335 2006-05-08  Wim Taymans  <wim@fluendo.com>
15336
15337         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
15338
15339         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
15340         (gst_base_sink_change_state):
15341         call ::unlock before taking the PREROLL_LOCK so we can safely
15342         handle elements that lock in ::render.
15343         Fixes #340174.
15344
15345 2006-05-08  Edward Hervey  <edward@fluendo.com>
15346
15347         * autogen.sh: (CONFIGURE_DEF_OPT): 
15348         Darwin's libtoolize is in fact called glibtoolize.
15349         Adding glibtoolize to the list of accepted names for libtoolize.
15350
15351 2006-05-08  Wim Taymans  <wim@fluendo.com>
15352
15353         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
15354         Unify error handling, don't post an error message
15355         when a push() returns EOS but perform our normal EOS
15356         handling code. Fixes #340772.
15357
15358 2006-05-08  Wim Taymans  <wim@fluendo.com>
15359
15360         * docs/design/part-overview.txt:
15361         Make upsteam/downstream concepts more clear.
15362         Give an example of serialized/non-serialized events.
15363
15364         * docs/design/part-events.txt:
15365         * docs/design/part-streams.txt:
15366         Mention applied_rate.
15367
15368         * docs/design/part-trickmodes.txt:
15369         Mention applied rate, flesh out some more use cases.
15370
15371         * gst/gstevent.c: (gst_event_new_new_segment),
15372         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
15373         (gst_event_parse_new_segment_full), (gst_event_new_tag),
15374         (gst_event_parse_tag), (gst_event_new_buffer_size),
15375         (gst_event_parse_buffer_size), (gst_event_new_qos),
15376         (gst_event_parse_qos), (gst_event_parse_seek),
15377         (gst_event_new_navigation):
15378         * gst/gstevent.h:
15379         Add applied_rate field to NEWSEGMENT event.
15380         API: gst_event_new_new_segment_full()
15381         API: gst_event_parse_new_segment_full()
15382
15383         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
15384         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
15385         (gst_segment_to_stream_time), (gst_segment_to_running_time):
15386         * gst/gstsegment.h:
15387         Add applied_rate to GstSegment structure.
15388         Make calculation of stream_time and running_time more correct
15389         wrt rate/applied_rate.
15390         Add some more docs.
15391         API: GstSegment::applied_rate field
15392         API: gst_segment_set_newsegment_full();
15393
15394         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
15395         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
15396         * libs/gst/base/gstbasetransform.c:
15397         (gst_base_transform_sink_eventfunc),
15398         (gst_base_transform_handle_buffer):
15399         Parse and use applied_rate in the GstSegment field.
15400
15401         * tests/check/gst/gstevent.c: (GST_START_TEST):
15402         Add check for applied_rate field.
15403
15404         * tests/check/gst/gstsegment.c: (GST_START_TEST),
15405         (gstsegments_suite):
15406         Add more checks for various GstSegment operations.
15407
15408 2006-05-08  Wim Taymans  <wim@fluendo.com>
15409
15410         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
15411         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
15412         (gst_base_sink_get_position), (gst_base_sink_change_state):
15413         Store the sync time of the buffer end position separatly in a
15414         new variable eos_rtime so we can properly sync the EOS event.
15415         Fixes #340697.
15416         Fix the docs for gst_base_sink_set_qos_enabled().
15417         Don't set segment start to invalid value when we receive a 
15418         non TIME newsegment.
15419         get closer to handling position reporting for negative rates 
15420         correctly.
15421
15422 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
15423
15424         * gst/gstcaps.c:
15425         Docs about how to print caps for debug purposes.
15426
15427         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
15428         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
15429
15430 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
15431
15432         * gst/gstelement.c:
15433           use full enum names and preprend a '%' in docs strings to make recent 
15434           gtk-doc turn that into a link
15435
15436 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15437
15438         * docs/manual/basics-bins.xml:
15439         * docs/manual/basics-bus.xml:
15440         * docs/manual/basics-pads.xml:
15441           Some typo fixes, some additions, some clarifications. 
15442
15443 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15444
15445         * tools/gst-inspect.c: (main):
15446         * tools/gst-launch.c: (main):
15447         * tools/gst-run.c: (main):
15448         * tools/gst-typefind.c: (main):
15449         * tools/gst-xmlinspect.c: (main):
15450           Use the string passed to g_option_context_new() for
15451           what it's intended for - the program name is already
15452           printed elsewhere.
15453
15454 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15455
15456         * tools/Makefile.am:
15457         * tools/gst-inspect.c: (main):
15458         * tools/gst-launch.c: (main):
15459         * tools/gst-xmlinspect.c: (main):
15460         * tools/tools.h:
15461           Add back --version command line option (#340460).
15462
15463         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
15464           Add --version option and use GOption for argument parsing; refactor a
15465           bit; accept directories as arguments and recurse into them; lastly,
15466           print a decent error message when things go wrong.
15467
15468 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15469
15470         * docs/manual/basics-bins.xml:
15471         Don't mention GstThread (#340611)
15472         * docs/manual/basics-elements.xml:
15473         Update link to GObject tutorial (#340607)
15474         
15475 2006-05-05  Wim Taymans  <wim@fluendo.com>
15476
15477         * gst/gstbuffer.h:
15478         * gst/gstminiobject.c:
15479         Add note about refcounting and miniobject/buffer writeability
15480         to docs. Fixes #340604
15481
15482         * gst/gstelementfactory.h:
15483         Added some explanation about @klass.
15484
15485 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15486
15487         * docs/manual/intro-motivation.xml:
15488         * docs/manual/manual.xml:
15489         Avoid CORBA & Bonobo references (#340598)
15490
15491 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15492
15493         * docs/manual/basics-bus.xml:
15494         * docs/manual/basics-pads.xml:
15495         Fix up some inaccuracies and omissions (#340609)
15496         
15497 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15498
15499         * gst/gstghostpad.c:
15500           Small typo in docs (#340625)
15501
15502 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15503
15504         * gst/parse/Makefile.am:
15505           Make 'make -j' proof (see #340698).
15506
15507 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15508
15509         * configure.ac:
15510           Require GLib-2.8 here as well.
15511
15512 2006-05-05  Wim Taymans  <wim@fluendo.com>
15513
15514         * gst/glib-compat.c:
15515         * gst/gst.c: (init_pre):
15516         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
15517         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
15518         (gst_object_dispatch_properties_changed):
15519         * gst/gstobject.h:
15520         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
15521         * gst/gststructure.c: (gst_structure_set_valist):
15522         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
15523         Remove pre glib2.8 compatibility, fixes #340508
15524
15525 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
15526
15527         * gst/gsttaglist.h:
15528           Mention type of tags in doc blurbs.
15529
15530 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
15531
15532         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15533         (gst_pad_configure_src), (gst_pad_push):
15534         Restore acceptcaps checking behaviour now that good plugins have
15535         been released.
15536
15537 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
15538
15539         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
15540
15541         * gst/gst.c:
15542         * gst/gstbus.c:
15543         * gst/gstclock.c:
15544         * gst/gstevent.c:
15545         * gst/gstformat.c:
15546         * gst/gstmessage.c:
15547         * gst/gstparse.c:
15548         * gst/gstquery.c:
15549         * gst/gstutils.c:
15550         * gst/parse/Makefile.am:
15551         * libs/gst/base/gstadapter.c:
15552         * libs/gst/base/gstbasesrc.c:
15553         * libs/gst/base/gstpushsrc.c:
15554         * libs/gst/base/gsttypefindhelper.c:
15555         * plugins/elements/gstfakesrc.c:
15556         * plugins/elements/gstidentity.c:
15557           Make sure gstprivate.h and/or config.h are
15558           always included first, otherwise some of our
15559           defines (like _FILE_OFFSET_BITS) might be
15560           redefined in the system headers. Fixes build
15561           on opensolaris (#340016).
15562
15563 2006-05-04  Wim Taymans  <wim@fluendo.com>
15564
15565         * docs/libs/gstreamer-libs-sections.txt:
15566         API: addition: gst_adapter_take_buffer()
15567         
15568         * libs/gst/base/gstadapter.c: (gst_adapter_push),
15569         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
15570         (gst_adapter_available_fast):
15571         * libs/gst/base/gstadapter.h:
15572         Prepare for optimizing the hell out of this hugely inefficient
15573         piece of code. 
15574         Added gst_adapter_take_buffer() so we can at least start thinking
15575         about subbuffering and merging.
15576         Added some comments.
15577
15578         * tests/check/Makefile.am:
15579         * tests/check/libs/adapter.c: (GST_START_TEST),
15580         (gst_adapter_suite), (main):
15581         Added GstAdapter check.
15582
15583 2006-05-04  Wim Taymans  <wim@fluendo.com>
15584
15585         * docs/design/part-overview.txt:
15586         Fix some typos, add blurb about buffer flags.
15587
15588 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
15589
15590         * docs/libs/gstreamer-libs-sections.txt:
15591           make sure GstBaseTransformClass shows up in the docs
15592         * libs/gst/base/gstbasetransform.c:
15593         * libs/gst/base/gstbasetransform.h:
15594           move docs so gtk-doc picks it up now
15595
15596 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
15597
15598         * docs/libs/gstreamer-libs-sections.txt:
15599           add missing symbols to docs
15600
15601 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
15602
15603         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15604           back out the newsegment handling change, see #340060 for ongoing
15605           discussion
15606
15607 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
15608
15609         * tools/gst-run.c: (get_candidates), (main):
15610           Fix wrong g_file_test() usage (see glib docs for why it doesn't
15611           work); fix typo in error message. Fixes #340079.
15612
15613 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15614
15615         * common/Makefile.am:
15616         * docs/Makefile.am:
15617         * docs/faq/Makefile.am:
15618         * docs/gst/Makefile.am:
15619         * docs/libs/Makefile.am:
15620         * docs/manual/Makefile.am:
15621         * docs/plugins/Makefile.am:
15622         * docs/pwg/Makefile.am:
15623         * docs/slides/Makefile.am:
15624         * docs/upload.mak:
15625         * common/upload.mak:
15626           move upload.mak to common
15627
15628 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15629
15630         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
15631           add more asserts on refcounts
15632           do more cleanup at end of tests
15633           fix test leaks showing in FC5
15634
15635 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
15636
15637         * plugins/elements/gsttypefindelement.c:
15638         (gst_type_find_element_handle_event):
15639         reverted wrong change and reflowed code to avoid others falling into
15640         this trap
15641
15642 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15643
15644         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15645           fix changelog entry about last collectpads change,
15646           add notes about proper fix
15647
15648 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15649
15650         * gst/gst.c:
15651         * gst/gstregistry.c: (gst_registry_scan_path_level),
15652         (gst_registry_scan_path):
15653         * gst/gstregistry.h:
15654           only write out registry if it has changed, fixes #338339
15655
15656 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15657
15658         * gst/gstbin.c:
15659         * gst/gstpipeline.c:
15660         * plugins/elements/gstcapsfilter.c:
15661         * plugins/elements/gstfakesink.c:
15662         * plugins/elements/gstfakesrc.c:
15663         * plugins/elements/gstfdsink.c:
15664         * plugins/elements/gstfdsrc.c:
15665         * plugins/elements/gstfilesink.c:
15666         * plugins/elements/gstfilesrc.c:
15667         * plugins/elements/gstidentity.c:
15668         * plugins/elements/gstqueue.c:
15669         * plugins/elements/gsttee.c:
15670         * plugins/elements/gsttypefindelement.c:
15671         (gst_type_find_element_handle_event):
15672           make GstElementDetails const
15673
15674 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15675
15676         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
15677         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
15678         (gst_collect_pads_is_collected), (gst_collect_pads_event):
15679           more detailed debug and formatting cleanup,
15680           forward newsegments to src-pad (so that e.g. adder not eats them)
15681
15682 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15683
15684         * gst/gstutils.c: (gst_element_link_pads):
15685           cleanup double code
15686
15687 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15688
15689         * libs/gst/controller/gstcontroller.c:
15690         (gst_controller_sync_values):
15691           some little tuning
15692         * tests/check/libs/controller.c: (GST_START_TEST),
15693         (gst_controller_suite):
15694           a new test for live value handling
15695
15696 2006-04-28  Wim Taymans  <wim@fluendo.com>
15697
15698         * gst/gstutils.c: (push_and_ref):
15699         Added some more docs.
15700         Fix refcount issue whith gst_element_found_tags() helper 
15701         function. Fixes #338335
15702
15703         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
15704         Added testsuite for gst_element_found_tags().
15705
15706 2006-04-28  Michael Smith  <msmith@fluendo.com>
15707
15708         * gst/gstvalue.c: (gst_value_serialize_flags):
15709           Avoid NULL dereference when trying to serialize flags containing
15710           invalid values.
15711
15712 2006-04-28  Michael Smith  <msmith@fluendo.com>
15713
15714         * plugins/elements/gsttypefindelement.c:
15715         (gst_type_find_element_handle_event):
15716           If we get EOS before any data is accumulated, don't use
15717           uninitialised local variables.
15718
15719 2006-04-28  Michael Smith  <msmith@fluendo.com>
15720
15721         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15722         (gst_dp_event_from_packet):
15723           Fixes in reading/writing events over GDP (not currently used?) - 
15724           dereferencing NULL events for unknown/invalid event types, memory
15725           leak, and change g_warning to GST_WARNING.
15726
15727 2006-04-28  Wim Taymans  <wim@fluendo.com>
15728
15729         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
15730         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
15731         (gst_base_sink_get_position), (gst_base_sink_change_state):
15732         When frame dropping is enabled, we should not ignore frames
15733         without a duration.
15734         Update some documentation.
15735
15736 2006-04-28  Wim Taymans  <wim@fluendo.com>
15737
15738         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15739         (gst_base_src_send_event), (gst_base_src_change_state):
15740         Documentation updates.
15741
15742 2006-04-28  Wim Taymans  <wim@fluendo.com>
15743
15744         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
15745         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
15746         handle EAGAIN, EINTR and short writes correctly. Also clean
15747         up some error cases, avoid a deadlock on bad file descriptors and
15748         use GST_DEBUG_OBJECT.
15749         Fixes #339843
15750
15751 2006-04-28  Wim Taymans  <wim@fluendo.com>
15752
15753         * gst/gstvalue.c: (gst_value_serialize_buffer),
15754         (gst_value_deserialize_buffer):
15755         Don't try to serialize a GValue with a NULL buffer. 
15756         Fixes #339821.
15757
15758         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15759         Added check for serialisation of NULL buffers.
15760
15761 2006-04-28  Wim Taymans  <wim@fluendo.com>
15762
15763         * gst/gstminiobject.c: (gst_value_take_mini_object):
15764         Taking a NULL miniobject is valid, fix the case where
15765         we try to unref the NULL miniobject.
15766
15767 2006-04-28  Wim Taymans  <wim@fluendo.com>
15768
15769         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
15770
15771         * gst/gstbin.c: (gst_bin_handle_message_func):
15772         Update docs.
15773         Don't leak bin refcount when a state recalc is
15774         in progress and we delay another one #339808.
15775
15776 2006-04-28  Wim Taymans  <wim@fluendo.com>
15777
15778         * docs/design/part-TODO.txt:
15779         Mention QoS as an ongoing work item.
15780
15781         * docs/design/part-buffering.txt:
15782         New doc about buffering that needs to be fleshed out
15783         at some point.
15784
15785         * docs/design/part-qos.txt:
15786         More QoS policy for decoders/demuxers/transforms
15787
15788         * docs/design/part-trickmodes.txt:
15789         Small update.
15790
15791 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
15792
15793         * configure.ac:
15794           back to HEAD
15795
15796 === release 0.10.5 ===
15797
15798 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
15799
15800         * configure.ac:
15801           releasing 0.10.5, "Fogo"
15802
15803 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15804
15805         patch by: Wim Taymans
15806
15807         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15808         (gst_pad_configure_src), (gst_pad_push):
15809         * gst/gstpipeline.c: (gst_pipeline_init):
15810           Fix internal data flow errors.  Fixes #338711.
15811
15812 2006-04-12  Wim Taymans  <wim@fluendo.com>
15813
15814         * tests/check/gst/gstelement.c: (GST_START_TEST):
15815         Don't leak the factory.
15816
15817 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15818
15819         * configure.ac:
15820         * win32/common/config.h:
15821           prerelease
15822
15823 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
15824
15825         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15826         (gst_controller_unset_all):
15827           Free allocated GstTimedValues when freeing list nodes.
15828           Should fix leaks 'make check-valgrind' complains about.
15829
15830         * win32/common/libgstcontroller.def:
15831           Add gst_controller_unset_all.
15832
15833 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
15834
15835         * docs/libs/gstreamer-libs-sections.txt:
15836         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15837         (gst_controller_unset_all):
15838         * libs/gst/controller/gstcontroller.h:
15839         API: Added new method gst_controller_unset_all()
15840         fixed gst_controller_unset()
15841         * tests/check/libs/controller.c: (GST_START_TEST),
15842         (gst_controller_suite):
15843         Added two testcases for new and fixed method
15844
15845 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
15846
15847         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
15848           MSG_DONTWAIT is not defined on Cygwin, so work
15849           around that (fixes #317048).
15850           
15851 2006-04-11  Wim Taymans  <wim@fluendo.com>
15852
15853         * gst/gstelementfactory.c: (gst_element_register),
15854         (gst_element_factory_create), (gst_element_factory_make):
15855         Some cleanups.
15856         Fixed a FIXME.
15857         Updated docs (Fixes #131079)
15858
15859         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
15860         Small cleanups.
15861
15862         * tests/check/gst/gstelement.c: (GST_START_TEST),
15863         (gst_element_suite):
15864         Added testcase for elementfactory class field.
15865
15866 2006-04-10  Wim Taymans  <wim@fluendo.com>
15867
15868         * gst/gstsegment.c:
15869         Added some more docs.
15870
15871         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
15872         (gst_base_sink_reset_qos):
15873         Calculate more accurate rate values.
15874
15875 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
15876
15877         * gst/gst_private.h:
15878           add a new #ifdef to use __declspec(dllimport) only for
15879           other modules and not for gstreamer core
15880         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
15881           use gst_guint64_to_gdouble for conversion
15882         * win32/common/libgstreamer.def:
15883           add new exported functions
15884         * win32/vs6/gst_inspect.dsp:
15885         * win32/vs6/gst_launch.dsp:
15886         * win32/vs6/libgstbase.dsp:
15887         * win32/vs6/libgstcontroller.dsp:
15888         * win32/vs6/libgstcoreelements.dsp:
15889         * win32/vs6/libgstdataprotocol.dsp:
15890         * win32/vs6/libgstnet.dsp:
15891           update project files
15892
15893 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
15894
15895         * gst/gstbuffer.c: (gst_subbuffer_class_init):
15896         * gst/gstclock.c: (gst_clock_class_init):
15897         * gst/gstelement.c: (gst_element_class_init):
15898         * gst/gstindex.c: (gst_index_class_init):
15899         * gst/gstindexfactory.c: (gst_index_factory_class_init):
15900         * gst/gstobject.c: (gst_object_class_init),
15901         (gst_signal_object_class_init):
15902         * gst/gstpad.c: (gst_pad_class_init):
15903         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
15904         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
15905         * gst/gstregistry.c: (gst_registry_class_init):
15906         * gst/gstsystemclock.c: (gst_system_clock_class_init):
15907         * gst/gsttask.c: (gst_task_class_init):
15908         * gst/gstxml.c: (gst_xml_class_init):
15909         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
15910         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
15911         (gst_base_src_loop):
15912         * libs/gst/controller/gstcontroller.c:/
15913         (_gst_controller_class_init):
15914         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
15915         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
15916         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
15917         * tests/old/examples/plugins/example.c: (gst_example_class_init):
15918         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
15919         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
15920
15921 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
15922
15923         * gst/gstpad.c: (gst_pad_link):
15924           Must set peer pads before calling the link function, otherwise
15925           a task started from a link function might get a flow-not-linked
15926           result when trying to push because the other thread where the
15927           linking happens hasn't had a chance to set the peers yet. This
15928           might happen for example when a queue gets linked to a downstream
15929           element, as queue starts a streaming task when its source pad
15930           gets linked. Happens in real life when playing back flac/musepack
15931           files in playbin (#332390).
15932           
15933 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
15934
15935         * gst/gstindex.h:
15936         * gst/gstxml.h:
15937         * libs/gst/base/gstadapter.h:
15938         * libs/gst/base/gstbasesink.h:
15939         * libs/gst/base/gstbasesrc.h:
15940         * libs/gst/base/gstbasetransform.h:
15941         * libs/gst/base/gstcollectpads.h:
15942         * libs/gst/base/gstpushsrc.h:
15943         Fix broken GObject macros
15944
15945 2006-04-07  Wim Taymans  <wim@fluendo.com>
15946
15947         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15948         Initialize start and stop times, thanks valgrind.
15949
15950 2006-04-07  Wim Taymans  <wim@fluendo.com>
15951
15952         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15953         Be a bit nicer to badly behaving upstream elements that expect
15954         us to deal with non TIME segments and timestamps (such as fakesrc
15955         in the testsuite).
15956
15957 2006-04-07  Wim Taymans  <wim@fluendo.com>
15958
15959         * gst/gstbus.c:
15960         Small documentation clarification about the signal watch.
15961
15962         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
15963         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
15964         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
15965         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
15966         (gst_base_sink_get_position_last),
15967         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
15968         Convert and store timestamps in stream time and running time, the
15969         raw timestamps are not useful, also document this better.
15970         Use different window sizes for good and bad QoS observations so
15971         we react to badness a little quicker.
15972         Keep track of the amount of rendered and dropped buffers.
15973         Send QoS timestamps in running time.
15974
15975         * libs/gst/base/gstbasetransform.c:
15976         (gst_base_transform_sink_eventfunc),
15977         (gst_base_transform_handle_buffer):
15978         Compare QoS timestamps against running time.
15979
15980 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
15981
15982         * gst/gstpad.c:
15983           Typo fixes in docs.
15984
15985 2006-04-06  Michael Smith  <msmith@fluendo.com>
15986
15987         * gst/gstpad.c: (gst_pad_set_property):
15988           Use g_value_get_object() instead of g_value_dup_gst_object(),
15989           to avoid double-reffing the pad template (which we then sink,
15990           so this worked previously if (and only if) the pad template
15991           was floating.
15992
15993         * gst/gstpadtemplate.c: (gst_pad_template_init),
15994         (gst_pad_template_pad_created):
15995           Never return floating references to pad templates, create
15996           them as initially-sunken.
15997
15998           Document an extra function (and make this stop sinking our
15999           pad template, since that is now guaranteed to do nothing,
16000           since we created it sunken).
16001
16002         * gst/gstghostpad.c:
16003           Fix docs typo.
16004
16005 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
16006
16007         * gst/gstinfo.c: (__gst_in_valgrind):
16008           Add some newlines.
16009
16010         * plugins/elements/gsttypefindelement.c:
16011         (gst_type_find_element_chain):
16012           Don't leak buffer caps.
16013
16014 2006-04-06  Michael Smith  <msmith@fluendo.com>
16015
16016         * gst/parse/grammar.y:
16017           Fix a leak in parse-launch for any source-or-sink named element 
16018           references used.
16019
16020         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
16021           Unref the pipeline if it exists after we've failed parsing.
16022
16023 2006-04-05  Michael Smith  <msmith@fluendo.com>
16024
16025         * gst/gstpipeline.c: (gst_pipeline_init):
16026           When we create a pipeline bus, initially create it in flushing mode.
16027           Fixes leaks in at least one test, and makes a new pipeline work the
16028           same as one that has gone to READY and then back to NULL.
16029
16030         * gst/gstelement.c:
16031           Typo fix in docs.
16032
16033 2006-04-05  Michael Smith  <msmith@fluendo.com>
16034
16035         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
16036           Unref a pad we reffed.
16037         * tests/check/gst/gstutils.c: (GST_START_TEST):
16038           Unref bins
16039
16040 2006-04-05  Michael Smith  <msmith@fluendo.com>
16041
16042         * gst/gstquery.c: (gst_query_set_formats),
16043         (gst_query_set_formatsv):
16044           Fix leaking GValues in queries, as shown by valgrind/testsuite.
16045
16046 2006-04-05  Michael Smith  <msmith@fluendo.com>
16047
16048         * tests/check/generic/sinks.c: (GST_START_TEST):
16049           Fix a variety of memleaks in sinks check, which are only sometimes 
16050           shown by running the tests under valgrind (weird?).
16051
16052 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
16053
16054         * docs/version.entities.in:
16055           Fix the substituted entity name after thomas' changes on the
16056           weekend.
16057
16058 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
16059
16060         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
16061         VALGRIND_PRINTF
16062         
16063 2006-04-05  Andy Wingo  <wingo@pobox.com>
16064
16065         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
16066
16067         * libs/gst/base/gstbasetransform.c
16068         (gst_base_transform_sink_eventfunc): When resetting our segment on
16069         FLUSH_STOP, also update the flag saying we haven't seen a
16070         newsegment.
16071
16072 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
16073
16074         Patch by: Paolo Borelli  <pborelli at katamail dot com>
16075
16076         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
16077         (gst_plugin_check_license):
16078           minor clean-ups: G_DEFINE_TYPE already takes care of the
16079           parent_class stuff, no need to do it twice. Mark array of
16080           license strings as constant. (#337103)
16081           
16082 2006-04-04  Michael Smith  <msmith@fluendo.com>
16083
16084         * tools/gst-inspect.c: (print_element_list):
16085           Free the right plugin list; fixes a memory leak.
16086
16087 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
16088
16089         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
16090
16091         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
16092           Don't error out on empty buffers (#336945).
16093           
16094 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
16095
16096         * docs/libs/gstreamer-libs-sections.txt:
16097         * gst/gsttaglist.c:
16098         * libs/gst/base/gstbasesink.c:
16099         * libs/gst/base/gstbasesink.h:
16100         * libs/gst/base/gstbasesrc.c:
16101         * libs/gst/base/gstbasesrc.h:
16102           Documentation updates. Make BaseSink and BaseSrc docs contain the
16103           class structure so that people can actually see the prototypes for
16104           virtual functions they're supposed to be overriding.
16105
16106 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
16107
16108         * plugins/elements/gsttypefindelement.c:
16109         (gst_type_find_element_chain):
16110           More debug info; when skipping typefinding, send cached
16111           events in all cases.
16112
16113 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
16114
16115         * configure.ac:
16116           use new AS_VERSION and AS_NANO macros
16117         * gst/gst-i18n-lib.h:
16118         * gst/gst.c:
16119         * gst/gsterror.c:
16120         * gst/gstversion.h.in:
16121         * win32/common/config.h:
16122         * win32/common/config.h.in:
16123           update accordingly
16124
16125 2006-03-31  Michael Smith  <msmith@fluendo.com>
16126
16127         * plugins/elements/gsttypefindelement.c:
16128         (gst_type_find_element_chain):
16129           Do not typefind content if the buffers already have caps.
16130           Neccesary for icydemux (#333657), and the right thing to do anyway.
16131
16132 2006-03-30  Wim Taymans  <wim@fluendo.com>
16133
16134         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16135         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
16136         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
16137         (gst_base_sink_record_qos_observation),
16138         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16139         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
16140         (gst_base_sink_change_state):
16141         More QoS measurements as described in the design doc.
16142         Get rid of ringbuffer with observations, running average is
16143         more simple and equally good.
16144         Calculates valid proportion now.
16145         Added beginning of flood measurement.
16146
16147 2006-03-29  Wim Taymans  <wim@fluendo.com>
16148
16149         * docs/design/part-qos.txt:
16150         * gst/gstclock.c:
16151         Small documentation updates and additions.
16152
16153 2006-03-29  Wim Taymans  <wim@fluendo.com>
16154
16155         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
16156         (gst_base_src_send_event), (gst_base_src_loop),
16157         (gst_base_src_change_state):
16158         Perform the EOS logic when we reach the segment stop position.
16159         Fix compilation on gcc4.1
16160
16161 2006-03-29  Wim Taymans  <wim@fluendo.com>
16162
16163         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
16164
16165         * plugins/elements/gstqueue.c: (gst_queue_init),
16166         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
16167         (gst_queue_set_property):
16168         * plugins/elements/gstqueue.h:
16169         In queue, when EOS is received, if minimum threshold > max_size -
16170         current_level, there is chance that queue blocks forever in conditional
16171         item del wait. This is because the queue is not emptied completely due
16172         to minimum threshold.  Here is another approach. Instead of setting
16173         cur_levels to max in EOS, just zero all minimum threshold levels. This
16174         should make sure that queue gives out all data. When going to READY
16175         (stop) state, just reset the original minimum threshold levels.
16176         Fixes #336336.
16177
16178 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
16179
16180         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
16181         (gst_type_find_element_handle_event),
16182         (gst_type_find_element_send_cached_events),
16183         (gst_type_find_element_change_state):
16184         * plugins/elements/gsttypefindelement.h:
16185           When typefinding is done in push mode, we should cache
16186           events we receive during typefinding instead of just
16187           dropping them (e.g. newsegment, custom events from
16188           dvdreadsrc etc.) and then send them out once we've
16189           determined the type of the stream (and decodebin
16190           has had a chance to plug in a decoder/demuxer).
16191           
16192 2006-03-27  Wim Taymans  <wim@fluendo.com>
16193
16194         * docs/design/part-qos.txt:
16195         First QoS ideas.
16196
16197 2006-03-27  Wim Taymans  <wim@fluendo.com>
16198
16199         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
16200
16201         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
16202         (gst_base_src_send_event), (gst_base_src_change_state):
16203         Handle element seek correctly when we are streaming.
16204         Fixes #326998.
16205
16206 2006-03-24  Michael Smith  <msmith@fluendo.com>
16207
16208         * docs/faq/gst-uninstalled:
16209           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
16210           allow you to correctly run intalled applications built against old 
16211           core, using plugins that require updated core (e.g. running
16212           installed totem against a full uninstalled gstreamer stack)
16213
16214 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
16215
16216         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
16217         more debug details
16218
16219 2006-03-24  Wim Taymans  <wim@fluendo.com>
16220
16221         * docs/gst/gstreamer-sections.txt:
16222         Rearrange the order of the methods so that related methods
16223         are grouped together in sections.
16224
16225 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
16226
16227         * gst/gstelement.c:
16228           Little clarification in the docs
16229
16230 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
16231
16232         * docs/README:
16233         formatting fix
16234         * plugins/elements/gstidentity.c:
16235         * plugins/elements/gstqueue.c:
16236         * plugins/elements/gsttee.c:
16237         * plugins/elements/gsttypefindelement.c:
16238         GST_ELEMENT_DETAILS formatting
16239
16240 2006-03-24  Wim Taymans  <wim@fluendo.com>
16241
16242         * libs/gst/base/gstbasesink.h:
16243         Only add fields, not insert or we break ABI.
16244
16245 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
16246
16247         * win32/common/libgstbase.def:
16248         * win32/common/libgstreamer.def:
16249           Update, add recently added functions.
16250
16251 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
16252
16253         * docs/gst/gstreamer-sections.txt:
16254         * gst/gstutils.c: (gst_pad_query_peer_position),
16255         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
16256         * gst/gstutils.h:
16257           API: add some new utility functions:
16258            - gst_pad_query_peer_position()
16259            - gst_pad_query_peer_duration()
16260            - gst_pad_query_peer_convert()
16261           
16262 2006-03-23  Wim Taymans  <wim@fluendo.com>
16263
16264         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16265         (gst_base_sink_init), (gst_base_sink_finalize),
16266         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
16267         (gst_base_sink_set_property), (gst_base_sink_get_property),
16268         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
16269         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
16270         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
16271         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16272         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
16273         (gst_base_sink_preroll_object), (gst_base_sink_event),
16274         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
16275         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
16276         (gst_base_sink_query), (gst_base_sink_change_state):
16277         Decouple max-lateness and the fact that QoS messages are generated
16278         with a new property (qos).
16279         added API: GstBaseSink::async_play()
16280         Add vmethod so subclasses can be notified of ASYNC playing
16281         state changes.
16282         Collect timestamp start and stop to report better current
16283         position in EOS/PLAYING/PAUSED/READY/NULL.
16284         Refactor QoS/frame dropping and other measurements.
16285         API: GstBaseSrc::qos
16286         Fixes #326311
16287
16288         * libs/gst/base/gstbasesink.h:
16289         Added Private struct.
16290         API: gst_base_sink_set_qos_enabled()
16291         API: gst_base_sink_is_qos_enabled()
16292
16293 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
16294
16295         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
16296           If compiling against GLib-2.8 or newer, try to read the
16297           registry file using GMappedFile first before falling back
16298           to fopen() + fread() (#332151).
16299
16300 2006-03-22  Wim Taymans  <wim@fluendo.com>
16301
16302         * gst/gstinfo.c: (gst_debug_set_active),
16303         (gst_debug_category_set_threshold):
16304         Disable debugging unless explicitly activated.
16305         Fixes #335480.
16306
16307 2006-03-22  Wim Taymans  <wim@fluendo.com>
16308
16309         * gst/gstelement.c: (gst_element_set_locked_state),
16310         (gst_element_dispose):
16311         Cleanup the error case.
16312
16313         * gst/gstobject.c: (gst_object_dispose):
16314         print a critical when some object was disposed with
16315         a parent, also revive the object since it might
16316         crash the parent.
16317
16318 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
16319
16320         * tools/gst-launch.1.in:
16321           Fix another typo.
16322
16323 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
16324
16325         * configure.ac:
16326         * tests/check/Makefile.am:
16327           disable some tests when we don't have a registry
16328         * tests/check/gst/gstutils.c: (gst_utils_suite):
16329           don't build the part that needs parsing
16330
16331 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
16332
16333         * gst/Makefile.am
16334         * tests/examples/Makefile.am:
16335           fix --disable-parse build
16336
16337 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16338
16339         * tools/gst-feedback.1.in:
16340           Fix typo: s/feeback/feedback/ (#133494).
16341
16342 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16343
16344         * tools/Makefile.am:
16345         * tools/gst-launch.1.in:
16346           Add FILES section and correct entry about GST_REGISTRY_PATH
16347           environment variable (#133495; #133494).
16348
16349 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16350
16351         * tools/Makefile.am:
16352         * tools/gst-md5sum.1.in:
16353         * tools/gst-md5sum.c:
16354           Remove gst-md5sum and man page (the md5sink element
16355           required was removed ages ago)
16356
16357 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16358
16359         * gst/gststructure.c: (gst_structure_id_set_value):
16360           Make sure that string fields in structures/taglists
16361           contain valid UTF-8 - we don't want to pass rubbish to
16362           applications because of a buggy plugin (cp. #334167).
16363
16364 2006-03-21  Edward Hervey  <edward@fluendo.com>
16365
16366         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
16367         (gst_bin_handle_message_func):
16368         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
16369         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
16370         (gst_element_set_bus_func):
16371         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
16372         * gst/gstminiobject.c: (gst_value_set_mini_object),
16373         (gst_value_take_mini_object):
16374         * gst/gstpad.c: (gst_pad_set_pad_template):
16375         * gst/gstpipeline.c: (gst_pipeline_dispose),
16376         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
16377         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
16378         (gst_collect_pads_chain):
16379         * libs/gst/net/gstnettimeprovider.c:
16380         (gst_net_time_provider_set_property):
16381         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
16382         It's in fact all issues with gst_*object_replace().
16383
16384 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16385
16386         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
16387         
16388         * pkgconfig/gstreamer-check-uninstalled.pc.in:
16389         * pkgconfig/gstreamer-check.pc.in:
16390           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
16391
16392 2006-03-21  Edward Hervey  <edward@fluendo.com>
16393
16394         * gst/gstbuffer.h:
16395         * gst/gstevent.h:
16396         * gst/gstmessage.h:
16397         gst_[buffer|event|message]_ref() macros are replaced by a static
16398         inline functions because gcc-4.1 will about if the return value
16399         isn't used.
16400         * tests/check/gst/gstevent.c: (event_probe):
16401         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
16402
16403 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
16404
16405         * gst/gstutils.h:
16406         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
16407         the type' case. (Closes: #335195 for now). In the future, when we
16408         depend on GLib 2.10, we could also intern the type name using
16409         g_intern_static_string()
16410
16411 2006-03-20  Wim Taymans  <wim@fluendo.com>
16412
16413         * gst/gstbin.c: (gst_bin_handle_message_func),
16414         (bin_query_max_init), (bin_query_position_fold),
16415         (bin_query_position_done), (gst_bin_query):
16416         Position query should also take max of all streams.
16417
16418 2006-03-20  Wim Taymans  <wim@fluendo.com>
16419
16420         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
16421         (gst_fake_src_finalize):
16422         Fix leaks in fakesrc.
16423
16424         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
16425         Fix leaks in the testcase.
16426
16427 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
16428
16429         * gst/gst_private.h:
16430           add win32 specific import decoration(__declspec(dllimport)) 
16431           for all extern GstDebugCategory * variables
16432         * win32/common/libgstbase.def:
16433         * win32/common/libgstcontroller.def:
16434         * win32/common/libgstreamer.def:
16435           Add some exports, remove empty lines
16436         * win32/common/libgstdataprotocol.def:
16437         * win32/common/libgstdataprotocol.dsp:
16438         * win32/common/libgstnet.def:
16439         * win32/common/libgstnet.dsp:
16440           new project files and exportation files added
16441         
16442 2006-03-19  Wim Taymans  <wim@fluendo.com>
16443
16444         * tests/check/libs/basesrc.c: (eos_event_counter):
16445         Use proper return value for probe.
16446
16447 2006-03-17  Wim Taymans  <wim@fluendo.com>
16448
16449         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16450         (gst_pad_push):
16451         Don't leak buffers, caps and pads on negotiation errors.
16452
16453 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
16454
16455         * docs/faq/cvs.xml:
16456         * docs/faq/dependencies.xml:
16457         * docs/faq/developing.xml:
16458         * docs/faq/faq.xml:
16459         * docs/faq/general.xml:
16460         * docs/faq/getting.xml:
16461         * docs/faq/legal.xml:
16462         * docs/faq/troubleshooting.xml:
16463         * docs/faq/using.xml:
16464         Faq review and update.
16465
16466 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
16467
16468         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16469         (gst_pad_push):
16470         Don't pound the cpu to pieces by checking get_caps when accept_caps
16471         is called with the same caps as the pad already has.
16472         Use GST_DEBUG_OBJECT when outputting caps change information.
16473
16474 2006-03-15  Wim Taymans  <wim@fluendo.com>
16475
16476         * gst/gstclock.c: (gst_clock_class_init):
16477         Fix docs.
16478
16479 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
16480
16481         * gst/gstbuffer.h:
16482         Documentation fix.
16483
16484         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
16485         (gst_pad_accept_caps), (gst_pad_configure_sink),
16486         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
16487         Make the default acceptcaps behaviour be to check the requested 
16488         caps against the gst_pad_get_caps output. 
16489
16490         Ensure that gst_pad_accept_caps is used to check caps when a pad
16491         doesn't have a setcaps function, so that pads automatically refuse 
16492         caps that they don't allow in their pad template. (Fixes #332986)
16493
16494         When a buffer with attached caps is pushed, ensure that the source 
16495         pad receives those caps even if the element didn't call
16496         gst_pad_set_caps first.
16497
16498 2006-03-15  Wim Taymans  <wim@fluendo.com>
16499
16500         * libs/gst/base/gstadapter.c:
16501         Add some docs.
16502
16503 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
16504
16505         * win32/common/libgstbase.def:
16506         * win32/common/libgstcontroller.def:
16507         * win32/common/libgstreamer.def:
16508           Add a whole bunch of missing functions (#334434).
16509
16510 2006-03-14  Wim Taymans  <wim@fluendo.com>
16511
16512         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
16513         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
16514         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
16515         Better debug info when we receive a segment event.
16516         Reorganize a bit so we can pass the get_times() results around.
16517         Use the segment format when calculating the running time.
16518         Don't do QoS is sync is disabled or we have no clock or the
16519         element does not want us to sync to the clock.
16520         Don't drop buffers if QoS is disabled for now.
16521
16522 2006-03-14  Wim Taymans  <wim@fluendo.com>
16523
16524         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
16525         Marked the stats property as unimplemented so people don't get
16526         wild ideas.
16527         Add debug message when regression goes wrong.
16528         Added some more docs.
16529
16530 2006-03-14  Wim Taymans  <wim@fluendo.com>
16531
16532         * gst/gstsegment.c: (gst_segment_to_stream_time):
16533         Return correct return type in case of errors.
16534
16535 2006-03-14  Wim Taymans  <wim@fluendo.com>
16536
16537         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
16538           Don't segfault on invalid formats.
16539
16540 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
16541
16542         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
16543           Can't use gst_segment_to_running_time() when the segment
16544           is not in GST_TIME_FORMAT (like with filesink, for example).
16545           Stops flac encoding pipelines from spewing critical warnings
16546           at EOS (#331248).
16547           
16548 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
16549
16550         * gst/gstpipeline.c: (gst_pipeline_class_init):
16551           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
16552
16553         * plugins/elements/gsttypefindelement.c:
16554         (gst_type_find_element_handle_event):
16555           Don't try to typefind empty streams.
16556
16557 2006-03-14  Wim Taymans  <wim@fluendo.com>
16558
16559         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
16560         (gst_base_sink_do_qos):
16561         Separate QoS calculation.
16562         Only drop buffers when lateness is bigger than the 
16563         duration of the buffer.
16564
16565 2006-03-13  Wim Taymans  <wim@fluendo.com>
16566
16567         * gst/gstpipeline.c: (gst_pipeline_set_property),
16568         (gst_pipeline_get_property), (do_pipeline_seek),
16569         (gst_pipeline_change_state), (gst_pipeline_set_delay),
16570         (gst_pipeline_get_delay):
16571         Don't deadlock when reading properties.
16572
16573 2006-03-13  Wim Taymans  <wim@fluendo.com>
16574
16575         * libs/gst/base/gstbasetransform.c:
16576         (gst_base_transform_class_init), (gst_base_transform_init),
16577         (gst_base_transform_sink_event),
16578         (gst_base_transform_sink_eventfunc),
16579         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
16580         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
16581         (gst_base_transform_set_property),
16582         (gst_base_transform_get_property),
16583         (gst_base_transform_change_state), (gst_base_transform_update_qos),
16584         (gst_base_transform_set_qos_enabled),
16585         (gst_base_transform_is_qos_enabled):
16586         * libs/gst/base/gstbasetransform.h:
16587         Make basetransform virtual method for src events too.
16588         Handle QOS in basetransform.
16589         API: gst_base_transform_update_qos()
16590         API: gst_base_transform_set_qos_enabled()
16591         API: gst_base_transform_is_qos_enabled()
16592
16593 2006-03-13  Wim Taymans  <wim@fluendo.com>
16594
16595         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16596         (gst_base_sink_do_sync):
16597         Small cleanups.
16598         Use QOS debug category.
16599
16600 2006-03-13  Wim Taymans  <wim@fluendo.com>
16601
16602         * plugins/elements/gstqueue.c:
16603         Very small doc update.
16604
16605 2006-03-13  Wim Taymans  <wim@fluendo.com>
16606
16607         * gst/gst_private.h:
16608         * gst/gstinfo.c: (_gst_debug_init):
16609         Added QOS debug category
16610
16611 2006-03-13  Wim Taymans  <wim@fluendo.com>
16612
16613         * docs/gst/gstreamer-sections.txt:
16614         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
16615         * gst/gstbin.h:
16616         * gst/gstbus.c: (gst_bus_class_init):
16617         * gst/gstbus.h:
16618         * gst/gstclock.c:
16619         * gst/gstelement.c: (gst_element_set_locked_state):
16620         * gst/gstsegment.c:
16621         Documentation updates.
16622
16623         * gst/gstpipeline.c: (gst_pipeline_get_type),
16624         (gst_pipeline_class_init), (gst_pipeline_init),
16625         (gst_pipeline_dispose), (gst_pipeline_set_property),
16626         (gst_pipeline_get_property), (do_pipeline_seek),
16627         (gst_pipeline_send_event), (gst_pipeline_change_state),
16628         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
16629         (gst_pipeline_get_delay):
16630         * gst/gstpipeline.h:
16631         Added methods for setting the delay.
16632         API: gst_pipeline_set_delay()
16633         API: gst_pipeline_get_delay()
16634         Add pipeline debug category
16635         Various cleanups.
16636         Updated docs.
16637         Don't reset stream time when seek failed.
16638
16639 2006-03-13  Wim Taymans  <wim@fluendo.com>
16640
16641         * docs/design/draft-klass.txt:
16642         * docs/design/part-clocks.txt:
16643         * docs/design/part-events.txt:
16644         * docs/design/part-gstbin.txt:
16645         * docs/design/part-gstpipeline.txt:
16646         * docs/design/part-messages.txt:
16647         * docs/design/part-negotiation.txt:
16648         * docs/design/part-overview.txt:
16649         * docs/design/part-preroll.txt:
16650         * docs/design/part-seeking.txt:
16651         * docs/design/part-states.txt:
16652         * docs/design/part-streams.txt:
16653         Documentation updates.
16654
16655 2006-03-12  Julien MOUTTE  <julien@moutte.net>
16656
16657         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
16658         us to leak strings...
16659
16660 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16661
16662         * libs/gst/net/gstnettimeprovider.c:
16663           fix docs
16664         * win32/common/config.h:
16665           update
16666
16667 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
16668
16669         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
16670
16671         * configure.ac:
16672           Don't check for libgnomeui (leftover from old examples
16673           that aren't built or disted any longer) (#334303).
16674           
16675 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
16676
16677         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
16678         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
16679           Emit RESOURCE_NO_SPACE_LEFT error here as well when
16680           there's no space left on the device.
16681
16682 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
16683
16684         * gst/gstclock.h:
16685           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
16686           to cast the input to GstClockTime before comparing with
16687           another GstClockTime value.
16688
16689 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16690
16691         * configure.ac:
16692           back to trunk
16693
16694 === release 0.10.4 ===
16695
16696 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
16697
16698         * configure.ac:
16699           releasing 0.10.4, "Light"
16700
16701 2006-03-10  Michael Smith  <msmith@fluendo.com>
16702
16703         * libs/gst/dataprotocol/dataprotocol.c:
16704           Fix docs for dataprocotol to not get the return types completely
16705           wrong for a few functions.
16706
16707 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16708
16709         * docs/gst/gstreamer-sections.txt:
16710         * gst/gstpipeline.c: (gst_pipeline_class_init),
16711         (gst_pipeline_init), (gst_pipeline_set_property),
16712         (gst_pipeline_get_property), (gst_pipeline_change_state),
16713         (gst_pipeline_set_auto_flush_bus),
16714         (gst_pipeline_get_auto_flush_bus):
16715         * gst/gstpipeline.h:
16716           Add new API: gst_pipeline_set_auto_flush_bus() and
16717           gst_pipeline_get_auto_flush_bus() to disable automatic
16718           flushing of the pipeline's GstBus when going from READY
16719           to NULL state (#332045).
16720
16721 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16722
16723         * docs/gst/gstreamer-sections.txt:
16724         * gst/gsturi.c: (gst_uri_has_protocol):
16725         * gst/gsturi.h:
16726            Add new API: gst_uri_has_protocol() (#333779).
16727
16728 2006-03-09  Wim Taymans  <wim@fluendo.com>
16729
16730         * gst/gstclock.c: (gst_clock_entry_new),
16731         (gst_clock_id_compare_func), (gst_clock_id_wait),
16732         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
16733         (gst_clock_init), (gst_clock_get_internal_time),
16734         (gst_clock_set_master), (do_linear_regression),
16735         (gst_clock_add_observation), (gst_clock_set_property):
16736         * gst/gstclock.h:
16737         Review docs.
16738         Small cleanups.
16739         Fix a possible segfault when the window-size is made smaller.
16740         Calculate jitter before performing the clock wait. Ideally
16741         the clock implementation should calculate jitter but we need
16742         API breakage for that.
16743
16744         * gst/gstsystemclock.c: (gst_system_clock_init):
16745         Docs review.
16746         
16747         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16748         Remove leftover else
16749
16750         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
16751         (gst_systemclock_suite):
16752         Added check to test GST_CLOCK_DIFF.
16753
16754 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16755
16756         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
16757         (gst_type_find_helper_get_range):
16758           If we are provided with the size, we should implement
16759           GstTypeFind::get_length, so that typefind functions who
16760           want to can actually peek at the middle of a file.
16761
16762 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
16763
16764         * docs/manual/advanced-dataaccess.xml:
16765           Add some very very basic error checking.
16766
16767         * docs/pwg/appendix-checklist.xml:
16768           Some updates to the list of things to check when writing an element.
16769
16770 2006-03-08  Wim Taymans  <wim@fluendo.com>
16771
16772         * docs/design/part-element-transform.txt:
16773         Added some docs about the design of tranform elements.
16774
16775         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
16776         (gst_base_src_loop), (gst_base_src_change_state):
16777         Mark buffers with the DISCONT flag.
16778
16779 2006-03-08  Michael Smith  <msmith@fluendo.com>
16780
16781         * gst/gstregistry.h:
16782         * gst/gstregistryxml.c: (gst_registry_save),
16783         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
16784         (gst_registry_xml_save_pad_template),
16785         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
16786         (gst_registry_xml_write_cache):
16787           Rewrite registry-saving to avoid race conditions and check for
16788           failed writes.
16789
16790 2006-03-08  Wim Taymans  <wim@fluendo.com>
16791
16792         * libs/gst/base/gstbasetransform.c:
16793         (gst_base_transform_transform_caps),
16794         (gst_base_transform_transform_size),
16795         (gst_base_transform_prepare_output_buffer),
16796         (gst_base_transform_get_unit_size),
16797         (gst_base_transform_buffer_alloc),
16798         (gst_base_transform_handle_buffer),
16799         (gst_base_transform_change_state):
16800         Cleanups, separate normal flow from errors, add sensible
16801         DEBUG lines.
16802         Don't try to renegotiate when allocating an output buffer.
16803         Also copy DISCONT buffer flag when copying a buffer.
16804         Reset the transform after we finish streaming, not during.
16805
16806 2006-03-08  Wim Taymans  <wim@fluendo.com>
16807
16808         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16809         Use last buffer timestamp in qos message.
16810
16811 2006-03-07  Wim Taymans  <wim@fluendo.com>
16812
16813         Patch by: Christophe Fergeau
16814
16815         * docs/pwg/advanced-tagging.xml:
16816         * docs/pwg/building-pads.xml:
16817           fixes #333416
16818
16819 2006-03-07  Wim Taymans  <wim@fluendo.com>
16820
16821         * docs/libs/gstreamer-libs-sections.txt:
16822         Added basesink new methods.
16823
16824         * gst/gstevent.c:
16825         * gst/gstevent.h:
16826         Docs updates. Flesh out the QoS docs.
16827
16828         * libs/gst/base/gstadapter.c:
16829         Small doc clarification about ownership and flushing.
16830
16831         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
16832         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
16833         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
16834         (gst_base_sink_get_property), (gst_base_sink_do_sync):
16835         * libs/gst/base/gstbasesink.h:
16836         API additions: 
16837         Added new methods to allow subclass to control max-lateness 
16838         and sync.
16839         Generate very basic QoS events based on last sync observation.
16840         Updated docs, fix typo, added some QoS blurb.
16841
16842         * libs/gst/base/gstbasesrc.c:
16843         Remove obsolete _get_state() calls from docs.
16844
16845 2006-03-07  Wim Taymans  <wim@fluendo.com>
16846
16847         * docs/libs/gstreamer-libs-sections.txt:
16848         * libs/gst/base/gstbasetransform.h:
16849         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
16850         Fix docs for GstBaseSrc.
16851
16852 2006-03-07  Wim Taymans  <wim@fluendo.com>
16853
16854         * docs/gst/gstreamer-sections.txt:
16855         * gst/gstbuffer.h:
16856         * gst/gstvalue.c:
16857         * libs/gst/base/gstbasetransform.h:
16858         Small documentation fixes.
16859
16860 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
16861
16862         * gst/gstvalue.c:
16863           Document thread-unsafety of gst_value_register_foo_func()
16864           when used at the same time as gst_value_foo() (#322628).
16865
16866 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
16867
16868         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
16869         (gst_push_src_check_get_range):
16870           Push sources don't support pull mode by default.
16871
16872 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
16873
16874         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
16875         (gst_base_src_init), (gst_base_src_pad_check_get_range),
16876         (gst_base_src_default_check_get_range):
16877         * libs/gst/base/gstbasesrc.h:
16878           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
16879           provide default implementation, and rename
16880           gst_base_src_check_get_range() to
16881           gst_base_src_pad_check_get_range() for clarity.
16882
16883 2006-03-06  Wim Taymans  <wim@fluendo.com>
16884
16885         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
16886         Make property overridable.
16887
16888 2006-03-06  Wim Taymans  <wim@fluendo.com>
16889
16890         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16891         (gst_base_sink_init), (gst_base_sink_set_property),
16892         (gst_base_sink_get_property), (gst_base_sink_do_sync):
16893         * libs/gst/base/gstbasesink.h:
16894         API addition: Make max-lateness a property.
16895
16896 2006-03-06  Wim Taymans  <wim@fluendo.com>
16897
16898         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
16899         (gst_base_sink_do_sync), (gst_base_sink_render_object):
16900         Don't ever draw a frame that is >10ms late.
16901
16902 2006-03-06  Michael Smith  <msmith@fluendo.com>
16903
16904         * gst/gstmessage.c: (_gst_message_copy):
16905           When copying a message, set the parent_refcount of the enclosed
16906           structure to point at the copy, not the original message.
16907
16908 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
16909
16910         Patch by: Christophe Fergeau
16911
16912         * gst/gstutils.h:
16913           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
16914           usable in c++ code (#333417)
16915
16916 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16917
16918         * gst/gstclock.h:
16919           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
16920
16921 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
16922
16923         * libs/gst/base/gstbasetransform.c:
16924         (gst_base_transform_transform_caps):
16925           Make sure caps are writable before passing them to
16926           gst_caps_append().
16927
16928 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
16929
16930         * gst/gsterror.h:
16931           Fix some minor docs errors.
16932
16933 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
16934
16935           Patch by: Ross Burton <ross at burtonini dot com>
16936
16937         * gst/gsterror.c: (_gst_resource_errors_init):
16938         * gst/gsterror.h:
16939           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
16940
16941 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
16942
16943         * gst/gst.c:
16944         Add a check and output a g_warning when GStreamer is built
16945         against GLib 2.6 but running against 2.8 or higher, and vice 
16946         versa. (Closes: #323542)
16947
16948 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
16949
16950         * gst/parse/parse.l:
16951           Commit patch for parse_launch syntax from #331255. Removes 
16952           support for quoted strings and mimetypes when writing filtered 
16953           caps. See the bug report for more details - I'm pretty sure this
16954           obscure feature is not in use by _anyone_ anywhere.
16955
16956           With this simple change, the size of the gstreamer.so here 
16957           drops from 2193KB to 1565KB.
16958
16959 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
16960
16961         * plugins/elements/gsttypefindelement.h:
16962         * plugins/elements/gsttypefindelement.c:
16963         (gst_type_find_element_src_event), (start_typefinding),
16964         (stop_typefinding), (gst_type_find_element_handle_event),
16965         (gst_type_find_element_chain),
16966         (gst_type_find_element_chain_do_typefinding):
16967           Use gst_type_find_helper_for_buffer() for chain-based
16968           typefinding.
16969
16970 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
16971
16972         * plugins/elements/gsttypefindelement.c:
16973         (gst_type_find_element_class_init),
16974         (gst_type_find_element_set_property),
16975         (gst_type_find_element_get_property):
16976           Deprecate "maximum" property (not only was it only taken into
16977           account for typefinding in push-mode anyway, it also was never
16978           actually possible to set it in the first place because the
16979           property was registered with the numeric property ID for the
16980           "minimum" property). Register "maximum" property correctly,
16981           for the sake of future copy'n'pasters. Remove some cruft
16982           from property get/set functions.
16983
16984 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
16985
16986         * plugins/elements/gsttypefindelement.c:
16987         (gst_type_find_element_activate):
16988           Use gst_type_find_helper_get_range() here, so we
16989           can honour the "minimum" property and also emit
16990           the signal with the correct probability of the found caps.
16991
16992 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
16993
16994         * docs/libs/gstreamer-libs-sections.txt:
16995         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
16996         (helper_find_suggest), (gst_type_find_helper_get_range),
16997         (gst_type_find_helper):
16998         * libs/gst/base/gsttypefindhelper.h:
16999           New API: gst_type_find_helper_get_range() (#333042).
17000
17001 2006-03-02  Michael Smith  <msmith@fluendo.com>
17002
17003         * gst/gstregistryxml.c: (load_feature):
17004           Asserting on a failure to read part of the registry is Not Cool.
17005           Just log a warning and return NULL (which is already handled)
17006
17007 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
17008
17009         * win32/common/libgstbase.def:
17010           added export of gst_type_find_helper_for_buffer
17011         * win32/common/libgstbase.def:
17012           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
17013           gst_ghost_pad_get_target
17014
17015 2006-02-28  Wim Taymans  <wim@fluendo.com>
17016
17017         * docs/design/draft-klass.txt:
17018         We use Filter now.
17019         Added Connector to mark elements that are only used to
17020         allow pipeline connections.
17021         Moved Debug to extra feature since most of them are 
17022         functionally something else.
17023
17024 2006-02-28  Wim Taymans  <wim@fluendo.com>
17025
17026         * docs/design/draft-klass.txt:
17027         Some updates and clarifications.
17028
17029 2006-02-28  Wim Taymans  <wim@fluendo.com>
17030
17031         * docs/design/draft-klass.txt:
17032         Proposal for klass field values.
17033
17034         * docs/design/part-streams.txt:
17035         Start of a doc describing stream anatomy.
17036
17037 2006-02-28  Wim Taymans  <wim@fluendo.com>
17038
17039         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
17040         Help the compiler a bit with type registration.
17041         Use existing forward cod path instead of duplicating it when 
17042         handling a message.
17043         
17044         * gst/gstbus.c: (gst_bus_get_type):
17045         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
17046         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
17047         * gst/gstclock.c: (gst_clock_get_type):
17048         * gst/gstelement.c: (gst_element_get_type),
17049         * gst/gstelementfactory.c: (gst_element_factory_get_type):
17050         * gst/gstindexfactory.c: (gst_index_factory_get_type):
17051         * gst/gstminiobject.c: (gst_mini_object_get_type):
17052         * gst/gstpad.c: (gst_pad_get_type):
17053         * gst/gstsegment.c: (gst_segment_get_type):
17054         * gst/gststructure.c: (gst_structure_get_type):
17055         * gst/gstsystemclock.c: (gst_system_clock_get_type):
17056         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
17057         * gst/gstvalue.c:
17058         Help compiler with type registration.
17059
17060         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
17061         Small doc update.
17062
17063 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17064
17065         * plugins/elements/gsttypefindelement.c:
17066         (gst_type_find_element_handle_event):
17067           When we get an EOS event and have not found a type yet
17068           (most likely because we had not yet accumulated
17069           TYPE_FIND_MIN_SIZE of data yet), try to determine the
17070           type given the data we have so far. Fixes typefinding
17071           for very short streams again, most notably quicktime
17072           redirections as used on Apple's trailer site (#331701).
17073
17074 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17075
17076         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
17077         (gst_type_find_helper):
17078           Try typefinding factories with the highest rank first.
17079
17080 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17081
17082         * docs/libs/gstreamer-libs-docs.sgml:
17083         * docs/libs/gstreamer-libs-sections.txt:
17084         * libs/gst/base/gsttypefindhelper.c:
17085           Add section for typefind helper and add documentation
17086           for the old and the new function.
17087
17088 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17089
17090         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
17091         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
17092         (gst_type_find_helper_for_buffer):
17093         * libs/gst/base/gsttypefindhelper.h:
17094           New API: gst_type_find_helper_for_buffer() (#332723).
17095           
17096 2006-02-27  Michael Smith  <msmith@fluendo.com>
17097
17098         Patch by: Loïc Minier
17099
17100         * configure.ac:
17101         * docs/Makefile.am:
17102         * docs/slides/Makefile.am:
17103           prevent CVS directories getting disted.
17104
17105 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17106
17107         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
17108           Use the REFCOUNTING category for caps refcounting.
17109           
17110 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
17111
17112         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
17113           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
17114
17115 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
17116
17117         * plugins/elements/gsttypefindelement.c:
17118         (gst_type_find_element_activate):
17119           Use gst_pad_check_pull_range() before _activate_pull()
17120           to avoid unnecessary open/close (see #331690).
17121
17122 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
17123
17124         * gst/gstutils.c:
17125           Docs enhancement: make it crystal clear what the
17126           gst_pad_add_*_probe() callbacks should look like.
17127
17128 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
17129
17130         * libs/gst/base/gstbasesrc.c:
17131           Document how applications can stop recording from
17132           live sources (see #330996).
17133
17134 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17135
17136         * tests/check/Makefile.am:
17137         * tests/check/libs/basesrc.c: (eos_event_counter),
17138         (basesrc_eos_events_pull), (basesrc_eos_events_push),
17139         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
17140         (gst_basesrc_suite), (main):
17141           ... and add some tests for the base source EOS stuff.
17142
17143 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17144
17145         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
17146           Test case originally showed the problem fixed below,
17147           but was then amended. Add checks back at the place
17148           where they used to be.
17149
17150 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17151
17152         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
17153         (gst_base_src_init), (gst_base_src_loop),
17154         (gst_base_src_activate_push), (gst_base_src_activate_pull),
17155         (gst_base_src_change_state):
17156         * libs/gst/base/gstbasesrc.h:
17157           Don't unconditionally send EOS when going from PAUSED to
17158           READY state, esp. make sure we don't send two EOS events
17159           in some cases (e.g. one when reaching EOS and one when
17160           going from PAUSED to READY). Also, we don't want to send
17161           EOS events when operating in pull mode. However, we do
17162           want to send an EOS event when shutting down a live
17163           source explicitly, for example (fixes #330996).
17164           
17165 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17166
17167         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
17168           Update src->read_position after a seek when not using mmap.
17169           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
17170
17171 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
17172
17173         * gst/Makefile.am:
17174         * gst/gstparse.h:
17175         * gst/gstutils.c:
17176         * gst/gstutils.h:
17177         Make things work with --disable-parse as they do with 
17178         --disable-load-save - the symbols involved disappear, but the
17179         header is still installed and GST_DISABLE_PARSE is included via
17180         gstconfig.h
17181
17182 2006-02-20  Julien MOUTTE  <julien@moutte.net>
17183
17184         * libs/gst/base/gstbasetransform.c:
17185         (gst_base_transform_change_state): Fix a stupid bug. I was 
17186         sure I compiled that.
17187
17188 2006-02-20  Julien MOUTTE  <julien@moutte.net>
17189
17190         * gst/gstpad.c: (gst_pad_set_blocked_async):
17191         * gst/gstutils.c: (gst_pad_add_data_probe),
17192         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
17193         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
17194         (gst_pad_remove_buffer_probe): Make those function act on the
17195         ghostpad target when it's a ghostpad. (Closes #331727)
17196
17197 2006-02-20  Julien MOUTTE  <julien@moutte.net>
17198
17199         * libs/gst/base/gstbasetransform.c:
17200         (gst_base_transform_change_state): Make basetransform reusable.
17201         (Closes #331898)
17202
17203 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
17204
17205         * docs/random/release:
17206         Move the current documentation of how to do a release to the top
17207         of the file.
17208
17209         * gst/gstbin.c: (gst_bin_class_init),
17210         (gst_bin_handle_message_func):
17211         Allow multiple state-recalculation threads. (Closes #328873)
17212
17213 2006-02-19  Julien MOUTTE  <julien@moutte.net>
17214
17215         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
17216         * gst/gstpad.c: (gst_pad_set_event_function),
17217         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
17218         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
17219         2 strings. You can't use the STR_NULL macro on that.
17220
17221 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
17222
17223         * gst/gstpad.c: (gst_pad_set_event_function),
17224         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
17225         (gst_pad_set_getcaps_function)
17226         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
17227           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
17228           So now, we can use --gst-debug-level=5 on Windows
17229         * win32/common/libgstcontroller.def:
17230           Added export of gst_controller_init
17231         * win32/vs6/libgstcontroller.dsp:
17232           Fixed Release post build configuration
17233
17234 2006-02-17  Wim Taymans  <wim@fluendo.com>
17235
17236         * tests/check/gst/gstquery.c: (GST_START_TEST):
17237         Added another check.
17238
17239 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
17240
17241         * plugins/elements/gsttypefindelement.c: (find_peek):
17242           We can do peeks at non-zero offsets, as long as they
17243           fall within the buffer we have.
17244
17245 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
17246
17247         * tests/check/Makefile.am:
17248         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
17249         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
17250         (parse_suite), (main):
17251           Add testsuite for parse launch syntax
17252
17253 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
17254
17255         * plugins/elements/gsttypefindelement.c:
17256         (gst_type_find_element_chain):
17257           When typefinding is unsuccessful in the chain function, don't
17258           error out immediately. Only error out with NO_CAPS_FOUND if
17259           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
17260           otherwise simply wait for more data so we can try typefinding
17261           again with more data later. Also, don't attempt to typefind
17262           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
17263           this should improve typefinding from network sources where the
17264           size of the first buffer can be somewhat random.
17265
17266 2006-02-14  Wim Taymans  <wim@fluendo.com>
17267
17268         * docs/gst/gstreamer-sections.txt:
17269         * gst/gstpadtemplate.c:
17270         * gst/gstpadtemplate.h:
17271         Fix padtemplate docs, fixes #328805.
17272
17273 2006-02-14  Wim Taymans  <wim@fluendo.com>
17274
17275         * tools/gst-launch.c: (main):
17276         NO_PREROLL is not an ERROR so don't send confusing messages
17277         to the user.
17278
17279 2006-02-14  Wim Taymans  <wim@fluendo.com>
17280
17281         Patch by: Torsten Schoenfeld
17282
17283         * gst/gstregistry.c: (gst_registry_get_default),
17284         (_gst_registry_cleanup):
17285         Protect default registry with lock and ref/sink it.
17286         Fixes #324818
17287
17288 2006-02-14  Wim Taymans  <wim@fluendo.com>
17289
17290         * gst/gstbuffer.c:
17291         * gst/gstquery.c: (gst_query_list_add_format),
17292         (gst_query_set_formatsv), (gst_query_parse_formats_length),
17293         (gst_query_parse_formats_nth):
17294         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
17295         Docs fixes.
17296
17297 2006-02-14  Wim Taymans  <wim@fluendo.com>
17298
17299         * docs/gst/gstreamer-sections.txt:
17300         Reworked query docs.
17301
17302         * gst/gstquery.c: (gst_query_new_formats),
17303         (gst_query_list_add_format), (gst_query_set_formats),
17304         (gst_query_set_formatsv), (gst_query_parse_formats_length),
17305         (gst_query_parse_formats_nth):
17306         * gst/gstquery.h:
17307         Flesh out formats query, added some new methods.
17308         Fix part of #324398.
17309
17310         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
17311         Added query creation tests.
17312
17313 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
17314
17315         * gst/gstpad.c: (fixate_value):
17316         Add a default fixation for fraction lists.
17317
17318 2006-02-13  Wim Taymans  <wim@fluendo.com>
17319
17320         * gst/gsttask.c: (gst_task_init), (gst_task_func),
17321         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
17322         (gst_task_join):
17323         * gst/gsttask.h:
17324         Detect and warn for obvious deadlocks. fixes #320340
17325         Fix error case where lock was not released.
17326
17327         * tests/check/Makefile.am:
17328         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
17329         (task_func), (gst_element_suite), (main):
17330         Add task check.
17331
17332 2006-02-13  Wim Taymans  <wim@fluendo.com>
17333
17334         * docs/gst/gstreamer-sections.txt:
17335         * gst/gstbus.c:
17336         Add new functions to docs.
17337
17338 2006-02-13  Wim Taymans  <wim@fluendo.com>
17339
17340         * docs/design/part-TODO.txt:
17341         Updated TODO list, basesrc supports seeking to non-bytes
17342         formats.
17343
17344         * docs/design/part-element-sink.txt:
17345         Update docs.
17346
17347         * gst/gstbin.c: (bin_replace_message),
17348         (gst_bin_handle_message_func):
17349         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
17350         * gst/gstevent.c: (gst_event_finalize):
17351         * gst/gstpad.c: (gst_pad_event_default_dispatch),
17352         (gst_pad_send_event):
17353         Use shiny new _TYPE_NAME macros.
17354
17355         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17356         Move debug statement up.
17357
17358         * gst/gstelement.c: (gst_element_set_locked_state):
17359         Add some debugging.
17360
17361 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
17362
17363         * docs/gst/gstreamer-sections.txt:
17364         * gst/gstmessage.h:
17365         * gst/gstquery.h:
17366           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
17367           macros (#330906). Also, document the already existing
17368           GST_QUERY_TYPE macro.
17369
17370 2006-02-13  Wim Taymans  <wim@fluendo.com>
17371
17372         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
17373         (event_probe), (GST_START_TEST):
17374         Only events up to the pipeline EOS are counted, there are
17375         some more when going to NULL currently which we don't care
17376         about for now.
17377
17378 2006-02-13  Wim Taymans  <wim@fluendo.com>
17379
17380         * gst/gstpad.c: (gst_pad_send_event):
17381         Correctly check flushing and emit probes. fixes #330125
17382
17383 2006-02-10  Andy Wingo  <wingo@pobox.com>
17384
17385         * gst/gstbus.c (gst_bus_class_init): Declare our private data
17386         structure.
17387         (gst_bus_init): Cache the location of the private data in the
17388         instance structure.
17389         (gst_bus_enable_sync_message_emission) 
17390         (gst_bus_disable_sync_message_emission): Implement new public
17391         functions.
17392         (gst_bus_post): Emit the sync-message signal if the user asked for
17393         it. Fixes #330684.
17394
17395         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
17396         location of the bus-private structure.
17397         (gst_bus_enable_sync_message_emission)
17398         (gst_bus_disable_sync_message_emission): API addition
17399
17400 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
17401
17402         Patch by: Vincent Torri
17403
17404         * docs/pwg/building-boiler.xml:
17405         PWG patch from #326800
17406
17407 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
17408
17409         * configure.ac:
17410         * docs/Makefile.am:
17411         * docs/design/Makefile.am:
17412           Dist design docs.
17413
17414 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
17415
17416         * configure.ac:
17417           back to CVS
17418
17419 === release 0.10.3 ===
17420
17421 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
17422
17423         * configure.ac:
17424           releasing 0.10.3, "Like a virgin"
17425
17426 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
17427
17428         * configure.ac:
17429           2nd prerelease of 0.10.3
17430           Bump libtool versioning.
17431
17432 2006-02-07  Andy Wingo  <wingo@pobox.com>
17433
17434         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
17435         update last_stop if we're in TIME format and the timestamp is
17436         valid.
17437
17438         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
17439         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
17440         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
17441         If we get a new newsegment with a different format, adapt
17442         accordingly.
17443
17444         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
17445         of 0. Not a problem, really.
17446
17447         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
17448         warn if sync=true.
17449
17450 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
17451
17452         * configure.ac:
17453           Prelease of 0.10.3
17454
17455 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
17456
17457         * win32/vs7:
17458           project files updated to the default vs7 configuration
17459         * win32/common/libgstbase.def:
17460         * win32/common/libgstreamer.def:
17461           added new symbols,
17462           removed empty lines,
17463           sorted all exported symbols alphabetically
17464         * win32/common/dirent.c:
17465         * win32/common/dirent.h:
17466         * win32/common/gchar.h:
17467           use windows line end.
17468           
17469 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
17470
17471         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
17472           Send EOS event when stopping.
17473
17474 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
17475
17476         * docs/README:
17477           Tell folks what to do if the plugin-foobar.xml file
17478           hasn't been generated for a newly-added plugin.
17479
17480 2006-02-05  Julien MOUTTE  <julien@moutte.net>
17481
17482         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
17483         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
17484         (gst_collect_pads_start), (gst_collect_pads_stop),
17485         (gst_collect_pads_event): Collectpads now holds a reference
17486         to the GstPad that was added. Indeed we don't want to look
17487         at pads that might just go away with no warning...
17488
17489 2006-02-05  Julien MOUTTE  <julien@moutte.net>
17490
17491         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
17492         (gst_collect_pads_start), (gst_collect_pads_stop),
17493         (gst_collect_pads_event), (gst_collect_pads_chain):
17494         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
17495         Mark Nauwelaerts's patch on bug #328491.
17496
17497 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
17498
17499         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
17500         (gst_utils_suite):
17501           Add some simple tests for gst_parse_bin_from_description() and
17502           gst_bin_find_unconnected_pad() (#329069).
17503
17504 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
17505
17506         * tools/gst-launch.c: (event_loop), (main):
17507           Catch errors during preroll (#320084).
17508
17509 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
17510
17511         * plugins/elements/gsttypefindelement.c:
17512         (gst_type_find_element_activate):
17513           Post TYPE_NOT_FOUND error message when typefinding
17514           is unsuccessful in the activate function as well.
17515
17516 2006-02-02  Wim Taymans  <wim@fluendo.com>
17517
17518         * docs/design/part-element-sink.txt:
17519         Updated doc.
17520
17521 2006-02-02  Wim Taymans  <wim@fluendo.com>
17522
17523         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
17524         (gst_base_sink_render_object),
17525         (gst_base_sink_queue_object_unlocked):
17526         Only keep track of prerollable items when we are 
17527         prerolling.
17528         Before rendering after preroll, always check if we
17529         have queued items.
17530         Added some more debugging.
17531
17532 2006-02-02  Wim Taymans  <wim@fluendo.com>
17533
17534         * gst/gstelement.c: (gst_element_continue_state),
17535         (gst_element_set_state_func), (gst_element_change_state):
17536         Fixed #326576, been running this for quite some time with
17537         no regressions at all.
17538
17539 2006-02-02  Wim Taymans  <wim@fluendo.com>
17540
17541         * common/gst.supp:
17542         Added more suppressions
17543
17544 2006-02-02  Wim Taymans  <wim@fluendo.com>
17545
17546         * docs/design/part-element-sink.txt:
17547         Updated document.
17548
17549         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17550         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
17551         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
17552         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
17553         (gst_base_sink_do_sync), (gst_base_sink_render_object),
17554         (gst_base_sink_preroll_object),
17555         (gst_base_sink_queue_object_unlocked),
17556         (gst_base_sink_queue_object), (gst_base_sink_event),
17557         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
17558         (gst_base_sink_loop), (gst_base_sink_activate_pull),
17559         (gst_base_sink_get_position), (gst_base_sink_change_state):
17560         * libs/gst/base/gstbasesink.h:
17561         Totally refactored matching the design doc.
17562         Use two segments, one to clip incomming buffers and another to
17563         perform sync.
17564         Handle queueing correctly, bypass the queue when playing.
17565         Make EOS cancelable.
17566         Handle errors correctly when operating in pull based mode.
17567
17568         * tests/check/elements/fakesink.c: (GST_START_TEST),
17569         (fakesink_suite):
17570         Added new check for sinks.
17571
17572 2006-02-02  Wim Taymans  <wim@fluendo.com>
17573
17574         * gst/gstsegment.c: (gst_segment_clip):
17575         No reason to refuse to clip when start == -1
17576
17577 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
17578
17579         * docs/README:
17580         * docs/manual/intro-basics.xml:
17581         * docs/manual/intro-preface.xml:
17582         * docs/manual/manual.xml:
17583         * docs/pwg/advanced-dparams.xml:
17584         * docs/pwg/intro-basics.xml:
17585         * docs/pwg/intro-preface.xml:
17586         * docs/pwg/pwg.xml:
17587           describe dparams (controller) for plugins
17588           unify docs a little more
17589
17590 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
17591
17592         * docs/gst/gstreamer-sections.txt:
17593         * gst/gstutils.c: (element_find_unconnected_pad),
17594         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
17595         * gst/gstutils.h:
17596           Add new API: gst_parse_bin_from_description() and
17597           gst_bin_find_unconnected_pad() (#329069).
17598
17599 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
17600
17601         * docs/manual/README:
17602           uncover a nasty detail of the docs build
17603
17604 2006-01-31  Wim Taymans  <wim@fluendo.com>
17605
17606         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
17607         Don't cache duration messages if we're not going to use or
17608         free them.
17609
17610 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
17611
17612         * docs/manual/advanced-dparams.xml:
17613         * docs/pwg/advanced-dparams.xml:
17614           more dparam docs
17615         * gst/gstindex.c:
17616           fix docs
17617         * libs/gst/controller/lib.c: (gst_controller_init):
17618           init just once
17619
17620 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
17621
17622         * gst/gstelement.c: (gst_element_message_full):
17623           also show file/line/func if no additional debug was given
17624
17625 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
17626         
17627         * win32/vs7/grammar.vcproj:
17628           activate copy of autogenerated files for Release mode
17629
17630 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
17631         
17632         * win32/common/libgstreamer.def:
17633           export gst_value_compare
17634
17635 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
17636
17637         * plugins/elements/Makefile.am:
17638         * plugins/elements/gstelements.c:
17639         * plugins/elements/gstfdsink.c: (_do_init),
17640         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
17641         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
17642         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
17643         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
17644         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
17645         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
17646         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
17647         * plugins/elements/gstfdsink.h:
17648         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
17649
17650 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
17651
17652         * docs/manual/advanced-dparams.xml:
17653           describe controller
17654         * docs/manual/advanced-position.xml:
17655         * docs/manual/basics-init.xml:
17656         * docs/manual/manual.xml:
17657         * docs/manual/titlepage.xml:
17658         * docs/pwg/pwg.xml:
17659         * docs/pwg/titlepage.xml:
17660           cleanup xml (more to come)
17661         * libs/gst/controller/gstcontroller.c:
17662           fix typo
17663
17664 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
17665         
17666         * win32/vs6/grammar.dsp:
17667           add autogen of gstmarshal.c,h for Release mode
17668                 
17669 2006-01-30  Wim Taymans  <wim@fluendo.com>
17670
17671         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17672         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
17673         (gst_base_sink_handle_object), (gst_base_sink_event),
17674         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
17675         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
17676         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
17677         (gst_base_sink_deactivate), (gst_base_sink_activate),
17678         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
17679         (gst_base_sink_query), (gst_base_sink_change_state):
17680         Basesink cleanups, remove some old code.
17681         Handle the case where a subclass can preroll in the render
17682         method (mostly audiosinks).
17683         Handle more events.
17684         Remove some locks around variables that are now protected
17685         with the PREROLL_LOCK (clock_id, flushing, ..).
17686         Optimize position query some more, do correct locking.
17687         Remove old code to push queue in state change, this is not
17688         needed anymore since preroll blocks on all prerollable items 
17689         now.
17690         Almost implemented as described in design doc.
17691
17692 2006-01-30  Wim Taymans  <wim@fluendo.com>
17693
17694         * tests/check/gst/gstbin.c: (GST_START_TEST):
17695         Wait for refcount to settle down before checking.
17696
17697 2006-01-30  Wim Taymans  <wim@fluendo.com>
17698
17699         * docs/design/part-element-sink.txt:
17700         Pseudo code overview of desired sink behaviour regarding
17701         preroll.
17702
17703 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17704         * win32/vs6/grammar.dsp:
17705           fix some bugs in Release mode for autogenerated files
17706                 
17707 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17708         * win32/common/libgstbase.def:
17709         * win32/common/libgstreamer.def:
17710           export some new symbols: gst_base_src_set_format,
17711           gst_iterator_next, gst_structure_set_valist
17712
17713 2006-01-29  Julien MOUTTE  <julien@moutte.net>
17714
17715         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
17716         Set pad functions unconditionally. Fixes #329105.
17717
17718 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17719         * win32/vs8:
17720           add vs8 project files created by Sergey Scobich
17721
17722 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
17723
17724         * gst/gstutils.c: (gst_element_unlink_pads):
17725         Don't leak pad references.
17726
17727         * tests/check/elements/fakesink.c: (GST_START_TEST):
17728         * tests/check/generic/sinks.c: (GST_START_TEST):
17729         * tests/check/generic/states.c: (GST_START_TEST):
17730         * tests/check/gst/gstbin.c: (GST_START_TEST):
17731         * tests/check/gst/gstcaps.c: (GST_START_TEST):
17732         * tests/check/gst/gstelement.c: (GST_START_TEST):
17733         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
17734         * tests/check/gst/gstiterator.c: (GST_START_TEST):
17735         * tests/check/gst/gstvalue.c: (GST_START_TEST):
17736         Fix a bunch of leaks. Make generic/sinks.c
17737         use a bit less cpu by slowing the buffer rate
17738         between fakesrc and fakesink.
17739         
17740 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
17741         * gst/gstcaps.c:
17742         * gst/gstelement.c: (gst_element_send_event):
17743         * gst/gstevent.c:
17744         * gst/gstinfo.c:
17745         * gst/gstiterator.c:
17746         * gst/gstiterator.h:
17747         * gst/gstpad.c: (gst_pad_send_event):
17748         * gst/gststructure.c:
17749         * gst/gsturi.c:
17750         * gst/gstutils.c:
17751         * gst/gstvalue.c:
17752         * libs/gst/base/gstadapter.c:
17753           doc fixes, to link to function, just write gst_cool_function(), don't
17754           prefix with '#'
17755
17756 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
17757
17758         * plugins/elements/gsttee.c: (gst_tee_do_push),
17759         (gst_tee_handle_buffer):
17760         Always prefer an actual return value from a src
17761         pad in place of NOT_LINKED. This means we return
17762         WRONG_STATE when all src pads are WRONG_STATE
17763         instead of NOT_LINKED.
17764
17765         Lock when replacing the last message to prevent
17766         racing with the get_property method.
17767
17768         Add debug output
17769
17770 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
17771
17772         * tests/check/Makefile.am:
17773         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
17774         (main):
17775         Add a very simple check that should have caught the memleak I fixed
17776         last night (if not for the slice allocator hiding it)
17777
17778 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
17779
17780         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
17781         (gst_bin_remove_func), (gst_bin_handle_message_func),
17782         (bin_query_duration_fold), (bin_query_generic_fold):
17783         Clean up references to the clock provider when disposed or when
17784         handling a clock-lost message from it.
17785
17786         Unref sinks when performing a query via gst_iterator_fold, as the
17787         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
17788
17789         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
17790         (gst_clock_set_master):
17791         Drop our reference to the master clock, if any, when we are disposed.
17792
17793         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
17794         Chain up in dispose. 
17795
17796 2006-01-26  Wim Taymans  <wim@fluendo.com>
17797
17798         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17799         Add some debugging.
17800
17801 2006-01-26  Julien MOUTTE  <julien@moutte.net>
17802
17803         * plugins/elements/gsttee.c: (gst_tee_do_push),
17804         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
17805         handles pad being NOT_LINKED or in WRONG_STATE.
17806
17807 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
17808
17809         * win32/MANIFEST:
17810           more updating
17811
17812 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
17813
17814         * win32/MANIFEST:
17815           remove obsolete entry
17816
17817 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
17818
17819         * docs/gst/gstreamer-sections.txt:
17820         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
17821         (gst_bin_iterate_sources), (gst_bin_send_event):
17822         * gst/gstbin.h:
17823         * gst/gstelement.c: (gst_element_send_event):
17824         * gst/gstevent.c:
17825         * gst/gstpad.c: (gst_pad_send_event):
17826           added code for downstream events, reviewed docs in gstevent.c
17827
17828 2006-01-25  Julien MOUTTE  <julien@moutte.net>
17829
17830         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
17831         We only query position using the clock in the playing state.
17832         Query peer in the other cases.
17833         * win32/common/config.h: Updates.
17834
17835 2006-01-24  Wim Taymans  <wim@fluendo.com>
17836
17837         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
17838         A clock entry that is scheduled for the exact time of the
17839         clock is still in time.
17840
17841         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17842         (gst_base_sink_do_sync):
17843         Add some more debug info.
17844
17845 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
17846
17847         * win32/vs7:
17848           Add new vs7 project files and solution.
17849
17850 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
17851
17852         * win32/vs7:
17853           all files removed as they were out-dated.
17854
17855 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17856
17857         * docs/random/release:
17858           update notes
17859         * gst/gstbin.c: (gst_bin_init):
17860         * gst/gstbus.c: (gst_bus_new):
17861         * gst/gstbus.h:
17862         * gst/gstpipeline.c: (gst_pipeline_init):
17863           use gst_bus_new(), improve logging, fix docs
17864         * win32/common/config.h:
17865           update for cvs build
17866
17867 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17868
17869         * autogen.sh:
17870           up required version of automake to 1.7
17871
17872 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
17873
17874         * win32/common/libgstreamer.def:
17875           export gst_buffer_is_metadata_writable
17876
17877 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
17878
17879         * docs/gst/gstreamer-sections.txt:
17880         * gst/gstevent.h:
17881           Add gst_event_replace() (#327001)
17882
17883 2006-01-20  Wim Taymans  <wim@fluendo.com>
17884
17885         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
17886         Make it actually compile too..
17887
17888 2006-01-20  Wim Taymans  <wim@fluendo.com>
17889
17890         * gst/gstcaps.c:
17891         Clarify behaviour of _is_equal() when passing NULL parameters.
17892
17893         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
17894         (gst_pad_set_caps):
17895         Cleanups. Don't unref NULL caps.
17896         When setting the same caps, protect caps of the pad with
17897         proper lock.
17898         Use full functionality of _is_equal() when comparing caps.
17899
17900 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
17901
17902         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
17903         Don't loop infinitely if there are no buffers to present. Partially
17904         fixes #327197, but collectpads is just broken for reusing elements
17905         to do multiple encodes atm.
17906
17907 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
17908
17909         * tools/gst-inspect.c: (print_element_features):
17910         * tools/gst-xmlinspect.c: (main):
17911         URL_HANDLER is not a plugin feature we can search for in
17912         the registry.
17913
17914 2006-01-19  Edward Hervey  <edward@fluendo.com>
17915
17916         * gst/gstelement.c: (gst_element_pads_activate): 
17917         When activating, do src pads first, then sink pads.
17918         When de-activating, do sink pads first, then src pads.
17919
17920 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17921
17922         * docs/gst/gstreamer-sections.txt:
17923         Add gst_index_add_associationv to the docs
17924
17925 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17926
17927         * gst/gstevent.c:
17928           Fix docs typo
17929
17930         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
17931         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
17932           Do some refactoring. Doesn't actually change functionality,
17933           but makes landing the DRAIN event easier later.
17934
17935 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
17936
17937         * docs/pwg/advanced-scheduling.xml:
17938           Update from 0.9.x to 0.10 API and make example a bit
17939           clearer.
17940
17941 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17942
17943         * docs/gst/gstreamer-sections.txt:
17944         Add gst_buffer_(is|make)_metadata_writable methods.
17945
17946 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17947
17948         * docs/design/part-sparsestreams.txt:
17949         Update sparse streams doc, hopefully for greater clarity
17950
17951 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
17952
17953         * docs/design/part-events.txt:
17954         Remove mention of FILLER events.
17955         Add DRAIN event.
17956
17957         * docs/design/part-sparsestreams.txt:
17958         Write some things about using NEWSEGMENT to keep sparse streams
17959         flowing.
17960
17961 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
17962
17963         * gst/gstbin.c: (gst_bin_dispose):
17964           Guard gst_object_unref call against a NULL object (dispose
17965           can theoretically be called multiple times).
17966           
17967 2006-01-18  Wim Taymans  <wim@fluendo.com>
17968
17969         * gst/gstbin.c: (gst_bin_element_set_state):
17970         * gst/gstclock.c: (gst_clock_id_wait):
17971         Added some more debug info.
17972
17973         * libs/gst/base/gstadapter.c:
17974         Added more docs.
17975
17976         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17977         (gst_base_sink_do_sync), (gst_base_sink_chain):
17978         Added some comments.
17979
17980 2006-01-18  Wim Taymans  <wim@fluendo.com>
17981
17982         * tests/check/Makefile.am:
17983         * tests/check/elements/fakesink.c: (chain_async_buffer),
17984         (chain_async), (chain_async_return), (GST_START_TEST),
17985         (fakesink_suite), (main):
17986         Added fakesink test that checks prerolling and clipping
17987         behaviour.
17988
17989         * tests/check/gst/gstutils.c: (GST_START_TEST):
17990         Make check run faster so that buildbots don't timeout.
17991
17992 2006-01-18  Wim Taymans  <wim@fluendo.com>
17993
17994         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17995         (gst_base_sink_do_sync):
17996         Some cleanups.
17997         When the sink finishes blocking on the preroll buffer, it can
17998         immediatly render it instead of rendering when the next buffer
17999         arrives.
18000
18001 2006-01-18  Wim Taymans  <wim@fluendo.com>
18002
18003         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
18004         (gst_base_sink_get_property), (gst_base_sink_do_sync),
18005         (gst_base_sink_chain):
18006         Small cleanups.
18007         GST_ELEMENT_CLOCK and sync are protected with LOCK.
18008         Don't store _last_stop if the buffer is dropped.
18009
18010 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
18011
18012         * plugins/elements/gsttypefindelement.c:
18013         (gst_type_find_element_class_init):
18014           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
18015           object method handler that sets the caps on the pad and we want
18016           that to happen before we emit the signal (fixes e.g. feeding a
18017           plain text file to decodebin).
18018
18019 2006-01-18  Christian Schaller  <Christian@fluendo.com>
18020
18021         * gst/gstplugin.c: Add MPL and Proprietary as license options
18022
18023 2006-01-18  Andy Wingo  <wingo@pobox.com>
18024
18025         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
18026         symbol was exported before, it appears this was just an oversight.
18027         Fixes #168703.
18028         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
18029
18030         * gst/gstindex.c (gst_index_add_associationv): Changed int in
18031         prototype to gint. OK since this prototype was not in the header.
18032
18033 2006-01-17  Andy Wingo  <wingo@pobox.com>
18034
18035         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
18036         registry while we remove plugins.
18037
18038         * tools/gst-inspect.c (print_element_info): Don't unref the
18039         factory arg, that should be the responsibility of whatever code
18040         received the ref. Fixes a double-free when called from
18041         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
18042         (main): Unref the factory if we have one.
18043         (print_element_list): No change -- relies on the
18044         plugin_feature_list_free to free the list of features.
18045
18046 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
18047
18048         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
18049         (gst_buffer_make_metadata_writable):
18050         * gst/gstbuffer.h:
18051         * libs/gst/base/gstbasetransform.c:
18052         (gst_base_transform_prepare_output_buf):
18053         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18054         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
18055           Replace gst_buffer_(make|is)_metadata_writable patch now
18056           that the release is out.
18057
18058 2006-01-17  Andy Wingo  <wingo@pobox.com>
18059
18060         * gst/gstregistry.c: Reflow design comment. Update so as to speak
18061         in the present tense without reference to versions.
18062
18063         * gst/gstregistry.c (gst_registry_add_plugin)
18064         (gst_registry_remove_plugin, gst_registry_remove_feature)
18065         (gst_registry_find_feature, gst_registry_get_feature_list)
18066         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
18067         (gst_registry_lookup, gst_registry_scan_path)
18068         (_gst_registry_remove_cache_plugins)
18069         (gst_registry_get_feature_list_by_plugin): Add argument
18070         validation.
18071
18072 === release 0.10.2 ===
18073
18074 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
18075
18076         * configure.ac:
18077           releasing 0.10.2, "If man is five"
18078
18079 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
18080
18081         * gst/gstbuffer.c:
18082         * gst/gstbuffer.h:
18083         * libs/gst/base/gstbasetransform.c:
18084         (gst_base_transform_prepare_output_buf):
18085         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18086         * tests/check/gst/gstbuffer.c: (gst_test_suite):
18087           Back out patch until after the release.
18088
18089 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
18090
18091         * gst/gstminiobject.c:
18092           Spelling fix in docs.
18093         * ChangeLog - remove conflict indicator
18094
18095 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
18096
18097         Reviewed By: Andy Wingo
18098
18099         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
18100         (gst_buffer_make_metadata_writable):
18101         * gst/gstbuffer.h:
18102           Add gst_buffer_(is|make)_metadata_writable as analogues of
18103           gst_buffer_(is|make)_writable.
18104
18105         * libs/gst/base/gstbasetransform.c:
18106         (gst_base_transform_prepare_output_buf):
18107         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18108           Use name gst_buffer_(is|make)_metadata_writable functions.
18109
18110         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
18111           Test gst_buffer_(is|make)_metadata_writable
18112         
18113           (Closes: #324162)
18114
18115 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
18116
18117         * docs/manual/Makefile.am:
18118           don't do parallel make
18119         * configure.ac:
18120           AC_SUBST HOST_CPU
18121         * win32/common/config.h.in:
18122           add generations for HOST_CPU and GST_MAJORMINOR
18123         * win32/common/config.h:
18124           commit generated result
18125
18126 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
18127
18128         * docs/manual/appendix-integration.xml:
18129           Update GNOME integration section to use gst_init_get_option_group()
18130           instead of the old popt stuff (#322911). Also, GNOME applications
18131           should  now use gconf*sink and gconf*src instead of the old gconf
18132           helper lib we had.
18133
18134 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
18135
18136
18137         * docs/gst/gstreamer-docs.sgml:
18138         * docs/gst/gstreamer-sections.txt:
18139         * docs/libs/gstreamer-libs-sections.txt:
18140           add new API entries to the docs
18141         * libs/gst/controller/Makefile.am:
18142         * libs/gst/controller/gstcontroller.c:
18143         * libs/gst/controller/gstcontroller.h:
18144         * libs/gst/controller/gstcontrollerprivate.h:
18145         * libs/gst/controller/gsthelper.c:
18146         * libs/gst/controller/gstinterpolation.c:
18147           move private structs to private header
18148         * po/README:
18149           gstreamer-0.7 -> gstreamer-0.10
18150         * tests/check/libs/struct_i386.h:
18151           remove private structs
18152
18153 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
18154
18155         * plugins/indexers/Makefile.am:
18156           Fixes as part of #317048
18157
18158 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
18159
18160         * plugins/indexers/Makefile.am:
18161           fix #316086 - compilation when mmap is missing
18162
18163 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
18164
18165         * libs/gst/base/gstbasesink.c:
18166           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
18167           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
18168         * win32/common/config.h:
18169           added some defines GST_MAJORMINOR and HOST_CPU
18170         * win32/common/libgstbase.def:
18171         * win32/common/libgstreamer.def:
18172           added some exported functions.
18173
18174 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
18175
18176         * libs/gst/controller/gstcontroller.c:
18177         (gst_controlled_property_set_interpolation_mode),
18178         (gst_controlled_property_new):
18179         * libs/gst/controller/gstcontroller.h:
18180         * libs/gst/controller/gstinterpolation.c:
18181         (interpolate_none_get_string_value_array):
18182           make G_TYPE_STRING controlable
18183
18184 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
18185
18186         * tools/README:
18187         * tools/gst-feedback.1.in:
18188         * tools/gst-inspect.1.in:
18189         * tools/gst-launch.1.in:
18190         * tools/gst-md5sum.1.in:
18191         * tools/gst-typefind.1.in:
18192         * tools/gst-xmlinspect.1.in:
18193         * tools/gst-xmllaunch.1.in:
18194           cleanup man-pages, remove reference to gst-register, document env-vars
18195
18196 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
18197
18198         * gst/gstbuffer.c: (gst_buffer_span):
18199           gst_buffer_span should copy the timestamp of the first buffer
18200           if they were both originally overlapping subbuffers of the 
18201           same parent, using the same logic as the 'slow copy' case.
18202
18203 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
18204
18205         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
18206           Need to awaken ALL the pads when we pop a buffer, otherwise
18207           collectpads only works when there is 2 input streams.
18208
18209 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
18210
18211         * docs/random/ensonic/media-device-daemon.txt:
18212           more ideas (dbus)
18213         * gst/gstbuffer.c:
18214           fix doc example, add clarification
18215         * tools/gst-launch.1.in:
18216           add initial info about GST_PLUGIN_PATH, needs more work
18217
18218 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
18219
18220         * docs/manual/basics-bins.xml:
18221         * docs/manual/basics-elements.xml:
18222         * docs/manual/intro-basics.xml:
18223           Some more minor docs additions and updates.
18224
18225 2006-01-11  Wim Taymans  <wim@fluendo.com>
18226
18227         * docs/manual/basics-bins.xml:
18228         * docs/manual/basics-elements.xml:
18229         Some small fixes as pointed out by Ser-ver on IRC.
18230
18231 2006-01-10  Edward Hervey  <edward@fluendo.com>
18232
18233         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
18234         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
18235         the single-segment mode.
18236
18237 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
18238
18239         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
18240
18241         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
18242         (gst_base_src_perform_seek), (gst_base_src_send_event),
18243         (gst_base_src_set_property), (gst_base_src_get_property),
18244         (gst_base_src_loop), (gst_base_src_start),
18245         (gst_base_src_activate_push):
18246         * libs/gst/base/gstbasesrc.h:
18247           Name (private) union; makes Sun's Forte compiler happy (#324900).
18248
18249 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
18250
18251         * README:
18252           gst-register is gone.
18253
18254 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
18255
18256         * gst/gstvalue.c: (_gst_value_initialize):
18257           make the G_TYPE_DATE instantiation work if debug is disabled
18258
18259 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
18260
18261         * gst/gstmessage.c: (gst_message_parse_tag),
18262         (gst_message_parse_error), (gst_message_parse_warning):
18263           Don't crash when return location for error/warning debug
18264           string is NULL; add fact that return locations can be
18265           NULL to docs where appropriate.
18266
18267 2006-01-05  Wim Taymans  <wim@fluendo.com>
18268
18269         * gst/gstplugin.c: (gst_plugin_load_file):
18270         Replace strdup by g_strdup.
18271
18272 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18273
18274         * docs/pwg/advanced-types.xml:
18275           fix doc borkage
18276
18277 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18278
18279         submitted by: Abel Cheung
18280
18281         * po/LINGUAS:
18282         * po/zh_TW.po:
18283           Added Chinese (traditional) translation
18284
18285 2006-01-04  Wim Taymans  <wim@fluendo.com>
18286
18287         * docs/manual/basics-pads.xml:
18288         * docs/plugins/Makefile.am:
18289         * docs/plugins/gstreamer-plugins-docs.sgml:
18290         * docs/plugins/gstreamer-plugins-sections.txt:
18291         * docs/pwg/advanced-clock.xml:
18292         * docs/pwg/advanced-scheduling.xml:
18293         * docs/pwg/advanced-types.xml:
18294         * plugins/elements/gstfdsink.c:
18295         * plugins/elements/gstfdsrc.c:
18296         * plugins/elements/gstfdsrc.h:
18297         * plugins/elements/gstidentity.c: (gst_identity_class_init):
18298         * plugins/elements/gstidentity.h:
18299         * plugins/elements/gstqueue.h:
18300         * plugins/elements/gsttee.c:
18301         * plugins/elements/gsttee.h:
18302         * plugins/elements/gsttypefindelement.c:
18303         (gst_type_find_element_class_init):
18304         * plugins/elements/gsttypefindelement.h:
18305         Small updates to various docs.
18306         Added core plugins to docs.
18307
18308 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18309
18310         * common/gst.supp:
18311           add a suppression for liboil's uninitialized variable
18312
18313 2006-01-02  James Livingston  <jrl at ids dot org dot au>
18314
18315         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
18316
18317         * gst/gstutils.h:
18318           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
18319           macro, so that gcc doesn't complain if the -Wmissing-prototypes
18320           compiler switch is being used (#325429).
18321
18322 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
18323
18324         * gst/gstbin.c: (gst_bin_query):
18325           Disable duration query caching in bins until it gets
18326           fixed (see #324807).
18327
18328 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
18329
18330         * tools/gst-inspect.c: (print_element_properties_info):
18331           Handle properties of POINTER and BOXED type.
18332
18333 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
18334
18335         * gst/gst.c: (init_post):
18336           Init tags stuff and some other things before loading
18337           any static plugins (there may be other static plugins
18338           than just the GStreamer ones, and they may want to
18339           register their own tags or formats or whatever, and
18340           preferably without segfaulting).
18341
18342         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
18343           Print at least a warning in the debug logs if we drop a
18344           query just because we don't know how to adjust the value
18345           in the particular format.
18346
18347 2005-12-24  David Schleef  <ds@schleef.org>
18348
18349         * tools/gstreamer-completion:
18350           Replacement for gst-complete written in sh and sed.  Only
18351           completes names of features, but that's 90% of what I want
18352           it for.  Properties are not available in registry.xml.  (Maybe
18353           they should be...)
18354
18355 === release 0.10.1 ===
18356
18357 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
18358
18359         * configure.ac:
18360           releasing 0.10.1, "Nollaig chridheil"
18361
18362 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
18363
18364         * docs/faq/cvs.xml:
18365           Add missing quote, should be make ERROR_CFLAGS="".
18366
18367 2005-12-20  Wim Taymans  <wim@fluendo.com>
18368
18369         * docs/design/part-trickmodes.txt:
18370         More documentation on trickmodes.
18371
18372 2005-12-20  Edward Hervey  <edward@fluendo.com>
18373
18374         * gst/gstcaps.c: (gst_static_caps_get_type):
18375         * gst/gstcaps.h:
18376           API addition: GST_TYPE_STATIC_CAPS
18377         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
18378         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
18379         * gst/gstpadtemplate.h:
18380           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
18381         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
18382         bindings.
18383
18384 2005-12-18  Wim Taymans  <wim@fluendo.com>
18385
18386         * libs/gst/base/gstadapter.c:
18387         * libs/gst/base/gstadapter.h:
18388         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
18389         (gst_base_sink_get_position):
18390         * libs/gst/base/gstbasesink.h:
18391         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18392         (gst_base_src_default_query), (gst_base_src_default_do_seek),
18393         (gst_base_src_do_seek), (gst_base_src_perform_seek),
18394         (gst_base_src_send_event), (gst_base_src_update_length),
18395         (gst_base_src_get_range), (gst_base_src_loop),
18396         (gst_base_src_start):
18397         * libs/gst/base/gstbasesrc.h:
18398         * libs/gst/base/gstbasetransform.h:
18399         * libs/gst/base/gstcollectpads.h:
18400         * libs/gst/base/gstpushsrc.c:
18401         * libs/gst/base/gstpushsrc.h:
18402         * libs/gst/dataprotocol/dataprotocol.c:
18403         * libs/gst/dataprotocol/dataprotocol.h:
18404         * libs/gst/net/gstnetclientclock.h:
18405         * libs/gst/net/gstnettimeprovider.h:
18406         Documentation updates.
18407
18408 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
18409
18410         * docs/manual/basics-helloworld.xml:
18411           Remove superfluous closing bracket in helloworld example.
18412
18413 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
18414
18415         * tools/gst-launch.1.in:
18416           Update gst-launch man page; add a section with useful
18417           environment variables. Fixes #323882.
18418
18419 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
18420
18421         * gst/gst.c:
18422         * gst/gst_private.h:
18423           change some char* into char[]
18424
18425 2005-12-16  Wim Taymans  <wim@fluendo.com>
18426
18427         * gst/gstregistryxml.c: (load_feature):
18428         Cleanups.
18429         Don't use g_object_unref on GstObjects so that we avoid
18430         leaks on unsafe glibs.
18431
18432 2005-12-16  Wim Taymans  <wim@fluendo.com>
18433
18434         * gst/gstbin.c: (gst_bin_recalc_state):
18435         Small doc updates.
18436
18437 2005-12-16  Wim Taymans  <wim@fluendo.com>
18438
18439         * common/check.mak:
18440         Added make forever target for check.
18441
18442 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18443
18444         * gst/gst.c: (init_post):
18445           make the registry cache file HOST_CPU-dependent
18446
18447 2005-12-16  Andy Wingo  <wingo@pobox.com>
18448
18449         * plugins/elements/gstbufferstore.c
18450         (gst_buffer_store_cleared_func): Pay attention to g_list_append
18451         return value.
18452
18453         * tests/check/gst/gstobject.c
18454         (test_fake_object_name_threaded_unique): Pay attention to
18455         g_list_sort return value.
18456
18457 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
18458
18459         * tools/gst-feedback-m.m:
18460           Update for 0.9/0.10 (fixes #323870).
18461
18462 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
18463
18464         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
18465           Fix lcopy for mini objects, the mini object needs to be ref'ed.
18466           
18467         * tests/check/gst/gstminiobject.c: (my_foo_init),
18468         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
18469         (test_value_collection), (gst_mini_object_suite):
18470           Add test to ensure refcounts end up as expected when passing
18471           GstMiniObjects through g_object_get() and g_object_set().
18472
18473 2005-12-14  Julien MOUTTE  <julien@moutte.net>
18474
18475         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
18476         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
18477         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
18478         of collectpads. This version removes a lot of races without
18479         touching API/ABI. Yay !
18480
18481 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
18482
18483         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
18484           Don't allow activation of a srcpad in pull_range if it has no
18485           getrange function.
18486           Change some debug statements to be a little clearer
18487
18488         * plugins/elements/gsttypefindelement.c:
18489         (gst_type_find_handle_src_query):
18490           Check that we have a peer before executing queries thereupon.
18491
18492         * tests/examples/metadata/read-metadata.c: (message_loop):
18493           Use gst_bus_pop instead of gst_bus_poll when we just want it to
18494           immediately return us any available message with 0 timeout.
18495
18496 2005-12-12  Michael Smith  <msmith@fluendo.com>
18497
18498         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
18499           Don't unref factories after calling them.
18500         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
18501         * plugins/elements/gsttypefindelement.c:
18502         (gst_type_find_element_chain):
18503           Free lists of factories after using them. Fixing typefinding memory
18504           leaks.
18505
18506 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18507
18508         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
18509         (gst_plugin_feature_load):
18510           more meaningful debug output
18511         * configure.ac:
18512         * tests/Makefile.am:
18513         * tests/old/examples/Makefile.am:
18514           make make distcheck happy again
18515
18516 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
18517
18518         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
18519           Catch the special case where we are operating chain-based,
18520           but the downstream peer pad has no chain function. Emit a
18521           custom error message in this case instead of letting the
18522           core generate one implying that this is some sort of core
18523           bug. It's not, it just means that whatever got plugged
18524           into the pipeline downstream when we announced the type
18525           can only operate pull-based, while our source can only
18526           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
18527           Error string has not been marked for translation yet, as
18528           it probably needs some more work first.
18529
18530         (gst_type_find_element_get_best_possibility):
18531           Add helper function to find the best of all available
18532           found possibilities that qualify given the min. threshold.
18533
18534         (gst_type_find_element_handle_event):
18535           Fix the case where we get an EOS while still in TYPEFIND
18536           mode (we want to chose the best of all possible types,
18537           not just the first type that happens to be in our unsorted
18538           list of possible types).
18539
18540         (gst_type_find_element_chain):
18541           Make sure we return GST_FLOW_ERROR when we errored out
18542           in stop_typefinding(); also, don't just find the best of
18543           all found type entries and then use the last examined
18544           type entry, but actually use the best entry.
18545
18546 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
18547
18548         * tests/examples/typefind/typefind.c: (type_found):
18549         * tests/examples/xml/runxml.c: (xml_loaded):
18550           More gcc4 fixes and a mem leak fix.
18551
18552 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18553
18554         * tests/examples/xml/createxml.c: (object_saved):
18555           gcc 4 fixes
18556
18557 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18558
18559         * tests/Makefile.am:
18560           enable the examples even more
18561
18562 2005-12-12  Andy Wingo  <wingo@pobox.com>
18563
18564         * libs/gst/net/gstnettimeprovider.c
18565         (gst_net_time_provider_class_init, gst_net_time_provider_init)
18566         (gst_net_time_provider_set_property)
18567         (gst_net_time_provider_get_property):
18568         API addition: Export "active" as a GObject property.
18569         (gst_net_time_provider_thread): Only respond to time queries if
18570         the time provider is active.
18571
18572         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
18573         NetTimeProvider, preserving binary compat.
18574
18575 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18576
18577         * tests/examples/controller/audio-example.c: (main):
18578         * tests/examples/launch/Makefile.am:
18579           convert comments again
18580
18581 2005-12-12  Wim Taymans  <wim@fluendo.com>
18582
18583         * libs/gst/base/gstpushsrc.c:
18584         Fix typo.
18585
18586 2005-12-12  Wim Taymans  <wim@fluendo.com>
18587
18588         * docs/libs/gstreamer-libs-sections.txt:
18589         Added new symbol to docs.
18590
18591         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18592         (gst_base_src_init), (gst_base_src_set_format),
18593         (gst_base_src_default_query), (gst_base_src_query),
18594         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
18595         (gst_base_src_perform_seek), (gst_base_src_send_event),
18596         (gst_base_src_default_event), (gst_base_src_event_handler),
18597         (gst_base_src_set_property), (gst_base_src_get_property),
18598         (gst_base_src_wait), (gst_base_src_do_sync),
18599         (gst_base_src_update_length), (gst_base_src_get_range),
18600         (gst_base_src_check_get_range), (gst_base_src_loop),
18601         (gst_base_src_default_negotiate), (gst_base_src_start),
18602         (gst_base_src_activate_push), (gst_base_src_activate_pull),
18603         (gst_base_src_change_state):
18604         * libs/gst/base/gstbasesrc.h:
18605         Implement seeking to other formats than _BYTES.
18606         Implement more seeking methods correctly.
18607         Doc updates.
18608         Added query vmethod.
18609         Added do_seek vmethod to make life easier for subclasses
18610         when seeking.
18611         API addition: gst_base_src_set_format()
18612
18613 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18614
18615         * tests/examples/Makefile.am:
18616           added that too
18617
18618 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18619
18620         * configure.ac:
18621         * docs/random/ensonic/media-device-daemon.txt:
18622         * tests/examples/controller/.cvsignore:
18623         * tests/examples/controller/Makefile.am:
18624         * tests/examples/controller/audio-example.c: (main):
18625         * tests/examples/helloworld/.cvsignore:
18626         * tests/examples/helloworld/Makefile.am:
18627         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
18628         * tests/examples/launch/.cvsignore:
18629         * tests/examples/launch/Makefile.am:
18630         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
18631         * tests/examples/metadata/.cvsignore:
18632         * tests/examples/metadata/Makefile.am:
18633         * tests/examples/metadata/read-metadata.c: (message_loop),
18634         (make_pipeline), (print_tag), (main):
18635         * tests/examples/queue/.cvsignore:
18636         * tests/examples/queue/Makefile.am:
18637         * tests/examples/queue/queue.c: (event_loop), (main):
18638         * tests/examples/typefind/.cvsignore:
18639         * tests/examples/typefind/Makefile.am:
18640         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
18641         (main):
18642         * tests/examples/xml/.cvsignore:
18643         * tests/examples/xml/Makefile.am:
18644         * tests/examples/xml/createxml.c: (object_saved), (main):
18645         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
18646         * tests/old/examples/Makefile.am:
18647         * tests/old/examples/TODO:
18648         * tests/old/examples/controller/.cvsignore:
18649         * tests/old/examples/controller/Makefile.am:
18650         * tests/old/examples/controller/audio-example.c:
18651         * tests/old/examples/helloworld/.cvsignore:
18652         * tests/old/examples/helloworld/Makefile.am:
18653         * tests/old/examples/helloworld/helloworld.c:
18654         * tests/old/examples/launch/.cvsignore:
18655         * tests/old/examples/launch/Makefile.am:
18656         * tests/old/examples/launch/mp3parselaunch.c:
18657         * tests/old/examples/launch/mp3play:
18658         * tests/old/examples/manual/Makefile.am:
18659         * tests/old/examples/metadata/Makefile.am:
18660         * tests/old/examples/metadata/read-metadata.c:
18661         * tests/old/examples/queue/.cvsignore:
18662         * tests/old/examples/queue/Makefile.am:
18663         * tests/old/examples/queue/queue.c:
18664         * tests/old/examples/typefind/.cvsignore:
18665         * tests/old/examples/typefind/Makefile.am:
18666         * tests/old/examples/typefind/typefind.c:
18667         * tests/old/examples/xml/.cvsignore:
18668         * tests/old/examples/xml/Makefile.am:
18669         * tests/old/examples/xml/createxml.c:
18670         * tests/old/examples/xml/runxml.c:
18671           applied some simple fixing to some examples
18672           re-enabled the working examples
18673
18674 2005-12-12  Wim Taymans  <wim@fluendo.com>
18675
18676         * gst/gstsegment.c: (gst_segment_init),
18677         (gst_segment_set_last_stop), (gst_segment_set_seek),
18678         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
18679         (gst_segment_to_running_time):
18680         Added more documentation.
18681         Make sure the last_pos value is updated properly.
18682         Make sure to_stream_time and to_running_time don't
18683         operate on wrong values.
18684
18685         * tests/check/gst/gstsegment.c: (GST_START_TEST):
18686         Update check.
18687
18688 2005-12-12  Michael Smith  <msmith@fluendo.com>
18689
18690         * plugins/elements/gsttypefindelement.c: (free_entry),
18691         (gst_type_find_element_chain):
18692           Now that we're not leaking factories, make sure we keep references
18693           to them while we need them.
18694
18695 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18696
18697         * tests/check/gst/struct_i386.h:
18698           ifdef out the XML structs
18699
18700 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18701
18702         * gst/gstvalue.c: (gst_value_transform_double_fraction):
18703           floor is not needed, F is always positive; this obviates the
18704           need for adding -lm when building without libxml
18705
18706 2005-12-12  Wim Taymans  <wim@fluendo.com>
18707
18708         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18709         Take current playback rate into account when reporting
18710         the position.
18711
18712 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18713
18714         * docs/manual/mime-world.fig:
18715           Let's try this again, this time with a file that is
18716           actually in XFig format.
18717
18718 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18719
18720         * docs/manual/mime-world.fig:
18721           Add audioconvert element to diagram so that it
18722           matches the text and the code (fixes #319526).
18723
18724 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18725
18726         * docs/pwg/building-chainfn.xml:
18727         * docs/pwg/building-pads.xml:
18728         * docs/pwg/building-state.xml:
18729         * docs/pwg/other-source.xml:
18730           Update state change stuff for 0.10 (fixes #322969).
18731
18732 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18733
18734         * docs/manual/advanced-dataaccess.xml:
18735         * docs/manual/appendix-checklist.xml:
18736         * docs/manual/appendix-programs.xml:
18737         * docs/manual/basics-pads.xml:
18738         * docs/manual/highlevel-components.xml:
18739         * docs/manual/manual.xml:
18740           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
18741           add converters in front of pipelines; remove curly
18742           brackets for threads stuff, they no longer exist; use
18743           GST_TYPE_FRACTION for framerates; update some pieces of
18744           code to 0.10, but there's plenty more to do.
18745
18746         * docs/manual/appendix-porting.xml:
18747           Expand on asynchroneous state changes; s/0.9/0.10/;
18748           mention disappearance of gst_init_get_popt_table()
18749           (fixes #322916).
18750
18751 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18752
18753         * docs/faq/using.xml:
18754           Spider no longer exists, and neither does gst-launch-ext.
18755           Update examples to use decodebin and playbin and put
18756           converters in front of sinks (fixes #323726).
18757
18758 2005-12-09  Michael Smith  <msmith@fluendo.com>
18759
18760         * plugins/elements/gsttypefindelement.c: (find_peek),
18761         (gst_type_find_element_chain):
18762           Fix leaking element factories in typefinding.
18763           Fix problem where we forgot about a probable type on non-seekable
18764           files, and thus later mis-typefound it.
18765
18766 2005-12-09  Michael Smith  <msmith@fluendo.com>
18767
18768         * common/m4/gst-makecontext.m4:
18769         * common/m4/gst-mcsc.m4:
18770         * configure.ac:
18771         * win32/common/config.h:
18772         * win32/common/config.h.in:
18773           Remove makecontext stuff; not used in 0.10 and causes problems on
18774           HPUX according to bug #322441
18775
18776 2005-12-07  Wim Taymans  <wim@fluendo.com>
18777
18778         * tests/check/Makefile.am:
18779         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
18780         (main):
18781         * tests/check/libs/struct_i386.h:
18782         Added ABI check for libs
18783
18784 2005-12-07  Wim Taymans  <wim@fluendo.com>
18785
18786         * tests/check/Makefile.am:
18787         And add the struct_i386.h to dist.
18788
18789 2005-12-07  Wim Taymans  <wim@fluendo.com>
18790
18791         * tests/check/Makefile.am:
18792         * tests/check/gst/.cvsignore:
18793         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
18794         (main):
18795         * tests/check/gst/struct_i386.h:
18796         Added check for ABI compatibility.
18797
18798 2005-12-07  Wim Taymans  <wim@fluendo.com>
18799
18800         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18801         (gst_fake_src_get_times), (gst_fake_src_create):
18802         Fix broken sync option, fixes #323259
18803
18804 2005-12-07  Wim Taymans  <wim@fluendo.com>
18805
18806         * gst/gstbuffer.c:
18807         Small docs update.
18808
18809         * gst/gstcaps.c: (gst_caps_is_equal):
18810         Don't assert on NULL <--> X. Fixes #323260
18811
18812         * gst/gstminiobject.c: (gst_mini_object_replace):
18813         If we're doing atomic operations, we might just as well use
18814         the proper way to get an atomic pointer.
18815
18816         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18817         Clean up debugging.
18818
18819 2005-12-07  Michael Smith  <msmith@fluendo.com>
18820
18821         * gst/parse/grammar.y:
18822           Remove handling of { } for threads.
18823
18824 2005-12-06  David Schleef  <ds@schleef.org>
18825
18826         * libs/gst/base/gstbasetransform.c: speling fix.
18827
18828 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
18829
18830         * docs/libs/tmpl/gstdataprotocol.sgml:
18831         * docs/random/omega/testing/gstobject.c:
18832         * gst/gst.c:
18833         * gst/gstclock.c:
18834         * gst/gstelement.c:
18835         * gst/gstelementfactory.c:
18836         * gst/gsterror.c:
18837         * gst/gstevent.c:
18838         * gst/gstghostpad.c:
18839         * gst/gstinfo.c:
18840         * gst/gstpadtemplate.c:
18841         * gst/gstregistryxml.c:
18842         * gst/gsttaglist.c:
18843         * gst/gsttagsetter.c:
18844         * gst/gsttypefind.c:
18845         * gst/gstvalue.c:
18846         * libs/gst/base/gstbasesrc.c:
18847         * libs/gst/net/gstnetclientclock.c:
18848         * libs/gst/net/gstnettimeprovider.c:
18849         * plugins/elements/gstfakesrc.c:
18850         * plugins/elements/gstfdsrc.c:
18851         * plugins/elements/gstfilesrc.c:
18852         * plugins/elements/gstidentity.c:
18853         * plugins/elements/gstqueue.c:
18854         * plugins/elements/gsttypefindelement.c:
18855         * plugins/indexers/gstfileindex.c:
18856         * plugins/indexers/gstmemindex.c:
18857         * tests/check/gst/gsttag.c:
18858         * tests/old/examples/cutter/cutter.c:
18859         * tests/old/examples/mixer/mixer.c:
18860         * tests/old/examples/xml/runxml.c: (main):
18861         * tests/old/testsuite/caps/normalisation.c:
18862         * tests/old/testsuite/debug/global.c:
18863         * tests/old/testsuite/parse/parse1.c:
18864         * tools/gst-xmlinspect.c:
18865         * win32/common/dirent.c:
18866           expand tabs
18867
18868 === release 0.10.0 ===
18869
18870 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18871
18872         * configure.ac:
18873           releasing 0.10.0, "Maroilles"
18874
18875 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18876
18877         submitted by: Funda Wang <fundawang@linux.net.cn>
18878
18879         * po/LINGUAS:
18880         * po/zh_CN.po:
18881           added Chinese (Traditional) translation
18882
18883 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18884
18885         * docs/gst/gstreamer-sections.txt:
18886         * docs/libs/tmpl/gstdataprotocol.sgml:
18887         * docs/random/thomasvs/TODO:
18888         * gst/gstutils.c:
18889         * gst/gstutils.h:
18890           fix docs
18891
18892 2005-12-05  Andy Wingo  <wingo@pobox.com>
18893
18894         patch by: Wim Taymans <wim@fluendo.com>
18895
18896         * libs/gst/base/gstbasetransform.c
18897         (gst_base_transform_prepare_output_buf)
18898         (gst_base_transform_buffer_alloc):
18899         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
18900         alloc_buffer_and_set_caps.
18901
18902         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
18903         set_caps on the source pad.
18904         (gst_pad_alloc_buffer_and_set_caps): New function, does what
18905         alloc_buffer used to do. Fixes #322874.
18906
18907         * docs/gst/gstreamer-sections.txt: 
18908         * docs/design/part-negotiation.txt: 
18909         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
18910         changes.
18911
18912 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18913
18914         patch by: Sebastien Moutte
18915
18916         * win32/MANIFEST:
18917         * win32/common/config.h.in:
18918         * win32/vs6/libgstcontroller.dsp:
18919           win32 build fixes
18920
18921 2005-12-05  Wim Taymans  <wim@fluendo.com>
18922
18923         * gst/gstcaps.c: (gst_caps_is_equal):
18924         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18925         (gst_fake_src_create):
18926         Back out previous code changes, leave doc updates, file bugs 
18927         instead. 
18928
18929 2005-12-05  Wim Taymans  <wim@fluendo.com>
18930
18931         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18932         (gst_fake_src_get_times), (gst_fake_src_create):
18933         * plugins/elements/gstfakesrc.h:
18934         Fix broken sync code.
18935
18936 2005-12-05  Wim Taymans  <wim@fluendo.com>
18937
18938         * gst/gstcaps.c: (gst_caps_is_equal):
18939         Comparing NULL against !NULL yields different caps, not a
18940         failure.
18941
18942 2005-12-05  Wim Taymans  <wim@fluendo.com>
18943
18944         * gst/gstpipeline.c:
18945         Fix small typo in docs.
18946
18947 2005-12-05  Andy Wingo  <wingo@pobox.com>
18948
18949         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
18950
18951         * gst/gst.c (init_post): remove hard-coded 0.9 location for
18952         registries/plugins with a MAJORMINOR one.
18953         (plugin_desc): Rename library from gstcoreleements to
18954         staticelements. Fixes #323222.
18955
18956 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
18957
18958         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
18959           Change debug category to 'collectpads' from 'collect_pads'
18960           (fixes #323250).
18961
18962 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
18963
18964         patch by: Sebastien Moutte
18965
18966         * libs/gst/controller/gstinterpolation.c:
18967           use convert function for uint64/double
18968         * win32/vs6/libgstcontroller.dsp:
18969           link to GLib
18970
18971 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
18972
18973         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
18974         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
18975         * gst/gstutils.h:
18976         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
18977           add tests that seem to show that the guint64/gdouble conversions
18978           are correct.
18979
18980 2005-12-02  Wim Taymans  <wim@fluendo.com>
18981
18982         * gst/gstregistry.c: (gst_registry_add_path):
18983         * gst/gstregistry.h:
18984         * gst/gstregistryxml.c:
18985         Fix docs again.
18986
18987 2005-12-02  Wim Taymans  <wim@fluendo.com>
18988
18989         * gst/gstutils.c: (gst_util_uint64_scale_int64),
18990         (gst_util_uint64_scale_int):
18991         Small cleanup.
18992
18993         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18994         Add debug log line.
18995
18996         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
18997         Add FIXME.
18998
18999 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
19000
19001         * win32/MANIFEST:
19002         * win32/common/config.h:
19003         * win32/vs6/gstreamer.dsw:
19004         * win32/vs6/libgstcoreelements.dsp:
19005         * win32/vs6/libgstelements.dsp:
19006           renamed core elements plugin
19007
19008 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
19009
19010         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
19011         (get_candidates):
19012           do piece-wise major/minor comparison so 0.9 < 0.10
19013           also allow .exe extensions for tools
19014
19015 2005-12-02  Michael Smith  <msmith@fluendo.com>
19016
19017         * gst/gst.c:
19018           Escape a % to make gtkdoc happier; bug 322958.
19019
19020 === release 0.9.7 ===
19021
19022 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19023
19024         * configure.ac:
19025           releasing 0.9.7, "My Dog Has No Nose"
19026
19027 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19028
19029         * common/gst-xmlinspect.py:
19030         * configure.ac:
19031         * docs/libs/tmpl/gstdataprotocol.sgml:
19032         * docs/random/release:
19033         * po/af.po:
19034         * po/az.po:
19035         * po/bg.po:
19036         * po/ca.po:
19037         * po/cs.po:
19038         * po/de.po:
19039         * po/en_GB.po:
19040         * po/fr.po:
19041         * po/it.po:
19042         * po/nb.po:
19043         * po/nl.po:
19044         * po/ru.po:
19045         * po/sq.po:
19046         * po/sr.po:
19047         * po/sv.po:
19048         * po/tr.po:
19049         * po/uk.po:
19050         * po/vi.po:
19051         * win32/common/config.h:
19052         * win32/common/config.h.in:
19053         * win32/vs6/gst_inspect.dsp:
19054         * win32/vs6/gst_launch.dsp:
19055         * win32/vs6/libgstbase.dsp:
19056         * win32/vs6/libgstelements.dsp:
19057         * win32/vs6/libgstreamer.dsp:
19058         * win32/vs7/GStreamer.vcproj:
19059         * win32/vs7/gst-inspect.vcproj:
19060         * win32/vs7/gst-launch.vcproj:
19061         * win32/vs7/libgstbase.vcproj:
19062           bump GST_MAJORMINOR to 0.10
19063           reset libtool version
19064
19065 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19066
19067         * po/LINGUAS:
19068         * po/bg.po:
19069           Added Bulgarian translation by (Alexander Shopov)
19070
19071 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19072
19073         * tests/check/gst/gstplugin.c:
19074           fix test
19075
19076 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19077
19078         * common/gst-xmlinspect.py:
19079         * common/gtk-doc-plugins.mak:
19080         * configure.ac:
19081         * docs/Makefile.am:
19082         * docs/gst/Makefile.am:
19083         * docs/gst/gstreamer-docs.sgml:
19084         * docs/gst/gstreamer-sections.txt:
19085         * docs/gst/gstreamer.types:
19086         * docs/gst/gstreamer.types.in:
19087         * docs/plugins/Makefile.am:
19088         * docs/plugins/gstreamer-plugins-docs.sgml:
19089         * docs/plugins/gstreamer-plugins-sections.txt:
19090         * docs/plugins/gstreamer-plugins.types:
19091         * docs/plugins/inspect.stamp:
19092         * docs/plugins/inspect/plugin-coreelements.xml:
19093         * docs/plugins/inspect/plugin-coreindexers.xml:
19094         * docs/plugins/scanobj-build.stamp:
19095         * gstreamer.spec.in:
19096         * plugins/elements/Makefile.am:
19097         * plugins/elements/gstelements.c:
19098         * plugins/elements/gstfakesink.c:
19099         * plugins/elements/gstfakesrc.c:
19100         * plugins/elements/gstfilesink.c:
19101         * plugins/elements/gstfilesrc.c:
19102         * plugins/elements/gstqueue.c:
19103         * plugins/indexers/Makefile.am:
19104         * plugins/indexers/gstindexers.c:
19105           document core plugins in a separate document just like all the
19106           others
19107           rename these plugins to something starting with core
19108
19109 2005-12-01  Andy Wingo  <wingo@pobox.com>
19110
19111         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
19112         padding here before, but it missed the commit.
19113
19114 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19115
19116         * libs/gst/controller/gstinterpolation.c:
19117           whitespace prices have crashed, we should feel free to use some now
19118           use gst_guint64_to_gdouble
19119
19120 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19121
19122         * libs/gst/controller/gstcontroller.c:
19123         * libs/gst/controller/gsthelper.c:
19124         * libs/gst/controller/gstinterpolation.c:
19125         * libs/gst/controller/lib.c:
19126           wrap config.h include
19127
19128 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19129
19130         * docs/gst/gstreamer-sections.txt:
19131           update docs
19132
19133 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19134
19135         * plugins/elements/gstelements.c:
19136         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
19137         (gst_fd_sink__class_init), (gst_fd_sink__init),
19138         (gst_fd_sink__chain), (gst_fd_sink__set_property),
19139         (gst_fd_sink__get_property):
19140         * plugins/elements/gstfdsink.h:
19141         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
19142         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
19143         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
19144         (gst_fd_src_unlock), (gst_fd_src_set_property),
19145         (gst_fd_src_get_property), (gst_fd_src_create),
19146         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
19147         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
19148         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
19149         (gst_fd_src_uri_handler_init):
19150         * plugins/elements/gstfdsrc.h:
19151         * plugins/elements/gstqueue.c: (gst_queue_get_type):
19152           more anal cleanup
19153
19154 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19155
19156         * docs/gst/Makefile.am:
19157         * docs/gst/gstreamer.types.in:
19158         * gst/Makefile.am:
19159           fix the docs build
19160
19161 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19162
19163         * configure.ac:
19164         * gst/Makefile.am:
19165         * gst/gst.c:
19166         * gst/gstplugin.h:
19167         * gst/gstregistry.h:
19168         * tests/benchmarks/complexity.c:
19169         * tests/benchmarks/mass-elements.c:
19170         * tests/check/Makefile.am:
19171         * tools/Makefile.am:
19172         * tools/gst-inspect.c:
19173         * tools/gst-xmlinspect.c:
19174           various fixes to make
19175           --disable-nls --disable-registry --disable-loadsave
19176           --disable-parse --disable-gst-debug
19177           work and get the core .so down to 360444 bytes after stripping
19178
19179 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19180
19181         * Makefile.am:
19182         * configure.ac:
19183           descend into tests
19184         * docs/random/thomasvs/TODO:
19185         * tests/Makefile.am:
19186         * tests/README:
19187           add a README
19188
19189 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19190
19191         * win32/GStreamer.vcproj:
19192         * win32/MANIFEST:
19193         * win32/Makefile:
19194         * win32/Makefile.inspect:
19195         * win32/Makefile.launch:
19196         * win32/Makefile.register:
19197         * win32/README.txt:
19198         * win32/gst-inspect.vcproj:
19199         * win32/gst-launch.vcproj:
19200         * win32/gst-register.vcproj:
19201         * win32/gstelements.vcproj:
19202         * win32/gstgetbits.def:
19203         * win32/gstgetbits.vcproj:
19204         * win32/gstreamer-dbg.def:
19205         * win32/gstreamer.def:
19206         * win32/libgstbase.def:
19207         * win32/libgstbase.vcproj:
19208         * win32/link_oldruntime.c:
19209         * win32/mman.c:
19210         * win32/mman.h:
19211         * win32/mman.inl:
19212         * win32/msvc71.sln:
19213           move even more stuff, win32/ is nice and clean now
19214
19215 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19216
19217         * libs/gst/control/.cvsignore:
19218         * win32/MANIFEST:
19219         * win32/config.h:
19220         * win32/dirent.c:
19221         * win32/dirent.h:
19222         * win32/gstbytestream.def:
19223         * win32/gstbytestream.vcproj:
19224         * win32/gstconfig.h:
19225         * win32/gstenumtypes.c:
19226         * win32/gstenumtypes.h:
19227         * win32/gstoptimalscheduler.vcproj:
19228         * win32/gstversion.h:
19229         * win32/gtchar.h:
19230         * win32/testsuite/bins.vcproj:
19231         * win32/testsuite/bytestream.vcproj:
19232         * win32/testsuite/caps.vcproj:
19233         * win32/testsuite/cleanup.vcproj:
19234         * win32/testsuite/clock.vcproj:
19235         * win32/testsuite/debug.vcproj:
19236         * win32/testsuite/dlopen.vcproj:
19237         * win32/testsuite/dynparams.vcproj:
19238         * win32/testsuite/elements.vcproj:
19239         * win32/testsuite/ghostpads.vcproj:
19240         * win32/testsuite/indexers.vcproj:
19241         * win32/testsuite/negotiation.vcproj:
19242         * win32/testsuite/parse.vcproj:
19243         * win32/testsuite/plugin.vcproj:
19244         * win32/testsuite/refcounting.vcproj:
19245         * win32/testsuite/schedulers.vcproj:
19246         * win32/testsuite/states.vcproj:
19247         * win32/testsuite/tags.vcproj:
19248         * win32/testsuite/threads.vcproj:
19249           remove old win32 stuff that isn't maintained and should be
19250           reorganized
19251
19252 2005-11-30  Andy Wingo  <wingo@pobox.com>
19253
19254         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
19255         loading the gst.interfaces python module bork.
19256
19257         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
19258         available since GLib 2.2. Fixes #318031.
19259
19260 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19261
19262         * Makefile.am:
19263         * check/.cvsignore:
19264         * check/Makefile.am:
19265         * check/elements/.cvsignore:
19266         * check/elements/fakesrc.c:
19267         * check/elements/fdsrc.c:
19268         * check/elements/identity.c:
19269         * check/generic/.cvsignore:
19270         * check/generic/states.c:
19271         * check/gst-libs/.cvsignore:
19272         * check/gst-libs/controller.c:
19273         * check/gst-libs/gdp.c:
19274         * check/gst/.cvsignore:
19275         * check/gst/capslist.h:
19276         * check/gst/gst.c:
19277         * check/gst/gstbin.c:
19278         * check/gst/gstbuffer.c:
19279         * check/gst/gstbus.c:
19280         * check/gst/gstcaps.c:
19281         * check/gst/gstelement.c:
19282         * check/gst/gstevent.c:
19283         * check/gst/gstghostpad.c:
19284         * check/gst/gstiterator.c:
19285         * check/gst/gstmessage.c:
19286         * check/gst/gstminiobject.c:
19287         * check/gst/gstobject.c:
19288         * check/gst/gstpad.c:
19289         * check/gst/gstpipeline.c:
19290         * check/gst/gstplugin.c:
19291         * check/gst/gstsegment.c:
19292         * check/gst/gststructure.c:
19293         * check/gst/gstsystemclock.c:
19294         * check/gst/gsttag.c:
19295         * check/gst/gstutils.c:
19296         * check/gst/gstvalue.c:
19297         * check/net/.cvsignore:
19298         * check/net/gstnetclientclock.c:
19299         * check/net/gstnettimeprovider.c:
19300         * check/pipelines/.cvsignore:
19301         * check/pipelines/cleanup.c:
19302         * check/pipelines/simple_launch_lines.c:
19303         * check/pipelines/stress.c:
19304         * check/states/.cvsignore:
19305         * check/states/sinks.c:
19306         * configure.ac:
19307         * examples/Makefile.am:
19308         * examples/appreader/.cvsignore:
19309         * examples/appreader/Makefile.am:
19310         * examples/appreader/appreader.c:
19311         * examples/controller/.cvsignore:
19312         * examples/controller/Makefile.am:
19313         * examples/controller/audio-example.c:
19314         * examples/cutter/.cvsignore:
19315         * examples/cutter/Makefile.am:
19316         * examples/cutter/cutter.c:
19317         * examples/cutter/cutter.h:
19318         * examples/events/Makefile.am:
19319         * examples/events/seek.c:
19320         * examples/helloworld/.cvsignore:
19321         * examples/helloworld/Makefile.am:
19322         * examples/helloworld/helloworld.c:
19323         * examples/helloworld2/.cvsignore:
19324         * examples/helloworld2/Makefile.am:
19325         * examples/helloworld2/helloworld2.c:
19326         * examples/launch/.cvsignore:
19327         * examples/launch/Makefile.am:
19328         * examples/launch/mp3parselaunch.c:
19329         * examples/launch/mp3play:
19330         * examples/manual/.cvsignore:
19331         * examples/manual/Makefile.am:
19332         * examples/manual/extract.pl:
19333         * examples/metadata/Makefile.am:
19334         * examples/metadata/read-metadata.c:
19335         * examples/mixer/.cvsignore:
19336         * examples/mixer/Makefile.am:
19337         * examples/mixer/mixer.c:
19338         * examples/mixer/mixer.h:
19339         * examples/pingpong/.cvsignore:
19340         * examples/pingpong/Makefile.am:
19341         * examples/pingpong/pingpong.c:
19342         * examples/plugins/.cvsignore:
19343         * examples/plugins/Makefile.am:
19344         * examples/plugins/example.c:
19345         * examples/plugins/example.h:
19346         * examples/pwg/.cvsignore:
19347         * examples/pwg/Makefile.am:
19348         * examples/pwg/extract.pl:
19349         * examples/queue/.cvsignore:
19350         * examples/queue/Makefile.am:
19351         * examples/queue/queue.c:
19352         * examples/queue2/.cvsignore:
19353         * examples/queue2/Makefile.am:
19354         * examples/queue2/queue2.c:
19355         * examples/queue3/.cvsignore:
19356         * examples/queue3/Makefile.am:
19357         * examples/queue3/queue3.c:
19358         * examples/queue4/.cvsignore:
19359         * examples/queue4/Makefile.am:
19360         * examples/queue4/queue4.c:
19361         * examples/retag/.cvsignore:
19362         * examples/retag/Makefile.am:
19363         * examples/retag/retag.c:
19364         * examples/retag/transcode.c:
19365         * examples/thread/.cvsignore:
19366         * examples/thread/Makefile.am:
19367         * examples/thread/thread.c:
19368         * examples/typefind/.cvsignore:
19369         * examples/typefind/Makefile.am:
19370         * examples/typefind/typefind.c:
19371         * examples/xml/.cvsignore:
19372         * examples/xml/Makefile.am:
19373         * examples/xml/createxml.c:
19374         * examples/xml/runxml.c:
19375         * tests/Makefile.am:
19376         * tests/check/Makefile.am:
19377         * testsuite/.cvsignore:
19378         * testsuite/Makefile.am:
19379         * testsuite/Rules:
19380         * testsuite/caps/.cvsignore:
19381         * testsuite/caps/Makefile.am:
19382         * testsuite/caps/app_fixate.c:
19383         * testsuite/caps/audioscale.c:
19384         * testsuite/caps/caps.c:
19385         * testsuite/caps/caps.h:
19386         * testsuite/caps/caps_strings:
19387         * testsuite/caps/compatibility.c:
19388         * testsuite/caps/deserialize.c:
19389         * testsuite/caps/enumcaps.c:
19390         * testsuite/caps/eratosthenes.c:
19391         * testsuite/caps/filtercaps.c:
19392         * testsuite/caps/fixed.c:
19393         * testsuite/caps/fraction-convert.c:
19394         * testsuite/caps/fraction-multiply-and-zero.c:
19395         * testsuite/caps/intersect2.c:
19396         * testsuite/caps/intersection.c:
19397         * testsuite/caps/normalisation.c:
19398         * testsuite/caps/random.c:
19399         * testsuite/caps/renegotiate.c:
19400         * testsuite/caps/sets.c:
19401         * testsuite/caps/simplify.c:
19402         * testsuite/caps/string-conversions.c:
19403         * testsuite/caps/structure.c:
19404         * testsuite/caps/subtract.c:
19405         * testsuite/caps/union.c:
19406         * testsuite/debug/.cvsignore:
19407         * testsuite/debug/Makefile.am:
19408         * testsuite/debug/category.c:
19409         * testsuite/debug/commandline.c:
19410         * testsuite/debug/global.c:
19411         * testsuite/debug/output.c:
19412         * testsuite/debug/printf_extension.c:
19413         * testsuite/dlopen/.cvsignore:
19414         * testsuite/dlopen/Makefile.am:
19415         * testsuite/dlopen/dlopen_gst.c:
19416         * testsuite/dlopen/loadgst.c:
19417         * testsuite/elements/.cvsignore:
19418         * testsuite/elements/Makefile.am:
19419         * testsuite/elements/gst-inspect-check.in:
19420         * testsuite/elements/struct_i386.h:
19421         * testsuite/elements/struct_size.c:
19422         * testsuite/indexers/.cvsignore:
19423         * testsuite/indexers/Makefile.am:
19424         * testsuite/indexers/cache1.c:
19425         * testsuite/indexers/indexdump.c:
19426         * testsuite/parse/.cvsignore:
19427         * testsuite/parse/Makefile.am:
19428         * testsuite/parse/parse1.c:
19429         * testsuite/parse/parse2.c:
19430         * testsuite/plugin/.cvsignore:
19431         * testsuite/plugin/Makefile.am:
19432         * testsuite/plugin/README:
19433         * testsuite/plugin/dynamic.c:
19434         * testsuite/plugin/linked.c:
19435         * testsuite/plugin/loading.c:
19436         * testsuite/plugin/registry.c:
19437         * testsuite/plugin/static.c:
19438         * testsuite/plugin/static2.c:
19439         * testsuite/plugin/testplugin.c:
19440         * testsuite/plugin/testplugin2.c:
19441         * testsuite/plugin/testplugin2_s.c:
19442         * testsuite/plugin/testplugin_s.c:
19443         * testsuite/refcounting/.cvsignore:
19444         * testsuite/refcounting/Makefile.am:
19445         * testsuite/refcounting/bin.c:
19446         * testsuite/refcounting/element.c:
19447         * testsuite/refcounting/element_pad.c:
19448         * testsuite/refcounting/mainloop.c:
19449         * testsuite/refcounting/mem.c:
19450         * testsuite/refcounting/mem.h:
19451         * testsuite/refcounting/object.c:
19452         * testsuite/refcounting/pad.c:
19453         * testsuite/refcounting/sched.c:
19454         * testsuite/refcounting/thread.c:
19455         * testsuite/states/.cvsignore:
19456         * testsuite/states/Makefile.am:
19457         * testsuite/states/bin.c:
19458         * testsuite/states/locked.c:
19459         * testsuite/states/parent.c:
19460         * testsuite/threads/.cvsignore:
19461         * testsuite/threads/159566.c:
19462         * testsuite/threads/159852.c:
19463         * testsuite/threads/Makefile.am:
19464         * testsuite/threads/queue.c:
19465         * testsuite/threads/signals.c:
19466         * testsuite/threads/staticrec.c:
19467         * testsuite/threads/thread.c:
19468         * testsuite/threads/threadb.c:
19469         * testsuite/threads/threadc.c:
19470         * testsuite/threads/threadd.c:
19471         * testsuite/threads/threade.c:
19472         * testsuite/threads/threadf.c:
19473         * testsuite/threads/threadg.c:
19474         * testsuite/threads/threadh.c:
19475         * testsuite/threads/threadi.c:
19476           move all of these under tests
19477
19478 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19479
19480         * configure.ac:
19481         * tests/Makefile.am:
19482           fix distcheck
19483
19484 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19485
19486         * docs/gst/gstreamer-sections.txt:
19487         * tests/sched/.cvsignore:
19488         * tests/sched/Makefile.am:
19489         * tests/sched/cases/(fs-fs).xml:
19490         * tests/sched/cases/(fs-i-fs).xml:
19491         * tests/sched/cases/(fs-i-i-fs).xml:
19492         * tests/sched/cases/(fs-i-q[i-fs]).xml:
19493         * tests/sched/dynamic-pipeline.c:
19494         * tests/sched/interrupt1.c:
19495         * tests/sched/interrupt2.c:
19496         * tests/sched/interrupt3.c:
19497         * tests/sched/runtestcases:
19498         * tests/sched/runxml.c:
19499         * tests/sched/sched-stress.c:
19500         * tests/sched/sort.c:
19501         * tests/sched/testcases:
19502         * tests/sched/testcases1.tc:
19503         * tests/seeking/.cvsignore:
19504         * tests/seeking/Makefile.am:
19505         * tests/seeking/seeking1.c:
19506         * tests/threadstate/.cvsignore:
19507         * tests/threadstate/Makefile.am:
19508         * tests/threadstate/test1.c:
19509         * tests/threadstate/test2.c:
19510         * tests/threadstate/threadstate1.c:
19511         * tests/threadstate/threadstate2.c:
19512         * tests/threadstate/threadstate3.c:
19513         * tests/threadstate/threadstate4.c:
19514         * tests/threadstate/threadstate5.c:
19515           remove obsolete tests
19516         * configure.ac:
19517         * tests/bench-complexity.scm:
19518         * tests/bench-mass_elements.scm:
19519         * tests/complexity.c:
19520         * tests/complexity.gnuplot:
19521         * tests/instantiate/.cvsignore:
19522         * tests/instantiate/Makefile.am:
19523         * tests/instantiate/caps.c:
19524         * tests/mass_elements.c:
19525         * tests/network-clock-utils.scm:
19526         * tests/network-clock.scm:
19527         * tests/plot-data:
19528         First pass at cleaning up tests/ dir before moving the rest
19529         Combined with CVS surgery
19530
19531 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19532
19533         * po/POTFILES.in:
19534           queue has moved, update
19535
19536 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19537
19538         * docs/gst/gstreamer-sections.txt:
19539           remove double entries from the docs
19540         * gst/gst_private.h:
19541         * gst/gstinfo.c: (_gst_debug_init):
19542           remove the THREAD debug category
19543         * gst/Makefile.am:
19544         * gst/gstqueue.c:
19545         * gst/gstqueue.h:
19546         * docs/gst/gstreamer.types:
19547         * plugins/elements/gstqueue.c: (gst_queue_get_type),
19548         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
19549           completely move queue and fix up debugging categories
19550
19551 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19552
19553         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
19554           make initialization portable, using LL is not
19555
19556 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19557
19558         * win32/common/gstconfig.h:
19559           add large padding
19560
19561 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19562
19563         * win32/common/libgstreamer.def:
19564           rename symbols; sort base section
19565
19566 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19567
19568         * gst/gstclock.c: (do_linear_regression):
19569           remove crack non-portable handrolled DEBUG macro
19570
19571 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19572
19573         * docs/random/release:
19574           update notes
19575         * win32/common/gstenumtypes.c: (register_gst_object_flags),
19576         (gst_object_flags_get_type), (register_gst_bin_flags),
19577         (gst_bin_flags_get_type), (register_gst_buffer_flag),
19578         (gst_buffer_flag_get_type), (register_gst_bus_flags),
19579         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
19580         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
19581         (gst_caps_flags_get_type), (register_gst_clock_return),
19582         (gst_clock_return_get_type), (register_gst_clock_entry_type),
19583         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
19584         (gst_clock_flags_get_type), (register_gst_state),
19585         (gst_state_get_type), (register_gst_state_change_return),
19586         (gst_state_change_return_get_type), (register_gst_state_change),
19587         (gst_state_change_get_type), (register_gst_element_flags),
19588         (gst_element_flags_get_type), (register_gst_core_error),
19589         (gst_core_error_get_type), (register_gst_library_error),
19590         (gst_library_error_get_type), (register_gst_resource_error),
19591         (gst_resource_error_get_type), (register_gst_stream_error),
19592         (gst_stream_error_get_type), (register_gst_event_type_flags),
19593         (gst_event_type_flags_get_type), (register_gst_event_type),
19594         (gst_event_type_get_type), (register_gst_seek_type),
19595         (gst_seek_type_get_type), (register_gst_seek_flags),
19596         (gst_seek_flags_get_type), (register_gst_format),
19597         (gst_format_get_type), (register_gst_index_certainty),
19598         (gst_index_certainty_get_type), (register_gst_index_entry_type),
19599         (gst_index_entry_type_get_type),
19600         (register_gst_index_lookup_method),
19601         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
19602         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
19603         (gst_index_resolver_method_get_type), (register_gst_index_flags),
19604         (gst_index_flags_get_type), (register_gst_debug_level),
19605         (gst_debug_level_get_type), (register_gst_debug_color_flags),
19606         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
19607         (gst_iterator_result_get_type), (register_gst_iterator_item),
19608         (gst_iterator_item_get_type), (register_gst_message_type),
19609         (gst_message_type_get_type), (register_gst_mini_object_flags),
19610         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
19611         (gst_pad_link_return_get_type), (register_gst_flow_return),
19612         (gst_flow_return_get_type), (register_gst_activate_mode),
19613         (gst_activate_mode_get_type), (register_gst_pad_direction),
19614         (gst_pad_direction_get_type), (register_gst_pad_flags),
19615         (gst_pad_flags_get_type), (register_gst_pad_presence),
19616         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
19617         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
19618         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
19619         (gst_plugin_error_get_type), (register_gst_plugin_flags),
19620         (gst_plugin_flags_get_type), (register_gst_rank),
19621         (gst_rank_get_type), (register_gst_query_type),
19622         (gst_query_type_get_type), (register_gst_tag_merge_mode),
19623         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
19624         (gst_tag_flag_get_type), (register_gst_task_state),
19625         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
19626         (gst_alloc_trace_flags_get_type),
19627         (register_gst_type_find_probability),
19628         (gst_type_find_probability_get_type), (register_gst_uri_type),
19629         (gst_uri_type_get_type), (register_gst_parse_error),
19630         (gst_parse_error_get_type):
19631         * win32/common/gstenumtypes.h:
19632         * win32/common/gstversion.h:
19633           update visual studio generated files
19634
19635 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19636
19637         * win32/vs6/libgstbase.dsp:
19638         * win32/vs6/libgstelements.dsp:
19639           update project files for new locations
19640
19641 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19642
19643         * Makefile.am:
19644           remove some files
19645         * README:
19646           reinstate and update
19647         * DEVEL:
19648         * REQUIREMENTS:
19649           removed
19650         * LICENSE:
19651         * docs/random/LICENSE:
19652           moved to random
19653
19654 2005-11-30  Edward Hervey  <edward@fluendo.com>
19655
19656         * gst/gsttypefind.c: (gst_type_find_register):
19657         * gst/gsttypefind.h:
19658         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
19659         (gst_type_find_factory_dispose):
19660         * gst/gsttypefindfactory.h:
19661         Fix memory leak in GstTypeFindFactory.
19662
19663 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19664
19665         * gst/gst.c:
19666         * plugins/elements/Makefile.am:
19667         * plugins/elements/gstelements.c:
19668         * plugins/elements/gstqueue.c:
19669           move queue from core to the elements plugin
19670
19671 2005-11-29  Andy Wingo  <wingo@pobox.com>
19672
19673         * libs/gst/base/gstbasetransform.h: 
19674         * libs/gst/base/gstbasesrc.h: 
19675         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
19676
19677         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
19678         of pointers by which to pad very extensible base classes (like the
19679         ones in libs/gst/base).
19680
19681 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19682
19683         * docs/gst/gstreamer-docs.sgml:
19684         * docs/gst/gstreamer-sections.txt:
19685         * docs/libs/gstreamer-libs-docs.sgml:
19686         * docs/libs/gstreamer-libs-sections.txt:
19687           moving documentation from core to lib
19688
19689 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19690
19691         * check/Makefile.am:
19692         * configure.ac:
19693         * docs/gst/Makefile.am:
19694         * gst/Makefile.am:
19695         * gst/base/.cvsignore:
19696         * gst/base/Makefile.am:
19697         * gst/base/README:
19698         * gst/base/gstadapter.c:
19699         * gst/base/gstadapter.h:
19700         * gst/base/gstbasesink.c:
19701         * gst/base/gstbasesink.h:
19702         * gst/base/gstbasesrc.c:
19703         * gst/base/gstbasesrc.h:
19704         * gst/base/gstbasetransform.c:
19705         * gst/base/gstbasetransform.h:
19706         * gst/base/gstcollectpads.c:
19707         * gst/base/gstcollectpads.h:
19708         * gst/base/gstpushsrc.c:
19709         * gst/base/gstpushsrc.h:
19710         * gst/base/gsttypefindhelper.c:
19711         * gst/base/gsttypefindhelper.h:
19712         * gst/check/Makefile.am:
19713         * gst/check/gstcheck.c:
19714         * gst/check/gstcheck.h:
19715         * gst/net/Makefile.am:
19716         * gst/net/gstnet.h:
19717         * gst/net/gstnetclientclock.c:
19718         * gst/net/gstnetclientclock.h:
19719         * gst/net/gstnettimepacket.c:
19720         * gst/net/gstnettimepacket.h:
19721         * gst/net/gstnettimeprovider.c:
19722         * gst/net/gstnettimeprovider.h:
19723         * libs/gst/Makefile.am:
19724         * libs/gst/base/Makefile.am:
19725         * libs/gst/base/gstbasetransform.c:
19726         * libs/gst/check/Makefile.am:
19727         * plugins/elements/Makefile.am:
19728         * po/POTFILES.in:
19729           CVS surgery + support to move base, check, and net out of gst
19730           and into libs/gst
19731
19732 2005-11-29  Andy Wingo  <wingo@pobox.com>
19733
19734         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
19735
19736         * gst/gststructure.h (struct _GstStructure): Only one pointer of
19737         padding.
19738
19739         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
19740
19741         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
19742
19743         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
19744
19745         * gst/gstobject.h: (struct _GstObject): Only one pointer of
19746         padding; reduces object size by about 30%. We don't expect
19747         anything else to go into gstobject.
19748
19749         * gst/gstminiobject.h (struct _GstMiniObject)
19750         (struct _GstMiniObjectClass): Only one pointer of padding; the
19751         payload is only a pointer and two ints anyway. For the class there
19752         are only two methods as well.
19753         
19754         * gst/gstelement.h (struct _GstElementClass): Removed
19755         the state_changed signal callback, it is not used.
19756
19757 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19758
19759         * docs/gst/gstreamer.types:
19760           fix includes, though they are a little dinky
19761
19762 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19763
19764         * check/Makefile.am:
19765           look in the right place for elements, a lot more chance of
19766           success
19767         * gst/Makefile.am:
19768           remove indexers and elements subdirs
19769         * plugins/Makefile.am:
19770           make indexers conditional
19771
19772 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19773
19774         * Makefile.am:
19775         * configure.ac:
19776         * plugins/elements/Makefile.am:
19777         * plugins/elements/gstcapsfilter.c:
19778         * plugins/elements/gstfilesink.c:
19779         * plugins/elements/gstfilesrc.c:
19780         * plugins/elements/gstidentity.c:
19781         * plugins/indexers/Makefile.am:
19782           do CVS surgery and related build fixery to move elements
19783           and indexers in a new gstreamer/plugins directory, out of the
19784           gst/ directory
19785
19786 2005-11-29  Andy Wingo  <wingo@pobox.com>
19787
19788         * check/Makefile.am:
19789         * pkgconfig/gstreamer-net-uninstalled.pc.in:
19790         * pkgconfig/gstreamer-net.pc.in:
19791         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
19792         #322257.
19793
19794 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19795
19796         * tools/Makefile.am:
19797         * tools/gst-complete.1.in:
19798         * tools/gst-complete.c:
19799         * tools/gst-compprep.1.in:
19800         * tools/gst-compprep.c:
19801           removing -compprep and -complete
19802
19803 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19804
19805         * gst/gstevent.c: (gst_event_new_new_segment),
19806         (gst_event_parse_new_segment):
19807         * gst/gstevent.h:
19808           fix #320529 - clean up new_segment API and structure.
19809           Let's hope everyone was using the methods, and not the structure.
19810
19811 2005-11-29  Edward Hervey  <edward@fluendo.com>
19812
19813         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19814         (gst_base_sink_event), (gst_base_sink_do_sync),
19815         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
19816         Properly handle non GST_FORMAT_TIME segment
19817         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
19818         Properly handle non GST_FORMAT_TIME segment
19819         * gst/gstsegment.c:
19820         This function is valid if the accumulator is 0 and the format
19821         is different from the requested format.
19822         
19823 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
19824
19825         * docs/gst/gstreamer-sections.txt:
19826         Add gst_query_new_seeking and gst_query_parse_seeking to the
19827         docs.
19828
19829 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
19830
19831         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
19832           Treat a pad alloc with new caps the same as if we were not
19833           negotiated, in order to allow a changing upstream output
19834           to produce a new format of data.
19835
19836 2005-11-29  Edward Hervey  <edward@fluendo.com>
19837
19838         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
19839         (gst_base_transform_event), (gst_base_transform_eventfunc):
19840         The event virtual method is now properly implemented, with a default
19841         handler
19842         Sub classes should call the parent_class event method. They should
19843         return FALSE if they had a problem handling the given event, or don't
19844         want GstBaseTransform to send that even downstream
19845         * gst/elements/gstidentity.c: (gst_identity_class_init),
19846         (gst_identity_init), (gst_identity_event),
19847         (gst_identity_transform_ip), (gst_identity_set_property),
19848         (gst_identity_get_property):
19849         * gst/elements/gstidentity.h:
19850         Added the single-segment boolean property.
19851         If set to TRUE, it will output a single segment of data, starting from
19852         0, will eat up all incoming newsegment, and modify the timestamp of the
19853         buffers accordingly
19854
19855 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
19856
19857         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
19858           Don't ref NULL target pad (#322751). Improve docs.
19859
19860 2005-11-29  Michael Smith  <msmith@fluendo.com>
19861
19862         * gst/gstregistryxml.c: (load_plugin):
19863           Don't crash if we failed to load a feature from a plugin. 
19864
19865 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19866
19867         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
19868         (GST_START_TEST):
19869           use more check API and less GLib API
19870
19871 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19872
19873         * Makefile.am:
19874           don't run checks if we don't have check
19875         * common/check.mak:
19876           remove the registry when running make torture
19877         * docs/gst/gstreamer-sections.txt:
19878           remove second multiply
19879         * gst/gstqueue.c: (gst_queue_loop):
19880           fix a compile warning when disabling debug
19881
19882 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
19883
19884         * gst/gstinfo.h:
19885         Hey! Let's print the pad name if the pointer != NULL instead
19886         of when it == NULL :-)
19887
19888 2005-11-28  Wim Taymans  <wim@fluendo.com>
19889
19890         * check/gst/gstutils.c: (GST_START_TEST):
19891         Updated check, add some scaling accuracy checking code.
19892
19893         * gst/gstutils.c: (gst_util_div128_64),
19894         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
19895         (gst_util_uint64_scale_int):
19896         Fix 6 times faster division code. Optimize for common 
19897         1/1 and less common X/1 cases.
19898
19899 2005-11-28  Wim Taymans  <wim@fluendo.com>
19900
19901         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19902         More checks.
19903
19904         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
19905         (do_linear_regression), (gst_clock_add_observation):
19906         Cleanups.
19907         Release lock when the clock cannot be slaved.
19908         Catch the case where the regression returned an invalid denominator.
19909
19910         * gst/gstutils.c: (gst_util_div128_64_iterate),
19911         (gst_util_div128_64), (gst_util_uint64_scale_int64),
19912         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
19913         Add protentially more performant non-iterative 128/64 divide function
19914         that unfortunatly does not work yet.
19915         Shortcut the trivial 0/X = 0 case.
19916         Remove the warnings on overflow.
19917
19918 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19919
19920         * gst/gstplugin.c: (gst_plugin_register_func):
19921           everything causing a plugin not to load should be at least a WARNING
19922
19923 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
19924
19925         * docs/random/ensonic/dparams.txt:
19926           some TODOs for the next dev cycle
19927         * libs/gst/controller/gstcontroller.c:
19928         (gst_controlled_property_set_interpolation_mode),
19929         (gst_controlled_property_new):
19930         * libs/gst/controller/gstcontroller.h:
19931           use base type to assign acccessor functions
19932
19933 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
19934
19935         * check/Makefile.am:
19936         Oops, that should have been top_srcdir
19937
19938 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
19939
19940         * check/Makefile.am:
19941         * check/elements/fdsrc.c: (GST_START_TEST):
19942         Use a cmdline define to specify the location of a file to use for
19943         testing, to avoid breaking distcheck.
19944
19945 2005-11-28  Andy Wingo  <wingo@pobox.com>
19946
19947         * gst/gstpad.c (fixate_value): Use array functions for arrays.
19948
19949 2005-11-28  Edward Hervey  <edward@fluendo.com>
19950
19951         * tools/gst-launch.c: (main):
19952         Clarify the output strings, makes it easier to translate.
19953         Fixes #322626
19954
19955 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19956
19957         * gst/Makefile.am:
19958           don't try and build net if we don't even have <sys/socket.h>
19959
19960 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
19961
19962         * check/Makefile.am:
19963         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
19964         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
19965           Add tests for fdsrc seekability
19966
19967         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
19968         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
19969         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
19970         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
19971         * gst/elements/gstfdsrc.h:
19972           fdsrc should not be a 'live' source.
19973           Implement seeking on seekable fd's.
19974
19975         * gst/gstquery.c: (gst_query_new_seeking),
19976         (gst_query_parse_seeking):
19977         * gst/gstquery.h:
19978           Implement SEEKING query functions: 
19979             *_new_seeking and *_parse_seeking
19980
19981 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
19982
19983         * gst/gstelement.c: (gst_element_dispose):
19984           don't loop forever
19985
19986         * gst/gstiterator.c:
19987         * gst/gststructure.c:
19988           doc fixes
19989
19990         * libs/gst/controller/gstcontroller.c:
19991         (gst_controlled_property_set_interpolation_mode):
19992         * libs/gst/controller/gstcontroller.h:
19993         * libs/gst/controller/gstinterpolation.c:
19994         (interpolate_none_get_enum_value_array):
19995           support controlling enums
19996
19997 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
19998
19999         * gst/gstvalue.c:
20000           Improve documentation for gst_value_union().
20001
20002         * gst/gstvalue.h:
20003           Change return value for union, intersect and subtract functions
20004           from gint to gboolean.
20005
20006 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
20007
20008         * gst/gstvalue.c: (gst_value_serialize_any_list),
20009         (gst_value_transform_any_list_string),
20010         (gst_value_deserialize_list), (gst_value_deserialize_array),
20011         (gst_value_set_int_range), (gst_value_deserialize_int_range),
20012         (gst_value_set_double_range), (gst_value_deserialize_double_range),
20013         (gst_value_set_fraction_range_full),
20014         (gst_value_deserialize_fraction_range),
20015         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
20016         (gst_value_deserialize_boolean),
20017         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
20018         (gst_value_serialize_float), (gst_value_deserialize_float),
20019         (gst_string_wrap), (gst_value_deserialize_string),
20020         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
20021         (gst_value_union_int_range_int_range),
20022         (gst_value_intersect_int_range_int_range),
20023         (gst_value_intersect_double_range_double_range),
20024         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
20025         (gst_value_subtract_int_range_int_range),
20026         (gst_value_subtract_double_double_range),
20027         (gst_value_subtract_double_range_double_range),
20028         (gst_value_deserialize_fraction):
20029         * gst/gstvalue.h:
20030           Use gint, gdouble and gchar in our API instead of int, double and
20031           char (and make usage in gstvalue.c more consistent).
20032
20033 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
20034
20035         * check/Makefile.am:
20036         * libs/gst/controller/Makefile.am:
20037         * libs/gst/dataprotocol/Makefile.am:
20038           fix up Makefile.am and remove GST_ENABLE_NEW
20039
20040 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
20041
20042         * configure.ac:
20043         * gst/Makefile.am:
20044         * gst/base/Makefile.am:
20045         * gst/check/Makefile.am:
20046         * gst/elements/Makefile.am:
20047         * gst/net/Makefile.am:
20048           update LDFLAGS use some more
20049
20050 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
20051
20052         * common/m4/gst-doc.m4:
20053           Fixes #312589
20054
20055 2005-11-26  Edward Hervey  <edward@fluendo.com>
20056
20057         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
20058         This shouldn't issue a g_warning since it returns NULL if it
20059         couldn't find the plugin, and all functions using this behave
20060         properly on a NULL return. Switching to a GST_WARNING.
20061
20062 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
20063
20064         * gst/gstbin.c: (gst_bin_handle_message_func):
20065         Don't leak clock messages.
20066
20067 2005-11-25  Wim Taymans  <wim@fluendo.com>
20068
20069         * gst/gstutils.c: (gst_util_uint64_scale_int64),
20070         (gst_util_uint64_scale_int):
20071         Optimisations, remove unneeded vars.
20072
20073 2005-11-25  Wim Taymans  <wim@fluendo.com>
20074
20075         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
20076         Added more checks for the high precision uint64 cases.
20077
20078         * gst/gstutils.c: (gst_util_uint64_scale_int64),
20079         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
20080         Implement high precision (guint64 * guint64) / guint64.
20081
20082 2005-11-24  Wim Taymans  <wim@fluendo.com>
20083
20084         * gst/base/gstbasesrc.c: (gst_base_src_query):
20085         Fix wrong percentage query.
20086
20087         * gst/gstutils.c: (gst_util_uint64_scale),
20088         (gst_util_uint64_scale_int):
20089         Add some more common cases that can be handled 
20090         efficiently to _scale.
20091
20092 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20093
20094         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
20095         (gst_mini_object_suite):
20096           don't use check calls from threads; check probably isn't
20097           threadsafe and using a lock to make it threadsafe would
20098           defeat the purpose of this check
20099         * gst/check/gstcheck.c:
20100         * gst/check/gstcheck.h:
20101           use GST_DEBUG some more
20102
20103 2005-11-24  Wim Taymans  <wim@fluendo.com>
20104
20105         * gst/gstutils.c: (gst_util_uint64_scale),
20106         (gst_util_uint64_scale_int):
20107         Chain trivial case to _scale_int.
20108
20109 2005-11-24  Wim Taymans  <wim@fluendo.com>
20110
20111         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
20112         Added test for scaling.
20113
20114         * gst/gstclock.h:
20115         Small doc fix.
20116
20117         * gst/gstutils.c: (gst_util_uint64_scale_int):
20118         Implemented high precision scaling code.
20119
20120 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
20121
20122         * gst/gstinfo.h:
20123           do not crash on pad==NULL
20124
20125 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20126
20127         Patch by: Stefan Kost
20128
20129         * common/gtk-doc.mak:
20130         * docs/gst/Makefile.am:
20131         * docs/libs/Makefile.am:
20132           Fix distcheck issues for the libraries docs build
20133           Closes #319599.
20134
20135 2005-11-24  Michael Smith <msmith@fluendo.com>
20136
20137         * docs/manual/basics-helloworld.xml:
20138           Fix bug #315027: memory leak in example code in docs.
20139
20140 2005-11-24  Michael Smith <msmith@fluendo.com>
20141
20142         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20143           Unlock the PREROLL_LOCK in a failure case.
20144
20145 2005-11-24  Wim Taymans  <wim@fluendo.com>
20146
20147         * docs/gst/gstreamer-sections.txt:
20148         * gst/base/gstadapter.h:
20149         * gst/base/gstbasesink.h:
20150         * gst/base/gstbasesrc.h:
20151         * gst/base/gstbasetransform.h:
20152         * gst/base/gstpushsrc.h:
20153         * gst/elements/gstfakesink.h:
20154         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
20155         * gst/elements/gstfakesrc.h:
20156         * gst/elements/gstfilesink.h:
20157         * gst/elements/gstfilesrc.h:
20158         * gst/gst.c:
20159         * gst/gstbin.c:
20160         * gst/gstbuffer.c: (_gst_buffer_copy):
20161         * gst/gstbus.h:
20162         * gst/gstcaps.c:
20163         * gst/gstchildproxy.c:
20164         * gst/gstclock.c:
20165         * gst/gstelement.c:
20166         * gst/gstelementfactory.c:
20167         * gst/gstelementfactory.h:
20168         * gst/gstevent.c:
20169         * gst/gstghostpad.h:
20170         * gst/gstindex.h:
20171         * gst/gstinterface.h:
20172         * gst/gstminiobject.c:
20173         * gst/gstminiobject.h:
20174         * gst/gstpad.c:
20175         * gst/gstpad.h:
20176         * gst/gstpadtemplate.h:
20177         * gst/gstpipeline.h:
20178         * gst/gstpluginfeature.h:
20179         * gst/gstquery.h:
20180         * gst/gstqueue.h:
20181         * gst/gsttaglist.c:
20182         * gst/gsttaglist.h:
20183         * gst/gsttagsetter.c:
20184         * gst/gsttagsetter.h:
20185         * gst/gsttrace.c:
20186         * gst/gsttrace.h:
20187         * gst/gsttypefind.h:
20188         * gst/gsturi.h:
20189         * gst/gstvalue.c:
20190         * gst/net/gstnetclientclock.c:
20191         * gst/net/gstnetclientclock.h:
20192         * gst/net/gstnettimepacket.c:
20193         * gst/net/gstnettimeprovider.c:
20194         * gst/net/gstnettimeprovider.h:
20195         Doc fixes.
20196
20197 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20198
20199         * configure.ac: back to HEAD
20200
20201 === release 0.9.6 ===
20202
20203 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
20204
20205         * configure.ac:
20206           releasing 0.9.6, "Always On Time"
20207
20208 2005-11-23  Wim Taymans  <wim@fluendo.com>
20209
20210         * docs/gst/gstreamer-sections.txt:
20211         * gst/glib-compat.c:
20212         * gst/gsttagsetter.c:
20213         * gst/gstvalue.c:
20214         * gst/net/gstnetclientclock.c:
20215         * gst/net/gstnettimepacket.h:
20216         Doc updates.
20217
20218 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20219
20220         * docs/faq/using.xml:
20221         * docs/libs/tmpl/gstcontrol.sgml:
20222         * docs/manual/advanced-dparams.xml:
20223         * docs/manual/appendix-checklist.xml:
20224         * docs/manual/basics-elements.xml:
20225         * docs/pwg/other-source.xml:
20226         * docs/random/moving-plugins:
20227         * gst/gstpad.c:
20228         * tools/gst-launch.1.in:
20229           remove mentions of sinesrc
20230
20231 2005-11-23  Michael Smith <msmith@fluendo.com>
20232
20233         * docs/gst/gstreamer-sections.txt:
20234           Update for new API and API changes.
20235         * gst/gstobject.h:
20236           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
20237         * gst/gstvalue.c:
20238           Documentation typo fix.
20239         * gst/net/gstnettimepacket.c:
20240           Documentation fixes for arguments.
20241
20242 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
20243
20244         * gst/gststructure.c: (gst_structure_get_fraction),
20245         (gst_structure_parse_value),
20246         (gst_structure_fixate_field_nearest_fraction):
20247         * gst/gststructure.h:
20248         * gst/gstutils.c: (gst_util_uint64_scale_int):
20249         * gst/gstutils.h:
20250         * scripts/update-funcnames:
20251         API Changes. 
20252         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
20253         Make gst_structure_fixate_field_nearest_fraction take a numerator
20254         and denominator argument instead of a GValue
20255         add gst_structure_get_fraction helper function.
20256
20257 2005-11-23  Wim Taymans  <wim@fluendo.com>
20258
20259         * docs/design/part-TODO.txt:
20260         Update TODO.
20261
20262         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
20263         * gst/net/gstnetclientclock.h:
20264         Use parent fields for timeout and window_size.
20265
20266 2005-11-23  Andy Wingo  <wingo@pobox.com>
20267
20268         * check/net/gstnetclientclock.c (test_functioning): Adjust to
20269         rate_num/rate_denom change.
20270
20271         * gst/net/gstnetclientclock.c
20272         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
20273         OBJECT_LOCK. Don't call add_observation with the lock.
20274
20275         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
20276         fraction.
20277         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
20278         rate fraction.
20279         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
20280         deal with rate as a fraction whose numerator and denominator are
20281         GstClockTime values.
20282         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
20283         master; the other fields are protected by the SLAVE_LOCK.
20284         (do_linear_regression): Note that this must be called with the
20285         SLAVE_LOCK.
20286         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
20287         OBJECT_LOCK. Call set_calibration instead of touching the
20288         variables directly.
20289         (gst_clock_set_property, gst_clock_get_property): Protect
20290         master/slave parameters with the SLAVE_LOCK.
20291
20292         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
20293         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
20294         note that all of the instance variables that add_observation and
20295         the set_master functions use are protected by that lock and not
20296         the OBJECT_LOCK.
20297         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
20298
20299         * gst/gstclock.c (gst_clock_add_observation): No longer requires
20300         the caller to take the object lock.
20301
20302 2005-11-23  Wim Taymans  <wim@fluendo.com>
20303
20304         * gst/gsterror.c: (_gst_core_errors_init):
20305         * gst/gsterror.h:
20306         Add error for clock stuff.
20307
20308         * gst/gstpipeline.c: (gst_pipeline_change_state),
20309         (gst_pipeline_set_clock):
20310         Post clock error when clock cannot be used in a pipeline.
20311
20312 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
20313
20314         * docs/gst/gstreamer-sections.txt:
20315           make two symbols from gstinfo private for the docs
20316         * gst/base/gstcollectpads.h:
20317         * gst/gstutils.c:
20318           fix doc typos, update docs
20319
20320 2005-11-22  Wim Taymans  <wim@fluendo.com>
20321
20322         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
20323         (gst_base_sink_wait), (gst_base_sink_do_sync),
20324         (gst_base_sink_handle_event):
20325         * gst/base/gstbasesink.h:
20326         No need to store the clock, the parent element class already
20327         has it.
20328
20329         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
20330         Updates for clock_set returning a gboolean
20331
20332         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
20333         (gst_clock_id_wait_async), (gst_clock_class_init),
20334         (gst_clock_init), (gst_clock_finalize),
20335         (gst_clock_get_internal_time), (gst_clock_get_time),
20336         (gst_clock_slave_callback), (gst_clock_set_master),
20337         (gst_clock_get_master), (do_linear_regression),
20338         (gst_clock_add_observation), (gst_clock_set_property),
20339         (gst_clock_get_property):
20340         * gst/gstclock.h:
20341         Implement master/slave. When setting a clock as a slave, a
20342         periodic timeout is scheduled to sample master and slave times.
20343         Then the slave clock is recalibrated to match offset and rate
20344         of the master clock.
20345         Update logging a bit.
20346         Add flag so that a clock can state that is cannot be slaved to
20347         another clock.
20348
20349         * gst/gstelement.c: (gst_element_set_clock):
20350         * gst/gstelement.h:
20351         The set clock returns a gboolean for when an element cannot
20352         deal with the selected clock in the pipeline. 
20353
20354         * gst/gstpipeline.c: (gst_pipeline_change_state),
20355         (gst_pipeline_set_clock):
20356         * gst/gstpipeline.h:
20357         Handle the case where the selected clock cannot be set on
20358         the pipeline.
20359
20360         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
20361         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
20362         (gst_net_client_clock_set_property),
20363         (gst_net_client_clock_get_property),
20364         (gst_net_client_clock_observe_times):
20365         * gst/net/gstnetclientclock.h:
20366         Use regression code in GstClock parent, remove duplicated
20367         functionality.
20368
20369 2005-11-22  Michael Smith <msmith@fluendo.com>
20370
20371         * gst/gstutils.c: (gst_util_clock_time_scale):
20372         * gst/gstutils.h:
20373         * docs/gst/gstreamer-sections.txt:
20374           Rename method to have extra underscore.
20375
20376 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20377
20378         * gst/elements/Makefile.am:
20379         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
20380         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
20381         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
20382         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
20383         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
20384         * gst/elements/gstfakesrc.h:
20385         * gst/gstqueue.c: (queue_leaky_get_type):
20386           correctly fix GEnumValues so that nick is the short lowercase
20387           dashed tag
20388         * tools/gst-inspect.c: (print_element_properties_info):
20389           also show the nick, since it's useful to use from parse_launch
20390           syntax
20391           Fixes #322139
20392
20393 2005-11-22  Michael Smith <msmith@fluendo.com>
20394
20395         * gst/gstutils.c: (gst_util_clocktime_scale):
20396         * gst/gstutils.h:
20397         * docs/gst/gstreamer-sections.txt:
20398           Add util method for scaling a clocktime by a fraction. Useful 
20399           implementation is left as an exercise for the reader.
20400
20401 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20402
20403         * gst/gstvalue.c: (gst_value_collect_fraction_range):
20404         If needed, allocate storage in the destination value during
20405         collection.
20406
20407 2005-11-22  Edward Hervey  <edward@fluendo.com>
20408
20409         * docs/gst/gstreamer-sections.txt:
20410         * gst/Makefile.am:
20411         * gst/gst.h:
20412         * gst/gsturitype.c:
20413         * gst/gsturitype.h:
20414         * gst/gstutils.c: (gst_util_set_object_arg):
20415         * tools/gst-compprep.c: (main):
20416         * tools/gst-inspect.c: (print_element_properties_info):
20417         Removed GstURI, closes bug #321061
20418
20419 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20420
20421         * check/gst/gststructure.c: (GST_START_TEST):
20422         * gst/gststructure.c: (gst_structure_parse_value):
20423           Oops, broke automatic string type parsing.
20424           Add a test to catch it in future.
20425
20426 2005-11-22  Andy Wingo  <wingo@pobox.com>
20427
20428         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
20429         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
20430         Actually rename the function implementations. Grr.
20431
20432 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20433
20434         * check/gst/capslist.h:
20435           Comment test cases
20436         * check/gst/gststructure.c: (GST_START_TEST),
20437         (gst_structure_suite):
20438           Test automatic value type detection in gst_structure_from_string.
20439         * gst/gststructure.c: (gst_structure_parse_value):
20440           Add fraction as a type we try and guess automatically in
20441           caps/structure strings.
20442
20443 2005-11-22  Andy Wingo  <wingo@pobox.com>
20444
20445         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
20446
20447         * gst/gsttagsetter.h:
20448         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
20449         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
20450         (gst_tag_setter_add_tag_valist)
20451         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
20452         _add_values, _add_valist, and _add_valist_values. Since this is an
20453         interface the function suffixes should be more explicit so
20454         language binding don't end up with element.add_valist ->
20455         gst_tag_setter_add_valist, for example. Fixes #322069.
20456
20457 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20458
20459         * check/gst/gstcaps.c: (GST_START_TEST):
20460           Extend caps string tests to check that a caps to string
20461           conversion is reversible and produces the same caps.
20462
20463         * gst/gststructure.c: (gst_structure_value_get_generic_type):
20464           Output "fraction" as the generic type fraction range, so caps
20465           serialisation and deserialisation works.
20466         * check/gst/capslist.h:
20467         * gst/gstvalue.c: (gst_value_deserialize_fraction):
20468           Support 'MIN' and 'MAX' for deserialising fractions.
20469
20470 2005-11-22  Andy Wingo  <wingo@pobox.com>
20471
20472         * gst/gstevent.h (gst_event_new_new_segment)
20473         (gst_event_parse_new_segment, gst_event_new_buffer_size)
20474         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
20475         Renamed from *_newsegment, *_buffersize, *_notarget.
20476
20477         * scripts/update-funcnames: New script, performs the changes
20478         listed above.
20479
20480 2005-11-22  Wim Taymans  <wim@fluendo.com>
20481
20482         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20483         Make sure the GstFlowReturn is returned.
20484
20485         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
20486         (gst_bus_add_signal_watch):
20487         * gst/gstbus.h:
20488         add gst_bus_add_signal_watch_full.
20489
20490         * gst/gstplugin.c: (gst_plugin_load_file):
20491         Small style cleanup.
20492
20493 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20494
20495         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
20496           Block the fakesrc srcpad when we send an event, to avoid
20497           contention on the stream_lock causing random test failures.
20498
20499 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20500
20501         * check/gst/gstvalue.c: (GST_START_TEST):
20502         * gst/gstvalue.c: (gst_value_fraction_subtract):
20503           Fix subtraction.
20504
20505 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
20506
20507         * gst/gst.h:
20508           include "gstchildproxy.h"
20509         * gst/gstchildproxy.h:
20510         * libs/gst/controller/gstcontroller.h:
20511           use G_GNUC_NULL_TERMINATED
20512
20513 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20514
20515         * check/gst/capslist.h:
20516         * check/gst/gstcaps.c: (GST_START_TEST):
20517         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20518         * gst/gststructure.c: (gst_structure_parse_range),
20519         (gst_structure_fixate_field_nearest_fraction):
20520         * gst/gststructure.h:
20521         * gst/gstvalue.c: (gst_value_init_fraction_range),
20522         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
20523         (gst_value_collect_fraction_range),
20524         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
20525         (gst_value_set_fraction_range_full),
20526         (gst_value_get_fraction_range_min),
20527         (gst_value_get_fraction_range_max),
20528         (gst_value_serialize_fraction_range),
20529         (gst_value_transform_fraction_range_string),
20530         (gst_value_compare_fraction_range),
20531         (gst_value_deserialize_fraction_range),
20532         (gst_value_intersect_fraction_fraction_range),
20533         (gst_value_intersect_fraction_range_fraction_range),
20534         (gst_value_subtract_fraction_fraction_range),
20535         (gst_value_subtract_fraction_range_fraction),
20536         (gst_value_subtract_fraction_range_fraction_range),
20537         (gst_value_collect_fraction), (gst_value_fraction_multiply),
20538         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
20539         (gst_value_transform_string_fraction), (_gst_value_initialize):
20540         * gst/gstvalue.h:
20541           Implement fraction ranges and extend GstFraction to support
20542           arithmetic subtraction, as well as deserialization from integer
20543           strings such as "100"
20544           Add a testsuite as for int and double range set operations
20545
20546 2005-11-21  Andy Wingo  <wingo@pobox.com>
20547
20548         * gst/gsttaglist.h: 
20549         * gst/gstcaps.h: 
20550         * gst/gststructure.h: Add glib-compat.h.
20551
20552 2005-11-21  Wim Taymans  <wim@fluendo.com>
20553
20554         * gst/gstbin.c: (gst_bin_change_state_func):
20555         Fix for #321595
20556
20557 2005-11-21  Wim Taymans  <wim@fluendo.com>
20558
20559         * gst/gstsegment.h:
20560         And add a nice define too.
20561
20562 2005-11-21  Wim Taymans  <wim@fluendo.com>
20563
20564         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
20565         (gst_segment_new), (gst_segment_free), (gst_segment_init),
20566         (gst_segment_set_duration), (gst_segment_set_last_stop),
20567         (gst_segment_set_seek), (gst_segment_set_newsegment),
20568         (gst_segment_to_stream_time), (gst_segment_to_running_time),
20569         (gst_segment_clip):
20570         * gst/gstsegment.h:
20571         Make binding friendly.
20572
20573 2005-11-21  Andy Wingo  <wingo@pobox.com>
20574
20575         * gst/gsttagsetter.h: 
20576         * gst/gsttaglist.h: 
20577         * gst/gststructure.h: 
20578         * gst/gstcaps.h: 
20579         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
20580         #319940.
20581
20582         * gst/gsterror.c (_gst_core_errors_init):
20583         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
20584         category.
20585
20586         * gst/Makefile.am (gst_headers): Add glib-compat.h.
20587         (noinst_HEADERS): noinst the -private.
20588
20589 2005-11-21  Michael Smith <msmith@fluendo.com>
20590
20591         * gst/gstplugin.h:
20592         * gst/gstregistry.h:
20593           Remove unimplemented declarations for which we can see no sensible
20594           use.
20595
20596 2005-11-21  Andy Wingo  <wingo@pobox.com>
20597
20598         * gst/gst.h: Include glib-compat.h.
20599
20600         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
20601
20602         * gst/glib-compat.c: Include the public and the private header.
20603
20604         * gst/glib-compat-private.h: Copied here from glib-compat.h.
20605
20606         * gst/gstvalue.c: 
20607         * gst/gstpad.c: 
20608         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
20609
20610         * check/gst/gstevent.c (create_custom_events): Check that
20611         FLUSH_STOP is serialized.
20612
20613         * check/elements/identity.c (event_func): 
20614         * check/elements/fakesrc.c (event_func): No stream lock, the core
20615         takes it.
20616
20617         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
20618         stream lock taking, yay.
20619
20620         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
20621         ensure that core takes the stream lock.
20622
20623         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
20624         lock name change.
20625
20626         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
20627         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
20628         it already. For the flush start we do take it though so we get the
20629         right preroll state change messages.
20630
20631         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
20632         the stream lock here, the core does it for us.
20633
20634         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
20635         GST_STREAM_GET_LOCK.
20636         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
20637         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
20638         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
20639         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
20640         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
20641         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
20642
20643         * gst/gstpad.c: Update for stream lock name change.
20644
20645         * gst/base/gstbasesink.c: Update for preroll lock name change.
20646
20647 2005-11-21  Wim Taymans  <wim@fluendo.com>
20648
20649         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
20650         (gst_clock_get_master):
20651         * gst/gstclock.h:
20652         * gst/gstsystemclock.c: (gst_system_clock_init):
20653         Convert Clock flags to object flags.
20654         Added methods to manage master/slave clocks.
20655
20656 2005-11-21  Wim Taymans  <wim@fluendo.com>
20657
20658         * check/gst/gstsegment.c: (GST_START_TEST):
20659         * docs/design/part-TODO.txt:
20660         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20661         (gst_base_sink_event), (gst_base_sink_do_sync),
20662         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
20663         (gst_base_sink_query), (gst_base_sink_change_state):
20664         * gst/base/gstbasesink.h:
20665         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
20666         (gst_base_src_default_newsegment),
20667         (gst_base_src_configure_segment), (gst_base_src_do_seek),
20668         (gst_base_src_get_range), (gst_base_src_loop),
20669         (gst_base_src_change_state):
20670         * gst/base/gstbasesrc.h:
20671         * gst/base/gstbasetransform.c:
20672         (gst_base_transform_prepare_output_buf),
20673         (gst_base_transform_event), (gst_base_transform_change_state):
20674         * gst/base/gstbasetransform.h:
20675         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
20676         (gst_collect_pads_event):
20677         * gst/base/gstcollectpads.h:
20678         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
20679         (gst_fake_src_create):
20680         * gst/elements/gstfakesrc.h:
20681         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
20682         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20683         (gst_segment_set_last_stop), (gst_segment_set_seek),
20684         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
20685         (gst_segment_to_running_time), (gst_segment_clip):
20686         * gst/gstsegment.h:
20687         More segment updates, replace code in plugins with segment
20688         helper functions.
20689
20690 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20691
20692         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
20693         Don't ignore sscanf results
20694
20695 2005-11-21  Andy Wingo  <wingo@pobox.com>
20696
20697         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
20698
20699         * *.h:
20700         * *.c: Ran scripts/update-macros. Oh yes.
20701
20702         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
20703         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
20704         GST_GET_LOCK, etc.
20705
20706         * scripts/update-macros: New script. Run it on your files to
20707         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
20708         well.
20709
20710 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
20711
20712         * docs/gst/Makefile.am:
20713         * docs/gst/gstreamer-docs.sgml:
20714         * docs/gst/gstreamer-sections.txt:
20715         * docs/gst/gstreamer.types:
20716         * gst/gstinfo.h:
20717           more docs fixes, add new api to the docs
20718
20719 2005-11-21  Andy Wingo  <wingo@pobox.com>
20720
20721         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
20722         state_broadcast call.
20723
20724         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
20725
20726 2005-11-21  Julien MOUTTE  <julien@moutte.net>
20727
20728         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
20729         function calls for arrays.
20730
20731 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
20732
20733         * docs/random/ensonic/media-device-daemon.txt:
20734           wild idea, can this be done?
20735         * docs/gst/gstreamer-sections.txt:
20736         * gst/gsterror.h:
20737         * gst/gstfilter.c:
20738         * gst/gstfilter.h:
20739         * gst/gstplugin.h:
20740         * gst/gstpluginfeature.c:
20741         * gst/gsttrace.c:
20742         * gst/gstvalue.c:
20743         * gst/gstvalue.h:
20744           doc fixes and additions
20745
20746 2005-11-21  Andy Wingo  <wingo@pobox.com>
20747
20748         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
20749         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
20750         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
20751         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
20752         private to the basesrc implementation.
20753
20754         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
20755         behalf of event function if necessary. It should no longer be
20756         necessary to take the stream lock in pad's event functions. Fixes
20757         #320299.
20758
20759 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20760         * docs/gst/gstreamer-sections.txt:
20761         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
20762         (gst_structure_fixate_field_nearest_double),
20763         (gst_structure_fixate_field_boolean):
20764         * gst/gststructure.h:
20765         * win32/common/libgstreamer.def:
20766         * win32/gstreamer.def:
20767
20768         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
20769         (#322027)
20770
20771 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20772
20773         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
20774         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
20775         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
20776         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
20777         (gst_fdsrc_uri_handler_init):
20778         * gst/elements/gstfdsrc.h:
20779           Port fd:// URI handler from 0.8 to fdsrc
20780
20781 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20782
20783         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
20784         (gst_value_serialize_fourcc):
20785         * gst/gstvalue.h:
20786           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
20787           consistent with our other format defines (#320324).
20788
20789 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20790
20791         * gst/gstvalue.c: (gst_value_is_fixed):
20792           Revert previous commit. Value lists are by definition
20793           not fixed, as they are a list of possible values.
20794
20795 2005-11-21  Andy Wingo  <wingo@pobox.com>
20796
20797         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
20798         during the stable series if we need it. Fixes #319178.
20799
20800         * gst/gstevent.c (gst_event_new_filler): Removed.
20801
20802         * check/gst/gstevent.c: Update comment about filler events.
20803
20804 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20805
20806         * gst/gstvalue.c: (gst_value_is_fixed):
20807           Should handle both value arrays and value lists.
20808
20809 2005-11-21  Andy Wingo  <wingo@pobox.com>
20810
20811         patch by: Alessandro Dessina <alessandro nnva org>
20812
20813         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
20814         functions to access arrays. Fixes #321962.
20815
20816 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20817
20818         * docs/gst/gstreamer.types:
20819           gst_collectpads_get_type => gst_collect_pads_get_type.
20820           
20821         * gst/base/gstbasetransform.c:
20822           Remove unused SIGNAL_HANDOFF enum.
20823
20824 2005-11-21  Andy Wingo  <wingo@pobox.com>
20825
20826         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
20827         the event type (upstream, downstream, serialized). Renamed
20828         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
20829         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
20830         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
20831
20832         * gst/gstevent.c: Update for new CUSTOM event names.
20833
20834         * check/gst/gstevent.c: Update check for new CUSTOM event names.
20835
20836         * gst/gstevent.h:
20837         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
20838         bug #319392.
20839
20840 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20841
20842         * docs/gst/gstreamer-sections.txt:
20843         * win32/common/libgstbase.def:
20844         * win32/libgstbase.def:
20845         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
20846         (gst_collect_pads_class_init), (gst_collect_pads_init),
20847         (gst_collect_pads_finalize), (gst_collect_pads_new),
20848         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
20849         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
20850         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
20851         (gst_collect_pads_start), (gst_collect_pads_stop),
20852         (gst_collect_pads_peek), (gst_collect_pads_pop),
20853         (gst_collect_pads_available), (gst_collect_pads_read),
20854         (gst_collect_pads_flush), (gst_collect_pads_event),
20855         (gst_collect_pads_chain):
20856         * gst/base/gstcollectpads.h:
20857           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
20858           unimplemented functions as unimplemented. Add padding to
20859           GstCollectData. (#320766, #320423)
20860
20861 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20862
20863         * gst/gstmessage.c:
20864           Improve docs for DURATION message (usage of duration parameter)
20865           (#320113)
20866
20867 2005-11-20  Wim Taymans  <wim@fluendo.com>
20868
20869         * check/Makefile.am:
20870         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
20871         (main):
20872         * gst/Makefile.am:
20873         * gst/gst.h:
20874         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20875         (gst_segment_set_seek), (gst_segment_set_newsegment),
20876         (gst_segment_to_stream_time), (gst_segment_to_running_time),
20877         (gst_segment_clip):
20878         * gst/gstsegment.h:
20879         Added segment helper structure and methods. Not fully implemented
20880         yet.
20881         Added segment check.
20882
20883 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
20884
20885         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20886           Add a deserialisation test for fractions
20887         * examples/metadata/read-metadata.c: (message_loop),
20888         (make_pipeline), (main):
20889           Fix up metadata reading sample.
20890         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
20891           Debug format fix
20892         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
20893           Don't try and fixate empty caps
20894         * gst/gst_private.h:
20895           Wrap in G_BEGIN_DECLS/G_END_DECLS
20896         * gst/gstvalue.c: (gst_value_collect_fraction),
20897         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
20898         (gst_value_transform_string_fraction),
20899         (gst_value_compare_fraction):
20900           Add some extra guards to ensure that we don't end up 
20901           with an invalid denominator of 0 in a gstfraction and
20902           that fractions always get reduced.
20903
20904 2005-11-20  Wim Taymans  <wim@fluendo.com>
20905
20906         * docs/gst/gstreamer-sections.txt:
20907         * gst/gstbuffer.h:
20908         * gst/gstelement.c:
20909         * gst/gstformat.c:
20910         * gst/gstformat.h:
20911         * gst/gstindex.h:
20912         * gst/gstquery.c:
20913         * gst/gstquery.h:
20914         * gst/gstvalue.c:
20915         Doc fixes.
20916
20917 2005-11-20  Wim Taymans  <wim@fluendo.com>
20918
20919         * docs/design/part-TODO.txt:
20920         * gst/gstcaps.h:
20921         Make a proper enum of the flag.
20922
20923 2005-11-19  Wim Taymans  <wim@fluendo.com>
20924
20925         * docs/design/part-TODO.txt:
20926         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
20927         (gst_format_to_quark), (gst_format_register):
20928         * gst/gstformat.h:
20929         * gst/gstquery.c: (_gst_query_initialize),
20930         (gst_query_type_get_name), (gst_query_type_to_quark),
20931         (gst_query_type_register):
20932         * gst/gstquery.h:
20933         Add type to quark and type to string conversions.
20934
20935 2005-11-19  Andy Wingo  <wingo@pobox.com>
20936
20937         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
20938         #320097.
20939
20940 2005-11-19  Wim Taymans  <wim@fluendo.com>
20941
20942         * docs/design/part-TODO.txt:
20943         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
20944         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
20945         (gst_bin_handle_message_func):
20946         * gst/gstbin.h:
20947         Make message handling overridable.
20948
20949 2005-11-19  Andy Wingo  <wingo@pobox.com>
20950
20951         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
20952
20953         * gst/gstclock.h:
20954         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
20955         be a GstClockTime.
20956         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
20957         is a GstClockTime. Fixes #321710.
20958
20959         * gst/gstclock.h (GstClock): Remove offset property. Add
20960         internal_calibration and external_calibration. Fix padding. Pad
20961         also by GstClockTime so we don't run into problems.
20962
20963         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
20964         (gst_clock_get_rate_offset): Remove.
20965         (gst_clock_set_time_adjust): Remove. Fixes #321712.
20966
20967         * gst/gstutils.h:
20968         * gst/gstutils.c (g_static_rec_cond_wait)
20969         (g_static_rec_cond_timed_wait): Removed, no longer needed.
20970
20971         * gst/gstbin.c: Remove terrible continue_state prototype.
20972
20973         * gst/gstelement.h (gst_element_continue_state): Make public.
20974
20975         * gst/gstelement.h:
20976         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
20977         by continue_state. Fixes #319389.
20978
20979         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
20980         Really fixes #168438. However I don't see anywhere where the
20981         filter function is called... stupid GStreamer...
20982         
20983         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
20984         don't have a dispose function, so it won't get called when the
20985         object is unreffed, but oh well!
20986
20987         * gst/gstindex.c (gst_index_set_filter_full): New API function,
20988         allows a destroy function to be set so user_data can be freed.
20989         Fixes #168438.
20990         (gst_index_set_filter): Call gst_index_set_filter_full.
20991
20992         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
20993
20994         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
20995         string should produce an error, given the lack of a way to
20996         represent NULL strings. Fixes #165650.
20997         
20998         * gst/gstvalue.h: 
20999         * gst/gstvalue.c (gst_value_array_append_value) 
21000         (gst_value_array_prepend_value, gst_value_array_get_size) 
21001         (gst_value_array_get_value): New API, copied from
21002         gst_value_list_*, only operates on arrays.
21003         (gst_value_list_append_value, gst_value_list_prepend_value) 
21004         (gst_value_list_concat, gst_value_list_get_size) 
21005         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
21006
21007         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
21008         init_list, because it works on both.
21009         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
21010         (gst_value_copy_list_or_array): Renamed from copy_list.
21011         (gst_value_free_list_or_array): Renamed from free_list.
21012         (gst_value_collect_list_or_array): Renamed from collect_list.
21013         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
21014         (gst_value_list_or_array_peek_pointer): Renamed from
21015         list_peek_pointer.
21016         (_gst_value_array_value_table, _gst_value_list_value_table):
21017         Update value table functions.
21018         (gst_value_compare_list_or_array): Renamed from compare_list.
21019
21020         * gsttaglist.h: Whoops, foreach function returns void. Also fix
21021         some constness.
21022
21023         * gst/gsttaglist.c:
21024         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
21025         GstTagList*. Fixes #143472.
21026
21027         * gst/gststructure.h: Clarify what the foreach/map functions can
21028         or can't do to their arguments.
21029
21030 2005-11-18  Wim Taymans  <wim@fluendo.com>
21031
21032         * gst/gstclock.c: (gst_clock_set_calibration),
21033         (gst_clock_get_calibration):
21034         Doc and API fixes.
21035         Calibration can be set with internal time equal to current
21036         internal time too.
21037
21038 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
21039
21040         * gst/gsterror.c:
21041         * gst/gsterror.h:
21042           document
21043
21044 2005-11-18  Andy Wingo  <wingo@pobox.com>
21045
21046         * configure.ac: 
21047         * pkgconfig/gstreamer-net.pc.in:
21048         * pkgconfig/gstreamer-net-uninstalled.pc.in:
21049         * pkgconfig/Makefile.am: Add net pkgconfig files.
21050
21051 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
21052
21053         * gst/gstcaps.c:
21054         * gst/gstghostpad.c:
21055         * gst/gsttrace.c:
21056         * gst/gstvalue.c:
21057         * gst/gstvalue.h:
21058           docs fixes
21059
21060 2005-11-18  Andy Wingo  <wingo@pobox.com>
21061
21062         * gst/net/gstnetclientclock.c: Turn off debugging.
21063
21064         * check/net/gstnetclientclock.c (test_functioning): Assert that the
21065         times connverge somewhat. Can't make a real test.
21066
21067         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
21068         integer arithmetic. Return the minimum of the domain, which can be
21069         set as "internal" for gst_clock_set_calibration.
21070         (gst_net_client_clock_observe_times): Call _set_calibration.
21071         (gst_net_client_clock_new): Call _set_calibration instead of
21072         rate_offset.
21073
21074         * check/net/gstnetclientclock.c (test_functioning): Use the right
21075         adjustment api.
21076
21077         * gst/gstclock.h:
21078         * gst/gstclock.c (gst_clock_get_calibration) 
21079         (gst_clock_set_calibration): New functions, obsolete the ones I
21080         added yesterday. Doh. Precision issues mean we have to extrapolate
21081         from a point in the more recent past than 1970.
21082         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
21083         obsolete.
21084         (gst_clock_adjust_unlocked): Use the right calibration data.
21085
21086 2005-11-18  Edward Hervey  <edward@fluendo.com>
21087
21088         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
21089         Also reset the ->current_* values in READY->PAUSED
21090
21091 2005-11-18  Andy Wingo  <wingo@pobox.com>
21092
21093         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
21094         Whoops, check the right fd. Also add some debugging.
21095         (gst_net_client_clock_observe_times): Adjust for int64 offset.
21096         (do_linear_regression): Add a crapload of debugging. Subtract off
21097         the minimum values from the input series to discard unneeded bits.
21098         Use only int arithmetic. There is still double arithmetic when
21099         calculating the intercept that needs fixing. Return boolean to
21100         indicate success; FALSE would mean the domain or range is too
21101         great. Still needs fixes.
21102
21103 2005-11-18  Wim Taymans  <wim@fluendo.com>
21104
21105         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
21106         For the current position in stream time, we need to subtract
21107         accumulated time.
21108         
21109         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
21110         Release lock before calling the callback function of async
21111         entries.
21112
21113 2005-11-18  Andy Wingo  <wingo@pobox.com>
21114
21115         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
21116         Port goes all the way to MAXUINT16.
21117
21118         * gst/net/gstnettimeprovider.c: Make the port range the same as
21119         for the kernel: 0 assigns, otherwise ports are less than
21120         MAXUINT16.
21121
21122         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
21123         port change.
21124
21125         * check/net/gstnetclientclock.c (test_functioning): Add the start
21126         of another test. 
21127
21128 2005-11-18  Wim Taymans  <wim@fluendo.com>
21129
21130         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
21131         (gst_bin_remove_func), (bin_bus_handler):
21132         * gst/gstbin.h:
21133         Removing a clock provider from a bin, triggers a clock lost message
21134         so that a new clock will be selected.
21135         Adding a clock to a bin triggers a clock provider message.
21136         Make sure we reselect a clock when we received a clock lost message.
21137         Keep a reference to the element that provided the clock.
21138
21139 2005-11-18  Andy Wingo  <wingo@pobox.com>
21140
21141         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
21142         the clock initially so it produces values around the base time.
21143         (gst_net_client_clock_class_init): Typo fix.
21144         (gst_net_client_clock_thread): Add note on when the socket gets
21145         closed.
21146
21147 2005-11-17  Wim Taymans  <wim@fluendo.com>
21148
21149         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
21150         Free remote and local time arrays.
21151
21152 2005-11-17  Wim Taymans  <wim@fluendo.com>
21153
21154         * gst/net/gstnetclientclock.c: (do_linear_regression),
21155         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
21156         Fix compilation, uninitialized vars and a forgotten continue.
21157
21158 2005-11-17  Andy Wingo  <wingo@pobox.com>
21159
21160         * check/Makefile.am (check_PROGRAMS): 
21161         * check/net/gstnetclientclock.c: Add a most minimal test for the
21162         net client clock. More to come later.
21163
21164         * gst/net/gstnet.h: 
21165         * gst/net/Makefile.am: Add netclientclock.
21166
21167         * gst/net/gstnetclientclock.h:
21168         * gst/net/gstnetclientclock.c: New files, implement an untested
21169         GstClock that takes its time from a network time provider.
21170         Implements the algorithm in network-clock.scm.
21171
21172         * tests/network-clock.scm (*window-size*): Rename from
21173         *queue-length*.
21174         * tests/network-clock.scm (network-time): 
21175         * tests/network-clock-utils.scm (q-push): Update callers.
21176
21177 2005-11-17  Wim Taymans  <wim@fluendo.com>
21178
21179         * gst/gstbin.c: (gst_bin_provide_clock_func),
21180         (gst_bin_sort_iterator_new):
21181         And unref the child too..
21182
21183 2005-11-17  Wim Taymans  <wim@fluendo.com>
21184
21185         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
21186         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
21187         Refactor the sort iterator so it can be used while holding the
21188         LOCK too.
21189         Make clock selection select a clock closest to the source.
21190
21191 2005-11-17  Michael Smith <msmith@fluendo.com>
21192
21193         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
21194         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
21195         * gst/gstclock.h:
21196           Anonymous structs are a gcc (and some other compilers) extension, so
21197           don't use them. Since this is only for ABI-compatibility, and our
21198           API/ABI freeze is over in a few days, this whole thing will only
21199           last a few days, so don't bother trying to think up a meaningful
21200           name for the struct.
21201
21202 2005-11-17  Andy Wingo  <wingo@pobox.com>
21203
21204         * gst/gstclock.h (GstClock): Add rate and offset properties,
21205         preserving ABI stability. Add rate/offset accessors. Will file bug
21206         for the freeze break.
21207
21208         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
21209         and offset, trying to keep precision and avoiding
21210         underflow/overflow.
21211         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
21212         functions. Make gst_clock_set_time_adjust obsolete.
21213         (gst_clock_set_time_adjust): Note that this function is obsolete.
21214         Will file bug soon.
21215
21216         * gst/base/gstbasetransform.h: Make the ABI-stability hack
21217         greppable by using GST_PADDING-1+1.
21218
21219 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
21220
21221         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
21222
21223         * gst/gstmessage.c: (gst_message_parse_clock_lost):
21224           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
21225
21226         * gst/gstpadtemplate.h:
21227         * gst/gstpluginfeature.h:
21228           Don't use c++ style comments in headers (#321638).
21229
21230 2005-11-16  Andy Wingo  <wingo@pobox.com>
21231
21232         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
21233         buffer.
21234
21235         * check/net/gstnettimeprovider.c: Check to see that the time
21236         provider actually provides times. Works, yo!
21237
21238 2005-11-16  Wim Taymans  <wim@fluendo.com>
21239
21240         * check/Makefile.am:
21241         Enable more tests.
21242
21243         * check/elements/fakesrc.c: (GST_START_TEST):
21244         Set element to NULL before disposing it.
21245
21246 2005-11-16  Andy Wingo  <wingo@pobox.com>
21247
21248         * gst/net/Makefile.am:
21249         * gst/net/gstnet.h:
21250         * gst/net/gstnettimeprovider.c: 
21251         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
21252         provider, include it from gstnet.h, and add it to the build.
21253
21254         * gst/net/gstnettimepacket.h: 
21255         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
21256         sending and receiving.
21257
21258 2005-11-16  Wim Taymans  <wim@fluendo.com>
21259
21260         * check/Makefile.am:
21261         Enable valgrind check.
21262
21263         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
21264         (gst_fake_src_alloc_buffer):
21265         Fix memleak.
21266
21267 2005-11-16  Wim Taymans  <wim@fluendo.com>
21268
21269         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
21270         Call parent finalize too.
21271
21272 2005-11-16  Wim Taymans  <wim@fluendo.com>
21273
21274         * check/Makefile.am:
21275         Enable valgrind check that should work fine now.
21276
21277         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21278         * gst/gstqueue.c: (gst_queue_init):
21279         Fix memleaks in pad allocation.
21280
21281 2005-11-16  Andy Wingo  <wingo@pobox.com>
21282
21283         * gst/net/Makefile.am:
21284         * gst/net/gstnet.h: New part of core to hold network elements and
21285         objects. Put in core because it exposes API that applications want
21286         to use. The library is named libgstnet-tempname right now because
21287         of the existing libgstnet in gst-plugins-base. Solution is
21288         probably to rename the one in plugins-base; will file a bug for
21289         the freeze break.
21290
21291         * gst/net/gstnettimeprovider.c: 
21292         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
21293         get_time call over the network.
21294
21295         * configure.ac: 
21296         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
21297
21298         * check/Makefile.am:
21299         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
21300         get additions shortly.
21301
21302 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21303
21304         * gst/gstpad.c: (gst_pad_new_from_static_template):
21305         * gst/gstpad.h:
21306           add gst_pad_new_from_static_template functions
21307         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
21308         (gst_check_setup_sink_pad):
21309         * gst/elements/gsttee.c: (gst_tee_init):
21310           and use them
21311
21312 2005-11-16  Wim Taymans  <wim@fluendo.com>
21313
21314         * gst/gstpad.c: (gst_pad_pause_task):
21315         Removed warning, it's not really an error either.
21316
21317 2005-11-16  Wim Taymans  <wim@fluendo.com>
21318
21319         * gst/base/gstbasetransform.c:
21320         (gst_base_transform_prepare_output_buf),
21321         (gst_base_transform_event):
21322         Check if the caps are NULL, this can happen if the element
21323         is shutting down and the pad caps are set to NULL.
21324
21325 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21326
21327         * gst/elements/gsttee.c: (gst_tee_init):
21328           fix pad template leak in tee
21329
21330 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21331
21332         * gst/glib-compat.c: (g_value_dup_gst_object):
21333         * gst/glib-compat.h:
21334         * gst/gstpad.c: (gst_pad_set_property):
21335           use gst_object_ref when setting the pad template; this will
21336           trigger the pad template leaks on GLib 2.6 and the slaves
21337
21338 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21339
21340         * gst/glib-compat.c: (gst_flags_get_first_value):
21341         * gst/glib-compat.h:
21342         * gst/gstregistryxml.c:
21343           remove functions copied from GLib 2.6
21344
21345 2005-11-16  Michael Smith <msmith@fluendo.com>
21346
21347         * gst/Makefile.am:
21348           Don't link against VALGRIND_LIBS. That was always the wrong thing to
21349           do, but only breaks with newer valgrind versions. We're not a
21350           valgrind tool, we have no link-time dependencies on libcoregrind.
21351
21352 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21353
21354         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
21355           some debug changes
21356         * gst/gstmessage.h:
21357           typo fixes
21358
21359 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21360
21361         * gst/base/gstbasesrc.c: (gst_base_src_init):
21362         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21363         * gst/gstqueue.c: (gst_queue_init):
21364         * gst/gstregistryxml.c: (load_feature):
21365           Revert all these unrefs, they don't even pass make check !
21366
21367 2005-11-15  Johan Dahlin  <johan@gnome.org>
21368
21369         * gst/base/gstbasesrc.c: (gst_base_src_init):
21370         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21371         * gst/gstqueue.c: (gst_queue_init): 
21372         Free pad templates, fixes a couple of leaks.
21373
21374 2005-11-15  Daniel Fischer  <dan at f3c dot com>
21375
21376         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
21377
21378         * gst/gstpad.c: (gst_pad_get_property):
21379           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
21380           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
21381           (#321452)
21382
21383 2005-11-15  Wim Taymans  <wim@fluendo.com>
21384
21385         * gst/gstevent.c:
21386         Small doc update.
21387
21388 2005-11-15  Andy Wingo  <wingo@pobox.com>
21389
21390         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
21391
21392         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
21393         using GST_CLOCK_TIME_NONE to disable base time management.
21394         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
21395         time if it was NONE before.
21396         (gst_pipeline_change_state): Only munge the base time if
21397         stream_time != GST_CLOCK_TIME_NONE.
21398
21399         * check/gst/gstpipeline.c (test_base_time): Punt around the
21400         problem of the probe not being called, because that's not the
21401         issue I'm looking at. Add a check that setting stream_time to NONE
21402         disables base time management.
21403         
21404 2005-11-15  Wim Taymans  <wim@fluendo.com>
21405
21406         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
21407         segment_stop == -1 at startup.
21408
21409         * gst/base/gstbasetransform.c: (gst_base_transform_event),
21410         (gst_base_transform_change_state):
21411         Init segment values at start.
21412
21413 2005-11-15  Wim Taymans  <wim@fluendo.com>
21414
21415         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21416         0 segment values are 0 in any format.
21417
21418         * gst/base/gstbasetransform.c: (gst_base_transform_event):
21419         * gst/base/gstbasetransform.h:
21420         Parse newsegment correctly in basetransform
21421
21422         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
21423         Sync to clock using updated segment values.
21424
21425 2005-11-15  Andy Wingo  <wingo@pobox.com>
21426
21427         * check/gst/gstpipeline.c (test_base_time): Add check that the
21428         base time and stream time are reset correctly.
21429
21430 2005-11-15  Wim Taymans  <wim@fluendo.com>
21431
21432         * docs/design/part-TODO.txt:
21433         Some more TODO items.
21434
21435 2005-11-15  Andy Wingo  <wingo@pobox.com>
21436
21437         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
21438         error if the user selected "no clock" as the clocking method.
21439
21440         * check/gst/gstpipeline.c (test_base_time): New test for buffer
21441         timestamps with live capture.
21442
21443         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
21444         is 0 but we are a live source, timestamp the buffers using the
21445         element's clock.
21446
21447 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
21448
21449         * docs/gst/gstreamer-sections.txt:
21450         * gst/gsterror.c:
21451         * gst/gstghostpad.c:
21452         * gst/gstobject.h:
21453         * gst/gstxml.c:
21454           more section docs
21455
21456 2005-11-14  Wim Taymans  <wim@fluendo.com>
21457
21458         * common/gst.supp:
21459           add suppressions from Wim's Debian machine
21460
21461 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
21462
21463         * common/gst.supp:
21464           add suppressions from Andy's AMD64 Ubuntu machine
21465
21466 2005-11-14  Andy Wingo  <wingo@pobox.com>
21467
21468         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
21469         STATE_LOCK not necessary. Fixes #311489.
21470
21471         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
21472         #305291.
21473
21474         * gst/gstindex.c (gst_index_add_object): Note in the docs that
21475         this function is not implemented.
21476
21477 2005-11-14  Julien MOUTTE  <julien@moutte.net>
21478
21479         * gst/base/gstbasetransform.c:
21480         (gst_base_transform_prepare_output_buf):
21481         Ref the source pad caps while we need them.
21482         Fixes (#321386)
21483
21484 2005-11-11  Wim Taymans  <wim@fluendo.com>
21485
21486         * docs/gst/gstreamer-sections.txt:
21487         Added some docs for GstCollectData.
21488
21489         * gst/base/gstadapter.c:
21490         Some small code example fix.
21491
21492         * gst/base/gstcollectpads.c:
21493         * gst/base/gstcollectpads.h:
21494         Document some more.
21495
21496 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21497
21498         * configure.ac: back to HEAD
21499
21500 === release 0.9.5 ===
21501
21502 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
21503
21504         * configure.ac:
21505           releasing 0.9.5, "Bike Lunch Day"
21506
21507 2005-11-11  Wim Taymans  <wim@fluendo.com>
21508
21509         * gst/gstbuffer.c: (_gst_buffer_copy):
21510         Copy more flags.
21511
21512         * gst/gstcaps.c: (gst_caps_is_equal):
21513         Fix some docs.
21514         Make _is_equal fast in the trivial cases.
21515
21516         * gst/gstminiobject.c:
21517         * gst/gstminiobject.h:
21518         More docs. Spifify .h file.
21519
21520         * gst/gstutils.c:
21521         Small doc update.
21522
21523 2005-11-11  Wim Taymans  <wim@fluendo.com>
21524
21525         * gst/base/gstbasetransform.c:
21526         (gst_base_transform_prepare_output_buf),
21527         (gst_base_transform_handle_buffer):
21528         Small cleanups.
21529         If we're processing a buffer and need to allocate an output
21530         buffer, we cannot accept a format change. If we did get a 
21531         format change, we have to alloc a buffer ourselves of the 
21532         right size.
21533
21534 2005-11-11  Wim Taymans  <wim@fluendo.com>
21535
21536         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
21537         While checking the flag for reentrancy in the gstcaps function
21538         is nice to detect recursive invocations, it also makes it 
21539         impossible to call getcaps from multiple threads, which must be
21540         possible. So, checking for recursive calls has to go.
21541
21542 2005-11-11  Michael Smith <msmith@fluendo.com>
21543
21544         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21545           Don't sync on buffers that fall partially outside our current
21546           segment. Prevents an assertion failure/abort playing some files.
21547
21548 2005-11-10  Andy Wingo  <wingo@pobox.com>
21549
21550         * check/gst/gstbin.c (test_message_state_changed_children): Style
21551         fix..
21552
21553         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
21554         gst_bus_poll with the signal watch. Ensures that poll and a signal
21555         watch see the same messages.
21556
21557         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
21558         a poll and a watch at the same time get the same messages.
21559
21560 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21561
21562         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
21563         * gst/gstcaps.c: (gst_caps_intersect):
21564           Don't call gst_caps_do_simplify - it doesn't respect order of caps
21565           and it's not needed.
21566
21567 2005-11-10  Wim Taymans  <wim@fluendo.com>
21568
21569         * docs/design/part-TODO.txt:
21570         Updated todo.
21571
21572 2005-11-10  Wim Taymans  <wim@fluendo.com>
21573
21574         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21575         * gst/base/gstbasesrc.c: (gst_base_src_wait),
21576         (gst_base_src_do_sync), (gst_base_src_get_range):
21577         Implement clock sync in base class.
21578
21579 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21580
21581         patch by: Tim-Philipp Müller <tim at centricular dot net>
21582
21583         * gst/gststructure.c: (gst_structure_parse_field),
21584         (gst_structure_from_string):
21585           Forward-port a 0.8 patch to handle escaped spaces in structure string,
21586           so that gst_parse_launch() can deal with spaces in filtered link
21587           caps (fixes #164479)
21588         * check/gst/capslist.h:
21589         * check/gst/gststructure.c: (GST_START_TEST):
21590           add unit tests for this change
21591
21592 2005-11-10  Wim Taymans  <wim@fluendo.com>
21593
21594         * docs/gst/gstreamer-sections.txt:
21595         * gst/gstelement.c:
21596         * gst/gstelement.h:
21597         Fix docs, move some STATE macros to private.
21598
21599 2005-11-10  Wim Taymans  <wim@fluendo.com>
21600
21601         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
21602         Added check for bug #317341
21603
21604         * gst/gstbuffer.c:
21605         * gst/gstbuffer.h:
21606         Some more spiffifying.
21607
21608         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
21609         Call peer linkfunction if we are a source pad. Totally fixes
21610         #317341
21611
21612         * gst/gstpad.c:
21613         Update docs, source pads should call the peer linkfunction
21614         so they can atomically perform the pad link.
21615
21616 2005-11-09  Wim Taymans  <wim@fluendo.com>
21617
21618         * gst/gstbuffer.c:
21619         * gst/gstbuffer.h:
21620         Uber-spiffy-spiffify some more.
21621
21622 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
21623
21624         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
21625         * gst/elements/gstfilesink.c: (gst_file_sink_init):
21626         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21627         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
21628         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
21629         * gst/gstpad.c: (gst_pad_init):
21630           Use GST_DEBUG_FUNCPTR() more extensively.
21631
21632 2005-11-09  Wim Taymans  <wim@fluendo.com>
21633
21634         * gst/gstobject.c: (gst_object_class_init):
21635         * gst/gstobject.h:
21636         Documentation fixes.
21637
21638 2005-11-09  Edward Hervey  <edward@fluendo.com>
21639
21640         * gst/gsttypefindfactory.c:
21641         Fix docs.
21642         
21643 2005-11-09  Edward Hervey  <edward@fluendo.com>
21644
21645         * gst/base/gsttypefindhelper.c:
21646         * gst/gsttypefind.c:
21647         * gst/gsttypefind.h:
21648         Fix docs.
21649
21650 2005-11-09  Wim Taymans  <wim@fluendo.com>
21651
21652         * gst/gstiterator.c:
21653         Fix revision data.
21654
21655         * gst/gsttask.c:
21656         * gst/gsttask.h:
21657         Fix docs.
21658
21659 2005-11-09  Wim Taymans  <wim@fluendo.com>
21660
21661         * gst/gstevent.h:
21662         * gst/gsturi.h:
21663         Fix docs.
21664
21665 2005-11-09  Wim Taymans  <wim@fluendo.com>
21666
21667         * docs/gst/gstreamer-sections.txt:
21668         Moved the message async delivery private lock and cond
21669         to the private section.
21670
21671         * gst/gstmessage.c:
21672         * gst/gstmessage.h:
21673         Fixed docs.
21674
21675 2005-11-09  Edward Hervey  <edward@fluendo.com>
21676
21677         * docs/gst/gstreamer-sections.txt:
21678         * gst/gsturi.c:
21679         * gst/gsturi.h:
21680         Document GstURIHandler
21681
21682 2005-11-09  Wim Taymans  <wim@fluendo.com>
21683
21684         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
21685         (gst_iterator_find_custom):
21686         * gst/gstiterator.h:
21687         Fix iterator docs.
21688
21689 2005-11-09  Wim Taymans  <wim@fluendo.com>
21690
21691         * gst/gstbin.h:
21692         Document another field.
21693
21694         * gst/gststructure.c:
21695         * gst/gststructure.h:
21696         Document.
21697
21698 2005-11-09  Wim Taymans  <wim@fluendo.com>
21699
21700         * gst/gstbin.h:
21701         Documented structs.
21702
21703 2005-11-09  Wim Taymans  <wim@fluendo.com>
21704
21705         * docs/gst/gstreamer-sections.txt:
21706         Added some new macros.
21707
21708         * gst/gstclock.c:
21709         * gst/gstclock.h:
21710         * gst/gstobject.h:
21711         Docs updates.
21712
21713 2005-11-09  Wim Taymans  <wim@fluendo.com>
21714
21715         * docs/design/part-TODO.txt:
21716         Some more items for the TODO
21717
21718         * gst/gstcaps.c:
21719         * gst/gstcaps.h:
21720         Document GstCaps.
21721
21722 2005-11-09  Andy Wingo  <wingo@pobox.com>
21723
21724         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
21725         to work on something else now tho...
21726
21727         * gst/base/gstadapter.c: More adapter docs.
21728
21729         * gst/elements/gstfilesink.c (gst_file_sink_start) 
21730         (gst_file_sink_stop): New functions, replace the state change
21731         handler.
21732         (gst_file_sink_class_init): Hook up the start and stop functions.
21733         (gst_file_sink_base_init): Don't set the state change handler any
21734         more. It was a bit ugly too, being set from here...
21735         (gst_file_sink_get_property, gst_file_sink_set_property):
21736         Cleanups...
21737         (gst_file_sink_set_location): More robust check that doesn't call
21738         GST_STATE. Ugggggg.
21739
21740 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
21741
21742         * gst/base/gstbasetransform.c: (gst_base_transform_event):
21743           Hold STREAM_LOCK while pushing newsegment or tag events as well.
21744
21745 2005-11-08  Wim Taymans  <wim@fluendo.com>
21746
21747         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
21748         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
21749         (gst_base_sink_chain), (gst_base_sink_change_state):
21750         * gst/base/gstbasesink.h:
21751         * gst/base/gstbasesrc.h:
21752         * gst/gstelement.h:
21753         * gst/gstevent.h:
21754         Avoid excessive typechecking in macros.
21755
21756         * gst/gstminiobject.c: (gst_mini_object_get_type),
21757         (gst_mini_object_init), (gst_mini_object_new),
21758         (gst_mini_object_free):
21759         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
21760         (gst_object_finalize):
21761         Remove cruft code, optimize alloc_trace.
21762
21763 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
21764
21765         * docs/faq/gst-uninstalled:
21766           fix up PS1 for systems that try to reset it
21767
21768 2005-11-07  Wim Taymans  <wim@fluendo.com>
21769
21770         * gst/base/gstbasesrc.c: (gst_base_src_init),
21771         (gst_base_src_get_range):
21772         Set the segment_end to -1 initially. Fixed typefind.
21773
21774 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
21775
21776         * gst/base/gstadapter.c:
21777           Debug category should be 'adapter', not 'GstAdapter'.
21778           
21779         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
21780         (gst_collectpads_class_init), (gst_collectpads_init),
21781         (gst_collectpads_peek), (gst_collectpads_pop),
21782         (gst_collectpads_event), (gst_collectpads_chain):
21783           Add debug category and some debugging output. Use boilerplate
21784           macros. Remove some extraneous words from docs.
21785
21786 2005-11-05  Andy Wingo  <wingo@pobox.com>
21787
21788         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
21789         macro.
21790
21791 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
21792
21793         * docs/gst/gstreamer-sections.txt:
21794         * gst/gstcaps.h:
21795         * gst/gstinfo.c:
21796         * gst/gstminiobject.h:
21797         * gst/gstobject.h:
21798         * gst/gstutils.h:
21799           more docs added
21800
21801 2005-11-04  Wim Taymans  <wim@fluendo.com>
21802
21803         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21804         Small update to stop at the configured segment_end
21805         position.
21806
21807 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
21808
21809         * gst/gstregistry.c:
21810         * gst/gstregistry.h:
21811           added missing docs
21812
21813 2005-11-04  Edward Hervey  <edward@fluendo.com>
21814
21815         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21816         Check if we are doing a segment seek and have arrived at the
21817         end of that segment.
21818
21819 2005-11-04  Wim Taymans  <wim@fluendo.com>
21820
21821         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
21822         Don't leak a mutex unlock in case of an error.
21823
21824         * gst/gstbus.h:
21825         Doc fixes.
21826
21827 2005-11-04  Wim Taymans  <wim@fluendo.com>
21828
21829         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
21830         (gst_bus_post):
21831         Get the context to wake up only once.
21832
21833 2005-11-03  Wim Taymans  <wim@fluendo.com>
21834
21835         * check/states/sinks.c: (GST_START_TEST):
21836         Uncomment fixed check.
21837
21838         * docs/design/part-TODO.txt:
21839         Updated TODO.
21840
21841         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21842         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
21843         (gst_base_sink_get_position):
21844         If we are going to PLAYING, post the right pending state
21845         when we post the intermediate paused message.
21846
21847         * gst/gstelement.c: (gst_element_continue_state),
21848         (gst_element_set_state_func), (gst_element_change_state):
21849         Don't post state changes that were between the same state
21850         and were not ASYNC.
21851
21852 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
21853
21854         * docs/gst/gstreamer-sections.txt:
21855         * gst/gstcaps.h:
21856         * gst/gstinfo.c:
21857         * gst/gstminiobject.h:
21858         * gst/gstobject.h:
21859         * gst/gstutils.h:
21860           more docs and doc style fixes
21861
21862 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
21863
21864         * docs/gst/gstreamer-sections.txt:
21865         * gst/gstelement.c:
21866         * gst/gstminiobject.c:
21867         doc fixes
21868
21869 2005-11-03  Andy Wingo  <wingo@pobox.com>
21870
21871         * check/states/sinks.c (test_livesrc_sink): Add checks that the
21872         state-changed messages actually have the right order and the right
21873         values.
21874
21875 2005-11-03  Wim Taymans  <wim@fluendo.com>
21876
21877         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
21878         Added some more checks. Specifically the case where NO_PREROLL
21879         elements are in the pipeline.
21880
21881         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21882         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
21883         (gst_base_sink_get_position):
21884         Post READY->PAUSED state change messages too.
21885         Fix bug where VOID was posted as pending state...
21886
21887         * gst/gstbin.c: (gst_bin_recalc_state):
21888         use _element_continue_state() to continue the state change.
21889
21890         * gst/gstelement.c: (gst_element_continue_state),
21891         (gst_element_commit_state), (gst_element_set_state_func),
21892         (gst_element_change_state), (gst_element_change_state_func):
21893         Lots of state change cleanups, assign the STATE_RETURN in
21894         a new continue_state() function that also propagates the
21895         last return value from a state change to the app.
21896         Update some debug statements with proper category.
21897
21898 2005-11-03  Wim Taymans  <wim@fluendo.com>
21899
21900         * docs/design/part-events.txt:
21901         * docs/design/part-gstpipeline.txt:
21902         * docs/design/part-messages.txt:
21903         * docs/design/part-overview.txt:
21904         * docs/design/part-seeking.txt:
21905         * docs/design/part-states.txt:
21906         * docs/design/part-trickmodes.txt:
21907         * docs/manual/advanced-position.xml:
21908         Small docs updates.
21909
21910         * gst/gstobject.h:
21911         People think !! is ugly, this looks better.
21912
21913         * gst/gstpad.c: (gst_pad_set_blocked_async):
21914         Remove !! since it's fixed elsewhere now.
21915
21916 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
21917
21918         * gst/gstminiobject.h:
21919         * gst/gstobject.h:
21920           Add !! to _FLAG_IS_SET macros to make the result boolean.
21921
21922 2005-11-03  Edward Hervey  <edward@fluendo.com>
21923
21924         * gst/gstpad.c: (gst_pad_set_blocked_async):
21925         comparing a flag and a gboolean rarely returns coherent results...
21926         Added two characters (!!) to make that work correctly.
21927         
21928 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
21929
21930         * gst/gstbus.c: (gst_bus_class_init):
21931           Fix some typos.
21932           
21933         * gst/gstqueue.c: (gst_queue_loop):
21934           Don't assume a miniobject that isn't a buffer is an
21935           event (it could be that there is a refcounting
21936           problem somewhere and the pointer is stale and
21937           refers to an already destroyed miniobject).
21938
21939 2005-11-03  Julien MOUTTE  <julien@moutte.net>
21940
21941         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
21942
21943 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
21944
21945         * docs/manual/advanced-position.xml:
21946           Update seek example and explanations to current 0.9 API.
21947
21948         * gst/elements/gsttypefindelement.c:
21949         (gst_type_find_element_activate):
21950           Remove FIXME comment now that the found caps
21951           are unreffed.
21952
21953 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
21954
21955         * gst/gstregistryxml.c: (load_feature):
21956           Add another GST_STR_NULL instance
21957
21958 2005-11-02  Edward Hervey  <edward@fluendo.com>
21959
21960         * gst/gstpad.c: (handle_pad_block):
21961         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
21962         
21963 2005-11-02  Wim Taymans  <wim@fluendo.com>
21964
21965         * gst/gstbin.c:
21966         Fix typo in docs.
21967
21968         * gst/gstelement.c: (gst_element_commit_state):
21969         Remove unused value.
21970
21971         * gst/gstiterator.c:
21972         Mention that the returned element is reffed in the docs.
21973
21974 2005-11-02  Wim Taymans  <wim@fluendo.com>
21975
21976         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
21977         (gst_pad_push), (gst_pad_push_event):
21978         Unlock blocked pads when they are flushed.
21979
21980 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21981
21982         * docs/README:
21983         * docs/gst/gstreamer-sections.txt:
21984         * gst/gstbin.c:
21985           doc updates
21986         * gst/gstregistry.c: (gst_registry_scan_path_level):
21987           fix for a nasty little missed situation where an installed plug-in
21988           which was in the cache did not get overridden by an uninstalled one
21989           which was earlier in the plugin path because the newly created plugin
21990           for the uninstalled one (not in the registry) didn't get its
21991           ->registered set to TRUE
21992
21993 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
21994
21995         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
21996         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
21997         (gst_collectpads_is_active), (gst_collectpads_collect),
21998         (gst_collectpads_collect_range), (gst_collectpads_start),
21999         (gst_collectpads_stop), (gst_collectpads_peek),
22000         (gst_collectpads_pop), (gst_collectpads_available),
22001         (gst_collectpads_read), (gst_collectpads_flush):
22002           Guard public API with assertions.
22003         
22004         * gst/gstpad.c:
22005           Fix docs for gst_pad_set_link_function().
22006
22007 2005-11-02  Johan Dahlin  <johan@gnome.org>
22008
22009         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
22010         Unref found_caps after we used it.
22011
22012 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
22013
22014         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
22015           Don't try to ref NULL.
22016
22017 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
22018
22019         * win32/common/config.h.in:
22020           provide a GST_FUNCTION that just gives a string for now
22021
22022 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
22023
22024         * win32/common/gstenumtypes.c: (register_gst_object_flags),
22025         (gst_object_flags_get_type), (register_gst_bin_flags),
22026         (gst_bin_flags_get_type), (register_gst_buffer_flag),
22027         (gst_buffer_flag_get_type), (register_gst_bus_flags),
22028         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
22029         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
22030         (gst_clock_return_get_type), (register_gst_clock_entry_type),
22031         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
22032         (gst_clock_flags_get_type), (register_gst_state),
22033         (gst_state_get_type), (register_gst_state_change_return),
22034         (gst_state_change_return_get_type), (register_gst_state_change),
22035         (gst_state_change_get_type), (register_gst_element_flags),
22036         (gst_element_flags_get_type), (register_gst_core_error),
22037         (gst_core_error_get_type), (register_gst_library_error),
22038         (gst_library_error_get_type), (register_gst_resource_error),
22039         (gst_resource_error_get_type), (register_gst_stream_error),
22040         (gst_stream_error_get_type), (register_gst_event_type),
22041         (gst_event_type_get_type), (register_gst_seek_type),
22042         (gst_seek_type_get_type), (register_gst_seek_flags),
22043         (gst_seek_flags_get_type), (register_gst_format),
22044         (gst_format_get_type), (register_gst_index_certainty),
22045         (gst_index_certainty_get_type), (register_gst_index_entry_type),
22046         (gst_index_entry_type_get_type),
22047         (register_gst_index_lookup_method),
22048         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
22049         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
22050         (gst_index_resolver_method_get_type), (register_gst_index_flags),
22051         (gst_index_flags_get_type), (register_gst_debug_level),
22052         (gst_debug_level_get_type), (register_gst_debug_color_flags),
22053         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
22054         (gst_iterator_result_get_type), (register_gst_iterator_item),
22055         (gst_iterator_item_get_type), (register_gst_message_type),
22056         (gst_message_type_get_type), (register_gst_mini_object_flags),
22057         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
22058         (gst_pad_link_return_get_type), (register_gst_flow_return),
22059         (gst_flow_return_get_type), (register_gst_activate_mode),
22060         (gst_activate_mode_get_type), (register_gst_pad_direction),
22061         (gst_pad_direction_get_type), (register_gst_pad_flags),
22062         (gst_pad_flags_get_type), (register_gst_pad_presence),
22063         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
22064         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
22065         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
22066         (gst_plugin_error_get_type), (register_gst_plugin_flags),
22067         (gst_plugin_flags_get_type), (register_gst_rank),
22068         (gst_rank_get_type), (register_gst_query_type),
22069         (gst_query_type_get_type), (register_gst_tag_merge_mode),
22070         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
22071         (gst_tag_flag_get_type), (register_gst_task_state),
22072         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
22073         (gst_alloc_trace_flags_get_type),
22074         (register_gst_type_find_probability),
22075         (gst_type_find_probability_get_type), (register_gst_uri_type),
22076         (gst_uri_type_get_type), (register_gst_parse_error),
22077         (gst_parse_error_get_type):
22078         * win32/common/gstversion.h:
22079           update win32 copies
22080
22081 2005-11-01  Luca Ognibene  <luogni@tin.it>
22082
22083         * gst/gst.c:
22084           fix docs. popt is dead, long live GOption.
22085
22086 2005-10-31  Wim Taymans  <wim@fluendo.com>
22087
22088         * gst/gstbuffer.h:
22089         Small doc fix.
22090
22091 2005-10-31  Andy Wingo  <wingo@pobox.com>
22092
22093         * Boo!
22094
22095         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
22096
22097         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
22098         need to serialize property notifications on GLib 2.8. GLib 2.6 has
22099         the possibility of deadlocks here if code calling notify() or
22100         set() has a lock that can be taken in another notify handler (ABBA
22101         with class lock and e.g. python GIL state lock).
22102
22103 2005-10-28  Julien MOUTTE  <julien@moutte.net>
22104
22105         * gst/gstbus.c: Doc updates.
22106
22107 2005-10-28  Wim Taymans  <wim@fluendo.com>
22108
22109         * docs/design/part-TODO.txt:
22110         * gst/gstiterator.c:
22111         * gst/gstsystemclock.c:
22112         * gst/gstsystemclock.h:
22113         Doc updates.
22114
22115 2005-10-28  Edward Hervey  <edward@fluendo.com>
22116
22117         * docs/gst/gstreamer-docs.sgml:
22118         * docs/gst/gstreamer-sections.txt:
22119         the GstURIType documentation page is private, it only defines GstURIType
22120         which should be defined in the GstURIHandler page
22121         
22122 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
22123
22124         * gst/gstbin.c: (gst_bin_class_init):
22125         * gst/gstbin.h:
22126         * gst/gstutils.c:
22127         Documentation updates.
22128
22129 2005-10-28  Wim Taymans  <wim@fluendo.com>
22130
22131         * docs/gst/gstreamer-sections.txt:
22132         * gst/gstclock.c:
22133         * gst/gstclock.h:
22134         Documented the clocks.
22135
22136 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
22137
22138         * docs/gst/gstreamer-sections.txt:
22139           move some macros to private sections
22140         * gst/gstminiobject.c:
22141         * gst/gstminiobject.h:
22142           add descriptions provided by ds and some more
22143         * gst/gstpad.h:
22144           mark macro as to be removed
22145
22146 2005-10-28  Wim Taymans  <wim@fluendo.com>
22147
22148         * docs/design/part-TODO.txt:
22149         Add an item to TODO.
22150
22151         * gst/gstiterator.c: (gst_iterator_fold),
22152         (gst_iterator_find_custom):
22153         * gst/gstiterator.h:
22154         Add iterator docs.
22155
22156 2005-10-28  Wim Taymans  <wim@fluendo.com>
22157
22158         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
22159         (gst_base_transform_init):
22160         Don't leak class.
22161
22162         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
22163         An EOS event marks the queue as completely filled.
22164
22165 2005-10-27  Wim Taymans  <wim@fluendo.com>
22166
22167         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22168         (gst_base_sink_do_sync), (gst_base_sink_get_position):
22169         Some more debugging.
22170
22171         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
22172         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
22173         (gst_base_transform_event), (gst_base_transform_getrange),
22174         (gst_base_transform_chain):
22175         * gst/base/gstbasetransform.h:
22176         Fix debugging,
22177         Protect transform and concurrent buffer alloc with a new lock.
22178         Try not to break ABI/API.
22179
22180 2005-10-27  Wim Taymans  <wim@fluendo.com>
22181
22182         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22183         (gst_base_src_init), (gst_base_src_query),
22184         (gst_base_src_default_newsegment),
22185         (gst_base_src_configure_segment), (gst_base_src_do_seek),
22186         (gst_base_src_send_event), (gst_base_src_event_handler),
22187         (gst_base_src_pad_get_range), (gst_base_src_loop),
22188         (gst_base_src_unlock), (gst_base_src_default_negotiate),
22189         (gst_base_src_start), (gst_base_src_deactivate),
22190         (gst_base_src_activate_push), (gst_base_src_change_state):
22191         Move some stuff around and cleanup things.
22192
22193 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
22194
22195         * gst/base/gstbasesrc.c: (gst_base_src_query):
22196           Add missing break statements.
22197
22198 2005-10-27  Wim Taymans  <wim@fluendo.com>
22199
22200         * check/gst/gstbin.c: (GST_START_TEST):
22201         An extra refcount is taken in basesrc.
22202
22203         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
22204         (gst_base_src_get_range), (gst_base_src_pad_get_range),
22205         (gst_base_src_loop):
22206         Small cleanups, check for flushing after being unlocked from the 
22207         LIVE_LOCK. take refcounts correctly (not yet everywhere).
22208         Don't send out EOS when going to READY.
22209
22210 2005-10-27  Wim Taymans  <wim@fluendo.com>
22211
22212         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22213         (gst_base_sink_get_position):
22214         Some more debug.
22215
22216         * gst/gstbin.c: (message_check), (bin_replace_message),
22217         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22218         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22219         (bin_query_duration_init), (bin_query_duration_fold),
22220         (bin_query_duration_done), (bin_query_generic_fold),
22221         (gst_bin_query):
22222         * tools/gst-launch.c: (main):
22223         Remove old option.
22224
22225 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
22226
22227         * examples/controller/audio-example.c: (main):
22228         * examples/queue/queue.c: (event_loop):
22229         * gst/base/gstbasetransform.h:
22230         * gst/gstelement.c: (gst_element_send_event):
22231         * gst/gstevent.h:
22232         * gst/gstpad.c: (gst_pad_send_event):
22233           fixing examples
22234           fixing docs typos
22235           changing log priority in error situations
22236
22237 2005-10-25  Wim Taymans  <wim@fluendo.com>
22238
22239         * gst/gstbin.c: (message_check), (bin_replace_message),
22240         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22241         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22242         (bin_query_duration_init), (bin_query_duration_fold),
22243         (bin_query_duration_done), (bin_query_generic_fold),
22244         (gst_bin_query):
22245         Some doc and debug updates.
22246         Cache previously requested query DURATION for speed. invalidate
22247         cached duration if element posts a DURATION message.
22248
22249 2005-10-25  Wim Taymans  <wim@fluendo.com>
22250
22251         * docs/design/part-TODO.txt:
22252         Update TODO.
22253
22254         * gst/gstbin.c: (message_check), (bin_replace_message),
22255         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22256         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22257         (bin_query_duration_init), (bin_query_duration_fold),
22258         (bin_query_duration_done), (bin_query_generic_fold),
22259         (gst_bin_query):
22260         Handle SEGMENT_START/DONE messages correctly.
22261         More evolved query algorithm that handles duration queries
22262         correctly.
22263
22264         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
22265         (gst_element_get_state_func), (gst_element_abort_state),
22266         (gst_element_commit_state), (gst_element_lost_state):
22267         Some more debugging.
22268
22269         * gst/gstmessage.h:
22270         Added doc.
22271
22272 2005-10-25  Wim Taymans  <wim@fluendo.com>
22273
22274         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
22275         Don't use invalid stream_time.
22276
22277         * gst/gstevent.c: (gst_event_new_newsegment):
22278         stream_time in newsegment cannot be undefined.
22279
22280 2005-10-24  Wim Taymans  <wim@fluendo.com>
22281
22282         * gst/gstbus.c:
22283         Doc fix.
22284
22285         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
22286         (gst_queue_loop):
22287         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
22288
22289 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
22290
22291         * docs/libs/tmpl/gstdparam.sgml:
22292         * docs/libs/tmpl/gstdplinint.sgml:
22293         * docs/libs/tmpl/gstdpman.sgml:
22294         * docs/libs/tmpl/gstdpsmooth.sgml:
22295         * docs/libs/tmpl/gstunitconvert.sgml:
22296           these are obsolete
22297
22298 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
22299
22300         * configure.ac:
22301           back to HEAD
22302
22303 === release 0.9.4 ===
22304
22305 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22306
22307         * configure.ac:
22308           releasing 0.9.4, "Tyrannosaurus Rex"
22309
22310 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
22311
22312         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
22313         (gst_file_sink_get_current_offset):
22314           Use fseeko() and ftello() if available. When falling back on
22315           lseek() to get the current offset, fflush() first to make sure
22316           everything is up-to-date and we get the right offset.
22317
22318 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22319
22320         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22321         * gst/base/gstbasesrc.c: (gst_base_src_loop):
22322         * gst/gsterror.c: (_gst_stream_errors_init):
22323         * gst/gsterror.h:
22324         * gst/gstqueue.c: (gst_queue_loop):
22325         * po/POTFILES.in:
22326           remove prematurely added error category and clean up the instances
22327
22328 2005-10-21  Wim Taymans  <wim@fluendo.com>
22329
22330         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22331         (gst_base_sink_get_position), (gst_base_sink_query),
22332         (gst_base_sink_change_state):
22333         Simply set the right flag when going to playing, that's all
22334         we need to do instead of calling a function inside the object
22335         lock (that could take the lock as well and deadlock)
22336
22337 2005-10-21  Wim Taymans  <wim@fluendo.com>
22338
22339         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
22340         (gst_base_src_loop):
22341         Don't warn, the peer element knows what to do best when
22342         the seek failed, it might try something else.
22343
22344 2005-10-21  Wim Taymans  <wim@fluendo.com>
22345
22346         * gst/base/gstbasesrc.c: (gst_base_src_init),
22347         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
22348         Fix seeking.
22349
22350 2005-10-21  Wim Taymans  <wim@fluendo.com>
22351
22352         * docs/design/part-segments.txt:
22353         More docs.
22354
22355         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
22356         Correctly set caps, even on the subbufer.
22357
22358 2005-10-21  Wim Taymans  <wim@fluendo.com>
22359
22360         * docs/gst/gstreamer-docs.sgml:
22361         * docs/gst/gstreamer-sections.txt:
22362         * gst/gstelement.h:
22363         * gst/gstevent.c:
22364         * gst/gstevent.h:
22365         * gst/gstmessage.h:
22366         * gst/gstpad.h:
22367         * gst/gstparse.h:
22368         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
22369         * gst/gsttask.h:
22370         * gst/gstutils.c:
22371         * gst/gstutils.h:
22372         And 2% more doc coverage.
22373
22374 2005-10-21  Andy Wingo  <wingo@pobox.com>
22375
22376         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
22377         position reporting.
22378
22379 2005-10-20  Wim Taymans  <wim@fluendo.com>
22380
22381         * gst/gsterror.c: (gst_error_get_message):
22382         * gst/gstparse.h:
22383         * gst/gstquery.h:
22384         * gst/gststructure.c:
22385         * gst/gsttrace.c:
22386         * gst/gstutils.c:
22387         More docs.
22388
22389 2005-10-20  Wim Taymans  <wim@fluendo.com>
22390
22391         * gst/gstbuffer.h:
22392         * gst/gstpad.c:
22393         * gst/gstparse.c:
22394         Another 1% more coverage.
22395
22396 2005-10-20  Wim Taymans  <wim@fluendo.com>
22397
22398         * docs/gst/gstreamer-sections.txt:
22399         * gst/gstelement.c: (gst_element_get_state_func),
22400         (gst_element_abort_state), (gst_element_commit_state),
22401         (gst_element_lost_state):
22402         * gst/gstevent.h:
22403         * gst/gstquery.c: (gst_query_set_position),
22404         (gst_query_parse_position), (gst_query_set_duration),
22405         (gst_query_parse_duration), (gst_query_new_convert):
22406         * gst/gstutils.c:
22407         Yay! 1% more docs coverage.
22408
22409 2005-10-20  Wim Taymans  <wim@fluendo.com>
22410
22411         * gst/gstpad.h:
22412         * gst/gstquery.c: (gst_query_set_position),
22413         (gst_query_parse_position), (gst_query_set_duration),
22414         (gst_query_parse_duration), (gst_query_new_convert):
22415         * gst/gstquery.h:
22416         * gst/gstutils.c: (gst_element_query_convert):
22417         * gst/gstutils.h:
22418         Docs and consistency fixes.
22419
22420 2005-10-20  Wim Taymans  <wim@fluendo.com>
22421
22422         * gst/gsttask.c:
22423         * gst/gsttask.h:
22424         More docs.
22425
22426 2005-10-20  Wim Taymans  <wim@fluendo.com>
22427
22428         * gst/gstbin.c: (message_check), (bin_replace_message),
22429         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22430         (update_degree), (gst_bin_sort_iterator_next),
22431         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
22432         Reworked the message handling a bit, cache the messages instead of
22433         only the senders. alows us to do more in the future.
22434
22435 2005-10-20  Wim Taymans  <wim@fluendo.com>
22436
22437         * docs/design/part-TODO.txt:
22438         Update TODO
22439
22440         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22441         (gst_base_sink_query):
22442         Don't use clock time to report position when in EOS.
22443
22444 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
22445
22446         * tools/gst-inspect.c: (print_interfaces),
22447         (print_element_properties_info), (print_element_info):
22448           Fix interface output with gst-inspect -a; don't print
22449           newlines after double/float properties.
22450
22451 2005-10-20  Wim Taymans  <wim@fluendo.com>
22452
22453         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22454         (gst_base_sink_query):
22455         Speed up current position calculation.
22456
22457         * gst/base/gstbasesrc.c: (gst_base_src_query),
22458         (gst_base_src_default_newsegment):
22459         Correctly set stream position in newsegment.
22460
22461         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
22462         (update_degree), (gst_bin_sort_iterator_next),
22463         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
22464         * gst/gstmessage.c: (gst_message_new_custom):
22465         Clean up debugging info
22466
22467         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
22468         (gst_queue_loop), (gst_queue_handle_src_query):
22469         Pause task faster.
22470
22471 2005-10-19  Wim Taymans  <wim@fluendo.com>
22472
22473         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22474         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22475         Fix query handling again.
22476
22477 2005-10-19  Wim Taymans  <wim@fluendo.com>
22478
22479         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22480         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22481         * gst/base/gstbasesrc.c: (gst_base_src_query):
22482         * gst/elements/gstfilesink.c: (gst_file_sink_query):
22483         * gst/elements/gsttypefindelement.c:
22484         (gst_type_find_handle_src_query), (find_element_get_length),
22485         (gst_type_find_element_activate):
22486         API change fix.
22487
22488         * gst/gstquery.c: (gst_query_new_position),
22489         (gst_query_set_position), (gst_query_parse_position),
22490         (gst_query_new_duration), (gst_query_set_duration),
22491         (gst_query_parse_duration), (gst_query_set_segment),
22492         (gst_query_parse_segment):
22493         * gst/gstquery.h:
22494         Bundling query position/duration is not a good idea since duration
22495         does not change much and we don't want to recalculate it for every
22496         position query, so they are separated again..
22497         Base value in segment query is not needed.
22498
22499         * gst/gstqueue.c: (gst_queue_handle_src_query):
22500         * gst/gstutils.c: (gst_element_query_position),
22501         (gst_element_query_duration), (gst_pad_query_position),
22502         (gst_pad_query_duration):
22503         * gst/gstutils.h:
22504         Updates for query API change.
22505         Added some docs here and there.
22506
22507 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
22508
22509         * check/gst/gstbin.c: (GST_START_TEST):
22510         * check/gst/gstghostpad.c: (GST_START_TEST):
22511         * check/pipelines/cleanup.c: (GST_START_TEST):
22512           wait on thread to die so we can check refcount correctly
22513
22514 2005-10-18  Wim Taymans  <wim@fluendo.com>
22515
22516         * check/pipelines/stress.c: (GST_START_TEST):
22517         Make check a little more time consuming.
22518
22519 2005-10-18  Wim Taymans  <wim@fluendo.com>
22520
22521         * check/Makefile.am:
22522         * check/pipelines/stress.c: (GST_START_TEST),
22523         (simple_launch_lines_suite), (main):
22524         Small state change torture test.
22525
22526         * docs/design/part-states.txt:
22527         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22528         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
22529         (gst_base_sink_change_state):
22530         Never take state lock from streaming thread, clean up ugly
22531         hacks. Unfortunatly core does not yet support nice ways to
22532         async commit state.
22533         
22534         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
22535         (bin_bus_handler):
22536         Start state recalc if a STATE_DIRTY message is posted, but only
22537         on the toplevel bin.
22538
22539         * gst/gstelement.c: (gst_element_sync_state_with_parent),
22540         (gst_element_get_state_func), (gst_element_abort_state),
22541         (gst_element_commit_state), (gst_element_lost_state),
22542         (gst_element_set_state_func), (gst_element_change_state):
22543         * gst/gstelement.h:
22544         State variables are now protected with the LOCK, the state
22545         lock is only used to serialize _set_state().
22546
22547 2005-10-18  Wim Taymans  <wim@fluendo.com>
22548
22549         * check/gst/gstbin.c: (GST_START_TEST):
22550         * check/gst/gstmessage.c: (GST_START_TEST):
22551         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22552         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
22553         (bin_bus_handler):
22554         * gst/gstelement.c: (gst_element_abort_state),
22555         (gst_element_commit_state), (gst_element_lost_state):
22556         * gst/gstmessage.c: (gst_message_new_state_changed),
22557         (gst_message_new_state_dirty), (gst_message_new_segment_start),
22558         (gst_message_new_segment_done), (gst_message_new_duration),
22559         (gst_message_parse_state_changed),
22560         (gst_message_parse_segment_start),
22561         (gst_message_parse_segment_done), (gst_message_parse_duration):
22562         * gst/gstmessage.h:
22563         * tools/gst-launch.c: (event_loop):
22564         Seriously, this is better than a previous commit as we only need
22565         to notify the fact that an element changed state in a streaming
22566         thread, marking the state of the parents dirty, hence the 
22567         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
22568         message.
22569
22570 2005-10-18  Wim Taymans  <wim@fluendo.com>
22571
22572         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
22573         (gst_bin_recalc_func):
22574         * gst/gstelement.c: (gst_element_set_clock),
22575         (gst_element_abort_state), (gst_element_lost_state):
22576         Cleanups, prepare for state change fixes.
22577
22578 2005-10-18  Wim Taymans  <wim@fluendo.com>
22579
22580         * gst/gstbin.h:
22581         * gst/gstelement.c: (gst_element_class_init),
22582         (gst_element_set_state), (gst_element_set_state_func):
22583         * gst/gstelement.h:
22584         Pending ABI changes.
22585         GThreadPool in GstBinClass to monitor async state changes.
22586         state_cookie in GstElement to detect concurrent gst/set state.
22587         set_state is now virtual too in case a very complicated element
22588         has to be constructed.
22589
22590 2005-10-18  Wim Taymans  <wim@fluendo.com>
22591
22592         * check/gst/gstbin.c: (GST_START_TEST):
22593         * check/gst/gstmessage.c: (GST_START_TEST):
22594         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22595         * gst/gstbin.c: (bin_bus_handler):
22596         * gst/gstelement.c: (gst_element_commit_state),
22597         (gst_element_lost_state):
22598         * gst/gstmessage.c: (gst_message_new_state_changed),
22599         (gst_message_new_segment_start), (gst_message_new_segment_done),
22600         (gst_message_new_duration), (gst_message_parse_state_changed),
22601         (gst_message_parse_segment_start),
22602         (gst_message_parse_segment_done), (gst_message_parse_duration):
22603         * gst/gstmessage.h:
22604         * tools/gst-launch.c: (event_loop):
22605         Make messages future proof.
22606         state-change gets a flag if it was a message comming from the
22607         streaming thread.
22608         segment-start/stop can also be specified in other formats.
22609         A message to notify an app that a pipeline changed playback 
22610         duration.
22611         Also fix a GstMessage leak in -launch
22612
22613 2005-10-18  Andy Wingo  <wingo@pobox.com>
22614
22615         * gst/gstelement.c (gst_element_dispose): More helpful message.
22616
22617 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
22618
22619         reviewed by: <delete if not using a buddy>
22620
22621         * common/gtk-doc.mak:
22622
22623 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
22624
22625         * gst/gstregistry.c: (gst_registry_scan_path_level):
22626           unref a plug-in we get that was already initialized
22627
22628 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
22629
22630         * docs/gst/gstreamer-sections.txt:
22631         * docs/libs/gstreamer-libs-sections.txt:
22632         * gst/gstelement.h:
22633           add new api entries
22634           hide internal macro
22635
22636 2005-10-17  Andy Wingo  <wingo@pobox.com>
22637
22638         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
22639         cleanup.
22640
22641         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
22642
22643         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
22644
22645         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
22646         (gst_element_get_state_func): Better debug message.
22647         (gst_element_commit_state): s/INFO/DEBUG/.
22648         (gst_element_lost_state, gst_element_change_state): 
22649
22650         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
22651         (gst_message_new_custom): s/INFO/LOG/.
22652
22653 2005-10-17  Michael Smith <msmith@fluendo.com>
22654
22655         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
22656           Check if end time is valid using end time, not start time.
22657
22658 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
22659
22660         * check/gst-libs/controller.c: (GST_START_TEST),
22661         (gst_controller_suite):
22662         * libs/gst/controller/gstcontroller.c:
22663         (gst_controlled_property_set_interpolation_mode):
22664         * libs/gst/controller/gstcontroller.h:
22665         * libs/gst/controller/gstinterpolation.c:
22666         * testsuite/controller/.cvsignore:
22667         * testsuite/controller/Makefile.am:
22668         * testsuite/controller/interpolator.c:
22669           merge controller testsuites
22670           fix broken tests
22671           remove mem-chunk from docs
22672
22673 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
22674
22675         * gst/gstmemchunk.c:
22676         * gst/gstmemchunk.h:
22677         * gst/gsttrashstack.c:
22678         * gst/gsttrashstack.h:
22679           out.  get out.  you're fired.  to the Attic !
22680
22681 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
22682
22683         * gst/gstcaps.c: (gst_caps_intersect):
22684           fix signedness issues in a (hopefully) correct way
22685         * gst/gstelement.c: (gst_element_pads_activate):
22686           some debugging
22687         * gst/gstobject.c: (gst_object_set_parent):
22688           some debugging
22689
22690 2005-10-17  Julien MOUTTE  <julien@moutte.net>
22691
22692         * gst/gstvalue.h: Fix prototypes.
22693
22694 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22695
22696         * docs/gst/gstreamer-sections.txt:
22697         * gst/gst.c: (gst_version_string):
22698         * gst/gst.h:
22699         * gst/gstversion.h.in:
22700         * win32/common/libgstreamer.def:
22701           add gst_version_string ()
22702
22703 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22704
22705         * configure.ac:
22706           clean up further
22707         * gst/gst.c: (init_post):
22708         * win32/common/config.h.in:
22709           it's PLUGINDIR now
22710         * gst/gstcaps.c: (gst_caps_intersect):
22711           use gint64, the range could be bigger than a guint
22712
22713 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22714
22715         * gst/gstclock.h:
22716           document potential problem in 2038
22717
22718 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22719
22720         * gst/gstcaps.c: (gst_caps_intersect):
22721           Fix guint j diving under 0
22722
22723 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22724
22725         * configure.ac:
22726         * win32/common/config.h:
22727         * win32/common/config.h.in:
22728           check for process.h, declares getpid() on Windows
22729         * gst/gstinfo.c:
22730           include process.h if we have it
22731         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
22732         * gst/gstmemchunk.h:
22733           fix signedness issues
22734         * win32/common/libgstreamer.def:
22735           fix get_type's
22736
22737 2005-10-16  Julien MOUTTE  <julien@moutte.net>
22738
22739         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
22740         fix. Because of unsigned ints, caps intersection was going nuts and
22741         trying to access structures with G_MAXUINT index. That fixes
22742         videotestsrc ! ffmpegcolorspace ! fakesink
22743         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
22744         consistency.
22745
22746 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22747
22748         * configure.ac:
22749           use the gettext macro
22750         * gst/elements/gstelements.c:
22751         * gst/gst.c:
22752         * gst/indexers/gstindexers.c:
22753           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
22754         * win32/common/config.h:
22755           updated config.h
22756         * win32/common/config.h.in:
22757           add the template to generate config.h
22758         * win32/common/gstenumtypes.c:
22759         * win32/common/gstversion.h:
22760           updated copies
22761
22762 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22763
22764         * gst/gst.c: (gst_version):
22765         * gst/gstversion.h.in:
22766           add the nano
22767
22768 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
22769
22770         * gst/gstevent.h:
22771           Oops, add missing closing bracket.
22772
22773 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22774
22775         * configure.ac:
22776           use common m4's for argument checking
22777
22778 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
22779
22780         * docs/gst/gstreamer-sections.txt:
22781         * gst/gstevent.h:
22782           Add GST_EVENT_TYPE_NAME() macro.
22783
22784 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22785
22786         * gst/gstinfo.c:
22787         * gst/gstpluginfeature.c:
22788         * gst/gsttask.c:
22789           privatize more symbols
22790
22791 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22792
22793         * configure.ac:
22794           add srcdir, builddir includes to GST_ALL_CFLAGS, since
22795           everything that uses GStreamer API should have the includes
22796
22797 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22798
22799         * docs/gst/gstreamer-sections.txt:
22800         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
22801         * gst/gstvalue.h:
22802           give each value a _get_type, removes the DATA exports
22803
22804 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22805
22806         * gst/gst.c:
22807         * gst/gst.h:
22808           remove _gst_registry_auto_load, not used anymore
22809         * gst/gstbin.c: (gst_bin_get_type):
22810         * gst/gstbin.h:
22811         * gst/gstelement.c: (gst_element_get_type):
22812         * gst/gstelement.h:
22813         * gst/gstobject.c: (gst_object_get_type):
22814         * gst/gstobject.h:
22815         * gst/gstpad.c: (gst_pad_get_type):
22816         * gst/gstpad.h:
22817           make _get_type functions similar, fixes data export from library
22818
22819 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22820
22821         * configure.ac:
22822           correctly make conditionals
22823         * gst/elements/Makefile.am:
22824         * gst/elements/gstelements.c:
22825           fix typo causing fdsrc not to build
22826
22827 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22828
22829         * testsuite/Makefile.am:
22830         * testsuite/bytestream/.cvsignore:
22831         * testsuite/bytestream/Makefile.am:
22832         * testsuite/bytestream/filepadsink.c:
22833         * testsuite/bytestream/gstbstest.c:
22834         * testsuite/bytestream/test1.c:
22835         * testsuite/bytestream/testfile1:
22836         * testsuite/caps/normalisation.c:
22837         * testsuite/caps/random.c: (main):
22838         * testsuite/cleanup/.cvsignore:
22839         * testsuite/cleanup/Makefile.am:
22840         * testsuite/cleanup/cleanup1.c:
22841         * testsuite/cleanup/cleanup2.c:
22842         * testsuite/cleanup/cleanup3.c:
22843         * testsuite/cleanup/cleanup4.c:
22844         * testsuite/cleanup/cleanup5.c:
22845         * testsuite/controller/interpolator.c:
22846         * testsuite/debug/printf_extension.c: (main):
22847         * testsuite/elements/tee.c:
22848         * testsuite/negotiation/.cvsignore:
22849         * testsuite/negotiation/Makefile.am:
22850         * testsuite/negotiation/pad_link.c:
22851         * testsuite/pad/Makefile.am:
22852         * testsuite/pad/chainnopull.c:
22853         * testsuite/pad/getnopush.c:
22854         * testsuite/pad/link.c:
22855         * testsuite/refcounting/sched.c: (create_pipeline):
22856         * testsuite/registry/Makefile.am:
22857         * testsuite/registry/gst-print-formats.c:
22858         * testsuite/schedulers/.cvsignore:
22859         * testsuite/schedulers/142183-2.c:
22860         * testsuite/schedulers/142183.c:
22861         * testsuite/schedulers/143777-2.c:
22862         * testsuite/schedulers/143777.c:
22863         * testsuite/schedulers/147713.c:
22864         * testsuite/schedulers/147819.c:
22865         * testsuite/schedulers/147894-2.c:
22866         * testsuite/schedulers/147894.c:
22867         * testsuite/schedulers/Makefile.am:
22868         * testsuite/schedulers/group_link.c:
22869         * testsuite/schedulers/queue_link.c:
22870         * testsuite/schedulers/relink.c:
22871         * testsuite/schedulers/unlink.c:
22872         * testsuite/schedulers/unref.c:
22873         * testsuite/schedulers/useless_iteration.c:
22874         * testsuite/states/bin.c:
22875           clean out/remove some stuff from the testsuite directories
22876
22877 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22878
22879         * configure.ac:
22880           check for some headers
22881         * gst/elements/Makefile.am:
22882         * gst/elements/gstelements.c:
22883           don't compile fdsrc without sys/socket.h
22884         * gst/indexers/Makefile.am:
22885         * gst/indexers/gstindexers.c: (plugin_init):
22886           don't compile fileindex without mmap
22887
22888 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22889
22890         * configure.ac:
22891           reorganize
22892           clean up
22893           document more
22894           remove cruft
22895         * check/Makefile.am:
22896         * docs/gst/Makefile.am:
22897         * examples/helloworld/Makefile.am:
22898         * gst/Makefile.am:
22899         * gst/base/Makefile.am:
22900         * gst/check/Makefile.am:
22901         * gst/elements/Makefile.am:
22902         * gst/indexers/Makefile.am:
22903         * gst/parse/Makefile.am:
22904         * libs/gst/controller/Makefile.am:
22905         * libs/gst/dataprotocol/Makefile.am:
22906         * examples/helloworld/helloworld.c: (event_loop):
22907           compile fixes, though it's not being compiled currently
22908
22909 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
22910
22911         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
22912           Add some simple tests for the new taglist date API.
22913
22914 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
22915
22916         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
22917         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
22918           Beautify 'last-message' output: print 'none' for buffer timestamps
22919           and durations if none is set; improve alignment with next messages.
22920
22921 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
22922
22923         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
22924         * gst/gstpluginfeature.h:
22925         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
22926         * gst/gstregistry.h:
22927         * docs/gst/gstreamer-sections.txt:
22928           Add new API to check plugin feature version requirements.
22929
22930         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
22931           Some basic tests for the above.         
22932
22933 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22934
22935         * gst/gststructure.c: (gst_structure_to_string):
22936           guard against NULL printf - happens when for example
22937           a message structure with GstClock gets serialized
22938
22939 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
22940
22941         * gst/base/gstcollectpads.c: (gst_collectpads_event):
22942           Fix presumable copy'n'pasto.
22943
22944 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22945
22946         * gst/elements/gstfakesrc.h:
22947         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
22948         * gst/elements/gsttypefindelement.c:
22949           fix some signedness
22950         * gst/elements/gstfilesink.c: (gst_file_sink_render):
22951           I wonder if this could actually write +2GB files before
22952
22953 2005-10-13  Andy Wingo  <wingo@pobox.com>
22954
22955         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
22956         Fix Timmeke Waymans bug.
22957         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
22958         string of the proper length to gst_caps_from_string. There's a
22959         potential for, before this fix, that this could cause someone
22960         connecting over the network to cause a segfault if the payload is
22961         not NUL-terminated.
22962
22963 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
22964
22965         * docs/design/draft-push-pull.txt:
22966         * docs/design/part-overview.txt:
22967         * docs/random/TODO-pre-0.9:
22968         * docs/random/old/ChangeLog.gstreamer:
22969         * gst/base/gstpushsrc.c:
22970         * gst/gstclock.c:
22971           fixed typos
22972
22973 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22974
22975         * gst/glib-compat.c: (gst_flags_get_first_value):
22976         * gst/glib-compat.h:
22977         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
22978         (gst_value_compare_double), (gst_value_serialize_flags):
22979           GLib 2.6 g_flags_get_first_value has a bug that triggers an
22980           infinite loop
22981
22982 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22983
22984         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22985         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
22986           fix up debugging
22987         * tools/gst-launch.c: (event_loop):
22988           print out clock nicely
22989
22990 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
22991
22992         * docs/gst/gstreamer-sections.txt:
22993         * gst/gsttaglist.h:
22994         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
22995         (gst_tag_list_get_date_index):
22996           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
22997           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
22998
22999 2005-10-13  Julien MOUTTE  <julien@moutte.net>
23000
23001         * gst/base/gstcollectpads.c: (gst_collectpads_event),
23002         (gst_collectpads_chain):
23003         * gst/base/gstcollectpads.h: Handle newsegment and store informations
23004         in CollectData.
23005
23006 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
23007
23008         * docs/gst/gstreamer-sections.txt:
23009         * gst/gst.c:
23010         * gst/gsterror.h:
23011         * tools/gst-inspect.c: (main):
23012         * tools/gst-launch.c: (main):
23013         * tools/gst-run.c: (main):
23014         * tools/gst-xmlinspect.c: (main):
23015           fix GOption context leaks
23016           doc fixes
23017
23018 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
23019
23020         * gst/gstbus.c:
23021           use HAVE_UNISTD_H
23022         * win32/common/config.h:
23023           update config
23024         * win32/vs6/grammar.dsp:
23025         * win32/vs6/libgstelements.dsp:
23026         * win32/vs6/libgstreamer.dsp:
23027           update vs6 files
23028
23029 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23030
23031         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
23032         * gst/base/gstbasesrc.c: (gst_base_src_query):
23033           fix more guint64<->gdouble conversions
23034
23035 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23036
23037         * Makefile.am:
23038           add win32-update target
23039         * win32/common/gstconfig.h:
23040         * win32/common/gstenumtypes.c:
23041         * win32/common/gstenumtypes.h:
23042         * win32/common/gstversion.h:
23043           add files that visual studio can't generate
23044
23045 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23046
23047         * Makefile.am:
23048           add a win32-update target
23049         * configure.ac:
23050
23051 2005-10-12  Wim Taymans  <wim@fluendo.com>
23052
23053         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
23054         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
23055         * gst/gstelement.c: (gst_element_commit_state),
23056         (gst_element_set_state):
23057         Protect flags with proper lock.
23058         unref provided cached clock in dispose.
23059
23060 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
23061
23062         * gst/gst.c:
23063         * gst/gstminiobject.h:
23064         * gst/gstpad.h:
23065         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
23066           removed unused flags from miniobject
23067           doc fixes
23068
23069 2005-10-12  Wim Taymans  <wim@fluendo.com>
23070
23071         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
23072         (gst_file_sink_event), (gst_file_sink_render):
23073         Flush before seeking.
23074
23075 2005-10-12  Andy Wingo  <wingo@pobox.com>
23076
23077         * gst/gst.c (gst_init_check): Ignore unknown options, as has
23078         always been the case.
23079
23080 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
23081
23082         * check/gst/gstbin.c: (GST_START_TEST):
23083         * docs/gst/gstreamer-sections.txt:
23084         * gst/base/gstbasesink.c: (gst_base_sink_init):
23085         * gst/base/gstbasesrc.c: (gst_base_src_init),
23086         (gst_base_src_get_range), (gst_base_src_check_get_range),
23087         (gst_base_src_start), (gst_base_src_stop):
23088         * gst/base/gstbasesrc.h:
23089         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
23090         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
23091         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
23092         (bin_bus_handler):
23093         * gst/gstbin.h:
23094         * gst/gstbuffer.h:
23095         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
23096         * gst/gstbus.h:
23097         * gst/gstelement.c: (gst_element_is_locked_state),
23098         (gst_element_set_locked_state), (gst_element_commit_state),
23099         (gst_element_set_state):
23100         * gst/gstelement.h:
23101         * gst/gstindex.c: (gst_index_init):
23102         * gst/gstindex.h:
23103         * gst/gstminiobject.h:
23104         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
23105         (gst_object_set_parent):
23106         * gst/gstobject.h:
23107         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
23108         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
23109         * gst/gstpad.h:
23110         * gst/gstpadtemplate.h:
23111         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
23112         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
23113         * gst/gstpipeline.h:
23114         * gst/indexers/gstfileindex.c: (gst_file_index_load),
23115         (gst_file_index_commit):
23116         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
23117         * testsuite/pad/link.c: (gst_test_src_init),
23118         (gst_test_filter_init), (gst_test_sink_init):
23119         * testsuite/states/locked.c: (main):
23120           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
23121           moved bitshift from macro to enum definition
23122
23123 2005-10-12  Wim Taymans  <wim@fluendo.com>
23124
23125         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
23126         * gst/elements/gstfilesink.c: (gst_file_sink_event),
23127         (gst_file_sink_render):
23128         Some more debugging info.
23129
23130 2005-10-12  Wim Taymans  <wim@fluendo.com>
23131
23132         * docs/design/part-states.txt:
23133         * tools/gst-launch.c: (main):
23134         Some doc updates.
23135         Revert non-intentional change.
23136
23137 2005-10-12  Wim Taymans  <wim@fluendo.com>
23138
23139         * check/gst/gstbin.c: (GST_START_TEST):
23140         * check/gst/gstelement.c: (GST_START_TEST):
23141         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
23142         * check/gst/gstghostpad.c: (GST_START_TEST):
23143         * check/gst/gstpipeline.c: (GST_START_TEST):
23144         * check/pipelines/simple_launch_lines.c: (run_pipeline):
23145         * check/states/sinks.c: (GST_START_TEST):
23146         * gst/elements/gsttypefindelement.c: (stop_typefinding):
23147         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
23148         (gst_bin_remove_func), (gst_bin_get_state_func),
23149         (gst_bin_recalc_state), (gst_bin_change_state_func),
23150         (bin_bus_handler):
23151         * gst/gstelement.c: (gst_element_get_state_func),
23152         (gst_element_get_state), (gst_element_abort_state),
23153         (gst_element_commit_state), (gst_element_set_state),
23154         (gst_element_change_state), (gst_element_change_state_func):
23155         * gst/gstelement.h:
23156         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
23157         (gst_pipeline_provide_clock_func):
23158         * gst/gstutils.c: (gst_element_link_pads_filtered):
23159         * tools/gst-launch.c: (main):
23160         * tools/gst-typefind.c: (main):
23161         Use GstClockTime in _get_state() instead of GTimeVal.
23162         Remove old code in gstutils.c
23163
23164 2005-10-12  Andy Wingo  <wingo@pobox.com>
23165
23166         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
23167         removed.
23168
23169         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
23170         there is no task. Shouldn't affect any code, as nothing in our
23171         plugins checks this return value.
23172         (gst_pad_stop_task): Also take the stream lock if the pad has no
23173         task. Docs updated.
23174
23175 2005-10-12  Wim Taymans  <wim@fluendo.com>
23176
23177         * gst/gstpad.c: (pre_activate), (post_activate),
23178         (gst_pad_activate_pull), (gst_pad_activate_push):
23179         Cleanup activation code. Reset old state if
23180         activation failed.
23181
23182 2005-10-12  Wim Taymans  <wim@fluendo.com>
23183
23184         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23185         (gst_base_sink_change_state):
23186         No need to prerol after receiving EOS.
23187
23188         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
23189         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
23190         * gst/elements/gstidentity.c: (gst_identity_event):
23191         Print events more verbosely.
23192
23193 2005-10-12  Wim Taymans  <wim@fluendo.com>
23194
23195         * check/Makefile.am:
23196         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
23197         * check/states/sinks2.c:
23198         Moved sinks2 testcode in sinks check.
23199
23200         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
23201         (gst_bin_remove_func), (gst_bin_recalc_state),
23202         (gst_bin_change_state_func), (bin_bus_handler):
23203         Fix potential race condition when _get_state() iterated over an
23204         ASYNC element right before it posted a state completion.
23205
23206         * gst/gstclock.h:
23207         Do proper cast here.
23208
23209         * gst/gstevent.c: (gst_event_new_newsegment),
23210         (gst_event_parse_newsegment):
23211         A playback rate of 0.0 is not allowed.
23212
23213 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23214
23215         * win32/common/config.h:
23216         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
23217         (_trewinddir), (_ttelldir), (_tseekdir):
23218         * win32/common/dirent.h:
23219         * win32/common/gtchar.h:
23220         * win32/common/libgstbase.def:
23221         * win32/common/libgstreamer.def:
23222         * win32/vs6/grammar.dsp:
23223         * win32/vs6/gst_inspect.dsp:
23224         * win32/vs6/gst_launch.dsp:
23225         * win32/vs6/gstreamer.dsw:
23226         * win32/vs6/libgstbase.dsp:
23227         * win32/vs6/libgstelements.dsp:
23228         * win32/vs6/libgstreamer.dsp:
23229           Visual Studio 6 project files, and a new common directory.
23230           Phear.
23231
23232 2005-10-11  Wim Taymans  <wim@fluendo.com>
23233
23234         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23235         (gst_base_sink_do_sync), (gst_base_sink_query),
23236         (gst_base_sink_change_state):
23237         * gst/base/gstbasesink.h:
23238         Correctly parse newsegment info.
23239
23240 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23241
23242         * gst/gst.c: (init_post):
23243           split plugin paths correctly
23244
23245 2005-10-11  Wim Taymans  <wim@fluendo.com>
23246
23247         * check/gst/gstevent.c: (GST_START_TEST):
23248         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23249         (gst_base_sink_change_state):
23250         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
23251         * gst/base/gstbasetransform.c: (gst_base_transform_event):
23252         * gst/elements/gstfilesink.c: (gst_file_sink_event):
23253         * gst/gstevent.c: (gst_event_new_newsegment),
23254         (gst_event_parse_newsegment):
23255         * gst/gstevent.h:
23256         Added extra flag to newsegment for future API freeze.
23257         Updated check and base elements.
23258
23259 2005-10-11  Julien MOUTTE  <julien@moutte.net>
23260
23261         * gst/base/gstcollectpads.c: (gst_collectpads_init),
23262         (gst_collectpads_add_pad), (gst_collectpads_pop),
23263         (gst_collectpads_event), (gst_collectpads_chain):
23264         * gst/base/gstcollectpads.h: Handle EOS correctly.
23265
23266 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23267
23268         * tools/gst-launch.c: (main):
23269           more null protecting
23270
23271 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23272
23273         * gst/gst-i18n-lib.h:
23274           check for ENABLE_NLS, not GETTEXT_PACKAGE
23275         * gst/gstregistry.c: (gst_registry_add_plugin),
23276         (gst_registry_scan_path_level),
23277         (_gst_registry_remove_cache_plugins):
23278           protect possibly NULL strings
23279         * gst/parse/types.h:
23280           config.h already included before
23281         * tools/gst-inspect.c: (main):
23282           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
23283           check for ENABLE_NLS, not GETTEXT_PACKAGE
23284         * tools/gst-launch.c: (main):
23285           check for ENABLE_NLS, not GETTEXT_PACKAGE
23286
23287 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23288
23289         * configure.ac:
23290           if we don't have glib, fail before testing 2.8
23291         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
23292           fix a leak, should fix plugins-base testsuite
23293
23294 2005-10-11  Andy Wingo  <wingo@pobox.com>
23295
23296         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
23297         take the mode we're going to as an arg. Go head and set the mode
23298         and flushing flags now, so that if the activate function starts a
23299         thread all the flags will be in the right state.
23300         (post_activate): Renamed also. Just handle making sure streaming
23301         finishes for the deactivation case, and setting the deactivated
23302         mode.
23303         (gst_pad_set_active): Complain loudly if deactivation fails.
23304         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
23305         (gst_pad_activate_push): Adapt to pre/post_activate changes,
23306         remove the terrible hack.
23307
23308 2005-10-11  Wim Taymans  <wim@fluendo.com>
23309
23310         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23311         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
23312         (gst_bin_recalc_state), (gst_bin_change_state_func),
23313         (gst_bin_dispose), (bin_bus_handler):
23314         * gst/gstbin.h:
23315         Prepare to make current EOS message queue more generic.
23316         Fix some typos.
23317
23318         * gst/gstevent.c: (gst_event_new_newsegment),
23319         (gst_event_parse_newsegment):
23320         * gst/gstevent.h:
23321         Rename base to stream_time.
23322
23323         * gst/gstmessage.h:
23324         Fix typo in docs.
23325
23326 2005-10-11  Wim Taymans  <wim@fluendo.com>
23327
23328         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23329         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
23330         (gst_bin_change_state_func), (bin_bus_handler):
23331         * gst/gstbin.h:
23332         Work on proper clock selection.
23333
23334 2005-10-11  Edward Hervey  <edward@fluendo.com>
23335
23336         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
23337         * libs/gst/controller/gstcontroller.h:
23338         Added GList* version of _remove_properties() in order to be able to wrap
23339         it in bindings.
23340
23341 2005-10-11  Wim Taymans  <wim@fluendo.com>
23342
23343         * docs/design/part-states.txt:
23344         Some more docs.
23345
23346         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
23347         (gst_bin_change_state_func), (bin_bus_handler):
23348         Doc updates. Don't distribute the same clock over and over again.
23349
23350         * gst/gstclock.c:
23351         * gst/gstclock.h:
23352         Doc updates.
23353
23354         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
23355         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
23356         (gst_pad_send_event):
23357         * gst/gstpad.h:
23358         Make probe emission threadsafe again.
23359         Register quarks and move _get_name() from utils.
23360         Doc updates.
23361
23362         * gst/gstpipeline.c: (gst_pipeline_class_init),
23363         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23364         Only redistribute the clock of it changed.
23365
23366         * gst/gstsystemclock.h:
23367         Doc updates. 
23368
23369         * gst/gstutils.c:
23370         * gst/gstutils.h:
23371         Moved the _flow_get_name() to GstPad.
23372
23373 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23374
23375         * check/gst-libs/gdp.c: (GST_START_TEST):
23376         * check/gst/gstcaps.c: (GST_START_TEST):
23377         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
23378         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
23379         (gst_dp_packet_from_caps):
23380           fix more valgrind warnings before turning up the heat
23381
23382 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23383
23384         * gst/parse/grammar.y:
23385           some cleanup before the hacking
23386
23387 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23388
23389         * gst/base/gstbasesrc.c: (gst_base_src_query):
23390           use conversions
23391         * gst/gstutils.c: (gst_guint64_to_gdouble),
23392         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
23393         * gst/gstutils.h:
23394           externalize, basesrc uses it
23395           obviously the implementation needs testing
23396
23397 2005-10-10  Wim Taymans  <wim@fluendo.com>
23398
23399         * tests/sched/Makefile.am:
23400         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
23401         (make_pipeline3), (make_pipeline4), (print_elem), (main):
23402
23403 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23404
23405         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
23406           apparently converting from guint64 to double is not implemented
23407           on MSVC
23408
23409 2005-10-10  Wim Taymans  <wim@fluendo.com>
23410
23411         * check/Makefile.am:
23412         * check/generic/states.c: (GST_START_TEST):
23413         * check/gst/gstbin.c: (GST_START_TEST):
23414         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
23415         * check/states/sinks.c: (GST_START_TEST):
23416         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
23417         (main):
23418         Check fixes, use API as stated in design docs, remove hacks.
23419
23420         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23421         (gst_base_sink_change_state):
23422         Catch stopping our task while we're shutting down.
23423
23424         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
23425         (gst_bin_remove_func), (gst_bin_get_state_func),
23426         (gst_bin_recalc_state), (gst_bin_change_state_func),
23427         (bin_bus_handler):
23428         * gst/gstbin.h:
23429         * gst/gstelement.c: (gst_element_init),
23430         (gst_element_get_state_func), (gst_element_abort_state),
23431         (gst_element_commit_state), (gst_element_lost_state),
23432         (gst_element_set_state), (gst_element_change_state),
23433         (gst_element_change_state_func):
23434         * gst/gstelement.h:
23435         New state change algorithm (see #318116)
23436
23437         * gst/gstpipeline.c: (gst_pipeline_class_init),
23438         (gst_pipeline_init), (gst_pipeline_set_property),
23439         (gst_pipeline_get_property), (do_pipeline_seek),
23440         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23441         * gst/gstpipeline.h:
23442         Remove crude state change hacks.
23443
23444         * gst/gstutils.h:
23445         Remove crude hacks.
23446
23447         * tools/gst-launch.c: (main):
23448         Fixes for state change. Needs some more work to fully use the
23449         new stuff.
23450
23451 2005-10-10  Andy Wingo  <wingo@pobox.com>
23452
23453         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
23454
23455         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
23456         this flag, but it's not even in GLib 2.6. Odd. Hack around the
23457         issue.
23458
23459 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23460
23461         * gst/gstiterator.c: (gst_iterator_new):
23462           Fix my previous commit: GTypes passed to gst_iterator_new()
23463           can be fundamental types.
23464
23465 2005-10-10  Wim Taymans  <wim@fluendo.com>
23466
23467         * gst/gstelement.c: (gst_element_iterate_pad_list),
23468         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
23469         (gst_element_iterate_sink_pads):
23470         Use src/sink pads lists for the respective iterators instead
23471         of filtering.
23472
23473 2005-10-10  Andy Wingo  <wingo@pobox.com>
23474
23475         Merged in popt removal + GOption addition patch from Ronald, bug
23476         #169772.
23477
23478         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
23479         GstElement macros around, remove popt-related symbols, add goption
23480         stuff.
23481
23482         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
23483         
23484         * docs/gst/Makefile.am:
23485         * docs/libs/Makefile.am: No POPT_CFLAGS.
23486         
23487         * examples/manual/Makefile.am:
23488         * docs/manual/basics-init.xml: Doc updates with an example.
23489         
23490         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
23491         (gst_init), (parse_one_option), (parse_goption_arg):
23492         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
23493         bit of hand merging and debugging to get the GOption stuff working
23494         tho.
23495         
23496         * tests/Makefile.am:
23497         * tools/Makefile.am:
23498         * tools/gst-inspect.c: (main):
23499         * tools/gst-launch.c: (main):
23500         * tools/gst-run.c: (main):
23501         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
23502
23503 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23504
23505         * gst/gstiterator.c: (gst_iterator_new):
23506           Add assertions to make sure passed GType is likely to really
23507           be a GType (as the compiler won't catch it if the size and
23508           GType arguments get mixed up, see #318447).
23509
23510 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
23511
23512         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
23513
23514         * gst/gstbin.c: (gst_bin_iterate_sorted):
23515           Pass GType and size arguments to gst_iterator_new() in the right
23516           order (maybe we should make _new() take the GType as first argument
23517           just like _new_list()?) (#318447).
23518           
23519
23520 2005-10-10  Wim Taymans  <wim@fluendo.com>
23521
23522         * gst/gstelement.c: (gst_element_finalize):
23523         And free the GStaticRecMutex too
23524
23525 2005-10-10  Andy Wingo  <wingo@pobox.com>
23526
23527         * gst/gstelement.c (gst_element_init, gst_element_finalize):
23528         Allocate and free the mutex properly.
23529
23530         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
23531         New macros.
23532         (GstElement): The state_lock is now recursive. Rebuild your
23533         plugins, suckers. Old macros adapted.
23534
23535         * docs/gst/gstreamer-sections.txt: Doc updates.
23536
23537         * gst/gstutils.h:
23538         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
23539         (g_static_rec_cond_wait): Ported from state changes patch, while
23540         we wait on bug #317802 to be solved in a well-distributed GLib.
23541
23542         * gst/gstelement.c (gst_element_change_state_func): Renamed from
23543         gst_element_change_state, variable name changes.
23544         (gst_element_change_state): Split out of gst_element_set_state in
23545         preparation for the state change merge. Doesn't pay attention to
23546         the 'transition' argument.
23547         (gst_element_set_state): Updates, hopefully purely cosmetic.
23548         (gst_element_sync_state_with_parent): MT-safety. Ported from the
23549         state change patch.
23550         (gst_element_get_state_func): Renamed from get_state, cosmetic
23551         changes.
23552
23553 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23554
23555         * gst/elements/gstelements.c:
23556         * win32/GStreamer.vcproj:
23557         * win32/config.h:
23558         * win32/dirent.c: (_tseekdir):
23559         * win32/gst-inspect.vcproj:
23560         * win32/gst-launch.vcproj:
23561         * win32/gstconfig.h:
23562         * win32/gstelements.vcproj:
23563         * win32/gstenumtypes.c: (gst_object_flags_get_type):
23564         * win32/gstreamer.def:
23565         * win32/msvc71.sln:
23566           updates for the win32 build (patch from Sebastien Moutte)
23567
23568 2005-10-10  Andy Wingo  <wingo@pobox.com>
23569
23570         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
23571         gst_bin_get_state, cleaned up (but no logic changes).
23572         (bin_element_is_sink): Comment updates.
23573         (sink_iterator_filter): Remove needless cast.
23574         (gst_bin_iterate_sinks): Doc update.
23575         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
23576         cleaned up (but no logic changes).
23577
23578         * check/states/sinks.c (test_src_sink): Cleanups from the state
23579         change patch.
23580         (test_livesrc_sink): Sync on the state.
23581
23582         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
23583         the state change patch.
23584
23585         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
23586         change patch.
23587
23588         * check/gst/gstbin.c: Merge in some style fixes and additional
23589         checks from Wim's state change patch.
23590
23591 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23592
23593         * gst/base/gsttypefindhelper.c: (helper_find_peek),
23594         (gst_type_find_helper):
23595           Check whether we have the requested data already in our list of
23596           cached buffers before pulling a new buffer; also make the buffer
23597           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
23598
23599 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23600
23601         * gst/gstcaps.c:
23602         * gst/gstevent.c:
23603           doc updates
23604         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
23605           don't use long long, it's not portable.  Replacing with
23606           gint64 seems to work; let's hope no skeletons fall out of the closet.
23607
23608 2005-10-10  Andy Wingo  <wingo@pobox.com>
23609
23610         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
23611
23612 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
23613
23614         * docs/gst/gstreamer-sections.txt:
23615         * gst/gstevent.c:
23616         * gst/gstevent.h:
23617         * gst/gstinfo.c:
23618         * gst/gstinfo.h:
23619         * gst/gstmessage.c: (gst_message_parse_state_changed):
23620         * gst/gstpad.c:
23621         * gst/gstpad.h:
23622           more docs, fix compilation
23623
23624 2005-10-09  Philippe Khalaf <burger@speedy.org>
23625         * gst/gstmessage.c:
23626           Fixed a few forgotten variables on previous commit
23627
23628 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
23629
23630         * gst/base/gsttypefindhelper.c: (helper_find_peek):
23631           Fix evil typefind crasher: getrange() might return a short
23632           buffer at the end of a file, but gst_type_find_peek() must
23633           either return the full data as requested or NULL, but
23634           never a short buffer.
23635
23636 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
23637
23638         * gst/gstmessage.c: (gst_message_new_state_changed),
23639         (gst_message_parse_state_changed):
23640         * gst/gstmessage.h:
23641           don't use "new", it's a C++ keyword
23642
23643 2005-10-08  Wim Taymans  <wim@fluendo.com>
23644
23645         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
23646         * gst/gstelement.c: (gst_element_post_message):
23647         * gst/gstpipeline.c: (gst_pipeline_change_state):
23648         Small docs and debug updates.
23649
23650 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
23651
23652         * docs/gst/gstreamer-sections.txt:
23653         * gst/gstelementfactory.c:
23654         * gst/gstevent.c:
23655         * gst/gsttaglist.c:
23656           more docs
23657
23658 2005-10-08  Wim Taymans  <wim@fluendo.com>
23659
23660         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
23661         (gst_bin_dispose), (bin_bus_handler):
23662         Fix typos, add comments.
23663         Clear EOS list when going to PAUSED from any direction and do it
23664         in a threadsafe way.
23665         Get base time in a threadsafe way too.
23666         Fix confusing debug in the change_state function.
23667         Various other small cleanups.
23668         
23669         * gst/gstelement.c: (gst_element_post_message):
23670         Fix very verbose bus posting code.
23671
23672         * gst/gstpipeline.c: (gst_pipeline_class_init),
23673         (gst_pipeline_set_property), (gst_pipeline_get_property),
23674         (gst_pipeline_change_state):
23675         Small ARG_ -> PROP_ cleanup
23676
23677 2005-10-08  Wim Taymans  <wim@fluendo.com>
23678
23679         * gst/gstbin.c: (is_eos), (bin_bus_handler):
23680         Do a less CPU demanding EOS check because we can.
23681
23682 2005-10-08  Wim Taymans  <wim@fluendo.com>
23683
23684         * libs/gst/dataprotocol/dataprotocol.c:
23685         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
23686         (gst_dp_packet_from_event):
23687         * libs/gst/dataprotocol/dataprotocol.h:
23688         * libs/gst/dataprotocol/dp-private.h:
23689         It's about time we bump the version number.
23690         Since event types don't fit in the guint8 anymore describing
23691         the payload type, make payload type 16 bits wide.
23692
23693 2005-10-08  Wim Taymans  <wim@fluendo.com>
23694
23695         * docs/design/part-TODO.txt:
23696         * docs/design/part-clocks.txt:
23697         * docs/design/part-events.txt:
23698         * docs/design/part-gstbin.txt:
23699         * docs/design/part-gstelement.txt:
23700         * docs/design/part-gstpipeline.txt:
23701         * docs/design/part-live-source.txt:
23702         * docs/design/part-messages.txt:
23703         * docs/design/part-overview.txt:
23704         * docs/design/part-states.txt:
23705         Many doc updates.
23706
23707 2005-10-08  Wim Taymans  <wim@fluendo.com>
23708
23709         * gst/gstevent.c:
23710         * gst/gstevent.h:
23711         Fix event quark registration.
23712         Add some space between events so we can insert them in the
23713         right groups.
23714
23715 2005-10-08  Wim Taymans  <wim@fluendo.com>
23716
23717         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23718         (gst_base_sink_handle_buffer):
23719         Better log message.
23720
23721         * gst/gstbus.h:
23722         * gst/gstelement.h:
23723         More docs.
23724
23725         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
23726         (gst_queue_set_property), (gst_queue_get_property):
23727         * gst/gstqueue.h:
23728         Remove old unused properties.
23729
23730 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
23731         * docs/gst/gstreamer-sections.txt:
23732         * gst/gstmessage.c:
23733         * gst/gstmessage.h:
23734         * gst/gstminiobject.c:
23735         * gst/gstminiobject.h:
23736         * gst/gstobject.h:
23737         * gst/gstpad.h:
23738         * gst/gstutils.h:
23739           lots of new docs and doc fixes
23740
23741 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23742
23743         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
23744         * gst/gstplugin.h:
23745         * gst/gstregistry.c: (gst_registry_lookup_locked),
23746         (gst_registry_scan_path_level):
23747         * gst/gstregistryxml.c: (load_plugin):
23748           Only ever load one plugin for a given plugin basename.
23749           This ensures correct overriding of GST_PLUGIN_PATH over
23750           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
23751           system installed plugins.
23752
23753 2005-10-08  Wim Taymans  <wim@fluendo.com>
23754
23755         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23756         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
23757         Prepare for doing QOS.
23758
23759 2005-10-08  Wim Taymans  <wim@fluendo.com>
23760
23761         * check/gst/gstbin.c: (GST_START_TEST):
23762         * check/pipelines/cleanup.c: (GST_START_TEST):
23763         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
23764         Allow new clock message too.
23765
23766 2005-10-08  Wim Taymans  <wim@fluendo.com>
23767
23768         * gst/gstmessage.c: (gst_message_new_error),
23769         (gst_message_new_warning), (gst_message_new_tag),
23770         (gst_message_new_state_changed), (gst_message_new_clock_provide),
23771         (gst_message_new_clock_lost), (gst_message_new_new_clock),
23772         (gst_message_new_segment_start), (gst_message_new_segment_done),
23773         (gst_message_parse_state_changed),
23774         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
23775         (gst_message_parse_new_clock):
23776         * gst/gstmessage.h:
23777         Also carry the clock in question.
23778
23779 2005-10-08  Wim Taymans  <wim@fluendo.com>
23780
23781         * gst/gstmessage.c: (gst_message_new_custom),
23782         (gst_message_new_eos), (gst_message_new_error),
23783         (gst_message_new_warning), (gst_message_new_tag),
23784         (gst_message_new_state_changed), (gst_message_new_clock_provide),
23785         (gst_message_new_new_clock), (gst_message_new_segment_start),
23786         (gst_message_new_segment_done), (gst_message_parse_state_changed),
23787         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
23788         * gst/gstmessage.h:
23789         Clean up.
23790         Added clock related messages.
23791
23792         * gst/gstpipeline.c: (gst_pipeline_change_state):
23793         Post message when the clock changed.
23794
23795         * tools/gst-launch.c: (event_loop):
23796         Print new clock.
23797
23798 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
23799
23800         * tools/gst-inspect.c: (print_element_properties_info):
23801           Can't pass NULL strings to g_print() on windows.
23802
23803 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23804
23805         * docs/Makefile.am:
23806         * docs/gst/Makefile.am:
23807         * docs/gst/gstreamer-docs.sgml:
23808         * docs/gst/running.xml:
23809         * docs/version.entities.in:
23810           add a chapter on running GStreamer.
23811           document GST_DEBUG and GST_PLUGIN* env vars
23812
23813 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23814
23815         * Makefile.am:
23816           remove include dir
23817         * configure.ac:
23818           remove PLUGINS_BUILDDIR stuff
23819         * gst/gst.c: (init_post):
23820           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
23821         * idiottest.mak:
23822           remove, it was condescending and not needed
23823
23824 2005-10-08  Wim Taymans  <wim@fluendo.com>
23825
23826         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
23827         (gst_base_sink_handle_object), (gst_base_sink_event),
23828         (gst_base_sink_wait), (gst_base_sink_handle_event),
23829         (gst_base_sink_change_state):
23830         * gst/base/gstbasesink.h:
23831         Repost EOS message while going to PLAYING if still EOS.
23832         Make sure that when receiving a FLUSH_START we don't attempt
23833         to sync on the clock anymore.
23834
23835 2005-10-08  Wim Taymans  <wim@fluendo.com>
23836
23837         * tools/gst-launch.c: (event_loop):
23838         Better message printout.
23839
23840 2005-10-08  Wim Taymans  <wim@fluendo.com>
23841
23842         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
23843         (gst_bin_child_proxy_get_children_count):
23844         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
23845         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
23846         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
23847         (gst_child_proxy_set_valist):
23848         * gst/parse/grammar.y:
23849         Make ChildProxy threadsafe and fix mem leaks.
23850
23851 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23852
23853         * gst/gst.c: (init_post):
23854           debug the GST_PLUGIN_ env vars
23855
23856 2005-10-08  Wim Taymans  <wim@fluendo.com>
23857
23858         * check/gst/gstbin.c: (GST_START_TEST):
23859         * check/gst/gstmessage.c: (GST_START_TEST):
23860         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
23861         * gst/gstelement.c: (gst_element_commit_state),
23862         (gst_element_lost_state):
23863         * gst/gstmessage.c: (gst_message_new_state_changed),
23864         (gst_message_parse_state_changed):
23865         * gst/gstmessage.h:
23866         * tools/gst-launch.c: (event_loop):
23867         Added extra field to STATE_CHANGE message with the pending
23868         state, which will be different from the new state soon.
23869
23870 2005-10-08  Wim Taymans  <wim@fluendo.com>
23871
23872         * gst/gstbus.c: (gst_bus_pop):
23873         * gst/gstclock.c:
23874         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
23875         Small cleanups and doc updates.
23876
23877 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23878
23879         * gst/gst.c: (init_pre):
23880         * gst/gstbin.c: (gst_bin_add_func):
23881           log distributing clocks and base time
23882         * gst/gstregistry.c: (gst_registry_add_plugin),
23883         (gst_registry_scan_path_level), (gst_registry_scan_path):
23884           clean up the debugging output a little
23885         * gst/gstutils.c: (gst_element_state_get_name):
23886           warn about a memleak (I've actually seen this be used, though
23887           it was probably a bug)
23888
23889 2005-10-07  Wim Taymans  <wim@fluendo.com>
23890
23891         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
23892         (gst_base_src_init), (gst_base_src_default_newsegment),
23893         (gst_base_src_newsegment), (gst_base_src_do_seek),
23894         (gst_base_src_loop), (gst_base_src_start):
23895         * gst/base/gstbasesrc.h:
23896         Make the newsegment event customizable by subclasses.
23897
23898 2005-10-07  Wim Taymans  <wim@fluendo.com>
23899
23900         * gst/gstevent.c: (gst_event_new_buffersize),
23901         (gst_event_parse_buffersize):
23902         * gst/gstevent.h:
23903         New event for future idea.
23904
23905 2005-10-07  Andy Wingo  <wingo@pobox.com>
23906
23907         * gst/gstelement.c (gst_element_post_message): Doc update.
23908
23909         * docs/gst/gstreamer-sections.txt: Update.
23910
23911         * gst/gstmessage.c (gst_message_new_application): Made into a
23912         function like honest API calls.
23913         (gst_message_new_element): New message type.
23914
23915         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
23916
23917         * check/elements/fakesrc.c (test_no_preroll): New check, checks
23918         that setting a live fakesrc to PAUSED returns NO_PREROLL both
23919         times.
23920
23921         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
23922         NO_PREROLL from gst_element_change_state to fall through.
23923
23924 2005-10-07  Wim Taymans  <wim@fluendo.com>
23925
23926         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
23927         (gst_ghost_pad_do_activate_push):
23928         Activating a ghostpad with no internal pad in push mode
23929         is ok.
23930
23931 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
23932
23933         * gst/gstobject.h:
23934           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
23935           Fixes compilation on Windows.
23936
23937 2005-10-07  Michael Smith <msmith@fluendo.com>
23938
23939         * tools/gst-inspect.c:
23940           Print out feature and plugin count at the end when printing out
23941           all features.
23942
23943 2005-10-04  Michael Smith <msmith@fluendo.com>
23944
23945         * gst/gsterror.c: (_gst_stream_errors_init):
23946           Add another error string used in a few existing plugins.
23947
23948         * gst/gstplugin.c:
23949         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
23950         * tools/gst-inspect.c: (print_element_info):
23951           When a feature disappears from a plugin (and the feature exists in
23952           the cached registry file), things went horribly wrong. This isn't a
23953           complete fix, we should actually be removing the 'missing' features
23954           from the features list when we load the actual plugin. That's not
23955           yet implemented. 
23956
23957 2005-10-04  Johan Dahlin  <johan@gnome.org>
23958
23959         * check/gst/gstiterator.c: (GST_START_TEST):
23960         * gst/gstbin.c: (gst_bin_iterate_elements),
23961         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
23962         * gst/gstelement.c: (gst_element_iterate_pads):
23963         * gst/gstformat.c: (gst_format_iterate_definitions):
23964         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
23965         (gst_iterator_new_list), (gst_iterator_filter):
23966         * gst/gstiterator.h:
23967         * gst/gstquery.c: (gst_query_type_iterate_definitions):
23968         Add a GType to GstIterator, update callsites and tests.
23969
23970 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23971
23972         * gst/gstpad.c: (gst_pad_event_default_dispatch):
23973           give events a chance to be handled by event probes when the pad
23974           is not linked
23975
23976 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23977
23978         * gst/gstevent.c: (gst_event_type_get_name),
23979         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
23980         * gst/gstevent.h:
23981           add string representations for event types
23982
23983 2005-10-06  Wim Taymans  <wim@fluendo.com>
23984
23985         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
23986         Don't use NULL pointers.
23987
23988 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23989
23990         * gst/gst_private.h:
23991         * gst/gstbus.c:
23992         * gst/gstelement.c:
23993         * gst/gstinfo.c:
23994         * gst/gstpluginfeature.c:
23995           widen the debug category in output to fit the biggest one we have
23996           add a bus category and use it
23997           play with the colors
23998           fix up some categories
23999
24000 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
24001
24002         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
24003           add push activation of sink ghost pads.
24004           Andye, please verify
24005
24006 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
24007
24008         * gst/gstutils.c: (gst_element_link_pads):
24009           fix a bug in the case where neither element has a pad
24010         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
24011           add a test for that case
24012
24013 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
24014
24015         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
24016           emit have-data before checking for peers.  This allows
24017           for probe handlers to connect elements.  This helps autopluggers.
24018         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
24019         (gst_pad_suite):
24020           add six checks, linked/unlinked with no/true/false probe
24021
24022 2005-10-04  Wim Taymans  <wim@fluendo.com>
24023
24024         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
24025         (gst_fake_sink_event), (gst_fake_sink_preroll),
24026         (gst_fake_sink_render), (gst_fake_sink_change_state):
24027         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
24028         (gst_fake_src_get_property), (gst_fake_src_create),
24029         (gst_fake_src_stop):
24030         * gst/elements/gstidentity.c: (gst_identity_stop):
24031         Protect last_message with lock.
24032
24033 2005-10-04  Edward Hervey  <edward@fluendo.com>
24034
24035         * gst/gstformat.h: 
24036         Added precision in the comments for GST_FORMAT_DEFAULT
24037
24038 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
24039
24040         * tools/gst-launch.c: (main):
24041           Don't try to run erroneous pipelines.
24042
24043 2005-10-04  Julien MOUTTE  <julien@moutte.net>
24044
24045         * gst/gstbus.c: We don't need this header.
24046
24047 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
24048
24049         * configure.ac:
24050           back to development
24051
24052 === release 0.9.3 ===
24053
24054 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
24055
24056         * README:
24057         * configure.ac:
24058           Releasing 0.9.3, "Unregistered"
24059
24060 2005-10-03  Andy Wingo  <wingo@pobox.com>
24061
24062         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
24063         whereby calling a pad's activatepush() function can start a thread
24064         that starts to push or pull before the pad gets the FLUSHING flag
24065         unset. Hack around it by holding the stream lock until the flag is
24066         set. Need to replace this with a proper solution. Together with
24067         the ghost pad fixes, this fixes mp3 playing/tagreading.
24068
24069         * docs/design/part-gstghostpad.txt: Add a note about activation of
24070         proxy pads outside of ghost pads.
24071
24072         * gst/gstghostpad.c: Implement the ghost pad activation design.
24073
24074 2005-10-02  Andy Wingo  <wingo@pobox.com>
24075
24076         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
24077         It is volatile, after all.
24078
24079         * docs/design/part-gstghostpad.txt: Flesh out activation with
24080         ghost pads.
24081
24082         * gst/base/gstbasesrc.c (gst_base_src_init): Use
24083         GST_DEBUG_FUNCPTR.
24084
24085 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
24086
24087         * configure.ac:
24088           Fix (unused) AM_CONDITIONAL tests.
24089
24090 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
24091
24092         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
24093
24094         * gst/gstutils.c: (gst_pad_query_convert):
24095           Add assertion that makes sure src_val is >=0, just like
24096           gst_query_new_convert() has. (#315895)
24097
24098 2005-09-30  Edward Hervey  <edward@fluendo.com>
24099
24100         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
24101         Let's not iterate pads we're not interested in, it avoids getting 
24102         sky-high refcounts on sinkpad.
24103
24104 2005-09-30  Wim Taymans  <wim@fluendo.com>
24105
24106         * gst/gstelement.c: (gst_element_set_state),
24107         (gst_element_change_state):
24108         Small tweak, element in ASYNC remains ASYNC.
24109
24110 2005-09-30  Wim Taymans  <wim@fluendo.com>
24111
24112         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
24113         Only error is an error.
24114
24115         * gst/gstbin.c: (gst_bin_change_state):
24116         Better debugging.
24117
24118         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
24119         Also call pad_block in pad alloc.
24120
24121         * gst/gstutils.c: (gst_flow_get_name):
24122         Better debugging.
24123
24124 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
24125
24126         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
24127         (gst_base_src_get_range):
24128           Fix documentation typos. Add some more debug info.
24129
24130 2005-09-29  David Schleef  <ds@schleef.org>
24131
24132         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
24133           more end-user friendly.
24134         * tools/gst-inspect.c: (main): Check if command-line argument is
24135           a file and attempt to load that file as a plugin.
24136
24137 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
24138
24139         * check/gst/gstbin.c:
24140         * check/states/sinks.c:
24141           fix tests for the new warning
24142         * check/gst/gstpipeline.c:
24143           add a test for pipeline and bus interaction
24144         * gst/gstelement.c:
24145           elements should be NULL if they get disposed; add a warning if not
24146
24147 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
24148
24149         * gst/gstobject.c:
24150           for 2.6 refcounting, make debug log more correct by printing
24151           the actual refcounts at the time of swap (Wim)
24152
24153 2005-09-29  Andy Wingo  <wingo@pobox.com>
24154
24155         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
24156         removes signal watches previously added via
24157         gst_bus_add_signal_watch.
24158         (gst_bus_add_signal_watch): Don't return the source id, just store
24159         it on the bus if there wasn't an id already.
24160
24161         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
24162         add_signal_watch and remove_signal_watch.
24163
24164 2005-09-29  Edward Hervey  <edward@fluendo.com>
24165
24166         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
24167         Better if we actually iterate the list :)
24168
24169 2005-09-29  Wim Taymans  <wim@fluendo.com>
24170
24171         * check/gst/gstbin.c: (GST_START_TEST):
24172         Change for new bus API.
24173
24174         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
24175         (send_messages), (GST_START_TEST), (gstbus_suite):
24176         Change for new bus signal API.
24177
24178         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
24179         (gst_bus_source_prepare), (gst_bus_source_check),
24180         (gst_bus_create_watch), (gst_bus_add_watch_full),
24181         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
24182         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
24183         * gst/gstbus.h:
24184         Remove support for multiple GSources operating on different
24185         message types as it is too complex and unneeded when using
24186         signals.
24187         Added support for receiving signals from the bus.
24188
24189 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
24190
24191         * docs/libs/tmpl/gstdataprotocol.sgml:
24192         * docs/manual/advanced-dataaccess.xml:
24193         * gst/elements/gstcapsfilter.c:
24194         * gst/gstutils.c:
24195           rename filter-caps to caps property
24196
24197 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
24198
24199         * gst/gstvalue.c: (gst_value_deserialize_fraction):
24200           More robust fraction string parsing.
24201
24202         * docs/pwg/appendix-porting.xml:
24203           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
24204
24205 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
24206
24207         * gst/gstcaps.c: (gst_caps_do_simplify):
24208           Thou shalt not free a structure and then continue using it
24209           in the next loop iteration.
24210
24211         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
24212         (gst_caps_suite):
24213           Add test case for caps simplification.
24214
24215 2005-09-29  Wim Taymans  <wim@fluendo.com>
24216
24217         * check/gst/gstbin.c: (GST_START_TEST):
24218         Oops.
24219
24220 2005-09-29  Wim Taymans  <wim@fluendo.com>
24221
24222         * check/gst/gstbin.c: (GST_START_TEST):
24223         Add bus to bin.
24224
24225         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
24226         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
24227         (find_element), (gst_bin_sort_iterator_next),
24228         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24229         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24230         (gst_bin_change_state), (gst_bin_dispose):
24231         A bin does not have a bus, it gets the bus from the parent.
24232
24233         * gst/gstelement.c: (gst_element_requires_clock),
24234         (gst_element_provides_clock), (gst_element_is_indexable),
24235         (gst_element_is_locked_state), (gst_element_change_state),
24236         (gst_element_set_bus_func):
24237         Small cleanups.
24238
24239         * gst/gstpipeline.c: (gst_pipeline_class_init),
24240         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
24241         The pipeline provides a bus.
24242
24243 2005-09-28  Johan Dahlin  <johan@gnome.org>
24244
24245         * gst/gstmessage.c (gst_message_parse_state_changed): Use
24246         gst_structure_get_enum instead of gst_structure_get_int
24247
24248         * gst/gststructure.c (gst_structure_get_enum): Impl.
24249
24250         * gst/gststructure.h (gst_structure_get_enum): Add
24251
24252         * docs/gst/gstreamer-sections.txt: Ditto
24253
24254         * gst/gstmessage.c (gst_message_new_state_changed): Use
24255         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
24256         which does introspection.
24257         Reviewed by Christian Schaller
24258
24259 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
24260
24261         * gst/gstinfo.c: (gst_debug_log_default):
24262           don't do dummy g_strdup()s
24263         * libs/gst/controller/gstcontroller.c:
24264         (on_object_controlled_property_changed),
24265         (gst_controlled_property_new), (gst_controller_new_valist),
24266         (gst_controller_new_list),
24267         (gst_controller_remove_properties_valist), (gst_controller_set),
24268         (gst_controller_get), (gst_controller_sync_values),
24269         (gst_controller_get_value_array), (_gst_controller_class_init),
24270         (gst_controller_get_type):
24271         * libs/gst/controller/gstcontroller.h:
24272         * libs/gst/controller/gstinterpolation.c:
24273         (gst_controlled_property_find_timed_value_node):
24274           convert // to /**/ comments
24275
24276 2005-09-28  Wim Taymans  <wim@fluendo.com>
24277
24278         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
24279         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
24280         (gst_bus_sync_signal_handler):
24281         * gst/gstbus.h:
24282         Added async-message and sync-message signals to the bus.
24283         Added helper BusFunc to emit signals for all posted messages.
24284
24285         * gst/gstmessage.c: (gst_message_type_get_name),
24286         (gst_message_type_to_quark), (gst_message_get_type):
24287         * gst/gstmessage.h:
24288         Register quarks for message names.
24289
24290 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
24291
24292         * docs/libs/gstreamer-libs-sections.txt:
24293         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
24294         (gst_controller_new_list):
24295         * libs/gst/controller/gstcontroller.h:
24296           added another constructor for language bindings
24297
24298 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
24299
24300         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
24301           add another check
24302         * gst/gstbus.c:
24303           add some doc
24304         * gst/gstinfo.c: (_gst_debug_init):
24305           slightly more readable color for refcount debugging
24306
24307 2005-09-28  Wim Taymans  <wim@fluendo.com>
24308
24309         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
24310         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
24311         (find_element), (gst_bin_sort_iterator_next),
24312         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24313         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24314         (gst_bin_change_state), (gst_bin_dispose):
24315         Small doc fixes. get_clock -> provide_clock.
24316
24317         * gst/gstelement.c: (gst_element_class_init),
24318         (gst_element_provides_clock), (gst_element_provide_clock),
24319         (gst_element_get_clock), (gst_element_commit_state),
24320         (gst_element_lost_state):
24321         * gst/gstelement.h:
24322         Make get/set_clock() symetric. Add provide_clock vmethod since
24323         that is actually what this function does.
24324
24325         * gst/gstpipeline.c: (gst_pipeline_class_init),
24326         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
24327         (gst_pipeline_get_clock):
24328         get_clock -> provide_clock.
24329
24330 2005-09-28  Andy Wingo  <wingo@pobox.com>
24331
24332         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
24333         lieu of real docs...
24334
24335         * gst/elements/gstfdsrc.c: Cleaned up a bit.
24336
24337 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
24338
24339         * gst/elements/gstcapsfilter.c:
24340         * gst/elements/gstfakesink.c:
24341         * gst/elements/gstfakesrc.c:
24342         * gst/elements/gstfdsink.c:
24343         * gst/elements/gstfdsrc.c:
24344         * gst/elements/gstfilesink.c:
24345         * gst/elements/gstfilesrc.c:
24346         * gst/elements/gstidentity.c:
24347         * gst/elements/gsttee.c:
24348         * gst/elements/gsttypefindelement.c:
24349           Make element details static.
24350
24351 2005-09-28  Wim Taymans  <wim@fluendo.com>
24352
24353         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24354         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24355         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24356         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24357         (gst_bin_change_state), (gst_bin_dispose):
24358         Some documentation updates.
24359         Clean up dispose handlers.
24360
24361         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
24362         * gst/gstpad.c: (gst_pad_dispose):
24363         Clean up dispose handler.
24364
24365         * gst/gstpipeline.c: (gst_pipeline_change_state):
24366         Removed spurious UNLOCK.
24367
24368 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
24369
24370         * docs/gst/gstreamer-sections.txt:
24371         * gst/base/gstbasesrc.h:
24372         * gst/gstelement.h:
24373         * gst/gstevent.h:
24374         * gst/gstobject.h:
24375         * gst/gstpad.h:
24376         * gst/gstpipeline.c:
24377         * gst/gstpipeline.h:
24378         * gst/gstutils.h:
24379         * gst/gstxml.h:
24380           added two new functions to the docs
24381                 documents all undocumented GstXXXFlags
24382                 completed some incomplete docs 
24383
24384 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
24385
24386         * gst/gstbin.c: (gst_bin_dispose):
24387         * gst/gstelement.c: (gst_element_dispose):
24388           remove now useless and leaky resurrection code in dispose
24389         * gst/base/gstbasesrc.c: (gst_base_src_init):
24390         * gst/gstelementfactory.c: (gst_element_factory_create):
24391         * gst/gstobject.c: (gst_object_set_parent):
24392           add some debugging
24393
24394 2005-09-27  Wim Taymans  <wim@fluendo.com>
24395
24396         * docs/design/part-TODO.txt:
24397         Update TODO.
24398
24399         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24400         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24401         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24402         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24403         (gst_bin_change_state):
24404         * gst/gstelement.h:
24405         Remove element variable, we keep element info in the iterator now.
24406
24407 2005-09-27  Andy Wingo  <wingo@pobox.com>
24408
24409         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
24410         values.
24411
24412 2005-09-27  Wim Taymans  <wim@fluendo.com>
24413
24414         * check/gst/gstbin.c: (GST_START_TEST):
24415         Enable check that works now.
24416
24417         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24418         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24419         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24420         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24421         (gst_bin_change_state):
24422         * gst/gstbin.h:
24423         Redid the state change algorithm using a topological sort algo.
24424         Handles all cases correctly.
24425         Exposed iterator for state change order.
24426
24427         * gst/gstelement.h:
24428         Temp storage for state changes. Need to get rid of this soon.
24429
24430 2005-09-27  Wim Taymans  <wim@fluendo.com>
24431
24432         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
24433         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
24434         (link_fold_func), (gst_pad_proxy_setcaps):
24435         Leak fixes, the fold functions need to unref the passed object and
24436         _get_parent_*() returns ref to parent.
24437
24438 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24439
24440         * check/gst/gstbuffer.c: (test_make_writable):
24441           Plug leak in test case and fix 'make check-valgrind'
24442
24443 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24444
24445         * gst/gstbuffer.c: (gst_subbuffer_init):
24446           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
24447           works correctly in all circumstances (we could have just copied
24448           the parent buffer's readonly flag, but conceptually it seems
24449           cleaner to mark all subbuffers as read-only). (based on patch
24450           by Alessandro Decina, #314710).
24451         
24452         * check/gst/gstbuffer.c: (create_read_only_buffer),
24453         (test_make_writable), (test_subbuffer_make_writable),
24454         (gst_test_suite):
24455           Add some tests for gst_buffer_make_writable().
24456
24457 2005-09-27  Wim Taymans  <wim@fluendo.com>
24458
24459         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
24460         use gst_object_has_ancestor().
24461
24462         * gst/gstobject.c: (gst_object_has_ancestor):
24463         * gst/gstobject.h:
24464         gst_object_has_ancestor() copied from gstbin.c as it is a
24465         useful function.
24466
24467         * tests/instantiate/create.c: (create_all_elements):
24468         * tests/lat.c: (handoff_src), (handoff_sink):
24469         * tests/sched/runxml.c: (main):
24470         * tests/seeking/seeking1.c: (main):
24471         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
24472         (main):
24473         Fix compilation of some tests.
24474
24475 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24476
24477         * gst/gsterror.h:
24478           Remove comment. GST_TYPE_G_ERROR is here to stay,
24479           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
24480           (#316961, #300610).
24481
24482 2005-09-26  Wim Taymans  <wim@fluendo.com>
24483
24484         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
24485         Added check that shows error in state change order.
24486
24487 2005-09-26  Wim Taymans  <wim@fluendo.com>
24488
24489         * gst/gstbin.c: (gst_bin_change_state):
24490         Make state change function use 3 queues again, we were
24491         adding elements in the wrong order.
24492
24493         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
24494         Some debug info,
24495
24496         * gst/gstpad.c: (gst_pad_dispose):
24497         Added some debug info first.
24498
24499 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
24500
24501         * docs/design/draft-push-pull.txt:
24502         * docs/design/part-events.txt:
24503         * docs/design/part-overview.txt:
24504         * docs/design/part-scheduling.txt:
24505           Replace all _pull_region() with _pull_range()
24506           
24507 2005-09-26  Andy Wingo  <wingo@pobox.com>
24508
24509         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
24510
24511         * check/gst-libs/controller.c: Update for controller api change.
24512
24513         * configure.ac: 
24514         * tests/Makefile.am:
24515         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
24516         over by GLib bug 118439.
24517         
24518         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
24519         routines to a function.
24520
24521         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
24522
24523         * libs/gst/controller/gsthelper.c:
24524         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
24525         (gst_object_sync_values): Renamed from sink_values. Ugh.
24526
24527         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
24528
24529         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
24530         Renamed from controller_key, as it is exported.
24531
24532         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
24533
24534 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
24535
24536         * gst/Makefile.am:
24537         * gst/gst.h:
24538         * gst/gstpad.h:
24539         * gst/gstpadtemplate.h:
24540         * gst/gstquery.c:
24541         * gst/gstquery.h:
24542         * gst/gstqueryutils.c:
24543         * gst/gstqueryutils.h:
24544           remove queryutils headers after moving the two used functions
24545           to gstquery.  also fixes build problem for gstsiddec
24546
24547 2005-09-26  Michael Smith <msmith@fluendo.com>
24548
24549         * tools/gst-launch.1.in:
24550         Correct documentation in manpage of debug syntax
24551
24552 2005-09-26  Wim Taymans  <wim@fluendo.com>
24553
24554         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
24555         (gst_base_src_is_seekable), (gst_base_src_change_state):
24556         Some more debugging info.
24557
24558 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24559
24560         * docs/gst/gstreamer-sections.txt:
24561         * gst/base/gstbasetransform.h:
24562         * gst/gstindex.h:
24563           added more docs
24564
24565 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24566
24567         * docs/gst/.cvsignore:
24568         * docs/gst/tmpl/.cvsignore:
24569         * docs/gst/tmpl/gstpipeline.sgml:
24570         * docs/gst/tmpl/gstplugin.sgml:
24571         * gst/gstpipeline.c:
24572         * gst/gstplugin.c:
24573         * gst/gstplugin.h:
24574           inlined the last two docs files
24575           removed the tmpl directory from cvs (no more conflicts here!)
24576
24577 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24578
24579         * docs/gst/gstreamer-sections.txt:
24580         * docs/gst/tmpl/.cvsignore:
24581         * docs/gst/tmpl/gstpad.sgml:
24582         * docs/gst/tmpl/gstpadtemplate.sgml:
24583         * gst/Makefile.am:
24584         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
24585         (gst_pad_finalize), (gst_pad_set_pad_template):
24586         * gst/gstpad.h:
24587         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
24588         (gst_pad_template_class_init), (gst_pad_template_init),
24589         (gst_pad_template_dispose), (name_is_valid),
24590         (gst_static_pad_template_get), (gst_pad_template_new),
24591         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
24592         (gst_pad_template_pad_created):
24593         * gst/gstpadtemplate.h:
24594           inlined two more docs
24595           factored gstpadtemplate out of gstpad
24596
24597 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
24598
24599         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24600         (test_children_state_change_order_semi_sink):
24601           Fix test case: we can't rely on a fixed state change order when
24602           going from READY => PAUSED because the sink might commit its 
24603           new state first when the first buffer created by the source 
24604           reaches the sink before the source has finished its change state.
24605           (Test case still fails at times, see #316856, comment 5 onwards)
24606
24607 2005-09-24  Wim Taymans  <wim@fluendo.com>
24608
24609         * docs/design/part-events.txt:
24610         * docs/design/part-gstbus.txt:
24611         * docs/design/part-gstpipeline.txt:
24612         * docs/design/part-messages.txt:
24613         * docs/design/part-overview.txt:
24614         * docs/design/part-segments.txt:
24615         * gst/gstbin.c:
24616         * gst/gstbuffer.c:
24617         * gst/gstclock.c:
24618         * gst/gstelement.c:
24619         * gst/gstevent.c:
24620         * gst/gstfilter.c:
24621         * gst/gstiterator.c:
24622         Various documentation updates.
24623
24624 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
24625
24626         * gst/gstclock.h:
24627           Well, that's embarassing.  Luckily we weren't using
24628           GST_CLOCK_DIFF anywhere.
24629
24630 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24631
24632         * common/gtk-doc.mak:
24633           don't fail on building XML, FC4 slave shows a bunch of doc
24634           missing bits that I don't get
24635         * gst/gstpad.c:
24636         * gst/gstpipeline.c:
24637         * gst/gststructure.c:
24638           some doc updates
24639
24640 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
24641
24642         * docs/design/part-gstbin.txt:
24643         * docs/design/part-gstbus.txt:
24644         * gst/gstbus.c:
24645           Add blurb about how the bus goes into flushing mode and
24646           drops all messages when its bin goes from READY into NULL 
24647           state.
24648
24649 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24650
24651         * docs/gst/gstreamer-sections.txt:
24652         * gst/gststructure.c: (gst_structure_get_clock_time):
24653         * gst/gststructure.h:
24654           add a method to get a GstClockTime out of a structure
24655
24656 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
24657
24658         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24659         (test_children_state_change_order_semi_sink), (gst_bin_suite):
24660           Added test to check state change order in bins (can still be made
24661           to fail here under heavy disk load; bails out with 'Push on pad
24662           fakesink:sink0, but it was not activated in push mode').
24663
24664         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
24665           Fix state change order when there is only a semi sink (#316856)
24666
24667         * gst/gstbus.c: (gst_bus_class_init):
24668           Use _class_peek_parent(), not _class_ref(); fix docs to say
24669           'default main context' instead of 'mainloop' where that is
24670           what's meant.
24671
24672         * gst/gstelement.c: (gst_element_commit_state),
24673         (gst_element_set_state):
24674           Fix typos in debug messages
24675
24676 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24677
24678         * docs/README:
24679         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
24680         * gst/gstpluginfeature.c:
24681         * gst/gstutils.c:
24682           various doc updates
24683         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24684           change an assert into an error until it gets fixed properly
24685
24686 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
24687
24688         * docs/gst/gstreamer-sections.txt:
24689         * docs/gst/tmpl/.cvsignore:
24690         * docs/gst/tmpl/gstelement.sgml:
24691         * docs/gst/tmpl/gstinfo.sgml:
24692         * docs/gst/tmpl/gstobject.sgml:
24693         * gst/gstelement.c:
24694         * gst/gstelement.h:
24695         * gst/gstinfo.c:
24696         * gst/gstinfo.h:
24697         * gst/gstobject.c: (gst_object_class_init):
24698         * gst/gstobject.h:
24699           inlined 3 more biiiig doc files and added some missing docs on the fly
24700
24701 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24702
24703         * check/gst/.cvsignore:
24704         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
24705         * gst/gstregistryxml.c: (load_plugin),
24706         (gst_registry_xml_save_plugin):
24707           put back source in registry.  add checks for find_plugin.
24708         * testsuite/states/bin.c: (assert_state), (empty_bin),
24709         (test_adding_one_element), (main):
24710         * testsuite/states/locked.c: (main):
24711           some compile/run fixes
24712
24713 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
24714
24715         * check/gst/gstvalue.c: (GST_START_TEST):
24716           fix leaks in the test itself
24717
24718 2005-09-22  Wim Taymans  <wim@fluendo.com>
24719
24720         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24721         (gst_base_sink_send_event), (gst_base_sink_peer_query),
24722         (gst_base_sink_query):
24723         Prepare for more accurate position reporting and query
24724         handling.
24725
24726         * gst/gstelement.c: (gst_element_send_event),
24727         (gst_element_set_state):
24728         Add some comment.
24729
24730 2005-09-22  Wim Taymans  <wim@fluendo.com>
24731
24732         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
24733         (gst_query_parse_segment):
24734         * gst/gstquery.h:
24735         More documentation.
24736         Add segment query for future use.
24737
24738 2005-09-22  Wim Taymans  <wim@fluendo.com>
24739
24740         * gst/gstbin.c: (gst_bin_add_func):
24741         Some more debug info.
24742
24743         * gst/gstelement.c: (gst_element_send_event):
24744         Simplify send_event
24745
24746         * gst/gstelement.h:
24747         Don't know how flags got broken.
24748
24749         * gst/gstquery.h:
24750         Added new query.
24751
24752 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
24753
24754         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
24755           Add simplistic test suite for GST_TYPE_DATE serialisation and
24756           deserialisation.
24757
24758 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
24759
24760         * docs/gst/gstreamer-sections.txt:
24761         * gst/gststructure.c: (gst_structure_set_valist),
24762         (gst_structure_get_date):
24763         * gst/gststructure.h:
24764         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
24765         (gst_date_copy), (gst_value_compare_date),
24766         (gst_value_serialize_date), (gst_value_deserialize_date),
24767         (gst_value_transform_date_string),
24768         (gst_value_transform_string_date), (_gst_value_initialize):
24769         * gst/gstvalue.h:
24770           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
24771           bunch of utility functions along with a hack that checks that
24772           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
24773           is required. Part of the grand scheme in #170777.
24774
24775 2005-09-22  Andy Wingo  <wingo@pobox.com>
24776
24777         * gst/gstconfig.h.in: Psych out gtk-doc.
24778
24779         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
24780
24781         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
24782
24783         * tools/gst-inspect.c (print_element_list): Plug some
24784         inconsequential leaks.
24785
24786         * gst/gstregistry.c (gst_registry_get_default): Doc.
24787
24788         * check/gst/gstplugin.c: 
24789         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
24790         * gst/gstelementfactory.c (gst_element_factory_create): 
24791         * gst/gstindexfactory.c (gst_index_factory_create): Update for
24792         refcount changes.
24793
24794         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
24795         (gst_plugin_feature_load): Doc, don't eat refs.
24796
24797         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
24798         (gst_plugin_list_free): Doc.
24799         (gst_plugin_load_file): Doc updates.
24800
24801         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
24802         accessors returning refcounted objects, return a ref.
24803
24804         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
24805         accessor for caps. IDEMPOTENCE. Oh yes.
24806
24807 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
24808
24809         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
24810
24811         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
24812         (_gst_debug_register_funcptr):
24813           Add mutex to serialise access to the hash table with
24814           the function pointer => function name string mapping;
24815           make that hash table static scope (#316809).
24816
24817         * gst/registries/.cvsignore:
24818           Remove left-over file.
24819
24820 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
24821
24822         * docs/pwg/appendix-porting.xml:
24823           And something about newsegment events and caps-on-buffers to
24824           the porting guide (feel free to improve).
24825
24826 2005-09-21  Andy Wingo  <wingo@pobox.com>
24827
24828         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
24829         data and event probes on the same pad.
24830         (test_buffer_probe_once): Test that removing probes from within
24831         the probe functions works.
24832
24833 2005-09-21  Andy Wingo  <wingo@pobox.com>
24834
24835         * check/gst/gstutils.c: New file.
24836         (test_buffer_probe_n_times): A simple buffer probe test. More to
24837         come, foolios.
24838
24839         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
24840         have-data::buffer, not have-data.
24841         (gst_pad_add_event_probe): Likewise for have-data::event.
24842         (gst_pad_add_data_probe): More docs. The part about 'resolving the
24843         peer' isn't quite right yet though.
24844         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
24845         (gst_pad_remove_data_probe): Change to take the guint handler_id
24846         as their arg, not the function+data, which is more glib-like.
24847
24848         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
24849         the signal emission to indicate if the data is a buffer or an
24850         event.
24851         (gst_pad_get_type): Initialize buffer and event quarks.
24852         (gst_pad_class_init): have-data is now a detailed signal, yes it
24853         is.
24854
24855 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
24856
24857         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
24858         * gst/gstutils.c: (gst_util_set_value_from_string),
24859         (gst_util_set_object_arg):
24860           Don't put functional code in g_return_if_fail() or
24861           g_return_val_if_fail() statements, otherwise things will 
24862           break when G_DISABLE_CHECKS is defined during compilation.
24863
24864 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24865
24866         * docs/gst/tmpl/.cvsignore:
24867         * docs/gst/tmpl/gstvalue.sgml:
24868         * gst/gstvalue.c:
24869         * gst/gstvalue.h:
24870           inlied another one and added  some obvious docs
24871
24872 2005-09-21  Wim Taymans  <wim@fluendo.com>
24873
24874         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
24875         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
24876         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
24877         (gst_fdsrc_get_property), (gst_fdsrc_create):
24878         * gst/elements/gstfdsrc.h:
24879         Properly implement fdsrc. Removed signal and timeout,
24880         better implemented somewhere else.
24881
24882 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24883
24884         * docs/gst/tmpl/.cvsignore:
24885         * docs/gst/tmpl/gstimplementsinterface.sgml:
24886         * gst/gstinterface.c:
24887           inlined more docs
24888
24889 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24890
24891         * docs/gst/gstreamer-sections.txt:
24892         * docs/gst/tmpl/.cvsignore:
24893         * docs/gst/tmpl/gstenumtypes.sgml:
24894           remove obsolete doc file
24895
24896 2005-09-21  David Schleef  <ds@schleef.org>
24897
24898         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
24899         little beer, fix a little leak.
24900
24901 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24902
24903         * docs/gst/gstreamer-docs.sgml:
24904         * docs/gst/gstreamer-sections.txt:
24905         * docs/gst/tmpl/.cvsignore:
24906         * gst/Makefile.am:
24907         * gst/gst.h:
24908         * gst/gstbin.c:
24909         * gst/gstelement.h:
24910         * gst/gstindex.c: (gst_index_class_init):
24911         * gst/gstindex.h:
24912         * gst/gstindexfactory.c: (gst_index_factory_get_type),
24913         (gst_index_factory_class_init), (gst_index_factory_init),
24914         (gst_index_factory_finalize), (gst_index_factory_new),
24915         (gst_index_factory_destroy), (gst_index_factory_find),
24916         (gst_index_factory_create), (gst_index_factory_make):
24917         * gst/gstindexfactory.h:
24918         * gst/gstpluginfeature.c:
24919         * gst/gstpluginfeature.h:
24920         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24921           more docs inlined, splitted gstindex.{c,h}
24922
24923 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24924
24925         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24926           fix a leak
24927
24928 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
24929
24930         * gst/elements/gstfilesink.c: (gst_file_sink_init):
24931           Set sync to FALSE by default.
24932
24933 2005-09-20  Wim Taymans  <wim@fluendo.com>
24934
24935         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24936         (gst_base_sink_init):
24937         Make sync property settable from subclass.
24938
24939         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
24940         (gst_fake_sink_change_state):
24941         Set sync to FALSE by default.
24942
24943 2005-09-20  Wim Taymans  <wim@fluendo.com>
24944
24945         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
24946         * tools/gst-launch.c: (main):
24947         The timeout handler should have lower priority than the source
24948         so we don't timeout before popping a message with 0 timeout.
24949         Dump error messages after failed state change.
24950
24951 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
24952
24953         * tools/gst-inspect.c: (print_element_properties_info):
24954           Fix two typos.
24955
24956 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24957
24958         * check/gst/gstevent.c:
24959         * gst/elements/gstfakesink.c:
24960         * gst/elements/gstfakesink.h:
24961           remove the sync property from fakesink.
24962           has the side effect of setting sync TRUE
24963           for fakesink, which is a change.  Anyone who knows how
24964           to fix this nicely in a GObject-y way, feel free.
24965
24966 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
24967
24968         * docs/gst/gstreamer-docs.sgml:
24969           remove probe refsection
24970
24971 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
24972
24973         * check/Makefile.am:
24974           disable valgrinding the controller test again
24975         * docs/gst/gstreamer-sections.txt:
24976           update for api-changes
24977
24978 2005-09-20  Wim Taymans  <wim@fluendo.com>
24979
24980         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24981         (gst_base_sink_set_property), (gst_base_sink_get_property),
24982         (gst_base_sink_do_sync):
24983         * gst/base/gstbasesink.h:
24984         Added sync property to basesink to disable clock sync.
24985
24986 2005-09-20  Andy Wingo  <wingo@pobox.com>
24987
24988         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
24989         eating the caller's refcount.
24990
24991         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
24992         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
24993         refcount.
24994
24995         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
24996         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
24997         of GLib 2.8 public, so we can know which refcount to check in
24998         tests.
24999
25000         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
25001         (gst_object_init): Only set the gst refcount if we're going ahead
25002         with the refcount hack.
25003
25004 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
25005
25006         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
25007         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
25008           more leaks plumbed, added more debug-logging
25009         * gst/gstmacros.h:
25010           whitespace fix
25011
25012 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25013
25014         * gst/gstmessage.c:
25015           remove include of gstmemchunk.h
25016
25017 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25018
25019         * gst/gstclock.c: (_gst_clock_id_free):
25020           Commit from the Political Party For More Atomic CVS Commits,
25021           so that people don't waste too much of their day fishing
25022           out obvious leaks out of massive commits.
25023           Oh, and fix a pretty damn obvious leak in the memchunk
25024           removal code.
25025
25026 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
25027
25028         * check/Makefile.am:
25029         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
25030           plug mem-leak, re-add to valgrindable tests
25031
25032 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25033
25034         * gst/gstplugin.h:
25035           unbreak the build for those who have chronic arthritis
25036           and typing "make check" is just too taxing on the hands
25037
25038 2005-09-20  Andy Wingo  <wingo@pobox.com>
25039
25040         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
25041         really want it out, you should fix plugins at the same time.
25042
25043 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
25044
25045         * configure.ac:
25046         * docs/gst/gstreamer-sections.txt:
25047         * gst/gstobject.c:
25048           added missing symbols to api docs
25049           disable ref-count hack if we have glib >= 2.8
25050
25051 2005-09-19  David Schleef  <ds@schleef.org>
25052
25053         * docs/gst/Makefile.am: Ignore a few more internal headers
25054         * docs/gst/gstreamer-docs.sgml: Remove old sections
25055         * docs/gst/gstreamer-sections.txt: Remove old sections
25056         * docs/gst/tmpl/gstobject.sgml: update
25057         * docs/gst/tmpl/gstplugin.sgml: update
25058         * docs/gst/tmpl/gstpluginfeature.sgml: update
25059         * docs/random/ds/0.9-suggested-changes: update.
25060         * gst/Makefile.am: remove memchunk and trashstack, since they're
25061           not used.
25062         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
25063         * gst/gst.h: don't include some headers
25064         * gst/gstchildproxy.c: add gstmarshal.h
25065         * gst/gstclock.c: Don't use memchunks
25066         * gst/gstminiobject.c: Add some docs
25067         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
25068         * gst/gstobject.h: same
25069         * gst/gstplugin.c: include gstmacros.h
25070         * gst/gstplugin.h: don't include gstmacros.h, since it's private
25071         * gst/gstquery.c: don't use memchunks
25072         * gst/gstregistry.c: rename gst_registry_deinit()
25073         * gst/gstregistry.h: same
25074
25075 2005-09-19  David Schleef  <ds@schleef.org>
25076
25077         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
25078         * docs/libs/gstreamer-libs-sections.txt:
25079         * docs/libs/tmpl/gstgetbits.sgml:
25080         * docs/libs/tmpl/gstputbits.sgml:
25081
25082 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
25083
25084         * win32/gstenumtypes.c:
25085         * win32/gstenumtypes.h:
25086           Update.
25087
25088 2005-09-19  Wim Taymans  <wim@fluendo.com>
25089
25090         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
25091         Automatically PAUSE and RESUME a pipeline when a flushing seek
25092         is performed.
25093
25094 2005-09-19  Andy Wingo  <wingo@pobox.com>
25095
25096         * gst/gstregistry.h: Spacing fixen.
25097
25098 2005-09-19  Wim Taymans  <wim@fluendo.com>
25099
25100         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
25101         Handle state change failure more correctly.
25102
25103 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25104
25105         * check/Makefile.am:
25106         * check/pipelines/cleanup.c: (run_pipeline):
25107         * check/pipelines/simple_launch_lines.c: (run_pipeline),
25108         (GST_START_TEST):
25109           enable cleanup again after fixing the leak
25110         * docs/README:
25111           some more info on docs
25112
25113 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25114
25115         * check/Makefile.am:
25116           re-enable tests now that leaks are plugged
25117         * check/gst/gst.c:
25118         * check/gst/gstbin.c:
25119         * check/gst/gstpipeline.c:
25120           add some more tests while fixing leaks
25121         * common/check.mak:
25122           make sure binaries are uptodate when valgrinding/gdbing
25123         * gst/gst.c:
25124         * gst/gstelementfactory.c:
25125           remove a ref too many, and add a FIXME for when we get
25126           round to disposing of classes
25127         * gst/gstplugin.c:
25128           fix the refcounting when loading a plugin from a file and
25129           the code pretends that the pointer is the same even though
25130           of course it can change
25131         * gst/gstpluginfeature.c:
25132           unref plugins marked cached (a bit confusing as a name)
25133           as the docs state should be done
25134           various doc additions to explain refcounting
25135         * gst/gstregistry.c:
25136         * gst/gstregistryxml.c:
25137           debugging
25138
25139 2005-09-19  Wim Taymans  <wim@fluendo.com>
25140
25141         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
25142         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
25143         (send_messages), (GST_START_TEST), (gstbus_suite):
25144         * check/gst/gstpipeline.c: (GST_START_TEST):
25145         * check/pipelines/cleanup.c: (run_pipeline):
25146         * check/pipelines/simple_launch_lines.c: (run_pipeline),
25147         (GST_START_TEST):
25148         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
25149         (gst_bus_source_check), (gst_bus_source_dispatch),
25150         (gst_bus_create_watch), (gst_bus_add_watch_full),
25151         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
25152         * gst/gstbus.h:
25153         * tools/gst-launch.c: (event_loop):
25154         * tools/gst-md5sum.c: (event_loop):
25155         GstBusHandler -> GstBusFunc, return value has the same meaning as
25156         any other GSource (FALSE == remove source).
25157         _add_watch() and _add_watch_full() now take a MessageType mask to
25158         only handle specific types of messages.
25159         _poll() returns the GstMessage instead of the message type to avoid
25160         race conditions.
25161         _have_pending() takes a MessageType mask now too.
25162         Added testsuite for multiple bus watches.
25163         Fix testsuites and applications for new bus API.
25164
25165 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25166
25167         * check/Makefile.am:
25168           mark a bunch of the tests as to fix until we fix them
25169
25170 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
25171
25172         * common/check.mak:
25173           use GST_PLUGIN settings for valgrind tests as well, so we're
25174           valgrinding the correct thing
25175         * gst/gst.c: (init_post):
25176           plug another leak
25177
25178 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
25179
25180         * gst/gst.c: (init_post), (gst_deinit):
25181         * gst/gstelementfactory.c: (gst_element_factory_class_init),
25182         (gst_element_factory_finalize), (gst_element_factory_cleanup):
25183         * gst/gstindex.c: (gst_index_factory_class_init),
25184         (gst_index_factory_finalize):
25185         * gst/gstobject.c: (gst_object_dispose):
25186         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
25187         (gst_plugin_load_file), (gst_plugin_desc_free):
25188         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
25189         (gst_plugin_feature_finalize):
25190         * gst/gstregistry.c: (gst_registry_class_init),
25191         (gst_registry_init), (gst_registry_finalize),
25192         (gst_registry_get_default), (gst_registry_deinit):
25193         * gst/gstregistry.h:
25194         * gst/gstregistryxml.c: (load_feature), (load_plugin):
25195           various cleanups and memleak plugging.  make valgrind is happy now.
25196
25197 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
25198
25199         * common/check.mak:
25200           add a check-valgrind target
25201
25202 2005-09-18  David Schleef  <ds@schleef.org>
25203
25204         * tools/gst-inspect.c: Revert the GOption code.
25205
25206 2005-09-17  David Schleef  <ds@schleef.org>
25207
25208         * check/Makefile.am: Fix environment variables.
25209         * check/gst/gstplugin.c: Fix for API changes.
25210         * tools/gst-inspect.c: Fix for API changes.
25211         * tools/gst-xmlinspect.c: Fix for API changes.
25212         * gst/gstelementfactory.c:
25213         * gst/gstplugin.c:
25214         * gst/gstplugin.h:
25215         * gst/gstpluginfeature.c:
25216         * gst/gstpluginfeature.h:
25217         * gst/gstregistry.c:
25218         * gst/gstregistry.h:
25219         * gst/gstregistryxml.c:
25220         * gst/gsttypefind.c:
25221         * gst/gsttypefindfactory.c:
25222         * gst/indexers/gstfileindex.c:
25223         * gst/indexers/gstmemindex.c:
25224         * gst/schedulers/Makefile.am:
25225           Change registry to keep track of both plugins and features,
25226           removing the feature tracking from plugins themselves.
25227
25228 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
25229
25230         * check/Makefile.am:
25231         * tools/gst-register.1.in:
25232           remove gst-register
25233
25234 2005-09-15  David Schleef  <ds@schleef.org>
25235
25236         * check/gst/gstplugin.c:
25237         * gst/gstelementfactory.c:
25238         * gst/gstplugin.c:
25239         * gst/gstpluginfeature.c:
25240         * gst/gstregistry.c:
25241           Getting tired of debugging.  Disabled all the unreffing of
25242           plugins and features, which fixes the segfaults, but of
25243           course leaks like crazy.  At least playbin works.
25244
25245 2005-09-15  David Schleef  <ds@schleef.org>
25246
25247         * check/gst/gstplugin.c: (register_check_elements),
25248         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
25249         More testing
25250         * gst/elements/gsttypefindelement.c: Fix refcounting.
25251         * gst/gsttypefind.c:
25252         * gst/gsttypefindfactory.c:
25253         * gst/gsttypefindfactory.h:
25254
25255 2005-09-15  David Schleef  <ds@schleef.org>
25256
25257         * gst/gstindex.c: get refcounting correct.
25258         * gst/gstregistry.c: Handle the case where a feature/plugin is
25259           not found.
25260
25261 2005-09-15  David Schleef  <ds@schleef.org>
25262
25263         * check/Makefile.am:
25264         * check/gst/gstplugin.c: Add test
25265         * gst/gstplugin.c: Fix problems noticed by testsuite
25266         * gst/gstplugin.h:
25267         * gst/gstregistry.c: 
25268         * gst/gstregistry.h:
25269
25270 2005-09-15  David Schleef  <ds@schleef.org>
25271
25272         * gst/gstplugin.c: Implement semi-decent recounting and locking
25273           in plugins and plugin features.
25274         * gst/gstplugin.h:
25275         * gst/gstpluginfeature.c:
25276         * gst/gstpluginfeature.h:
25277         * gst/gstregistry.c:
25278
25279 2005-09-15  Michael Smith <msmith@fluendo.com>
25280
25281         * gst/gstregistry.c: (gst_registry_get_feature_list):
25282           Implement this. Makes oggdemux work; decodebin still broken.
25283
25284 2005-09-14  David Schleef  <ds@schleef.org>
25285
25286         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
25287           #316076)
25288         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
25289         * gst/check/Makefile.am:
25290         * libs/gst/controller/Makefile.am:
25291         * libs/gst/dataprotocol/Makefile.am:
25292
25293 2005-09-14  David Schleef  <ds@schleef.org>
25294
25295         * configure.ac: Remove getbits library.  Nothing uses it, and
25296           it should be in something like liboil if someone did want
25297           to use it.
25298         * libs/gst/Makefile.am:
25299         * libs/gst/getbits/Makefile.am:
25300         * libs/gst/getbits/gbtest.c:
25301         * libs/gst/getbits/getbits.c:
25302         * libs/gst/getbits/getbits.h:
25303         * libs/gst/getbits/gstgetbits_generic.c:
25304         * libs/gst/getbits/gstgetbits_i386.s:
25305         * libs/gst/getbits/gstgetbits_inl.h:
25306
25307 2005-09-14  David Schleef  <ds@schleef.org>
25308
25309         * gst/Makefile.am: Dist glib-compat.h
25310
25311 2005-09-14  David Schleef  <ds@schleef.org>
25312
25313         * configure.ac: Remove gst/registries, since it's no longer used.
25314         * gst/registries/Makefile.am:
25315         * gst/registries/gstlibxmlregistry.c:
25316         * gst/registries/gstlibxmlregistry.h:
25317         * gst/registries/gstxmlregistry.c:
25318         * gst/registries/gstxmlregistry.h:
25319         * gst/registries/registrytest.c:
25320
25321 2005-09-14  David Schleef  <ds@schleef.org>
25322
25323         * gst/glib-compat.h:
25324         * gst/gstregistryxml.c:
25325           Convergence is near.  Seriously.
25326
25327 2005-09-14  David Schleef  <ds@schleef.org>
25328
25329         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25330         * gst/glib-compat.h:
25331           Attempt #4 to appease the buildbots.
25332
25333 2005-09-14  David Schleef  <ds@schleef.org>
25334
25335         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25336           Attempt #3.
25337
25338 2005-09-14  David Schleef  <ds@schleef.org>
25339
25340         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25341         Attempt #2.
25342
25343 2005-09-14  David Schleef  <ds@schleef.org>
25344
25345         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
25346           the new functions.
25347
25348 2005-09-14  David Schleef  <ds@schleef.org>
25349
25350         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25351         * gst/glib-compat.h: Add some functions that are in newer versions
25352           of glib than we care to require.
25353         * gst/gstregistryxml.c: Use them.
25354
25355 2005-09-14  David Schleef  <ds@schleef.org>
25356
25357         * po/POTFILES.in: remove gst-register.c
25358
25359 2005-09-14  David Schleef  <ds@schleef.org>
25360
25361         * docs/gst/gstreamer-docs.sgml:
25362         * docs/gst/gstreamer-sections.txt:
25363         * docs/gst/gstreamer.types:
25364         * docs/gst/tmpl/gstelement.sgml:
25365         * docs/gst/tmpl/gstplugin.sgml:
25366         * docs/gst/tmpl/gstpluginfeature.sgml:
25367           Documentation updates for registry changes.
25368
25369 2005-09-14  David Schleef  <ds@schleef.org>
25370
25371         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
25372           because we don't require glib-2.8.
25373
25374 2005-09-14  David Schleef  <ds@schleef.org>
25375
25376         * gst/gstregistryxml.c: Added.  Essentially moved out of the
25377           registries directory.
25378
25379 2005-09-14  David Schleef  <ds@schleef.org>
25380
25381         * check/Makefile.am:
25382         * check/generic/states.c:
25383         * gst/Makefile.am:
25384         * gst/gst.c:
25385         * gst/gst.h:
25386         * gst/gst_private.h:
25387         * gst/gstelementfactory.c:
25388         * gst/gstindex.c:
25389         * gst/gstinfo.c:
25390         * gst/gstplugin.c:
25391         * gst/gstplugin.h:
25392         * gst/gstpluginfeature.c:
25393         * gst/gstpluginfeature.h:
25394         * gst/gstregistry.c:
25395         * gst/gstregistry.h:
25396         * gst/gstregistrypool.c: remove
25397         * gst/gstregistrypool.h: remove
25398         * gst/gsttypefind.c:
25399         * gst/gsttypefindfactory.c:
25400         * gst/gsturi.c:
25401         * tools/Makefile.am:
25402         * tools/gst-compprep.c:
25403         * tools/gst-inspect.c:
25404         * tools/gst-register.c: remove
25405         * tools/gst-xmlinspect.c:
25406           Registry rewrite.  Changes registry from being a file created
25407           by a tool into a simple cache file created automatically by 
25408           libgstreamer.  Removed gst-register (because it's no longer
25409           needed).  Remove registry pools, because we only have one
25410           registry implementation (XML).  Fix up other subsystems as
25411           necessary.
25412
25413 2005-09-13  Michael Smith <msmith@fluendo.com>
25414
25415         * gst/gstconfig.h.in:
25416           Don't Use windows linking attributes for MinGW. Fixes #316157
25417
25418 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
25419
25420         * gst/gstutils.c: (set_state_async_thread_func),
25421         (gst_element_set_state_async):
25422           Apparently people think it's better if this function doesn't
25423           try to set the state to whatever state was asked for on the first
25424           call to this function for any object.  Seriously.
25425
25426 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25427
25428         * check/gst/gstpipeline.c: (GST_START_TEST):
25429         * docs/gst/gstreamer-sections.txt:
25430         * gst/gstutils.c: (set_state_async_thread_func),
25431         (gst_element_set_state_async):
25432         * gst/gstutils.h:
25433           add a "gst_element_set_state_async" method that
25434           sets the state and starts a thread to make sure the state
25435           change completes as best as it can
25436
25437 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25438
25439         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
25440           codify design+behaviour in testsuite after discussion
25441
25442 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25443
25444         * docs/gst/tmpl/gstelement.sgml:
25445         * docs/manual/appendix-quotes.xml:
25446           add a quote
25447         * gst/gstelement.c: (gst_element_set_state):
25448           add some debug
25449
25450 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
25451
25452         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25453         (gst_base_transform_prepare_output_buf),
25454         (gst_base_transform_handle_buffer):
25455         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
25456         (gst_capsfilter_prepare_buf):
25457           Remove the requirement for sub-classes to call the parent
25458           implementation of prepare_output_buffer with a wrapper function.
25459           
25460         * gst/gsttaglist.h:
25461         * gst/gsttagsetter.h:
25462           Fix #define wrapper
25463
25464 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
25465
25466         * docs/gst/gstreamer-sections.txt:
25467           more doc cleanups
25468
25469 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25470
25471         * docs/gst/gstreamer-sections.txt:
25472         * docs/gst/tmpl/gstelement.sgml:
25473         * docs/gst/tmpl/gstplugin.sgml:
25474         * gst/gstminiobject.c:
25475         * gst/gstvalue.h:
25476           docs now stop throwing warnings
25477
25478 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25479
25480         * docs/gst/gstreamer-sections.txt:
25481         * docs/gst/gstreamer.types:
25482         * docs/gst/tmpl/gstpad.sgml:
25483         * docs/gst/tmpl/gsttypes.sgml:
25484         * gst/base/gstadapter.h:
25485         * gst/base/gstbasesink.h:
25486         * gst/base/gstbasesrc.h:
25487         * gst/gstbin.h:
25488         * gst/gstbuffer.h:
25489         * gst/gstbus.h:
25490         * gst/gstcaps.h:
25491         * gst/gstclock.h:
25492         * gst/gstelement.h:
25493         * gst/gstevent.h:
25494         * gst/gstmessage.h:
25495         * gst/gstpad.h:
25496         * gst/gststructure.c:
25497         * gst/registries/gstlibxmlregistry.h:
25498           various documentation fixes
25499
25500 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25501
25502         * docs/gst/gstreamer-sections.txt:
25503         * docs/gst/tmpl/gstvalue.sgml:
25504           rearrange gstvalue section
25505         * gst/gstutils.c: (gst_element_state_get_name):
25506           NONE -> VOID
25507         * gst/gstvalue.c: (_gst_value_initialize):
25508         * gst/gstvalue.h:
25509           doc updates
25510
25511 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
25512
25513         * check/gst-libs/controller.c:
25514           Header include fix.
25515         * gst/base/gstbasetransform.c:
25516         (gst_base_transform_default_prepare_buf),
25517         (gst_base_transform_handle_buffer):
25518         * gst/base/gstbasetransform.h:
25519           Some more basetransform changes and fixes to enable sub-classes
25520           that modify buffer metadata only.
25521         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
25522         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
25523         (gst_capsfilter_prepare_buf):
25524           If the output pad has fixed allowed caps and input buffers 
25525           don't have any, set the fixed caps on outgoing buffers.
25526
25527 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
25528         * check/elements/identity.c: (GST_START_TEST):
25529           Make the error a little clearer when the test fails because
25530           identity made a copy of the buffer.
25531         * docs/gst/gstreamer-sections.txt:
25532           New symbols in gstbasetransform.h
25533         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25534         (gst_base_transform_init), (gst_base_transform_transform_size),
25535         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
25536         (gst_base_transform_default_prepare_buf),
25537         (gst_base_transform_get_unit_size),
25538         (gst_base_transform_buffer_alloc),
25539         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
25540         (gst_base_transform_change_state),
25541         (gst_base_transform_set_passthrough),
25542         (gst_base_transform_set_in_place),
25543         (gst_base_transform_is_in_place):
25544         * gst/base/gstbasetransform.h:
25545           Change BaseTransform to separate in_place operate from same_caps
25546           output. in_place implies that the element can perform the transform
25547           on incoming buffers in-place, even if the caps on the output are
25548           different.
25549           Sub-class elements can now implement special buffer allocation
25550           methods for outgoing buffers if they wish to.
25551           Big documentation addition.
25552         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
25553         * gst/elements/gstelements.c:
25554           Changes for basetransform modifications.
25555         * gst/elements/Makefile.am:
25556         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
25557           Compile fix. Extra debug output.
25558
25559 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25560
25561         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
25562         (gst_pad_suite):
25563           add tests for valid pad naming
25564         * gst/check/gstcheck.c: (gst_check_log_message_func),
25565         (gst_check_log_critical_func):
25566           add ASSERT_WARNING
25567           remove printing of code, it is fragile when the code contains
25568           % and the line number is enough info
25569         * gst/check/gstcheck.h:
25570         * gst/gstpad.c: (gst_pad_template_new):
25571           fix memleaks
25572
25573 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25574
25575         * configure.ac:
25576           say what CHECK flags we use
25577         * docs/libs/gstreamer-libs.types:
25578         * libs/gst/controller/Makefile.am:
25579         * libs/gst/controller/gst-controller.c:
25580         * libs/gst/controller/gst-controller.h:
25581         * libs/gst/controller/gst-helper.c:
25582         * libs/gst/controller/gst-interpolation.c:
25583         * libs/gst/controller/gstcontroller.c:
25584         * libs/gst/controller/gsthelper.c:
25585         * libs/gst/controller/gstinterpolation.c:
25586         * tools/gst-inspect.c: (print_plugin_info):
25587           we don't use dashes in header names
25588
25589 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25590
25591         * check/Makefile.am:
25592         * check/gst/.cvsignore:
25593         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
25594         (gst_pipeline_suite), (main):
25595           adding a test for pipelines and state changes
25596         * gst/gstutils.c: (get_state_func):
25597           add some debugging
25598         * gstreamer.spec.in:
25599           fix up spec file
25600
25601 2005-09-08  Michael Smith <msmith@fluendo.com>
25602
25603         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
25604         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
25605         (gst_file_src_is_seekable), (gst_file_src_get_size),
25606         (gst_file_src_start):
25607         * gst/elements/gstfilesrc.h:
25608           Various fixes for unseekable, unmmapable, and non-normal files, so
25609           that fallback to read() rather than mmap() works.
25610         * gst/gstevent.c: (gst_event_new_newsegment):
25611           Allow newsegment events with segment_start == segment_end, as will
25612           correctly happen if you use filesrc on a zero-size file, for
25613           example.
25614
25615 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
25616
25617         * gst/gstplugin.c: (gst_plugin_load_file):
25618           Call g_module_close when we don't load the module
25619
25620         * gst/registries/gstlibxmlregistry.c:
25621         (gst_xml_registry_get_property):
25622           Port leak fix from 0.8
25623
25624 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25625
25626         * docs/gst/gstreamer-docs.sgml:
25627         * docs/gst/tmpl/.cvsignore:
25628         * docs/gst/tmpl/gsttrace.sgml:
25629         * docs/gst/tmpl/gsttrashstack.sgml:
25630         * gst/Makefile.am:
25631         * gst/gst.h:
25632         * gst/gstelement.h:
25633         * gst/gstevent.h:
25634         * gst/gstmessage.c:
25635         * gst/gstmessage.h:
25636         * gst/gsttag.c:
25637         * gst/gsttag.h:
25638         * gst/gsttaginterface.c:
25639         * gst/gsttaginterface.h:
25640         * gst/gsttaglist.c:
25641         * gst/gsttaglist.h:
25642         * gst/gsttagsetter.c:
25643         * gst/gsttagsetter.h:
25644         * gst/gsttrace.c:
25645         * gst/gsttrace.h:
25646         * gst/gsttrashstack.c:
25647           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
25648           inlined docs for gsttrace, gsttrashstack
25649
25650 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25651
25652         * gst/Makefile.am:
25653         * gst/elements/gstbufferstore.h:
25654         * gst/elements/gsttypefindelement.c:
25655         * gst/elements/gsttypefindelement.h:
25656         * gst/gst.h:
25657         * gst/gsttypefind.c:
25658         * gst/gsttypefind.h:
25659         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
25660         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
25661         (gst_type_find_factory_dispose),
25662         (gst_type_find_factory_unload_thyself),
25663         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
25664         (gst_type_find_factory_get_caps),
25665         (gst_type_find_factory_get_extensions),
25666         (gst_type_find_factory_call_function):
25667         * gst/gsttypefindfactory.h:
25668         * gst/registries/gstlibxmlregistry.c:
25669         * gst/registries/gstxmlregistry.c:
25670           splitted gsttypefind into gsttypefind, gsttypefindfactory
25671
25672 2005-09-07  Andy Wingo  <wingo@pobox.com>
25673
25674         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
25675         condition whereby the pad's task function is entered before the
25676         pad_mode variable was set.
25677
25678 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
25679
25680         * gst/gstpad.c: (gst_pad_alloc_buffer):
25681           Catch misbehaving pad_alloc functions that don't
25682           set up caps and do it for them.
25683
25684 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25685
25686         * check/pipelines/simple_launch_lines.c: (run_pipeline):
25687           test for pipe!=NULL
25688         * docs/gst/tmpl/.cvsignore:
25689         * docs/gst/tmpl/gstmemchunk.sgml:
25690         * docs/gst/tmpl/gstparse.sgml:
25691         * docs/gst/tmpl/gsttaglist.sgml:
25692         * docs/gst/tmpl/gsttagsetter.sgml:
25693         * docs/gst/tmpl/gsttypefind.sgml:
25694         * docs/gst/tmpl/gsttypefindfactory.sgml:
25695         * gst/gstmemchunk.c:
25696         * gst/gstparse.c:
25697         * gst/gsttag.c:
25698         * gst/gsttaginterface.c:
25699         * gst/gsttypefind.c:
25700         * gst/gsttypefind.h:
25701           inlined more docs
25702
25703 === release 0.9.2 ===
25704
25705 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
25706
25707         * NEWS:
25708         * RELEASE:
25709         * configure.ac:
25710           releasing 0.9.2, "South"
25711
25712 2005-09-05  Andy Wingo  <wingo@pobox.com>
25713
25714         * gst/registries/gstxmlregistry.h:
25715         * gst/registries/gstxmlregistry.c: Um... resurrect...
25716         
25717         * gst/registries/gstxmlregistry.h:
25718         * gst/registries/gstxmlregistry.c: and update to newer API.
25719         Incidentally they should be a bit faster now that they don't have
25720         to parse the caps.
25721         
25722 2005-09-05  Andy Wingo  <wingo@pobox.com>
25723
25724         * gst/registries/gstxmlregistry.h:
25725         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
25726         replaced by the libxml registry a while back
25727
25728 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
25729
25730         * docs/gst/tmpl/gstplugin.sgml:
25731         * gst/elements/gstelements.c:
25732         * gst/gst.c:
25733         * gst/gstplugin.c: (gst_plugin_register_func),
25734         (gst_plugin_desc_copy), (gst_plugin_desc_free),
25735         (gst_plugin_get_source):
25736         * gst/gstplugin.h:
25737         * gst/registries/gstlibxmlregistry.c: (load_plugin),
25738         (gst_xml_registry_save_plugin):
25739         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
25740         (gst_xml_registry_save_plugin):
25741         * tools/gst-inspect.c: (print_plugin_info):
25742           add a "source" plugin description field, to represent the source
25743           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
25744           will set it to PACKAGE, which is automake's idea of the name of
25745           the source project.
25746
25747 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
25748
25749         * Makefile.am:
25750         * autogen.sh:
25751         * configure.ac:
25752         * docs/Makefile.am:
25753         * docs/faq/Makefile.am:
25754         * docs/gst/tmpl/gstelement.sgml:
25755         * docs/gst/tmpl/gsttypes.sgml:
25756         * docs/htmlinstall.mak:
25757         * docs/manual/Makefile.am:
25758         * docs/pwg/Makefile.am:
25759           reorganize doc build a little
25760           split out docbook and gtk-doc stuff
25761           have two separate --enable's and enable them through autogen
25762           but disable by default in configure (to be similar to other
25763           projects)
25764         * gstreamer.spec.in:
25765           clean up docs install
25766         * po/af.po:
25767         * po/az.po:
25768         * po/ca.po:
25769         * po/cs.po:
25770         * po/de.po:
25771         * po/en_GB.po:
25772         * po/fr.po:
25773         * po/it.po:
25774         * po/nb.po:
25775         * po/nl.po:
25776         * po/ru.po:
25777         * po/sq.po:
25778         * po/sr.po:
25779         * po/sv.po:
25780         * po/tr.po:
25781         * po/uk.po:
25782         * po/vi.po:
25783           translation updates
25784
25785 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
25786
25787         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
25788           Add comment.
25789           
25790         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
25791         (gst_fake_sink_change_state):
25792           Make state change function thread-safe.
25793           
25794         * gst/gstpad.c: (gst_pad_alloc_buffer):
25795           Set offset on generic buffer allocated by fallback.
25796
25797 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
25798
25799         * docs/gst/gstreamer-sections.txt:
25800         * docs/gst/tmpl/gstelement.sgml:
25801         * gst/gstpad.c:
25802         * libs/gst/controller/gst-controller.c:
25803         (gst_controlled_property_set_interpolation_mode),
25804         (gst_controlled_property_new),
25805         (gst_controller_find_controlled_property):
25806          run the wingo-magic script against the docs
25807
25808 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
25809
25810         * docs/gst/gstreamer-docs.sgml:
25811         * docs/gst/gstreamer-sections.txt:
25812         * docs/gst/tmpl/.cvsignore:
25813         * docs/gst/tmpl/gstelementdetails.sgml:
25814         * docs/gst/tmpl/gstelementfactory.sgml:
25815         * gst/gst.c:
25816         * gst/gstbus.c:
25817         * gst/gstelementfactory.c:
25818         * gst/gstelementfactory.h:
25819           merged elementdetails docs into elementfactory docs
25820           inlined both
25821
25822 2005-09-02  Andy Wingo  <wingo@pobox.com>
25823
25824         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
25825         consider this enum an enum and not a flags.
25826
25827 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
25828
25829         * docs/gst/gstreamer-docs.sgml:
25830         * docs/gst/tmpl/.cvsignore:
25831         * docs/gst/tmpl/gstghostpad.sgml:
25832         * docs/gst/tmpl/gstiterator.sgml:
25833         * docs/gst/tmpl/gstmacros.sgml:
25834         * docs/gst/tmpl/gstrealpad.sgml:
25835         * docs/gst/tmpl/gstregistry.sgml:
25836         * docs/gst/tmpl/gstregistrypool.sgml:
25837         * docs/gst/tmpl/gststructure.sgml:
25838         * docs/gst/tmpl/gstsystemclock.sgml:
25839         * docs/gst/tmpl/gsttrace.sgml:
25840         * gst/gstghostpad.c:
25841         * gst/gstmacros.h:
25842         * gst/gstmemchunk.c:
25843         * gst/gstmemchunk.h:
25844         * gst/gstqueue.c:
25845         * gst/gstregistry.c:
25846         * gst/gstregistrypool.c:
25847         * gst/gststructure.c:
25848         * gst/gstsystemclock.c:
25849           more docs inlined
25850
25851 2005-09-02  Andy Wingo  <wingo@pobox.com>
25852
25853         * gst/gstelement.h (GstState): Renamed from GstElementState,
25854         changed to be a normal enum instead of flags.
25855         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
25856         munged to be GST_STATE_CHANGE_*.
25857         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
25858         work with the new state representation.
25859         (GstStateChange): New enumeration of possible state transitions.
25860         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
25861         (GstElementClass::change_state): Pass the GstStateChange along as
25862         an argument. Helps language bindings, so they don't have to use
25863         tricky lock-needing macros like GST_STATE_CHANGE ().
25864
25865         * scripts/update-states (file): New script. Run it on a file to
25866         update it for state naming and API changes. Updates files in
25867         place.
25868
25869         * All files updated for the new API.
25870
25871 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
25872
25873         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
25874         * gst/gstutils.c: (gst_util_set_value_from_string),
25875         (gst_util_set_object_arg):
25876           fix a bunch of unchecked return values
25877         * tools/gst-complete.c: (main):
25878         * gstreamer.spec.in:
25879           clean up a little
25880
25881 2005-09-01  Wim Taymans  <wim@fluendo.com>
25882
25883         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25884         (gst_base_sink_event), (gst_base_sink_do_sync),
25885         (gst_base_sink_handle_event):
25886         * gst/base/gstbasesink.h:
25887         Handle newsegments more correctly.
25888
25889         * gst/gstbus.c:
25890         Fix docs.
25891
25892         * gst/gstevent.c: (gst_event_new_newsegment):
25893         A newsegment cannot have a start_time of -1
25894
25895 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
25896
25897         * win32/gstenumtypes.c:
25898         * win32/gstenumtypes.h:
25899           Update
25900
25901 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
25902
25903         * libs/gst/controller/gst-controller.c:
25904         (gst_controlled_property_set_interpolation_mode),
25905         (gst_controlled_property_new):
25906          fixed boolean again
25907
25908 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
25909
25910         * docs/faq/gst-uninstalled:
25911           add -good
25912         * gst/gstevent.c:
25913         * gst/gstevent.h:
25914           remove wrong docs
25915         * gst/gstutils.c: (gst_element_link_filtered):
25916         * gst/gstutils.h:
25917           add gst_element_link_filtered
25918
25919 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
25920
25921         * docs/gst/gstreamer-docs.sgml:
25922         * docs/gst/gstreamer-sections.txt:
25923         * docs/gst/tmpl/.cvsignore:
25924         * docs/gst/tmpl/gsterror.sgml:
25925         * docs/gst/tmpl/gstfilter.sgml:
25926         * docs/gst/tmpl/gsturihandler.sgml:
25927         * docs/gst/tmpl/gsturitype.sgml:
25928         * docs/gst/tmpl/gstutils.sgml:
25929         * docs/gst/tmpl/gstxml.sgml:
25930         * gst/gsterror.c:
25931         * gst/gsterror.h:
25932         * gst/gstfilter.c:
25933         * gst/gsturi.c:
25934         * gst/gsturitype.c:
25935         * gst/gstutils.c:
25936         * gst/gstxml.c:
25937           inlined more docs, fixed double id-ref
25938
25939 2005-08-31  Wim Taymans  <wim@fluendo.com>
25940
25941         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
25942         (gst_base_transform_handle_buffer):
25943         Passthrough elements don't need the caps as they don't care.
25944
25945 2005-08-31  Wim Taymans  <wim@fluendo.com>
25946
25947         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
25948         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
25949         Don't leak refcounts on buffers.
25950
25951 2005-08-31  Wim Taymans  <wim@fluendo.com>
25952
25953         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
25954         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
25955         (gst_base_transform_chain), (gst_base_transform_change_state):
25956         * gst/base/gstbasetransform.h:
25957         Handle the case where we are not negotiated more gracefully.
25958
25959 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
25960
25961         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
25962         (gst_file_src_map_region):
25963           Set READONLY flag on mmap'ed buffers, otherwise
25964           gst_buffer_make_writable() won't work properly (#314708).
25965
25966 2005-08-31  Wim Taymans  <wim@fluendo.com>
25967
25968         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
25969         passthrough elements can even do inplace on non writable
25970         buffers (as they don't touch them).
25971
25972 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
25973
25974         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
25975         (gst_test_mono_source_set_property),
25976         (gst_test_mono_source_class_init), (GST_START_TEST),
25977         (gst_controller_suite):
25978           more tests (hehe I have the most)
25979         * gst/gstbus.c:
25980           describe popping messages whenusing mulltiple sources
25981         * libs/gst/controller/gst-controller.c:
25982         (gst_controlled_property_set_interpolation_mode),
25983         (gst_controlled_property_new):
25984         * libs/gst/controller/gst-controller.h:
25985         * libs/gst/controller/gst-interpolation.c:
25986           implement boolean properties
25987
25988 2005-08-31  Wim Taymans  <wim@fluendo.com>
25989
25990         * gst/gstminiobject.c: (gst_mini_object_ref):
25991         Cannot assert that the refcount has to be positive
25992         since a disposed object can be resurrected.
25993
25994 2005-08-31  Wim Taymans  <wim@fluendo.com>
25995
25996         * gst/gstpad.c: (gst_pad_init):
25997         Revert change, need to first fix badly behaving 
25998         apps.
25999
26000 2005-08-30  Wim Taymans  <wim@fluendo.com>
26001
26002         * check/elements/fakesrc.c: (setup_fakesrc):
26003         * check/elements/identity.c: (setup_identity):
26004         Activate pads before using them.
26005
26006 2005-08-30  Wim Taymans  <wim@fluendo.com>
26007
26008         * gst/base/gstadapter.c: (gst_adapter_flush):
26009         Flushing out 0 bytes is ok for this function.
26010
26011         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26012         no newsegment gives a warning and sets the start/stop to 
26013         invalid.
26014
26015         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
26016         (gst_base_transform_set_passthrough):
26017         Some debug info.
26018
26019         * gst/gstminiobject.c: (gst_mini_object_ref):
26020         Check refcount here too.
26021
26022         * gst/gstpad.c: (gst_pad_init):
26023         Pads are initially flushing and refusing data.
26024
26025         * gst/gstutils.c: (gst_element_link_pads_filtered):
26026         When adding a capsfilter element make sure it has the
26027         same state as the parent bin.
26028
26029 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
26030
26031         * docs/gst/tmpl/.cvsignore:
26032         * docs/gst/tmpl/gstformat.sgml:
26033         * docs/gst/tmpl/gstversion.sgml:
26034         * gst/gstbus.h:
26035         * gst/gstformat.c:
26036         * gst/gstformat.h:
26037         * gst/gstversion.h.in:
26038           more docs and two more inlined
26039
26040 2005-08-30  Wim Taymans  <wim@fluendo.com>
26041
26042         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
26043         Don't sync to clock.
26044
26045 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
26046
26047         * docs/gst/gstreamer-sections.txt:
26048           ultral33t func10ns deserve to appear in the docs actually
26049         * docs/gst/tmpl/.cvsignore:
26050         * docs/gst/tmpl/gstcompat.sgml:
26051         * docs/gst/tmpl/gstconfig.sgml:
26052         * gst/check/gstcheck.c:
26053         * gst/gstcompat.h:
26054         * gst/gstconfig.h.in:
26055           inlined more docs
26056
26057 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
26058
26059         * docs/gst/tmpl/.cvsignore:
26060         * docs/gst/tmpl/gstquery.sgml:
26061         * docs/gst/tmpl/gstutils.sgml:
26062         * gst/gstquery.c:
26063         * gst/gstquery.h:
26064           inlined and extended docs
26065
26066 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
26067
26068         * check/gst-libs/controller.c: (GST_START_TEST),
26069         (gst_controller_suite):
26070           more tests
26071         * docs/gst/tmpl/gstutils.sgml:
26072         * docs/libs/gstreamer-libs-sections.txt:
26073         * docs/libs/tmpl/gstdataprotocol.sgml:
26074           include path fixes
26075         * examples/controller/audio-example.c: (main):
26076           controller example works now
26077         * gst/gstclock.h:
26078           doc fixes
26079         * tools/gst-inspect.c: (print_element_properties_info):
26080           show param spec flags
26081
26082 2005-08-29  Andy Wingo  <wingo@pobox.com>
26083
26084         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
26085
26086 2005-08-28  Andy Wingo  <wingo@pobox.com>
26087
26088         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
26089         as having two arguments instead of just one. Allows superclasses
26090         to access information on subclasses -- see the terrible for() loop
26091         in gtype.c:g_type_create_instance for the reason why. All callers
26092         changed.
26093
26094 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
26095
26096         * docs/design/part-messages.txt:
26097           update info
26098         * docs/gst/tmpl/.cvsignore:
26099         * docs/gst/tmpl/gstcaps.sgml:
26100         * docs/gst/tmpl/gstclock.sgml:
26101         * gst/gstbus.c:
26102         * gst/gstcaps.c:
26103         * gst/gstcaps.h:
26104         * gst/gstclock.c:
26105         * gst/gstclock.h:
26106         * gst/gstmessage.c:
26107           added descriptions for bus and message
26108           inline caps and clock docs
26109
26110 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
26111
26112         * gst/gstmessage.c:
26113         * gst/gstmessage.h:
26114           doc fixes
26115
26116 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
26117
26118         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
26119           fix div-by-zero
26120
26121 2005-08-26  Andy Wingo  <wingo@pobox.com>
26122
26123         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
26124         element_set_state's return val.
26125         (test_2_elements): Add test that's been disabled for months.
26126
26127         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
26128         can-activate-pull properties.
26129
26130         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
26131         can-activate-pull properties. Implement is_seekable so fakesrc can
26132         operate in pull mode.
26133
26134         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
26135         properties.
26136         (gst_base_sink_activate, gst_base_sink_activate_pull)
26137         (gst_base_sink_activate_push): Make activation mode choosing work.
26138         Cleanups.
26139         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
26140         is right. Make pull mode work. Post an eos before pausing in pull
26141         mode.
26142         (gst_base_sink_change_state): Pay attention to the core's
26143         change_state() return val.
26144         
26145         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
26146         has-getrange properties. Cleanups.
26147         
26148         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
26149         has_getrange and replace with can_activate_pull and
26150         can_activate_push.
26151
26152         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
26153         locking comments. Remove has_loop, has_chain and replace with
26154         can_activate_pull and can_activate_push.
26155
26156 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
26157
26158         * configure.ac:
26159         * examples/Makefile.am:
26160         * examples/metadata/Makefile.am:
26161         * examples/metadata/read-metadata.c: (message_loop),
26162         (have_pad_handler), (make_pipeline), (print_tag), (main):
26163           Add metadata reading example that loops over a list of filenames,
26164           dumping any tags found.
26165
26166         * gst/gstbus.c: (gst_bus_dispose):
26167         * gst/gstelement.c: (gst_element_dispose):
26168           Release a few potentially-held references in dispose.
26169
26170 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26171
26172         * docs/gst/tmpl/gstminiobject.sgml:
26173           do *not* add tmpl/*.sgml files to CVS!
26174
26175 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26176
26177         * libs/gst/bytestream/.cvsignore:
26178         * libs/gst/bytestream/Makefile.am:
26179         * libs/gst/bytestream/adapter.c:
26180         * libs/gst/bytestream/adapter.h:
26181         * libs/gst/bytestream/bytestream.c:
26182         * libs/gst/bytestream/bytestream.h:
26183         * libs/gst/bytestream/filepad.c:
26184         * libs/gst/bytestream/filepad.h:
26185           removing obsolete files
26186
26187 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26188
26189         * docs/gst/gstreamer-docs.sgml:
26190         * docs/libs/gstreamer-libs-docs.sgml:
26191           disabed additional index entries again, as this makes docs-gen just
26192           slow and they aren't useful yet
26193         * docs/libs/gstreamer-libs-sections.txt:
26194           little -section.txt cleanup for libs
26195
26196 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
26197
26198         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26199         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
26200           fix up some debugging
26201         (gst_base_transform_get_unit_size),
26202         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
26203         (gst_base_transform_handle_buffer):
26204         * gst/base/gstbasetransform.h:
26205           handle and store timed NEWSEGMENT events so that subclasses that
26206           calculate time by counting samples have a segment_start time they
26207           need to add to their timestamps - see audioresample
26208
26209 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26210
26211         * gst/gstbin.h:
26212           removed ';' from the end of macro defs
26213         * docs/gst/gstreamer-docs.sgml:
26214         * docs/gst/gstreamer-sections.txt:
26215         * docs/gst/tmpl/.cvsignore:
26216         * gst/gstbus.h:
26217         * gst/gstelement.c: (gst_element_class_init),
26218         (gst_element_set_state), (activate_pads),
26219         (gst_element_save_thyself):
26220         * gst/gstevent.c: (gst_event_new_newsegment):
26221         * gst/gstevent.h:
26222         * gst/gstiterator.c:
26223         * gst/gstiterator.h:
26224         * gst/gstpad.c:
26225         * gst/gstprobe.h:
26226         * gst/gstutils.c: (gst_pad_query_convert):
26227         * gst/gstutils.h:
26228           fixed parameter name mismatches between source, header and docs
26229           added some more docs, resolved the last batch of unused elements in
26230           docs (now someone needs to doc them)
26231
26232 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
26233
26234         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
26235         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
26236           don't walk through the plugins backwards.  Where is all this
26237           reversed logic coming from ?
26238
26239 2005-08-25  Wim Taymans  <wim@fluendo.com>
26240
26241         * gst/base/gstbasetransform.c: (gst_base_transform_init),
26242         (gst_base_transform_transform_size),
26243         (gst_base_transform_configure_caps),
26244         (gst_base_transform_get_unit_size),
26245         (gst_base_transform_buffer_alloc),
26246         (gst_base_transform_change_state):
26247         * gst/base/gstbasetransform.h:
26248         Cache caps unit_size.
26249         Make sure we cannot negotiate up and downstream at the
26250         same time.
26251
26252 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
26253
26254         * gst/gst.c: (init_pre), (init_post):
26255           register the installed plugin path after the env var
26256         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
26257         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
26258           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
26259           directories, so the tests can prefer uninstalled over installed
26260
26261 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
26262
26263         * gst/base/gstbasetransform.h:
26264           comment
26265         * gst/gstpad.c:
26266           add to docs
26267
26268 2005-08-25  Wim Taymans  <wim@fluendo.com>
26269
26270         * gst/gstbin.c: (bin_bus_handler):
26271         Be a bit more conservative about the posted message.
26272         
26273         * gst/gstbus.c: (gst_bus_post):
26274         Some cleanups, warn wrong return values.
26275
26276 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
26277
26278         * check/gst/gstbin.c: (GST_START_TEST):
26279         * gst/gstbin.c: (bin_bus_handler):
26280         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26281         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26282         (gst_message_new_warning), (gst_message_new_tag),
26283         (gst_message_new_state_changed), (gst_message_new_segment_start),
26284         (gst_message_new_segment_done), (gst_message_new_custom):
26285         * gst/gstmessage.h:
26286         * tools/gst-launch.c: (event_loop):
26287         * tools/gst-md5sum.c: (event_loop):
26288           Revert unpopular change for GST_MESSAGE_SRC to GObject.
26289
26290 2005-08-25  Wim Taymans  <wim@fluendo.com>
26291
26292         * check/generic/states.c: (GST_START_TEST):
26293         Cleanup can be done at the end.
26294
26295         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
26296         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26297         (gst_task_get_state), (gst_task_start), (gst_task_pause):
26298         Oh boy.. Thanks for finding this, Thomas. 
26299
26300 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
26301
26302         * docs/gst/gstreamer.types:
26303           added missing types
26304
26305 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
26306
26307         * docs/gst/gstreamer-docs.sgml:
26308         * docs/gst/gstreamer-sections.txt:
26309         * docs/gst/tmpl/.cvsignore:
26310         * gst/gstbin.c:
26311         * gst/gstiterator.c:
26312         * gst/gstutils.c:
26313         * gst/registries/gstxmlregistry.h:
26314           added missing classes and symbols (123 more to go)
26315           removed removed symbols from section file
26316           fixed many doc-comments
26317
26318 2005-08-24  Wim Taymans  <wim@fluendo.com>
26319
26320         * check/generic/states.c: (GST_START_TEST):
26321         Make sure all tasks are stopped.
26322
26323         * check/gst/gstbin.c: (GST_START_TEST):
26324         Unref after usage for proper valgrinding.
26325
26326         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
26327         Really wait for the task to stop before destroying the
26328         mutex.
26329
26330         * gst/gstqueue.c: (gst_queue_sink_activate_push),
26331         (gst_queue_src_activate_push):
26332         Small cleanups. Don't stop the task when we did not start
26333         it.
26334
26335         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
26336         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26337         (gst_task_get_state), (gst_task_start), (gst_task_pause),
26338         (gst_task_join):
26339         * gst/gsttask.h:
26340         Protect the stream lock with the object lock.
26341         Disallow setting the stream lock when running.
26342         Add cleanup_all to wait for the threadpool to finish.
26343         Remove code to autoallocate a mutex if none was provided.
26344         Add _join() to wait for a task to stop.
26345         Protect the thread pool with a global lock.
26346
26347 2005-08-24  Wim Taymans  <wim@fluendo.com>
26348
26349         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26350         (gst_base_sink_get_times), (gst_base_sink_do_sync),
26351         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
26352         * gst/base/gstbasesink.h:
26353         Handle newsegment events correctly.
26354         Drop buffers out of the segment range.
26355
26356 2005-08-22  Andy Wingo  <wingo@pobox.com>
26357
26358         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
26359         macro, implements an interface and gstimplementsinterface for a
26360         new type.
26361
26362 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
26363
26364         * check/Makefile.am:
26365         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
26366           add a test that does a bunch of state changes on elements
26367           needs some fixing for valgrind
26368         * check/states/sinks.c: (gst_object_suite):
26369           whitespace
26370         * gst/gstcaps.h:
26371           add prototype for gst_caps_is_equal_fixed
26372         * gst/gstplugin.c:
26373         * gst/gstregistrypool.c:
26374           doc fixes
26375
26376 2005-08-24  Andy Wingo  <wingo@pobox.com>
26377
26378         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
26379         convert a negative value. Doesn't make much sense. Mostly this is
26380         here to force callers to ensure -1 maps to -1.
26381
26382 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
26383
26384         * docs/pwg/advanced-types.xml:
26385           Well done to Michael for catching my deliberate introduction
26386           of this spelling mistake. 
26387         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
26388         * gst/gstelement.h:
26389           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
26390           unlink pads before removing the element from the bin.
26391
26392 2005-08-24  Andy Wingo  <wingo@pobox.com>
26393
26394         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
26395         the same thing as GST_DEBUG=*:4.
26396         (parse_debug_level, parse_debug_category): New helper parsers.
26397
26398 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
26399
26400         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26401         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
26402         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
26403         (gst_base_transform_buffer_alloc),
26404         (gst_base_transform_handle_buffer):
26405           use gboolean return values and pointers to size so we can use the
26406           full GST_BUFFER_SIZE range (guint) for buffer sizes
26407           use GstPadDirection for transform_caps
26408         * gst/base/gstbasetransform.h:
26409           rename get_size to get_unit_size since that's what it is
26410         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
26411           use GstPadDirection for transform_caps
26412         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26413         * gst/gstutils.h:
26414           cleanup and debugging
26415
26416 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
26417
26418         * gst/gstelement.c: (gst_element_class_init),
26419         (gst_element_set_state), (activate_pads),
26420         (gst_element_save_thyself):
26421         * tools/gst-compprep.c: (main):
26422         * tools/gst-inspect.c: (print_element_properties_info):
26423         * tools/gst-xmlinspect.c: (print_element_properties):
26424           Fixed long standing mem-leak
26425
26426 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
26427
26428         * check/gst/gstbin.c: (GST_START_TEST):
26429         * gst/gstbin.c: (bin_bus_handler):
26430         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26431         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26432         (gst_message_new_warning), (gst_message_new_tag),
26433         (gst_message_new_state_changed), (gst_message_new_segment_start),
26434         (gst_message_new_segment_done), (gst_message_new_custom):
26435         * gst/gstmessage.h:
26436         * tools/gst-launch.c: (event_loop):
26437         * tools/gst-md5sum.c: (event_loop):
26438           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
26439           that applications can sensibly post custom messages with references
26440           to their own objects.
26441
26442 2005-08-24  Andy Wingo  <wingo@pobox.com>
26443
26444         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
26445         already.
26446
26447 2005-08-24  Wim Taymans  <wim@fluendo.com>
26448
26449         * gst/base/gstbasetransform.c: (gst_base_transform_init),
26450         (gst_base_transform_transform_caps),
26451         (gst_base_transform_transform_size),
26452         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
26453         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
26454         (gst_base_transform_handle_buffer):
26455         * gst/base/gstbasetransform.h:
26456         Many fixes and new features added by Thomas. Can now also do
26457         transforms with variable sizes and a custom fixate_caps function.
26458
26459 2005-08-24  Wim Taymans  <wim@fluendo.com>
26460
26461         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26462         Some debugging.
26463
26464         * gst/gstclock.h:
26465         Cast to ClockTime before formatting to time.
26466
26467         * gst/gstutils.h:
26468         Cleanups.
26469
26470 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
26471
26472         * check/gst-libs/controller.c: (GST_START_TEST),
26473         (gst_controller_suite):
26474         * docs/gst/tmpl/gstcaps.sgml:
26475         * docs/gst/tmpl/gstghostpad.sgml:
26476         * docs/gst/tmpl/gstquery.sgml:
26477         * docs/gst/tmpl/gstutils.sgml:
26478         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
26479         (gst_object_sink_values), (gst_object_get_value_arrays),
26480         (gst_object_get_value_array):
26481           gracefully handle helper method calls to objects that are not beeing
26482           controlled, added test case for that          
26483
26484 2005-08-23  Wim Taymans  <wim@fluendo.com>
26485
26486         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
26487         (gst_event_new_newsegment), (gst_event_parse_newsegment),
26488         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
26489         (gst_event_parse_qos), (gst_event_new_seek),
26490         (gst_event_parse_seek):
26491         * gst/gstevent.h:
26492         Some more debugging output and doc cleanups.
26493
26494         * gst/gstqueue.c: (gst_queue_handle_sink_event):
26495         Fix possible deadlock.
26496
26497 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26498
26499         * docs/gst/gstreamer-docs.sgml:
26500         * docs/gst/gstreamer-sections.txt:
26501         * docs/gst/gstreamer.types:
26502         * docs/gst/tmpl/.cvsignore:
26503         * gst/gstbin.h:
26504         * gst/gstbus.c:
26505         * gst/gstelement.c:
26506         * gst/gstevent.h:
26507           added 100 symbols from gstreamer-unused.txt to the right sections
26508           fixed more broken comments
26509           added GstBus to docs
26510
26511 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26512
26513         * docs/gst/gstreamer-sections.txt:
26514         * docs/gst/tmpl/.cvsignore:
26515         * docs/gst/tmpl/gstbin.sgml:
26516         * docs/gst/tmpl/gstbuffer.sgml:
26517         * gst/base/gstbasesrc.c:
26518         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
26519         * gst/gstbuffer.c:
26520         * gst/gstbuffer.h:
26521         * tools/gst-launch.1.in:
26522           inlined more doc comments, added missing comments and fixed comments
26523           fixed typos
26524
26525 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
26526
26527         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26528           some debugging
26529         * gst/gstcaps.h:
26530           whitespace fixes
26531         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
26532           more debugging
26533         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
26534         * gst/gststructure.h:
26535           add a fixate function for booleans; add a FIXME that these func
26536           names should probably be gst_structure_fixate_*
26537
26538 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26539
26540         * docs/gst/gstreamer-docs.sgml:
26541         * docs/gst/gstreamer-sections.txt:
26542         * gst/Makefile.am:
26543         * gst/gstbin.c: (gst_bin_get_type),
26544         (gst_bin_child_proxy_get_child_by_index),
26545         (gst_bin_child_proxy_get_children_count),
26546         (gst_bin_child_proxy_init):
26547         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
26548         (gst_child_proxy_get_child_by_index),
26549         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
26550         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
26551         (gst_child_proxy_get), (gst_child_proxy_set_property),
26552         (gst_child_proxy_set_valist), (gst_child_proxy_set),
26553         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
26554         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
26555         * gst/gstchildproxy.h:
26556         * gst/parse/grammar.y:
26557         * tools/gst-inspect.c: (print_interfaces),
26558         (print_element_properties_info), (print_element_info):
26559           ported gstchildproxy over from 0.8
26560           ported gst-inspect fixes and enhancements over from 0.8
26561
26562 2005-08-22  Wim Taymans  <wim@fluendo.com>
26563
26564         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26565         (gst_base_transform_handle_buffer):
26566         Also call the transform function if we have ANY caps.
26567
26568         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
26569         Fix debug info.
26570
26571 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
26572
26573         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
26574           Don't pretend to handle seek events if the source is not seekable
26575
26576 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
26577
26578         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26579           Remove extra parameter to debug output
26580
26581         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26582         (gst_base_src_do_seek), (gst_base_src_activate_push):
26583           Fix seek event handling.
26584
26585         * gst/gstpipeline.c: (gst_pipeline_change_state):
26586         * gst/gstqueue.c: (gst_queue_handle_sink_event),
26587         (gst_queue_src_activate_push):
26588           Don't start the src pad task on FLUSH_STOP if the pad
26589           isn't linked.
26590           Debug changes.
26591
26592 2005-08-22  Wim Taymans  <wim@fluendo.com>
26593
26594         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
26595         Added check for gst_static_caps_get() refcounting.
26596
26597 2005-08-22  Wim Taymans  <wim@fluendo.com>
26598
26599         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
26600         Make _static_caps_get() refcounting sane.
26601         
26602         * gst/gstelement.c: (gst_element_set_state):
26603         Add g_return_val_if_fail() to protect against segfaults.
26604
26605 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
26606
26607         * docs/gst/tmpl/gstevent.sgml:
26608         * gst/gstevent.c:
26609         * gst/gstevent.h:
26610           inlined remaining docs, added missing doc comments
26611
26612 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
26613
26614         * check/gst/gstbin.c: (GST_START_TEST):
26615           since we don't know when preroll is done, use refcount range
26616           check for the sink
26617         * gst/check/gstcheck.h:
26618           add macro for checking refcount range
26619
26620 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
26621
26622         * check/Makefile.am:
26623           clean up environment for when registry gets built versus
26624           when actual tests are run; valgrind seems to not report
26625           leaks if GST_PLUGIN_PATH is set to some specific values
26626         * check/gst/gstbin.c: (GST_START_TEST):
26627           add more refcounting checks; maybe this exposes a
26628           preroll lock bug ?
26629         * common/check.mak:
26630         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26631         * gst/check/gstcheck.h:
26632         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
26633         (gst_bin_change_state):
26634         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
26635           add/fix debugging/whitespace
26636
26637 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
26638
26639         * check/gst/gstevent.c: (event_probe), (test_event),
26640         (GST_START_TEST):
26641          Er, don't call gst_bin_watch_for_state_change you idiot.
26642
26643 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
26644
26645         * check/Makefile.am:
26646           Use CHECK_CFLAGS and CHECK_LIBS
26647         * check/gst/gstevent.c: (event_probe), (test_event),
26648         (GST_START_TEST):
26649           Don't leak events.
26650         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26651         (gst_base_src_start), (gst_base_src_stop),
26652         (gst_base_src_activate_push), (gst_base_src_activate_pull),
26653         (gst_base_src_change_state):
26654           Sprinkle gst_base_src_stop liberally around error paths to fix
26655           problems reusing a source after failed state changes.
26656         * gst/base/gsttypefindhelper.c: (helper_find_peek),
26657         (helper_find_suggest), (gst_type_find_helper):
26658           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
26659         * gst/gstevent.h:
26660         * docs/gst/tmpl/gstevent.sgml:
26661           Migrate part of the docs from the SGML file. Wait for ensonic to
26662           tell me how I did it wrong ;)
26663         * tools/gst-typefind.c: (main):
26664           Extra robustness to state changes between files.
26665
26666 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
26667
26668         * check/Makefile.am:
26669           don't valgrind the controller test - it's leaking - Stefan, HELP
26670         * gst/check/gstcheck.c: (gst_check_message_error),
26671         (gst_check_chain_func), (gst_check_setup_element),
26672         (gst_check_teardown_element), (gst_check_setup_src_pad),
26673         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
26674         (gst_check_teardown_sink_pad):
26675         * gst/check/gstcheck.h:
26676           add a bunch of methods to set up elements, and src and sink pads
26677         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
26678         * check/elements/identity.c: (setup_identity), (cleanup_identity),
26679         (GST_START_TEST):
26680           use them
26681         * gst/gstmessage.c:
26682         * gst/gsttag.h:
26683           whitespace/doc fixes
26684
26685 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26686
26687         * gst/gstelement.h:
26688           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
26689           be handled by the application and not always printed as well
26690
26691 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26692
26693         * check/Makefile.am:
26694           set GST_TOOLS_DIR
26695         * gst/check/gstcheck.c: (gst_check_message_error):
26696         * gst/check/gstcheck.h:
26697           add a fail_unless_equals_int
26698           add fail_unless for error messages
26699
26700 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26701
26702         * check/Makefile.am:
26703         * check/gst.supp:
26704         * common/Makefile.am:
26705         * common/check.mak:
26706         * common/gst.supp:
26707           factor out some of the common stuff so we can use it
26708
26709 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26710
26711         * check/Makefile.am:
26712         * check/gst/gstiterator.c: (GST_START_TEST):
26713         * check/gst/gstsystemclock.c: (GST_START_TEST),
26714         (gst_systemclock_suite):
26715         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
26716         * gst/gstclock.c:
26717           valgrind more tests
26718
26719 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26720
26721         * check/elements/.cvsignore:
26722         * check/elements/gstfakesrc.c:
26723           rename to name of element
26724         * check/elements/identity.c: (chain_func), (event_func),
26725         (setup_identity), (cleanup_identity), (GST_START_TEST),
26726         (identity_suite), (main):
26727           add a test for identity
26728         * check/Makefile.am:
26729         * pkgconfig/Makefile.am:
26730         * pkgconfig/gstreamer-check.pc.in:
26731         * pkgconfig/gstreamer-check-uninstalled.pc.in:
26732         * gst/check:
26733         * gst/Makefile.am:
26734         * configure.ac:
26735           move the check stuff to a library that gets installed
26736         * check/gst-libs/controller.c: (GST_START_TEST):
26737         * check/gst-libs/gdp.c:
26738         * check/gst/gst.c: (GST_START_TEST):
26739         * check/gst/gstbin.c:
26740         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26741         * check/gst/gstbus.c:
26742         * check/gst/gstcaps.c: (GST_START_TEST):
26743         * check/gst/gstelement.c:
26744         * check/gst/gstghostpad.c:
26745         * check/gst/gstiterator.c:
26746         * check/gst/gstmessage.c:
26747         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
26748         * check/gst/gstobject.c:
26749         * check/gst/gstpad.c: (GST_START_TEST):
26750         * check/gst/gststructure.c: (GST_START_TEST):
26751         * check/gst/gstsystemclock.c: (GST_START_TEST),
26752         (gst_systemclock_suite):
26753         * check/gst/gsttag.c: (gst_tag_suite):
26754         * check/gst/gstvalue.c:
26755         * check/pipelines/cleanup.c:
26756         * check/pipelines/simple_launch_lines.c:
26757         * check/states/sinks.c:
26758           change include statement
26759
26760         * docs/gst/gstreamer-sections.txt:
26761         * docs/gst/tmpl/gstpad.sgml:
26762           document more pad stuff
26763         * gst/gstminiobject.c: (gst_mini_object_ref),
26764         (gst_mini_object_unref):
26765           debug refcounting
26766
26767 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
26768
26769         * docs/gst/tmpl/gst.sgml:
26770         * gst/gst.c:
26771           eliminate another tmpl file, fix spelling in the long-description
26772
26773 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26774
26775         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26776         (test_event), (timediff), (gstevents_suite):
26777           Should fix build on 64-bit arch's
26778
26779 2005-08-18  Andy Wingo  <wingo@pobox.com>
26780
26781         Make sure that when a pipeline goes to PLAYING, that data has
26782         actually hit the sink.
26783
26784         * check/states/sinks.c (test_sink): A sink that doesn't get any
26785         data shouldn't return SUCCESS for going to either PLAYING or
26786         PAUSED. Test also the return values on the way back down.
26787
26788         * gst/gstelement.c (gst_element_set_state): When changing the
26789         state of an element currently changing state asynchronously, go to
26790         lost-state after commiting the pending state. Makes future calls
26791         to get_state continue to return ASYNC.
26792
26793         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
26794         ASYNC when going to PLAYING if we still don't have preroll, as can
26795         happen with live sources.
26796
26797 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26798
26799         * docs/pwg/advanced-types.xml:
26800           Hack long paragraph into 2 chunks as a workaround for buggy
26801           jadetex version in sid and breezy that loops infinitely and
26802           eats all RAM.
26803
26804 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26805
26806         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26807         (test_event), (timediff), (gstevents_suite):
26808           Provide more error margin in clock measurements to allow for 
26809           g_get_current_time inaccuracies.
26810
26811 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26812
26813         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26814         (test_event), (timediff), (gstevents_suite):
26815            Fix error message output so I might be able to tell why the
26816            test works here but fails on the build farm.
26817
26818 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26819
26820         * check/Makefile.am:
26821         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26822         (test_event), (timediff), (gstevents_suite), (main):
26823           I wrote a test!
26824
26825         * docs/design/part-seeking.txt:
26826           Spelling correction
26827
26828         * docs/gst/tmpl/gstevent.sgml:
26829         * docs/gst/tmpl/gstfakesrc.sgml:
26830           Docs updates.
26831
26832         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26833           Treat a buffer-without-newsegment the same as a receiving 
26834           a newsegment not in time format, and disable syncing to the clock
26835           with a warning.
26836
26837         * gst/gstbus.c: (gst_bus_set_sync_handler):
26838           Assert if anyone tries to replace the existing sync_handler for bus, 
26839           as only the owner should be setting it.
26840
26841         * gst/gstevent.h:
26842           Have a fixed set of custom event enums with events identified by
26843           their structure name (as in 0.8), rather than a free-for-all
26844           allowing collisions between enum values from different plugins.
26845
26846         * gst/gstpad.c: (gst_pad_class_init):
26847           Docs change.
26848           
26849         * gst/gstqueue.c: (gst_queue_handle_sink_event):
26850           Handle out-of-band downstream events from the sending thread.
26851
26852 2005-08-17  Andy Wingo  <wingo@pobox.com>
26853
26854         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
26855         play-timeout==0 to mean no timeout at all. In that case, don't
26856         bother with a get_state or a warning, just return directly, even
26857         if it's ASYNC.
26858
26859         * gst/base/gstbasetransform.c: Debug changes.
26860
26861         * gst/gstutils.h:
26862         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
26863         ensure bins post state change messages. A bit of a hack but I can't
26864         think of a way to avoid it.
26865
26866         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
26867
26868 2005-08-16  Andy Wingo  <wingo@pobox.com>
26869
26870         * gst/base/gstadapter.h:
26871         * gst/base/gstadapter.c (gst_adapter_take): New function, like
26872         peek() but you own the data. Not terribly efficient atm.
26873
26874 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26875
26876         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
26877         (gst_element_found_tags):
26878         * gst/gstutils.h:
26879           Add two utility functions for tag handling.
26880
26881 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26882
26883         * docs/manual/advanced-dataaccess.xml:
26884         * docs/manual/basics-helloworld.xml:
26885           Fix docs to use _bin_add() before _link(), which fixes the examples
26886           with recent core versions (reported by Madhan Raj M
26887           <raj_madan@rediffmail.com>, #313199).
26888
26889 2005-08-16  Wim Taymans  <wim@fluendo.com>
26890
26891         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
26892         Added subtract checks.
26893
26894         * docs/design/part-events.txt:
26895         Some more docs about newsegment
26896
26897         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
26898         Fix FIXME
26899
26900         * gst/gstcaps.c: (gst_caps_to_string):
26901         Add comments, cleanups.
26902         
26903         * gst/gstelement.c: (gst_element_save_thyself):
26904         cleanups
26905         
26906         * gst/gstvalue.c: (gst_value_collect_int_range),
26907         (gst_string_unwrap), (gst_value_union_int_int_range),
26908         (gst_value_union_int_range_int_range),
26909         (gst_value_intersect_int_int_range),
26910         (gst_value_intersect_int_range_int_range),
26911         (gst_value_intersect_double_double_range),
26912         (gst_value_intersect_double_range_double_range),
26913         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
26914         (gst_value_subtract_int_range_int),
26915         (gst_value_subtract_double_range_double),
26916         (gst_value_subtract_double_range_double_range),
26917         (gst_value_subtract_from_list), (gst_value_subtract_list),
26918         (gst_value_can_compare), (gst_value_compare_fraction):
26919         Cleanups, add comments, remove unneeded asserts.
26920
26921 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
26922
26923         * tools/gst-launch.c: (event_loop):
26924           don't convert NULL structures to strings
26925
26926 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
26927
26928         * docs/gst/gstreamer-sections.txt:
26929           made some defines private
26930         * docs/gst/tmpl/gstconfig.sgml:
26931         * docs/gst/tmpl/gstqueue.sgml:
26932         * docs/gst/tmpl/gsttaglist.sgml:
26933         * docs/gst/tmpl/gsttypes.sgml:
26934         * docs/gst/tmpl/gstutils.sgml:
26935         * docs/pwg/appendix-porting.xml:
26936         * gst/base/gstbasesink.h:
26937         * gst/base/gstbasesrc.c:
26938         * gst/base/gstbasesrc.h:
26939         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
26940         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
26941         * gst/gstelement.c: (gst_element_class_init):
26942         * gst/gstpad.c: (gst_pad_class_init):
26943         * gst/gstqueue.c: (gst_queue_class_init):
26944         * gst/gstxml.c: (gst_xml_class_init):
26945           documented all undocumented signal inline
26946         * libs/gst/controller/gst-controller.h:
26947           added padding
26948
26949 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26950
26951         * docs/pwg/appendix-porting.xml:
26952           Document _set_link_function -> _set_setcaps_function.
26953
26954 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
26955
26956         * check/Makefile.am:
26957           add a .check target for running the check
26958         * check/gst-libs/controller.c: (GST_START_TEST):
26959           cosmetic fixups
26960         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26961           complete checks for gstbuffer; would be nice if I could get the
26962           gcov stuff to work so I can see if I actually completed gstbuffer.c
26963         * check/gstcheck.h:
26964           add ASSERT_BUFFER_REFCOUNT
26965
26966 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
26967
26968         * docs/gst/gstreamer-sections.txt:
26969         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
26970         * gst/gsttag.h:
26971           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
26972           spew out a warning if a tag that is already registered
26973           is re-registered, unless it is re-registered with a 
26974           different type (#308438).
26975
26976 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
26977
26978         * docs/pwg/appendix-porting.xml:
26979         * docs/pwg/building-state.xml:
26980           Add some paragraphs about state changes in 0.9 to the PWG
26981           and the porting guide, in particular about the new meaning
26982           of GST_STATE_PAUSED and how to write state change functions
26983           with concurrent access by multiple threads in mind.
26984
26985 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
26986
26987         * docs/gst/gstreamer-docs.sgml:
26988         * docs/libs/gstreamer-libs-docs.sgml:
26989           added deprecation and since indexes
26990         * libs/gst/controller/gst-controller.c:
26991         * libs/gst/controller/gst-helper.c:
26992           added since tags
26993
26994
26995 2005-08-11  Wim Taymans  <wim@fluendo.com>
26996
26997         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
26998         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
26999         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
27000         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
27001         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
27002         (gst_ghost_pad_set_target):
27003         Actually implement (re)setting the target on a ghostpad
27004         as described in the docs.
27005
27006 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
27007
27008         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
27009           Check whether GST_DEBUG_NO_COLOR environment variable is
27010           set and disable coloured debug output if that is the case.
27011
27012 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
27013
27014         * gst/base/gsttypefindhelper.c: (helper_find_peek),
27015         (gst_type_find_helper):
27016           The memory returned by gst_type_find_peek() needs to
27017           stay valid until the end of a typefind function, and
27018           typefind functions may keep results from different 
27019           offsets around, so we can't just unref the buffer from
27020           the previous _peek(), but have to save all buffers 
27021           returned by _peek() until typefinding is done and only
27022           free them then.
27023
27024 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
27025
27026         * docs/gst/gstreamer-sections.txt:
27027         * gst/gstutils.h:
27028           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
27029
27030 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27031
27032         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
27033           Fix a pretty good memleak.
27034
27035 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
27036
27037         * gst/gstiterator.h:
27038           Fix wrong include and 'make distcheck'.
27039
27040 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27041
27042         * gst/gstbin.c: (bin_bus_handler):
27043           Use gst_element_post_message() instead.
27044
27045 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
27046
27047         * gst/base/gstadapter.h:
27048         * gst/base/gstbasesink.h:
27049         * gst/base/gstbasesrc.h:
27050         * gst/base/gstbasetransform.h:
27051         * gst/base/gstcollectpads.h:
27052         * gst/base/gstpushsrc.h:
27053         * gst/gstiterator.h:
27054           Add padding to our base elements' class and instance structs and
27055           to GstIterator (you will need to rebuild all plugins and apps!)
27056
27057 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27058
27059         * gst/gstbin.c: (bin_bus_handler):
27060           Make default message forwarding from child->bus to bin->bus
27061           threadsafe and make it not emit warnings if the parent has no bus.
27062
27063 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27064
27065         * gst/gstelement.c: (activate_pads):
27066           On paused->ready, set pad->caps to NULL, as is the documented
27067           behaviour in this state change. Fixes playback of series of
27068           media files when visualization is enabled in Totem.
27069
27070 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27071
27072         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
27073           Allow NULL as filter-caps (which means "any").
27074
27075 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
27076
27077         * docs/libs/gstreamer-libs-sections.txt:
27078         * libs/gst/controller/gst-controller.c:
27079         * libs/gst/controller/gst-controller.h:
27080         * libs/gst/controller/gst-helper.c:
27081           adding more entries to the docs and fix small doc-bugs
27082
27083 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
27084
27085         * docs/gst/gstreamer-docs.sgml:
27086         * docs/gst/gstreamer-sections.txt:
27087         * docs/gst/gstreamer.types:
27088         * docs/gst/tmpl/gstbasesink.sgml:
27089         * docs/gst/tmpl/gstbasesrc.sgml:
27090         * docs/gst/tmpl/gstbasetransform.sgml:
27091         * docs/gst/tmpl/gstfakesrc.sgml:
27092         * gst/base/gstcollectpads.c:
27093         * gst/base/gstcollectpads.h:
27094         * libs/gst/controller/gst-controller.c:
27095         * libs/gst/controller/gst-controller.h:
27096         * libs/gst/controller/gst-helper.c:
27097         * libs/gst/controller/gst-interpolation.c:
27098         * libs/gst/controller/lib.c:
27099           added long/short desc for controller docs
27100           added collectpads base class docs
27101           added correct includes to base-class docs
27102
27103 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
27104
27105         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
27106         (gst_test_mono_source_set_property),
27107         (gst_test_mono_source_class_init), (GST_START_TEST),
27108         (gst_controller_suite):
27109         * docs/gst/gstreamer-docs.sgml:
27110         * docs/gst/gstreamer-sections.txt:
27111         * docs/gst/gstreamer.types:
27112         * docs/libs/gstreamer-libs-docs.sgml:
27113         * docs/libs/gstreamer-libs-sections.txt:
27114         * gst/base/gstadapter.c:
27115         * libs/gst/controller/gst-controller.c:
27116         (gst_controlled_property_new), (gst_controlled_property_free),
27117         (gst_controller_new_valist),
27118         (gst_controller_remove_properties_valist),
27119         (gst_controller_sink_values), (_gst_controller_finalize):
27120         * libs/gst/controller/gst-controller.h:
27121         * libs/gst/controller/gst-helper.c:
27122         (gst_object_control_properties), (gst_object_uncontrol_properties),
27123         (gst_object_get_controller), (gst_object_set_controller),
27124         (gst_object_sink_values), (gst_object_get_value_arrays),
27125         (gst_object_get_value_array):
27126           more tests (and fixes) for the controller
27127           more docs for the controller
27128           integrated companies docs for the adapter 
27129
27130 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
27131
27132         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
27133         (GST_START_TEST), (fakesrc_suite):
27134           add tests for sizetype
27135
27136 2005-08-04  Andy Wingo  <wingo@pobox.com>
27137
27138         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
27139         fixes buffer_alloc proxying among other things.
27140
27141         * gst/base/gstbasetransform.c:
27142         * gst/base/gstbasetransform.h:
27143         Revert patch to gstbasetransform from 7-28 removing
27144         delay_configure.
27145
27146         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
27147         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
27148         Semantics changed, should return not the size of the output buffer
27149         but the byte size of a buffer with a given caps.
27150
27151         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
27152         debug object.
27153         (gst_base_transform_configure_caps): Don't set out_size here: (in,
27154         out) are not the pad caps until setcaps finishes.
27155         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
27156         not-in-place case as well. Deal with changing from in-place to
27157         not-in-place within calling pad_alloc_buffer. Still a bit
27158         concerned about the overhead here...
27159
27160 2005-08-03  Andy Wingo  <wingo@pobox.com>
27161
27162         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
27163         fixating is an error.
27164
27165 2005-08-04  Edward Hervey  <edward@fluendo.com>
27166
27167         * gst/base/gstadapter.h: 
27168         Added gst_adapter_get_type() to the header
27169
27170 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
27171
27172         * check/Makefile.am:
27173         * check/gst-libs/controller.c:
27174         * libs/gst/controller/gst-controller.c:
27175         (gst_controller_new_valist):
27176           added check test suite for the controller
27177         * gst/base/gstpushsrc.c:
27178           fixed a doc typo
27179
27180 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
27181
27182         * docs/gst/Makefile.am:
27183         * docs/gst/gstreamer-docs.sgml:
27184         * docs/gst/gstreamer-sections.txt:
27185         * docs/gst/gstreamer.types:
27186         * docs/gst/tmpl/gstfakesrc.sgml:
27187         * gst/base/README:
27188         * gst/base/gstbasesink.c:
27189         * gst/base/gstbasesink.h:
27190         * gst/base/gstbasesrc.c:
27191         * gst/base/gstbasesrc.h:
27192         * gst/base/gstbasetransform.c:
27193         * gst/base/gstpushsrc.c:
27194         * gst/base/gstpushsrc.h:
27195           add short/long description docs to base classes
27196           add pushsrc to the docs
27197           remove consolidated doc fragments
27198
27199 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
27200
27201         * configure.ac:
27202         * docs/libs/Makefile.am:
27203         * docs/libs/gstreamer-libs-docs.sgml:
27204         * docs/libs/gstreamer-libs-sections.txt:
27205         * docs/libs/gstreamer-libs.types:
27206         * examples/Makefile.am:
27207         * examples/controller/.cvsignore:
27208         * examples/controller/Makefile.am:
27209         * examples/controller/audio-example.c: (main):
27210         * libs/gst/Makefile.am:
27211         * libs/gst/controller/.cvsignore:
27212         * libs/gst/controller/Makefile.am:
27213         * libs/gst/controller/gst-controller.c:
27214         (on_object_controlled_property_changed), (gst_timed_value_compare),
27215         (gst_timed_value_find),
27216         (gst_controlled_property_set_interpolation_mode),
27217         (gst_controlled_property_new), (gst_controlled_property_free),
27218         (gst_controller_find_controlled_property),
27219         (gst_controller_new_valist), (gst_controller_new),
27220         (gst_controller_remove_properties_valist),
27221         (gst_controller_remove_properties), (gst_controller_set),
27222         (gst_controller_set_from_list), (gst_controller_unset),
27223         (gst_controller_get), (gst_controller_get_all),
27224         (gst_controller_sink_values), (gst_controller_get_value_arrays),
27225         (gst_controller_get_value_array),
27226         (gst_controller_set_interpolation_mode),
27227         (_gst_controller_finalize), (_gst_controller_init),
27228         (_gst_controller_class_init), (gst_controller_get_type):
27229         * libs/gst/controller/gst-controller.h:
27230         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
27231         (g_object_uncontrol_properties), (g_object_get_controller),
27232         (g_object_set_controller), (g_object_sink_values),
27233         (g_object_get_value_arrays), (g_object_get_value_array):
27234         * libs/gst/controller/gst-interpolation.c:
27235         (gst_controlled_property_find_timed_value_node),
27236         (interpolate_none_get), (interpolate_trigger_get),
27237         (interpolate_trigger_get_value_array):
27238         * libs/gst/controller/lib.c: (gst_controller_init):
27239         * pkgconfig/Makefile.am:
27240         * pkgconfig/gstreamer-control-uninstalled.pc.in:
27241         * pkgconfig/gstreamer-control.pc.in:
27242         * testsuite/Makefile.am:
27243         * testsuite/controller/.cvsignore:
27244         * testsuite/controller/Makefile.am:
27245         * testsuite/controller/interpolator.c: (main):
27246           added controller code
27247           removed dparam pc files
27248
27249 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
27250         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
27251         (gst_collectpads_stop):
27252           Broadcast the condition when shutting down, to make sure we wake all
27253           threads up. Shut down pads on finalize, for safety.
27254
27255 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
27256         * gst/base/gstbasetransform.c: (gst_base_transform_init),
27257         (gst_base_transform_handle_buffer),
27258         (gst_base_transform_change_state):
27259           Handle PAUSED->READY->PAUSED transition after negotiation
27260           occurred already.
27261         * gst/gstmessage.c: (gst_message_init):
27262           Extra piece of debug for new messages.
27263
27264 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
27265
27266         * configure.ac:
27267         * docs/gst/tmpl/gstbasesrc.sgml:
27268         * docs/gst/tmpl/gstelement.sgml:
27269         * docs/gst/tmpl/gstevent.sgml:
27270         * docs/gst/tmpl/gstfakesrc.sgml:
27271         * docs/gst/tmpl/gstformat.sgml:
27272         * docs/gst/tmpl/gstghostpad.sgml:
27273         * docs/gst/tmpl/gstpad.sgml:
27274         * docs/gst/tmpl/gstquery.sgml:
27275         * docs/gst/tmpl/gststructure.sgml:
27276         * docs/gst/tmpl/gsttaglist.sgml:
27277         * docs/gst/tmpl/gstvalue.sgml:
27278         * docs/libs/gstreamer-libs-docs.sgml:
27279         * docs/libs/gstreamer-libs-sections.txt:
27280         * docs/libs/gstreamer-libs.types:
27281         * libs/gst/Makefile.am:
27282         * libs/gst/control/.cvsignore:
27283         * libs/gst/control/Makefile.am:
27284         * libs/gst/control/control.c:
27285         * libs/gst/control/control.h:
27286         * libs/gst/control/dparam.c:
27287         * libs/gst/control/dparam.h:
27288         * libs/gst/control/dparam_smooth.c:
27289         * libs/gst/control/dparam_smooth.h:
27290         * libs/gst/control/dparamcommon.h:
27291         * libs/gst/control/dparammanager.c:
27292         * libs/gst/control/dparammanager.h:
27293         * libs/gst/control/dplinearinterp.c:
27294         * libs/gst/control/dplinearinterp.h:
27295         * libs/gst/control/unitconvert.c:
27296         * libs/gst/control/unitconvert.h:
27297         * testsuite/Makefile.am:
27298         * testsuite/dynparams/.cvsignore:
27299         * testsuite/dynparams/Makefile.am:
27300         * testsuite/dynparams/dparamstest.c:
27301         * tools/Makefile.am:
27302         * tools/gst-inspect.c: (print_element_info), (main):
27303         * tools/gst-xmlinspect.c: (print_element_info), (main):
27304           deactivate and remove dparams (libgstcontrol)
27305
27306 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
27307
27308         * gst/elements/gsttypefindelement.c:
27309         (gst_type_find_element_have_type), (gst_type_find_element_init),
27310         (stop_typefinding), (gst_type_find_element_handle_event),
27311         (gst_type_find_element_chain), (gst_type_find_element_getrange):
27312         * gst/elements/gsttypefindelement.h:
27313           Set caps on all outgoing buffers, not just the first one.
27314
27315 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
27316
27317         * gst/elements/gsttypefindelement.c:
27318         (gst_type_find_element_have_type),
27319         (gst_type_find_element_check_set_buffer_caps),
27320         (gst_type_find_element_init), (stop_typefinding),
27321         (gst_type_find_element_handle_event),
27322         (gst_type_find_element_chain), (gst_type_find_element_getrange):
27323         * gst/elements/gsttypefindelement.h:
27324           Set caps on first outgoing buffer when we've found the type.
27325
27326 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
27327
27328         * docs/gst/gstreamer-docs.sgml:
27329         * docs/gst/gstreamer-sections.txt:
27330         * docs/gst/tmpl/gstscheduler.sgml:
27331         * docs/gst/tmpl/gstschedulerfactory.sgml:
27332           Remove some old cruft from docs.
27333
27334 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
27335
27336         * gst/gstpad.h:
27337           Fix inline docs for GstPadLinkReturn.
27338           
27339         * gst/gststructure.c: (gst_structure_has_name):
27340         * gst/gststructure.h:
27341         * docs/gst/gstreamer-sections.txt:
27342           New API: gst_structure_has_name().
27343
27344 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
27345
27346         * configure.ac:
27347           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
27348           and _LARGEFILE_SOURCE in config.h as required. Do not 
27349           export those flags in our .pc files any longer (#142209).
27350
27351           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
27352
27353         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
27354         (gst_file_sink_do_seek), (gst_file_sink_event),
27355         (gst_file_sink_get_current_offset), (gst_file_sink_render):
27356           Redo seek/tell calls with large file support in mind; add some
27357           debugging messages; add log message that tells us when large
27358           file support is unavailable or not enabled for some reason.
27359
27360         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
27361           Add log message that tells us when large file support 
27362           is unavailable or not enabled for some reason.
27363
27364 2005-07-29  Wim Taymans  <wim@fluendo.com>
27365
27366         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27367         Added test for removing an element with ghostpad from a bin.
27368         Fixed test as current implementation does the right thing.
27369
27370         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
27371         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
27372         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
27373         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
27374         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
27375         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
27376         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
27377         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
27378         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
27379         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
27380         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
27381         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
27382         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
27383         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
27384         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
27385         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
27386         * gst/gstghostpad.h:
27387         Clean up ghostpads, remove properties for internal stuff.
27388         Make threadsafe.
27389         Fix refcounting.
27390         Prepare for switching targets, not all use cases work yet.
27391
27392 2005-07-29  Wim Taymans  <wim@fluendo.com>
27393
27394         * docs/design/part-gstghostpad.txt:
27395         Small update.
27396
27397         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27398         (gst_bin_remove_func):
27399         Unlinking pads while holding the bin LOCK is not a good
27400         idea.
27401
27402         * gst/gstpad.c: (gst_pad_class_init),
27403         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
27404         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
27405         No prob setting template after creating the pad.
27406
27407 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
27408
27409         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
27410         (gst_bus_peek), (gst_bus_source_dispatch),
27411         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
27412         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
27413           gst_bus_poll may be called from other threads. Handle
27414           this nicely by not making poll_data disappear off the
27415           stack once gst_bus_poll returns.
27416           gst_bus_peek now increments the refcount on the returned
27417           message.
27418
27419 2005-07-29  Wim Taymans  <wim@fluendo.com>
27420
27421         * docs/design/part-gstghostpad.txt:
27422         Overview of current GhostPad datastructures and use
27423         cases for changing the target.
27424
27425 2005-07-28  Wim Taymans  <wim@fluendo.com>
27426
27427         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
27428         Added checks for hierarchy consistency whan adding linked
27429         elements to bins.
27430
27431         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
27432         Added check to test element scheduling without bin/pipeline.
27433
27434         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
27435         First add elements to bin, then link.
27436         
27437         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27438         (gst_bin_remove_func):
27439         Unlink pads from elements added/removed from bin to maintain
27440         hierarchy consistency.
27441
27442 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27443
27444         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
27445         (gst_base_transform_handle_buffer):
27446         * gst/base/gstbasetransform.h:
27447           Remove broken delay_configure (fixes renegotiation of software
27448           scaling pipelines); remove some leftover printf()s.
27449
27450 2005-07-28  Wim Taymans  <wim@fluendo.com>
27451
27452         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27453         Added some more tests for wrong hierarchy
27454
27455         * docs/design/part-overview.txt:
27456         Some updates.
27457
27458         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
27459         Cleanups.
27460
27461         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
27462         (gst_element_dispose):
27463         Some more cleanups.
27464
27465         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
27466         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
27467         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27468         (gst_pad_set_caps), (gst_pad_send_event):
27469         Check for correct hierarchy when linking pads. Moving to
27470         strict requirement for ghostpads when linking elements in
27471         different bins.
27472
27473         * gst/gstpad.h:
27474         Clean ups. Added WRONG_HIERARCHY return value.
27475
27476 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27477
27478         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
27479           Better debug if no transform is possible.
27480
27481 2005-07-27  Wim Taymans  <wim@fluendo.com>
27482
27483         * docs/random/wtay/network-transp:
27484         Some old doc I had.
27485
27486 2005-07-27  Wim Taymans  <wim@fluendo.com>
27487
27488         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27489         (gst_dp_event_from_packet):
27490         Fix serialization of seek events.
27491
27492 2005-07-27  Wim Taymans  <wim@fluendo.com>
27493
27494         * check/gst-libs/gdp.c: (GST_START_TEST):
27495         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27496         Fix compilation and fix event serialization.
27497
27498 2005-07-27  Wim Taymans  <wim@fluendo.com>
27499
27500         * CHANGES-0.9:
27501         * docs/design/part-TODO.txt:
27502         * docs/design/part-events.txt:
27503         Some docs updates
27504
27505         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27506         (gst_base_sink_event), (gst_base_sink_do_sync),
27507         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27508         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
27509         (gst_base_src_do_seek), (gst_base_src_event_handler),
27510         (gst_base_src_loop):
27511         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27512         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27513         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
27514         (gst_base_transform_event), (gst_base_transform_handle_buffer),
27515         (gst_base_transform_set_passthrough),
27516         (gst_base_transform_is_passthrough):
27517         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27518         * gst/elements/gstfilesink.c: (gst_file_sink_event):
27519         Event updates.
27520
27521         * gst/gstbuffer.h:
27522         Use faster casts.
27523
27524         * gst/gstelement.c: (gst_element_seek):
27525         * gst/gstelement.h:
27526         Update gst_element_seek.
27527
27528         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
27529         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
27530         (gst_event_new_flush_start), (gst_event_new_flush_stop),
27531         (gst_event_new_eos), (gst_event_new_newsegment),
27532         (gst_event_parse_newsegment), (gst_event_new_tag),
27533         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
27534         (gst_event_parse_qos), (gst_event_new_seek),
27535         (gst_event_parse_seek), (gst_event_new_navigation):
27536         * gst/gstevent.h:
27537         Make GstEvent use GstStructure. Add parsing code, make sure the
27538         API is sufficiently generic.
27539         Mark possible directions of events and serialization.
27540
27541         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
27542         (_gst_message_copy), (gst_message_new_segment_start),
27543         (gst_message_new_segment_done), (gst_message_new_custom),
27544         (gst_message_parse_segment_start),
27545         (gst_message_parse_segment_done):
27546         Small cleanups.
27547
27548         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27549         (gst_pad_set_caps), (gst_pad_send_event):
27550         Update for new events. 
27551         Catch events sent in wrong directions.
27552
27553         * gst/gstqueue.c: (gst_queue_link_src),
27554         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
27555         (gst_queue_handle_src_query):
27556         Event updates.
27557
27558         * gst/gsttag.c:
27559         * gst/gsttag.h:
27560         Remove event code from this file.
27561
27562         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27563         (gst_dp_event_from_packet):
27564         Event updates.
27565
27566 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27567
27568         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
27569         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27570         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
27571           Make debugging actually useful.
27572
27573 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27574
27575         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
27576         (gst_pad_fixate_caps):
27577           Implement default fixation once again, so that gst_pad_fixate()
27578           actually does anything at all. This probably needs to be some
27579           sort of a last resort, and use profile-based fixation first, but
27580           since that doesn't exist yet, this is the best we have. Fixes
27581           visualization in Totem.
27582
27583 2005-07-22  Wim Taymans  <wim@fluendo.com>
27584
27585         * docs/design/part-events.txt:
27586         Small update.
27587
27588         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27589         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
27590         (gst_base_sink_activate_pull):
27591         Some more comments.
27592
27593         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
27594         (gst_fake_src_create):
27595         Fix handoff marshall.
27596
27597         * gst/elements/gstidentity.c: (gst_identity_class_init),
27598         (gst_identity_transform_ip):
27599         We're a real inplace element.
27600
27601         * gst/gstbus.c: (gst_bus_post):
27602         Added some comments.
27603
27604         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
27605         * tests/muxing/case1.c: (main):
27606         * tests/sched/dynamic-pipeline.c: (main):
27607         * tests/sched/interrupt1.c: (main):
27608         * tests/sched/interrupt2.c: (main):
27609         * tests/sched/interrupt3.c: (main):
27610         * tests/sched/runxml.c: (main):
27611         * tests/sched/sched-stress.c: (main):
27612         * tests/seeking/seeking1.c: (event_received), (main):
27613         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
27614         (main):
27615         * tests/threadstate/threadstate3.c: (main):
27616         * tests/threadstate/threadstate4.c: (main):
27617         * tests/threadstate/threadstate5.c: (main):
27618         Fix the tests.
27619
27620 2005-07-21  Wim Taymans  <wim@fluendo.com>
27621
27622         * docs/design/part-seeking.txt:
27623         Some small additions.
27624
27625         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27626         (gst_base_sink_get_times), (gst_base_sink_do_sync),
27627         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27628         * gst/base/gstbasesink.h:
27629         discont values are gint64, handle the math correctly.
27630
27631         * gst/base/gstbasesrc.c: (gst_base_src_loop):
27632         Make the basesrc report error if the source pad is not linked.
27633
27634         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
27635         (gst_queue_loop), (gst_queue_handle_src_query),
27636         (gst_queue_src_activate_push):
27637         Make queue collect data even if the srcpad is not linked.
27638         Start pushing out data as soon as it is linked.
27639
27640         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
27641         * gst/gstutils.h:
27642         Added gst_flow_get_name() to ease error reporting.
27643
27644 2005-07-20  Wim Taymans  <wim@fluendo.com>
27645
27646         * gst/gstmessage.c: (gst_message_new_segment_start),
27647         (gst_message_new_segment_done), (gst_message_parse_segment_start),
27648         (gst_message_parse_segment_done):
27649         * gst/gstmessage.h:
27650         Added a bunch of messages for advanced seeking.
27651
27652         * gst/parse/grammar.y:
27653         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
27654         (gst_dpman_state_changed):
27655         Fix some new-pad -> pad-added signals
27656
27657 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27658
27659         * docs/manual/appendix-porting.xml:
27660         * docs/pwg/appendix-porting.xml:
27661           Document new-pad/state-change signal renames and the FixedList
27662           type rename.
27663
27664 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27665
27666         * docs/manual/advanced-autoplugging.xml:
27667         * docs/manual/basics-helloworld.xml:
27668         * docs/manual/basics-pads.xml:
27669         * docs/random/ds/0.9-suggested-changes:
27670         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
27671         * gst/gstelement.h:
27672         * gst/gstevent.h:
27673         * gst/gstformat.h:
27674         * gst/gstquery.h:
27675         * gst/gststructure.c: (gst_structure_value_get_generic_type),
27676         (gst_structure_parse_array), (gst_structure_parse_value):
27677         * gst/gstvalue.c: (gst_type_is_fixed),
27678         (gst_value_list_prepend_value), (gst_value_list_append_value),
27679         (gst_value_list_get_size), (gst_value_list_get_value),
27680         (gst_value_transform_array_string), (gst_value_serialize_array),
27681         (gst_value_deserialize_array), (gst_value_intersect_array),
27682         (gst_value_is_fixed), (_gst_value_initialize):
27683         * gst/gstvalue.h:
27684           GstElement::new-pad -> pad-added, GstElement::state-change ->
27685           state-changed, GstValueFixedList -> GstValueArray, add format and
27686           flags as their own arguments in gst_element_seek() (should improve
27687           "bindeability"), remove function generators since they don't work
27688           under a whole bunch of compilers (they were deprecated already
27689           anyway).
27690
27691 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27692
27693         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
27694         (_gst_debug_register_funcptr):
27695         * gst/gstinfo.h:
27696           Fix illegal cast on some platforms (#309253).
27697
27698 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27699
27700         * gst/gstmessage.c: (gst_message_new_custom):
27701         * gst/gstmessage.h:
27702           Add _new_custom, make _new_application a macro to _new_custom.
27703
27704 2005-07-20  Wim Taymans  <wim@fluendo.com>
27705
27706         * gst/base/gstbasesrc.c: (gst_base_src_init),
27707         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
27708         * gst/base/gstbasesrc.h:
27709         Add a gboolean to decide when to push out a discont.
27710
27711         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
27712         (gst_queue_loop), (gst_queue_handle_src_query),
27713         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
27714         (gst_queue_set_property), (gst_queue_get_property):
27715         Some cleanups.
27716
27717         * tests/threadstate/threadstate1.c: (main):
27718         Make a thread test compile and run... very silly..
27719
27720
27721 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27722
27723         * docs/manual/appendix-porting.xml:
27724           Mention removal of libgstgconf-0.9.la and existence of gconf
27725           elements.
27726
27727 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27728
27729         * docs/pwg/advanced-clock.xml:
27730         * docs/pwg/appendix-porting.xml:
27731         * docs/pwg/intro-preface.xml:
27732         * docs/pwg/other-base.xml:
27733         * docs/pwg/other-manager.xml:
27734         * docs/pwg/other-nton.xml:
27735         * docs/pwg/other-ntoone.xml:
27736         * docs/pwg/other-oneton.xml:
27737         * docs/pwg/pwg.xml:
27738           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
27739           demuxer), remove n-to-n (was never written), fix some code examples
27740           and links and update the porting section to include all this.
27741
27742 2005-07-19  Wim Taymans  <wim@fluendo.com>
27743
27744         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
27745         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
27746         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
27747         (gst_queue_src_activate_push), (gst_queue_change_state),
27748         (gst_queue_get_property):
27749         * gst/gstqueue.h:
27750         Propagate GstFlowReturn more intelligently upstream and output
27751         an ERROR/EOS when streaming stopped due to fatal error.
27752
27753 2005-07-19  Wim Taymans  <wim@fluendo.com>
27754
27755         * tools/gst-launch.c: (check_intr), (event_loop), (main):
27756         Don't block forever for the state change to complete, the
27757         pipeline already did with a sensible timeout.
27758
27759 2005-07-19  Wim Taymans  <wim@fluendo.com>
27760
27761         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
27762         Make sure we never call the create function is we
27763         got deactivated.
27764
27765 2005-07-19  Andy Wingo  <wingo@pobox.com>
27766
27767         * gst/parse/parse.l: Attempt to solve bug #172815.
27768
27769 2005-07-19  Wim Taymans  <wim@fluendo.com>
27770
27771         * docs/design/part-clocks.txt:
27772         * docs/design/part-events.txt:
27773         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
27774         Small docs updates.
27775         Only update the seeking values when we are not
27776         busy streaming.
27777
27778 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
27779
27780         * gst/base/gstbasesrc.c: (gst_base_src_loop):
27781           Oops, ignore the result of gst_pad_push_event here.
27782
27783 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
27784
27785         * gst/base/gstbasesrc.c: (gst_base_src_loop),
27786         (gst_base_src_activate_push):
27787           Send discont event from the loop function, as pads
27788           aren't activated yet in the activate_push handler.
27789
27790         * gst/gstbin.c: (bin_bus_handler):
27791           Don't leak element name.
27792
27793 2005-07-18  Andy Wingo  <wingo@pobox.com>
27794
27795         * configure.ac: Use AS_LIBTOOL_TAGS.
27796
27797 2005-07-18  Wim Taymans  <wim@fluendo.com>
27798
27799         * docs/gst/gstreamer.types:
27800         Remove deleted types.
27801
27802 2005-07-18  Wim Taymans  <wim@fluendo.com>
27803
27804         * check/elements/gstfakesrc.c: (GST_START_TEST):
27805         * configure.ac:
27806         * gst/Makefile.am:
27807         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
27808         (init_popt_callback):
27809         * gst/gst.h:
27810         * gst/gst_private.h:
27811         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
27812         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
27813         * gst/gstbin.h:
27814         * gst/gstbus.h:
27815         * gst/gstconfig.h.in:
27816         * gst/gstelement.c: (gst_element_class_init),
27817         (gst_element_set_base_time), (gst_element_get_base_time),
27818         (iterator_fold_with_resync), (gst_element_change_state),
27819         (gst_element_dispose), (gst_element_get_bus):
27820         * gst/gstelement.h:
27821         * gst/gstelementfactory.h:
27822         * gst/gsterror.c: (_gst_core_errors_init):
27823         * gst/gsterror.h:
27824         * gst/gstevent.h:
27825         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
27826         * gst/gstindex.c:
27827         * gst/gstinfo.c: (_gst_debug_init):
27828         * gst/gstmessage.c: (_gst_message_copy):
27829         * gst/gstmessage.h:
27830         * gst/gstminiobject.h:
27831         * gst/gstobject.c:
27832         * gst/gstobject.h:
27833         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27834         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
27835         * gst/gstpad.h:
27836         * gst/gstparse.h:
27837         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
27838         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
27839         (gst_pipeline_get_last_stream_time):
27840         * gst/gstpipeline.h:
27841         * gst/gstpluginfeature.h:
27842         * gst/gstquery.h:
27843         * gst/gstscheduler.c:
27844         * gst/gstscheduler.h:
27845         * gst/gststructure.h:
27846         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
27847         (gst_task_finalize), (gst_task_func), (gst_task_create),
27848         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
27849         (gst_task_stop), (gst_task_pause):
27850         * gst/gsttask.h:
27851         * gst/gsttypefind.h:
27852         * gst/gsttypes.h:
27853         * gst/registries/gstlibxmlregistry.c: (load_feature),
27854         (gst_xml_registry_load), (gst_xml_registry_save_feature):
27855         * gst/registries/gstxmlregistry.c:
27856         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
27857         * gst/schedulers/threadscheduler.c:
27858         * libs/gst/control/dparammanager.h:
27859         * tools/gst-inspect.c: (print_element_list),
27860         (print_plugin_features), (print_element_features):
27861         * tools/gst-xmlinspect.c: (print_element_list),
27862         (print_plugin_info), (main):
27863         Removed plugable schedulers.
27864         Removed Scheduler/Manager from elements.
27865         Removed gsttypes.h, rearranged includes.
27866         Removed dependency pad<->element, element<>pipeline, and
27867         various others,  fix includes.
27868         implement gst_pad_get_parent() with gst_object_get_parent()
27869         Make GstTask sefcontained.
27870         Fix _get_state() on GstBin, it did not return ASYNC with a 0
27871         timeout.
27872         Fix endless loop in iterator_fold_with_resync.
27873
27874
27875 2005-07-18  Wim Taymans  <wim@fluendo.com>
27876
27877         * gst/Makefile.am:
27878         * gst/gstarch.h:
27879         Remove old file.
27880
27881 2005-07-18  Wim Taymans  <wim@fluendo.com>
27882
27883         * gst/Makefile.am:
27884         No more cothreads.h
27885
27886 2005-07-18  Wim Taymans  <wim@fluendo.com>
27887
27888         * gst/cothreads.c:
27889         * gst/cothreads.h:
27890         Let's remove these.
27891
27892 2005-07-18  Wim Taymans  <wim@fluendo.com>
27893
27894         * docs/design/part-dynamic.txt:
27895         * docs/design/part-events.txt:
27896         * docs/design/part-seeking.txt:
27897         Some more docs in the works.
27898
27899         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27900         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
27901         (gst_base_transform_setcaps), (gst_base_transform_get_size),
27902         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
27903         (gst_base_transform_handle_buffer),
27904         (gst_base_transform_sink_activate_push),
27905         (gst_base_transform_src_activate_pull),
27906         (gst_base_transform_set_passthrough),
27907         (gst_base_transform_is_passthrough):
27908         Refcounting fixes.
27909
27910         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
27911         Cleanups.
27912
27913         * gst/gstevent.c: (gst_event_finalize):
27914         Set SRC to NULL.
27915
27916         * gst/gstutils.c: (gst_element_unlink),
27917         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
27918         (gst_pad_proxy_setcaps):
27919         * gst/gstutils.h:
27920         Add _get_parent_element() to get a pads parent as an element.
27921
27922 2005-07-18  Wim Taymans  <wim@fluendo.com>
27923
27924         * check/gst/gstbin.c: (GST_START_TEST):
27925         Remove bogus test.
27926
27927 2005-07-18  Wim Taymans  <wim@fluendo.com>
27928
27929         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
27930         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
27931         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
27932         (gst_base_sink_event), (gst_base_sink_do_sync),
27933         (gst_base_sink_chain), (gst_base_sink_loop),
27934         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
27935         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
27936         Refcounting fixes.
27937         Fix logic for returning ASYNC when not prerolled.
27938
27939 2005-07-18  Wim Taymans  <wim@fluendo.com>
27940
27941         * gst/gstqueue.c: (gst_queue_handle_sink_event):
27942         Fix nasty refcount bug.
27943
27944 2005-07-16 Philippe Khalaf <burger@speedy.org>
27945
27946         * gst/elements/gstfdsrc.c:
27947         * gst/elements/gstfdsrc.h:
27948         * gst/elements/gstelements.c:
27949         * gst/elements/Makefile.am:
27950         Ported fdsrc to 0.9.
27951
27952 2005-07-16  Wim Taymans  <wim@fluendo.com>
27953
27954         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27955         (gst_base_sink_do_sync):
27956         Fix compile error.
27957
27958 2005-07-16  Wim Taymans  <wim@fluendo.com>
27959
27960         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27961         (gst_base_sink_event), (gst_base_sink_get_times),
27962         (gst_base_sink_do_sync), (gst_base_sink_change_state):
27963         * gst/base/gstbasesink.h:
27964         Store and use discont values when syncing buffers as described
27965         in design docs.
27966         
27967         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
27968         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
27969         (gst_base_src_activate_push):
27970         Push discont event when starting.
27971
27972         * gst/elements/gstidentity.c: (gst_identity_transform):
27973         Small cleanups.
27974
27975         * gst/gstbin.c: (gst_bin_change_state):
27976         Small cleanups in base_time  distribution.
27977
27978         * gst/gstelement.c: (gst_element_set_base_time),
27979         (gst_element_get_base_time), (gst_element_change_state):
27980         * gst/gstelement.h:
27981         Added methods for the base_time of the element.
27982         Some MT fixes.
27983
27984         * gst/gstpipeline.c: (gst_pipeline_send_event),
27985         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
27986         (gst_pipeline_get_last_stream_time):
27987         * gst/gstpipeline.h:
27988         MT fixes.
27989         Handle seeking as described in design doc, remove stream_time
27990         hack.
27991         Cleanups clock and stream_time selection code. Added accessors
27992         for the stream_time.
27993         
27994
27995 2005-07-16  Andy Wingo  <wingo@pobox.com>
27996
27997         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
27998         (#305291).
27999
28000 2005-07-16  Wim Taymans  <wim@fluendo.com>
28001
28002         * check/gst/gstbin.c: (GST_START_TEST):
28003         Make elements silent as the deep_notify refs the
28004         parent, which might make the test fail.
28005
28006         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
28007         Don't hold the lock for too long.
28008
28009 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
28010
28011         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
28012           Don't unref the caps we passed to gst_caps_make_writable() after
28013           passing them. gst_caps_make_writable() will do that for us.
28014
28015 2005-07-15  Andy Wingo  <wingo@pobox.com>
28016
28017         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
28018         (#157311).
28019
28020         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
28021         own marshalling function for the handoff signal. Properly type the
28022         buffer as a buffer. Fixes some warnings. Should do a more general
28023         solution.
28024         (gst_identity_class_init): Plug into the right marshaller.
28025
28026 2005-07-15  Wim Taymans  <wim@fluendo.com>
28027
28028         * docs/design/part-TODO.txt:
28029         * docs/design/part-clocks.txt:
28030         * docs/design/part-element-sink.txt:
28031         * docs/design/part-events.txt:
28032         * docs/design/part-gstpipeline.txt:
28033         Updated docs, mostly DISCONT related.
28034
28035 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
28036
28037         * docs/pwg/building-pads.xml:
28038           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
28039
28040 2005-07-15  Andy Wingo  <wingo@pobox.com>
28041
28042         * tools/gst-typefind.c: Update, add copyright block.
28043
28044         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
28045         Normalize and truncate caps before fixation.
28046
28047         * gst/gstcaps.h:
28048         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
28049         discards all but the first structure from its argument.
28050
28051 2005-07-15  Wim Taymans  <wim@fluendo.com>
28052
28053         * gst/base/gstbasetransform.c: (gst_base_transform_init),
28054         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
28055         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
28056         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
28057         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
28058         (gst_base_transform_chain), (gst_base_transform_change_state),
28059         (gst_base_transform_set_passthrough),
28060         (gst_base_transform_is_passthrough):
28061         * gst/base/gstbasetransform.h:
28062         Make passthrough work using the bufferpools.
28063         Changed API a bit, subclasses have to write into a buffer
28064         provided by the base class.
28065         More debug info in nego functions.
28066         
28067         * gst/elements/gstidentity.c: (gst_identity_init),
28068         (gst_identity_transform):
28069         Port to new base class.
28070
28071 2005-07-15  Wim Taymans  <wim@fluendo.com>
28072
28073         * gst/gstmessage.c: (gst_message_new_state_changed):
28074         * tools/gst-launch.c: (event_loop), (main):
28075         Totally dump messages in -launch with the -m option.
28076         Fix message name for State messages,
28077
28078 2005-07-14  Wim Taymans  <wim@fluendo.com>
28079
28080         * gst/base/gstbasesrc.c: (gst_base_src_loop):
28081         Post error messages on errors.
28082
28083 2005-07-14  Wim Taymans  <wim@fluendo.com>
28084
28085         * gst/gstcaps.c: (gst_caps_do_simplify):
28086         Remove debug info.
28087
28088         * gst/gsterror.h:
28089         Define error for stream stopped.
28090
28091         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28092         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
28093         Do proper return values.
28094
28095         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
28096         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
28097         (gst_pad_get_range):
28098         Better return values.
28099
28100         * gst/gstpad.h:
28101         Reorganise return values, add macro to check for fatal errors.
28102
28103         * gst/gstqueue.c: (gst_queue_chain):
28104         Return proper GstFlowReturn values,
28105
28106 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
28107
28108         * docs/gst/gstreamer-sections.txt:
28109         * docs/gst/gstreamer.types:
28110         * docs/gst/tmpl/gst.sgml:
28111         * docs/gst/tmpl/gstbasesink.sgml:
28112         * docs/gst/tmpl/gstbasesrc.sgml:
28113         * docs/gst/tmpl/gstbasetransform.sgml:
28114         * docs/gst/tmpl/gstbin.sgml:
28115         * docs/gst/tmpl/gstbuffer.sgml:
28116         * docs/gst/tmpl/gstcaps.sgml:
28117         * docs/gst/tmpl/gstclock.sgml:
28118         * docs/gst/tmpl/gstcompat.sgml:
28119         * docs/gst/tmpl/gstconfig.sgml:
28120         * docs/gst/tmpl/gstelement.sgml:
28121         * docs/gst/tmpl/gstelementdetails.sgml:
28122         * docs/gst/tmpl/gstelementfactory.sgml:
28123         * docs/gst/tmpl/gstenumtypes.sgml:
28124         * docs/gst/tmpl/gsterror.sgml:
28125         * docs/gst/tmpl/gstevent.sgml:
28126         * docs/gst/tmpl/gstfakesink.sgml:
28127         * docs/gst/tmpl/gstfakesrc.sgml:
28128         * docs/gst/tmpl/gstfilesink.sgml:
28129         * docs/gst/tmpl/gstfilesrc.sgml:
28130         * docs/gst/tmpl/gstfilter.sgml:
28131         * docs/gst/tmpl/gstformat.sgml:
28132         * docs/gst/tmpl/gstghostpad.sgml:
28133         * docs/gst/tmpl/gstimplementsinterface.sgml:
28134         * docs/gst/tmpl/gstindex.sgml:
28135         * docs/gst/tmpl/gstindexfactory.sgml:
28136         * docs/gst/tmpl/gstinfo.sgml:
28137         * docs/gst/tmpl/gstiterator.sgml:
28138         * docs/gst/tmpl/gstmacros.sgml:
28139         * docs/gst/tmpl/gstmemchunk.sgml:
28140         * docs/gst/tmpl/gstminiobject.sgml:
28141         * docs/gst/tmpl/gstobject.sgml:
28142         * docs/gst/tmpl/gstpad.sgml:
28143         * docs/gst/tmpl/gstpadtemplate.sgml:
28144         * docs/gst/tmpl/gstparse.sgml:
28145         * docs/gst/tmpl/gstpipeline.sgml:
28146         * docs/gst/tmpl/gstplugin.sgml:
28147         * docs/gst/tmpl/gstpluginfeature.sgml:
28148         * docs/gst/tmpl/gstquery.sgml:
28149         * docs/gst/tmpl/gstqueue.sgml:
28150         * docs/gst/tmpl/gstregistry.sgml:
28151         * docs/gst/tmpl/gstregistrypool.sgml:
28152         * docs/gst/tmpl/gstscheduler.sgml:
28153         * docs/gst/tmpl/gstschedulerfactory.sgml:
28154         * docs/gst/tmpl/gststructure.sgml:
28155         * docs/gst/tmpl/gstsystemclock.sgml:
28156         * docs/gst/tmpl/gsttaglist.sgml:
28157         * docs/gst/tmpl/gsttagsetter.sgml:
28158         * docs/gst/tmpl/gsttrace.sgml:
28159         * docs/gst/tmpl/gsttrashstack.sgml:
28160         * docs/gst/tmpl/gsttypefind.sgml:
28161         * docs/gst/tmpl/gsttypefindfactory.sgml:
28162         * docs/gst/tmpl/gsttypes.sgml:
28163         * docs/gst/tmpl/gsturihandler.sgml:
28164         * docs/gst/tmpl/gsturitype.sgml:
28165         * docs/gst/tmpl/gstutils.sgml:
28166         * docs/gst/tmpl/gstvalue.sgml:
28167         * docs/gst/tmpl/gstversion.sgml:
28168         * docs/gst/tmpl/gstxml.sgml:
28169         * docs/libs/tmpl/gstcontrol.sgml:
28170         * docs/libs/tmpl/gstdataprotocol.sgml:
28171         * docs/libs/tmpl/gstdparam.sgml:
28172         * docs/libs/tmpl/gstdplinint.sgml:
28173         * docs/libs/tmpl/gstdpman.sgml:
28174         * docs/libs/tmpl/gstdpsmooth.sgml:
28175         * docs/libs/tmpl/gstgetbits.sgml:
28176         * docs/libs/tmpl/gstunitconvert.sgml:
28177         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
28178         (gst_push_src_base_init), (gst_push_src_class_init),
28179         (gst_push_src_init), (gst_push_src_create):
28180         * gst/base/gstpushsrc.h:
28181         * gst/elements/gstelements.c:
28182         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
28183         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
28184         (gst_fake_sink_init), (gst_fake_sink_set_property),
28185         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
28186         (gst_fake_sink_event), (gst_fake_sink_preroll),
28187         (gst_fake_sink_render), (gst_fake_sink_change_state):
28188         * gst/elements/gstfakesink.h:
28189         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
28190         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
28191         (gst_fake_src_base_init), (gst_fake_src_class_init),
28192         (gst_fake_src_init), (gst_fake_src_event_handler),
28193         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
28194         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
28195         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
28196         (gst_fake_src_create_buffer), (gst_fake_src_create),
28197         (gst_fake_src_start), (gst_fake_src_stop):
28198         * gst/elements/gstfakesrc.h:
28199         * gst/elements/gstfilesink.c: (_do_init),
28200         (gst_file_sink_base_init), (gst_file_sink_class_init),
28201         (gst_file_sink_init), (gst_file_sink_dispose),
28202         (gst_file_sink_set_location), (gst_file_sink_set_property),
28203         (gst_file_sink_get_property), (gst_file_sink_open_file),
28204         (gst_file_sink_close_file), (gst_file_sink_query),
28205         (gst_file_sink_event), (gst_file_sink_render),
28206         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
28207         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
28208         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
28209         * gst/elements/gstfilesink.h:
28210         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
28211         (gst_file_src_class_init), (gst_file_src_init),
28212         (gst_file_src_finalize), (gst_file_src_set_location),
28213         (gst_file_src_set_property), (gst_file_src_get_property),
28214         (gst_file_src_map_region), (gst_file_src_map_small_region),
28215         (gst_file_src_create_mmap), (gst_file_src_create_read),
28216         (gst_file_src_create), (gst_file_src_is_seekable),
28217         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
28218         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
28219         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
28220         (gst_file_src_uri_handler_init):
28221         * gst/elements/gstfilesrc.h:
28222           more autistic cleanliness in functions/names/defines
28223
28224 2005-07-13  Andy Wingo  <wingo@pobox.com>
28225
28226         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
28227         source couldn't negotiate.
28228
28229         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
28230         connections again.
28231
28232         * gst/gstutils.h:
28233         * gst/gstutils.c (gst_element_link_pads_filtered): New old
28234         function. I am channeling Hades. Put your boots on suckers!!!
28235
28236 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
28237
28238         * testsuite/caps/Makefile.am:
28239         * testsuite/caps/value_compare.c:
28240         * testsuite/caps/value_intersect.c:
28241         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
28242           move two testsuite apps over to the check dir
28243
28244 2005-07-12  Wim Taymans  <wim@fluendo.com>
28245
28246         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
28247         Added more debug info in the negotiate process.
28248
28249         * gst/gstmessage.h:
28250         Prepare for segment playback.
28251
28252         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
28253         Better debugging.
28254
28255         * gst/gstutils.c:
28256         Some more docs.
28257
28258         * tools/gst-launch.c: (main):
28259         NULL pipeline on errors.
28260
28261 2005-07-12  Andy Wingo  <wingo@pobox.com>
28262
28263         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
28264         not it comes from a malloc region. Make sure our copy gets freed.
28265
28266 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
28267
28268         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
28269         * check/gst/gstmessage.c: (GST_START_TEST):
28270         * check/gst/gststructure.c: (GST_START_TEST),
28271         (gst_structure_suite), (main):
28272           more testing
28273         * gst/gstelement.c: (gst_element_message_full):
28274           clean up GError and debug string now that they get copied
28275         * gst/gstmessage.c: (gst_message_new_error),
28276         (gst_message_new_warning), (gst_message_parse_error),
28277         (gst_message_parse_warning):
28278           use GST_TYPE_G_ERROR for structure_new, and take copies of
28279           arguments, so that we don't mess up refcounting
28280
28281 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
28282
28283         * check/Makefile.am:
28284           add per-test valgrind targets
28285         * check/gst-libs/gdp.c: (GST_START_TEST),
28286         (gst_data_protocol_suite), (main):
28287           clean up
28288
28289 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
28290
28291         * check/Makefile.am:
28292           instate more valgrindable tests
28293         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28294         (GST_START_TEST), (fakesrc_suite):
28295         * check/gst/gstpad.c: (GST_START_TEST):
28296         * check/gst/gststructure.c: (GST_START_TEST):
28297           fix test leaks
28298         * docs/gst/tmpl/gstminiobject.sgml:
28299         * gst/gstpad.c: (gst_pad_finalize):
28300           fix the static mutex leak
28301
28302 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28303
28304         * check/Makefile.am:
28305           add two more tests for valgrinding
28306         * check/gst/gstvalue.c: (GST_START_TEST):
28307           test refcount of deserialized buffer, found a leak
28308         * docs/gst/gstreamer-docs.sgml:
28309         * docs/gst/gstreamer-sections.txt:
28310         * docs/gst/gstreamer.types:
28311         * docs/gst/tmpl/gstminiobject.sgml:
28312           add miniobject to docs
28313         * gst/gstminiobject.c:
28314           add some docs
28315         * gst/gstvalue.c: (gst_value_deserialize_buffer),
28316         (gst_string_unwrap):
28317           fix a hard-to-find invalid write for one of the tests
28318           fix a leak for deserialized buffers
28319
28320 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28321
28322         * docs/pwg/advanced-events.xml:
28323         * docs/pwg/advanced-request.xml:
28324         * docs/pwg/advanced-scheduling.xml:
28325         * docs/pwg/appendix-porting.xml:
28326         * docs/pwg/building-boiler.xml:
28327         * docs/pwg/intro-preface.xml:
28328         * docs/pwg/other-ntoone.xml:
28329           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
28330           of example code and explanation for pad activation, loop() and
28331           getrange() functions and a bit more. Remove old comments pointing
28332           to loop-functions.
28333         * examples/pwg/Makefile.am:
28334           Add loop/getrange examples.
28335
28336 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28337
28338         * configure.ac:
28339           check for valgrind binary + some fixes
28340         * check/gst.supp:
28341           valgrind suppressions for the tests
28342         * check/Makefile.am:
28343           add a valgrind: target that valgrinds the unit tests
28344         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
28345         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
28346         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28347         * check/gst/gstghostpad.c:
28348           added some cleanup
28349         * check/gst/gstdata.c:
28350           removed
28351         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
28352         (thread_unref), (gst_mini_object_suite), (main):
28353           added
28354         * gst/gst.c: (gst_deinit):
28355         * gst/gst.h:
28356           add a method to clean up.
28357         * gst/gstsystemclock.c: (gst_system_clock_dispose),
28358         (gst_system_clock_obtain):
28359           allow for disposing the system clock.
28360         * tools/gst-launch.c: (main):
28361           deinit
28362
28363 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28364
28365         * docs/gst/tmpl/gstbasesrc.sgml:
28366         * docs/gst/tmpl/gstfakesrc.sgml:
28367         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28368         (gst_base_src_init), (gst_base_src_set_property),
28369         (gst_base_src_get_property), (gst_base_src_get_range),
28370         (gst_base_src_start):
28371         * gst/base/gstbasesrc.h:
28372           add num-buffers property
28373         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28374         (gst_fakesrc_init), (gst_fakesrc_set_property),
28375         (gst_fakesrc_get_property), (gst_fakesrc_create),
28376         (gst_fakesrc_start):
28377           remove num-buffers property
28378
28379 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28380
28381         * docs/gst/gstreamer-sections.txt:
28382         * docs/gst/tmpl/gstbasesink.sgml:
28383         * docs/gst/tmpl/gstbasesrc.sgml:
28384         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
28385         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
28386         (gst_base_sink_finalize), (gst_base_sink_set_clock),
28387         (gst_base_sink_set_property), (gst_base_sink_get_property),
28388         (gst_base_sink_handle_object), (gst_base_sink_event),
28389         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
28390         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
28391         (gst_base_sink_loop), (gst_base_sink_deactivate),
28392         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
28393         (gst_base_sink_change_state):
28394         * gst/base/gstbasesink.h:
28395         * gst/base/gstbasesrc.h:
28396         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
28397         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
28398         (gst_filesink_init):
28399           more macro splitting
28400
28401 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28402
28403         * gst/gstelement.c: (gst_element_get_bus):
28404           add debug
28405         * tools/gst-launch.c: (check_intr), (event_loop):
28406           fix bus leaks
28407
28408 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28409
28410         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
28411           fix a caps leak
28412
28413 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28414
28415         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28416         (gst_base_src_finalize):
28417           add finalize method and clean up properly
28418         * gst/gstpipeline.c: (gst_pipeline_dispose):
28419           add debug
28420
28421 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28422
28423         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
28424         (gst_bin_suite):
28425           add more things to check
28426         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
28427         * gst/gstelement.c:
28428           more debug
28429
28430 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28431
28432         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28433         (GST_START_TEST), (fakesrc_suite):
28434         * check/gst-libs/gdp.c: (GST_START_TEST):
28435         * check/gst/gst.c: (GST_START_TEST):
28436         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
28437         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28438         * check/gst/gstbus.c: (GST_START_TEST):
28439         * check/gst/gstcaps.c: (GST_START_TEST):
28440         * check/gst/gstdata.c: (GST_START_TEST):
28441         * check/gst/gstelement.c: (GST_START_TEST):
28442         * check/gst/gstghostpad.c: (GST_START_TEST):
28443         * check/gst/gstiterator.c: (GST_START_TEST):
28444         * check/gst/gstmessage.c: (GST_START_TEST):
28445         * check/gst/gstobject.c: (GST_START_TEST):
28446         * check/gst/gstpad.c: (GST_START_TEST):
28447         * check/gst/gststructure.c: (GST_START_TEST):
28448         * check/gst/gstsystemclock.c: (GST_START_TEST),
28449         (gst_systemclock_suite):
28450         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
28451         * check/gst/gstvalue.c: (GST_START_TEST):
28452         * check/pipelines/cleanup.c: (GST_START_TEST):
28453         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
28454         * check/states/sinks.c: (GST_START_TEST):
28455         * check/gstcheck.c: (gst_check_init):
28456         * check/gstcheck.h:
28457           add debugging category
28458           use GST_START_TEST now, so we add a debug line
28459
28460 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28461
28462         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
28463           add test for state change message on a bin
28464         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
28465           add another test
28466         * gst/gstbin.c: (gst_bin_init):
28467         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
28468         * gst/gstelement.c: (gst_element_post_message),
28469         (gst_element_set_state):
28470         * gst/gstelementfactory.c: (gst_element_factory_create):
28471         * gst/gstmessage.c: (gst_message_new):
28472         * gst/gstscheduler.c:
28473           various debugging additions and cleanups
28474
28475 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28476
28477         * check/Makefile.am:
28478         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
28479         (main):
28480           adding tests for elements
28481         * gst/gstelement.c: (gst_element_dispose):
28482
28483 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28484
28485         * gst/registries/gstlibxmlregistry.c: (load_feature):
28486           plug more leaks.  A simple gst_init() now is leakfree, yay.
28487
28488 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28489
28490         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
28491         (gst_xml_registry_load):
28492           plug another memleak
28493
28494 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28495
28496         * configure.ac:
28497           use GST_SET_ERROR_CFLAGS
28498         * docs/faq/cvs.xml:
28499           change to ERROR_CFLAGS
28500
28501 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28502
28503         * configure.ac:
28504           make GST_ERROR_CFLAGS overridable and re-enable Werror
28505         * docs/faq/cvs.xml:
28506           add a note about error CFLAGS
28507         * docs/gst/tmpl/gstfakesrc.sgml:
28508         * gst/elements/gstfakesrc.c:
28509           comment out some unused code
28510         * gst/gst.c: (split_and_iterate):
28511         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
28512         (load_feature):
28513           plug some memleaks
28514
28515 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
28516
28517         * common/Makefile.am:
28518         * common/gtk-doc.mak:
28519         * docs/gst/Makefile.am:
28520           factor out gtk-doc.mak
28521
28522 2005-07-07  Wim Taymans  <wim@fluendo.com>
28523
28524         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
28525         (gst_thread_scheduler_dispose):
28526         Unlock the STREAM_LOCK completely.
28527
28528 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
28529
28530         * check/Makefile.am:
28531         * check/elements/.cvsignore:
28532         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28533         (START_TEST), (fakesrc_suite), (main):
28534         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28535         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
28536         (gst_fakesrc_create), (gst_fakesrc_start):
28537         * gst/elements/gstfakesrc.h:
28538           adding a first element test
28539
28540 2005-07-07  Andy Wingo  <wingo@pobox.com>
28541
28542         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
28543         debug message.
28544
28545 2005-07-07  Wim Taymans  <wim@fluendo.com>
28546
28547         * gst/gstquery.c:
28548         * gst/gstquery.h:
28549         Remove old types
28550
28551 2005-07-07  Wim Taymans  <wim@fluendo.com>
28552
28553         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
28554         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
28555         Allow subclasses to implement their own negotiation.
28556
28557 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28558
28559         * docs/design/part-gstbin.txt:
28560         * docs/design/part-gstpipeline.txt:
28561           Update design notes to reflect the movement of
28562           responsibility for bus handling from GstPipeline to
28563           GstBin
28564
28565 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28566
28567         * configure.ac:
28568           Remove unnecessary queue2/3/4 examples.
28569
28570 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28571
28572         * examples/Makefile.am:
28573         * examples/helloworld/helloworld.c: (event_loop), (main):
28574         * examples/queue/queue.c: (event_loop), (main):
28575         * examples/queue2/queue2.c: (main):
28576           Update a couple of the examples to work again.
28577
28578         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28579         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
28580          Spelling corrections and extra debug.
28581         
28582         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
28583         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
28584         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
28585         * gst/gstbin.h:
28586         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
28587         (gst_pipeline_change_state):
28588         * gst/gstpipeline.h:
28589           Move the bus handler for children to the GstBin, and create a
28590           separate bus for receiving messages from children to the one the
28591           bus sends 'upwards' on.
28592
28593 2005-07-06  Wim Taymans  <wim@fluendo.com>
28594
28595         * gst/base/README:
28596         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28597         (gst_base_sink_handle_object), (gst_base_sink_loop),
28598         (gst_base_sink_change_state):
28599         * gst/base/gstbasesink.h:
28600         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28601         (gst_base_src_init), (gst_base_src_setcaps),
28602         (gst_base_src_getcaps), (gst_base_src_loop),
28603         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
28604         (gst_base_src_start), (gst_base_src_change_state):
28605         * gst/base/gstbasesrc.h:
28606         Make basesrc negotiate.
28607         Handle the case where preroll fails in basesink.
28608         Update README.
28609
28610 2005-07-06  Wim Taymans  <wim@fluendo.com>
28611
28612         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
28613         Implement the fixate function.
28614         Clean up acceptcaps.
28615
28616 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28617
28618         * docs/pwg/building-filterfactory.xml:
28619         * docs/pwg/pwg.xml:
28620           Remove never-written filter-factory chapter; I'll add the various
28621           base classes to part 4 ("other element types") later on.
28622
28623 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28624
28625         * docs/pwg/advanced-negotiation.xml:
28626         * docs/pwg/building-boiler.xml:
28627         * docs/pwg/building-pads.xml:
28628         * docs/pwg/pwg.xml:
28629         * examples/pwg/Makefile.am:
28630           Add a chapter on caps negotiation, simplify the original code
28631           samples a bit w.r.t. caps negotiation, add link to the advanced
28632           section. Add a bunch of examples showing different use cases of
28633           different types of caps negotiation. Upstream renegotiation isn't
28634           fully documented yet since nobody knows how that works.
28635
28636 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
28637
28638         * check/gst/gstpad.c:
28639         * check/gstcheck.c:
28640         * gst/gstpad.c: (gst_pad_get_internal_links_default):
28641           if pad has no parent, return NULL as list of internal links
28642
28643 2005-07-05  Andy Wingo  <wingo@pobox.com>
28644
28645         * gst/elements/gstfilesrc.c:
28646         * gst/elements/gstfakesrc.c: 
28647         * gst/base/gstpushsrc.c:
28648         * gst/base/gstbasesrc.h: 
28649         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
28650         
28651 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
28652
28653         * Makefile.am:
28654           better report generation target (lcov needs a patch)
28655
28656 2005-07-05  Andy Wingo  <wingo@pobox.com>
28657
28658         * gst/elements, testsuite: Null if we got it...
28659
28660 2005-07-05  Wim Taymans  <wim@fluendo.com>
28661
28662         * configure.ac:
28663         * libs/gst/dataprotocol/Makefile.am:
28664         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
28665         * libs/gst/dataprotocol/dataprotocol.h:
28666         * pkgconfig/Makefile.am:
28667         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
28668         * pkgconfig/gstreamer-dataprotocol.pc.in:
28669         Ported dataprotol to 0.9. 
28670         Added pkgconfig files.
28671
28672 2005-07-05  Andy Wingo  <wingo@pobox.com>
28673
28674         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
28675         Default to returning TRUE for the case when tranform_caps returns
28676         a fixed caps, like for identity or volume.
28677
28678         * check/gst/gstbus.c (pound_bus_with_messages): 
28679         * check/gst/gstmessage.c (START_TEST): 
28680         * check/pipelines/simple_launch_lines.c (got_handoff): Application
28681         message API change.
28682
28683         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
28684         logic weaks here: always run transform_caps, trying passthrough
28685         operation only if the original caps intersects with the transform.
28686
28687         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
28688         source and sink caps.
28689
28690         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
28691         Intersect the peer caps with the pad template before going into
28692         transform_caps.
28693         (gst_base_transform_transform_caps): More debugging.
28694
28695         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
28696         src argument.
28697
28698 2005-07-04  Edward Hervey  <edward@fluendo.com>
28699
28700         * gst/gstutils.c:
28701         * gst/gstutils.h:
28702         (gst_pad_add_*_probe): now returns the signal id for better wrapping
28703         in bindings.
28704
28705 2005-07-04  Andy Wingo  <wingo@pobox.com>
28706
28707         * check/gst/gstpad.c: Only set explicit caps on pads.
28708
28709 2005-07-01  Andy Wingo  <wingo@pobox.com>
28710
28711         * tests/network-clock.scm: Commentary update.
28712
28713         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
28714         Didn't really make sense, not implementable with basetransform,
28715         etc.
28716         (gst_identity_transform): Unref inbuf via make_writable. Feeble
28717         attempt at implementing the sync property, needs an unlock method.
28718
28719         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
28720         New func, by default returns the same caps (the identity
28721         transformation).
28722         (gst_base_transform_getcaps): Uses transform_caps to return
28723         something sensible.
28724         (gst_base_transform_setcaps): Complicated logic to get caps on
28725         both pads, even if they are different, and to call set_caps once
28726         for every time both pads get their caps set.
28727         (gst_base_transform_handle_buffer): Give the ref to the transform
28728         function. Allows in-place modification of the buffer.
28729
28730         * gst/base/gstbasetransform.h (transform_caps): New class method.
28731         Given caps on one side, what can I do on the other.
28732         (set_caps): Take two caps, one for each side of the element.
28733
28734         * gst/gstpad.h:
28735         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
28736         caps in place. This is safe because we can check the mutability of
28737         the caps, and a good idea because fixate functions are just called
28738         as a matter of last resort. (Not actually implemented.)
28739         (gst_pad_set_caps): If the caps we're setting is actually the same
28740         as the existing pad caps, just update the pointer without calling
28741         setcaps. Assert that caps is either NULL or fixed, as per the
28742         docs.
28743
28744         * gst/gstghostpad.c: Update for fixate changes.
28745
28746 2005-07-02  Andy Wingo  <wingo@pobox.com>
28747
28748         * gst/gstcaps.c:
28749         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
28750         two refcounts makes it immutable, which is enough. Doc more.
28751
28752 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
28753
28754         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
28755           Put the mini_object into GValue as a mini_object,
28756           not a gpointer, since that's how we declared
28757           the signal.
28758
28759 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28760
28761         * examples/pwg/Makefile.am:
28762           Fix buildbot again.
28763
28764 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28765
28766         * docs/pwg/building-testapp.xml:
28767           Add extra check.
28768         * examples/pwg/Makefile.am:
28769           Fix buildbot.
28770
28771 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28772
28773         * configure.ac:
28774         * examples/Makefile.am:
28775         * examples/pwg/Makefile.am:
28776         * examples/pwg/extract.pl:
28777           Enable building the PWG examples.
28778         * docs/pwg/advanced-interfaces.xml:
28779           Add URI interface stub.
28780         * docs/pwg/advanced-types.xml:
28781         * docs/pwg/other-autoplugger.xml:
28782         * docs/pwg/appendix-porting.xml:
28783         * docs/pwg/pwg.xml:
28784           Add porting guide (mostly stubs), remove autoplugging (see ADM).
28785         * docs/pwg/building-boiler.xml:
28786         * docs/pwg/building-chainfn.xml:
28787         * docs/pwg/building-pads.xml:
28788         * docs/pwg/building-props.xml:
28789         * docs/pwg/building-state.xml:
28790         * docs/pwg/building-testapp.xml:
28791           Update the building-*.xml parts for 0.9 changes. All examples
28792           code blocks compile in examples/pwg/*.
28793
28794 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28795
28796         * docs/manual/advanced-autoplugging.xml:
28797         * docs/manual/appendix-checklist.xml:
28798         * docs/manual/appendix-integration.xml:
28799         * docs/manual/highlevel-components.xml:
28800           Fix playbin/decodebin examples, update docs a bit, mention bus
28801           instead of signals in various places, mention kmplayer and
28802           kaffeine since they have a working GStreamer backend in the KDE
28803           section.
28804
28805 2005-06-30  Wim Taymans  <wim@fluendo.com>
28806
28807         * CHANGES-0.9:
28808         * docs/design/draft-ghostpads.txt:
28809         * docs/design/draft-push-pull.txt:
28810         * docs/design/draft-query.txt:
28811         * docs/design/part-TODO.txt:
28812         * docs/design/part-query.txt:
28813         Added CHANGES-0.9 doc, updated status of other docs.
28814         
28815         * gst/gstquery.h:
28816         Remove "hmm" macro
28817
28818 2005-06-30  Wim Taymans  <wim@fluendo.com>
28819
28820         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28821         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
28822         (gst_base_sink_change_state):
28823         * gst/base/gstbasesink.h:
28824         Some tweaks, only EOS and a buffer complete a preroll.
28825
28826 2005-06-30  Andy Wingo  <wingo@pobox.com>
28827
28828         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
28829         activate_push down to the internal pad as well.
28830
28831 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
28832
28833         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28834
28835         * gst/gsttaginterface.c:
28836           Some documentation fixes (#307394 and #307397).
28837
28838 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
28839
28840         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28841
28842         * gst/gstvalue.c: (gst_value_intersect_list):
28843           Fix memleak (#309125).
28844
28845 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28846
28847         * docs/manual/advanced-dataaccess.xml:
28848           Fix fakesrc example to compile; doesn't work, bug somewhere...?
28849         * docs/manual/basics-pads.xml:
28850           Add reference for filtered caps to above chapter.
28851
28852 2005-06-30  Wim Taymans  <wim@fluendo.com>
28853
28854         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
28855         (gst_bin_change_state):
28856         Probes are gone.
28857         Lame attempt at making the state change function a bit
28858         more readable.
28859
28860 2005-06-30  Wim Taymans  <wim@fluendo.com>
28861
28862         * docs/design/part-clocks.txt:
28863         * docs/design/part-element-sink.txt:
28864         * docs/design/part-events.txt:
28865         * docs/design/part-preroll.txt:
28866         * docs/design/part-states.txt:
28867         Some more tweeks and additions to the docs.
28868
28869 2005-06-30  Wim Taymans  <wim@fluendo.com>
28870
28871         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28872         (default_have_data), (gst_pad_class_init), (gst_pad_init),
28873         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
28874         (gst_pad_check_pull_range), (gst_pad_get_range),
28875         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
28876         * gst/gstpad.h:
28877         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
28878         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
28879         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
28880         (gst_pad_remove_buffer_probe):
28881         Removed atomic operations, use existing LOCK.
28882         Move exception handling out of main code path.
28883
28884 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28885
28886         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28887         (silly_return_true_function), (gst_pad_class_init),
28888         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
28889         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
28890         (gst_pad_send_event):
28891           Fix accumulator, add default value by using _emitv() instead
28892           of _emit() for signal emission.
28893
28894 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28895
28896         * docs/manual/advanced-dataaccess.xml:
28897         * examples/manual/Makefile.am:
28898           Add probe example.
28899         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
28900           Make work (??).
28901
28902 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
28903
28904         * gst/elements/gstfilesink.c: (gst_filesink_render):
28905           Simplify code so that we don't have to handle short
28906           writes and return GST_FLOW_ERROR if an error occured.
28907
28908 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28909
28910         * docs/gst/gstreamer-docs.sgml:
28911           Remove probes more.
28912
28913 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28914
28915         * docs/gst/gstreamer-sections.txt:
28916         * docs/gst/tmpl/gstpad.sgml:
28917         * docs/gst/tmpl/gstprobe.sgml:
28918         * gst/Makefile.am:
28919         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28920         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
28921         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
28922         (gst_pad_push_event), (gst_pad_send_event):
28923         * gst/gstpad.h:
28924         * gst/gstutils.c: (gst_pad_add_data_probe),
28925         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
28926         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
28927         (gst_pad_remove_buffer_probe):
28928         * gst/gstutils.h:
28929           Remove old probes, add new g-signal-based probes and some utility
28930           functions.
28931
28932 2005-06-29  Edward Hervey  <edward@fluendo.com>
28933
28934         * gst/gstelementfactory.c:
28935         * gst/gstutils.h:
28936         * gst/gstutils.c:
28937         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
28938         the definition to the header file.
28939
28940 2005-06-29  Andy Wingo  <wingo@pobox.com>
28941
28942         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
28943         plugins from the source directory.
28944
28945 2005-06-29  Wim Taymans  <wim@fluendo.com>
28946
28947         * docs/gst/tmpl/gstbuffer.sgml:
28948         * docs/gst/tmpl/gstclock.sgml:
28949         Some fixings for blantently wrong text.
28950
28951 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
28952
28953         * check/Makefile.am:
28954         * gst/gst.c: (add_path_func), (init_pre):
28955         * gst/gstregistry.c: (gst_registry_add_path):
28956           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
28957           only scan the GST_PLUGIN_PATH locations, and not add
28958           system locations
28959
28960 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
28961
28962         * docs/gst/gstreamer-sections.txt:
28963         * docs/gst/tmpl/gstbasesrc.sgml:
28964         * gst/gstelement.c:
28965         * gst/gstelement.h:
28966         * gst/gstevent.c:
28967         * gst/gstutils.c:
28968           doc fixes
28969
28970 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28971
28972         * docs/manual/advanced-autoplugging.xml:
28973           Fix autoplugging example.
28974
28975 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28976
28977         * docs/manual/advanced-autoplugging.xml:
28978         * docs/manual/mime-world.fig:
28979           Try to get autoplugging working, fix type detection. Fix text
28980           in hello-world image.
28981
28982 2005-06-29  Wim Taymans  <wim@fluendo.com>
28983
28984         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
28985         (gst_base_sink_change_state):
28986         Small debug line.
28987
28988         * gst/gstclock.h:
28989         map SIGNAL and BROADCAST to the right function.
28990
28991         * gst/gstobject.h:
28992         Remove redundant braces.
28993
28994         * gst/gstpad.c: (gst_pad_set_caps):
28995         Don't call setcaps function when reseting caps to NULL.
28996
28997         * gst/gstsystemclock.c: (gst_system_clock_dispose),
28998         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
28999         (gst_system_clock_id_unschedule):
29000         Use BROADCAST as this is what we do.
29001
29002 2005-06-29  Wim Taymans  <wim@fluendo.com>
29003
29004         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
29005         We are actually prerolling before commiting the state
29006         change. 
29007
29008 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29009
29010         * docs/manual/advanced-clocks.xml:
29011         * docs/manual/advanced-interfaces.xml:
29012         * docs/manual/advanced-metadata.xml:
29013         * docs/manual/advanced-position.xml:
29014         * docs/manual/advanced-schedulers.xml:
29015         * docs/manual/advanced-threads.xml:
29016         * docs/manual/appendix-porting.xml:
29017         * docs/manual/basics-bins.xml:
29018         * docs/manual/basics-bus.xml:
29019         * docs/manual/basics-elements.xml:
29020         * docs/manual/basics-helloworld.xml:
29021         * docs/manual/basics-pads.xml:
29022         * docs/manual/highlevel-components.xml:
29023         * docs/manual/manual.xml:
29024         * docs/manual/thread.fig:
29025           Update (until threads/scheduling) Application Development Manual;
29026           remove GstThread, add GstBus, add simple porting checklist, add
29027           documentation for tag writing, clocks, make all examples until this
29028           part compile and run.
29029         * examples/manual/Makefile.am:
29030           Update from changes to Application Development Manual; add bus
29031           example, remove thread example.
29032
29033 2005-06-28  Wim Taymans  <wim@fluendo.com>
29034
29035         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
29036         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
29037         (gst_bus_source_dispatch):
29038         Add debugging messages.
29039         Make internal methods static.
29040         Handle the case where the bus is flushed in the handler.
29041         
29042         * gst/gstelement.c: (gst_element_get_bus):
29043         Fix refcount in _get_bus();
29044
29045         * gst/gstpipeline.c: (gst_pipeline_change_state),
29046         (gst_pipeline_get_clock_func):
29047         Clock refcounting fixes.
29048         Handle the case where preroll timed out more gracefully.
29049         
29050         * gst/gstsystemclock.c: (gst_system_clock_dispose):
29051         Clean up the internal thread in dispose. This is needed
29052         for subclasses that actually get disposed.
29053         
29054         * gst/schedulers/threadscheduler.c:
29055         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
29056         (gst_thread_scheduler_dispose):
29057         Free thread pool in dispose.
29058
29059 2005-06-28  Andy Wingo  <wingo@pobox.com>
29060
29061         * tests/network-clock-utils.scm (debug, print-event): New utils.
29062
29063         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
29064         (*packet-loss*): Unified loss probability.
29065         (network-time): Report out-of-band events.
29066
29067         * tests/plot-data: Add support for out-of-band events. Hack it
29068         into this script instead of passing it down the pipe; should fix
29069         this later.
29070
29071 2005-06-28  Wim Taymans  <wim@fluendo.com>
29072
29073         * docs/gst/gstreamer.types:
29074         * docs/gst/tmpl/gstbasesrc.sgml:
29075         * docs/gst/tmpl/gstpad.sgml:
29076         Docs fixes.
29077
29078 2005-06-28  Wim Taymans  <wim@fluendo.com>
29079
29080         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29081         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
29082         (gst_proxy_pad_do_fixatecaps):
29083         Correctly proxy the check_pull_range function.
29084
29085 2005-06-28  Andy Wingo  <wingo@pobox.com>
29086
29087         * tests/network-clock.scm: Removed need for slib.
29088         
29089 2005-06-28  Wim Taymans  <wim@fluendo.com>
29090
29091         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
29092         (gst_basesink_preroll_queue_flush):
29093         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
29094         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
29095         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29096         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
29097         (gst_proxy_pad_set_property):
29098         * gst/gstpad.c:
29099         * gst/gstpad.h:
29100         * gst/gstqueue.c: (gst_queue_init):
29101         The deprecated pad loop function is removed now.
29102
29103 2005-06-28  Andy Wingo  <wingo@pobox.com>
29104
29105         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
29106         New parameters, simulate network packet loss.
29107
29108         * tests/network-clock-utils.scm: Initialize the RNG.
29109
29110 2005-06-28  Wim Taymans  <wim@fluendo.com>
29111
29112         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
29113         (gst_basesink_event), (gst_basesink_deactivate):
29114         Flushing the preroll queue always needs to unlock the waiters.
29115
29116 2005-06-28  Edward Hervey  <edward@fluendo.com>
29117
29118         * gst/gstpipeline.c: (gst_pipeline_send_event): 
29119         Wheen a seek was successful on a pipeline, set the stream_time to the
29120         seek offset in order to have a synchronized stream_time.
29121
29122 2005-06-28  Wim Taymans  <wim@fluendo.com>
29123
29124         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29125         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
29126         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
29127         (gst_proxy_pad_do_fixatecaps):
29128         Call wrapper function instead of just calling the function
29129         pointers. This takes care of any locking and whatmore.
29130
29131 2005-06-28  Wim Taymans  <wim@fluendo.com>
29132
29133         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
29134         (gst_pad_pull_range):
29135         * gst/gstpad.h:
29136         CONNECTED -> LINKED.
29137
29138 2005-06-28  Andy Wingo  <wingo@pobox.com>
29139
29140         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
29141         source-munging commit!!!
29142
29143         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
29144         (gst_object_sink): Take gpointer arguments, not GstObject --
29145         avoids casts. Like GLib.
29146
29147         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
29148         activate.
29149
29150 2005-06-27  Andy Wingo  <wingo@pobox.com>
29151
29152         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
29153         remaining buffer.
29154
29155         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
29156         returns a sorted copy of the trace list.
29157         (gst_alloc_trace_print_live): New API, only prints traces with
29158         live objects. Sort the list.
29159         (gst_alloc_trace_print_all): Sort the list.
29160         (gst_alloc_trace_print): Align columns.
29161
29162         * gst/elements/gstttypefindelement.c:
29163         * gst/elements/gsttee.c:
29164         * gst/base/gstbasesrc.c:
29165         * gst/base/gstbasesink.c:
29166         * gst/base/gstbasetransform.c:
29167         * gst/gstqueue.c: Adapt for pad activation changes.
29168
29169         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
29170         sched.
29171         (gst_pipeline_dispose): Drop ref on sched.
29172
29173         * gst/gstpad.c (gst_pad_init): Set the default activate func.
29174         (gst_pad_activate_default): Push mode by default.
29175         (pre_activate_switch, post_activate_switch): New stubs, things to
29176         do before and after switching activation modes on pads.
29177         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
29178         the pad's activate function to choose which mode to activate.
29179         Shortcut on deactivation and call the right function directly.
29180         (gst_pad_activate_pull): New API, (de)activates a pad in pull
29181         mode.
29182         (gst_pad_activate_push): New API, same for push mode.
29183         (gst_pad_set_activate_function) 
29184         (gst_pad_set_activatepull_function) 
29185         (gst_pad_set_activatepush_function): Setters for new API.
29186
29187         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
29188         Trace all miniobjects.
29189         (gst_mini_object_make_writable): Unref the arg if we copy, like
29190         gst_caps_make_writable.
29191
29192         * gst/gstmessage.c (_gst_message_initialize): No trace init.
29193
29194         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
29195         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
29196         Adapt for new pad API.
29197
29198         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
29199
29200         * gst/gstelement.h:
29201         * gst/gstelement.c (gst_element_iterate_src_pads) 
29202         (gst_element_iterate_sink_pads): New API functions.
29203         
29204         * gst/gstelement.c (iterator_fold_with_resync): New utility,
29205         should fold into gstiterator.c in some form.
29206         (gst_element_pads_activate): Simplified via use of fold and
29207         delegation of decisions to gstpad->activate.
29208
29209         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
29210         help in debugging.
29211
29212         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
29213         class once in init, like gstmessage. Didn't run into this issue
29214         but it seems correct. Don't initialize a trace, gstminiobject does
29215         that.
29216
29217         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
29218         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
29219         to the bus.
29220         (assert_live_count): New util function, uses alloc traces to check
29221         cleanup.
29222
29223         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
29224         To be modified when unlink drops the internal pad.
29225
29226 2005-06-27  Wim Taymans  <wim@fluendo.com>
29227
29228         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
29229         (gst_bin_change_state):
29230         Cleanup the get_state() function a little, make sure it
29231         iterates the same set of elements.
29232         Added stub iterate_state_order().
29233
29234 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
29235
29236         * docs/gst/gstreamer-docs.sgml:
29237         * docs/gst/gstreamer-sections.txt:
29238         * docs/gst/gstreamer.types:
29239         * docs/gst/tmpl/gstbasesink.sgml:
29240         * docs/gst/tmpl/gstbasesrc.sgml:
29241         * docs/gst/tmpl/gstbasetransform.sgml:
29242         * docs/gst/tmpl/gstelement.sgml:
29243         * docs/gst/tmpl/gstiterator.sgml:
29244         * gst/base/gstbasesrc.c:
29245         * gst/base/gstbasesrc.h:
29246         * gst/base/gstbasetransform.h:
29247         * gst/gstelement.c:
29248         * gst/gstiterator.h:
29249           adding basetransform and iterator docs
29250
29251 2005-06-27  Andy Wingo  <wingo@pobox.com>
29252
29253         * docs/design/part-activation.txt: Notes on how activation should
29254         work -- not quite implemented yet.
29255
29256 2005-06-25  Wim Taymans  <wim@fluendo.com>
29257
29258         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
29259         At least get the chain function correct, needs more
29260         fixing.
29261
29262 2005-06-25  Wim Taymans  <wim@fluendo.com>
29263
29264         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29265         (gst_basesink_handle_object), (gst_basesink_event),
29266         (gst_basesink_do_sync), (gst_basesink_handle_event),
29267         (gst_basesink_change_state):
29268         * gst/gsttask.h:
29269         Right, two problems here: ghostpads don't take locks and
29270         glib _rec_mutex_lock_full() with depth==0 still locks.
29271         Catch illegal locking and g_warn them.
29272
29273 2005-06-25  Wim Taymans  <wim@fluendo.com>
29274
29275         * check/states/sinks.c: (START_TEST), (gst_object_suite):
29276         Have to check for completion now...
29277
29278 2005-06-25  Wim Taymans  <wim@fluendo.com>
29279
29280         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29281         (gst_basesink_handle_object), (gst_basesink_event),
29282         (gst_basesink_do_sync), (gst_basesink_handle_event),
29283         (gst_basesink_change_state):
29284         * gst/gstpad.h:
29285         Unlock STREAM_LOCK whatever the recursion was.
29286
29287 2005-06-25  Wim Taymans  <wim@fluendo.com>
29288
29289         * gst/base/gstbasesink.c: (gst_basesink_set_property),
29290         (gst_basesink_preroll_queue_empty),
29291         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
29292         (gst_basesink_event), (gst_basesink_do_sync),
29293         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
29294         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
29295         (gst_basesink_change_state):
29296         Reworked the base sink, handle event and buffer serialisation
29297         correctly and removed possible deadlock.
29298         Handle EOS correctly.
29299
29300 2005-06-25  Wim Taymans  <wim@fluendo.com>
29301
29302         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
29303         (gst_pipeline_change_state):
29304         * tools/gst-launch.c: (check_intr), (event_loop), (main):
29305         Allow elements to post EOS in the state change function.
29306         Fix up -launch, make it exit the poll loop when the
29307         pipeline actually changed state.
29308         Fix up warning parsing in -launch.
29309
29310 2005-06-25  Wim Taymans  <wim@fluendo.com>
29311
29312         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
29313         (gst_tee_sink_activate):
29314         Core takes STREAM_LOCK for us now.
29315
29316 2005-06-25  Wim Taymans  <wim@fluendo.com>
29317
29318         * gst/gstelement.c: (gst_element_get_state_func),
29319         (gst_element_set_state):
29320         * gst/gstelement.h:
29321         * gst/gstmessage.c: (gst_message_parse_error),
29322         (gst_message_parse_warning):
29323         Keep track of current target state while performing a state
29324         change so that subclasses can do something interesting.
29325         Fix parsing of warning/error messages when GError is NULL.
29326
29327 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
29328
29329         * docs/gst/Makefile.am:
29330         * docs/gst/gstreamer-docs.sgml:
29331         * docs/gst/gstreamer-sections.txt:
29332         * docs/gst/gstreamer.types:
29333         * docs/gst/tmpl/gstbasesink.sgml:
29334         * docs/gst/tmpl/gstbasesrc.sgml:
29335         * docs/gst/tmpl/gstbin.sgml:
29336         * docs/gst/tmpl/gstcompat.sgml:
29337         * docs/gst/tmpl/gstfakesink.sgml:
29338         * docs/gst/tmpl/gstfakesrc.sgml:
29339         * docs/gst/tmpl/gstfilesink.sgml:
29340         * docs/gst/tmpl/gstfilesrc.sgml:
29341         * docs/gst/tmpl/gstindex.sgml:
29342         * docs/manual/appendix-quotes.xml:
29343         * gst/base/gstbasesrc.h:
29344         * gst/elements/gstfakesrc.h:
29345         * gst/gstmessage.h:
29346           start pulling in base classes and elements in our docs
29347
29348 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
29349
29350         * docs/gst/Makefile.am:
29351         * docs/libs/Makefile.am:
29352           fixed make distcheck with gtk-doc 1.3
29353
29354 2005-06-23  Wim Taymans  <wim@fluendo.com>
29355
29356         * gst/gstelement.c: (gst_element_get_state_func),
29357         (gst_element_set_state), (gst_element_change_state):
29358         When the state did not change, also report NO_PREROLL
29359         when it matters.
29360
29361 2005-06-23  Wim Taymans  <wim@fluendo.com>
29362
29363         * gst/gstpad.c: (gst_pad_event_default):
29364         * gst/gstqueue.c: (gst_queue_loop):
29365         No unsafe task pausing please.
29366
29367 2005-06-23  Wim Taymans  <wim@fluendo.com>
29368
29369         * gst/schedulers/threadscheduler.c:
29370         (gst_thread_scheduler_task_start),
29371         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
29372         Ref the task before pushing it on the threadpool. This
29373         makes sure that we have a ref when the threadfunction is
29374         actually called.
29375
29376 2005-06-23  Andy Wingo  <wingo@pobox.com>
29377
29378         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
29379         offset is greater than the file's size.
29380
29381         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
29382         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
29383         * gst/gstobject.c (gst_object_class_init): Make the class lock
29384         recursive. Wim won't let me drop deep_notify. Decodebin works
29385         again, whoopdy doo.
29386
29387         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
29388         internal pad, and hacks accordingly. Doesn't do it on the target
29389         pad because we change its caps. Probably catches all cases of
29390         interest tho.
29391         (gst_ghost_pad_set_property): Connect to notify::caps as
29392         appropritate.
29393
29394         * tests/network-clock.scm (plot-simulation): Pipe data to the
29395         elite python skript.
29396
29397         * tests/network-clock-utils.scm (define-parameter): New macro,
29398         defines a parameter that can be set via the command line.
29399         (set-parameter!, parse-parameter-arguments): Command line args
29400         parser.
29401
29402         * tests/plot-data: Simple matplotlib-based plotter, takes input on
29403         stdin.
29404
29405 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
29406
29407         * gst/elements/gsttypefindelement.c:
29408         (gst_type_find_element_handle_event):
29409           Don't restart typefinding on a discont.
29410         * gst/gstelement.c: (gst_element_set_state):
29411           Debug spelling fix.
29412         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
29413           Allow changing mode of an active pad.
29414           Debug output fixes.
29415         * gst/registries/gstlibxmlregistry.c: (load_feature):
29416           Don't cast a static pad template to a normal pad template.
29417
29418 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
29419
29420         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29421         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29422           remove gst_strtoll completely, since it didn't actually do
29423           anything more than what g_ascii_strtoull already does.
29424           check for range errors when deserializing
29425           do a cast for the unsigned cases; but further fixing needs
29426           a decision on what the interpretation of "(int)" and
29427           deserialization should be for values that fall outside the
29428           type's boundaries (ie, refuse, or interpret as casting)
29429
29430 2005-06-23  Wim Taymans  <wim@fluendo.com>
29431
29432         * check/Makefile.am:
29433         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
29434         * docs/design/part-live-source.txt:
29435         * docs/design/part-states.txt:
29436         * gst/base/gstbasesrc.c: (gst_basesrc_init),
29437         (gst_basesrc_set_live), (gst_basesrc_is_live),
29438         (gst_basesrc_get_range), (gst_basesrc_activate),
29439         (gst_basesrc_change_state):
29440         * gst/base/gstbasesrc.h:
29441         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
29442         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
29443         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
29444         * gst/gstelement.c: (gst_element_get_state_func),
29445         (gst_element_set_state):
29446         * gst/gstelement.h:
29447         * gst/gsttypes.h:
29448         * tools/gst-launch.c: (event_loop), (main):
29449         Added support for live sources and other elements that
29450         cannot do preroll.
29451         Updated design docs, added live-source design doc.
29452         Implemented live source functionality in basesrc
29453         Fix error condition in _bin_get_state()
29454         Implement live source handling in -launch.
29455         Added check for live sources.
29456         Fixed case in GstBin where elements were changed state
29457         multiple times.
29458
29459
29460 2005-06-23  Andy Wingo  <wingo@pobox.com>
29461
29462         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
29463         borken refcounting.
29464
29465         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
29466         gst_caps_replace takes care of this for us.
29467
29468         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
29469         gst_pad_set_caps on the target, not just its setcaps() function.
29470
29471         * tests/network-clock.scm: 
29472         * tests/network-clock-utils.scm: A network clock simulator.
29473         Something of an algorithmic testbed before doing something in C.
29474
29475 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29476
29477         * check/Makefile.am:
29478         * check/gst/capslist.h:
29479           copy over from 0.8, and add two with bitmasks specified with
29480           (int) 0xFF...
29481         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29482           add test to parse everything from capslist.h
29483         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
29484         (main):
29485           add test for structure deserialization
29486         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29487           add tests for deserialization of strings to int types
29488         * gst/gststructure.c: (gst_structure_nth_field_name):
29489         * gst/gststructure.h:
29490           add a way to get the name of a field referenced by index
29491         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29492           instead of checking if the resulting long long lies between
29493           min and max, we check if the long long would fit into
29494           a number of bytes for the final type.
29495           This fixes cases where a string represents 2^32 - 1, which
29496           when cast to int would be the (valid) -1, but is bigger than
29497           G_MAXINT
29498
29499 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29500
29501         * gst/parse/grammar.y:
29502           add a log line for type deserialization
29503
29504 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29505
29506         * check/gst/gstvalue.c: (START_TEST):
29507         * gst/gstvalue.c: (gst_value_deserialize):
29508           return long long, not int, so gint64 deserialization actually
29509           works.  Is there any flag that makes the compiler check this ?
29510           Fixes #308559
29511
29512 2005-06-22  Wim Taymans  <wim@fluendo.com>
29513
29514         * gst/gstbuffer.h:
29515         Added convenience macros for setting buffers in GValue.
29516
29517 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
29518
29519         * check/gst/.cvsignore:
29520         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29521           add a test deserializing int64, and comment part out because
29522           it fails, yay !
29523
29524 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
29525
29526         * check/Makefile.am:
29527         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
29528         * testsuite/Makefile.am:
29529         * testsuite/caps/Makefile.am:
29530         * testsuite/caps/value_serialize.c:
29531         * testsuite/test_gst_init.c:
29532           move a value_serialize test over
29533
29534 2005-06-20  Wim Taymans  <wim@fluendo.com>
29535
29536         * gst/gstpad.c:
29537         Small doc updates.
29538         
29539         * gst/gstvalue.c: (gst_value_compare_buffer),
29540         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
29541         (gst_value_compare_flags), (gst_value_serialize_flags),
29542         (gst_value_deserialize_flags), (_gst_value_initialize):
29543         Fix serialisation of buffers, they are not boxed types anymore
29544
29545 2005-06-20  Wim Taymans  <wim@fluendo.com>
29546
29547         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29548         Testcase to show error in buffer-on-caps serialisation.
29549
29550 2005-06-20  Andy Wingo  <wingo@pobox.com>
29551
29552         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
29553         will be adding to later.
29554
29555         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
29556         if its socks fill with rocks.
29557         (gst_system_clock_obtain): Set the name on object construction.
29558         Avoid double-checked locking.
29559
29560 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
29561
29562         * gst/gsturi.c: (gst_element_make_from_uri):
29563           Fix potential endless loop.
29564
29565 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29566
29567         * check/Makefile.am:
29568           add gsttag
29569         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
29570         (main):
29571           move over from testsuite dir and clean up
29572         * configure.ac:
29573         * gst/gsttag.c:
29574         * testsuite/Makefile.am:
29575         * testsuite/tags/.cvsignore:
29576         * testsuite/tags/Makefile.am:
29577         * testsuite/tags/merge.c:
29578           remove testsuite/tags
29579
29580 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29581
29582         * docs/gst/gstreamer-sections.txt:
29583         * docs/gst/tmpl/gstenumtypes.sgml:
29584         * win32/gstenumtypes.c:
29585           clean up documentation build a little
29586
29587 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29588
29589         * check/gstcheck.h:
29590           add macros for checking refcounts on objects and caps
29591         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
29592           add some more unit tests
29593         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
29594         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
29595           fix leaked refcounts (I hope :)) so unittest works
29596         * gst/gstpad.h:
29597           whitespace removal
29598
29599 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29600
29601         * configure.ac: back to HEAD
29602
29603 === release 0.9.1 ===
29604
29605 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
29606
29607         * NEWS:
29608         * RELEASE:
29609           updated
29610
29611 2005-06-17  Andy Wingo  <wingo@pobox.com>
29612
29613         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
29614         assert; it's always possible that the pad gets deactivated in
29615         between the checks in gstpad.c and the implementation. Rely on
29616         finish_preroll() to return a FLUSHING or similar instead of on the
29617         assert.
29618         
29619         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
29620         clock and post an EOS message if we come out of finish_preroll in
29621         the playing state.
29622
29623 2005-06-16  David Schleef  <ds@schleef.org>
29624
29625         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
29626         (gst_capsfilter_set_property): Allow NULL as possible value
29627         for filter_caps property, indicating GST_CAPS_ANY.
29628
29629 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
29630
29631         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
29632           fix debug output
29633         * gst/schedulers/Makefile.am:
29634           use libgst prefix
29635         * gstreamer.spec.in:
29636           fix spec for it
29637
29638 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
29639
29640         * gstreamer.spec.in:
29641           clean up
29642
29643 2005-06-08  Andy Wingo  <wingo@pobox.com>
29644
29645         * gst/gstutils.c: RPAD fixes all around.
29646         (gst_element_link_pads): Refcounting fixes.
29647
29648         * tools/gst-inspect.c:
29649         * tools/gst-xmlinspect.c:
29650         * parse/grammar.y:
29651         * gst/base/gsttypefindhelper.c:
29652         * gst/base/gstbasesink.c:
29653         * gst/gstqueue.c: RPAD fixes.
29654
29655         * gst/gstghostpad.h:
29656         * gst/gstghostpad.c: New ghost pad implementation as full proxy
29657         pads. The tricky thing is they provide both source and sink
29658         interfaces, since they proxy the internal pad for the external
29659         pad, and vice versa. Implement with lower-level ProxyPad objects,
29660         with the interior proxy pad as a child of the exterior ghost pad.
29661         Should write a doc on this.
29662         
29663         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
29664         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
29665         gst_object API.
29666         
29667         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
29668         pads are real pads. No ghost pads in this file. Not documenting
29669         the myriad s/RPAD/PAD/ and REALIZE fixes.
29670         (gst_pad_class_init): Add properties for "direction" and
29671         "template". Both are construct-only, so they can't change during
29672         the life of the pad. Fixes properly deriving from GstPad.
29673         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
29674         derived objects, just set properties when creating the objects via
29675         g_object_new.
29676         (gst_pad_get_parent): Implement as a function, return NULL if the
29677         parent is not an element.
29678         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
29679         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
29680         
29681         * gst/gstobject.c (gst_object_class_init): Make name a construct
29682         property. Don't set it in the object init.
29683
29684         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
29685         with UNKNOWN direction.
29686         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
29687         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
29688         (gst_element_remove_pad): Remove ghost-pad special cases.
29689         (gst_element_pads_activate): Remove rpad cruft.
29690
29691         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
29692         catch the pad's-parent-not-an-element case.
29693
29694         * gst/gst.h: Include gstghostpad.h.
29695
29696         * gst/gst.c (init_post): No more real, ghost pads.
29697
29698         * gst/Makefile.am: Add gstghostpad.[ch].
29699
29700         * check/Makefile.am:
29701         * check/gst/gstbin.c:
29702         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
29703         into a bin creates ghost pads, and that the refcounts are right.
29704         Partly moved from gstbin.c.
29705
29706 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29707
29708         * check/gst-libs/.cvsignore:
29709         * check/gst/.cvsignore:
29710         * check/pipelines/.cvsignore:
29711           ignore more
29712         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
29713         (START_TEST), (cleanup_suite), (main):
29714           add some tests related to cleanup after running pipelines
29715
29716 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29717
29718         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
29719           add a testsuite for GstBuffer
29720
29721 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29722
29723         * gst/gstminiobject.h:
29724           add defines for accessing the refcount
29725
29726 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
29727
29728         * Makefile.am: added support for html unit test coverage reports
29729
29730 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
29731
29732         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
29733           Free existing caps if the capsfilter changes. Add a FIXME about
29734           setting those caps on the pads.
29735
29736         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
29737           Before adding a ghost pad to a parent bin, check that there isn't
29738           already one for the element on the bin. Prevents infinite recursion
29739           when using decodebin in parse pipelines. Andy says he'll rewrite the
29740           way this works anyway, so ignore the hack.
29741
29742 2005-06-02  Andy Wingo  <wingo@pobox.com>
29743
29744         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
29745         file size, pass it on to the type find helper.
29746
29747         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
29748         segment_start and segment_end properly according to the seek
29749         method. Segment_end is still a bit flaky because offset can be
29750         negative for CUR and END cases, but it takes -1 as an "unset"
29751         value.
29752
29753 2005-06-02  Wim Taymans  <wim@fluendo.com>
29754
29755         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
29756         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
29757         (gst_basesink_activate):
29758         * gst/base/gstbasesink.h:
29759         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29760         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29761         (gst_pad_query), (gst_pad_start_task):
29762         * gst/gstpad.h:
29763         * gst/gstqueue.c: (gst_queue_bufferalloc),
29764         (gst_queue_handle_sink_event), (gst_queue_chain):
29765         Bufferalloc: return GstFlowReturn to more accuratly report
29766         why allocation failed.
29767
29768 2005-06-02  Wim Taymans  <wim@fluendo.com>
29769
29770         * gst/gstpipeline.c: (gst_pipeline_send_event):
29771         Take snapshot of state without blocking.
29772
29773 2005-06-02  Wim Taymans  <wim@fluendo.com>
29774
29775         * docs/design/part-TODO.txt:
29776         * docs/design/part-caps.txt:
29777         * docs/design/part-clocks.txt:
29778         * docs/design/part-negotiation.txt:
29779         * docs/design/part-preroll.txt:
29780         Small doc updates 
29781
29782 2005-05-30  Wim Taymans  <wim@fluendo.com>
29783
29784         * gst/elements/gstidentity.c: (gst_identity_event),
29785         (gst_identity_transform), (gst_identity_get_property):
29786         Protect last_message property as it is accessed from
29787         multiple threads.
29788
29789 2005-05-30  Wim Taymans  <wim@fluendo.com>
29790
29791         * gst/gstelement.c: (gst_element_init),
29792         (gst_element_pads_activate), (gst_element_change_state):
29793         Slicker pad activation code.
29794
29795 2005-05-30  Wim Taymans  <wim@fluendo.com>
29796
29797         * gst/Makefile.am:
29798         * gst/gstelement.h:
29799         * gst/gstelementfactory.h:
29800         * gst/gsttypes.h:
29801         Move elementfactory methods to separate .h file.
29802
29803 2005-05-30  Wim Taymans  <wim@fluendo.com>
29804
29805         * docs/design/part-overview.txt:
29806         * gst/gstsystemclock.h:
29807         Small typo fixes, doc updates.
29808
29809 2005-05-30  Wim Taymans  <wim@fluendo.com>
29810
29811         * gst/gst.c: (gst_init_get_popt_table), (init_post),
29812         (init_popt_callback):
29813         Remove cpu-opt flag.
29814
29815 2005-05-30  Wim Taymans  <wim@fluendo.com>
29816
29817         * gst/gstbuffer.c: (gst_subbuffer_finalize),
29818         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
29819         * gst/gstbuffer.h:
29820         Avoid typechecking in places where not needed.
29821         Added accessor for malloc_data.
29822
29823 2005-05-30  Wim Taymans  <wim@fluendo.com>
29824
29825         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
29826         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
29827         (gst_pad_configure_sink), (gst_pad_configure_src),
29828         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
29829         (gst_pad_start_task):
29830         Propagate errors from _set_caps() in configure_src/sink
29831         functions instead of returning TRUE.
29832         FLUSH events can travel up and downstream
29833
29834
29835 2005-05-30  Wim Taymans  <wim@fluendo.com>
29836
29837         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
29838         (gst_basesink_activate):
29839         Handle EOS in preroll.
29840
29841 2005-05-30  Wim Taymans  <wim@fluendo.com>
29842
29843         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
29844         (gst_queue_loop), (gst_queue_handle_src_event):
29845         Remove old pieces of code
29846         Flushing the queue in an upstream event is a very bad idea.
29847
29848 2005-05-26  Andy Wingo  <wingo@pobox.com>
29849
29850         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
29851         gst_value_set_mini_object so as to add a ref on the object (which
29852         will be removed when the value is unset).
29853
29854         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
29855         arg type in ::handoff.
29856
29857         * gst/gstelement.c (gst_element_change_state): Also deactivate
29858         pads in READY->NULL, just in case the element didn't make it to
29859         PAUSED. Wingo tested, Wim approved.
29860
29861 2005-05-26  Wim Taymans  <wim@fluendo.com>
29862
29863         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29864         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29865         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
29866         A flushing pad cannot be used to alloc_buffer from.
29867
29868 2005-05-26  Wim Taymans  <wim@fluendo.com>
29869
29870         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
29871         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
29872         (gst_bus_source_dispatch), (gst_bus_source_finalize),
29873         (gst_bus_create_watch), (gst_bus_add_watch_full):
29874         * gst/gstbus.h:
29875         Implement a real GSource and use g_main_context_wakeup() to
29876         signal new messages instead of the socketpair.
29877
29878 2005-05-25  Wim Taymans  <wim@fluendo.com>
29879
29880         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
29881         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
29882         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29883         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
29884         (gst_pad_send_event), (gst_pad_start_task):
29885         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
29886         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
29887         (gst_queue_sink_activate), (gst_queue_src_activate),
29888         (gst_queue_change_state):
29889         * gst/gstqueue.h:
29890         Fix state changes for non sinks. We now change sinks, then elements
29891         with unconnected srcpads, then the rest.
29892         More efficient queue unlocking in flush and state changes.
29893         Set the pad activate mode even if it does not have an activate
29894         function.
29895
29896 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29897
29898         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
29899           Don't go in pull mode for non-seekable sources.
29900         * gst/elements/gsttypefindelement.h:
29901         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
29902         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
29903         (free_entry), (stop_typefinding),
29904         (gst_type_find_element_handle_event), (find_peek),
29905         (gst_type_find_element_chain), (do_pull_typefind),
29906         (gst_type_find_element_change_state):
29907           Allow typefinding (w/o seeking) in push-mode, simplified version
29908           of what was in 0.8.
29909         * gst/gstutils.c: (gst_buffer_join):
29910         * gst/gstutils.h:
29911           gst_buffer_join() from 0.8.
29912
29913 2005-05-25  Wim Taymans  <wim@fluendo.com>
29914
29915         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29916         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
29917         (gst_pad_send_event), (gst_pad_start_task):
29918         Disable attempt at mode switching until it is figured out.
29919
29920 2005-05-25  Wim Taymans  <wim@fluendo.com>
29921
29922         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
29923         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
29924         (gst_basesink_finish_preroll), (gst_basesink_chain),
29925         (gst_basesink_loop), (gst_basesink_activate),
29926         (gst_basesink_change_state):
29927         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
29928         (gst_basesrc_get_range), (gst_basesrc_loop),
29929         (gst_basesrc_activate):
29930         * gst/elements/gsttee.c: (gst_tee_sink_activate):
29931         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
29932         (gst_real_pad_init), (gst_real_pad_set_property),
29933         (gst_real_pad_get_property), (gst_pad_set_active),
29934         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
29935         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
29936         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
29937         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
29938         (gst_pad_event_default_dispatch), (gst_pad_event_default),
29939         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
29940         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
29941         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
29942         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
29943         (gst_pad_stop_task):
29944         * gst/gstpad.h:
29945         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
29946         (gst_queue_loop), (gst_queue_src_activate):
29947         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
29948         (gst_task_get_state):
29949         * gst/gsttask.h:
29950         * gst/schedulers/threadscheduler.c:
29951         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
29952         Implement gst_pad_pause/start/stop_task(), take STREAM lock
29953         in task function.
29954         Remove ACTIVE pad flag, use FLUSHING everywhere
29955         Added _pad_chain(), _pad_get_range() to call chain/getrange 
29956         functions.
29957         Add locks around IS_FLUSHING when reading.
29958         Take STREAM lock in chain(), get_range() functions so plugins
29959         don't need to take it anymore.
29960         
29961
29962
29963 2005-05-25  Wim Taymans  <wim@fluendo.com>
29964
29965         * tools/gst-launch.c: (event_loop):
29966         Unref message after using its contents instead of
29967         before.
29968
29969 2005-05-24  Wim Taymans  <wim@fluendo.com>
29970
29971         * docs/design/draft-ghostpads.txt:
29972         * docs/design/draft-push-pull.txt:
29973         * docs/design/draft-query.txt:
29974         * docs/design/part-overview.txt:
29975         Docs updates, added general overview doc.
29976
29977 2005-05-21  David Schleef  <ds@schleef.org>
29978
29979         * docs/gst/tmpl/old/GstBin.sgml:
29980         * docs/gst/tmpl/old/GstBuffer.sgml:
29981         * docs/gst/tmpl/old/GstCaps.sgml:
29982         * docs/gst/tmpl/old/GstClock.sgml:
29983         * docs/gst/tmpl/old/GstCompat.sgml:
29984         * docs/gst/tmpl/old/GstData.sgml:
29985         * docs/gst/tmpl/old/GstElement.sgml:
29986         * docs/gst/tmpl/old/GstEvent.sgml:
29987         * docs/gst/tmpl/old/GstIndex.sgml:
29988         * docs/gst/tmpl/old/GstStructure.sgml:
29989         * docs/gst/tmpl/old/GstTag.sgml:
29990         * docs/gst/tmpl/old/cothreads.sgml:
29991         * docs/gst/tmpl/old/cothreads_compat.sgml:
29992         * docs/gst/tmpl/old/gettext.sgml:
29993         * docs/gst/tmpl/old/gobject2gtk.sgml:
29994         * docs/gst/tmpl/old/grammar.tab.sgml:
29995         * docs/gst/tmpl/old/gst-i18n-app.sgml:
29996         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
29997         * docs/gst/tmpl/old/gst_private.sgml:
29998         * docs/gst/tmpl/old/gstaggregator.sgml:
29999         * docs/gst/tmpl/old/gstarch.sgml:
30000         * docs/gst/tmpl/old/gstatomic_impl.sgml:
30001         * docs/gst/tmpl/old/gstbufferstore.sgml:
30002         * docs/gst/tmpl/old/gstdata_private.sgml:
30003         * docs/gst/tmpl/old/gstdisksink.sgml:
30004         * docs/gst/tmpl/old/gstdisksrc.sgml:
30005         * docs/gst/tmpl/old/gstelementfactory.sgml:
30006         * docs/gst/tmpl/old/gstextratypes.sgml:
30007         * docs/gst/tmpl/old/gstfakesink.sgml:
30008         * docs/gst/tmpl/old/gstfakesrc.sgml:
30009         * docs/gst/tmpl/old/gstfdsink.sgml:
30010         * docs/gst/tmpl/old/gstfdsrc.sgml:
30011         * docs/gst/tmpl/old/gstfilesink.sgml:
30012         * docs/gst/tmpl/old/gstfilesrc.sgml:
30013         * docs/gst/tmpl/old/gsthttpsrc.sgml:
30014         * docs/gst/tmpl/old/gstidentity.sgml:
30015         * docs/gst/tmpl/old/gstindexfactory.sgml:
30016         * docs/gst/tmpl/old/gstmarshal.sgml:
30017         * docs/gst/tmpl/old/gstmd5sink.sgml:
30018         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
30019         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
30020         * docs/gst/tmpl/old/gstpadtemplate.sgml:
30021         * docs/gst/tmpl/old/gstpipefilter.sgml:
30022         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
30023         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
30024         * docs/gst/tmpl/old/gstshaper.sgml:
30025         * docs/gst/tmpl/old/gstspider.sgml:
30026         * docs/gst/tmpl/old/gstspideridentity.sgml:
30027         * docs/gst/tmpl/old/gststatistics.sgml:
30028         * docs/gst/tmpl/old/gsttee.sgml:
30029         * docs/gst/tmpl/old/gsttimecache.sgml:
30030         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
30031         * docs/gst/tmpl/old/gstxmlregistry.sgml:
30032         * docs/gst/tmpl/old/gthread-cothreads.sgml:
30033         * docs/gst/tmpl/old/types.sgml:
30034           I didn't intend to add these or check them in.
30035
30036 2005-05-19  David Schleef  <ds@schleef.org>
30037
30038         * configure.ac: Use -no-common everywhere.  In a sane world, it
30039           would be the default in libtool, because without it, you can't
30040           build DLLs on Windows.
30041         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
30042         * docs/gst/gstreamer-sections.txt:
30043         * docs/gst/tmpl/gstcpu.sgml:
30044         * docs/gst/tmpl/gstdata.sgml:
30045         * docs/gst/tmpl/gstthread.sgml:
30046
30047 2005-05-19  David Schleef  <ds@schleef.org>
30048
30049         * gst/gstminiobject.c: (gst_value_set_mini_object),
30050         (gst_value_take_mini_object), (gst_value_get_mini_object):
30051         * gst/gstminiobject.h: Add GValue set/get functions.
30052
30053 2005-05-19  Wim Taymans  <wim@fluendo.com>
30054
30055         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
30056         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
30057         (gst_subbuffer_init), (gst_buffer_is_span_fast):
30058         * gst/gstbuffer.h:
30059         * gst/gstbus.c: (gst_bus_post):
30060         * gst/gstelement.c: (gst_element_get_random_pad):
30061         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
30062         Make subbufer unref the parent in finalize.
30063         some more debugging info.
30064
30065
30066 2005-05-19  Wim Taymans  <wim@fluendo.com>
30067
30068         * gst/base/gstbasesink.c: (gst_basesink_class_init),
30069         (gst_basesink_init), (gst_basesink_finalize),
30070         (gst_basesink_activate), (gst_basesink_change_state):
30071         Don't free preroll queue too early.
30072
30073 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30074
30075         * gst/Makefile.am:
30076         * gst/ROADMAP:
30077           Hi, I'm outdated. Please shoot me.
30078
30079 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30080
30081         * gst/gstpipeline.c: (gst_pipeline_send_event):
30082           Do not access variables after they have been deleted.
30083
30084 2005-05-19  Wim Taymans  <wim@fluendo.com>
30085
30086         * tools/gst-inspect.c: (print_plugin_features):
30087         A plugin feature does unfortunatly not use the
30088         object name yet...
30089
30090 2005-05-18  Wim Taymans  <wim@fluendo.com>
30091
30092         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
30093         Port _span() functions to new subbuffers.
30094
30095 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30096
30097         * gst/gstbin.c: (gst_bin_add_func):
30098           Fix clock settery in bins when adding kids after the clock has
30099           been selected.
30100
30101 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30102
30103         * gst/elements/gstidentity.c: (gst_identity_class_init):
30104           Workaround until signals support GstMiniObject.
30105
30106 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
30107
30108         * gst/gstbuffer.c:
30109         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
30110
30111 2005-05-18  Wim Taymans  <wim@fluendo.com>
30112
30113         * gst/base/Makefile.am:
30114         * gst/base/gstadapter.c: (gst_adapter_base_init),
30115         (gst_adapter_class_init), (gst_adapter_init),
30116         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
30117         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
30118         (gst_adapter_flush), (gst_adapter_available),
30119         (gst_adapter_available_fast):
30120         * gst/base/gstadapter.h:
30121         Ported and added adapter to the base classes.
30122
30123 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
30124
30125         * gst/gst.c:
30126         * gst/gstmessage.c:
30127           Make sure the class is reffed/unreffed once before threads can be
30128           used.  Fixes #304551.
30129
30130 2005-05-17  Wim Taymans  <wim@fluendo.com>
30131
30132         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
30133         (gst_basesink_chain_unlocked), (gst_basesink_activate):
30134         * gst/gstminiobject.c: (gst_mini_object_get_type),
30135         (gst_mini_object_free):
30136         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
30137         (gst_pad_push), (gst_pad_push_event):
30138         * gst/gstqueue.c: (gst_queue_change_state):
30139         Don't queue buffers in basesink when we are flushing.
30140         Unref buffer when flushing in basesink.
30141         Flush queue when going to READY
30142         Unref buffer when _push() returns an error.
30143         Don't free MiniObject instance when refcount is incremented
30144         in _finalize() so that we can recover objects.
30145
30146 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
30147
30148         * docs/manual/advanced-schedulers.xml:
30149         * docs/manual/appendix-checklist.xml:
30150         * docs/pwg/advanced-clock.xml:
30151         * docs/pwg/advanced-interfaces.xml:
30152         * docs/pwg/advanced-request.xml:
30153         * docs/pwg/advanced-types.xml:
30154         * docs/pwg/intro-preface.xml:
30155         * examples/plugins/example.c: (gst_example_get_type),
30156         (gst_example_class_init), (gst_example_chain),
30157         (gst_example_set_property), (gst_example_get_property),
30158         (gst_example_change_state), (plugin_init):
30159         * examples/plugins/example.h:
30160           small doc fixes
30161
30162 2005-05-17  Wim Taymans  <wim@fluendo.com>
30163
30164         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
30165         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
30166         * gst/gstqueue.c: (gst_queue_change_state):
30167         Clear queue when going to READY.
30168         Remove IN_SETCAPS flag too.
30169
30170 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
30171
30172         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
30173           Remove implicit cast from gboolean to GstElementStateReturn;
30174           make sure we still return failure in paused => ready case if
30175           the parent class fails to change state and our own stop 
30176           vfunc succeeds.
30177
30178 2005-05-17  Wim Taymans  <wim@fluendo.com>
30179
30180         * tools/gst-launch.c: (event_loop):
30181         Message was unreffed too soon.
30182
30183 2005-05-16  Andy Wingo  <wingo@pobox.com>
30184
30185         * gst/gstbin.c (sink_iterator_filter): Err... um...
30186
30187         * check/gst/gstbin.c (test_ghost_pads): New test for the
30188         ghosting-if-elements-not-in-same-bin behavior.
30189
30190 2005-05-16  David Schleef  <ds@schleef.org>
30191
30192         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
30193         accessing refcount directly.
30194
30195 2005-05-15  David Schleef  <ds@schleef.org>
30196
30197         * check/Makefile.am: remove GstData checks
30198         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
30199         * gst/Makefile.am: add miniobject, remove data
30200         * gst/gst.h: add miniobject, remove data
30201         * gst/gstdata.c: remove
30202         * gst/gstdata.h: remove
30203         * gst/gstdata_private.h: remove
30204         * gst/gsttypes.h: remove GstEvent and GstMessage
30205         * gst/gstelement.c: (gst_element_post_message): fix for API changes
30206         * gst/gstmarshal.list: change BOXED -> OBJECT
30207
30208         Implement GstMiniObject.
30209         * gst/gstminiobject.c:
30210         * gst/gstminiobject.h:
30211
30212         Modify to be subclasses of GstMiniObject.
30213         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
30214         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
30215         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
30216         (gst_subbuffer_get_type), (gst_subbuffer_init),
30217         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
30218         (gst_buffer_span):
30219         * gst/gstbuffer.h:
30220         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
30221         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
30222         (_gst_event_copy), (gst_event_new):
30223         * gst/gstevent.h:
30224         * gst/gstmessage.c: (_gst_message_initialize),
30225         (gst_message_get_type), (gst_message_class_init),
30226         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
30227         (gst_message_new), (gst_message_new_error),
30228         (gst_message_new_warning), (gst_message_new_tag),
30229         (gst_message_new_state_changed), (gst_message_new_application):
30230         * gst/gstmessage.h:
30231         * gst/gstprobe.c: (gst_probe_perform),
30232         (gst_probe_dispatcher_dispatch):
30233         * gst/gstprobe.h:
30234         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
30235         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
30236         (_gst_query_copy), (gst_query_new):
30237
30238         Update elements for GstData -> GstMiniObject changes
30239         * gst/gstquery.h:
30240         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
30241         (gst_queue_chain), (gst_queue_loop):
30242         * gst/elements/gstbufferstore.c:
30243         (gst_buffer_store_add_buffer_func),
30244         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
30245         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30246         (gst_fakesink_render):
30247         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
30248         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
30249         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
30250         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
30251         (gst_filesrc_create_read):
30252         * gst/elements/gstidentity.c: (gst_identity_class_init):
30253         * gst/elements/gsttypefindelement.c:
30254         (gst_type_find_element_src_event), (free_entry_buffers),
30255         (gst_type_find_element_handle_event):
30256         * libs/gst/dataprotocol/dataprotocol.c:
30257         (gst_dp_header_from_buffer):
30258         * libs/gst/dataprotocol/dataprotocol.h:
30259         * libs/gst/dataprotocol/dp-private.h:
30260
30261 2005-05-15  David Schleef  <ds@schleef.org>
30262
30263         * gst/elements/gstelements.c: Don't include headers that were
30264         just removed.
30265
30266 2005-05-15  David Schleef  <ds@schleef.org>
30267
30268         * gst/elements/Makefile.am: Remove some elements that don't
30269         need to be in the core (or even exist at all).
30270         * gst/elements/gstaggregator.c:
30271         * gst/elements/gstaggregator.h:
30272         * gst/elements/gstmd5sink.c:
30273         * gst/elements/gstmd5sink.h:
30274         * gst/elements/gstmultifilesrc.c:
30275         * gst/elements/gstmultifilesrc.h:
30276         * gst/elements/gstpipefilter.c:
30277         * gst/elements/gstpipefilter.h:
30278         * gst/elements/gstshaper.c:
30279         * gst/elements/gstshaper.h:
30280         * gst/elements/gststatistics.c:
30281         * gst/elements/gststatistics.h:
30282         * po/POTFILES.in: Remove above files.
30283
30284 2005-05-14  Andy Wingo  <wingo@pobox.com>
30285
30286         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
30287         so as to get the refs right.
30288         (sink_iterator_filter): New function, wraps bin_element_is_sink,
30289         unreffing objects that don't pass the filter.
30290
30291         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
30292         gst_element_set_bus.
30293         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
30294         normal cases, this will destroy the bus.
30295
30296         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
30297         object.
30298
30299         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
30300         has no sinks.
30301
30302 2005-05-13  Andy Wingo  <wingo@pobox.com>
30303
30304         * gst/gstutils.c (gst_element_link_pads): Instead of calling
30305         gst_pad_link, call pad_link_maybe_ghosting,
30306         (pad_link_maybe_ghosting): Links pads, making sure that the
30307         elements being linked are in the same bin.
30308         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
30309         Helpers for pad_link_maybe_ghosting.
30310
30311 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
30312
30313         * configure.ac:
30314           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
30315
30316 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
30317
30318         * docs/design/part-element-source.txt:
30319           Mention GstPushSrc
30320
30321 2005-05-12  Wim Taymans  <wim@fluendo.com>
30322
30323         * gst/base/gstbasesink.c: (gst_basesink_init),
30324         (gst_basesink_activate):
30325         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
30326         (gst_basesrc_is_seekable):
30327         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
30328         (bin_element_is_sink), (gst_bin_change_state):
30329         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30330         * gst/gstelement.h:
30331         Identify sinks by their flag to avoid overly complicated
30332         checks (fow now).
30333         Do state changes even for elements not reachable from the
30334         sinks.
30335         BaseSink is a sink now :)
30336         Some more debugging info in the basesrc.
30337
30338
30339 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30340
30341         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
30342           Implement _query on a bin, similar to _send_event.
30343
30344 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
30345
30346         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
30347           Discont event offset format should be GST_FORMAT_BYTES,
30348           not GST_FORMAT_TIME.
30349
30350 2005-05-12  Wim Taymans  <wim@fluendo.com>
30351
30352         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
30353         Same fix as Ronald's but without the signal. 
30354
30355 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30356
30357         * gst/gstutils.c: (gst_element_query_position):
30358           No, an element is not a pad.
30359
30360 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30361
30362         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
30363         (gst_bin_get_state):
30364           If a child is removed from a bin while we remove the child from
30365           the bin and while we're retrieving its state, signal this to the
30366           get_state function so we abort the wait (instead of waiting for
30367           a timeout) and can immediately re-iterate over all other elements.
30368
30369 2005-05-12  Wim Taymans  <wim@fluendo.com>
30370
30371         * gst/base/Makefile.am:
30372         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
30373         (gst_basesrc_start):
30374         * gst/base/gstbasesrc.h:
30375         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
30376         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
30377         (gst_pushsrc_init), (gst_pushsrc_create):
30378         * gst/base/gstpushsrc.h:
30379         Added is_seekable to BaseSrc
30380         Added simple PushSrc.
30381
30382 2005-05-11  Wim Taymans  <wim@fluendo.com>
30383
30384         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30385         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30386         (gst_element_link_pads), (gst_element_query_position),
30387         (gst_element_query_convert), (intersect_caps_func),
30388         (gst_pad_query_position), (gst_pad_query_convert):
30389         Fix refcounting in utils function.
30390         No point in trying to activate a pad when it's added, it could
30391         be added from the state change function and then we deadlock, the
30392         element has to decide what to do.
30393
30394 2005-05-10  Andy Wingo  <wingo@pobox.com>
30395
30396         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
30397         *all* the arguments.
30398
30399         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
30400         stream lock if it's a FLUSH_DONE; normal flushes don't get the
30401         lock (according to the docs -- if this is wrong change the docs).
30402
30403         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
30404         flush messages in the NULL state.
30405
30406         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
30407         message immediately and return.
30408         (gst_bus_set_flushing): New function. If a bus is flushing, it
30409         flushes out any queued messages and immediately unrefs new
30410         messages. This is so when an element goes to NULL, all of the
30411         unhandled messages coming from it can be freed, and their
30412         references to the element dropped. In other words: message source
30413         ref considered harmful :P
30414
30415         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
30416         we're finished with it.
30417
30418         * gst/gstmessage.c (gst_message_new_state_changed): 
30419
30420 2005-05-10  Wim Taymans  <wim@fluendo.com>
30421
30422         * gst/gstvalue.c: (gst_value_compare_flags),
30423         (gst_value_serialize_flags), (gst_value_deserialize_flags),
30424         (_gst_value_initialize):
30425         Added flags serialize/deserialize/compare code.
30426
30427 2005-05-09  Andy Wingo  <wingo@pobox.com>
30428
30429         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
30430         Intersect the peer's caps with our caps.
30431
30432 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30433
30434         * gst/base/gsttypefindhelper.c: (helper_find_peek):
30435         * gst/elements/gsttypefindelement.c: (find_peek):
30436           Handle negative offsets better. Fixes decodebin.
30437
30438 2005-05-09  Wim Taymans  <wim@fluendo.com>
30439
30440         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
30441         (gst_base_transform_event):
30442         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
30443         Implement accept_caps.
30444         Fix silly lock/unlock mismatch in base class.
30445
30446 2005-05-09  Wim Taymans  <wim@fluendo.com>
30447
30448         * docs/design/draft-push-pull.txt:
30449         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
30450         * gst/elements/gstfilesink.c: (gst_filesink_init),
30451         (gst_filesink_query):
30452         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
30453         (gst_type_find_handle_src_query), (find_element_get_length):
30454         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
30455         * gst/gstelement.h:
30456         * gst/gstmessage.c:
30457         * gst/gstmessage.h:
30458         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
30459         (gst_real_pad_get_caps_unlocked),
30460         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
30461         (gst_pad_event_default_dispatch), (gst_pad_event_default),
30462         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
30463         (gst_real_pad_dispose), (gst_real_pad_finalize),
30464         (gst_pad_load_and_link), (gst_pad_save_thyself),
30465         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
30466         (gst_pad_check_pull_range), (gst_pad_pull_range),
30467         (gst_pad_template_get_type), (gst_pad_template_class_init),
30468         (gst_pad_template_init), (gst_pad_template_dispose),
30469         (name_is_valid), (gst_static_pad_template_get),
30470         (gst_pad_template_new), (gst_static_pad_template_get_caps),
30471         (gst_pad_template_get_caps), (gst_pad_set_element_private),
30472         (gst_pad_get_element_private), (gst_pad_start_task),
30473         (gst_pad_pause_task), (gst_pad_stop_task),
30474         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
30475         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
30476         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
30477         (gst_ghost_pad_new):
30478         * gst/gstpad.h:
30479         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
30480         (gst_query_new_position), (gst_query_set_position),
30481         (gst_query_parse_position), (gst_query_new_convert),
30482         (gst_query_set_convert), (gst_query_parse_convert):
30483         * gst/gstquery.h:
30484         * gst/gstqueryutils.c:
30485         * gst/gstqueryutils.h:
30486         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30487         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30488         (gst_queue_handle_src_query):
30489         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30490         (gst_element_query_position), (gst_element_query_convert),
30491         (intersect_caps_func), (gst_pad_query_position),
30492         (gst_pad_query_convert):
30493         * gst/gstutils.h:
30494         * tools/gst-inspect.c: (print_pad_info):
30495         * tools/gst-xmlinspect.c: (print_element_info):
30496         Remove old query functions. Ported old code.
30497         Added position/convert helper functions to gstutils.
30498         Reordered gstpad.c code, grouping relevant things.
30499         Remove gst_message_new(), always need to speficy a specific
30500         message.
30501
30502
30503 2005-05-09  Andy Wingo  <wingo@pobox.com>
30504
30505         * gst/gstiterator.h: Add some includes.
30506
30507         * gst/gstqueryutils.h: Include more headers.
30508
30509         * gst/gstpad.h:
30510         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
30511         some uses of gst_pad_query.
30512
30513         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
30514         NULL out parameters.
30515         (gst_query_new_position): New proc, allocates a new position
30516         query.
30517
30518         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
30519         gstqueryutils.c to the build.
30520
30521         * gst/gststructure.c (gst_structure_set_valist): Implement with
30522         the generic G_VALUE_COLLECT.
30523         
30524 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
30525
30526         * gst/Makefile.am: (gst_headers):
30527         Added gstqueryutils.h to the list of headers to install, that was
30528         a 'nachty' move wingo :)
30529
30530 2005-05-06  Andy Wingo  <wingo@pobox.com>
30531
30532         * gst/gstquery.h
30533         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
30534         GstData, init a memchunk.
30535         (standard_definitions): Add a few query types, deprecate a few.
30536         (gst_query_get_type): New proc.
30537         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
30538         implementation.
30539         (gst_query_new_application, gst_query_get_structure): New public
30540         procs.
30541
30542         * docs/design/draft-query.txt: Removed LINKS from the query types,
30543         because all the rest can be dispatched to other pads -- seemed
30544         ugly to have a query that couldn't be dispatched. internal_links
30545         is fine as a pad method.
30546
30547         * gst/gstpad.h: Add query2 as a pad method, add the new functions
30548         in gstpad.c, but maintain binary compatibility for the moment.
30549         Will fix before 0.9 is out.
30550
30551         * gst/gstqueryutils.c: 
30552         * gst/gstqueryutils.h: New files, implement 3 methods for each
30553         query type: parse_query, parse_response, and set. Probably need an
30554         allocator as well.
30555
30556         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
30557
30558         * gst/elements/gstfilesink.c (gst_filesink_query2):
30559         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
30560         query_types, and formats methods.
30561
30562         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
30563         (gst_pad_set_query2_function): New functions.
30564         (gst_real_pad_init): Set query2_default as the default query2
30565         function. Basically just dispatches to internally linked pads.
30566
30567         Needs review!
30568         
30569         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
30570         without using the atomic operations. Only one thread can possibly
30571         be accessing the data at this point. Changed so as to avoid
30572         gst_atomic operations.
30573
30574 2005-05-06  Wim Taymans  <wim@fluendo.com>
30575
30576         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
30577         Also set caps if we use the fallback buffer alloc.
30578
30579 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
30580
30581         * docs/gst/Makefile.am:
30582         * docs/gst/gstreamer-docs.sgml:
30583         * docs/gst/gstreamer-sections.txt:
30584         * docs/gst/tmpl/gstatomic.sgml:
30585         * docs/gst/tmpl/gstmemchunk.sgml:
30586         * testsuite/elements/struct_i386.h:
30587         * win32/GStreamer.vcproj:
30588         * win32/Makefile:
30589           Purge GstAtomic stuff from docs and win32 makefiles as well
30590
30591 2005-05-06  Wim Taymans  <wim@fluendo.com>
30592
30593         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
30594         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
30595         * gst/gstpad.c: (gst_pad_peer_get_caps):
30596         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30597         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30598         (gst_queue_src_activate), (gst_queue_change_state):
30599         * gst/gstqueue.h:
30600         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30601         (intersect_caps_func):
30602         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
30603         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
30604         Some fixes for the peer_get_caps() change.
30605
30606 2005-05-06  Wim Taymans  <wim@fluendo.com>
30607
30608         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
30609         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
30610         (gst_basesink_activate):
30611         Actually do something with error codes returned from the push
30612         functions.
30613
30614 2005-05-06  Wim Taymans  <wim@fluendo.com>
30615
30616         * docs/design/part-element-sink.txt:
30617         * docs/design/part-element-source.txt:
30618         * gst/base/gstbasesink.c: (gst_basesink_class_init),
30619         (gst_basesink_event), (gst_basesink_activate):
30620         * gst/base/gstbasesink.h:
30621         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
30622         (gst_basesrc_activate):
30623         * gst/base/gstbasesrc.h:
30624         * gst/gstelement.c: (gst_element_pads_activate):
30625         Some more documentation.
30626         Fixed scheduling decision in _pads_activate().
30627
30628 2005-05-05  Andy Wingo  <wingo@pobox.com>
30629
30630         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
30631         the test suite.
30632
30633 2005-05-05  Wim Taymans  <wim@fluendo.com>
30634
30635         * gst/base/Makefile.am:
30636         * gst/base/gstbasesink.h:
30637         * gst/base/gstbasesrc.c: (gst_basesrc_init),
30638         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
30639         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
30640         (gst_collectpads_class_init), (gst_collectpads_init),
30641         (gst_collectpads_finalize), (gst_collectpads_new),
30642         (gst_collectpads_set_function), (gst_collectpads_add_pad),
30643         (find_pad), (gst_collectpads_remove_pad),
30644         (gst_collectpads_is_active), (gst_collectpads_collect),
30645         (gst_collectpads_collect_range), (gst_collectpads_start),
30646         (gst_collectpads_stop), (gst_collectpads_peek),
30647         (gst_collectpads_pop), (gst_collectpads_available),
30648         (gst_collectpads_read), (gst_collectpads_flush),
30649         (gst_collectpads_chain):
30650         * gst/base/gstcollectpads.h:
30651         * gst/elements/Makefile.am:
30652         * gst/elements/gstelements.c:
30653         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30654         (gst_fakesink_get_times), (gst_fakesink_event),
30655         (gst_fakesink_preroll), (gst_fakesink_render):
30656         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
30657         (gst_filesink_init), (gst_filesink_set_location),
30658         (gst_filesink_open_file), (gst_filesink_close_file),
30659         (gst_filesink_pad_query), (gst_filesink_event),
30660         (gst_filesink_render), (gst_filesink_change_state):
30661         * gst/elements/gstfilesink.h:
30662         Added object to help in making collect pad based elements.
30663         Ported filesink.
30664         Make event function in sink baseclass return gboolean.
30665
30666 2005-05-05  Wim Taymans  <wim@fluendo.com>
30667
30668         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
30669         (gst_bin_get_by_name):
30670         * gst/gstbuffer.h:
30671         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
30672         (gst_clock_finalize):
30673         * gst/gstdata.c: (gst_data_replace):
30674         * gst/gstdata.h:
30675         * gst/gstelement.c: (gst_element_request_pad),
30676         (gst_element_pads_activate):
30677         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
30678         (gst_object_unref):
30679         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30680         (gst_pad_set_checkgetrange_function),
30681         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
30682         (gst_pad_check_pull_range), (gst_pad_pull_range),
30683         (gst_static_pad_template_get_caps), (gst_pad_start_task),
30684         (gst_pad_pause_task), (gst_pad_stop_task):
30685         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30686         (gst_element_request_pad), (gst_pad_proxy_getcaps):
30687         Fix name lookup in GstBin.
30688         Added _data_replace() function and _buffer_replace()
30689         Use finalize method to clean up clock.
30690         Fix refcounting on request pads.
30691         Fix pad schedule mode error.
30692         Some more object refcounting debug info,
30693
30694
30695 2005-05-04  Andy Wingo <wingo@pobox.com>
30696
30697         * check/Makefile.am:
30698         * docs/gst/tmpl/gstatomic.sgml:
30699         * docs/gst/tmpl/gstplugin.sgml:
30700         * gst/base/gstbasesink.c: (gst_basesink_activate):
30701         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
30702         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
30703         (gst_basesrc_query), (gst_basesrc_set_property),
30704         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
30705         (gst_basesrc_activate):
30706         * gst/base/gstbasesrc.h:
30707         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
30708         (gst_base_transform_src_activate):
30709         * gst/elements/gstelements.c:
30710         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
30711         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
30712         * gst/elements/gsttee.c: (gst_tee_sink_activate):
30713         * gst/elements/gsttypefindelement.c: (find_element_get_length),
30714         (gst_type_find_element_checkgetrange),
30715         (gst_type_find_element_activate):
30716         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
30717         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
30718         (gst_caps_load_thyself):
30719         * gst/gstelement.c: (gst_element_pads_activate),
30720         (gst_element_save_thyself), (gst_element_restore_thyself):
30721         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
30722         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
30723         * gst/gstpad.h:
30724         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
30725         (gst_xml_parse_file), (gst_xml_parse_memory),
30726         (gst_xml_get_element), (gst_xml_make_element):
30727         * gst/indexers/gstfileindex.c: (gst_file_index_load),
30728         (_file_index_id_save_xml), (gst_file_index_commit):
30729         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
30730         (read_enum), (load_pad_template), (load_feature), (load_plugin),
30731         (load_paths):
30732         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
30733         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
30734         * tools/gst-complete.c: (main):
30735         * tools/gst-compprep.c: (main):
30736         * tools/gst-inspect.c: (print_element_properties_info):
30737         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
30738         * tools/gst-xmlinspect.c: (print_element_properties):
30739         GCC 4 fixen.
30740         
30741 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
30742
30743         * gst/gstplugin.c: (gst_plugin_check_module),
30744         (gst_plugin_check_file), (gst_plugin_load_file):
30745             apply patch from #172526 to make register work on MacOSX
30746
30747 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30748
30749         * docs/gst/tmpl/gstconfig.sgml:
30750         * gst/gstconfig.h.in:
30751           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
30752         * testsuite/debug/printf_extension.c: (main):
30753           Do not use GST_PTR_FORMAT on pointers to types with
30754           sizeof < sizeof(gpointer).  Fixes test on 64-bit
30755         * testsuite/elements/property.h:
30756           use correct printf format
30757
30758 2005-05-02  Wim Taymans  <wim@fluendo.com>
30759
30760         * docs/design/draft-push-pull.txt:
30761         * docs/design/draft-query.txt:
30762         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
30763         (gst_basesrc_start):
30764         Added draft for new query API.
30765         Added draft for better selecting scheduling methods.
30766         Make basesrc ignore length if the subclass does not support
30767         it.
30768
30769 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30770
30771         * gst/Makefile.am:
30772           possible fixes for automake-1.5 - _LIBADD is reserved
30773
30774 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30775
30776         * docs/faq/Makefile.am:
30777         * docs/manual/Makefile.am:
30778         * docs/manuals.mak:
30779         * docs/pwg/Makefile.am:
30780         * gst/Makefile.am:
30781           possible fixes for automake-1.5
30782
30783 2005-04-28  Wim Taymans  <wim@fluendo.com>
30784
30785         * gst/base/gstbasesink.c: (gst_basesink_base_init),
30786         (gst_basesink_pad_getcaps), (gst_basesink_init),
30787         (gst_basesink_do_sync):
30788         * gst/gstclock.c: (gst_clock_entry_new):
30789         * gst/gstevent.c: (gst_event_discont_get_value):
30790         * gst/gstpipeline.c: (pipeline_bus_handler),
30791         (gst_pipeline_change_state):
30792         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
30793         Better debugging of clocking info.
30794         Allow NULL values when getting discont values.
30795
30796 2005-04-27  Wim Taymans  <wim@fluendo.com>
30797
30798         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
30799         * check/gst/gstpad.c: (gst_pad_suite):
30800         Increase timeout for checks.
30801
30802 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
30803
30804         * check/Makefile.am:
30805           fix the broken rule for cleanup.  Apparently this rule is
30806           only needed on FC2, so maybe this warrants further autotool
30807           inspection.
30808
30809 2005-04-26  Wim Taymans  <wim@fluendo.com>
30810
30811         * gst/gsttrashstack.h:
30812         Ooohh. a nasty one! After having a failed pop() from the stack,
30813         it's possible that the stack is empty. In that case, don't
30814         follow the NULL pointer.
30815
30816 2005-04-25  Wim Taymans  <wim@fluendo.com>
30817
30818         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30819         (gst_pad_set_checkgetrange_function),
30820         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
30821         (gst_pad_check_pull_range), (gst_pad_pull_range),
30822         (gst_static_pad_template_get_caps), (gst_pad_start_task),
30823         (gst_pad_pause_task), (gst_pad_stop_task):
30824         * gst/gstplugin.c: (gst_plugin_load):
30825         * gst/gstplugin.h:
30826         Remove gst_library_load as it does more harm than good with
30827         the new g_module flags.
30828         Revert bogus caps template check in pad linking, pad caps
30829         are important when linking not the template, which is more
30830         general than the current caps.
30831
30832 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30833
30834         * gst/autoplug/.cvsignore:
30835         * gst/autoplug/Makefile.am:
30836         * gst/autoplug/gstsearchfuncs.c:
30837         * gst/autoplug/gstsearchfuncs.h:
30838         * gst/autoplug/gstspider.c:
30839         * gst/autoplug/gstspider.h:
30840         * gst/autoplug/gstspideridentity.c:
30841         * gst/autoplug/gstspideridentity.h:
30842         * gst/autoplug/spidertest.c:
30843           Die, spider, die.
30844
30845 2005-04-25  Wim Taymans  <wim@fluendo.com>
30846
30847         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30848         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
30849         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
30850         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
30851         * gst/gstpad.h:
30852         Added stubs for unimplemented functions. 
30853
30854 2005-04-24  David Schleef  <ds@schleef.org>
30855
30856         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
30857         please fix.
30858
30859 2005-04-24  David Schleef  <ds@schleef.org>
30860
30861         Convert everything from GstAtomicInt to g_atomic_int_*, and
30862         remove gstatomic.
30863         * gst/Makefile.am:
30864         * gst/gstatomic.c:
30865         * gst/gstatomic.h:
30866         * gst/gstatomic_impl.h:
30867         * gst/gstbuffer.c:
30868         * gst/gstcaps.c:
30869         * gst/gstcaps.h:
30870         * gst/gstclock.c:
30871         * gst/gstclock.h:
30872         * gst/gstdata.c:
30873         * gst/gstdata.h:
30874         * gst/gstdata_private.h:
30875         * gst/gstevent.c:
30876         * gst/gstinfo.c:
30877         * gst/gstinfo.h:
30878         * gst/gstmessage.c:
30879         * gst/gstobject.c:
30880         * gst/gstobject.h:
30881         * gst/gststructure.c:
30882         * gst/gststructure.h:
30883         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
30884         * gst/gstutils.h:
30885
30886 2005-04-24  David Schleef  <ds@schleef.org>
30887
30888         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
30889         make the regressions tests work.  Remove some code that is no
30890         longer true.
30891         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
30892         Disable warning for pads without templates.
30893
30894 2005-04-24  David Schleef  <ds@schleef.org>
30895
30896         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
30897         functions that handle filtered links.
30898         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
30899         removed functions.
30900         * gst/gstutils.c: Fix/remove utility functions that handle
30901         filtered caps.
30902         * gst/gstutils.h:
30903         * gst/gstvalue.c: Add serialization/deserialization of caps
30904         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
30905         requires fixing so that the filter caps notation creates
30906         a capsfilter element and sets the filter_caps property.  I
30907         think everyone probably wants to keep the shorthand notation.
30908         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
30909         * docs/gst/tmpl/gstpad.sgml:
30910
30911         * gst/elements/gstelements.c: Register capsfilter element.
30912         * gst/Makefile.am: fix spacing
30913         * docs/random/ds/0.9-suggested-changes: random
30914
30915 2005-04-23  David Schleef  <ds@schleef.org>
30916
30917         * gst/elements/Makefile.am:
30918         * gst/elements/gstcapsfilter.c: New element that acts like an
30919         identity, but filters caps.  Will eventually replace filtered
30920         caps in pad linking.
30921         * gst/gstutils.c: (gst_element_create_all_pads): New function
30922         to create all the ALWAYS pads that are registered with an
30923         element class.  This functionality should eventually be
30924         merged in with GstElement initialization.
30925         * gst/gstutils.h:
30926         * testsuite/trigger/README: part of trigger test code that should
30927         have been checked in a long time ago.
30928
30929 2005-04-23  David Schleef  <ds@schleef.org>
30930
30931         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
30932         needed with new versions of libtool (nobody will confirm this),
30933         and hard to carry around.
30934         * gst/autoplug/Makefile.am:
30935         * gst/base/Makefile.am:
30936         * gst/elements/Makefile.am:
30937         * gst/indexers/Makefile.am:
30938         * gst/schedulers/Makefile.am:
30939         * libs/gst/bytestream/Makefile.am:
30940         * libs/gst/control/Makefile.am:
30941         * libs/gst/dataprotocol/Makefile.am:
30942         * libs/gst/getbits/Makefile.am:
30943
30944 2005-04-21  Wim Taymans  <wim@fluendo.com>
30945
30946         * docs/design/draft-push-pull.txt:
30947         * docs/design/part-MT-refcounting.txt:
30948         * docs/design/part-TODO.txt:
30949         * docs/design/part-caps.txt:
30950         * docs/design/part-events.txt:
30951         * docs/design/part-gstbus.txt:
30952         * docs/design/part-gstpipeline.txt:
30953         * docs/design/part-messages.txt:
30954         * docs/design/part-push-pull.txt:
30955         * docs/design/part-query.txt:
30956         Some more docs.
30957
30958 2005-04-21  Wim Taymans  <wim@fluendo.com>
30959
30960         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
30961         (gst_message_new), (gst_message_new_error),
30962         (gst_message_new_warning), (gst_message_new_tag),
30963         (gst_message_new_state_changed), (gst_message_new_application),
30964         (gst_message_get_structure):
30965         * gst/gstmessage.h:
30966         * gst/gststructure.c: (gst_structure_set_parent_refcount),
30967         (gst_structure_copy_conditional):
30968         Use parent refcount in GstMessage to ensure GstStructure
30969         consistency.
30970         Cleaned up headers a bit.
30971         
30972
30973 2005-04-20  Wim Taymans  <wim@fluendo.com>
30974
30975         * gst/base/gstbasesink.c: (gst_basesink_base_init),
30976         (gst_basesink_pad_getcaps), (gst_basesink_init),
30977         (gst_basesink_chain_unlocked):
30978         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
30979         (gst_type_find_helper):
30980         * gst/elements/gsttypefindelement.c:
30981         (gst_type_find_element_have_type), (gst_type_find_element_init),
30982         (stop_typefinding), (gst_type_find_element_handle_event),
30983         (find_suggest), (gst_type_find_element_chain),
30984         (gst_type_find_element_checkgetrange),
30985         (gst_type_find_element_getrange), (do_typefind),
30986         (gst_type_find_element_activate):
30987         * gst/gstbuffer.c: (_gst_buffer_sub_free),
30988         (gst_buffer_default_free), (gst_buffer_default_copy),
30989         (gst_buffer_set_caps):
30990         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
30991         (gst_caps_replace):
30992         * gst/gstmessage.c: (gst_message_new),
30993         (gst_message_new_state_changed):
30994         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30995         (gst_pad_set_checkgetrange_function),
30996         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
30997         (gst_pad_set_caps), (gst_pad_check_pull_range),
30998         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
30999         * gst/gstpad.h:
31000         * gst/gsttypefind.c: (gst_type_find_register):
31001         Make gst_caps_replace() work like other _replace() functions.
31002         Use _caps_replace() where possible.
31003         Make sure _message_new() initialises its field.
31004         Add gst_static_pad_template_get_caps()
31005
31006
31007 2005-04-18  Andy Wingo  <wingo@pobox.com>
31008
31009         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
31010         on the peer, not the pad. I think that was a typo. Pass an extra
31011         arg to see if random access is possible. Activate the pads as
31012         PULL_RANGE if possible.
31013
31014         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
31015
31016         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
31017         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
31018         to PROP_....
31019
31020 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31021
31022         * docs/faq/using.xml:
31023           Add note on gstreamer-properties (#154996).
31024
31025 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31026
31027         * docs/random/bbb/optional-properties:
31028           Some analysis on optional properties.
31029
31030 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31031
31032         * docs/gst/tmpl/gstelementfactory.sgml:
31033         * gst/gstelement.h:
31034         * gst/gstelementfactory.c: (gst_element_factory_init),
31035         (gst_element_factory_cleanup), (gst_element_register),
31036         (__gst_element_factory_add_static_pad_template),
31037         (gst_element_factory_get_static_pad_templates),
31038         (gst_element_factory_can_src_caps),
31039         (gst_element_factory_can_sink_caps):
31040         * gst/registries/Makefile.am:
31041         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
31042         (gst_xml_registry_class_init), (gst_xml_registry_init),
31043         (gst_xml_registry_new), (gst_xml_registry_set_property),
31044         (gst_xml_registry_get_property), (get_time), (make_dir),
31045         (gst_xml_registry_get_perms_func),
31046         (plugin_times_older_than_recurse), (plugin_times_older_than),
31047         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
31048         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
31049         (add_to_char_array), (read_string), (read_uint), (read_enum),
31050         (load_pad_template), (load_feature), (load_plugin), (load_paths),
31051         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
31052         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
31053         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
31054         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
31055         (gst_xml_registry_rebuild):
31056         * gst/registries/gstlibxmlregistry.h:
31057         * tools/gst-compprep.c: (main):
31058         * tools/gst-inspect.c: (print_pad_templates_info):
31059         * tools/gst-xmlinspect.c: (print_element_info):
31060           Use libxml2 for registry parsing, use staticpadtemplates in
31061           elementfactories. Makes gst_init() +/- 10x faster.
31062
31063 2005-04-12  Wim Taymans  <wim@fluendo.com>
31064
31065         * gst/base/Makefile.am:
31066         * gst/base/gstbasesink.c: (gst_basesink_base_init),
31067         (gst_basesink_pad_getcaps), (gst_basesink_init),
31068         (gst_basesink_event), (gst_basesink_change_state):
31069         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31070         (gst_basesrc_init), (gst_basesrc_query),
31071         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
31072         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
31073         (gst_basesrc_check_get_range), (gst_basesrc_loop),
31074         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
31075         (gst_basesrc_stop), (gst_basesrc_activate),
31076         (gst_basesrc_change_state):
31077         * gst/base/gsttypefindhelper.c: (helper_find_peek),
31078         (helper_find_suggest), (gst_type_find_helper):
31079         * gst/base/gsttypefindhelper.h:
31080         * gst/elements/Makefile.am:
31081         * gst/elements/gstelements.c:
31082         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
31083         (gst_fakesink_get_times), (gst_fakesink_event),
31084         (gst_fakesink_preroll), (gst_fakesink_render):
31085         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
31086         (gst_fakesrc_init), (gst_fakesrc_event_handler),
31087         (gst_fakesrc_get_property), (gst_fakesrc_create),
31088         (gst_fakesrc_start), (gst_fakesrc_stop):
31089         * gst/elements/gstfakesrc.h:
31090         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
31091         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
31092         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
31093         (gst_filesrc_create_read), (gst_filesrc_create),
31094         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
31095         (gst_filesrc_start):
31096         * gst/elements/gsttypefindelement.c:
31097         (gst_type_find_element_have_type), (gst_type_find_element_init),
31098         (start_typefinding), (stop_typefinding), (push_buffer_store),
31099         (gst_type_find_element_handle_event),
31100         (gst_type_find_element_chain),
31101         (gst_type_find_element_checkgetrange),
31102         (gst_type_find_element_getrange), (do_typefind),
31103         (gst_type_find_element_activate),
31104         (gst_type_find_element_change_state):
31105         * gst/elements/gsttypefindelement.h:
31106         * gst/gstpipeline.c: (pipeline_bus_handler):
31107         Added typefind helper.
31108         Small preroll fix in the base sink.
31109         Disable typefind code in basesrc.
31110         Crude port of typefindelement.
31111         Fakesrc cleanups.
31112
31113
31114 2005-04-11  Wim Taymans  <wim@fluendo.com>
31115
31116         * check/gst/gstbus.c: (gstbus_suite):
31117         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
31118         * check/gstcheck.h:
31119           Fix up the timeout so that the test does not fail.
31120
31121 2005-04-06  Wim Taymans  <wim@fluendo.com>
31122
31123         * gst/base/README:
31124         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31125         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
31126         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
31127         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
31128         (gst_basesrc_check_get_range), (gst_basesrc_loop),
31129         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
31130         (gst_basesrc_stop), (gst_basesrc_activate),
31131         (gst_basesrc_change_state), (basesrc_find_peek),
31132         (basesrc_find_suggest), (gst_basesrc_type_find):
31133         * gst/base/gstbasesrc.h:
31134         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
31135         (gst_filesrc_class_init), (gst_filesrc_init),
31136         (gst_filesrc_finalize), (gst_filesrc_set_location),
31137         (gst_filesrc_set_property), (gst_filesrc_get_property),
31138         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
31139         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
31140         (gst_filesrc_create_read), (gst_filesrc_create),
31141         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
31142         * gst/elements/gstfilesrc.h:
31143         * gst/gstelement.c: (gst_element_get_state_func),
31144         (gst_element_lost_state), (gst_element_pads_activate):
31145         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31146         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
31147         (gst_pad_pull_range):
31148         * gst/gstpad.h:
31149         More work on the generic source base class, implement seeking,
31150         query.
31151         Make filesrc extend the base source class.
31152         Added gst_pad_set_checkgetrange_function to GstPad.
31153
31154 2005-04-06  Andy Wingo  <wingo@pobox.com>
31155
31156         * pkgconfig/gstreamer-base.pc.in:
31157         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
31158
31159         * pkgconfig/Makefile.am:
31160         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
31161
31162 2005-04-04  Wim Taymans  <wim@fluendo.com>
31163
31164         * gst/base/Makefile.am:
31165         * gst/base/README:
31166         * gst/base/gstbasesink.c: (gst_basesink_base_init),
31167         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
31168         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
31169         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
31170         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31171         (gst_basesrc_base_init), (gst_basesrc_class_init),
31172         (gst_basesrc_init), (gst_basesrc_get_formats),
31173         (gst_basesrc_get_query_types), (gst_basesrc_query),
31174         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
31175         (gst_basesrc_set_property), (gst_basesrc_get_property),
31176         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
31177         (gst_basesrc_loop), (gst_basesrc_activate),
31178         (gst_basesrc_change_state):
31179         * gst/base/gstbasesrc.h:
31180         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
31181         (gst_fakesrc_class_init), (gst_fakesrc_init),
31182         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
31183         (gst_fakesrc_get_property), (gst_fakesrc_create):
31184         * gst/elements/gstfakesrc.h:
31185         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
31186         (gst_filesrc_open_file), (gst_filesrc_loop),
31187         (gst_filesrc_activate), (filesrc_find_peek),
31188         (gst_filesrc_type_find):
31189         Made base source class, make fakesrc extend it.
31190         Add comments to basesink class.
31191         Some filesrc cleanup.
31192
31193 2005-03-31  David Schleef  <ds@schleef.org>
31194
31195         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
31196         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
31197         expected to link against libgstreamer.
31198         * gst/base/Makefile.am: link against libgstreamer
31199         * gst/elements/Makefile.am: same
31200
31201 2005-03-31  Andy Wingo  <wingo@pobox.com>
31202
31203         * tests/instantiate/Makefile.am:
31204         * tests/instantiate/caps.c: Add test to test speed of caps copy
31205         and free.
31206
31207         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
31208         GMemChunk to be fair.
31209
31210         * gst/gsttrashstack.h: Remove warning about using the fallback
31211         trash stack implementation, it's still faster than malloc.
31212
31213 2005-03-30  Andy Wingo  <wingo@pobox.com>
31214
31215         * tests/complexity.c: Add a copyright.
31216
31217 2005-03-31  Wim Taymans  <wim@fluendo.com>
31218
31219         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
31220         (gst_base_transform_class_init), (gst_base_transform_init),
31221         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
31222         (gst_base_transform_get_property),
31223         (gst_base_transform_sink_activate),
31224         (gst_base_transform_src_activate),
31225         (gst_base_transform_change_state):
31226         * gst/base/gstbasetransform.h:
31227         * gst/elements/gstidentity.c: (gst_identity_class_init),
31228         (gst_identity_event), (gst_identity_check_perfect),
31229         (gst_identity_transform), (gst_identity_start),
31230         (gst_identity_stop):
31231         Added start/stop methods to transform base class so subclasses 
31232         don't need to deal with state changes even.
31233
31234 2005-03-31  Wim Taymans  <wim@fluendo.com>
31235
31236         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
31237         (gst_event_new_discontinuous), (gst_event_discont_get_value):
31238         * gst/gstevent.h:
31239         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31240         (gst_pad_pull_range):
31241         Added rate to the discont event to prepare for variable speed
31242         and reverse playback.
31243
31244 2005-03-29  David Schleef  <ds@schleef.org>
31245
31246         * configure.ac:
31247         * testsuite/trigger/Makefile.am:
31248         * testsuite/trigger/trigger.c: A little example program to show
31249         how trigger-based elements can work.
31250
31251 2005-03-29  Wim Taymans  <wim@fluendo.com>
31252
31253         * gst/base/Makefile.am:
31254         * gst/base/README:
31255         * gst/base/gstbasesink.c: (gst_basesink_get_type),
31256         (gst_basesink_base_init), (gst_basesink_class_init),
31257         (gst_basesink_pad_getcaps), (gst_basesink_init),
31258         (gst_basesink_activate), (gst_basesink_change_state):
31259         * gst/base/gstbasesink.h:
31260         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
31261         (gst_base_transform_base_init), (gst_base_transform_finalize),
31262         (gst_base_transform_class_init), (gst_base_transform_init),
31263         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
31264         (gst_base_transform_event), (gst_base_transform_getrange),
31265         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
31266         (gst_base_transform_set_property),
31267         (gst_base_transform_get_property),
31268         (gst_base_transform_sink_activate),
31269         (gst_base_transform_src_activate),
31270         (gst_base_transform_change_state):
31271         * gst/base/gstbasetransform.h:
31272         * gst/elements/gstidentity.c: (gst_identity_finalize),
31273         (gst_identity_class_init), (gst_identity_init),
31274         (gst_identity_event), (gst_identity_check_perfect),
31275         (gst_identity_transform), (gst_identity_set_property),
31276         (gst_identity_get_property), (gst_identity_change_state):
31277         * gst/elements/gstidentity.h:
31278         * gst/gstelement.c: (gst_element_get_state_func),
31279         (gst_element_lost_state), (gst_element_pads_activate):
31280         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31281         (gst_pad_check_pull_range), (gst_pad_pull_range):
31282         * gst/gstpad.h:
31283         Simplify pad activation.
31284         Added function to check if pull_range can be performed.
31285         Error out when pulling inactive or flushing pads.
31286         Removed const from refcounted types as it does not make sense.
31287         Simplify pad templates in basesink
31288         Added base class for simple 1-to-1 transforms.
31289         Make identity subclass the base transform.
31290
31291 2005-03-29  Andy Wingo  <wingo@pobox.com>
31292
31293         * docs/libs/gstreamer-libs-overrides.txt: 
31294         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
31295         really don't understand what's going on, but like whatever. I want
31296         green buildbot!
31297
31298         * docs/gst/Makefile.am:
31299         * docs/libs/Makefile.am: Dist the overrides files.
31300
31301         * check/Makefile.am (clean-local): Remove .libs directories.
31302
31303         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
31304         elements to EXTRA_DIST, so po/ files are happy.
31305
31306         * po/POTFILES.in: Er, remove it here.
31307
31308         * po/POTFILES: Remove gstspider.c.
31309
31310         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
31311
31312         * docs/libs/gstreamer-libs-docs.sgml: 
31313         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
31314         bytestream.
31315
31316         * tests/complexity.c (main): Set the length of the preroll queue
31317         on the sinks to prevent a lockup.
31318
31319         * libs/gst/dataprotocol/Makefile.am: 
31320         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
31321         the same as the one in check/gst-libs/gdp.c.
31322
31323         * po/, docs/gst/: Commit automatic changes to docs and po files.
31324
31325         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
31326         the versioned libgstbase.
31327
31328         * check/Makefile.am: Depend on an unversioned gst-register, seems
31329         to make autoconf happier.
31330
31331         * gst/base/Makefile.am: Make libgstbase a versioned lib.
31332
31333 2005-03-28  Wim Taymans  <wim@fluendo.com>
31334
31335         * configure.ac:
31336         * docs/design/part-gstelement.txt:
31337         * docs/design/part-negotiation.txt:
31338         * docs/design/part-preroll.txt:
31339         * docs/design/part-scheduling.txt:
31340         * docs/design/part-states.txt:
31341         * gst/Makefile.am:
31342         * gst/base/Makefile.am:
31343         * gst/base/README:
31344         * gst/base/gstbasesink.c: (gst_basesink_get_template),
31345         (gst_basesink_base_init), (gst_basesink_class_init),
31346         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
31347         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
31348         (gst_basesink_set_pad_functions),
31349         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
31350         (gst_basesink_set_property), (gst_basesink_get_property),
31351         (gst_base_sink_get_template), (gst_base_sink_get_caps),
31352         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
31353         (gst_basesink_preroll_queue_push),
31354         (gst_basesink_preroll_queue_empty),
31355         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
31356         (gst_basesink_event), (gst_basesink_get_times),
31357         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
31358         (gst_basesink_chain_unlocked), (gst_basesink_chain),
31359         (gst_basesink_loop), (gst_basesink_activate),
31360         (gst_basesink_change_state):
31361         * gst/base/gstbasesink.h:
31362         * gst/elements/Makefile.am:
31363         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
31364         (gst_fakesink_class_init), (gst_fakesink_init),
31365         (gst_fakesink_set_property), (gst_fakesink_get_property),
31366         (gst_fakesink_get_times), (gst_fakesink_event),
31367         (gst_fakesink_preroll), (gst_fakesink_render),
31368         (gst_fakesink_change_state):
31369         * gst/elements/gstfakesink.h:
31370         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31371         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
31372         * gst/gstelement.c: (gst_element_add_pad),
31373         (gst_element_get_state_func), (gst_element_abort_state),
31374         (gst_element_commit_state), (gst_element_lost_state),
31375         (gst_element_set_state), (gst_element_pads_activate):
31376         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
31377         * gst/gstpipeline.c: (gst_pipeline_send_event),
31378         (gst_pipeline_change_state):
31379         Added state change code.
31380         Added/updated docs.
31381         Added sink base class, make fakesink extend the base class.
31382         Small cleanups in GstPipeline.
31383
31384 2005-03-26  David Schleef  <ds@schleef.org>
31385
31386         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
31387         is broken and should be implemented in a different library.
31388         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
31389         * gst/gst.h: remove gstcpu.h
31390         * gst/gstcpu.c: remove
31391         * gst/gstcpu.h: remove
31392         * gst/Makefile.am.future: Remove this file.  It's ancient.
31393
31394 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31395
31396         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31397         (gst_bin_send_event):
31398           Add default event/set_manager handlers. The set_manager handler
31399           takes care that the manager is distributed over kids that were
31400           already in the bin before the manager was set. The event handler
31401           is a utility virtual function that sends the event over all sinks,
31402           so that gst_element_send_event (bin, event); has the expected
31403           behaviour.
31404         * gst/gstpad.c: (gst_pad_event_default):
31405           Re-install default event handling for discontinuities, so that
31406           seeking works without requiring hacks in applications or extra
31407           code in sinks.
31408         * gst/gstpipeline.c: (gst_pipeline_class_init),
31409         (gst_pipeline_send_event):
31410           Half hack, half utility: set a pipeline to PAUSED for seek events,
31411           since that is the only way we can guarantee a/v sync. Means that
31412           you can do gst_element_seek (pipeline, method, pos); on a pipeline
31413           and it "just works".
31414
31415 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31416
31417         * gst/gstpipeline.c: (gst_pipeline_use_clock):
31418           Lock/unlock mismatch.
31419
31420 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
31421
31422         * docs/faq/gst-uninstalled:
31423           add gst-plugins-base
31424         * docs/gst/Makefile.am:
31425           don't error out until docs are fixed
31426         * docs/gst/gstreamer.types:
31427           remove thread
31428
31429 2005-03-22  Wim Taymans  <wim@fluendo.com>
31430
31431         * check/Makefile.am:
31432         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
31433         * gst/gststructure.c: (gst_structure_set_valist),
31434         (gst_structure_copy_conditional):
31435         Activated more tests.
31436         Added message test.
31437         Added G_TYPE_POINTER to GstStructure.
31438         
31439
31440 2005-03-22  Wim Taymans  <wim@fluendo.com>
31441
31442         * docs/design/part-TODO.txt:
31443         * docs/design/part-events.txt:
31444         * docs/design/part-gstbin.txt:
31445         * docs/design/part-gstbus.txt:
31446         * docs/design/part-gstpipeline.txt:
31447         * docs/design/part-messages.txt:
31448         * gst/gstbus.c:
31449         * gst/gstmessage.c:
31450         Docs updates
31451
31452 2005-03-21  Wim Taymans  <wim@fluendo.com>
31453
31454         * gst/gstbus.c: (gst_bus_post):
31455         Fix copy-and-paste error.
31456
31457 2005-03-21  Wim Taymans  <wim@fluendo.com>
31458
31459         * check/Makefile.am:
31460         * gst/Makefile.am:
31461         * gst/elements/Makefile.am:
31462         * gst/elements/gstelements.c:
31463         * gst/elements/gstfakesink.c: (gst_fakesink_init),
31464         (gst_fakesink_event), (gst_fakesink_chain):
31465         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
31466         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
31467         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
31468         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
31469         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
31470         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
31471         (gst_fakesrc_loop), (gst_fakesrc_activate),
31472         (gst_fakesrc_change_state):
31473         * gst/elements/gstfakesrc.h:
31474         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
31475         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
31476         (gst_filesrc_open_file), (gst_filesrc_loop),
31477         (gst_filesrc_activate), (gst_filesrc_change_state),
31478         (filesrc_find_peek), (filesrc_find_suggest),
31479         (gst_filesrc_type_find):
31480         * gst/elements/gstidentity.c: (gst_identity_finalize),
31481         (gst_identity_class_init), (gst_identity_init),
31482         (gst_identity_proxy_getcaps), (identity_queue_push),
31483         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
31484         (gst_identity_getrange), (gst_identity_chain),
31485         (gst_identity_sink_loop), (gst_identity_src_loop),
31486         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
31487         (gst_identity_set_property), (gst_identity_get_property),
31488         (gst_identity_change_state):
31489         * gst/elements/gstidentity.h:
31490         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
31491         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
31492         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
31493         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
31494         (gst_tee_sink_activate):
31495         * gst/elements/gsttee.h:
31496         * gst/gst.c: (gst_register_core_elements), (init_post):
31497         * gst/gst.h:
31498         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
31499         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
31500         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
31501         (gst_bin_change_state):
31502         * gst/gstbin.h:
31503         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
31504         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
31505         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
31506         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
31507         (gst_bus_set_sync_handler), (gst_bus_create_watch),
31508         (bus_watch_callback), (bus_watch_destroy),
31509         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
31510         (poll_timeout), (gst_bus_poll):
31511         * gst/gstbus.h:
31512         * gst/gstcaps.h:
31513         * gst/gstdata.h:
31514         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
31515         (gst_element_post_message), (gst_element_message_full),
31516         (gst_element_get_state_func), (gst_element_get_state),
31517         (gst_element_abort_state), (gst_element_commit_state),
31518         (gst_element_lost_state), (gst_element_set_state),
31519         (gst_element_pads_activate), (gst_element_change_state),
31520         (gst_element_dispose), (gst_element_set_manager_func),
31521         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
31522         (gst_element_set_manager), (gst_element_get_manager),
31523         (gst_element_set_bus), (gst_element_get_bus),
31524         (gst_element_set_scheduler), (gst_element_get_scheduler):
31525         * gst/gstelement.h:
31526         * gst/gstevent.c: (gst_event_new_segment_seek),
31527         (gst_event_new_flush):
31528         * gst/gstevent.h:
31529         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
31530         (_gst_message_free), (gst_message_get_type), (gst_message_new),
31531         (gst_message_new_eos), (gst_message_new_error),
31532         (gst_message_new_warning), (gst_message_new_tag),
31533         (gst_message_new_state_changed), (gst_message_new_application),
31534         (gst_message_get_structure), (gst_message_parse_tag),
31535         (gst_message_parse_state_changed), (gst_message_parse_error),
31536         (gst_message_parse_warning):
31537         * gst/gstmessage.h:
31538         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
31539         (gst_real_pad_set_property), (gst_pad_set_active),
31540         (gst_pad_is_active), (gst_pad_set_blocked_async),
31541         (gst_pad_set_blocked), (gst_pad_is_blocked),
31542         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
31543         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
31544         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
31545         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
31546         (gst_pad_link_filtered), (gst_pad_relink_filtered),
31547         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
31548         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
31549         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
31550         (gst_pad_set_caps), (gst_pad_configure_sink),
31551         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
31552         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
31553         (gst_real_pad_dispose), (gst_real_pad_finalize),
31554         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
31555         (gst_pad_event_default_dispatch), (gst_pad_event_default),
31556         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
31557         * gst/gstpad.h:
31558         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
31559         (pipeline_bus_handler), (gst_pipeline_change_state),
31560         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
31561         * gst/gstpipeline.h:
31562         * gst/gstprobe.h:
31563         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
31564         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
31565         (gst_queue_link_src), (gst_queue_bufferalloc),
31566         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
31567         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
31568         (gst_queue_loop), (gst_queue_handle_src_event),
31569         (gst_queue_handle_src_query), (gst_queue_src_activate),
31570         (gst_queue_change_state):
31571         * gst/gstqueue.h:
31572         * gst/gstscheduler.c: (gst_scheduler_init),
31573         (gst_scheduler_dispose), (gst_scheduler_create_task),
31574         (gst_scheduler_factory_create):
31575         * gst/gstscheduler.h:
31576         * gst/gststructure.c: (gst_structure_get_type),
31577         (gst_structure_copy_conditional):
31578         * gst/gststructure.h:
31579         * gst/gsttaginterface.h:
31580         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
31581         (gst_task_init), (gst_task_dispose), (gst_task_create),
31582         (gst_task_get_state), (gst_task_start), (gst_task_stop),
31583         (gst_task_pause):
31584         * gst/gsttask.h:
31585         * gst/gstthread.c:
31586         * gst/gstthread.h:
31587         * gst/gsttypes.h:
31588         * gst/schedulers/Makefile.am:
31589         * gst/schedulers/cothreads_compat.h:
31590         * gst/schedulers/entryscheduler.c:
31591         * gst/schedulers/faircothreads.c:
31592         * gst/schedulers/faircothreads.h:
31593         * gst/schedulers/fairscheduler.c:
31594         * gst/schedulers/gstbasicscheduler.c:
31595         * gst/schedulers/gstoptimalscheduler.c:
31596         * gst/schedulers/gthread-cothreads.h:
31597         * gst/schedulers/threadscheduler.c:
31598         (gst_thread_scheduler_task_get_type),
31599         (gst_thread_scheduler_task_class_init),
31600         (gst_thread_scheduler_task_init),
31601         (gst_thread_scheduler_task_start),
31602         (gst_thread_scheduler_task_stop),
31603         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
31604         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
31605         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
31606         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
31607         (plugin_init):
31608         * libs/gst/Makefile.am:
31609         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
31610         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
31611         (gst_file_pad_parent_set):
31612         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
31613         (gst_dp_event_from_packet):
31614         * tests/complexity.c: (main):
31615         * tests/mass_elements.c: (main):
31616         * testsuite/states/locked.c: (message_received), (main):
31617         * testsuite/states/parent.c: (main):
31618         * tools/gst-inspect.c: (print_element_flag_info),
31619         (print_implementation_info), (print_pad_info):
31620         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
31621         (main):
31622         * tools/gst-md5sum.c: (event_loop), (main):
31623         * tools/gst-typefind.c: (main):
31624         * tools/gst-xmlinspect.c: (print_element_info):
31625         Next big merge.
31626         Added GstBus for mainloop integration.
31627         Added GstMessage for sending notifications on the bus.
31628         Added GstTask as an abstraction for pipeline entry points.
31629         Removed GstThread.
31630         Removed Schedulers.
31631         Simplified GstQueue for multithreaded core.
31632         Made _link threadsafe, removed old capsnego.
31633         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
31634         Added pad blocking functions.
31635         Reworked scheduling functions in GstPad to prepare for
31636         scheduling updates soon.
31637         Moved events out of data stream.
31638         Simplified GstEvent types.
31639         Added return values to push/pull.
31640         Removed clocking from GstElement.
31641         Added prototypes for state change function for next merge.
31642         Removed iterate from bins and state change management.
31643         Fixed some elements, disabled others for now.
31644         Fixed -inspect and -launch.
31645         Added check for GstBus.
31646
31647 2005-03-10  Wim Taymans  <wim@fluendo.com>
31648
31649         * docs/design/part-MT-refcounting.txt:
31650         * docs/design/part-clocks.txt:
31651         * docs/design/part-gstelement.txt:
31652         * docs/design/part-gstobject.txt:
31653         * docs/design/part-standards.txt:
31654         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31655         (gst_bin_remove_func), (gst_bin_remove):
31656         * gst/gstbin.h:
31657         * gst/gstbuffer.c:
31658         * gst/gstcaps.h:
31659         * testsuite/clock/clock1.c: (main):
31660         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
31661         (main):
31662         * testsuite/dlopen/loadgst.c: (do_test):
31663         * testsuite/refcounting/bin.c: (add_remove_test1),
31664         (add_remove_test2), (main):
31665         * testsuite/refcounting/element.c: (main):
31666         * testsuite/refcounting/element_pad.c: (main):
31667         * testsuite/refcounting/pad.c: (main):
31668         * tools/gst-launch.c: (sigint_handler_sighandler):
31669         * tools/gst-typefind.c: (main):
31670         Doc updates.
31671         Added doc about clock.
31672         removed gst_bin_iterate_recurse_up(), marked methods
31673         for removal.
31674         Fix more testsuites.
31675
31676 2005-03-09  Wim Taymans  <wim@fluendo.com>
31677
31678         * gst/gstpad.c: (gst_pad_get_direction),
31679         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
31680         (gst_pad_collect_valist):
31681         * testsuite/bins/interface.c: (main):
31682         * testsuite/caps/audioscale.c: (test_caps):
31683         * testsuite/caps/caps.c: (test1), (test2), (test3):
31684         * testsuite/caps/deserialize.c: (main):
31685         * testsuite/caps/enumcaps.c: (main):
31686         * testsuite/caps/filtercaps.c: (main):
31687         * testsuite/caps/intersect2.c: (main):
31688         * testsuite/caps/random.c: (main):
31689         * testsuite/caps/renegotiate.c: (my_fixate), (main):
31690         * testsuite/caps/sets.c: (check_caps):
31691         * testsuite/caps/simplify.c: (check_caps), (main):
31692         * testsuite/caps/subtract.c: (check_caps):
31693         Fix _pad_get_direction wrt ghostpads.
31694         Fix caps testsuite.
31695
31696 2005-03-09  Wim Taymans  <wim@fluendo.com>
31697
31698         * check/Makefile.am:
31699         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
31700         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
31701         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
31702         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
31703         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
31704         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
31705         (gst_bin_remove), (gst_bin_iterate_recurse_up),
31706         (bin_element_is_sink), (gst_bin_iterate_sinks),
31707         (gst_bin_iterate_all_by_interface):
31708         * gst/gstbin.h:
31709         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
31710         (gst_element_change_state), (gst_element_dispose),
31711         (gst_element_finalize), (gst_element_set_loop_function):
31712         * gst/gstelement.h:
31713         * gst/gstiterator.c: (find_custom_fold_func):
31714         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31715         (gst_pad_collectv), (gst_pad_collect_valist),
31716         (gst_pad_template_new):
31717         * gst/gstpipeline.c: (gst_pipeline_class_init),
31718         (gst_pipeline_dispose), (gst_pipeline_set_property),
31719         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
31720         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
31721         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
31722         * gst/gstutils.h:
31723         * gst/schedulers/entryscheduler.c:
31724         * gst/schedulers/gstbasicscheduler.c:
31725         (gst_basic_scheduler_cothreaded_chain),
31726         (gst_basic_scheduler_chain_add_element):
31727         * testsuite/bins/interface.c: (main):
31728         Added GstBin test.
31729         Added GstSystemClock test.
31730         Implemented clock distribution code in GstBin.
31731         Implemented iterate sinks method for future use.
31732         Rearranged gstelement.h
31733         Fix GstIterator comparison bug.
31734         Moved some code to GstPipeline, mostly clocking related.
31735
31736 2005-03-09  Wim Taymans  <wim@fluendo.com>
31737
31738         * configure.ac:
31739         * gst/gst_private.h:
31740         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31741         (gst_bin_remove_func), (gst_bin_remove),
31742         (gst_bin_get_by_name_recurse_up):
31743         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
31744         (gst_clock_id_compare_func), (gst_clock_id_wait),
31745         (gst_clock_id_wait_async), (gst_clock_init),
31746         (gst_clock_adjust_unlocked), (gst_clock_get_time):
31747         * gst/gstelement.h:
31748         * gst/gstinfo.c: (_gst_debug_init):
31749         * gst/gstobject.h:
31750         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31751         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
31752         * gst/gstpad.h:
31753         Bump version number, we're now 0.9.0
31754         Add future debugging category.
31755         Fix NULL _unref() in _get_by_name_recurse_up
31756         Rearrange gstpad.h.
31757         Update some docs.
31758
31759 2005-03-08  Wim Taymans  <wim@fluendo.com>
31760
31761         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
31762         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
31763         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
31764         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
31765         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
31766         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
31767         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
31768         * gst/elements/gstidentity.c: (gst_identity_class_init):
31769         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
31770         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
31771         * gst/elements/gstshaper.c: (gst_shaper_class_init):
31772         * gst/elements/gststatistics.c: (gst_statistics_class_init):
31773         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
31774         (gst_tee_link):
31775         * gst/gstelement.c: (gst_element_class_init),
31776         (gst_element_base_class_init), (gst_element_init),
31777         (gst_element_get_random_pad), (gst_element_wait_state_change),
31778         (gst_element_change_state), (gst_element_dispose),
31779         (gst_element_finalize), (gst_element_set_loop_function):
31780         * gst/gstelement.h:
31781         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
31782         * gst/gstthread.c: (gst_thread_class_init),
31783         (gst_thread_release_children_locks), (gst_thread_change_state):
31784         * gst/schedulers/gstbasicscheduler.c:
31785         (gst_basic_scheduler_loopfunc_wrapper),
31786         (gst_basic_scheduler_chain_wrapper),
31787         (gst_basic_scheduler_src_wrapper),
31788         (gst_basic_scheduler_remove_element):
31789         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
31790         Remove threadsafe properties. Fix elements because GObject
31791         complains when installing a property before declaring a
31792         set/get_property handler.
31793         Rearrange gstelement.h file, use STATE macros for state locks.
31794         Free mutexes in the finalize method instead of dispose.
31795
31796 2005-03-08  Wim Taymans  <wim@fluendo.com>
31797
31798         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
31799         * gst/gstthread.c: (gst_thread_release_children_locks):
31800         Added parentage check.
31801         Fix build og GstThread again.
31802
31803 2005-03-08  Wim Taymans  <wim@fluendo.com>
31804
31805         * docs/design/part-MT-refcounting.txt:
31806         * docs/design/part-conventions.txt:
31807         * docs/design/part-gstobject.txt:
31808         * docs/design/part-relations.txt:
31809         * docs/design/part-standards.txt:
31810         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31811         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
31812         (gst_bin_get_by_name), (gst_bin_get_by_interface),
31813         (gst_bin_iterate_all_by_interface):
31814         * gst/gstbuffer.h:
31815         * gst/gstclock.h:
31816         * gst/gstelement.c: (gst_element_class_init),
31817         (gst_element_change_state), (gst_element_set_loop_function):
31818         * gst/gstelement.h:
31819         * gst/gstiterator.c:
31820         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
31821         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
31822         (gst_object_dispatch_properties_changed), (gst_object_set_name),
31823         (gst_object_set_parent), (gst_object_unparent),
31824         (gst_object_check_uniqueness):
31825         * gst/gstobject.h:
31826         Docs updates, clean up some headers.
31827
31828 2005-03-07  Wim Taymans  <wim@fluendo.com>
31829
31830         * check/.cvsignore:
31831         * check/Makefile.am:
31832         * check/gst-libs/.cvsignore:
31833         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
31834         * check/gst/.cvsignore:
31835         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
31836         (START_TEST), (gstbus_suite), (main):
31837         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
31838         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
31839         (gst_data_suite), (main):
31840         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
31841         (add_fold_func), (gstiterator_suite), (main):
31842         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
31843         (thread_name_object), (thread_name_object_default),
31844         (gst_object_name_compare), (gst_object_suite), (main):
31845         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
31846         (gst_pad_suite), (main):
31847         * check/gstcheck.c: (gst_check_log_message_func),
31848         (gst_check_log_critical_func), (gst_check_init):
31849         * check/gstcheck.h:
31850         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
31851         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
31852         Added checks.
31853
31854 2005-03-07  Wim Taymans  <wim@fluendo.com>
31855
31856         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
31857         (gst_list_iterator_next), (gst_list_iterator_resync),
31858         (gst_list_iterator_free), (gst_iterator_new_list),
31859         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
31860         (gst_iterator_free), (gst_iterator_push), (filter_next),
31861         (filter_resync), (filter_uninit), (filter_free),
31862         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
31863         (gst_iterator_foreach), (find_custom_fold_func),
31864         (gst_iterator_find_custom):
31865         * gst/gstiterator.h:
31866         Added missing files.
31867
31868 2005-03-07  Wim Taymans  <wim@fluendo.com>
31869
31870         * Makefile.am:
31871         * configure.ac:
31872         * docs/design/part-MT-refcounting.txt:
31873         * docs/design/part-conventions.txt:
31874         * docs/design/part-gstobject.txt:
31875         * docs/design/part-relations.txt:
31876         * examples/mixer/mixer.c: (main):
31877         * examples/thread/thread.c: (eos), (main):
31878         * gst/Makefile.am:
31879         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
31880         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
31881         (gst_spider_plug_from_srcpad):
31882         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
31883         (gst_spider_identity_change_state),
31884         (gst_spider_identity_sink_loop_type_finding):
31885         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
31886         * gst/elements/gstidentity.c: (gst_identity_init):
31887         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
31888         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
31889         * gst/elements/gsttypefindelement.c: (free_entry):
31890         * gst/gst.c:
31891         * gst/gst.h:
31892         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
31893         (gst_bin_set_clock_func), (gst_bin_auto_clock),
31894         (gst_bin_set_index), (gst_bin_set_element_sched),
31895         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
31896         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
31897         (gst_bin_iterate_elements), (iterate_child_recurse),
31898         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
31899         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
31900         (compare_interface), (gst_bin_get_by_interface),
31901         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
31902         * gst/gstbin.h:
31903         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
31904         (gst_buffer_default_free), (gst_buffer_default_copy),
31905         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
31906         (gst_buffer_create_sub):
31907         * gst/gstbuffer.h:
31908         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
31909         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
31910         (gst_caps_unref), (gst_static_caps_get),
31911         (gst_caps_remove_and_get_structure), (gst_caps_append),
31912         (gst_caps_append_structure), (gst_caps_remove_structure),
31913         (gst_caps_copy_nth), (gst_caps_set_simple),
31914         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
31915         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
31916         (gst_caps_structure_intersect_field), (gst_caps_intersect),
31917         (gst_caps_structure_subtract_field), (gst_caps_subtract),
31918         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
31919         (gst_caps_structure_figure_out_union),
31920         (gst_caps_switch_structures), (gst_caps_do_simplify),
31921         (gst_caps_replace), (gst_caps_from_string),
31922         (gst_caps_copy_conditional):
31923         * gst/gstcaps.h:
31924         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
31925         (_gst_clock_id_free), (gst_clock_id_unref),
31926         (gst_clock_id_compare_func), (gst_clock_id_wait),
31927         (gst_clock_id_wait_async), (gst_clock_class_init),
31928         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
31929         (gst_clock_get_time), (gst_clock_set_time_adjust),
31930         (gst_clock_set_property), (gst_clock_get_property):
31931         * gst/gstclock.h:
31932         * gst/gstcompat.h:
31933         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
31934         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
31935         * gst/gstdata.h:
31936         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
31937         (gst_element_requires_clock), (gst_element_provides_clock),
31938         (gst_element_set_clock), (gst_element_clock_wait),
31939         (gst_element_wait), (gst_element_set_time_delay),
31940         (gst_element_is_indexable), (gst_element_add_pad),
31941         (gst_element_add_ghost_pad), (gst_element_remove_pad),
31942         (pad_compare_name), (gst_element_get_static_pad),
31943         (gst_element_request_pad), (gst_element_get_request_pad),
31944         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
31945         (gst_element_class_get_pad_template_list),
31946         (gst_element_class_get_pad_template), (gst_element_error_func),
31947         (gst_element_get_random_pad), (gst_element_get_event_masks),
31948         (gst_element_send_event), (gst_element_seek),
31949         (gst_element_get_query_types), (gst_element_query),
31950         (gst_element_get_formats), (gst_element_convert),
31951         (gst_element_is_locked_state), (gst_element_set_locked_state),
31952         (gst_element_sync_state_with_parent), (gst_element_change_state),
31953         (gst_element_finalize), (gst_element_yield),
31954         (gst_element_interrupt), (gst_element_set_scheduler),
31955         (gst_element_get_scheduler), (gst_element_set_loop_function):
31956         * gst/gstelement.h:
31957         * gst/gstevent.h:
31958         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
31959         (gst_format_get_by_nick), (gst_format_get_details),
31960         (gst_format_iterate_definitions):
31961         * gst/gstformat.h:
31962         * gst/gstindex.c: (gst_index_gtype_resolver):
31963         * gst/gstinfo.c:
31964         * gst/gstinfo.h:
31965         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
31966         (gst_mem_chunk_free):
31967         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
31968         (gst_object_ref), (gst_object_unref), (gst_object_sink),
31969         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
31970         (gst_object_dispatch_properties_changed),
31971         (gst_object_set_name_default), (gst_object_set_name),
31972         (gst_object_get_name), (gst_object_set_name_prefix),
31973         (gst_object_get_name_prefix), (gst_object_set_parent),
31974         (gst_object_get_parent), (gst_object_unparent),
31975         (gst_object_check_uniqueness), (gst_object_save_thyself),
31976         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
31977         (gst_object_set_property), (gst_object_get_property),
31978         (gst_object_get_path_string):
31979         * gst/gstobject.h:
31980         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
31981         (gst_real_pad_init), (gst_real_pad_get_property),
31982         (gst_pad_custom_new), (gst_pad_get_direction),
31983         (gst_pad_set_active), (gst_pad_is_active),
31984         (gst_pad_set_event_function), (gst_pad_is_linked),
31985         (gst_pad_link_free), (gst_pad_link_intersect),
31986         (gst_pad_link_fixate), (gst_pad_set_caps),
31987         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
31988         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
31989         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
31990         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
31991         (gst_pad_get_caps), (gst_pad_peer_get_caps),
31992         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
31993         (gst_pad_realize), (gst_pad_get_allowed_caps),
31994         (gst_real_pad_dispose), (gst_real_pad_finalize),
31995         (gst_pad_collectv), (gst_pad_collect_valist),
31996         (gst_pad_template_dispose), (gst_pad_template_new),
31997         (gst_pad_get_internal_links):
31998         * gst/gstpad.h:
31999         * gst/gstpipeline.c: (gst_pipeline_dispose),
32000         (gst_pipeline_change_state):
32001         * gst/gstpipeline.h:
32002         * gst/gstplugin.c:
32003         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
32004         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
32005         * gst/gstpluginfeature.h:
32006         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
32007         * gst/gstquery.c: (_gst_query_type_initialize),
32008         (gst_query_type_register), (gst_query_type_get_by_nick),
32009         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
32010         * gst/gstquery.h:
32011         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
32012         * gst/gstscheduler.c: (gst_scheduler_add_element),
32013         (gst_scheduler_factory_create):
32014         * gst/gststructure.c: (gst_structure_set_parent_refcount),
32015         (gst_structure_free), (gst_structure_set_name),
32016         (gst_structure_id_set_value), (gst_structure_set_value),
32017         (gst_structure_set_valist), (gst_structure_remove_field),
32018         (gst_structure_remove_fields),
32019         (gst_structure_remove_fields_valist),
32020         (gst_structure_remove_all_fields), (gst_structure_foreach),
32021         (gst_structure_map_in_place),
32022         (gst_caps_structure_fixate_field_nearest_int),
32023         (gst_caps_structure_fixate_field_nearest_double):
32024         * gst/gststructure.h:
32025         * gst/gstsystemclock.c: (gst_system_clock_class_init),
32026         (gst_system_clock_init), (gst_system_clock_dispose),
32027         (gst_system_clock_async_thread),
32028         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
32029         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
32030         * gst/gstsystemclock.h:
32031         * gst/gsttag.c: (gst_tag_list_add_value_internal),
32032         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
32033         * gst/gsttaginterface.c:
32034         * gst/gstthread.c: (gst_thread_dispose),
32035         (gst_thread_release_children_locks), (gst_thread_change_state),
32036         (gst_thread_main_loop):
32037         * gst/gsttrashstack.h:
32038         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
32039         * gst/gsttypes.h:
32040         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
32041         (gst_element_request_pad), (gst_element_get_pad_from_template),
32042         (gst_element_request_compatible_pad),
32043         (gst_element_get_compatible_pad_filtered),
32044         (gst_element_get_compatible_pad), (gst_element_state_get_name),
32045         (gst_element_link_pads_filtered), (gst_element_link_filtered),
32046         (gst_element_link_many), (gst_element_link),
32047         (gst_element_link_pads), (gst_element_unlink_pads),
32048         (gst_element_unlink_many), (gst_element_unlink),
32049         (gst_pad_can_link_filtered), (gst_pad_can_link),
32050         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
32051         (gst_object_default_error), (gst_bin_add_many),
32052         (gst_bin_remove_many), (gst_element_populate_std_props),
32053         (gst_element_class_install_std_props), (gst_buffer_merge),
32054         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
32055         (link_fold_func), (gst_pad_proxy_setcaps):
32056         * gst/gstutils.h:
32057         * gst/gstvalue.c: (gst_value_deserialize_string):
32058         * gst/parse/grammar.y:
32059         * gst/schedulers/gstbasicscheduler.c:
32060         (gst_basic_scheduler_cothreaded_chain),
32061         (gst_basic_scheduler_chain_recursive_add),
32062         (gst_basic_scheduler_pad_link):
32063         * gst/schedulers/gstoptimalscheduler.c:
32064         (get_group_schedule_function),
32065         (gst_opt_scheduler_state_transition),
32066         (gst_opt_scheduler_add_element), (element_get_reachables_func):
32067         * libs/gst/bytestream/bytestream.c:
32068         * libs/gst/dataprotocol/dataprotocol.c:
32069         (gst_dp_header_from_buffer):
32070         * po/nb.po:
32071         * po/ru.po:
32072         * tests/threadstate/threadstate2.c: (eos):
32073         * tools/gst-compprep.c: (main):
32074         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
32075         (print_pad_info), (print_children_info):
32076         * tools/gst-launch.c: (idle_func), (main):
32077         * tools/gst-md5sum.c: (idle_func), (main):
32078         * tools/gst-xmlinspect.c: (print_element_info):
32079         First THREADED backport attempt, focusing on adding locks and
32080         making sure the API is threadsafe. Needs more work. More docs
32081         follow this week.
32082
32083 2005-02-24  Andy Wingo  <wingo@pobox.com>
32084
32085         * tests/bench-complexity.scm:
32086         * tests/complexity.gnuplot: New files, good for running complexity
32087         benchmarks.
32088
32089         * tests/Makefile.am:
32090         * tests/complexity.c: New test, sets up N elements, at each level
32091         teeing into M streams per element. Eeeenteresting.
32092
32093         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
32094         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
32095         running bench-mass_elements.scm.
32096
32097         * tests/bench-mass_elements.scm: New script, runs mass_elements
32098         for various numbers of identities, outputting the results to a
32099         file. Requires guile 1.6. Just for testing.
32100
32101 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
32102
32103         * gst/schedulers/fairscheduler.c:
32104           compile with debug disabled
32105
32106 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
32107
32108         * configure.ac:
32109           hunting season on 0.9 is now OPEN