libs/gst/check/gstcheck.c: Revert accidentially commited patch for bug #404631 which...
[platform/upstream/gstreamer.git] / ChangeLog
1 2008-12-09  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2
3         * libs/gst/check/gstcheck.c: (gst_check_init):
4         Revert accidentially commited patch for bug #404631 which
5         tries to print a backtrace if a testcase is terminated by
6         a signal. This code was never activated as the corresponding
7         configure.ac change wasn't committed.
8
9 2008-12-09  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
10
11         * tests/check/libs/controller.c: (GST_START_TEST):
12         This test should return TRUE now as syncing an uncontrolled
13         object will succeed now (there's nothing to sync).
14
15 2008-12-09  Stefan Kost  <ensonic@users.sf.net>
16
17         * libs/gst/controller/gstcontroller.c:
18           Aggregate return value for gst_controller_sync_values(). More info in
19           logging. Always set values on first sync-call.
20
21         * libs/gst/controller/gstcontrolsource.c:
22           Microoptimizations.
23
24         * libs/gst/controller/gsthelper.c:
25           Fix return code and comment.
26
27 2008-12-09  Stefan Kost  <ensonic@users.sf.net>
28
29         * tools/gst-launch.1.in:
30           Fix description of how to specify a type in caps. Fixes #553873.
31           Also ranges and list contain values and not property-assignments.
32
33 2008-12-08  Wim Taymans  <wim.taymans@collabora.co.uk>
34
35         * plugins/elements/gsttee.c: (gst_tee_handle_buffer):
36         Check for changed pads-list before checking the last returned
37         GstFlowReturn because the pad could have been removed and we
38         need to ignore the value in that case.
39
40 2008-12-08  Wim Taymans  <wim.taymans@collabora.co.uk>
41
42         * libs/gst/base/gstbasetransform.c:
43         (gst_base_transform_prepare_output_buffer),
44         (gst_base_transform_getrange), (gst_base_transform_chain):
45         * libs/gst/base/gstbasetransform.h:
46         Add vmethod that is called before we start the transform and which can
47         be used to configure the transform, such as dynamic properties.
48
49 2008-12-05  David Schleef  <ds@schleef.org>
50
51         * gst/gst.c:
52         Search for plugins on win32 based on the location of the
53         gstreamer DLL.  Fixes #548786
54
55 2008-12-04  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
56
57         * configure.ac:
58         Apparently AC_CONFIG_MACRO_DIR breaks when using more
59         than one macro directory, reverting last change.
60
61 2008-12-04  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
62
63         * configure.ac:
64         Set AC_CONFIG_MACRO_DIR to common/m4 to point autoconf to
65         our M4 macros.
66
67 2008-11-29  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
68
69         Patch by: Cygwin Ports maintainer
70                   <yselkowitz at users dot sourceforge dot net>
71
72         * autogen.sh:
73         * configure.ac:
74         Require gettext 0.17 because older versions don't mix with libtool
75         2.2. At build time an older gettext version will still work.
76         Fixes bug #556091.
77
78 2008-11-27  Wim Taymans  <wim.taymans@collabora.co.uk>
79
80         Patch by: 이문형 <iwings at gmail dot com>
81
82         * gst/gstpoll.c: (gst_poll_fd_ctl_write), (gst_poll_fd_has_error):
83         Adds support for FD_CONNECT event (win32). See #562258.
84
85 2008-11-24  Stefan Kost  <ensonic@users.sf.net>
86
87         * libs/gst/base/gstbasesink.c:
88           Turn comment into gtk-doc comment.
89
90 2008-11-24  Wim Taymans  <wim.taymans@collabora.co.uk>
91
92         * libs/gst/base/gstbasetransform.c:
93         (gst_base_transform_acceptcaps):
94         Revert quick accepcaps attempt, it's not fully equivalent to the old
95         behaviour and thus causes regressions.
96
97 2008-11-24  Edward Hervey  <edward.hervey@collabora.co.uk>
98
99         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
100         Fix memory leak.
101
102 2008-11-24  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
103
104         Patch by: Simon Holm Thøgersen <odie at cs dot aau dot dk>
105
106         * gst/gstregistry.c: (gst_registry_scan_path_level):
107         Reduce the number of stat() calls for every file from three times
108         to one time. Fixes bug #560360.
109
110 2008-11-22  Wim Taymans  <wim.taymans@collabora.co.uk>
111
112         * libs/gst/base/gstbasetransform.c:
113         (gst_base_transform_acceptcaps):
114         Rename a variable to make the code clearer.
115
116 2008-11-21  Stefan Kost  <ensonic@users.sf.net>
117
118         * plugins/elements/gstidentity.c:
119         Don't warning on offset==-1. Taken from _check_imperfect_offset().
120
121 2008-11-21  Michael Smith <msmith@songbirdnest.com>
122
123         * plugins/elements/gstfilesrc.c:
124           Check for localhost in URI was backwards, fix it. Fixes unit test.
125
126 2008-11-21  Wim Taymans  <wim.taymans@collabora.co.uk>
127
128         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
129         (gst_base_transform_getcaps), (gst_base_transform_find_transform),
130         (gst_base_transform_acceptcaps), (gst_base_transform_getrange):
131         Add beginnings of a more optimized acceptcaps function than the default
132         core one.
133
134 2008-11-21  Wim Taymans  <wim.taymans@collabora.co.uk>
135
136         * gst/gstpad.c: (gst_pad_accept_caps):
137         Avoid getting the acceptcaps function too early.
138
139 2008-11-21  Wim Taymans  <wim.taymans@collabora.co.uk>
140
141         * tools/gst-launch.c: (event_loop):
142         Make gst-launch handle LATENCY messages and make it recalculate the
143         latency.
144
145 2008-11-20  Michael Smith <msmith@songbirdnest.com>
146
147         * plugins/elements/gstfilesrc.c:
148           Use g_filename_from_uri() for URI parsing in filesrc rather than rolling
149           out own slightly incorrect version. Fixes use of some paths on
150           win32.
151
152 2008-11-20  Michael Smith <msmith@songbirdnest.com>
153
154         * gst/gstregistrybinary.c:
155           In win32 codepath, if we fail to write the registry, create the
156           directory for it and try again, matching the behaviour in non-win32
157           codepaths.
158
159 2008-11-20  Wim Taymans  <wim.taymans@collabora.co.uk>
160
161         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_render_delay):
162         Changing the render delay changes the latency and so we must post a
163         latency message.
164
165 2008-11-20  Wim Taymans  <wim.taymans@collabora.co.uk>
166
167         * gst/gstquery.c:
168         * gst/gstquery.h:
169         Add GstQueryType for custom queries instead of having to use the
170         not-so-very-convenient registration infrastructure to register new
171         types.
172
173 2008-11-19  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
174
175         Patch by: Andrew Feren <acferen at yahoo dot com>
176
177         * gst/gstobject.c: (gst_object_default_deep_notify):
178         Unref the GEnumClass after usage again. Fixes bug #561501.
179
180 2008-11-19  Wim Taymans  <wim.taymans@collabora.co.uk>
181
182         * gst/gstbin.c: (_gst_boolean_accumulator), (gst_bin_class_init),
183         (gst_bin_recalculate_latency), (gst_bin_do_latency_func),
184         (gst_bin_change_state_func):
185         * gst/gstbin.h:
186         Add do-latency signal with the old default fallback implementation. This
187         allows for custom latency calculations for when the default is not
188         sufficient.
189         API: GstBin::do-latency signal.
190
191 2008-11-18  Wim Taymans  <wim.taymans@collabora.co.uk>
192
193         * win32/common/libgstreamer.def:
194         Add new symbols to .def file.
195
196 2008-11-18  Wim Taymans  <wim.taymans@collabora.co.uk>
197
198         * docs/gst/gstreamer-sections.txt:
199         * gst/gstbin.c: (gst_bin_recalculate_latency),
200         (gst_bin_change_state_func):
201         * gst/gstbin.h:
202         Add method to recalculate and redistribute the latency on a bin.
203         API: gst_bin_recalculate_latency().
204
205 2008-11-18  Wim Taymans  <wim.taymans@collabora.co.uk>
206
207         * gst/gstbuffer.h:
208         Document the free_func.
209
210 2008-11-17  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
211
212         * libs/gst/controller/gstinterpolation.c:
213         * libs/gst/controller/gstlfocontrolsource.c:
214         Use gst_guint64_to_gdouble instead of gst_util_guint64_to_gdouble
215         as it is mapped to a cast on non-win32 platforms.
216
217 2008-11-17  Stefan Kost  <ensonic@users.sf.net>
218
219         * libs/gst/controller/gstcontroller.c:
220         * libs/gst/controller/gstcontrollerprivate.h:
221           Keep last-value and only call set_property if value has changed. This
222           supresses all the g_object_notifies we would trigger otherwise. It
223           also allows the user to chage the value while there is no controller
224           change.
225
226 2008-11-17  Stefan Kost  <ensonic@users.sf.net>
227
228         * gst/gstvalue.c:
229           Don't crash if either of the string GValues is empty.
230
231 2008-11-17  Andy Wingo  <wingo@pobox.com>
232
233         * tools/gst-inspect.c (print_all_uri_handlers): New function,
234         prints a summary of what URI schemes are supported by what
235         elements.
236         (main): Plumb in support for --uri-handlers or -u, and fix the
237         argc check for -a and -u.
238
239 2008-11-17  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
240
241         * gst/gstutils.h:
242         Add G_GNUC_PURE to gst_util_uint64_scale* and the double<->uint64
243         conversion functions.
244
245 2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>
246
247         * gst/gstbuffer.c: (gst_buffer_finalize):
248         Avoid costly typechecking for trivially correct pointers.
249
250         * gst/gstpoll.c: (gst_poll_wait):
251         Add some G_LIKELY here and there.
252
253         * libs/gst/base/gstadapter.c: (gst_adapter_push):
254         Add some debug info.
255
256 2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>
257
258         * docs/random/wtay/poll-timeout:
259         Small tweaks.
260
261 2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>
262
263         * tests/old/testsuite/caps/intersection.c: (main):
264         * tests/old/testsuite/plugin/loading.c: (main):
265         Remove references to deprecated API g_mem_chunk*.
266         Fixes #560442.
267
268 2008-11-12  Wim Taymans  <wim.taymans@collabora.co.uk>
269
270         * tools/gst-inspect.c: (main):
271         Add --plugin option. Fixes #560301.
272
273 2008-11-12  Wim Taymans  <wim.taymans@collabora.co.uk>
274
275         * docs/random/wtay/poll-timeout:
276         Quick braindump for a possible (not totally verified) atomic case.
277
278 2008-11-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
279
280         * gst/gstregistrybinary.c: (gst_registry_binary_write_chunk),
281         (gst_registry_binary_initialize_magic),
282         (gst_registry_binary_write_cache),
283         (gst_registry_binary_check_magic):
284         * gst/gstregistrybinary.h:
285         Don't write and check a CRC for the binary registry file. It's
286         guaranteed that the registry is completely written (it's first written
287         to a temporary file and then moved) and if the registry was corrupted
288         by some hardware failure we would have bigger problems.
289
290         Bump binary registry version to 0.10.21.1 for this as it's an
291         incompatible change and to ensure that the registry gets rebuild
292         after the update.
293
294         This saves some milliseconds for reading/writing the registry.
295         Fixes bug #560399.
296
297 2008-11-11  Wim Taymans  <wim.taymans@collabora.co.uk>
298
299         * docs/random/wtay/poll-timeout:
300         Some pseudo code for how we could implement clock timeouts with GstPoll.
301
302 2008-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
303
304         * plugins/elements/gstfilesink.c:
305           Update Author string to match others.
306
307 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
308
309         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
310         Reorganize some more, be more conservative with the GST_TYPE_ARRAY not
311         being fixed and inline the trivial check.
312
313 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
314
315         * gst/gstcaps.c: (gst_caps_copy), (_gst_caps_free),
316         (gst_caps_merge_structure), (gst_caps_get_structure),
317         (gst_caps_copy_nth), (gst_caps_set_simple),
318         (gst_caps_set_simple_valist), (gst_caps_is_fixed),
319         (gst_caps_is_equal_fixed), (gst_caps_intersect),
320         (gst_caps_subtract), (gst_caps_normalize), (gst_caps_do_simplify),
321         (gst_caps_to_string):
322         Callgrind micro optimisations.
323         Avoid array bounds checks and force inline of trivial function.
324
325         * gst/gstobject.c: (gst_object_set_name_default):
326         -1 is equivalent to letting glib to the strlen but then there is more
327         room for optimisations and it's not our fault.
328
329         * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
330         no need to clear the array, we're cool.
331
332         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
333         The most common _is_fixed() check is done on fundamental glib base
334         types so we check this first instead of doing a huge amount of
335         useless GST_TYPE_ARRAY calls.
336
337 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
338
339         * gst/gstevent.h:
340         Add a SKIP seek flag for use with advanced trickmodes.
341         API: GstSeekFlags::GST_SEEK_FLAG_SKIP
342
343 2008-11-05  Wim Taymans  <wim.taymans@collabora.co.uk>
344
345         * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
346         No need to memset, we can clear the value ourselves.
347
348         * gst/gstvalue.c: (gst_type_is_fixed),
349         (gst_value_get_compare_func):
350         Some optimisations from a few callgrind sessions:
351         When checking if a type is fixed, check for trivial fundamental types
352         first before checking types for which we need to get the type followed
353         by the heavy duty type checks, this reduces the amount of
354         g_type_fundamental() calls a lot.
355         When getting the compare function, first check for our registered types.
356         If that fails, do the heavy duty g_type_is_a() checks, reduces the
357         amount of g_type_is_a() considerably.
358
359 2008-11-05  Wim Taymans  <wim.taymans@collabora.co.uk>
360
361         * docs/design/part-TODO.txt:
362         Mumble something about removing GstXML.
363
364 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
365
366         * gst/gstbin.c: (gst_bin_handle_message_func):
367         Get the seqnum before we dispose the message.
368
369 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
370
371         * docs/design/part-TODO.txt:
372         Refer to the framestepping document.
373
374 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
375
376         * gst/gstbin.c: (bin_handle_async_start),
377         (gst_bin_handle_message_func), (gst_bin_query):
378         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
379         (gst_base_sink_event), (gst_base_sink_change_state):
380         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
381         (gst_base_src_loop), (gst_base_src_change_state):
382         Copy seqnums from events to messages so that they can all be related
383         back to eachother.
384
385 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
386
387         * tools/gst-launch.c: (event_loop):
388         Print the message seqnums.
389
390 2008-11-04  Andy Wingo  <wingo@pobox.com>
391
392         * gst/gstutils.c (gst_util_seqnum_next): Refactor for clarity.
393
394 2008-11-04  Andy Wingo  <wingo@pobox.com>
395
396         Add sequence numbers to events and messages. See #559250.
397
398         * gst/gstutils.c (gst_util_seqnum_next, gst_util_seqnum_compare):
399         API: New functions.
400
401         * gst/gstevent.h:
402         * gst/gstevent.c (_gst_event_copy, gst_event_new): Initialize new
403         events with a new sequence number, and copy it when copying.
404         (gst_event_get_seqnum, gst_event_set_seqnum): API: Accessors for
405         an event's sequence number.
406
407         * gst/gstmessage.h:
408         * gst/gstmessage.c (_gst_message_copy, gst_message_new_custom):
409         (gst_event_get_seqnum, gst_event_set_seqnum): API: As with events,
410         so with messages.
411
412         * docs/gst/gstreamer-sections.txt: Add new functions to the docs.
413
414 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
415
416         * docs/manual/advanced-position.xml:
417         * docs/manual/basics-bins.xml:
418         * docs/manual/basics-bus.xml:
419         * docs/manual/basics-pads.xml:
420         * docs/manual/intro-gstreamer.xml:
421         * docs/manual/intro-preface.xml:
422         Some Application Development Manual fixes thanks to
423         Andrew Feren. Fixes #558459.
424
425 2008-11-03  Stefan Kost  <ensonic@users.sf.net>
426
427         * gst/gstregistrybinary.c:
428           Don't bother with the GTimer if we don't output the results.
429
430 2008-11-03  Wim Taymans  <wim.taymans@collabora.co.uk>
431
432         Patch by: David Schleef  <ds@schleef.org>
433
434         * libs/gst/net/Makefile.am:
435         Add WIN32_LIBS to libgstnet LIBADD. Fixes #557300.
436
437 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
438
439         * gst/gstregistrybinary.c:
440           Oh my, studip, stupid me. Remove double stat() call.
441
442 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
443
444         * gst/gstpreset.c:
445           Use g_unlink instead of unlink.
446
447         * gst/gststructure.c:
448           Use glib type.
449
450         * gst/gstutils.c:
451           Add a FIXME:.
452
453         * gst/gsttaglist.c:
454         * gst/gsttypefind.c:
455         * gst/gstvalue.c:
456           Formatting & whitespaces.
457
458 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
459
460         * plugins/elements/gstidentity.c:
461           Doc typo. Use return value of parent_class->event.
462   
463         * plugins/elements/gsttypefindelement.c:
464           Chain up at the end for consistency.
465   
466 2008-10-30  Stefan Kost  <ensonic@users.sf.net>
467
468         * docs/Makefile.am:
469         * docs/gst/gstreamer-docs.sgml:
470         * docs/gst/gstreamer-sections.txt:
471         * docs/gst/running.xml:
472         * docs/libs/gstreamer-libs-docs.sgml:
473           Change to xinclude based build - its faster and easier to maintain.
474
475 2008-10-30  Stefan Kost  <ensonic@users.sf.net>
476
477         * gst/gstregistrybinary.c:
478         * gst/gstregistryxml.c:
479           Use g_unlink() as none of these are directories.
480
481 2008-10-29  Wim Taymans  <wim.taymans@collabora.co.uk>
482
483         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func):
484         Some more comments.
485
486 2008-10-27  Wim Taymans  <wim.taymans@collabora.co.uk>
487
488         * libs/gst/base/gstbasetransform.c:
489         (gst_base_transform_find_transform), (gst_base_transform_getrange):
490         If we have a fixate function, call it even if we already have fixed caps
491         because the subclass might add some caps. Makes audioconvert add a
492         default channel layout.
493
494 2008-10-24  Wim Taymans  <wim.taymans@collabora.co.uk>
495
496         * libs/gst/base/gstbasetransform.c:
497         (gst_base_transform_prepare_output_buffer),
498         (gst_base_transform_getrange):
499         Clear the output buffer variable.
500         Cleanups to the error path in the getrange function.
501         Fixes #557649.
502
503 2008-10-23  Sebastian Dröge  <slomo@circular-chaos.org>
504
505         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
506         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
507         Use gst_buffer_try_new_and_alloc() and handle errors instead of
508         using gst_buffer_new_and_alloc() which aborts if the buffer couldn't
509         be allocated.
510
511 2008-10-23  Wim Taymans  <wim.taymans@collabora.co.uk>
512
513         * gst/gstsegment.c: (gst_segment_set_newsegment_full):
514         Set the last_stop to a more meaningful position when configuring the
515         segment. ie. the start/stop of the segment or clipped against the
516         updated segment boundaries.
517
518         * tests/check/gst/gstsegment.c: (GST_START_TEST):
519         Add some unit tests for the last_stop.
520
521 2008-10-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
522
523         * libs/gst/base/gstbytereader.c:
524         Use GST_(READ|WRITE)_(FLOAT|DOUBLE)_(LE|BE) instead of our own
525         copies of them.
526
527 2008-10-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
528
529         * docs/gst/gstreamer-sections.txt:
530         * gst/gstutils.h:
531         API: Move float endianness conversion macros from libgstfloatcast
532         to core as it's useful in general, even in core. Fixes bug #555196.
533         This adds GDOUBLE_FROM_BE, GDOUBLE_FROM_LE, GDOUBLE_TO_BE,
534         GDOUBLE_TO_LE, GDOUBLE_SWAP_LE_BE, GFLOAT_FROM_BE, GFLOAT_FROM_LE,
535         GFLOAT_TO_BE, GFLOAT_TO_LE, GFLOAT_SWAP_LE_BE.
536
537         Also add GST_READ_ and GST_WRITE_ macros for floats and doubles:
538         GST_READ_FLOAT_LE, GST_READ_FLOAT_BE, GST_READ_DOUBLE_LE,
539         GST_READ_DOUBLE_BE, GST_WRITE_FLOAT_LE, GST_WRITE_FLOAT_BE,
540         GST_WRITE_DOUBLE_LE, GST_WRITE_DOUBLE_BE.
541
542 2008-10-22  Sebastian Dröge  <slomo@circular-chaos.org>
543
544         * docs/libs/gstreamer-libs-sections.txt:
545         * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_data),
546         (gst_byte_reader_peek_data):
547         * libs/gst/base/gstbytereader.h:
548         * win32/common/libgstbase.def:
549         API: Add gst_byte_reader_get_data and gst_byte_reader_peek_data
550         to get a pointer to the data at the current position and have
551         a guaranteed size.
552
553 2008-10-22  Jan Schmidt  <jan.schmidt@sun.com>
554
555         * configure.ac:
556         Fix a bug in the output of the configure script summary
557         when --gst-disable-registry is supplied
558
559 2008-10-22  Jan Schmidt  <jan.schmidt@sun.com>
560
561         * libs/gst/base/gstbitreader.c:
562         * libs/gst/base/gstbytereader.c:
563         Fix the names of 2 functions in the docs strings.
564
565 2008-10-21  Wim Taymans  <wim.taymans@collabora.co.uk>
566
567         * libs/gst/base/gstbasetransform.c:
568         (gst_base_transform_prepare_output_buffer),
569         (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
570         Protect sink_alloc caps with the sinkpad lock to avoid nasty caps
571         refcount problems as seen in banshee and maybe also in farsight2.
572         Remove atomic int now that we need to take the lock anyways.
573
574 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
575
576         * libs/gst/base/gstbasesink.c: (gst_base_sink_default_do_seek),
577         (gst_base_sink_default_prepare_seek_segment),
578         (gst_base_sink_perform_seek), (gst_base_sink_get_position_last),
579         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
580         (gst_base_sink_query):
581         Implement more seeking in pull mode.
582         Use pad convert functions to convert position to the requested format.
583         Fix position/duration reporting in pull mode.
584         Implement position and duration reporting in other formats than time.
585
586         * libs/gst/base/gstbasesink.h:
587         Add member to keep track of when the segment is playing.
588
589 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
590
591         * gst/gstpad.c: (gst_pad_configure_src):
592         When we use gst_pad_alloc_buffer() without wanting to set the caps we
593         also don't need to check if the caps are compatible because the caller
594         presumably is going to perform its own custom checks. Fixes some cases
595         where basetransform elements would error out when it was not needed.
596
597 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
598
599         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
600         Update comment.
601
602         * libs/gst/base/gstbasetransform.c:
603         (gst_base_transform_handle_buffer),
604         (gst_base_transform_reconfigure):
605         Add some debug info.
606
607         * win32/common/libgstbase.def:
608         Add new method.
609
610 2008-10-19  Stefan Kost  <ensonic@users.sf.net>
611
612         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek);
613           Remove duplicated assignment and log a message in failure case.
614
615 2008-10-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
616
617         Patch by: Dig Ge <dig.ge.cn at gmail com>
618
619         * tests/examples/helloworld/helloworld.c: (main):
620           Fix copy'n'paste bug in hello world example (#556900).
621
622 2008-10-17  Wim Taymans  <wim.taymans@collabora.co.uk>
623
624         * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate_pull),
625         (gst_base_sink_query):
626         Query the total number of bytes when activating the pad in pull mode.
627         Implement duration query in pull mode by using the installed pad convert
628         function to convert from bytes to the requested format.
629
630 2008-10-16  Wim Taymans  <wim.taymans@collabora.co.uk>
631
632         * docs/libs/gstreamer-libs-sections.txt:
633         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_preroll),
634         (gst_base_sink_flush_start), (gst_base_sink_flush_stop),
635         (gst_base_sink_event), (gst_base_sink_perform_seek),
636         (gst_base_sink_loop), (gst_base_sink_pad_activate_pull),
637         (gst_base_sink_send_event), (gst_base_sink_change_state):
638         * libs/gst/base/gstbasesink.h:
639         Add method to commit the state in subclasses.
640         Refactor the flush_start and flush_stop code because we need it for
641         flushing while seeking too.
642         Implement the beginnings of seeking in pull mode.
643         Use the segment last_stop field for the pulling offset.
644         Fix the pause method in pull mode.
645         Configure the segment to BYTES for pull mode.
646         API: GstBaseSink::gst_base_sink_do_preroll()
647
648 2008-10-16  Wim Taymans  <wim.taymans@collabora.co.uk>
649
650         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
651         Update some docs.
652
653 2008-10-14  Tim-Philipp Müller  <tim.muller at collabora co uk>
654
655         * gst/gstquark.c: (_priv_gst_quarks_initialize):
656           Fix printf format warning.
657
658 2008-10-14  Sebastian Dröge  <slomo@circular-chaos.org>
659
660         * plugins/elements/gsttee.c: (gst_tee_handle_buffer):
661         Fix flow aggregation of tee. Error out immediately for all flow returns
662         except OK and NOT_LINKED, return NOT_LINKED if all pads are not linked
663         and return OK if at least one pad is linked.
664
665         Before we errored out on "fatal" flow returns (i.e. not for WRONG_STATE)
666         and otherwise returned the flow return of the last pad, which is wrong.
667         
668         * tests/check/elements/tee.c: (_fake_chain), (_fake_chain_error),
669         (GST_START_TEST), (tee_suite):
670         Add unit tests for the flow aggregation.
671
672 2008-10-13  Wim Taymans  <wim.taymans@collabora.co.uk>
673
674         * docs/design/part-TODO.txt:
675         Remove item from the todo list because it was fixed with the latency
676         state change rewrites.
677
678         * docs/design/part-seeking.txt:
679         * docs/design/part-segments.txt:
680         Update some docs.
681
682         * gst/gstevent.c: (gst_event_new_new_segment_full),
683         (gst_event_parse_new_segment_full), (gst_event_new_buffer_size),
684         (gst_event_parse_buffer_size), (gst_event_new_qos),
685         (gst_event_parse_qos), (gst_event_new_seek),
686         (gst_event_parse_seek), (gst_event_new_latency),
687         (gst_event_parse_latency):
688         Use quarks to construct and parse events.
689
690         * gst/gstquark.c: (_priv_gst_quarks_initialize):
691         * gst/gstquark.h:
692         Add some more quarks to the table.
693         Emit a warning when the quark tables are not in sync.
694
695         * tests/check/gst/gstbus.c: (GST_START_TEST):
696         Add an assert.
697
698 2008-10-13  Stefan Kost  <ensonic@users.sf.net>
699
700         * plugins/elements/Makefile.am:
701         * plugins/indexers/Makefile.am:
702           Don't install static libs for plugins. Fixes #550851 for core.
703
704 2008-10-13  Wim Taymans  <wim.taymans@collabora.co.uk>
705
706         * gst/gstbus.c: (gst_bus_source_finalize),
707         (gst_bus_add_watch_full_unlocked), (gst_bus_add_watch_full),
708         (gst_bus_enable_sync_message_emission),
709         (gst_bus_disable_sync_message_emission),
710         (gst_bus_add_signal_watch_full), (gst_bus_remove_signal_watch):
711         Fix deadlock, g_source_get_id() cannot be called in finalize.
712         Keep track of the watch source by keeping a pointer to the source object
713         instead.
714         Use the bus lock to protect access to the pointer to the current
715         watch source.
716
717 2008-10-13  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
718
719         Base on Patch by: Olivier Crete <tester at tester dot ca>
720
721         * gst/gstbus.c: (gst_bus_source_finalize),
722         (gst_bus_add_watch_full), (gst_bus_add_signal_watch_full):
723         Only allow one bus watch to be set at a time. This is necessary
724         because the dispatcher pops the message from the bus and the second
725         watcher will then get NULL or the next message (and the first won't
726         get this next message then, etc). If more than one "watcher" is
727         required signal watches should be used. Fixes bug #526044.
728
729 2008-10-12  Jan Schmidt  <jan.schmidt@sun.com>
730
731         * tools/gst-launch.c:
732         Change the printing of the 'buffering...' output to avoid putting
733         a \r in a translateable string (flagged by the TP).
734
735 2008-10-10  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
736
737         * gst/gstxml.c:
738         Clarify that the save_thyself() and restore_thyself() virtual
739         functions of GstObject need to be overriden, not
740         gst_object_(save|restore)_thyself() which is impossible.
741         Fixes bug #555700.
742
743 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
744
745         * gst/gstpad.c: (gst_pad_get_range), (gst_pad_pull_range):
746         Revert a patch from 21 months ago that broke caps negotiation in pull
747         mode. Basically, having a buffer pass over a pad will trigger the
748         setcaps function when caps change, just like in push mode.
749
750 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
751
752         * docs/design/part-negotiation.txt:
753         Update the docs some more.
754
755         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
756         If we pull a buffer with non-trivial caps, suggest those caps with the
757         max probability.
758
759 2008-10-10  Edward Hervey  <edward.hervey@collabora.co.uk>
760
761         * docs/design/part-TODO.txt:
762         Add another limitation of pad-blocking with segment seeks not pushing
763         EOS events.
764
765 2008-10-10  Jan Schmidt  <jan.schmidt@sun.com>
766
767         * win32/common/libgstbase.def:
768         * win32/common/libgstreamer.def:
769         Add new symbols to the win32 defs files
770
771 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
772
773         * gst/gstbin.c: (gst_bin_remove_func), (update_degree),
774         (gst_bin_handle_message_func):
775         The message src can be NULL, don't try to print the object names in that
776         case.
777
778         * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate):
779         Add some more debug info.
780
781         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline),
782         (GST_START_TEST):
783         Add some debug.
784         Fix the test, pull based sinks go ASYNC to PAUSED, just like other
785         scheduling modes.
786
787 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
788
789         * docs/design/part-negotiation.txt:
790         Small doc update.
791
792         * docs/libs/gstreamer-libs-sections.txt:
793         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
794         (gst_base_sink_pad_getcaps), (gst_base_sink_pad_setcaps),
795         (gst_base_sink_init), (gst_base_sink_set_blocksize),
796         (gst_base_sink_get_blocksize), (gst_base_sink_set_property),
797         (gst_base_sink_get_property), (gst_base_sink_needs_preroll),
798         (gst_base_sink_loop), (gst_base_sink_pad_activate),
799         (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
800         (gst_base_sink_change_state):
801         * libs/gst/base/gstbasesink.h:
802         Add blocksize property and methods to control the amount of data
803         to pull.
804         Negotiate first before activating upstream in pull mode so that they can
805         negotiate themselves.
806         When we operate in pull mode, we only accept the caps that we
807         negotiated.
808         Make the sink go ASYNC to PAUSED, like all other sinks.
809         API: GstBaseSink::gst_base_sink_set_blocksize()
810         API: GstBaseSink::gst_base_sink_get_blocksize()
811         API: GstBaseSink::blocksize
812
813         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
814         (gst_base_src_set_live), (gst_base_src_is_live),
815         (gst_base_src_set_format), (gst_base_src_query_latency),
816         (gst_base_src_set_blocksize), (gst_base_src_get_blocksize),
817         (gst_base_src_set_do_timestamp), (gst_base_src_get_do_timestamp),
818         (gst_base_src_set_property), (gst_base_src_get_property):
819         * libs/gst/base/gstbasesrc.h:
820         Add typechecking in public API functions.
821         Add methods to control the blocksize in subclasses.
822         API: GstBaseSrc::gst_base_src_set_blocksize()
823         API: GstBaseSrc::gst_base_src_get_blocksize()
824
825 2008-10-10  Edward Hervey  <edward.hervey@collabora.co.uk>
826
827         * tests/check/gst/gstutils.c: (probe_do_nothing), (data_probe),
828         (buffer_probe), (event_probe), (GST_START_TEST):
829         We now see 3 events go through our pad, since basesink now sends
830         upstream latency events.
831
832 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
833
834         * gst/gstpipeline.c: (gst_pipeline_change_state):
835         Release the object lock before trying to flush the bus.
836
837 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
838
839         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
840         Forward LATENCY events upstreams so that elements know about the total
841         pipeline latency. Fixes #555307.
842
843 2008-10-08  Jan Schmidt  <jan.schmidt@sun.com>
844
845         * plugins/elements/gstqueue.c:
846         Allow through queries when we don't know how
847         to adjust them (not TIME or BYTES), as otherwise it's
848         not possible to query the current position in order
849         to seek in other formats at all.
850
851 2008-10-08  Andy Wingo  <wingo@pobox.com>
852
853         * docs/gst/gstreamer-sections.txt: Placate doc pendants.
854
855 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
856
857         * gst/gstghostpad.c:
858         * gst/gstghostpad.h:
859         Unbreak -good build, private is a reserved c++ keyword.
860
861 2008-10-08  Andy Wingo  <wingo@pobox.com>
862
863         * gst/gstghostpad.h (GST_GHOST_PAD_CAST):
864         * gst/gstghostpad.c (GST_GHOST_PAD_CAST): Fix unintended API
865         removal: re-add GST_GHOST_PAD_CAST to the header.
866
867         * gst/gstghostpad.h (GstProxyPad, GstProxyPadClass, GstGhostPad)
868         (GstGhostPadClass): Publically expose these structures so as to
869         allow easy subclassing from C. Hide the member data behind a
870         private opaque data pointer.
871
872         * gst/gstghostpad.c: Adapt to store instance data in the type
873         instance's private data region, not in the public struct.
874
875 2008-10-08  Andy Wingo  <wingo@pobox.com>
876
877         * gst/gstghostpad.c (gst_ghost_pad_construct): If we got a
878         template via g_object_get(), be sure to unref it.
879
880         * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): Fix incorrect doc.
881
882 2008-10-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
883
884         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
885         If we can't get a cache file don't try to save something to it.
886         Dereferencing NULL pointers usually isn't a good idea.
887
888 2008-10-07  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
889
890         * tests/check/Makefile.am:
891         * tests/check/gst/gstabi.c:
892         * tests/check/gst/struct_sparc.h:
893         * tests/check/libs/libsabi.c:
894         * tests/check/libs/struct_sparc.h:
895         Add Sparc ABI checks
896
897         * tests/check/gst/gstvalue.c: (GST_START_TEST):
898         Cast signed integer to unsigned to avoid a compiler warning.
899
900 2008-10-07  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
901
902         * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_uint24_le),
903         (gst_byte_reader_get_uint24_be), (gst_byte_reader_get_int24_le),
904         (gst_byte_reader_get_int24_be), (gst_byte_reader_peek_uint24_le),
905         (gst_byte_reader_peek_uint24_be), (gst_byte_reader_peek_int24_le),
906         (gst_byte_reader_peek_int24_be):
907         Use new GST_READ_UINT24_(LE|BE) macros.
908
909 2008-10-07  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
910
911         * docs/gst/gstreamer-sections.txt:
912         * gst/gstutils.h:
913         Always use the unaligned variants of GST_READ_UINT* and GST_WRITE_UINT*
914         as it's too easy to break the ISO C strict aliasing rules with simple
915         casts to the corresponding type and this would introduce hard to debug
916         bugs. Fixes bug #545714.
917
918         API: Add GST_READ_UINT24_(LE|BE) and GST_WRITE_UINT24_(LE|BE).
919
920 2008-10-07  Tim-Philipp Müller  <tim.muller at collabora co uk>
921
922         * gst/gstbuffer.h: (GST_BUFFER_FREE_FUNC):
923         * gst/gstghostpad.c: (gst_ghost_pad_construct):
924           Add 'Since' bits to gtk-doc chunks for new API.
925
926 2008-10-06  Thijs Vermeir  <thijsvermeir@gmail.com>
927
928         * docs/gst/gstreamer-sections.txt:
929         Fix documentation
930
931 2008-10-06  Andy Wingo  <wingo@pobox.com>
932
933         * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): New API, a free function
934         that will be called on the malloc_data to free it. Basically a way
935         to avoid subclassing when all you need is a different free
936         function, i.e. free() instead of g_free().
937
938         * gst/gstbuffer.c (gst_buffer_finalize): Free malloc_data via
939         calling the free function.
940         (gst_buffer_init): Initialize the free function to g_free.
941
942 2008-10-06  Andy Wingo  <wingo@pobox.com>
943
944         * gst/gstghostpad.h:
945         * gst/gstghostpad.c (gst_ghost_pad_construct): New function,
946         finishes the initialization of ghost pad. Useful for language
947         bindings and subclassers of GstGhostPad. Fixes #539108.
948         (gst_ghost_pad_new_full): Use the new constructor.
949
950 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
951
952         Base on Patch by: Olivier Crete <tester at tester dot ca>
953
954         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
955         (gst_bin_remove_func), (update_degree),
956         (gst_bin_sort_iterator_new), (gst_bin_handle_message_func):
957         Keep track of pads that are being linked/unlinked and resync the state
958         changes.
959
960         * gst/gstpad.c: (gst_pad_get_direction),
961         (gst_pad_set_chain_function), (gst_pad_set_getrange_function),
962         (gst_pad_set_checkgetrange_function), (gst_pad_unlink),
963         (gst_pad_link_prepare), (gst_pad_link),
964         (gst_pad_event_default_dispatch), (gst_pad_chain), (gst_pad_push),
965         (gst_pad_check_pull_range), (gst_pad_get_range),
966         (gst_pad_pull_range):
967         Some code cleanups, use macros to check pad direction.
968         Don't need to take the lock on the pad direction.
969         Post structure change when pads are linked/unlinked.
970         Change some checks into _return_if_fail().
971
972         * tests/check/gst/gstbin.c:
973         (test_link_structure_change_state_changed_sync_cb),
974         (GST_START_TEST), (gst_bin_suite):
975         Add testcase for pad link/unlinke resync during a state change.
976         Fixes #510354.
977
978 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
979
980         * docs/gst/gstreamer-sections.txt:
981         * gst/gstmessage.c: (gst_message_new_structure_change),
982         (gst_message_parse_structure_change):
983         * gst/gstmessage.h:
984         Implement STRUCTURE_CHANGED messages. These messages will be used to
985         signal the parent bin of link/unlink operations that could require a
986         resync when doing a state change. See ##510354.
987         API: gst_message_new_structure_change()
988         API: gst_message_parse_structure_change()
989
990 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
991
992         * gst/gstquark.c:
993         * gst/gstquark.h:
994         Add some more quarks for new message. See #510354.
995
996 2008-10-06  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
997
998         * docs/libs/gstreamer-libs-docs.sgml:
999         * docs/libs/gstreamer-libs-sections.txt:
1000         * libs/gst/base/Makefile.am:
1001         * libs/gst/base/gstbitreader.c: (gst_bit_reader_new),
1002         (gst_bit_reader_new_from_buffer), (gst_bit_reader_free),
1003         (gst_bit_reader_init), (gst_bit_reader_init_from_buffer),
1004         (gst_bit_reader_set_pos), (gst_bit_reader_get_pos),
1005         (gst_bit_reader_get_remaining), (gst_bit_reader_skip),
1006         (gst_bit_reader_skip_to_byte):
1007         * libs/gst/base/gstbitreader.h:
1008         * libs/gst/base/gstbytereader.c: (GDOUBLE_SWAP_LE_BE),
1009         (GFLOAT_SWAP_LE_BE), (gst_byte_reader_new),
1010         (gst_byte_reader_new_from_buffer), (gst_byte_reader_free),
1011         (gst_byte_reader_init), (gst_byte_reader_init_from_buffer),
1012         (gst_byte_reader_set_pos), (gst_byte_reader_get_pos),
1013         (gst_byte_reader_get_remaining), (gst_byte_reader_skip),
1014         (gst_byte_reader_get_uint8), (gst_byte_reader_get_int8),
1015         (gst_byte_reader_peek_uint8), (gst_byte_reader_peek_int8),
1016         (gst_byte_reader_get_uint24_le), (gst_byte_reader_get_uint24_be),
1017         (gst_byte_reader_get_int24_le), (gst_byte_reader_get_int24_be),
1018         (gst_byte_reader_peek_uint24_le), (gst_byte_reader_peek_uint24_be),
1019         (gst_byte_reader_peek_int24_le), (gst_byte_reader_peek_int24_be):
1020         * libs/gst/base/gstbytereader.h:
1021         * tests/check/Makefile.am:
1022         * tests/check/libs/bitreader.c: (GST_START_TEST),
1023         (gst_bit_reader_suite):
1024         * tests/check/libs/bytereader.c: (GST_START_TEST),
1025         (gst_byte_reader_suite):
1026         API: Add bit reader and byte reader classes, including documentation
1027         and an extensive unit test suite. Fixes bug #553554.
1028
1029 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
1030
1031         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position),
1032         (gst_base_sink_query):
1033         Improve position reporting while flushing and other intermediate state
1034         changes. Fixes #553874.
1035
1036 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
1037
1038         Patch by: Antoine Tremblay <hexa00 at gmail dot com>
1039
1040         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
1041         Original patch by : Simon Descaries
1042         Fix small refount leak in caps compatibility check.
1043         Fixes #551676.
1044
1045 2008-10-06  Stefan Kost  <ensonic@users.sf.net>
1046
1047         * docs/pwg/advanced-request.xml:
1048           Fix 0.8 api usage in example. Fixes #554561
1049
1050         * docs/pwg/appendix-porting.xml:
1051           Change 0.9 to 0.10 here.
1052
1053 2008-10-06  Stefan Kost  <ensonic@users.sf.net>
1054
1055         * docs/manual/basics-data.xml:
1056           Change "event-event interaction" to "element-element interaction".
1057           Fixes #552448. Also fix sample code for seeking and do more 0.8->0.10
1058           updates.
1059
1060 2008-10-05  Jan Schmidt  <jan.schmidt@sun.com>
1061
1062         * configure.ac:
1063         Back to development -> 0.10.21.1
1064
1065 === release 0.10.21 ===
1066
1067 2008-10-02  Jan Schmidt <jan.schmidt@sun.com>
1068
1069         * configure.ac:
1070           releasing 0.10.21, "Take These Things From Me"
1071
1072 2008-09-28  Jan Schmidt  <jan.schmidt@sun.com>
1073
1074         * configure.ac:
1075         0.10.20.4 pre-release
1076
1077 2008-09-28  Jan Schmidt  <jan.schmidt@sun.com>
1078
1079         * libs/gst/base/gstbasetransform.c:
1080         * plugins/elements/gstcapsfilter.c:
1081         * tests/check/Makefile.am:
1082         * tests/check/elements/.cvsignore:
1083         * tests/check/elements/capsfilter.c:
1084         Fix assertion in basetransform when the subclass chooses not to
1085         allocate a buffer in prepare_buffer(), and make capsfilter error out
1086         cleanly if requested to apply caps that don't completely specify the
1087         buffer. Fixes #551509
1088
1089 2008-09-24  Wim Taymans  <wim.taymans@collabora.co.uk>
1090
1091         * libs/gst/base/gstbasetransform.c:
1092         (gst_base_transform_prepare_output_buffer):
1093         Take new caps ref because our old one might have been gone when the
1094         subclass performs a gst_pad_set_caps() on the srcpad. See #548764.
1095
1096 2008-09-15  Stefan Kost  <ensonic@users.sf.net>
1097
1098         * configure.ac:
1099           Do not probe availability of check unit test library when cross
1100           compiling, as test would not work anyway. Also cleanup verbose output
1101           of the check test. Fixes #551952.
1102
1103 2008-09-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1104
1105         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
1106
1107         * gst/gstelement.c: (gst_element_sync_state_with_parent):
1108         Avoid leaking the parent ref when we fail changing the state of the
1109         element using gst_element_sync_state_with_parent(). Fixes #551978.
1110
1111 2008-09-11  Tim-Philipp Müller  <tim.muller at collabora co uk>
1112
1113         * docs/manual/intro-motivation.xml::
1114           Remove some bits that no longer apply, update others (#551642).
1115
1116 2008-09-10  Jan Schmidt  <jan.schmidt@sun.com>
1117
1118         * configure.ac:
1119         0.10.20.2 pre-release
1120
1121         * po/LINGUAS:
1122         * po/id.po:
1123         * po/pt_BR.po:
1124
1125         New translations.
1126
1127 2008-09-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
1128
1129         * win32/common/config.h.in:
1130           Add GST_DATADIR, hard-code cpu to x86.
1131
1132         * win32/common/libgstreamer.def:
1133           Spaces to tabs.
1134
1135 2008-09-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
1136
1137         * gst/gsttaglist.h:
1138           Fix Since: markers for new geo tags.
1139
1140 2008-09-02  Stefan Kost  <ensonic@users.sf.net>
1141
1142         * gst/gsttaglist.h:
1143           Fix actual tag name define after renaming from altitude to elevation.
1144
1145 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1146
1147         * gst/gstpad.c: (add_unref_pad_to_list),
1148         (gst_pad_get_internal_links_default):
1149         Add fallback when calling the deprecated function on an element that
1150         implements the new internal_link handler.
1151
1152 2008-09-01  Stefan Kost  <ensonic@users.sf.net>
1153
1154         * docs/gst/gstreamer-sections.txt:
1155         * gst/gsttaglist.c:
1156         * gst/gsttaglist.h:
1157           Add new tags for geo location and clarify purpose of existing location
1158           tag. Fixes #481169
1159
1160 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1161
1162         Patch by: Olivier Crete <tester at tester dot ca>
1163
1164         * gst/gstpad.c: (gst_pad_iterate_internal_links_default),
1165         (gst_pad_event_default_dispatch), (gst_pad_dispatcher):
1166         Use thread-safe internal links iterator. Fixes #549504.
1167
1168 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1169
1170         Based on patch by: Olivier Crete <tester at tester dot ca>
1171
1172         * docs/gst/gstreamer-sections.txt:
1173         * win32/common/libgstreamer.def:
1174         * gst/gstpad.c: (gst_pad_init),
1175         (gst_pad_set_iterate_internal_links_function),
1176         (int_link_iter_data_free), (iterate_pad),
1177         (gst_pad_iterate_internal_links_default),
1178         (gst_pad_iterate_internal_links), (gst_pad_get_internal_links):
1179         * gst/gstpad.h:
1180         Add threadsafe replacement functions for getting internal links of an
1181         element. Deprecate the old internal links functions.
1182         API:GstPad::gst_pad_set_iterate_internal_links_function()
1183         API:GstPad::GstPadIterIntLinkFunction
1184         API:GstPad::gst_pad_iterate_internal_links()
1185         API:GstPad::gst_pad_iterate_internal_links_default()
1186
1187         * gst/gstghostpad.c: (gst_proxy_pad_do_iterate_internal_links),
1188         (gst_proxy_pad_init):
1189         Implement threadsafe internal links.
1190
1191         * tests/check/elements/tee.c: (GST_START_TEST), (tee_suite):
1192         Unit test for internal links on tee. See #549504.
1193
1194 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
1195
1196         * tests/check/Makefile.am:
1197         libs/transform1 test requires libs/test_transform.c
1198
1199 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
1200
1201         * gst/gstpad.c: (gst_pad_get_internal_links_default):
1202         Die evil deadlock, die !
1203
1204 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
1205
1206         * gst/gstutils.c: (gst_element_get_compatible_pad):
1207         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1208         * tests/check/gst/gstpad.c: (name_is_valid), (GST_START_TEST):
1209         Fix all leaks due to the bug in gst_pad_template_new() by which it does
1210         not steal the refcount of the given caps as stated.
1211
1212         REVERT THIS COMMIT ONCE FIXED !
1213         REVERT THIS COMMIT ONCE FIXED !
1214         REVERT THIS COMMIT ONCE FIXED !
1215         REVERT THIS COMMIT ONCE FIXED !
1216         REVERT THIS COMMIT ONCE FIXED !
1217         REVERT THIS COMMIT ONCE FIXED !
1218
1219 2008-08-29  Wim Taymans  <wim.taymans@collabora.co.uk>
1220
1221         * gst/gstiterator.c:
1222         * gst/gstiterator.h:
1223         After 3 years it's about time to revise the documentation of the
1224         iterator objects.
1225
1226 2008-08-29  Wim Taymans  <wim.taymans@collabora.co.uk>
1227
1228         * gst/gstpad.c: (gst_pad_get_internal_links_default):
1229         Make the internal links function less thread-unsafe and add some
1230         comments, dunno why.
1231
1232 2008-08-29  Tim-Philipp Müller  <tim.muller at collabora co uk>
1233
1234         * gst/gst_private.h:
1235           Include gstinfo.h even if GST_DISABLE_GST_DEBUG is defined. Fixes
1236           build with --disable-gst-debug.
1237
1238 2008-08-28  David Schleef  <ds@schleef.org>
1239
1240         * gst/gstpadtemplate.c: Revert last change, since it breaks
1241           a few plugins, ffmpeg, alaw, and mulaw.  Code is correct,
1242           but shouldn't be enabled until we've released fixed versions
1243           of -good and -ffmpeg.
1244
1245 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
1246
1247         * gst/gstobject.c:
1248           Put the gst_object_get_name() back in.
1249
1250 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
1251
1252         * gst/gstpadtemplate.c:
1253           The old behaviour was that gst_pad_template_new() takes ownership of
1254           the caps. As we now call g_object_new() which calls g_object_set() and
1255           which copies the caps, we have to unref them to not leak them. Fixes
1256           make valgrid for me.
1257
1258 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
1259
1260         * gst/gsturi.c:
1261           Don't segfault on input like "tel:+1-123-555-1234".
1262
1263 2008-08-27  Stefan Kost  <ensonic@users.sf.net>
1264
1265         * gst/gstobject.c:
1266           Due to popular request also include ObjectType in
1267           gst_object_get_path_string(). Makes gst-launch -v bit more useful.
1268
1269 2008-08-26  David Schleef  <ds@schleef.org>
1270
1271         * gst/gstutils.c: Remove check in gst_pad_query_convert() that
1272           src_val must be positive, because that's not a requirement.
1273           This causes problems with converting negative granulepos
1274           values for Dirac.
1275         * gst/gstquery.c: Same, gst_query_new_convert().
1276
1277 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1278
1279         * gst/gstclock.c: (gst_clock_add_observation):
1280         Add some more debugging to the clock slaving code.
1281
1282         * win32/common/libgstbase.def:
1283         Add new basetransform method.
1284
1285 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1286
1287         * gst/gstbin.c: (gst_bin_element_set_state):
1288         Take the (recursive) state lock between getting the locked state of an
1289         element and changing the element state. This allows the application to
1290         lock an element's state and then change its state without races.
1291
1292 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1293
1294         * gst/gstbin.c: (gst_bin_element_set_state):
1295         When an element is in the locked state we still want to update the
1296         base_time of the element.
1297
1298 2008-08-21  Wim Taymans  <wim.taymans@collabora.co.uk>
1299
1300         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1301         Use the result from gst_pad_set_caps() instead of assuming the element
1302         always accepted the caps computed by the default negotiate function.
1303
1304 2008-08-20  Wim Taymans  <wim.taymans@collabora.co.uk>
1305
1306         * docs/libs/gstreamer-libs-sections.txt:
1307         * libs/gst/base/gstbasetransform.c:
1308         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1309         (gst_base_transform_chain), (gst_base_transform_suggest),
1310         (gst_base_transform_reconfigure):
1311         * libs/gst/base/gstbasetransform.h:
1312         Implement method for reconfiguring basetransform.
1313         API: GstBaseTransform::gst_base_transform_reconfigure()
1314
1315 2008-08-20  Stefan Kost  <ensonic@users.sf.net>
1316
1317         patch by: Murray Cumming <murrayc@murrayc.com>
1318
1319         * gst/gstutils.c:
1320           Mention that this is just like gst_buffer_merge() but with extra
1321           unreffing for C coders. Advise language bindings not to wrap it.
1322           Fixes Bug #533856.
1323           
1324           Also fix file comment.
1325
1326 2008-08-20  Stefan Kost  <ensonic@users.sf.net>
1327
1328         reviewed by: Wim Taymans <wim.taymans@collabora.co.uk>
1329
1330         * plugins/elements/gstfakesink.c:
1331         * plugins/elements/gstfakesrc.c:
1332           Call super::event() when not handling it. Fixes #544855.
1333
1334 2008-08-19  Michael Smith <msmith@songbirdnest.com>
1335
1336         Patch by: Alessandro Decina <alessandro@nnva.org>
1337         * plugins/elements/gstfilesrc.c:
1338           Use 64 bit variants of stat functions on win32, to enable support
1339           of large files there.
1340           Fixes #547277.
1341
1342 2008-08-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1343
1344         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
1345         (gst_base_sink_event), (gst_base_sink_chain_unlocked),
1346         (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
1347         (gst_base_sink_get_position), (gst_base_sink_change_state):
1348         Improve position reporting in the flushing state.
1349         Also report the position when we are not yet prerolled but we
1350         have a newsegment event. Fixes #543444.
1351         Improve the pull-based negotiation code.
1352
1353         * tests/check/elements/fakesink.c: (GST_START_TEST),
1354         (fakesink_suite):
1355         Add testcase for position reporting while flushing in PAUSED and
1356         PLAYING.
1357
1358         * tests/check/generic/sinks.c: (GST_START_TEST):
1359         Update unit-test, we can now query the position as soon as we receive a
1360         NEWSEGMENT event.
1361
1362 2008-08-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1363
1364         Based on patch by: Jason Zhao <e3423c at motorola dot com>
1365
1366         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object):
1367         When the subclass event handler releases the PREROLL_LOCK, we could be
1368         in the flushing state and we have to ignore the event. Fixes #548394.
1369
1370 2008-08-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
1371
1372         * tools/gst-launch.1.in:
1373           Document GST_REGISTRY_UPDATE environment variable.
1374
1375 2008-08-18  Wim Taymans  <wim.taymans@collabora.co.uk>
1376
1377         * libs/gst/base/gstbasetransform.c:
1378         (gst_base_transform_prepare_output_buffer):
1379         If the element is configured in passthrough mode but the
1380         prepare_output_buffer gave us a new output buffer, discard that buffer
1381         and reuse the input buffer.
1382
1383 2008-08-15  Wim Taymans  <wim.taymans@collabora.co.uk>
1384
1385         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
1386
1387         * plugins/elements/gsttee.c: (gst_tee_finalize), (gst_tee_init),
1388         (gst_tee_request_new_pad), (gst_tee_release_pad),
1389         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc):
1390         * plugins/elements/gsttee.h:
1391         Protect pad_alloc with a new lock so that we can be sure that nothing is
1392         performing a pad_alloc when removing the pad. Fixes #547835.
1393
1394         * tests/check/elements/tee.c: (buffer_alloc_harness_setup),
1395         (buffer_alloc_harness_teardown), (app_thread_func),
1396         (final_sinkpad_bufferalloc), (GST_START_TEST), (tee_suite):
1397         Added testcase for shutdown race.
1398
1399 2008-08-14  Thijs Vermeir  <thijsvermeir@gmail.com>
1400
1401         * gst/gstpad.h:
1402         Add doc
1403
1404 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1405
1406         * libs/gst/base/gstbasetransform.c:
1407         (gst_base_transform_prepare_output_buffer),
1408         (gst_base_transform_buffer_alloc):
1409         Go over the buffer_alloc function again and make sure we always end up
1410         allocating a buffer.
1411         Add some more docs.
1412         Avoid doing pad alloc when we have a pending suggestion because we
1413         cannot yet deal with changing caps in that case. Fixes #547728
1414
1415 2008-08-14  Stefan Kost  <ensonic@users.sf.net>
1416
1417         patch by: Luc Pionchon <luc.pionchon@nokia.com>
1418
1419         * docs/manual/advanced-clocks.xml:
1420         * docs/manual/clocks.png:
1421         * docs/manual/diagrams-clocks.svg:
1422           Add one more image showing different times together with a describing
1423           paragraph. Fixes #547729.
1424
1425 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1426
1427         * win32/common/libgstbase.def:
1428         Add new method.
1429
1430 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1431
1432         * libs/gst/base/gstbasetransform.c:
1433         (gst_base_transform_transform_caps),
1434         (gst_base_transform_prepare_output_buffer),
1435         (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
1436         Don't overwrite the outsize when calculating the expected size of a new
1437         buffer because we still need it in case we cannot process the new
1438         buffer.
1439         When converting the size of the new buffer to an upstream size, actually
1440         use the expected size of the buffer, not some other random value.
1441         Use an atomic int to signal that a new upstream caps suggestion is
1442         available.
1443         When we can convert the current buffer to a new format, check if the
1444         buffer size is of the expected size and allocate a new buffer of the
1445         expected size when this is not the case. Fixes #546883.
1446
1447         * tests/check/libs/transform1.c: (GST_START_TEST):
1448         remove ifdeffed code from the unit test.
1449
1450 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1451
1452         * pkgconfig/gstreamer-uninstalled.pc.in:
1453         * pkgconfig/gstreamer.pc.in:
1454           Remove -lgstcontrol-0.10 which never worked anyway as the lib is
1455           called gstcontroller-0.10.
1456
1457 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1458
1459         * gst/gstchildproxy.h:
1460         * gst/gstpreset.h:
1461           Remove double interface from doc-string.        
1462
1463 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1464
1465         * libs/gst/base/gstbasesrc.c:
1466         * libs/gst/base/gstbasetransform.c:
1467           Fix headings in docs and gtk-doc warnings.
1468
1469 2008-08-11  Michael Smith <msmith@songbirdnest.com>
1470
1471         * gst/gstregistrybinary.c:
1472           Don't use g_mkstmp() on win32, it's unsafe if glib is using a different
1473           libc.
1474           Fixes #544776.
1475
1476 2008-08-11  Edward Hervey  <edward.hervey@collabora.co.uk>
1477
1478         * libs/gst/base/gstbasetransform.c:
1479         (gst_base_transform_buffer_alloc):
1480         Fix a "may be used unitialized" warning.
1481
1482 2008-08-11  Stefan Kost  <ensonic@users.sf.net>
1483
1484         * docs/gst/gstreamer-sections.txt:
1485         * gst/gstpreset.h:
1486           Document preset-iface vmethods.
1487
1488 2008-08-11  Stefan Kost  <ensonic@users.sf.net>
1489
1490         * docs/manual/advanced-interfaces.xml:
1491           Turn thoughts about HAL into a note-tag. Remove mentioning that is
1492           only used to discover devices.
1493
1494 2008-08-07  Tim-Philipp Müller  <tim.muller at collabora co uk>
1495
1496         Patch by: Frederic Crozat <fcrozat@mandriva.org>
1497
1498         * gst/gst.c: (init_pre):
1499         Make sure gettext returns translations in UTF-8 encoding rather
1500         than in the current locale encoding (#546822).
1501
1502 2008-08-07  Wim Taymans  <wim.taymans@collabora.co.uk>
1503
1504         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
1505         Fix subset test.
1506
1507         * tests/check/gst/gstcaps.c: (GST_START_TEST):
1508         Improve unit test subset tests and add a testcase for the subset failure
1509         cases.
1510
1511         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1512         Improve subtraction unit test.
1513
1514 2008-08-07  Stefan Kost  <ensonic@users.sf.net>
1515
1516         * plugins/elements/gsttee.c:
1517           Unlock, instead of locking again.
1518
1519 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1520
1521         * gst/gstpad.h:
1522         Clarify the docs a bit more.
1523
1524 2008-08-05  Stefan Kost  <ensonic@users.sf.net>
1525
1526         * tests/examples/metadata/read-metadata.c:
1527           Don't leak old taglist.
1528
1529 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1530
1531         Patch by: Olivier Crete <tester at tester dot ca>
1532
1533         * gst/gststructure.c:
1534         (gst_structure_fixate_field_nearest_fraction):
1535         Avoid overflows in fixation code when dealing with MAXINT values, which
1536         v4l2src seems to do.
1537         Fixes #546328.
1538
1539         * tests/check/gst/gststructure.c: (GST_START_TEST):
1540         Make a unit test to check the fix. 
1541
1542 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1543
1544         * plugins/elements/gstcapsfilter.c: (copy_func),
1545         (gst_capsfilter_set_property):
1546         Use new caps suggestion feature of basetransform to request a caps
1547         negotiation upstream.
1548
1549 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1550
1551         * docs/libs/gstreamer-libs-sections.txt:
1552         Add new function:
1553         API: GstBaseTransform::gst_base_transform_suggest()
1554
1555         * libs/gst/base/gstbasetransform.c: (gst_base_transform_finalize),
1556         (gst_base_transform_init), (gst_base_transform_transform_caps),
1557         (gst_base_transform_transform_size),
1558         (gst_base_transform_configure_caps),
1559         (gst_base_transform_can_transform),
1560         (gst_base_transform_find_transform), (gst_base_transform_setcaps),
1561         (gst_base_transform_prepare_output_buffer),
1562         (gst_base_transform_buffer_alloc),
1563         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1564         (gst_base_transform_chain), (gst_base_transform_activate),
1565         (gst_base_transform_set_passthrough),
1566         (gst_base_transform_is_passthrough),
1567         (gst_base_transform_set_in_place),
1568         (gst_base_transform_is_in_place), (gst_base_transform_update_qos),
1569         (gst_base_transform_set_qos_enabled),
1570         (gst_base_transform_is_qos_enabled),
1571         (gst_base_transform_set_gap_aware), (gst_base_transform_suggest),
1572         (gst_base_transform_reconfigure):
1573         * libs/gst/base/gstbasetransform.h:
1574         Rewrite of basetransform to perform negotiation outside of the
1575         buffer_alloc functions.  Fixes #545853.
1576
1577         * tests/check/libs/transform1.c: (GST_START_TEST),
1578         (buffer_alloc_ct2):
1579         Update unit test.
1580
1581 2008-08-05  Stefan Kost  <ensonic@users.sf.net>
1582
1583         * tests/check/gst/gstpreset.c:
1584           Only run preset tests when $HOME is writable. Preliminary fix for
1585           #545433.
1586
1587 2008-08-04  Wim Taymans  <wim.taymans@collabora.co.uk>
1588
1589         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1590         (gst_bin_change_state_func), (bin_handle_async_done),
1591         (gst_bin_handle_message_func):
1592         Fix race for bins that simulate ASYNC state changes by inserting
1593         ASYNC_START and ASYNC_DONE messages in their bus. We need to check for
1594         pending ASYNC messages even when the bin does not have ASYNC children.
1595         We note detect this behaviour because we will receive an ASYNC message
1596         that is originating from the bin itself. 
1597         Fixes races with decodebin2 state changes.
1598
1599         * tests/check/gst/gstbin.c: (GST_START_TEST):
1600         Add some more debug.
1601
1602 2008-08-04  Tim-Philipp Müller  <tim.muller at collabora co uk>
1603
1604         * gst/gsttaglist.c: (_gst_tag_initialize):
1605           Fix typo.
1606
1607 2008-08-04  Stefan Kost  <ensonic@users.sf.net>
1608
1609         * gst/gsttaglist.c:
1610           Argh. actually save the text before committing. Now adds
1611           gst_tag_merge_strings_with_comma() to gst_tag_register().
1612
1613 2008-08-04  Stefan Kost  <ensonic@users.sf.net>
1614
1615         * gst/gsttaglist.c:
1616         * gst/gsttaglist.h:
1617           Do as tim pointed out and actually register the new tag. Also improve
1618           te docs and use gst_tag_merge_strings_with_comma() method to allow
1619           retriving all keywords merged in one list.
1620
1621 2008-08-01  Stefan Kost  <ensonic@users.sf.net>
1622
1623         * configure.ac:
1624         * docs/gst/gstreamer.types:
1625           Revert 'accidential' change of the configure option removal. We still
1626           need to generate the types file in configure --disable-load-save.
1627
1628 2008-08-01  Stefan Kost  <ensonic@users.sf.net>
1629
1630         * docs/gst/gstreamer-sections.txt:
1631         * gst/gsttaglist.h:
1632           Add new taglist item GST_TAG_KEYWORDS, needed for #520694 .
1633
1634 2008-08-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
1635
1636         * gst/gstpadtemplate.c:
1637           (gst_pad_template_class_init), (gst_static_pad_template_get),
1638           (gst_pad_template_new), (gst_pad_template_pad_created),
1639           (gst_pad_template_set_property), (gst_pad_template_get_property):
1640           Add "name-template", "direction", "presence" and "caps" properties,
1641           so that gst_pad_template_new() is just a thin wrapper around
1642           g_object_new(), which is better for bindings. (Fixes: #539772)
1643
1644 2008-07-31  Michael Smith <msmith@songbirdnest.com>
1645
1646         * gst/gsturi.c:
1647           Be more liberal in what URIs we accept.
1648           Do not unescape bits of the URI for no apparent reason before passing to
1649           the element. Fixes #545352.
1650
1651 2008-07-31  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1652
1653         Patch by: Robert Schwebel <r.schwebel@pengutronix.de>
1654
1655         * gst/gst.c:
1656         Include gstconfig.h as macros from it are used. Fixes bug #545607.
1657
1658 2008-07-31  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1659
1660         * configure.ac:
1661         * docs/gst/gstreamer-sections.txt:
1662         * docs/gst/gstreamer.types:
1663         * docs/gst/gstreamer.types.in:
1664         * gst/Makefile.am:
1665         * gst/gst.c:
1666         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func):
1667         * gst/gstconfig.h.in:
1668         * gst/gstelement.c: (gst_element_get_index):
1669         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
1670         (gst_registry_binary_load_feature),
1671         (gst_registry_binary_read_cache):
1672         * gst/gstregistryxml.c: (load_feature),
1673         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
1674         * plugins/Makefile.am:
1675         * tools/gst-indent:
1676         * tools/gst-inspect.c: (print_index_info), (print_element_list),
1677         (print_plugin_features), (print_element_features):
1678         * tools/gst-xmlinspect.c: (print_event_masks),
1679         (print_element_info):
1680         * win32/common/gstconfig.h:
1681         Remove GST_DISABLE_(ENUMTYPES|INDEX|URI) everywhere.
1682
1683         Disabling the indexers and URI handler code will only reduce the
1684         required amount of memory by a very small amount but on the other hand
1685         requires much more maintaince work. Apart from that many places of
1686         code are broken when disabling them.
1687
1688         Disabling the enum types doesn't reduce the required amount of memory
1689         by more than a few bytes and makes it hard to fix bugs like #539772,
1690         i.e. use the enums as GObject properties.
1691
1692 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1693
1694         * docs/design/part-TODO.txt:
1695         Add some thoughts and problems with upstream renegotiation.
1696
1697 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1698
1699         * gst/gstpad.c: (gst_pad_acceptcaps_default),
1700         (gst_pad_configure_src), (gst_pad_alloc_buffer_full):
1701         Remove silly redundant debug.
1702         Add some more debug info.
1703         Clarify the docs regarding new caps received from pad_alloc.
1704
1705 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1706
1707         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_set_property),
1708         (gst_capsfilter_get_property), (gst_capsfilter_transform_caps):
1709         Make setting the caps more threadsafe.
1710
1711 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1712
1713         * docs/design/part-element-transform.txt:
1714         Update docs.
1715
1716 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1717
1718         * plugins/elements/gstqueue.c: (gst_queue_init),
1719         (gst_queue_acceptcaps):
1720         Add and use a custom acceptcaps function instead of falling back to the
1721         potentially less optimized default implementation.
1722
1723 2008-07-29  Tim-Philipp Müller  <tim.muller at collabora co uk>
1724
1725         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
1726           Only sanity-check the buffer size if requested_caps == buffer_caps
1727           (ie. don't take pad caps into account, they're not relevant here)
1728
1729 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1730
1731         * plugins/elements/gsttee.c:
1732         * plugins/elements/gsttee.h:
1733           Reverting as not everything is clear yet. Needs some general design
1734           work.
1735
1736 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1737
1738         * ChangeLog:
1739           ChangeLog surgery for tee commit.
1740
1741 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1742
1743         * docs/gst/gstreamer-sections.txt:
1744           Cleanup section-file.
1745
1746 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1747
1748         * plugins/elements/gsttee.c:
1749         * plugins/elements/gsttee.h:
1750           Relay tag events in tee. Fixes parts of #474016.
1751           Downgrades 3 reoccurring debugs to log.
1752
1753 2008-07-28  Michael Smith <msmith@songbirdnest.com>
1754
1755         * configure.ac:
1756         * libs/gst/Makefile.am:
1757           Build the net library if we have winsock2.
1758
1759 2008-07-26  Stefan Kost  <ensonic@users.sf.net>
1760
1761         patch by: Luc Pionchon <luc.pionchon@nokia.com>
1762
1763         * docs/manual/advanced-threads.xml:
1764         * docs/manual/diagrams-pipelines.svg:
1765         * docs/manual/hello-world.png:
1766         * docs/manual/linked-elements.png:
1767         * docs/manual/mime-world.png:
1768         * docs/manual/queue.png:
1769         * docs/manual/thread-buffering.png:
1770         * docs/manual/thread-synchronizing.png:
1771           Replace one diagram with two separate ones and updates others.
1772           Fixes #542401.
1773
1774 2008-07-25  Thijs Vermeir  <thijsvermeir@gmail.com>
1775
1776         * gst/gstelement.h:
1777         Fix link in documentation.
1778
1779 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
1780
1781         * gst/gstmessage.c:
1782         Fix confusing documentation.
1783
1784 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
1785
1786         * libs/gst/base/gstbasesrc.h:
1787         revert the changes to the header file for the ABI.
1788
1789 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
1790
1791         * libs/gst/base/gstbasesrc.c:
1792         * libs/gst/base/gstbasesrc.h:
1793         Don't cache the seekable status.
1794         Fixes bug #544174
1795
1796 2008-07-24  Rene Stadler  <mail@renestadler.de>
1797
1798         * docs/manual/advanced-autoplugging.xml: Add fakesink to example
1799         code to close the pipeline graph.  This prevents the program from
1800         printing internal data flow errors.
1801
1802 2008-07-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1803
1804         * docs/manual/basics-bus.xml:
1805         Correct typo. Fixes bug #544320.
1806
1807 2008-07-22  Michael Smith <msmith@songbirdnest.com>
1808
1809         * configure.ac:
1810           Remove AC_ISC_POSIX macro; it's broken on some platforms and not needed.
1811           Add check (taken from -base) for winsock, adds WIN32_LIBS
1812         * gst/Makefile.am:
1813           Add WIN32_LIBS to LIBADD for libgstreamer. Needed now that gstpoll uses
1814           winsock.
1815           Define GST_EXPORTS when building libgstreamer (only used on win32)
1816         * gst/gst_private.h:
1817         * gst/gstinfo.h:
1818           Use GST_EXPORT instead of locally-defined (and incorrect IMPORT_SYMBOL)
1819           for symbols that we need to export in both these files.
1820         * gst/gstpoll.c:
1821           Include gst_private.h higher up to avoid some compile problems on win32.
1822
1823 2008-07-22  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1824
1825         * gst/gstvalue.c:
1826         Fix typos.
1827
1828 2008-07-22  Thijs Vermeir  <thijsvermeir@gmail.com>
1829
1830         * gst/gstcaps.c:
1831         Previous commit was wrong NULL caps does not exist
1832         and indicate an error, so also add a FIXME to
1833         gst_caps_is_equal where NULL caps are accepted.
1834
1835 2008-07-22  Thijs Vermeir  <thijsvermeir@gmail.com>
1836
1837         * gst/gstcaps.c:
1838         Allow passing of NULL to gst_caps_union
1839
1840 2008-07-21  Thijs Vermeir  <thijsvermeir@gmail.com>
1841
1842         * gst/gstghostpad.c:
1843         Add in doc that gst_ghost_pad_set_target can accept
1844         NULL to clear target
1845
1846 2008-07-15  Michael Smith <msmith@songbirdnest.com>
1847
1848         * gst/gstplugin.c:
1849         * gst/gstregistry.c:
1850           GstRegistryPool doesn't exist; don't refer to it in docs.
1851           Don't refer to functions that don't exist in docs, it's
1852           unhelpful.
1853
1854 2008-07-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1855
1856         * gst/gst.c:
1857         Fix scanning of paths given via --gst-plugin-path. Fixes bug #542175.
1858
1859 2008-07-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1860
1861         Patch by: Tristan Matthews <le dot businessman at gmail dot com>
1862
1863         * docs/pwg/building-testapp.xml:
1864         Don't use an undeclared variable in the example program.
1865         Fixes bug #542573.
1866
1867 2008-07-12  Stefan Kost  <ensonic@users.sf.net>
1868
1869         * gst/gstdebugutils.c:
1870           Squeeze ghost-pad links and remove <> from classname labels to save
1871           more horizontal space.
1872
1873 2008-07-11  Stefan Kost  <ensonic@users.sf.net>
1874
1875         * gst/gstdebugutils.c:
1876           Give request and sometimes pads a different shpe style. Condense the
1877           graphs a little more.
1878
1879 2008-07-09  Michael Smith <msmith@songbirdnest.com>
1880
1881         * configure.ac:
1882           Don't require flex and bison if the parser is disabled.
1883
1884 2008-07-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1885
1886         * libs/gst/controller/gstinterpolationcontrolsource.c:
1887         (_list_find_sorted_custom):
1888         Don't use declarations after statements.
1889
1890 2008-07-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1891
1892         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
1893         Add FIXMEs for 0.11 to use GST_TYPE_OBJECT in the signature
1894         of the the child-added / -removed signals as GstChildProxy
1895         only supports GstObjects.
1896
1897 2008-07-07  Thijs Vermeir  <thijsvermeir@gmail.com>
1898
1899         * gst/gstdebugutils.c:
1900         Fix memleak
1901
1902 2008-07-06  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1903
1904         Patch by: Alessandro Decina <alessandro at nnva dot org>
1905
1906         * gst/gstpoll.c:
1907         Fix "ignored return value" compiler warning with newer glibc.
1908
1909 2008-07-05  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1910
1911         * gst/gstchildproxy.c:
1912         Fix copy&paste error in gst_child_proxy_removed() documentation.
1913
1914 2008-07-02  Tim-Philipp Müller  <tim.muller at collabora co uk>
1915
1916         * gst/gstplugin.c: (CHECK_PLUGIN_DESC_FIELD), (gst_plugin_load_file):
1917           Print error debug message if plugin description fields that should
1918           be set are NULL.
1919
1920         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string):
1921           Don't crash if the string to serialise is NULL (it really should
1922           not be, but apparently this used to work with the xml registry ...).
1923
1924 2008-07-02  Thijs Vermeir  <thijsvermeir@gmail.com>
1925
1926         * tools/gst-plot-timeline.py:
1927         Fix parsing of log messages
1928
1929 2008-07-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
1930
1931         * win32/common/libgstbase.def::
1932           Sort alphabetically so make check-exports doesn't barf.
1933
1934 2008-07-01  Stefan Kost  <ensonic@users.sf.net>
1935
1936         * gst/gstevent.c:
1937           Use gst_format_get_name() to improve debug output.
1938
1939         * gst/gstpreset.c:
1940           Remove #ifdef'ed code. Add TODO comment.
1941
1942         * gst/gstsegment.c:
1943           Add debug output to ease spotting format != segment.format assertions.
1944
1945 2008-06-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1946
1947         * tests/check/libs/gdp.c: (gst_dp_suite):
1948         Also enable the GDP unit test again on PPC now that the bug
1949         is fixed.
1950
1951 2008-06-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1952
1953         * libs/gst/dataprotocol/dataprotocol.c:
1954         Don't write to the same region of memory as a uint64 and uint16
1955         as this breaks strict aliasing rules and apparantly breaks on PPC
1956         and s390. Thanks to Sjoerd Simons for analysing. Fixes bug #348114.
1957
1958 2008-06-29  Stefan Kost  <ensonic@users.sf.net>
1959
1960         * libs/gst/controller/gstinterpolationcontrolsource.c:
1961           Optimize list handling. Use own find function. Exploit that fact that
1962           the list is sorted. Also pass back the node before, so that we can
1963           insert quickly. Have a fast path for append.
1964
1965 2008-06-29  Stefan Kost  <ensonic@users.sf.net>
1966
1967         * docs/design/draft-framestep.txt:
1968         * docs/design/part-negotiation.txt:
1969           Fix two typos.
1970
1971 2008-06-27  Stefan Kost  <ensonic@users.sf.net>
1972
1973         * configure.ac:
1974           Show configuration sumary after configure run. Based on patch by
1975           Luc Pionchon <luc.pionchon@nokia.com>. Fixes: #540134
1976
1977 2008-06-27  Stefan Kost  <ensonic@users.sf.net>
1978
1979         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
1980
1981         * docs/manual/advanced-autoplugging.xml:
1982         * docs/manual/advanced-threads.xml:
1983         * docs/manual/basics-bins.xml:
1984         * docs/manual/basics-elements.xml:
1985         * docs/manual/basics-helloworld.xml:
1986         * docs/manual/basics-pads.xml:
1987           Add scale factor for pdf output.
1988
1989         * docs/manual/intro-basics.xml:
1990           Switched sections "pads" and "bins" and added a pipeline diagram.
1991
1992         * docs/manual/intro-gstreamer.xml:
1993           Added more info on gstreamer.
1994
1995         * docs/manual/intro-motivation.xml:
1996           Commented out the whole section "current problem", which sounds
1997           historical and somehow osolete; it could be turned in a positive
1998           way and reused to improve the design principles.
1999
2000         * docs/manual/intro-preface.xml:
2001           - Update URLs to library.gnome.org. 
2002           - Do not mention GTK+ in preliminary reading (irrelevant). 
2003           - Mention Plugin Writer's Manual and further reading only in the
2004             previous section.
2005           - Added a list of most relevant GObject/glib topics.
2006
2007         * docs/manual/Makefile.am:
2008         * docs/manual/bin-element-ghost.fig:
2009         * docs/manual/bin-element-ghost.png:
2010         * docs/manual/bin-element-noghost.fig:
2011         * docs/manual/bin-element-noghost.png:
2012         * docs/manual/bin-element.fig:
2013         * docs/manual/bin-element.png:
2014         * docs/manual/filter-element-multi.fig:
2015         * docs/manual/filter-element-multi.png:
2016         * docs/manual/filter-element.fig:
2017         * docs/manual/filter-element.png:
2018         * docs/manual/gstreamer-overview.png:
2019         * docs/manual/hello-world.fig:
2020         * docs/manual/hello-world.png:
2021         * docs/manual/linked-elements.fig:
2022         * docs/manual/linked-elements.png:
2023         * docs/manual/mime-world.fig:
2024         * docs/manual/mime-world.png:
2025         * docs/manual/queue.fig:
2026         * docs/manual/queue.png:
2027         * docs/manual/simple-player.png:
2028         * docs/manual/sink-element.fig:
2029         * docs/manual/sink-element.png:
2030         * docs/manual/src-element.fig:
2031         * docs/manual/src-element.png:
2032         * docs/manual/diagrams-general.svg:
2033         * docs/manual/diagrams-pipelines.svg:
2034           Removed .fig, added .png counterpart.
2035           
2036           Fixes: #539137
2037
2038 2008-06-26  Thijs Vermeir  <thijsvermeir@gmail.com>
2039
2040         * plugins/elements/gstmultiqueue.c:
2041         * plugins/elements/gstmultiqueue.h:
2042         revert extra-size-buffers stuff, caused some race conditions
2043         and extra-size-buffers is not used anymore. Docs needs some updates
2044
2045 2008-06-26  Tim-Philipp Müller  <tim.muller at collabora co uk>
2046
2047         * win32/common/config.h:
2048         * win32/common/gstenumtypes.c:
2049         * win32/common/gstenumtypes.h:
2050         * win32/common/gstversion.h:
2051           Update win32 files.
2052
2053 2008-06-26  Tim-Philipp Müller  <tim.muller at collabora co uk>
2054
2055         * gst/gstdebugutils.h: (GstDebugGraphDetails),
2056           (GST_DEBUG_BIN_TO_DOT_FILE):
2057           Add missing Since' markers to gtk-doc blurbs.
2058
2059 2008-06-26  Wim Taymans  <wim.taymans@collabora.co.uk>
2060
2061         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2062         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2063         (set_caps_1), (set_caps_ct1), (transform_ct1),
2064         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2065         (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
2066         (transform_size_ct2), (buffer_alloc_ct2):
2067         Add some more tests with switching caps in buffer_alloc.
2068
2069 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2070
2071         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2072         (gst_test_trans_class_init), (result_sink_chain),
2073         (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
2074         (gst_test_trans_push), (gst_test_trans_pop):
2075         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2076         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2077         (set_caps_1), (set_caps_ct1), (transform_ct1),
2078         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2079         (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
2080         (transform_size_ct2), (buffer_alloc_ct2),
2081         (gst_basetransform_suite):
2082         More tests, prepare for tests with switching caps in buffer_alloc.
2083
2084 2008-06-25  Thijs Vermeir  <thijsvermeir@gmail.com>
2085
2086         * plugins/elements/gstmultiqueue.c:
2087         * plugins/elements/gstmultiqueue.h:
2088         Fix dead-lock in underrun_cb
2089
2090 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2091
2092         * docs/design/part-states.txt:
2093         Fix device open/close docs.
2094
2095 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2096
2097         * ChangeLog:
2098           Mention bugnumber for last commit.
2099
2100 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2101
2102         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
2103
2104         * docs/manual/manual.xml:
2105         - Reorganised the previous "introduction" bundle into Foreword,
2106         Introduction, and About GStreamer. The two first are <preface>
2107         docbook elements. The later is the first part of the book.
2108         - added intro-gstreamer.xml (content partially from
2109         intro-preface.xml)
2110         - moved appendix-win32.xml into appendix-integration.xml
2111
2112         * docs/manual/intro-preface.xml: gstreamer section moved...
2113         * docs/manual/intro-gstreamer.xml: ...here. new file.
2114
2115         * docs/manual/appendix-win32.xml: removed file. Content moved...
2116         * docs/manual/appendix-integration.xml: ...here.
2117         
2118         * docs/manual/highlevel-components.xml: section about GstEditor moved...
2119         * docs/manual/appendix-checklist.xml: ...here.
2120         
2121         Fixes: 538764
2122
2123 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2124
2125         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
2126
2127         * docs/manual/basics-helloworld.xml:
2128         * docs/manual/hello-world.fig:
2129           - Explicitely include glib.h.
2130           - Do not use global variables.
2131           - Use g_printerr() instead of g_print().
2132           - Minor formating/renaming to increase readibility.
2133           - Renamed new_pad() to on_pad_added()
2134           - Improved explenatory comments.
2135           - renamed ogg parser to ogg demuxer
2136           - Use "autoaudiosink" instead of "alsasink".
2137           Fixes: #538619
2138
2139 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2140
2141         * ChangeLog:
2142           Remove cvs conflict marker.
2143
2144 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2145
2146         * docs/README:
2147           Document that for plgin-docs we extraxt he short-desc from the element
2148           details.
2149
2150         * docs/design/part-states.txt:
2151           Tell that devices should be closed in PAUSED -> READY.
2152
2153         * docs/manual/README:
2154           Document how tests in the manual are handled.
2155
2156         * docs/manuals.mak:
2157           Typo in comment.
2158
2159 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2160
2161         * gst/gstbin.c: (bin_query_latency_fold):
2162         Only care about latency min and max when the sink is actually a live
2163         sink.
2164
2165 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2166
2167         * docs/design/part-block.txt:
2168         Fix typo.
2169
2170         * docs/design/part-element-transform.txt:
2171         Add notes about why transform needs to know input/output sizes.
2172         Add some issues that need to be solved.
2173         Add some more use cases.
2174
2175         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2176         (gst_test_trans_class_init), (result_sink_chain),
2177         (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
2178         (gst_test_trans_push), (gst_test_trans_pop):
2179         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2180         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2181         (set_caps_1), (set_caps_ct1), (transform_ct1),
2182         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2183         (gst_basetransform_suite):
2184         Add suport for different pad templates and buffer-alloc.
2185         Add more checks for caps and buffer-alloc.
2186         Add checks for proxy buffer alloc.
2187         Add unit test for copy transform.
2188
2189 2008-06-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2190
2191         Patch by: Luc Pionchon  <luc.pionchon@nokia.com>
2192
2193         * docs/manual/appendix-integration.xml:
2194         * docs/manual/appendix-licensing.xml:
2195         * docs/manual/basics-elements.xml:
2196         * docs/manual/basics-helloworld.xml:
2197         * docs/manual/basics-pads.xml:
2198         * docs/manual/highlevel-components.xml:
2199         * docs/manual/highlevel-xml.xml:
2200         * docs/manual/intro-basics.xml:
2201         * docs/manual/intro-preface.xml:
2202           Typo and formatting fixes (#538594).
2203
2204 2008-06-24  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2205
2206         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2207         Fix some memory leaks and uses of object instances that we don't
2208         actually own.
2209
2210 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
2211
2212         * plugins/elements/gstmultiqueue.c:
2213         Add functionality to extra-size-buffers property.
2214
2215 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
2216
2217         * plugins/elements/gstmultiqueue.c:
2218         Don't update the cur_time on GST_CLOCK_TIME_NONE (#537804) and don't
2219         activate the pads if they are added in STATE_NULL.
2220
2221 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
2222
2223         * docs/libs/gstreamer-libs-sections.txt:
2224         Add new API to doc
2225         * libs/gst/check/gstcheck.c:
2226         * libs/gst/check/gstcheck.h:
2227         API: gst_check_teardown_pad_by_name
2228
2229 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
2230
2231         * libs/gst/check/gstcheck.c:
2232         * libs/gst/check/gstcheck.h:
2233         Also setup request pads and allow setup pads by name (#537812)
2234         API: gst_check_setup_src_pad_by_name
2235         API: gst_check_setup_sink_pad_by_name
2236
2237 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2238
2239         * tests/check/gst/gstbuffer.c:
2240         * tests/check/pipelines/parse-launch.c:
2241           Use HAVE_VALGRIND_H some more.
2242
2243 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2244
2245         * scripts/cvs-update.sh:
2246           Pass arguments to make.
2247           Run autoregen.sh if Makefile is not there.
2248
2249 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2250
2251         * configure.ac:
2252         * gst/gstinfo.c:
2253           Don't assume that <valgrind/valgrind.h> exists just because
2254           the binary is there.
2255
2256 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2257
2258         * tests/check/Makefile.am:
2259         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2260         (gst_test_trans_class_init), (gst_test_trans_init),
2261         (gst_test_trans_set_data), (result_sink_chain),
2262         (gst_test_trans_new), (gst_test_trans_free), (gst_test_trans_push),
2263         (gst_test_trans_pop):
2264         * tests/check/libs/transform1.c: (GST_START_TEST),
2265         (transform_ip_1), (set_caps_1), (gst_basetransform_suite):
2266         Add some test basetransform element and the beginnings of various
2267         unit tests for it.
2268
2269 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2270
2271         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
2272         Increase code readability.
2273         Don't try to compare buffer offsets when ther are invalid.
2274
2275 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
2276
2277         * docs/design/Makefile.am:
2278           Dist some more design docs.
2279
2280         * docs/random/moving-plugins:
2281           Small addition: good plugins mustn't have functional code
2282           within assertion macros.
2283
2284 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2285
2286         * docs/design/draft-framestep.txt:
2287         Some ideas about a framestep API
2288
2289         * docs/design/part-element-transform.txt:
2290         Start design and use cases for basetransform in order to get it
2291         fixed soon.
2292
2293 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
2294
2295         * gst/gsttaglist.h:
2296           In GST_TAG_ATTACHEMENT docs, mention that the file name needs to
2297           be in UTF-8 encoding.
2298
2299 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
2300
2301         * gst/gstbus.c:
2302           Make it known that gst_bus_poll() is pure evil (fixes #538810).
2303
2304 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2305
2306         * plugins/elements/gstcapsfilter.c:
2307         * plugins/elements/gstfakesink.c:
2308         * plugins/elements/gstfakesrc.c:
2309         * plugins/elements/gstfdsink.c:
2310         * plugins/elements/gstfdsrc.c:
2311         * plugins/elements/gstfilesink.c:
2312         * plugins/elements/gstfilesrc.c:
2313         * plugins/elements/gstidentity.c:
2314         * plugins/elements/gstmultiqueue.c:
2315         * plugins/elements/gstqueue.c:
2316         * plugins/elements/gsttee.c:
2317         * plugins/elements/gsttypefindelement.c:
2318           Remove short_description. Add basic docs for gsttypefindelement.
2319           Simplify markup for fakesrc/fdsrc.
2320
2321 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2322
2323         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
2324         Added Since doc.
2325
2326 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2327
2328         Patch by: Joel Larsson <tilljoel at gmail dot com>
2329
2330         * docs/plugins/gstreamer-plugins.args:
2331         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
2332         (gst_fd_src_init), (gst_fd_src_update_fd),
2333         (gst_fd_src_set_property), (gst_fd_src_get_property),
2334         (gst_fd_src_create):
2335         * plugins/elements/gstfdsrc.h:
2336         Add timeout property like udpsrc. Fixes #538628.
2337         Add some more docs and example pipelines.
2338
2339 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2340
2341         * docs/libs/gstreamer-libs-sections.txt:
2342         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2343         (gst_base_sink_query_latency), (gst_base_sink_set_render_delay),
2344         (gst_base_sink_get_render_delay), (gst_base_sink_wait_eos),
2345         (gst_base_sink_do_sync):
2346         * libs/gst/base/gstbasesink.h:
2347         * win32/common/libgstbase.def:
2348         Add method to allow sinks to specify additional delay between the sync
2349         times and the actual rendering of the data.
2350         API: gst_base_sink_set_render_delay()
2351         API: gst_base_sink_get_render_delay()
2352
2353 2008-06-20  Jan Schmidt  <jan.schmidt@sun.com>
2354
2355         * configure.ac:
2356         Bump version number back to dev -> 0.10.20.1
2357
2358 2008-06-20  Sebastian Dröge  <slomo@circular-chaos.org>
2359
2360         * docs/gst/gstreamer-sections.txt:
2361         * gst/gsttaglist.c: (_gst_tag_initialize):
2362         * gst/gsttaglist.h:
2363         API: Add GST_TAG_ATTACHMENT for generic file attachments to streams.
2364         Fixes bug #538568.
2365
2366 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2367
2368         * libs/gst/controller/gstcontroller.c:
2369           Revert one change, that make ret value possible uninitialized.
2370
2371 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2372
2373         * libs/gst/controller/gstcontroller.c:
2374           Use freeze/thaw notify to sync notify emission a bit (its also more
2375           efficient). Move debug output to LOG (is called a lot in a loop).
2376           Always unset g_values if the have been initialized.
2377
2378 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2379
2380         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2381         (gst_base_sink_wait_eos), (gst_base_sink_event):
2382         If we have not seen a buffer before EOS, use the segment values to
2383         report the current position instead of invalid positions.
2384
2385 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2386
2387         * docs/plugins/tmpl/.cvsignore:
2388         * tests/check/gst/.cvsignore:
2389           Ignore more.
2390
2391 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2392
2393         * libs/gst/controller/gstinterpolation.c:
2394         * libs/gst/controller/gstinterpolationcontrolsource.c:
2395         * tests/check/libs/controller.c:
2396           Rewrite handling of default values. Fix overflow with unsigned types
2397           in linear interpolation. Remove now obsolete _first_value() function.
2398           Add more tests. Fixes #538201.
2399
2400 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2401
2402         * libs/gst/base/gstbasetransform.c:
2403         (gst_base_transform_class_init), (gst_base_transform_init),
2404         (gst_base_transform_transform_caps),
2405         (gst_base_transform_prepare_output_buffer):
2406         Add debug info.
2407         When a buffer is writable, its metadata is also writable so we don't
2408         need to subbuffer (which then makes the buffer not-writable anymore).
2409
2410 === release 0.10.20 ===
2411
2412 2008-06-18  Jan Schmidt <jan.schmidt@sun.com>
2413
2414         * configure.ac:
2415           releasing 0.10.20, "You Crazy Diamond"
2416
2417 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
2418
2419         * configure.ac:
2420         0.10.19.3 pre-release
2421
2422 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
2423
2424         * configure.ac:
2425         * gst/gstpreset.c:
2426         Rename DATADIR to GST_DATADIR to avoid build problems
2427         on win32. Patch By: David Schleef <ds@schleef.org>
2428         Fixes: #536857
2429
2430 2008-06-05  Sebastian Dröge  <slomo@circular-chaos.org>
2431
2432         * configure.ac:
2433         Explicitely link with -ldl if dladdr() is found there. Before it was
2434         implicitely linked by the gmodule pkgconfig file but in glib 2.17.0
2435         -ldl has moved from Libs to Libs.private. Fixes bug #536744.
2436
2437 2008-06-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
2438
2439         * gst/gsterror.c: (_gst_stream_errors_init):
2440           Fix typo (spotted by Fabricio Godoy, #536723).
2441
2442 2008-06-05  Jan Schmidt  <jan.schmidt@sun.com>
2443
2444         * configure.ac:
2445         0.10.19.2 pre-release
2446
2447 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
2448
2449         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_async_enabled),
2450         (gst_base_sink_set_ts_offset), (gst_base_sink_perform_qos):
2451         Add some debug.
2452         Make sure we don't generate invalid QoS messages.
2453
2454 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
2455
2456         * gst/gstevent.c: (gst_event_new_qos):
2457         Add some assert and docs for invalid input to the qos function.
2458
2459 2008-05-30  Wim Taymans  <wim.taymans@collabora.co.uk>
2460
2461         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2462         (gst_base_sink_get_position):
2463         The reported position must always be smaller than the last seen
2464         timestamps (or timestamp + duration for reverse).
2465
2466 2008-05-30  Sebastian Dröge  <slomo@circular-chaos.org>
2467
2468         Patch by: Rob Bradford <rob at robster dot org dot uk>
2469
2470         * gst/gstregistry.c: (gst_registry_scan_path_level):
2471         Don't recurse into .debug directories as some distros install
2472         the debugging symbols next to the plugins in .debug directories
2473         and dlopen() crashes on them sometimes. Fixes bug #508070.
2474
2475         Add FIXME for 0.11 to not recurse into directories at all because
2476         it's very inconsistent to the behaviour of other PATH environment
2477         variables.
2478
2479 2008-05-29  Wim Taymans  <wim.taymans@collabora.co.uk>
2480
2481         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2482         (gst_base_sink_get_position_last), (gst_base_sink_get_position):
2483         Fix position query range checks in reverse playback.
2484
2485 2008-05-29  Sebastian Dröge  <slomo@circular-chaos.org>
2486
2487         * gst/gstelement.c:
2488         * gst/gstelement.h:
2489         Deprecated gst_element_get_pad() as it can't be used sanely. It's not
2490         clear of the reference to the resulting pad must be released later
2491         or not, resulting in possible leaks. Fixes bug #533865.
2492
2493 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
2494
2495         Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
2496
2497         * gst/gstelementfactory.c:
2498         Small doc fix. Fixes #535285.
2499
2500 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
2501
2502         Based on patch by: Bjarne Rosengren <bjarne at axis dot com>
2503
2504         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
2505         (gst_base_src_get_range), (gst_base_src_pad_get_range),
2506         (gst_base_src_loop), (gst_base_src_set_flushing),
2507         (gst_base_src_change_state):
2508         Make sending an EOS event to the basesrc non-blocking even if the
2509         implementation does blocking waits in the create function. This is done
2510         by unlocking the create function when EOS is sent.
2511         Fixes #535218.
2512
2513 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
2514
2515         * tools/gst-inspect.c: (print_element_properties_info):
2516         If possible print the element type of GValueArray properties.
2517
2518 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
2519
2520         * gst/gstiterator.c:
2521         Remove an unused field from the private GstListIterator struct.
2522
2523 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2524
2525         * libs/gst/controller/gstcontroller.c:
2526           Add parameter guards.
2527
2528 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2529
2530         * tests/check/gst/gstpipeline.c:
2531           Revert test change and add comment why it should not work.
2532
2533 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2534
2535         * tests/check/gst/gstpipeline.c:
2536           Extending the test a little to verify that we also get the NULL state-
2537           change message.
2538
2539 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
2540
2541         * gst/gstpreset.c: (gst_preset_default_get_meta),
2542           (gst_preset_get_preset_names), (gst_preset_get_property_names),
2543           (gst_preset_load_preset), (gst_preset_save_preset),
2544           (gst_preset_rename_preset), (gst_preset_delete_preset),
2545           (gst_preset_set_meta):
2546           Add Since: markers to docs blurbs.
2547
2548         * win32/common/libgstreamer.def:
2549           Add recently-added API.
2550
2551 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2552
2553         Patch by: Stefan Kost  <ensonic@users.sf.net>
2554
2555         * configure.ac:
2556         Add DATADIR for storing presets.
2557
2558         * docs/gst/gstreamer-docs.sgml:
2559         * docs/gst/gstreamer-sections.txt:
2560         * docs/gst/gstreamer.types.in:
2561         Add GstPreset to docs.
2562
2563         * gst/Makefile.am:
2564         * gst/gst.h:
2565         * gst/gstpreset.c: (preset_get_paths), (preset_skip_property),
2566         (preset_open_and_parse_header), (preset_parse_version),
2567         (preset_merge), (preset_get_keyfile),
2568         (gst_preset_default_get_preset_names),
2569         (gst_preset_default_get_property_names),
2570         (gst_preset_default_load_preset),
2571         (gst_preset_default_save_presets_file),
2572         (gst_preset_default_save_preset),
2573         (gst_preset_default_rename_preset),
2574         (gst_preset_default_delete_preset), (gst_preset_default_set_meta),
2575         (gst_preset_default_get_meta), (gst_preset_default_randomize),
2576         (gst_preset_default_reset), (gst_preset_get_preset_names),
2577         (gst_preset_get_property_names), (gst_preset_load_preset),
2578         (gst_preset_save_preset), (gst_preset_rename_preset),
2579         (gst_preset_delete_preset), (gst_preset_set_meta),
2580         (gst_preset_get_meta), (gst_preset_class_init),
2581         (gst_preset_base_init), (gst_preset_get_type):
2582         * gst/gstpreset.h:
2583         Add GstPreset to core. Fixes #396779
2584
2585         * tests/check/Makefile.am:
2586         * tests/check/gst/gstpreset.c: (gst_preset_test_get_property),
2587         (gst_preset_test_set_property), (gst_preset_test_class_init),
2588         (gst_preset_test_base_init), (gst_preset_test_get_type),
2589         (gst_preset_test_plugin_init), (GST_START_TEST),
2590         (remove_preset_file), (test_setup), (test_teardown),
2591         (gst_preset_suite):
2592         Add GstPreset unit tests.
2593
2594 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2595
2596         * gst/gstpad.c: (gst_pad_event_default_dispatch):
2597         The default event function on a sinkpad should return TRUE when
2598         there are no internal links but should collect the return values from
2599         the internal links otherwise.
2600
2601 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2602
2603         * plugins/elements/gsttypefindelement.c:
2604         (gst_type_find_element_src_event),
2605         (gst_type_find_element_handle_event):
2606         Use faster and safer _pad_push_event().
2607
2608 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
2609
2610         * docs/gst/gstreamer-sections.txt:
2611         * gst/gstutils.c: (element_find_unlinked_pad),
2612           (gst_bin_find_unlinked_pad), (gst_bin_find_unconnected_pad),
2613         * gst/gstutils.h:
2614           API: add gst_bin_find_unlinked_pad()
2615           API: deprecate gst_bin_find_unconnected_pad() (#401456)
2616
2617 2008-05-26  Peter Kjellerstedt  <pkj@axis.com>
2618
2619         * gst/gstclock.c:
2620         * gst/gstclock.h:
2621         * gst/gsttask.c:
2622         * gst/gsttask.h:
2623         Fixed a bunch of typos.
2624
2625 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2626
2627         * gst/gstpad.h:
2628         * gst/gstutils.c: (gst_element_unlink), (element_find_unlinked_pad),
2629           (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description),
2630           (gst_parse_bin_from_description_full):
2631         * gst/gstutils.h:
2632           'unconnected pad' -> 'unlinked pad' for consistency (#401456).
2633
2634 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2635
2636         * docs/pwg/advanced-tagging.xml:
2637           Small docs update, can't be bothered to rewrite the nonsensical
2638           examples right now.
2639
2640 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2641
2642         * gst/gstevent.h:
2643           Clarify docs for GST_SEEK_TYPE_CUR (#534505).
2644
2645 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2646
2647         * gst/parse/grammar.y:
2648           Remove unneeded casts.
2649
2650 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2651
2652         * gst/parse/grammar.y:
2653         * tests/check/pipelines/parse-launch.c:
2654           Get all missing elements from a parse launch string if possible
2655           (ie. if the FATAL_ERRORS flag has been specified). Fixes #528178.
2656
2657 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2658
2659         * tests/check/Makefile.am:
2660         * tests/check/pipelines/parse-launch.c:
2661           Add some unit tests for the new gst_parse_launch*_full() API.
2662           (Exposes a previously-existing memory leak in the error code
2663           path, so adding to VALGRIND_TO_FIX for now).
2664
2665 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2666
2667         * docs/gst/gstreamer-sections.txt:
2668         * gst/gst.c: (init_post):
2669         * gst/gst_private.h: (_GstParseContext):
2670         * gst/gstparse.c: (gst_parse_error_quark), (gst_parse_context_new),
2671           (gst_parse_context_free), (gst_parse_context_get_missing_elements),
2672           (gst_parse_launchv), (gst_parse_launchv_full), (gst_parse_launch),
2673           (gst_parse_launch_full):
2674         * gst/gstparse.h: (GST_PARSE_FLAG_NONE), (GST_PARSE_FLAG_FATAL_ERRORS),
2675           (GstParseFlags), (GstParseContext):
2676         * gst/gstutils.c: (gst_parse_bin_from_description),
2677           (gst_parse_bin_from_description_full):
2678         * gst/gstutils.h:
2679         * gst/parse/grammar.y:
2680         * gst/parse/types.h:
2681         * win32/common/libgstreamer.def:
2682           Add new gst_parse_*_full API (#528178):
2683           API: gst_parse_launch_full()
2684           API: gst_parse_launchv_full()
2685           API: gst_parse_bin_from_description_full()
2686           API: gst_parse_context_new()
2687           API: gst_parse_context_free()
2688           API: gst_parse_context_get_missing_elements()
2689
2690 2008-05-23  Stefan Kost  <ensonic@users.sf.net>
2691
2692         patch by: Suresh Kumar P <sureshkumar.pp@gmail.com>
2693
2694         * docs/faq/gst-uninstalled:
2695           Also support ffmpeg in gst-uninstalled.
2696
2697 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
2698
2699         * configure.ac:
2700         After discussion on IRC use the binary registry as default
2701         but allow to disable it with --disable-binary-registry.
2702
2703         * win32/common/libgstreamer.def:
2704         Add the two new symbols for the binary registry.
2705
2706 2008-05-22  Tim-Philipp Müller  <tim.muller at collabora co uk>
2707
2708         * gst/gstparse.c: (_gst_parse_escape), (gst_parse_launchv):
2709         * gst/gstutils.c: (gst_parse_bin_from_description):
2710         * gst/parse/grammar.y: (graph):
2711           More guards against bad input; typo fix; some minor clean-ups.
2712
2713 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
2714
2715         Patch by: Sjoerd Simons <sjoerd at luon dot net>
2716
2717         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2718         If nothing else can be used, use the last buffer's start time as
2719         the segment's last stop. Fixes bug #534258.
2720
2721 2008-05-21  Tim-Philipp Müller  <tim.muller at collabora co uk>
2722
2723         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
2724           Move size sanity check to the right place: downstream may return
2725           a buffer with a smaller size if the buffer caps are different than
2726           the requested ones, as may happen when doing reverse negotiation.
2727
2728 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2729
2730         * plugins/elements/gstfilesink.c: (gst_file_sink_set_location),
2731         (gst_file_sink_render):
2732         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location),
2733         (gst_file_src_start):
2734         Small cleanups. Add note adbout g_fopen() on windows and why we don't
2735         use it yet.
2736
2737 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2738
2739         * gst/gstpad.c: (gst_pad_load_and_link):
2740         * gst/gstutils.c: (gst_element_link_pads),
2741         (gst_element_unlink_pads):
2742         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2743         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
2744         (gst_check_teardown_sink_pad),
2745         (gst_check_element_push_buffer_list):
2746         * tests/check/elements/fakesink.c: (GST_START_TEST):
2747         * tests/check/elements/filesink.c:
2748         * tests/check/elements/filesrc.c: (GST_START_TEST):
2749         * tests/check/elements/multiqueue.c: (setup_multiqueue),
2750         (mq_sinkpad_to_srcpad):
2751         * tests/check/elements/tee.c: (GST_START_TEST):
2752         * tests/check/generic/sinks.c: (GST_START_TEST):
2753         * tests/check/gst/gstbin.c: (GST_START_TEST):
2754         * tests/check/gst/gstevent.c: (GST_START_TEST):
2755         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2756         * tests/check/gst/gstpipeline.c: (GST_START_TEST):
2757         * tests/check/gst/gstquery.c: (GST_START_TEST):
2758         * tests/check/gst/gstutils.c: (GST_START_TEST):
2759         * tests/check/libs/basesrc.c: (GST_START_TEST):
2760         * tests/check/pipelines/parse-launch.c: (run_delayed_test),
2761         (gst_parse_test_element_change_state):
2762         Don't use gst_element_get_pad().
2763
2764 2008-05-21  Felipe Contreras  <felipe.contreras@gmail.com>
2765
2766         * docs/Makefile.am:
2767         Fix installing plugin documentation when gtk-doc is disabled.
2768
2769 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2770
2771         * docs/manual/advanced-autoplugging.xml:
2772         * docs/manual/basics-helloworld.xml:
2773         * docs/manual/basics-pads.xml:
2774         * docs/manual/highlevel-components.xml:
2775         Avoid using a bad function in the example code.
2776
2777 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2778
2779         * gst/gstclock.c: (gst_clock_set_calibration):
2780         Fix debug of the new clock rate.
2781
2782 2008-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
2783
2784         * win32/common/libgstbase.def:
2785         Add gst_base_sink_wait_clock() to the exported symbols.
2786
2787 2008-05-20  Sebastian Dröge  <slomo@circular-chaos.org>
2788
2789         Patch by: Tim-Philipp Müller  <tim.muller at collabora co uk>
2790
2791         * libs/gst/base/gstbasetransform.c:
2792         (gst_base_transform_sink_event):
2793         Unref events that the GstBaseTransform::event vfunc didn't want to
2794         have forwarded by the base class. Closes a leak in identity.
2795         Fixes bug #446763.
2796
2797 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2798
2799         * docs/libs/gstreamer-libs-sections.txt:
2800         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock):
2801         * libs/gst/base/gstbasesink.h:
2802         Expose a method that was previously used internally to synchronize
2803         against the clock because it can be useful for subclasses too.
2804         API: GstBaseSink::gst_base_sink_wait_clock()
2805
2806 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
2807
2808         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
2809           Add sanity check to make sure we don't get smaller buffers
2810           than requested (and fallback to normal buffer alloc if we do).
2811
2812 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2813
2814         * libs/gst/base/gstbasesink.c: (gst_base_sink_adjust_time),
2815         (gst_base_sink_wait_clock), (gst_base_sink_wait_eos),
2816         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked):
2817         Refactor adjusting the running_time with latency and offset into a
2818         separate method.
2819         When doing clipping, we still want to use the subclass get_times method,
2820         just in case the DURATION or TIMESTAMP are not set.
2821
2822 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
2823
2824         * docs/gst/gstreamer-sections.txt:
2825         * gst/gsttypefind.c: (gst_type_find_suggest_simple):
2826         * gst/gsttypefind.h:
2827         * win32/common/libgstreamer.def:
2828           API: add gst_type_find_suggest_simple(), #533740.
2829
2830 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
2831
2832         * libs/gst/base/gstbasesrc.c: (gst_base_src_start):
2833           Use right error code when typefinding fails, so we can use
2834           the default (translated) error messages.
2835
2836 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2837
2838         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
2839         (gst_base_src_start):
2840         When the subclass did not set caps on outgoing buffers, configure the
2841         caps we negotiated on the source pad.
2842         When the typefind helper does not find caps, error out properly instead
2843         of doing things with NULL caps.
2844
2845 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
2846
2847         * gst/gsttypefind.h:
2848           Tabs to spaces, oh yes!
2849
2850 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
2851
2852         * tests/check/gst/gstcaps.c: (test_intersect2), (gst_caps_suite):
2853           Add David's and Benjamin's tests for array intersection to the
2854           unit test suite (#147931).
2855
2856 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
2857
2858         * gst/gstevent.c:
2859           Document that gst_event_new_tag() and gst_event_new_navigation()
2860           take ownership of the taglist/structure passed to them. (#533635).
2861
2862 2008-05-17  Jan Schmidt  <jan.schmidt@sun.com>
2863
2864         * docs/Makefile.am:
2865         Don't descend into the plugins dir if plugin docs building
2866         is disabled.
2867
2868         * docs/README:
2869         Add a note about the new type:GTypeName syntax for the plugin
2870         documentation .types file.
2871
2872 2008-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
2873
2874         * gst/gstmessage.c: (gst_message_new_error),
2875         (gst_message_new_warning), (gst_message_new_info):
2876         * gst/gstmessage.h:
2877         Mark the debug string parameters as const. Fixes bug #533490.
2878
2879 2008-05-16  Sebastian Dröge  <slomo@circular-chaos.org>
2880
2881         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
2882         Sort buffer cache list by end offsets. This makes sure that we don't
2883         stop to search for a cached buffer that contains the requested data
2884         too early.
2885         Also read a minimum of 4k bytes instead of 512 bytes as this is a bit
2886         more efficient. Fixes bug #459862.
2887
2888 2008-05-14  Stefan Kost  <ensonic@users.sf.net>
2889
2890         * gst/gstinfo.c:
2891           Explain why we copy the list.
2892
2893         * gst/gstpipeline.c:
2894           Improve docs.
2895
2896         * gst/gstutils.c:
2897           Add one debug-log statement to help tracing probelms with linking pads.
2898
2899 2008-05-12  Stefan Kost  <ensonic@users.sf.net>
2900
2901         * tests/check/gst/gstinfo.c:
2902         Add a test for removing the default log handler. Seems to fail under
2903         windows.
2904
2905 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
2906
2907         * gst/gstpad.c: (gst_pad_peer_accept_caps):
2908         Release pad lock before calling out to avoid a possible deadlock.
2909
2910 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
2911
2912         * gst/parse/grammar.y:
2913         Remove unneeded value unset.
2914
2915         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2916         Add unit test for de/serialization of caps.
2917
2918 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2919
2920         * plugins/elements/gstfakesink.c:
2921         (marshal_VOID__MINIOBJECT_OBJECT), (gst_fake_sink_class_init):
2922         * plugins/elements/gstfakesrc.c: (marshal_VOID__MINIOBJECT_OBJECT),
2923         (gst_fake_src_class_init):
2924         Use custom marshalers that take GstMiniObject as first parameter.
2925         Using OBJECT as parameter while a GstMiniObject is given will lead
2926         to assertions if built with G_ENABLE_DEBUG. Fixes bug #525532.
2927
2928 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2929
2930         * plugins/elements/gsttypefindelement.c:
2931         (gst_type_find_element_handle_event),
2932         (gst_type_find_element_send_cached_events),
2933         (gst_type_find_element_change_state):
2934         Clean up on FLUSH_STOP and not FLUSH_START. Forward both events
2935         immediately.
2936
2937 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2938
2939         * plugins/elements/gsttypefindelement.c:
2940         (gst_type_find_handle_src_query), (stop_typefinding),
2941         (gst_type_find_element_handle_event),
2942         (gst_type_find_element_send_cached_events),
2943         (gst_type_find_element_change_state):
2944         Forward FLUSH_START events immediately and clean up instead of
2945         caching them.
2946
2947 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2948
2949         Patch by: Sjoerd Simons <sjoerd at luon dot net>
2950
2951         * libs/gst/base/gstbasetransform.c:
2952         (gst_base_transform_buffer_alloc):
2953         Check the caps of the buffer returned by gst_pad_alloc_buffer() and
2954         fall back to default negotiation in the chain function if the caps
2955         are different from what was requested. Fixes bug #526768.
2956
2957 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
2958
2959         * gst/gstsegment.c:
2960         * tests/check/gst/gstsegment.c:
2961           No, let's not use g_slice_{dup|copy} here, since they only exist
2962           since GLib 2.14 and we still depend only on >= 2.12. Also add
2963           unit test for gst_segment_copy().
2964
2965 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
2966
2967         * gst/gstutils.h: (GST_BOILERPLATE_FULL):
2968           Try to fix 'dereferencing type-punned pointer will break strict
2969           aliasing rules' warnings with C++ compilers and GLib >= 2.14.0: GLib
2970           changed the default GType typedef from gulong to gsize at some point,
2971           but kept GType typedef'ed to gulong for C++ for ABI reasons; the
2972           g_once_* functions all take a gsize * though, so work around the type
2973           mismatch for C++ by doing everything in gsize and casting to GType
2974           later.
2975
2976 2008-05-09  Jan Schmidt  <jan.schmidt@sun.com>
2977
2978         * plugins/elements/gstmultiqueue.c:
2979         Add documentation for the signals to push our core plugin docs
2980         coverage back up to 100%.
2981
2982 2008-05-08  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
2983
2984         * gst/gstinfo.h (GST_FUNCTION):
2985           Reverted GST_FUNCTION to the old version as we don't want the
2986           full signature in C++ code. Also added support for MSVC.
2987
2988 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
2989
2990         * gst/gstutils.h:
2991         Intern the type name string, similar to what G_DEFINE_TYPE does.
2992
2993 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
2994
2995         * gst/gstutils.h:
2996         Make GST_BOILERPLATE thread-safe if building with GLib 2.14 or newer.
2997
2998 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
2999
3000         Based on a patch by: Sjoerd Simons <sjoerd at luon dot net>
3001
3002         * libs/gst/base/gstbasetransform.c:
3003         (gst_base_transform_buffer_alloc):
3004         Don't passthrough buffer allocation too easily if the caps change.
3005         This breaks when working in passthrough mode and upstream changes
3006         it's caps. Fixes bug #526768.
3007
3008 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
3009
3010         * gst/gstinfo.c (gst_debug_log_valist):
3011           Improved the __FILE__ part of debug output for MSVC.
3012
3013 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
3014
3015         * libs/gst/base/gstbasesrc.c (gst_base_src_default_query):
3016           Declaration after statement fix for compilers like MSVC.
3017
3018 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
3019
3020         * win32/common/config.h.in:
3021           Don't define GST_FUNCTION, if GLib supports MSVC we'd much rather
3022           use the real thing than having "???" unconditionally.
3023
3024 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
3025
3026         * gst/gstinfo.h (GST_FUNCTION):
3027           Made GST_FUNCTION an alias for G_STRFUNC to avoid duplication.
3028
3029 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
3030
3031         * libs/gst/base/gstadapter.c: (gst_adapter_available_fast):
3032         Small code cleanup.
3033
3034         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3035         (gst_base_sink_set_flushing):
3036         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
3037         Fix some comments.
3038
3039 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
3040
3041         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
3042         (gst_fake_src_init), (gst_fake_src_set_property),
3043         (gst_fake_src_get_property), (gst_fake_src_start):
3044         * plugins/elements/gstfakesrc.h:
3045         Added format property to control the format of the newsegment events.
3046         API: GstFakeSrc:format
3047
3048 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
3049
3050         * win32/common/libgstreamer.def:
3051         Add gst_pad_has_name() to the exported symbols.
3052
3053 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
3054
3055         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
3056         * libs/gst/base/gstbasetransform.c:
3057         (gst_base_transform_prepare_output_buffer):
3058         Don't allow negative sizes when allocating new buffers.
3059         Fixes bug #461253.
3060
3061 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
3062
3063         Patch by: Sjoerd Simons <sjoerd at luon net>
3064
3065         * gst/gstbus.c: (gst_bus_source_dispatch):
3066           Don't print a warning if the queue is empty when we try to pop
3067           here. That could happen if another thread or callback set the
3068           bus to flushing between the source's check/prepare and the
3069           dispatch being called (#531538).
3070
3071 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
3072
3073         * plugins/elements/gstmultiqueue.c:
3074           Small docs fix.
3075         
3076 2008-05-05  Sebastian Dröge  <slomo@circular-chaos.org>
3077
3078         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3079         Add unit test for deserializing uint64s and check some really large
3080         numbers in the int64 test.
3081
3082 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
3083
3084         * tools/gst-inspect.c: (n_print), (print_hierarchy),
3085         (print_interfaces), (print_element_properties_info),
3086         (print_signal_info):
3087         Use "%s" as format string instead of printing strings directly.
3088
3089 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
3090
3091         * gst/gstclock.c: (gst_clock_set_calibration):
3092         Make some checks actually useful.
3093
3094         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
3095         Remove some unused code. Unsigned integers tend to be >= 0.
3096
3097 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3098
3099         * gst/gstminiobject.c: (gst_value_get_mini_object):
3100           Fix 'Since:' version in gst_value_dup_mini_object() docs blurb: this
3101           function was not in the unscheduled 0.10.19 release.
3102
3103 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3104
3105         * gst/gstregistry.c: (gst_registry_scan_path_level):
3106           Only print one log message per non-plugin file.
3107
3108 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3109
3110         * gst/gstinfo.c: (gst_debug_log_default):
3111           Fix alignment of debug log columns on 64-bit.
3112
3113 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3114
3115         * docs/libs/Makefile.am:
3116         * docs/libs/gstreamer-libs-sections.txt:
3117           Ignore private controller headers for docs.
3118
3119 2008-05-03  Sebastian Dröge  <slomo@circular-chaos.org>
3120
3121         * libs/gst/controller/gstcontrollerprivate.h:
3122         * libs/gst/controller/gsthelper.c:
3123         * libs/gst/controller/gstinterpolation.c:
3124         * libs/gst/controller/gstinterpolationcontrolsource.c:
3125         (gst_interpolation_control_source_set_interpolation_mode):
3126         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
3127         * libs/gst/controller/lib.c:
3128         Move some private declarations into private headers.
3129
3130 2008-05-02  Sebastian Dröge  <slomo@circular-chaos.org>
3131
3132         * gst/gstdebugutils.c: (debug_dump_element_pad):
3133         Remove some code that is unused after Stefan's refactoring and uses
3134         uninitialized variables now, resulting in a compiler warning.
3135
3136 2008-05-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
3137
3138         * gst/gstregistry.c: (gst_registry_scan_path_level):
3139           Run g_str_has_suffix() only on the file name, not the
3140           entire file path.
3141
3142 2008-04-30  Tim-Philipp Müller  <tim.muller at collabora co uk>
3143
3144         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream):
3145           Since we're not called only from the chain function any longer,
3146           we can't assume that there's always data in the queue, so move
3147           the is_full check to the beginning of the loop (otherwise we'd
3148           hit the assert when changing the limit properties while the
3149           queue is empty or not running yet).
3150           Also, only set a discont if items were actually removed from
3151           the queue.
3152
3153         * tests/check/elements/queue.c: (test_leaky_downstream):
3154           Test case for the above.
3155
3156 2008-04-30  Wim Taymans  <wim.taymans@collabora.co.uk>
3157
3158         Patch by: Jonas Holmberg <jonas dot holmberg at axis dot com>
3159
3160         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream),
3161         (gst_queue_chain), (queue_capacity_change),
3162         (gst_queue_set_property):
3163         When changing thr max capacity of a leaky queue, immediatly drop buffers
3164         instead of waiting for a push on the sinkpad. Fixes #530637.
3165
3166 2008-04-30  Stefan Kost  <ensonic@users.sf.net>
3167
3168         * gst/gstdebugutils.c:
3169           Refactor code and fix handling of ghostpads and their proxypads.
3170
3171 2008-04-29  Wim Taymans  <wim.taymans@collabora.co.uk>
3172
3173         * docs/gst/gstreamer-sections.txt:
3174         * gst/gstevent.c: (gst_event_has_name):
3175         * gst/gstevent.h:
3176         * tests/check/gst/gstevent.c: (GST_START_TEST):
3177         Add method to conveniently check the name of a custom event with
3178         gst_event_has_name().
3179         Reformat the event docs so that related methods are put together instead
3180         of the default alphabetical sort.
3181         Update unit test with new method.
3182         API: GstEvent::gst_event_has_name()
3183
3184 2008-04-28  Michael Smith <msmith@songbirdnest.com>
3185
3186         * libs/gst/check/Makefile.am:
3187           Don't add an explicit link to libgstreamer-0.10.la; it's already
3188           included in GST_OBJ_LIBS.
3189
3190 2008-04-28  Sebastian Dröge  <slomo@circular-chaos.org>
3191
3192         * gst/gst.c:
3193         Register GstClock type from a type-safe context. Fixes bug #530317.
3194
3195 2008-04-25  Michael Smith <msmith@songbirdnest.com>
3196
3197         Patch by Edward Hervey <edward.hervey@collabora.co.uk>
3198         * tools/gst-run.c:
3199           Include <unistd.h> conditionally on HAVE_UNISTD_H as elsewhere.
3200
3201 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
3202
3203         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
3204         (gst_bin_dispose):
3205         Use the GLib stuff to create a private structure.
3206         Add some locking around some dispose methods to make them a little
3207         safer, see #529723. Patch by: Antoine Tremblay <hexa00 at gmail dot com>
3208
3209 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
3210
3211         * libs/gst/base/gstbasesink.h:
3212         * libs/gst/base/gstbasesrc.h:
3213         * libs/gst/base/gstbasetransform.h:
3214         * libs/gst/base/gstcollectpads.h:
3215           Fix doc typos and unify caps a bit.
3216
3217 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
3218
3219         * tools/gst-launch.1.in:
3220           Forgot to also add the envvar docs here.
3221
3222 2008-04-25  Tim-Philipp Müller  <tim at centricular dot net>
3223
3224         * gst/gst.c: (init_post), (gst_deinit):
3225         * tests/check/gst/gstpipeline.c: (GST_START_TEST), (pipeline_thread),
3226           (test_concurrent_create), (gst_pipeline_suite):
3227           Ref some more classes in gst_init() to work around thread-safety
3228           issues in pre-2.16 GLibs, and add basic unit test.
3229
3230 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
3231
3232         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3233         (gst_base_sink_send_event):
3234         Rearrange the latency query code. We always want to do the upstream
3235         query, even if we are not live so that the upstream elements can get the
3236         latency results too. If we fail doing the query and we are live, we
3237         return TRUE afterwards.
3238
3239 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
3240
3241         patch by: Jason Zhao <e3423c@motorola.com>
3242
3243         * docs/gst/running.xml:
3244         * gst/gst.c:
3245           Enable/disable scan_and_update_registry() based on commandline switch
3246           or environment variable. Fixes #520468.
3247           
3248         * ChangeLog:
3249           Fix typo in my previous commit.
3250
3251 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
3252
3253         * gst/gstregistrybinary.c:
3254           Add a warning if we hit unhandled factories when saving.
3255           More debug logging detail, but move to LOG category.
3256
3257 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
3258
3259         * gst/gstregistry.c:
3260           Tell the *truth* when improving the documentation.
3261
3262 2008-04-23  Sebastian Dröge  <slomo@circular-chaos.org>
3263
3264         * gst/gstelementfactory.c: (gst_element_factory_make):
3265         Unref the factory after it was used the last time, not before.
3266
3267         * gst/gstindexfactory.c: (gst_index_factory_make):
3268         Improve debugging a bit and don't leak a ref to the index factory with
3269         each call.
3270
3271 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3272
3273         * gst/gstregistry.c:
3274           Improve the documentation.
3275
3276 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3277
3278         * gst/gstsegment.c:
3279           The glib macro seems to be borked. Use g_slice_copy directly and cast
3280           in the hope that this fixes the warning on 64bit.
3281
3282 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3283
3284         * gst/gstsegment.c:
3285           Document the new function. Use g_slice_dup() (no need for
3286           gst_segment_init()).    
3287
3288 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3289
3290         * docs/gst/gstreamer-sections.txt:
3291           Move GParamSepc macros to standart section.
3292   
3293         * gst/gstbin.c:
3294           Dn't document _get_type - its in private section in docs anyway and
3295           this doc-blob was incomplete.
3296
3297         * gst/gstclock.h:
3298           Fix wrong symbol names in docs.
3299
3300         * gst/gstmacros.h:
3301           Add once doc sentence.
3302
3303         * tests/check/gst/.cvsignore:
3304           Ignore more.
3305
3306 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
3307
3308         * docs/gst/Makefile.am:
3309           And remove those libs here.
3310
3311 2008-04-21  Tim-Philipp Müller  <tim at centricular dot net>
3312
3313         * docs/libs/Makefile.am:
3314           Fix docs build again by adding libgstnet-0.10.so to SCANOBJ_DEPS.
3315
3316 2008-04-21  Wim Taymans  <wim.taymans@collabora.co.uk>
3317
3318         Patch by: Olivier Crete <tester at tester dot ca>
3319
3320         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
3321         Add the min-threshold to the min latency if possible. Fixes #529148.
3322
3323 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
3324
3325         * docs/gst/gstreamer.types.in:
3326           Stupid editor, I removed that line as it should go in yet.
3327
3328 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
3329
3330         * docs/gst/gstreamer.types.in:
3331         * docs/libs/gstreamer-libs.types:
3332           Remove library types fro core docs and have them in libs docs.
3333           Reformat and cleanup. Add comment for miniobject types.
3334
3335 2008-04-20  Tim-Philipp Müller  <tim at centricular dot net>
3336
3337         * gst/gsturi.c: (gst_uri_get_protocol):
3338           Fix leak: g_strdown operates on the string in place, while
3339           g_ascii_strdown() returns a newly-allocated string.
3340
3341 2008-04-20  Sebastian Dröge  <slomo@circular-chaos.org>
3342
3343         * tools/gst-inspect.c: (print_uri_handler_info),
3344         (print_element_info):
3345         Print the URI protocols and the URI type supported by the element.
3346
3347 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3348
3349         * gst/gsttaglist.c: (gst_tag_merge_strings_with_comma):
3350         Use g_value_take_string() instead of the deprecated
3351         g_value_set_string_take_ownership().
3352
3353 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3354
3355         * gst/gstregistrybinary.c: (_gst_crc32):
3356         Return the old CRC instead of 0 if we give a NULL buffer
3357         or a buffer with a length of 0.
3358
3359 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3360
3361         * gst/gsturi.c: (gst_uri_protocol_check_internal),
3362         (gst_uri_get_protocol), (gst_uri_has_protocol),
3363         (gst_uri_construct), (gst_uri_handler_set_uri):
3364         A valid URI scheme can also include '+', '-' and '.' additional
3365         to alphanumeric characters as per RFC 3986 Section 3.1.
3366
3367         Handle URI schemes case insensitive in all places and convert
3368         to lower-case when constructing an URI or setting an URI with
3369         the GstURIHandler interface. Fixes bug #528868.
3370         All elements can still assume (as before) that they will
3371         get passed URIs with a lower-case URI scheme by the GstURIHandler
3372         interface.
3373
3374 2008-04-17  Tim-Philipp Müller  <tim at centricular dot net>
3375
3376         * gst/gstcaps.c: (gst_static_caps_get):
3377         * gst/gstclock.c: (gst_clock_entry_new):
3378           Don't use g_atomic_set_int where it's not needed.
3379
3380 2008-04-17  Wim Taymans  <wim.taymans@collabora.co.uk>
3381
3382         * gst/gstvalue.c: (gst_value_deserialize_caps):
3383         * gst/parse/grammar.y:
3384         Fix 2 caps leaks.
3385
3386 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
3387
3388         * gst/gstutils.c: (gst_atomic_int_set):
3389         Use g_atomic_int_set() here too instead of assignment +
3390         g_atomic_int_get().
3391
3392 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
3393         
3394         * gst/gstutils.c:
3395         * gst/gstutils.h:
3396         API: Deprecate gst_atomic_int_set(), g_atomic_int_set() should be used
3397         now that we depend on new enough GLib.
3398
3399         * gst/gstcaps.c: (gst_static_caps_get):
3400         * gst/gstclock.c: (gst_clock_entry_new):
3401         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_set_colored),
3402         (gst_debug_set_default_threshold), (_gst_debug_category_new),
3403         (gst_debug_category_set_threshold):
3404         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3405         (gst_base_sink_set_qos_enabled):
3406         * libs/gst/net/gstnettimeprovider.c:
3407         (gst_net_time_provider_set_property):
3408         Use g_atomic_int_set() instead of gst_atomic_int_set().
3409
3410 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3411
3412         * gst/gstquery.c:
3413           Also use G_GINT64_CONSTANT for the queries.
3414
3415 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3416
3417         * gst/gstmessage.c:
3418           Use G_GINT64_CONSTANT in varargs function.
3419
3420 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3421
3422         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic):
3423         Initialize the registry magic with zeroes.
3424
3425 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3426
3427         * gst/gstregistrybinary.c: (_gst_crc32),
3428         (gst_registry_binary_write),
3429         (gst_registry_binary_initialize_magic),
3430         (gst_registry_binary_write_cache),
3431         (gst_registry_binary_check_magic),
3432         (gst_registry_binary_read_cache):
3433         * gst/gstregistrybinary.h:
3434         Add crc32 checksum to the binary registry file and check this before
3435         accepting a registry file.
3436
3437         Also free the data list when writing to the registry file fails.
3438
3439 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3440
3441         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
3442         (gst_registry_binary_load_feature),
3443         (gst_registry_binary_load_plugin):
3444         If an element supports the Uri interface, returns a valid pointer
3445         to the supported URI protocols but this pointer contains nothing
3446         don't try to save that as it will corrupt the registry.
3447
3448         Don't unref the plugin if we added it to the registry already but
3449         fail to load a feature as gst_registry_add_plugin() takes ownership
3450         of the plugin.
3451
3452         Improve debugging a bit.
3453
3454 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3455
3456         * gst/gsttaglist.h:
3457           Clarify some tag item docs after discussion on irc.
3458
3459 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3460
3461         * docs/gst/gstreamer-docs.sgml:
3462           Remove commented out plugins (they have their own docs). Update
3463           comments.
3464
3465 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3466
3467         * docs/gst/gstreamer-docs.sgml:
3468         * docs/gst/gstreamer-sections.txt:
3469         * gst/gstparamspecs.c:
3470         * gst/gstparamspecs.h:
3471           Add GST_PARAM_CONTROLLABLE and GST_PARAM_USER_SHIFT. Move paramspec
3472           docs to own section.
3473
3474         * gst/gstvalue.c:
3475           This now only documents GValue.
3476           
3477         * docs/libs/gstreamer-libs-sections.txt:
3478         * libs/gst/controller/gstcontroller.h:
3479           Remove GST_PARAM_CONTROLLABLE.
3480
3481 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3482
3483         * docs/README:
3484           Correct file path. Tell about how to use -overrides.txt.
3485         * docs/design/draft-tagreading.txt:
3486           Small design update.
3487
3488 2008-04-14  Sebastian Dröge  <slomo@circular-chaos.org>
3489
3490         * gst/gstregistrybinary.c: (gst_registry_binary_load_feature),
3491         (gst_registry_binary_load_plugin):
3492         Fix a typo in a debug message and revert change from yesterday as
3493         gst_registry_add_plugin() will only fail if something is really wrong
3494         already and we can't survive it anyway.
3495
3496 2008-04-14  Tim-Philipp Müller  <tim at centricular dot net>
3497
3498         * gst/gst.c: (init_post), (gst_deinit):
3499           Pre-register GstGError GType from a thread-safe context
3500           (fixes #527967); unref enum type classes in deinit.
3501
3502 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3503
3504         Patch by: Rene Stadler <mail at renestadler de>
3505
3506         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
3507           Merging an empty list with another list in KEEP_ALL mode should
3508           yield an empty list as result and not the second list (#512578).
3509
3510         * tests/check/gst/gsttagsetter.c:
3511           Add unit test for tag merge modes and the aforementioned bug.
3512
3513 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3514
3515         Patch by: Rene Stadler <mail at renestadler de>
3516
3517         * gst/gsttaglist.h:
3518           Fix description to match the order in the table (#512577).
3519   
3520 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3521
3522         Patch by: Kwang Yul Seo  <kwangyul.seo gmail com>
3523
3524         * libs/gst/net/gstnettimepacket.h:
3525         * docs/libs/gstreamer-libs-sections.txt:
3526           Define socklen_t as int if it's not defined yet. Fixes compilation
3527           with MSVC6 and other versions where socklen_t is not defined in
3528           the windows headers (#518022).
3529
3530 2008-04-13  Sebastian Dröge  <slomo@circular-chaos.org>
3531
3532         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
3533         If gst_registry_add_plugin() fails our reference to the plugin is
3534         invalid so don't try to use it anymore and instead error out.
3535
3536 2008-04-12  Tim-Philipp Müller  <tim at centricular dot net>
3537
3538         * tools/gst-xmlinspect.c: (print_element_info), (main):
3539           De-cruft a bit. If no argument is specified, print all elements in
3540           XML syntax rather than a freestyle list of elements like gst-inspect.
3541           Also, don't print XML header chunk unless we actually have something
3542           to print (ie. don't print it before an error message); print error
3543           message to stderr not stdout. Remove support for printing plugin
3544           info (it would just output something freestyle along the lines of
3545           gst-inspect so far), which fixes #514507. Also add license header.
3546
3547 2008-04-11  Julien Moutte  <julien@fluendo.com>
3548
3549         Mac OS X love...
3550         * configure.ac: Merge platform specific defines, introduce a new
3551         define on OS X to remember that forking when updating registry is
3552         unsafe.
3553         * docs/faq/gst-uninstalled: Updated to include gst-libs in the bad
3554         module.
3555         * gst/gst.c: Don't fork when updating registry if GST_HAVE_UNSAFE_FORK
3556         is defined.
3557         * gst/gstregistry.c: (gst_registry_scan_path_level): Fixed a bogus
3558         condition that leads to absolutely no plugins being registered on
3559         OS X.
3560
3561 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
3562
3563         Based on patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
3564
3565         * gst/gstutils.c: (gst_pad_add_data_probe),
3566           (gst_pad_add_data_probe_full), (gst_pad_add_event_probe),
3567           (gst_pad_add_event_probe_full), (gst_pad_add_buffer_probe),
3568           (gst_pad_add_buffer_probe_full):
3569         * gst/gstutils.h:
3570         * docs/gst/gstreamer-sections.txt:
3571         * win32/common/libgstreamer.def:
3572           Add gst_pad_add_*_probe_full() functions with a notify callback that
3573           lets the caller free the data it passes to the probe functions. This
3574           is useful for bindings such as gst-python or gstreamermm (#526814).
3575           API: gst_pad_add_data_probe_full
3576           API: gst_pad_add_buffer_probe_full
3577           API: gst_pad_add_event_probe_full
3578
3579         * tests/check/gst/gstutils.c:
3580           Add minimal unit test to make sure freeing the data actually works
3581           as expected.
3582
3583         * tests/benchmarks/.cvsignore:
3584           Random cvsignore addendum.
3585
3586 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
3587
3588         * gst/gstdebugutils.h: (GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS),
3589           (GST_DEBUG_BIN_TO_DOT_FILE):
3590           Mention GstDebugGraphDetails enum type in doc blurb so we get a link
3591           to it in the docs (since these are macros the types of the arguments
3592           won't be shown in the docs otherwise).
3593
3594 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
3595
3596         * gst/gstpad.c:
3597           Do not abort on out of memory for pad_alloc_buffer.
3598
3599 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
3600
3601         * libs/gst/check/gstcheck.c:
3602           Remove blank line between symbol name ad parameters to fix gtkdoc
3603           warning.
3604
3605 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3606
3607         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
3608
3609         * docs/gst/gstreamer-sections.txt:
3610         * gst/gstsegment.c:
3611         * gst/gstsegment.h:
3612         * win32/common/libgstreamer.def:
3613           Expose gst_segment_copy() to make things easier for the c++ bindings.
3614           Fixes #518932.
3615           API: gst_segment_copy()
3616
3617 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3618
3619         * gst/gst.c: (gst_init_get_option_group), (init_post):
3620           Fix const position; ref GType classes for enum types to work
3621           around thread-safety issues in GLib versions < 2.16.
3622
3623 2008-04-09  Wim Taymans  <wim.taymans@collabora.co.uk>
3624
3625         * docs/design/part-buffering.txt:
3626         Fix some typos and set the estimated total for push mode to -1.
3627
3628         * gst/gstquery.c: (gst_query_new_buffering):
3629         Set buffering-left to 0 as we're not buffering by default.
3630
3631         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
3632         Implement BUFFERING query.
3633
3634 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3635
3636         Based on patch by: Milosz Derezynski <internalerror gmail com>
3637
3638         * gst/gsterror.c: (_gst_stream_errors_init):
3639         * gst/gsterror.h:
3640           Add two new error codes for encrypted content. Fixes #524659.
3641           API: GST_STREAM_ERROR_DECRYPT
3642           API: GST_STREAM_ERROR_DECRYPT_NOKEY
3643
3644 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3645
3646         * gst/gstquery.h:
3647           Fix typo.
3648
3649         * win32/common/libgstreamer.def:
3650           Add new functions.
3651
3652 2008-04-09  Sebastian Dröge  <slomo@circular-chaos.org>
3653
3654         * plugins/elements/gstidentity.c: (gst_identity_event),
3655         (gst_identity_start):
3656         Fix imperfect timestamp/offset checks when we get another NEWSEGMENT
3657         event after processing some data. Fixes bug #526042.
3658
3659 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3660
3661         * docs/gst/gstreamer-sections.txt:
3662         * gst/gstquery.c: (gst_query_parse_latency),
3663         (gst_query_set_buffering_percent),
3664         (gst_query_parse_buffering_percent),
3665         (gst_query_set_buffering_range), (gst_query_parse_buffering_range):
3666         * gst/gstquery.h:
3667         Rename _avail -> _range
3668         API: gst_query_set_buffering_range
3669         API: gst_query_parse_buffering_range
3670
3671 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3672
3673         * docs/design/part-buffering.txt:
3674         * gst/gstquark.c:
3675         * gst/gstquark.h:
3676         * gst/gstquery.c: (gst_query_parse_latency),
3677         (gst_query_new_buffering), (gst_query_set_buffering_percent),
3678         (gst_query_parse_buffering_percent):
3679         * gst/gstquery.h:
3680         Add busy field and quark for the buffering query so that the app can
3681         only use the query to see if buffering is in progress.
3682
3683 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3684
3685         * docs/gst/gstreamer-sections.txt:
3686         * gst/gstmessage.c: (gst_message_set_buffering_stats),
3687         (gst_message_parse_buffering_stats):
3688         * gst/gstmessage.h:
3689         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
3690         (gst_query_parse_latency), (gst_query_new_buffering),
3691         (gst_query_set_buffering_percent),
3692         (gst_query_parse_buffering_percent),
3693         (gst_query_set_buffering_stats), (gst_query_parse_buffering_stats),
3694         (gst_query_set_buffering_avail), (gst_query_parse_buffering_avail):
3695         * gst/gstquery.h:
3696         Reorder the message docs and headers for clarity.
3697         Add aditional buffering stats API for messages.
3698         Add buffering query.
3699         Convert some leftover queries to use GstQuark.
3700         API: gst_message_set_buffering_stats
3701         API: gst_message_parse_buffering_stats
3702         API: GST_QUERY_BUFFERING
3703         API: GstBufferingMode
3704         API: gst_query_new_buffering
3705         API: gst_query_set_buffering_percent
3706         API: gst_query_parse_buffering_percent
3707         API: gst_query_set_buffering_stats
3708         API: gst_query_parse_buffering_stats
3709
3710 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3711
3712         * gst/gstmessage.c: (gst_message_new_error),
3713         (gst_message_new_warning), (gst_message_new_info),
3714         (gst_message_new_buffering), (gst_message_new_state_changed),
3715         (gst_message_new_clock_provide), (gst_message_new_clock_lost),
3716         (gst_message_new_new_clock), (gst_message_new_segment_start),
3717         (gst_message_new_segment_done), (gst_message_new_duration),
3718         (gst_message_new_async_start), (gst_message_parse_buffering),
3719         (gst_message_parse_state_changed),
3720         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
3721         (gst_message_parse_new_clock), (gst_message_parse_error),
3722         (gst_message_parse_warning), (gst_message_parse_info),
3723         (gst_message_parse_segment_start),
3724         (gst_message_parse_segment_done), (gst_message_parse_duration),
3725         (gst_message_parse_async_start):
3726         Use GstQuark for messages.
3727
3728 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3729
3730         * gst/gstquark.c: (_priv_gst_quarks_initialize):
3731         * gst/gstquark.h:
3732         Add some more quarks needed for messages and queries.
3733
3734 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3735
3736         * docs/design/part-buffering.txt:
3737         Remove the "none" buffering mode, STREAM is a good default.
3738         Move estimated-time to the avail query, that's when it will be needed.
3739         Other small typo fixes and updates.
3740
3741 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
3742
3743         * gst/gstindex.c: (gst_index_resolver_get_type):
3744           Don't put descriptions into the nick field of a GEnumValue: it's not
3745           meant for that and some language bindings rely on the nick field to
3746           construct constants and the like. Fixes #526705.
3747
3748 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
3749
3750         * NEWS:
3751         * RELEASE:
3752         * gstreamer.doap:
3753           Merge other changes from 0.10.19 release branch.
3754
3755 2008-04-06  Sebastian Dröge  <slomo@circular-chaos.org>
3756
3757         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3758
3759         * configure.ac:
3760         Actually build dlls when cross-compiling with mingw32.
3761         Fixes bug #526247.
3762
3763 2008-04-05  Sebastian Dröge  <slomo@circular-chaos.org>
3764
3765         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3766
3767         * gst/gstpoll.c:
3768         Fix compilation of GstPoll with mingw32. Fixes bug #526236.
3769
3770 2008-04-04  Wim Taymans  <wim.taymans@collabora.co.uk>
3771
3772         * docs/design/draft-latency.txt:
3773         Fix typo.
3774
3775         * docs/design/part-buffering.txt:
3776         Update design docs with more buffering ideas.
3777
3778 2008-04-03  Tim-Philipp Müller  <tim at centricular dot net>
3779
3780         * configure.ac:
3781           Bump version to 0.10.19.1 after the unscheduled 0.10.19 release.
3782
3783 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
3784
3785         * configure.ac:
3786           Revert part that belongs to the preset patch.
3787
3788 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
3789
3790         * configure.ac:
3791           Add qoutes to the define. Fixes # 525961.
3792
3793 2008-04-03  Sebastian Dröge  <slomo@circular-chaos.org>
3794
3795         * plugins/indexers/gstfileindex.c: (_file_index_id_free),
3796         (gst_file_index_load), (gst_file_index_add_id),
3797         (gst_file_index_get_assoc_entry):
3798         * plugins/indexers/gstmemindex.c: (gst_mem_index_free_format),
3799         (gst_mem_index_free_id), (gst_mem_index_add_id),
3800         (gst_mem_index_index_format):
3801         Use GSlice when possible.
3802
3803 2008-04-02  Sebastian Dröge  <slomo@circular-chaos.org>
3804
3805         * libs/gst/controller/gstinterpolationcontrolsource.c:
3806         (gst_control_point_free),
3807         (gst_interpolation_control_source_set_internal):
3808         Use GSlice for allocating the control points.
3809
3810 2008-04-02  Wim Taymans  <wim.taymans@collabora.co.uk>
3811
3812         * plugins/elements/gsttypefindelement.c:
3813         (gst_type_find_element_class_init),
3814         (gst_type_find_element_set_property),
3815         (gst_type_find_element_get_property),
3816         (gst_type_find_element_activate):
3817         * plugins/elements/gsttypefindelement.h:
3818         Cleanup properties.
3819         Fix pad leak when peer query fails.
3820         We can still typefind when the peer returns -1.
3821         Add property to force caps and bypass typefinding. This will be used in
3822         uridecodebin.
3823         API::force-caps
3824
3825 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
3826
3827         * configure.ac:
3828         Require GLib 2.12.
3829
3830         * gst/glib-compat-private.h:
3831         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free):
3832         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
3833         Unconditionally use GSlice for allocation.
3834
3835         * gst/gstpoll.c: (gst_poll_new), (gst_poll_free):
3836         * gst/gstsegment.c: (gst_segment_new), (gst_segment_free):
3837         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
3838         (gst_structure_free):
3839         Use GSlice for allocation.
3840
3841 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
3842
3843         * gst/parse/Makefile.am:
3844         * gst/parse/grammar.tab.pre.c:
3845         * gst/parse/grammar.tab.pre.h:
3846         * gst/parse/lex._gst_parse_yy.pre.c:
3847         Require a new enough flex and bison and remove the parser hacks to use
3848         a pre-regenerated version.
3849
3850 2008-04-01  Julien Moutte  <julien@fluendo.com>
3851
3852         patch by: Jason Zhao <E3423C@motorola.com>
3853
3854         * configure.ac: Add a configure switch to disable option parsing
3855         in gst_init.
3856         Fixes #522882.
3857
3858 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
3859
3860         * configure.ac:
3861         * gst/gstregistry.c:
3862           MacOS has plugins under .so or under .dylib. Add detection for MacOS
3863           and handle this case.
3864
3865         * gst/gst.c:
3866           Add a comment here describing, why we stat each plugin and not try to
3867           be smart.
3868
3869 2008-03-31  Sebastian Dröge  <slomo@circular-chaos.org>
3870
3871         * libs/gst/base/gstbasetransform.c:
3872         (gst_base_transform_prepare_output_buffer):
3873         Also unset the GAP flag on buffers if we're working inplace but
3874         the element is not GAP-aware.
3875
3876         Mark a comment as FIXME 0.11.
3877
3878 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
3879
3880         * gst/gst.c:
3881           Fix type in log message and add one to ease seeing how long registry
3882           cache verification takes.
3883
3884         * gst/gstregistry.c:
3885           Only test plugin filenames against G_MODULE_SUFFIX.
3886
3887 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
3888
3889         * gst/gstdebugutils.c:
3890           Improve handling ghost/proxy pads.
3891
3892 2008-03-27  Stefan Kost  <ensonic@users.sf.net>
3893
3894         * docs/gst/gstreamer-sections.txt:
3895         * gst/gstpad.c:
3896         * gst/gstpad.h:
3897           Expose macro to docs and fix link to it.
3898
3899 2008-03-27  Michael Smith <msmith@fluendo.com>
3900
3901         * libs/gst/dataprotocol/dataprotocol.c:
3902         (gst_dp_packet_from_event_1_0):
3903           When calculating GDP body CRC, use the correct pointer. 
3904           Fixes part of #522401.
3905
3906 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3907
3908         Patch by: Mark Nauwelaerts <manauw at skynet be>
3909
3910         * plugins/elements/gstidentity.c: (gst_identity_class_init),
3911         (gst_identity_init), (gst_identity_prepare_output_buffer):
3912         Identity is not always a passthrough element, it can modify the buffer
3913         timestamps when it has a datarate and operates in single-segment mode.
3914         We therefore make it an in_place filter with a custom buffer prepare
3915         function that conditionally makes the input buffer metadata writable
3916         when needed.  Fixes #523985.
3917
3918 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3919
3920         Patch by: Mark Nauwelaerts <manauw at skynet be>
3921
3922         * gst/gstclock.h:
3923         * libs/gst/base/gstbasesrc.h:
3924         * libs/gst/base/gstbasetransform.c:
3925         * libs/gst/check/gstcheck.c:
3926         Small documentation fixes. Fixes #523978.
3927
3928 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3929
3930         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
3931         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
3932         Also retry our poll_wait when we get EAGAIN. Fixes #524041.
3933
3934 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3935
3936         * plugins/elements/gstmultiqueue.c: (single_queue_overrun_cb),
3937         (single_queue_underrun_cb):
3938         When trying to make room in the queue, bump the max allowed buffers
3939         bigger than the current amount of buffers in the queue. this fixes some
3940         nasty deadlocks in multiqueue when dynamically changing the limits of
3941         the queue.
3942
3943 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3944
3945         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
3946
3947         * gst/gstcaps.c: (gst_caps_set_simple),
3948         (gst_caps_set_simple_valist), (gst_caps_intersect):
3949         * gst/gstcaps.h:
3950         Constify the field gchar * params in set_simple and friends.
3951         Fixes #522326.
3952
3953 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3954
3955         * gst/gstvalue.c: (gst_value_transform_object_string):
3956         Transform a GstObject to a more meaningfull string that includes the
3957         object type in addition to its name.
3958
3959 2008-03-23  Stefan Kost  <ensonic@users.sf.net>
3960
3961         * ChangeLog:
3962           ChangeLog surgery to add bugnumber to commit.
3963
3964 2008-03-23  Rene Stadler  <mail@renestadler.de>
3965
3966         * libs/gst/base/gstbasetransform.c:
3967         (gst_base_transform_set_gap_aware): Fix confusing documentation.
3968
3969 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
3970
3971         * gst/gstregistrybinary.c: (gst_registry_binary_write):
3972         Rename constant everywhere and don't forget one occurence.
3973
3974 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
3975
3976         * gst/gstregistrybinary.c: (gst_registry_binary_write):
3977         Align memory to the pointer size even if the architecture allows
3978         unaligned memory access. Unaligned memory access usually comes with
3979         performance penality.
3980
3981 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
3982
3983         * gst/gstregistrybinary.c: (gst_registry_binary_write),
3984         (gst_registry_binary_check_magic),
3985         (gst_registry_binary_load_pad_template),
3986         (gst_registry_binary_load_feature),
3987         (gst_registry_binary_load_plugin):
3988         Align memory to the pointer size instead of always 32 bit. Fixes
3989         unaligned memory accesses on ia64 and friends.
3990
3991         * gst/gstregistrybinary.h:
3992         Bump binary registry format version for this as it changes the
3993         format on those architectures that don't have unaligned access
3994         and 64 bit pointers.
3995
3996 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
3997
3998         * docs/pwg/advanced-dparams.xml:
3999         * docs/pwg/building-props.xml:
4000         * docs/pwg/other-source.xml:
4001         * gst/glib-compat.h:
4002         * gst/gstbin.c: (gst_bin_class_init):
4003         * gst/gstclock.c: (gst_clock_class_init):
4004         * gst/gstindex.c: (gst_index_class_init):
4005         * gst/gstobject.c: (gst_object_class_init):
4006         * gst/gstpad.c: (gst_pad_class_init):
4007         * gst/gstpipeline.c: (gst_pipeline_class_init):
4008         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4009         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
4010         * libs/gst/base/gstbasetransform.c:
4011         (gst_base_transform_class_init):
4012         * libs/gst/base/gstdataqueue.c: (gst_data_queue_class_init):
4013         * libs/gst/check/gstcheck.c: (_gst_check_fault_handler_restore),
4014         (_gst_check_fault_handler_sighandler),
4015         (_gst_check_fault_handler_setup), (gst_check_init):
4016         * libs/gst/controller/gstcontroller.c:
4017         (_gst_controller_class_init):
4018         * libs/gst/controller/gstlfocontrolsource.c:
4019         (gst_lfo_control_source_class_init):
4020         * libs/gst/net/gstnetclientclock.c:
4021         (gst_net_client_clock_class_init):
4022         * libs/gst/net/gstnettimeprovider.c:
4023         (gst_net_time_provider_class_init):
4024         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
4025         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
4026         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
4027         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
4028         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
4029         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
4030         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
4031         * plugins/elements/gstidentity.c: (gst_identity_class_init):
4032         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_class_init):
4033         * plugins/elements/gstqueue.c: (gst_queue_class_init):
4034         * plugins/elements/gsttee.c: (gst_tee_class_init):
4035         * plugins/elements/gsttypefindelement.c:
4036         (gst_type_find_element_class_init):
4037         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
4038         Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and
4039         use it everywhere for GParamSpecs that use static strings (i.e. all).
4040         This gives us less memory usage, fewer allocations and thus less
4041         memory defragmentation. Fixes bug #523806.
4042
4043 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
4044
4045         * gst/gstminiobject.c: (gst_value_dup_mini_object),
4046         (gst_param_spec_mini_object):
4047         * gst/gstminiobject.h:
4048         * win32/common/libgstreamer.def:
4049         * docs/gst/gstreamer-sections.txt:
4050         API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
4051         GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object. Also move
4052         GstParamSpecMiniObject into a public header for this.
4053
4054         This make GstMiniObject a bit more consistent with GObject and makes
4055         it possible to extend the param specs.
4056
4057         gst_value_dup_mini_object is mainly useful for set_property methods.
4058
4059         Fixes bug #523798.
4060
4061         * tools/gst-inspect.c: (print_element_properties_info):
4062         Print something useful for GstMiniObject properties and not just
4063         "unknown type".
4064
4065 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
4066
4067         * docs/gst/gstreamer-sections.txt:
4068         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
4069         (gst_registry_binary_check_magic):
4070         * gst/gstregistrybinary.h:
4071         Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent
4072         and add it to the (private part) of the docs to fix the build.
4073
4074 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
4075
4076         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
4077         (gst_registry_binary_check_magic),
4078         (gst_registry_binary_read_cache):
4079         * gst/gstregistrybinary.h:
4080         Don't use GST_MAJORMINOR for the binary registry version. Instead
4081         hardcode a value that must be changed whenever the format changes
4082         in an incompatible way.
4083         Also don't GST_ERROR when there is a version mismatch, just
4084         regenerate the registry silently.
4085
4086 2008-03-21  Jan Schmidt  <jan.schmidt@sun.com>
4087
4088         * configure.ac:
4089         Back to development - 0.10.18.1
4090
4091 === release 0.10.18 ===
4092
4093 2008-03-20  Jan Schmidt <jan.schmidt@sun.com>
4094
4095         * configure.ac:
4096           releasing 0.10.18, "So far away"
4097
4098 2008-03-18  Jan Schmidt  <jan.schmidt@sun.com>
4099
4100         * configure.ac:
4101         * win32/common/config.h:
4102         0.10.17.4 pre-release
4103
4104 2008-03-18  Wim Taymans  <wim.taymans@collabora.co.uk>
4105
4106         Patch by: Ole André Vadla Ravnås
4107             <ole dot andre dot ravnas at tandberg dot com>
4108
4109         * docs/gst/gstreamer-sections.txt:
4110         * gst/gstpoll.c: (gst_poll_winsock_error_to_errno),
4111         (gst_poll_update_winsock_event_mask),
4112         (gst_poll_prepare_winsock_active_sets),
4113         (gst_poll_collect_winsock_events), (gst_poll_new), (gst_poll_free),
4114         (gst_poll_add_fd_unlocked), (gst_poll_fd_ctl_write),
4115         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ignored),
4116         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
4117         (gst_poll_check_ctrl_commands), (gst_poll_wait):
4118         * gst/gstpoll.h:
4119         * win32/common/libgstreamer.def:
4120         Add new function gst_poll_fd_ignored() for improved Windows
4121         compatibility.
4122         Various minor fixes and cleanups. See #520808.
4123
4124 2008-03-17  Tim-Philipp Müller  <tim at centricular dot net>
4125
4126         * gst/gstindex.c: (gst_index_entry_free):
4127         * gst/gstindex.h:
4128           Don't free key strings which we don't own. Fixes crash in
4129           gst_index_entry_free() (#522741).
4130
4131         * tests/check/Makefile.am:
4132         * tests/check/gst/.cvsignore:
4133         * tests/check/gst/gstindex.c: (test_index_entries),
4134           (gst_index_suite), (gst_index):
4135           Add unit test for the above.
4136
4137 2008-03-11  Sebastian Dröge  <slomo@circular-chaos.org>
4138
4139         * win32/common/libgstreamer.def:
4140         Remove symbols that were removed recently. Fixes bug #521740.
4141
4142 2008-03-11  Jan Schmidt  <jan.schmidt@sun.com>
4143
4144         * configure.ac:
4145         * win32/common/config.h:
4146         0.10.17.3 pre-release
4147
4148 2008-03-07  Wim Taymans  <wim.taymans@collabora.co.uk>
4149
4150         Patch by: Ole André Vadla Ravnås
4151             <ole dot andre dot ravnas at tandberg dot com>
4152
4153         * docs/gst/gstreamer-sections.txt:
4154         * gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event),
4155         (gst_poll_update_winsock_event_mask), (gst_poll_new),
4156         (gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked),
4157         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
4158         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed),
4159         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
4160         (gst_poll_fd_can_write), (gst_poll_wait),
4161         (gst_poll_set_controllable), (gst_poll_restart),
4162         (gst_poll_set_flushing):
4163         * gst/gstpoll.h:
4164         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
4165         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start),
4166         (gst_net_time_provider_new):
4167         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
4168         * plugins/elements/gstfdsrc.c: (gst_fd_src_start):
4169         * tests/benchmarks/gstpollstress.c: (main):
4170         * tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite):
4171         Remove GstPollMode from the API, it does not make sense to let the
4172         application control this.
4173         Add support for Win32.
4174         Fix the testsuite. Fixes #520671.
4175
4176 2008-03-07  Sebastian Dröge  <slomo@circular-chaos.org>
4177
4178         Patch by: Ole André Vadla Ravnås
4179             <ole dot andre dot ravnas at tandberg dot com>
4180
4181         * gst/gstregistrybinary.c:
4182         Include io.h for write() and close() when building with MSVC. Fixes
4183         bug #520877.
4184
4185 2008-03-07  Stefan Kost  <ensonic@users.sf.net>
4186
4187         * configure.ac:
4188         * gst/gst_private.h:
4189         * gst/gstconfig.h.in:
4190         * gst/gstregistry.h:
4191         * gst/gstregistrybinary.c:
4192         * win32/common/gstconfig.h:
4193           Move registry backend API to private headers where we can. Add
4194           fixme-0.11 comments for the others. Add stubs for the xml backend when
4195           using the binary to ensure they functions exists (they should not be
4196           used though). Fixes #520756.
4197
4198 2008-03-04  Jan Schmidt  <jan.schmidt@sun.com>
4199
4200         * configure.ac:
4201         * win32/common/config.h:
4202         0.10.17.2 prelease
4203
4204 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
4205
4206         * gst/gstregistrybinary.c: (gst_registry_binary_write),
4207         (gst_registry_binary_read_cache):
4208         * gst/gstregistryxml.c: (gst_registry_save):
4209         * gst/gsturi.c: (unescape_string), (gst_uri_has_protocol):
4210         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file):
4211         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4212         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
4213         Switch to using portabl gsize/gssize instead of size_t/ssize_t
4214         Fixes #520152
4215
4216 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
4217
4218         * gst/gstminiobject.c:
4219         Import gst_private.h before any other header that might include other
4220         glib headers. This fixes the build on windows using native compilers.
4221
4222 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
4223
4224         * win32/common/gstconfig.h:
4225           Add here too, just for completeness.
4226
4227 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
4228
4229         * configure.ac:
4230         * gst/gstconfig.h.in:
4231         * gst/gstregistry.h:
4232           Fix broken use of config.h-defined preprocessor directive in a public
4233           header file. Add a corresponding define to gstconfig.h, since we can't
4234           really remove those function declarations from the header file now
4235           (or can we? and why are they there in the first place?).
4236
4237 2008-03-03  Andy Wingo  <wingo@pobox.com>
4238
4239         * tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
4240         the new warning.
4241
4242         * gst/gststructure.c (gst_structure_from_string): Warn if
4243         structure_from_string didn't consume the whole string, but the
4244         caller did not provide an end pointer.
4245
4246 2008-03-01  Tim-Philipp Müller  <tim at centricular dot net>
4247
4248         Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it>
4249
4250         * gst/gstregistryxml.c: (read_string), (load_feature):
4251           Strings allocated by libxml2 should be freed with xmlFree(), not
4252           with g_free(). Fixes issues on windows in certain contexts (#519698).
4253
4254 2008-02-29  Tim-Philipp Müller  <tim at centricular dot net>
4255
4256         * gst/gstinterface.c: (gst_element_implements_interface):
4257           Don't crash if the element supports the interface queried, but does
4258           not implement GstImplementsInterface. Fixes #519584.
4259
4260         * tests/check/Makefile.am:
4261         * tests/check/gst/.cvsignore:
4262         * tests/check/gst/gstinterface.c:
4263           Add unit test for the above.
4264
4265 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4266
4267         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4268         Small doc update.
4269
4270 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4271
4272         * gst/gstsegment.c: (gst_segment_set_seek),
4273         (gst_segment_to_stream_time):
4274         Improve some comment.
4275         Update variables where it makes more sense.
4276
4277 2008-02-29  Rene Stadler  <mail@renestadler.de>
4278
4279         * gst/gsturi.c: (gst_uri_handler_get_protocols):
4280         Use the get_protocols_full vfunc if get_protocols is NULL.  Fixes
4281         URIHandlers implemented using language bindings.
4282
4283 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4284
4285         * gst/gstelementfactory.h:
4286         * tests/check/elements/fakesink.c:
4287         * tests/check/elements/fakesrc.c: (setup_fakesrc):
4288         * tests/check/elements/fdsrc.c: (setup_fdsrc):
4289         * tests/check/elements/filesink.c: (setup_filesink):
4290         * tests/check/elements/filesrc.c: (setup_filesrc):
4291         * tests/check/elements/identity.c: (setup_identity):
4292         * tests/check/elements/tee.c:
4293         * tests/check/generic/sinks.c:
4294         * tests/check/generic/states.c: (setup), (teardown):
4295         * tests/check/gst/gst.c:
4296         * tests/check/gst/gstabi.c:
4297         * tests/check/gst/gstbin.c:
4298         * tests/check/gst/gstbus.c: (pull_messages):
4299         * tests/check/gst/gstcaps.c:
4300         * tests/check/gst/gstelement.c:
4301         * tests/check/gst/gstevent.c:
4302         * tests/check/gst/gstghostpad.c:
4303         * tests/check/gst/gstiterator.c:
4304         * tests/check/gst/gstmessage.c:
4305         * tests/check/gst/gstminiobject.c: (my_foo_init):
4306         * tests/check/gst/gstobject.c: (thread_name_object),
4307         (gst_object_suite):
4308         * tests/check/gst/gstpad.c:
4309         * tests/check/gst/gstplugin.c:
4310         * tests/check/gst/gstpoll.c:
4311         * tests/check/gst/gstquery.c:
4312         * tests/check/gst/gstsegment.c:
4313         * tests/check/gst/gststructure.c:
4314         * tests/check/gst/gstsystemclock.c:
4315         * tests/check/gst/gsttask.c:
4316         * tests/check/gst/gstutils.c:
4317         * tests/check/gst/gstvalue.c:
4318         * tests/check/gst/struct_hppa.h:
4319         * tests/check/gst/struct_i386.h:
4320         * tests/check/gst/struct_ppc32.h:
4321         * tests/check/gst/struct_ppc64.h:
4322         * tests/check/gst/struct_x86_64.h:
4323         * tests/check/libs/adapter.c: (create_and_fill_adapter):
4324         * tests/check/libs/basesrc.c:
4325         * tests/check/libs/controller.c: (GST_START_TEST):
4326         * tests/check/libs/gdp.c:
4327         * tests/check/libs/gstnetclientclock.c:
4328         * tests/check/libs/gstnettimeprovider.c:
4329         * tests/check/libs/libsabi.c:
4330         * tests/check/libs/struct_hppa.h:
4331         * tests/check/libs/struct_i386.h:
4332         * tests/check/libs/struct_ppc32.h:
4333         * tests/check/libs/struct_ppc64.h:
4334         * tests/check/libs/struct_x86_64.h:
4335         * tests/check/pipelines/cleanup.c:
4336         * tests/check/pipelines/simple-launch-lines.c:
4337         * tests/check/pipelines/stress.c:
4338         And correct even more valid sparse warnings.
4339
4340         * win32/common/libgstreamer.def:
4341         Add gst_poll_fd_init to the list of symbols.
4342
4343 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4344
4345         * gst/gstconfig.h.in:
4346         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
4347         * libs/gst/check/gstcheck.c: (gst_check_log_message_func),
4348         (gst_check_log_critical_func), (gst_check_drop_buffers),
4349         (gst_check_element_push_buffer_list):
4350         * libs/gst/controller/gstcontroller.c: (gst_controller_get),
4351         (gst_controller_get_type):
4352         * libs/gst/controller/gsthelper.c: (gst_object_control_properties),
4353         (gst_object_get_controller), (gst_object_get_control_source):
4354         * libs/gst/controller/gstinterpolationcontrolsource.c:
4355         (gst_interpolation_control_source_new):
4356         * libs/gst/controller/gstlfocontrolsource.c:
4357         (gst_lfo_control_source_new):
4358         * libs/gst/dataprotocol/dataprotocol.c:
4359         (gst_dp_event_from_packet_0_2):
4360         * plugins/elements/gstfdsrc.c:
4361         * plugins/elements/gstmultiqueue.c:
4362         * plugins/elements/gsttee.c:
4363         * plugins/elements/gsttypefindelement.c:
4364         * plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
4365         (gst_file_index_add_association):
4366         * plugins/indexers/gstmemindex.c:
4367         * tests/benchmarks/gstpollstress.c: (mess_some_more):
4368         * tests/check/elements/queue.c: (setup_queue):
4369         * tests/check/gst/gstpipeline.c:
4370         * tests/check/libs/collectpads.c: (setup), (teardown),
4371         (gst_collect_pads_suite):
4372         * tests/examples/adapter/adapter_test.c:
4373         * tests/examples/metadata/read-metadata.c: (make_pipeline):
4374         * tests/examples/xml/createxml.c:
4375         * tests/examples/xml/runxml.c:
4376         * tools/gst-inspect.c:
4377         * tools/gst-run.c:
4378         Correct all relevant warnings found by the sparse semantic code
4379         analyzer. This include marking several symbols static, using
4380         NULL instead of 0 for pointers, not using variable sized arrays
4381         on the stack, moving variable declarations to the beginning of
4382         a block and using "foo (void)" instead of "foo ()" for declarations.
4383
4384 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4385
4386         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4387         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4388         Don't reset GstPollFDs, this is not necessary at all.
4389
4390         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4391         (delayed_restart), (delayed_control):
4392         Use GST_POLL_FD_INIT.
4393
4394 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4395
4396         * gst/gstpoll.c: (gst_poll_fd_init):
4397         * gst/gstpoll.h:
4398         Added Since tags.
4399
4400         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4401         Use some more init macros.
4402
4403 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4404
4405         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
4406         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4407         Use init macros and functions.
4408
4409 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4410
4411         * docs/gst/gstreamer-sections.txt:
4412         * gst/gstpoll.c: (gst_poll_fd_init):
4413         * gst/gstpoll.h:
4414         Add INIT macro and _init method for initializing the GstPollFD.
4415
4416 2008-02-28  Sebastian Dröge  <slomo@circular-chaos.org>
4417
4418         * plugins/elements/gstfdsink.c: (gst_fd_sink_start),
4419         (gst_fd_sink_update_fd):
4420         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4421         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4422         (delayed_restart), (delayed_control):
4423         Initialize some uninitialized variables as spotted by valgrind.
4424
4425 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
4426
4427         * tests/benchmarks/Makefile.am:
4428         * tests/benchmarks/gstpollstress.c: (mess_some_more), (run_test),
4429         (main):
4430         Add poll stress test.
4431
4432 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
4433
4434         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4435
4436         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
4437         (gst_fd_sink_start), (gst_fd_sink_stop), (gst_fd_sink_unlock),
4438         (gst_fd_sink_unlock_stop), (gst_fd_sink_update_fd):
4439         * plugins/elements/gstfdsink.h:
4440         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
4441         (gst_fd_src_start), (gst_fd_src_stop), (gst_fd_src_unlock),
4442         (gst_fd_src_unlock_stop), (gst_fd_src_create),
4443         (gst_fd_src_uri_set_uri):
4444         * plugins/elements/gstfdsrc.h:
4445         Port to GstPoll. See #505417.
4446
4447 2008-02-27  Jan Schmidt  <jan.schmidt@sun.com>
4448
4449         * win32/common/libgstreamer.def:
4450         Add new gst_poll_ symbols to win32 defs.
4451
4452 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4453
4454         * docs/libs/gstreamer-libs-sections.txt:
4455         * libs/gst/net/gstnetclientclock.c:
4456         (gst_net_client_clock_class_init), (gst_net_client_clock_init),
4457         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4458         (gst_net_client_clock_thread), (gst_net_client_clock_start),
4459         (gst_net_client_clock_stop), (gst_net_client_clock_new):
4460         * libs/gst/net/gstnetclientclock.h:
4461         * libs/gst/net/gstnettimeprovider.c:
4462         (gst_net_time_provider_class_init), (gst_net_time_provider_init),
4463         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4464         (gst_net_time_provider_start), (gst_net_time_provider_stop),
4465         (gst_net_time_provider_new):
4466         * libs/gst/net/gstnettimeprovider.h:
4467         Use a private stuct to not break ABI.
4468
4469 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4470
4471         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4472
4473         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_init),
4474         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4475         (gst_net_client_clock_thread), (gst_net_client_clock_start),
4476         (gst_net_client_clock_stop), (gst_net_client_clock_new):
4477         * libs/gst/net/gstnetclientclock.h:
4478         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_init),
4479         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4480         (gst_net_time_provider_start), (gst_net_time_provider_stop),
4481         (gst_net_time_provider_new):
4482         * libs/gst/net/gstnettimeprovider.h:
4483         Massive code removal and cleanups because of GstPoll.
4484         Fixes #505417.
4485
4486 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4487
4488         * configure.ac:
4489         Add checks for poll, ppoll and pselect.
4490
4491         * docs/gst/gstreamer-docs.sgml:
4492         * docs/gst/gstreamer-sections.txt:
4493         Add docs for GstPoll.
4494
4495         * gst/Makefile.am:
4496         * gst/gst.h:
4497         * gst/gstpoll.c: (find_index), (selectable_fds),
4498         (pollable_timeout), (choose_mode), (pollfd_to_fd_set),
4499         (fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
4500         (gst_poll_set_mode), (gst_poll_get_mode),
4501         (gst_poll_add_fd_unlocked), (gst_poll_add_fd),
4502         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
4503         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
4504         (gst_poll_fd_has_closed), (gst_poll_fd_has_error),
4505         (gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
4506         (gst_poll_fd_can_write), (gst_poll_wait),
4507         (gst_poll_set_controllable), (gst_poll_restart),
4508         (gst_poll_set_flushing):
4509         * gst/gstpoll.h:
4510         Add generic poll abstraction. We ideally don't want to have this in core
4511         here but in glib intead...
4512         This code will be used in various network elements and ultimately for
4513         the nanosecond precision monotonic clock (that's why it's here in core).
4514         It'll allow us to implement cancelable socket operations for windows too.
4515
4516         * tests/check/Makefile.am:
4517         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4518         (delayed_stop), (delayed_restart), (delayed_flush),
4519         (delayed_control), (gst_poll_suite):
4520         Add GstPoll unit test.
4521
4522 2008-02-25  Tim-Philipp Müller  <tim at centricular dot net>
4523
4524         * gst/gstfilter.c:
4525           Improve documentation of gst_filter_run(). Fixes #518627.
4526
4527 2008-02-23  Tim-Philipp Müller  <tim at centricular dot net>
4528
4529         * docs/README:
4530           Add a few lines about the new 'check-inspected-versions' target.
4531
4532 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
4533
4534         * tests/check/gst/gstevent.c:
4535           Add qos to the event test. Rename tcase/tsuite; is not only about
4536           custom events.
4537
4538 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
4539
4540         * plugins/elements/gstqueue.c:
4541           Ensure that buffer metadata is writeable, before modifying. Spotted by
4542           Mike.
4543
4544 2008-02-20  Stefan Kost  <ensonic@users.sf.net>
4545
4546         * plugins/elements/gstqueue.c:
4547         * plugins/elements/gstqueue.h:
4548           When dropping buffers in leaky modes, mark next buffers we sent as
4549           DISCONT.
4550
4551 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
4552
4553         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region):
4554           Also, if mmap() fails that would be a READ error, not OPEN_READ.
4555
4556 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
4557
4558         * plugins/elements/Makefile.am:
4559         * plugins/elements/gstbufferstore.c:
4560         * plugins/elements/gstbufferstore.h:
4561         * plugins/elements/gsttypefindelement.h:
4562           Remove GstBufferStore, no idea why we were still building it.
4563           It's not used anywhere and superseded by GstAdapter.
4564
4565         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4566           (gst_file_src_create_mmap):
4567         * plugins/indexers/gstfileindex.c: (gst_file_index_add_association):
4568           Printf format fixes for 64-bit integers.
4569
4570 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4571
4572         * configure.ac:
4573         Don't set GST_CACHE_DIR and allow to set it by a configure parameter.
4574         We're not in 0.8 times anymore.
4575
4576 2008-02-19  Jan Schmidt  <Jan.Schmidt@sun.com>
4577
4578         * libs/gst/check/gstcheck.c: (gst_check_drop_buffers),
4579         (gst_check_element_push_buffer_list):
4580         * libs/gst/check/gstcheck.h:
4581         Make the declaration in the header for
4582         gst_check_element_push_buffer_list match the implementation.
4583
4584         Fix up spelling, grammar and wording of the documentation in a few
4585         places, and add the Since keyword to new API functions.
4586         Use g_list_delete_link instead of g_list_remove in
4587         gst_check_drop_buffers, since it's immeasurably more efficient.
4588
4589         * tests/check/elements/fakesrc.c: (GST_START_TEST):
4590         Use new gst_check_drop_buffers function where appropriate.
4591
4592         * win32/common/libgstbase.def:
4593         * win32/common/libgstreamer.def:
4594         Add new symbols gst_collect_pads_take_buffer, 
4595         gst_collect_pads_read_buffer, gst_index_set_resolver_full to the
4596         exports
4597
4598         Changelog surgery to add API keyword to new gst_check API.
4599
4600 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4601
4602         * gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer),
4603         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra):
4604         Update pre-generated flex files with flex 2.3.34.
4605
4606 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4607
4608         * gst/gstminiobject.c:
4609           Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
4610           friendly to subclasses and not require them to know all internals
4611           of their parent class.
4612
4613 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
4614
4615         * docs/libs/gstreamer-libs-sections.txt:
4616         * libs/gst/base/gstcollectpads.c:
4617         * libs/gst/base/gstcollectpads.h:
4618           Add sub-buffer functions to collectpads. Fixes #516187.
4619           API: gst_collect_pads_take_buffer(), gst_collect_pads_read_buffer()
4620
4621 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
4622
4623         * gst/gstbuffer.c:
4624           Copy selected buffer-flags when creating subbuffers.
4625           Fixes #516395.
4626
4627 2008-02-12  Sebastian Dröge  <slomo@circular-chaos.org>
4628
4629         * gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
4630         * gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
4631         * gst/gstmessage.c: (gst_message_class_init),
4632         (gst_message_finalize):
4633         * gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
4634         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
4635         (gst_mmap_buffer_finalize):
4636         Properly chain up finalize functions to the parent class.
4637
4638 2008-02-11  Wim Taymans  <wim.taymans@collabora.co.uk>
4639
4640         Patch by: Siavash Safi <siavash dot safi at gmail dot com>
4641
4642         * gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
4643         (gst_index_set_resolver_full):
4644         * gst/gstindex.h:
4645         Add new function with option to dispose of user_data in resolver.
4646         Actually call the dispose function when finalizing the object and not
4647         just when changing the resolver/filter.
4648         API: GstIndex::gst_index_set_resolver_full()
4649
4650         * docs/gst/gstreamer-sections.txt:
4651         Add new function to docs. Fixes #515469.
4652
4653 2008-02-11  Sebastian Dröge  <slomo@circular-chaos.org>
4654
4655         * gst/gstindex.c: (gst_index_finalize):
4656         Chain up finalize to the parent class. Fixes leaking the GstObject
4657         name and other things.
4658
4659 2008-02-08  Jan Schmidt  <jan.schmidt@sun.com>
4660
4661         * configure.ac:
4662         Make DISABLE_DEPRECATED defined *only* during CVS, not during
4663         pre-releases or releases.
4664
4665         * docs/faq/gst-uninstalled:
4666         Add gst-plugins-gl
4667
4668         * docs/random/release:
4669         Change one of the steps - we only upload core & base to Gnome FTP
4670
4671 2008-02-06  Stefan Kost  <ensonic@users.sf.net>
4672
4673         * gst/gstconfig.h.in:
4674           Add 'id' for example.
4675
4676         * gst/gstpad.c:
4677         * gst/gstutils.c:
4678         * plugins/elements/gstfdsink.c:
4679           Link to signals. Doc and comment fixes.
4680
4681 2008-02-05  Tim-Philipp Müller  <tim at centricular dot net>
4682
4683         * gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
4684         * gst/gstpluginfeature.h: (GstPluginFeatureClass):
4685           Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
4686           unused and unimplemented; finally, it is plugin features, not
4687           plugins, that have ranks.
4688           
4689 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
4690
4691         * gst/gstpluginfeature.h:
4692           Clarify GstRank range docs.
4693
4694 2008-02-05  David Schleef  <ds@schleef.org>
4695
4696         * gst/gst.c: Add a separate gst_deinitialized that prevents
4697           gst_init() from being called after gst_deinit().  Fixes #509559
4698
4699 2008-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
4700
4701         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
4702         (gst_bin_class_init):
4703         * gst/gstelement.c: (gst_element_base_class_init),
4704         (gst_element_class_add_pad_template):
4705         * gst/gstpadtemplate.c: (gst_pad_template_init):
4706         * gst/gstpipeline.c: (gst_pipeline_get_type),
4707         (gst_pipeline_base_init), (gst_pipeline_class_init):
4708         * libs/gst/base/gstbasesink.c:
4709         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4710         (gst_base_src_base_init), (gst_base_src_class_init):
4711         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4712         (gst_capsfilter_class_init):
4713         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4714         (gst_fake_sink_class_init):
4715         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4716         (gst_fake_src_class_init):
4717         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4718         (gst_fd_sink_class_init):
4719         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4720         (gst_fd_src_class_init):
4721         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4722         (gst_file_sink_class_init):
4723         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4724         (gst_file_src_class_init):
4725         * plugins/elements/gstidentity.c: (gst_identity_base_init),
4726         (gst_identity_class_init):
4727         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4728         (gst_multi_queue_class_init):
4729         * plugins/elements/gstqueue.c: (gst_queue_base_init),
4730         (gst_queue_class_init):
4731         * plugins/elements/gsttee.c: (gst_tee_base_init),
4732         (gst_tee_class_init):
4733         * plugins/elements/gsttypefindelement.c:
4734         (gst_type_find_element_base_init),
4735         (gst_type_find_element_class_init):
4736         * tests/check/gst/gstelement.c: (gst_element_suite):
4737         Revert previous changes to the behaviour of GstPadTemplates, etc
4738         and the possiblity to call them in class_init as it breaks too
4739         many elements. Reopens bug #491501.
4740
4741         Should be applied again for 0.11, thus added a few FIXME 0.11 at
4742         several places.
4743
4744 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
4745
4746         * tools/gst-launch.c:
4747         Dump one graph per pipeline state-change and state change name
4748         (if GST_DEBUG_DUMP_DOT_DIR is set).
4749
4750 2008-02-04  Thijs Vermeir  <thijsvermeir@gmail.com>
4751
4752         * gst/gstpad.c:
4753         * tests/check/gst/gstpad.c:
4754         Be sure that we have a new copy of the caps and not
4755         reffed caps from a template
4756
4757 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
4758
4759         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
4760         * gst/gstpipeline.c: (gst_pipeline_get_type),
4761         (gst_pipeline_class_init):
4762         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
4763         (gst_base_sink_class_init):
4764         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4765         (gst_base_src_class_init):
4766         * libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
4767         (gst_base_transform_class_init):
4768         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4769         (gst_collect_pads_class_init):
4770         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
4771         * libs/gst/net/gstnettimeprovider.c:
4772         (gst_net_time_provider_base_init),
4773         (gst_net_time_provider_class_init):
4774         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4775         (gst_capsfilter_class_init):
4776         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4777         (gst_fake_sink_class_init):
4778         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4779         (gst_fake_src_class_init):
4780         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4781         (gst_fd_sink_class_init):
4782         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4783         (gst_fd_src_class_init):
4784         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4785         (gst_file_sink_class_init):
4786         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4787         (gst_file_src_class_init):
4788         * plugins/elements/gstidentity.c: (gst_identity_base_init),
4789         (gst_identity_class_init):
4790         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4791         (gst_multi_queue_class_init):
4792         * plugins/elements/gstqueue.c: (gst_queue_base_init),
4793         (gst_queue_class_init):
4794         * plugins/elements/gsttee.c: (gst_tee_base_init),
4795         (gst_tee_class_init):
4796         * plugins/elements/gsttypefindelement.c:
4797         (gst_type_find_element_base_init),
4798         (gst_type_find_element_class_init):
4799         Don't use base_init where not absolutely necessary. For example it's
4800         not necessary anymore for adding pad templates or setting element
4801         details.
4802
4803         Leave empty base_init functions in several places as GST_BOILERPLATE
4804         still defines and uses them.
4805
4806 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
4807
4808         * gst/gstelement.c: (gst_element_base_class_init),
4809         (gst_element_class_add_pad_template):
4810         * gst/gstpadtemplate.c:
4811         Make it possible (and recommended) to set element details and add
4812         pad templates in the class_init functions by copying the details/pad
4813         templates in GstElement's base_init.
4814
4815         Also make it possible to replace existing pad templates by adding
4816         a new one with the same name. This was done in a hackish fashion
4817         in same elements before already.
4818
4819         Don't reference pad templates that are added a second time. A
4820         new pad template has a refcount of one and is not floating anymore
4821         and to be owned by the element's class. Make this more explicit by
4822         mentioning it in the docs of gst_element_class_add_pad_template().
4823
4824         These changes are backwards compatible. Fixes bug #491501.
4825
4826         * tests/check/gst/gstelement.c:
4827         Add unit test for setting element details, adding pad templates and
4828         replacing them in a subclass.
4829
4830 2008-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
4831
4832         * tools/gst-inspect.c: (print_interfaces),
4833         (print_element_properties_info), (print_pad_info),
4834         (print_signal_info), (print_element_info):
4835         Fix a few memory leaks.
4836
4837 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
4838
4839         * docs/libs/gstreamer-libs-sections.txt:
4840         * libs/gst/check/gstcheck.c:
4841         * libs/gst/check/gstcheck.h:
4842         Add more functions for unit testing: gst_check_drop_buffers,
4843         gst_check_caps_equal, gst_check_element_push_buffer_list,
4844         gst_check_element_push_buffer
4845         API: gst_check_drop_buffers
4846         API: gst_check_caps_equal
4847         API: gst_check_element_push_buffer_list
4848         API: gst_check_element_push_buffer
4849
4850 2008-02-01  Julien Moutte  <julien@fluendo.com>
4851
4852         * docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
4853         * gst/gstindex.c: (gst_index_class_init), (gst_index_free_writer),
4854         (gst_index_finalize), (gst_index_entry_free),
4855         (gst_index_add_association): Fix memory leaks.
4856         * gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
4857         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
4858         (gst_mem_index_free_format), (gst_mem_index_free_id),
4859         (gst_mem_index_finalize): Fix memory leaks.
4860         * win32/common/config.h: Updated to CVS HEAD.
4861
4862 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
4863
4864         * docs/README:
4865           Some more details about how the plugin docs works.
4866
4867         * docs/plugins/gstreamer-plugins-sections.txt:
4868           Whitespace cleanup.
4869
4870 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
4871
4872         * gst/parse/grammar.tab.pre.c:
4873         * gst/parse/grammar.tab.pre.h:
4874         * gst/parse/grammar.y:
4875         * gst/parse/lex._gst_parse_yy.pre.c:
4876           Add delayed set-property. This allows to set properties on dynamicaly
4877           created objects (pads in videomxer). Fixes #509391.
4878
4879 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
4880
4881         * gst/gstutils.c:
4882         Check if caps are not NULL (fix bug #510194)
4883
4884 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
4885
4886         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop),
4887         (gst_base_sink_get_position_paused):
4888         Add fixme regarding EOS in pull mode.
4889         Fix position reporting in PAUSED for negative rates.
4890
4891 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
4892
4893         * gst/gstminiobject.c: (gst_mini_object_replace):
4894         When replacing a miniobject, do a quick equality check first so that we
4895         can avoid a ref/unref pair.
4896
4897 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
4898
4899         * docs/design/part-synchronisation.txt:
4900         Update some docs.
4901
4902         * docs/plugins/Makefile.am:
4903         * docs/plugins/gstreamer-plugins-docs.sgml:
4904         * docs/plugins/gstreamer-plugins-sections.txt:
4905         * plugins/elements/gstmultiqueue.c:
4906         Add multiqueue to the docs.
4907
4908 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4909
4910         * configure.ac:
4911           Back to CVS
4912
4913 === release 0.10.17 ===
4914
4915 2008-01-30  Jan Schmidt <jan.schmidt@sun.com>
4916
4917         * configure.ac:
4918           releasing 0.10.17, "Due Negligence"
4919
4920 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4921
4922         * gst/gstutils.c:
4923         Revert caps != NULL check temporarily for 0.10.17 release.
4924
4925 2008-01-30  Thijs Vermeir  <thijsvermeir@gmail.com>
4926
4927         * gst/gstutils.c:
4928         Check if caps are not NULL (fix bug #510194)
4929
4930 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4931
4932         * gst/gstutils.c:
4933         Fix compilation on systems that have posix timers but no
4934         monotonic clock.
4935         Fixes: #512715
4936         Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
4937         dot net>
4938
4939 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4940
4941         * tools/gst-inspect.c:
4942         Revert previous commit in preparation for an impromptu 0.10.17 release
4943
4944 2008-01-29  Sebastian Dröge  <slomo@circular-chaos.org>
4945
4946         * tools/gst-inspect.c: (print_interfaces),
4947         (print_element_properties_info), (print_pad_info),
4948         (print_signal_info), (print_element_info):
4949         Fix a few memory leaks.
4950
4951 2008-01-28  Jan Schmidt  <jan.schmidt@sun.com>
4952
4953         * configure.ac:
4954         Back to CVS
4955
4956 === release 0.10.16 ===
4957
4958 2008-01-28  Jan Schmidt <thaytan@noraisin.net>
4959
4960         * configure.ac:
4961           releasing 0.10.16, "Special Dispensation"
4962
4963 2008-01-24  Tim-Philipp Müller  <tim at centricular dot net>
4964
4965         * configure.ac:
4966           Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for
4967           _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes configure
4968           not fail when trying to crosscompile on OpenEmbedded (#511750).
4969
4970 2008-01-20  Sebastian Dröge  <slomo@circular-chaos.org>
4971
4972         * docs/manuals.mak:
4973         Use $(MAKE) instead of make to fix the build if GNU make is
4974         called different. Fixes bug #510747.
4975
4976 2008-01-20  Tim-Philipp Müller  <tim at centricular dot net>
4977
4978         * gst/gstplugin.c: (_gst_plugin_initialize):
4979           Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
4980           again, which I broke two commits ago when changing the API
4981           of gst_plugin_register_static(): the g_list_foreach() in
4982           _gst_plugin_register_static still assumed the old function
4983           signature and would therefore fail (re-fixes #510187).
4984
4985         * gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
4986           (_gst_plugin_register_static), (gst_plugin_register_static):
4987           Revert the (technically correct) change to call g_thread_init() from
4988           the pre-main() constructor. This will break programs which call
4989           g_thread_init() without an if (!g_thread_supported()) guard in their
4990           main function. We could just blame it on GLib or the application, but
4991           it's probably best to just avoid this altogether and simply not use
4992           any GLib functions here and use plain old malloc() with a simple
4993           array to store the plugins to register later when gst_init() is
4994           finally called (re-fixes #510187).
4995
4996         * tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
4997           (GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
4998           (plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
4999           (GST_START_TEST), (gst_plugin_suite):
5000           Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
5001           works.
5002
5003 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
5004
5005         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
5006           Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
5007           This makes gtk-doc complain, but results in slightly better
5008           compiler errors. The old _gst_plugin_register_static() is
5009           still guarded, so there'll be a compiler warning about that
5010           instead. Fixes #510187 too.
5011
5012 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
5013
5014         * gst/gst.c: (init_post):
5015         * gst/gstplugin.c: (_gst_plugin_register_static),
5016           (gst_plugin_register_static), (_gst_plugin_initialize):
5017         * gst/gstplugin.h: (GstPluginFilter):
5018           Change API of gst_plugin_register_static() to not take
5019           a GstPluginDesc, but rather just take all the arguments
5020           in a GstPluginDesc directly. This is more intuitive and
5021           avoids certain mistakes when porting code from
5022           GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
5023           Fixes #510187.
5024
5025         * tests/check/gst/gstplugin.c:
5026           Fix up for changed API.
5027
5028 2008-01-17  Thomas Vander Stichele  <thomas at apestaart dot org>
5029
5030         * docs/faq/legal.xml:
5031           Update FAQ, Totem actually has an exception these days.
5032
5033 2008-01-14  Jan Schmidt  <jan.schmidt@sun.com>
5034
5035         * win32/common/libgstreamer.def:
5036         Add new API declarations
5037
5038 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
5039
5040         * gst/gstminiobject.c:
5041           Spelling fixes for the API docs.
5042
5043 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
5044
5045         * libs/gst/base/gstbasetransform.c:
5046           Fix long property description for QoS.
5047
5048 2008-01-12  Jan Schmidt  <Jan.Schmidt@sun.com>
5049
5050         * gst/gst.c:
5051         _gst_trace_on is already provided by gsttrace.h, no need to declare
5052         it ourselves.
5053
5054         * docs/libs/gstreamer-libs-sections.txt:
5055         Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
5056         and remove strange tcase_add_test which is outputting a warning.
5057
5058         * libs/gst/check/gstcheck.c:
5059         * libs/gst/check/gstcheck.h:
5060         Properly declare 'buffers', 'check_cond', 'check_mutex' extern
5061         and define them in gstcheck.c instead of having every .c file whcih
5062         includes gstcheck.h be defining its own copy and relying on symbol
5063         interposing to marry them all, which doesn't work on Solaris.
5064
5065         * tests/check/elements/identity.c: (GST_START_TEST):
5066         Don't define 'buffers' locally, it comes from libgstcheck.
5067
5068         * tests/check/generic/sinks.c: (send_buffer):
5069         Fix type of variable (GstFlowReturn, not GstStateChangeReturn)
5070
5071         * tests/check/gst/gststructure.c: (GST_START_TEST):
5072         * tests/check/gst/gstsystemclock.c: (GST_START_TEST):
5073         * tests/check/gst/gstutils.c: (GST_START_TEST):
5074         * tests/check/gst/gstvalue.c: (GST_START_TEST):
5075         Add a bunch of casts to make various constants fit the types
5076         they're being assigned to.
5077
5078 2008-01-10  Stefan Kost  <ensonic@users.sf.net>
5079
5080         * gst/gstchildproxy.c:
5081           Improve docs and add some ideas for making this more general-purpose.
5082
5083 2008-01-10  Tim-Philipp Müller  <tim at centricular dot net>
5084
5085         * gst/gst_private.h: (GST_CAT_TYPES):
5086           Add GST_CAT_TYPES, for consistency, and so that the other
5087           debug categories don't make fun of it. Spotted by Saur on IRC.
5088
5089 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
5090
5091         * gst/parse/Makefile.am:
5092           Move types.h from EXTRA_DIST to noinst_HEADERS.
5093
5094 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
5095
5096         * autogen.sh:
5097           Add -Wno-portability to the automake parameters to stop warnings
5098           about GNU make extensions being used. We require GNU make in almost
5099           every Makefile anyway.
5100
5101         * configure.ac:
5102           Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
5103           at the same time is required for per target flags.
5104
5105 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5106
5107         * gst/gstmacros.h:
5108           Include glib/gmacros.h for G_BEGIN_DECLS. Check if
5109           __GNUC__ is defined before using it.
5110
5111 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5112
5113         * docs/gst/gstreamer-sections.txt:
5114         * gst/gst.c: (init_post):
5115         * gst/gstplugin.c: (_gst_plugin_register_static),
5116           (gst_plugin_register_static), (_gst_plugin_initialize),
5117           (gst_plugin_register_func):
5118         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
5119           API: add gst_plugin_register_static() and deprecate
5120           GST_PLUGIN_DEFINE_STATIC, since it's not portable
5121           (#498924).
5122           Also, in _gst_plugin_register_static(), make sure to call
5123           g_thread_init() before calling GLib functions such as
5124           g_list_append() if we're not initialised yet, since that
5125           may lead to random crashes with older GSlice/GLib versions.
5126
5127         * tests/check/gst/gstplugin.c:
5128           Adapt unit test to above changes.
5129
5130 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5131
5132         * gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
5133         * gst/gstcaps.c: (gst_caps_to_string):
5134         * gst/gststructure.c: (GST_ASCII_IS_STRING),
5135           (priv_gst_structure_append_to_gstring), (gst_structure_to_string):
5136           Yet another gratuitous GString micro-optimisation: add a (private)
5137           function that serialises a structure appending to an existing
5138           GString, so that when we serialise caps we don't need to alloc+free
5139           a throwaway GString for each structure (each of which also entailing
5140           multiple reallocs on the way); also use g_string_sized_new() in
5141           various places with an approximate string length to avoid reallocs
5142           within GString. See #500143.
5143
5144 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5145
5146         * gst/gststructure.c: (gst_structure_id_set_value):
5147           Always check UTF-8 conformance of structure strings and not only
5148           if the debugging system is enabled; reasoning: the behaviour of
5149           the actual code shouldn't really change depending on whether the
5150           debugging system is enabled or not (#508291).
5151
5152 2008-01-09  Stefan Kost  <ensonic@users.sf.net>
5153
5154         * Makefile.am:
5155           Remove old coverage target in favour of "make lcov".
5156
5157 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
5158
5159         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
5160         (gst_base_src_loop):
5161         The start segment for reverse playback goes from start to last_stop.
5162
5163 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
5164
5165         Patch by: Peter Kjellerstedt <pkj axis com>
5166
5167         * gst/gstclock.h:
5168         Cast the results from the timeval/spec_to_time macros to what the
5169         docs say it casts to, a GstClockTime. fixes #508175.
5170
5171 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
5172
5173         * gst/gstbuffer.c:
5174         Update some comments.
5175
5176         * tools/gst-inspect.c: (print_element_properties_info):
5177         Improve printing of flags.
5178
5179 2008-01-08  Tim-Philipp Müller  <tim at centricular dot net>
5180
5181         * libs/gst/base/gstbasetransform.c:
5182           (gst_base_transform_transform_size):
5183           Print element name with g_warning() if there's a problem
5184           with the unit size.
5185
5186 2008-01-07  David Schleef  <ds@schleef.org>
5187
5188         Patch by: Damien Lespiau <damien.lespiau@gmail.com>
5189
5190         * libs/gst/controller/gstcontroller.h:
5191         * libs/gst/controller/gstcontrolsource.h:
5192         * libs/gst/controller/gstinterpolationcontrolsource.h:
5193         * libs/gst/controller/gstlfocontrolsource.h:
5194         * libs/gst/dataprotocol/dataprotocol.h:
5195           Fix empty prototypes.  Fixes bug #507957.
5196
5197 2008-01-07  David Schleef  <ds@schleef.org>
5198
5199         * docs/faq/dependencies.xml: Fix typo.
5200
5201 2008-01-07  Wim Taymans  <wim.taymans@collabora.co.uk>
5202
5203         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek),
5204         (gst_base_src_loop):
5205         Don't update the last_stop position in do_seek, that's the position we
5206         did a seek to.
5207         Read backwards when we have a negative rate.
5208
5209         * tests/check/elements/filesrc.c: (event_func), (wait_eos),
5210         (setup_filesrc), (cleanup_filesrc), (GST_START_TEST),
5211         (filesrc_suite):
5212         Add check for reverse reading.
5213
5214 2008-01-07  Tim-Philipp Müller  <tim at centricular dot net>
5215
5216         Patch by: Alexis Ballier <aballier at gentoo org>
5217
5218         * tests/check/gst/gstabi.c:
5219         * tests/check/gst/struct_ppc64.h:
5220         * tests/check/libs/libsabi.c:
5221         * tests/check/libs/struct_ppc64.h:
5222           Decide which header to include based on the userland ABI target
5223           and not the kernel/cpu. Fix up structure sizes of ppc64 header
5224           for 64-bit userland (#503590).  Might need something similar for
5225           x86 too.
5226
5227 2008-01-05  Tim-Philipp Müller  <tim at centricular dot net>
5228
5229         * gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
5230           Log the reason why fopen fails in addition to the fact that it failed.
5231           
5232 2008-01-04  Sebastian Dröge  <slomo@circular-chaos.org>
5233
5234         * gst/parse/parse.l:
5235         Use "%option never-interactive" to prevent useless calls to isatty()
5236         on every input when parsing. Also use "%option noinput" to not define
5237         the static input/yyinput functions which we don't use anyway. This
5238         removes a compiler warning with gcc 4.3 and saves some bytes in the
5239         library.
5240         
5241         * gst/parse/lex._gst_parse_yy.pre.c:
5242         Regenerated for the above change.
5243
5244 2008-01-04  Wim Taymans  <wim.taymans@collabora.co.uk>
5245
5246         * gst/gstpad.c: (fixate_value):
5247         Don't crash when trying to fixate and empty list.
5248         Fixes #506643.
5249
5250 2008-01-03  Sebastian Dröge  <slomo@circular-chaos.org>
5251
5252         * docs/faq/gst-uninstalled:
5253         Clarify the comments to make the usage of this script and what it
5254         does easier to understand.
5255
5256 2008-01-01  Thijs Vermeir  <thijsvermeir@gmail.com>
5257
5258         * tools/gst-plot-timeline.py:
5259         Add more options to gst-plot-timeline
5260
5261 2007-12-31  Wim Taymans  <wim.taymans@collabora.co.uk>
5262
5263         * docs/design/part-synchronisation.txt:
5264         Some more info on how the stream_time in GstBaseSink is done.
5265
5266 2007-12-30  Tim-Philipp Müller  <tim at centricular dot net>
5267
5268         * tests/check/generic/sinks.c: (gst_sinks_suite):
5269           Put back the tcase_set_timeout(), apparently it's needed after
5270           all; fix it up in a way that makes things work with valgrind too.
5271
5272 2007-12-30  Thijs Vermeir  <thijsvermeir@gmail.com>
5273
5274         * gst/gstdebugutils.c:
5275           Add warning when failed to open file for writing.
5276
5277 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
5278
5279         Based on patch by: Laurent Glayal  <spglegle yahoo fr>
5280
5281         * gst/gstvalue.c: (gst_value_is_fixed):
5282           Optimisation: bail out of the loop as early as possible (#500143).
5283
5284 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
5285
5286         * gst/gstcaps.c: (gst_caps_to_string):
5287         * gst/gstinfo.c: (gst_debug_construct_term_color):
5288         * gst/gstparse.c: (gst_parse_launchv):
5289         * gst/gstutils.c: (gst_util_dump_mem):
5290         * gst/gstvalue.c: (gst_value_serialize_any_list),
5291           (gst_value_transform_any_list_string):
5292           Bunch of gratuitous nano-optimisations.
5293
5294 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
5295
5296         * tests/check/generic/sinks.c: (async_done_func),
5297           (async_done_eos_func):
5298           Fix leak in unit test (bus sync handler must unref the message
5299           if it returns GST_BUS_DROP). Don't fiddle with the default test
5300           timeout, this is smaller than the current preconfigured value
5301           via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
5302           because it overrides the value specified in CK_DEFAULT_TIMEOUT.
5303
5304 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
5305
5306         Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5307
5308         * configure.ac:
5309         Check for stdio_ext.h for the filesink changes.
5310
5311         * plugins/elements/gstfilesink.c: (buffer_mode_get_type),
5312         (gst_file_sink_class_init), (gst_file_sink_init),
5313         (gst_file_sink_dispose), (gst_file_sink_set_property),
5314         (gst_file_sink_get_property), (gst_file_sink_open_file),
5315         (gst_file_sink_close_file):
5316         * plugins/elements/gstfilesink.h:
5317         Add two properties to control the buffering mode and size.
5318         API: GstFileSink::buffer-mode
5319         API: GstFileSink::buffer-size
5320         Fixes #500150.
5321
5322 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
5323
5324         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
5325         Add some more docs to explain why a FIXME was wrongly added. 
5326
5327 2007-12-22  Sebastian Dröge  <slomo@circular-chaos.org>
5328
5329         * gst/gstobject.c:
5330           Fix typo in the gst_object_{ref,unref} documentation.
5331
5332 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
5333
5334         * tests/check/libs/controller.c:
5335         * tests/check/libs/typefindhelper.c:
5336         * tests/check/pipelines/parse-launch.c:
5337           Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
5338           going to be deprecated (see #498924).
5339
5340 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
5341
5342         * gst/gsttypefind.c: (gst_type_find_register):
5343           Make gst_type_find_register work for static typefind functions,
5344           ie. allow passing plugin == NULL (prerequisite for #498924).
5345
5346         * gst/gstelementfactory.c: (gst_element_register):
5347           Small docs addition.
5348
5349 2007-12-21  Wim Taymans  <wim.taymans@collabora.co.uk>
5350
5351         * gst/gstpad.c: (gst_pad_dispose):
5352         Really unlink the peer pad instead of setting the peer pointer to NULL
5353         when we dispose the pad.
5354         This correctly calls the unlink functions and makes sure that the peer
5355         does not have a handle to invalid memory. See #504671.
5356
5357         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
5358         Add testsuite for above case.
5359
5360 2007-12-20  Tim-Philipp Müller  <tim at centricular dot net>
5361
5362         Patch by: Peter Kjellerstedt <pkj axis com>
5363
5364         * libs/gst/check/gstcheck.h:
5365           Fix detection of the check version we're compiling against (would
5366           otherwise break if check goes v0.10.0); correctly report the
5367           name of the failed test again in case of failure, instead of
5368           just 'tf' (fixes #504499).
5369
5370 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
5371
5372         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
5373         (gst_base_src_get_range), (gst_base_src_pad_get_range),
5374         (gst_base_src_loop), (gst_base_src_set_flushing),
5375         (gst_base_src_change_state):
5376         Allow sending EOS to the source to make it send out an EOS event from
5377         the streaming thread.
5378         Update docs and deprecate the old NULL/READY shutdown method.
5379
5380         * tests/check/libs/basesrc.c: (GST_START_TEST),
5381         (gst_basesrc_suite):
5382         Add unit test for controlled shutdown.
5383
5384 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
5385
5386         * docs/design/part-synchronisation.txt:
5387         Small updates.
5388
5389         * gst/gstsegment.c: (gst_segment_set_seek),
5390         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
5391         (gst_segment_to_running_time):
5392         The seek format can be different from the segment format when the start
5393         and stop values are not to be updated, when we only do a rate change for
5394         example.
5395
5396         * tests/check/gst/gstsegment.c: (GST_START_TEST),
5397         (gst_segment_suite):
5398         Add a testcase for the rate-only seeks, checking that the format is
5399         correctly ignored when start and stop are not updated.
5400
5401 2007-12-18  Sebastian Dröge  <slomo@circular-chaos.org>
5402
5403         Patch by: Matthias Bolte <photon at mail dot upb dot de>
5404
5405         * win32/vs8/grammar.vcproj:
5406         * win32/vs8/libgstcontroller.vcproj:
5407         * win32/vs8/libgstreamer.vcproj:
5408         Fix compilation with VS8 and include some missing files.
5409
5410 2007-12-18  Tim-Philipp Müller  <tim at centricular dot net>
5411
5412         * gst/gsttaglist.c:
5413           Small docs addition: mention that the strings returned by
5414           gst_tag_list_get_string*() are in UTF-8 encoding.
5415
5416 2007-12-17  Tim-Philipp Müller  <tim at centricular dot net>
5417
5418         * Makefile.am:
5419           The check-exports stuff moved to common/win32.mak, so include that.
5420
5421 2007-12-17  Wim Taymans  <wim.taymans@collabora.co.uk>
5422
5423         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
5424         (gst_base_src_perform_seek), (gst_base_src_get_range),
5425         (gst_base_src_set_playing), (gst_base_src_change_state):
5426         Make _wait_playing() not check any variables so that we can call this
5427         function from subclasses. Move the checks elsewhere similar to
5428         _wait_preroll() in basesink.
5429         Add some debugging.
5430         Only signal the LIVE cond when we are going back to PLAYING.
5431
5432 2007-12-16  Tim-Philipp Müller  <tim at centricular dot net>
5433
5434         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
5435           Use g_remove() and g_rename(). Check result of g_rename(), and
5436           don't leak the open file descriptor if we error out when writing.
5437
5438         * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
5439           Must check the return value of close() after writing out the new
5440           registry file.  Sometimes write problems such as out-of-diskspace
5441           are only reported when the file is closed and not already during
5442           the write.  This may have caused partial/broken registry files in
5443           some rare circumstances. Should fix #503675.
5444
5445 2007-12-16  Edward Hervey  <edward.hervey@collabora.co.uk>
5446
5447         * docs/gst/.cvsignore:
5448         * docs/libs/.cvsignore:
5449         * docs/plugins/.cvsignore:
5450         Ignore files generated by new common/* modifications
5451
5452 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5453
5454         * win32/common/libgstbase.def:
5455           Yes, you can also have a <TAB> if you want.
5456
5457 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5458
5459         * win32/common/libgstbase.def:
5460           Add new basetransform API to win export file.
5461
5462 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5463
5464         * tests/check/gst/gstbin.c:
5465           Adjust the test to the refcount change two days ago.
5466
5467 2007-12-14  David Schleef  <ds@schleef.org>
5468
5469         * docs/faq/getting.xml: Fix typo.
5470
5471 2007-12-14  Sebastian Dröge  <slomo@circular-chaos.org>
5472
5473         * docs/libs/gstreamer-libs-sections.txt:
5474         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
5475           (gst_base_transform_prepare_output_buffer),
5476           (gst_base_transform_set_gap_aware):
5477         * libs/gst/base/gstbasetransform.h:
5478           API: Add gst_base_transform_set_gap_aware() to control whether
5479           the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
5480           get buffers with this flag at all. Fixes #503231.
5481
5482 2007-12-13  Stefan Kost  <ensonic@users.sf.net>
5483
5484         * libs/gst/base/gstbasesink.c:
5485         * libs/gst/base/gstbasesrc.c:
5486         * libs/gst/base/gstbasetransform.c:
5487           Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
5488           thread. Correct log message in gstbasesrc.c.
5489
5490 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
5491
5492         * gst/gstutils.c: (element_find_unconnected_pad):
5493           Fix possible compiler warning (#503417).
5494
5495 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
5496
5497         * gst/gstobject.c: (gst_object_dispatch_properties_changed):
5498           Don't use GST_CAT_EVENT here for logging, it makes no sense.
5499
5500 2007-12-13  Sebastian Dröge  <slomo@circular-chaos.org>
5501
5502         * tools/gst-inspect.c: (print_element_properties_info):
5503           Add support for GstFraction properties.
5504
5505 2007-12-12  Tim-Philipp Müller  <tim at centricular dot net>
5506
5507         * Makefile.am:
5508           Add check-exports target and run it as part of 'make check'
5509           (see #499140 and #493983).
5510
5511         * gst/gst_private.h:
5512         * gst/gstelementfactory.h:
5513         * gst/gstghostpad.c: (gst_proxy_pad_class_init):
5514         * gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
5515           (_priv_gst_in_valgrind):
5516         * gst/gstinfo.h: (GstLogFunction):
5517         * gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
5518           (gst_type_find_register):
5519         * gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
5520           (gst_type_find_factory_get_type):
5521         * libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
5522           (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
5523           (gst_controller_new_valist), (gst_controller_new_list),
5524           (_gst_controller_dispose), (_gst_controller_class_init):
5525         * libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
5526         * libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
5527           (GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
5528           (gst_object_get_controller), (gst_object_set_controller),
5529           (gst_object_suggest_next_sync), (gst_object_sync_values),
5530           (gst_object_set_control_source), (gst_object_get_control_source),
5531           (gst_object_get_value_arrays), (gst_object_get_value_array),
5532           (gst_object_get_control_rate), (gst_object_set_control_rate):
5533         * libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
5534         * libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
5535           Make some functions that should be static static; rename some
5536           private symbols so that they don't get exported; add some FIXME
5537           comments so we can move accidentally exported functions into
5538           our private section in 0.11.
5539
5540         * win32/common/libgstreamer.def:
5541           Add gst_utils_get_timestamp().
5542
5543 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
5544
5545         * gst/gstvalue.c:
5546         * gst/gstvalue.h:
5547           Add more missing "Since:" tags to docs.
5548
5549 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
5550
5551         * gst/gstutils.c:
5552           Add mising "Since:" to docs.
5553
5554 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5555
5556         * gst/gstplugin.c:
5557           Include "glib-compat-private.h" to fix the build on system with
5558           glib < 2.10. Fixes #503131.
5559
5560 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5561
5562         * gst/gstutils.c:
5563         * gst/gstutils.h:
5564           Actually its not PURE as it gets the time from elsewhere.
5565
5566 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5567
5568         * docs/gst/gstreamer-sections.txt:
5569         * gst/gstclock.h:
5570         * gst/gstdebugutils.c:
5571         * gst/gstinfo.c:
5572         * gst/gstutils.c:
5573         * gst/gstutils.h:
5574         * libs/gst/base/gstbasesink.c:
5575         * tools/gst-launch.c:
5576           Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
5577           uses as we don't have HAVE_POSIX_TIMERS in public headers.
5578           Thanks Tim for spotting.
5579           API: gst_util_get_timestamp
5580
5581 2007-12-09  Sebastian Dröge  <slomo@circular-chaos.org>
5582
5583         * configure.ac:
5584           Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.
5585
5586 2007-12-08  Tim-Philipp Müller  <tim at centricular dot net>
5587
5588         * gst/gststructure.c: (gst_structure_validate_name),
5589           (gst_structure_new_valist), (gst_structure_parse_value),
5590           (gst_structure_from_string):
5591           Don't crash in _from_string() if the structure name is not valid
5592           (fixes #501560).  Allow structure names to start with a number
5593           again (this apparently broke the ubuntu codec installer).
5594
5595         * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
5596           (GST_START_TEST):
5597           Add unit test for the crash; update unit tests for new behaviour.
5598
5599 2007-12-03  Wim Taymans  <wim.taymans@gmail.com>
5600
5601         * gst/gstutils.c:
5602         Clarify gst_element_get_compatible_pad() documentation.
5603         Fixes #500919.
5604
5605 2007-12-02  Sebastian Dröge  <slomo@circular-chaos.org>
5606
5607         * tests/check/Makefile.am:
5608           Don't forget to dist {gst,libs}/struct_hppa.h.
5609
5610 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5611
5612         * libs/gst/base/gstbasesink.c:
5613           Use new API to get elapsed time.
5614
5615 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5616
5617         * gst/gstdebugutils.c:
5618         * gst/gstinfo.c:
5619           Fix wrong order of args in GST_CLOCK_DIFF() usage.
5620
5621         * tools/gst-launch.c:
5622           Use new API to get elapsed time.
5623
5624 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5625
5626         * docs/gst/gstreamer-sections.txt:
5627         * gst/gstclock.h:
5628         * gst/gstdebugutils.c:
5629         * gst/gstinfo.c:
5630           Rename new API + ChangeLog surgery to remove old name from last entry..
5631
5632 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5633
5634         * docs/gst/gstreamer-sections.txt:
5635         * gst/gstclock.h:
5636         * gst/gstdebugutils.c:
5637         * gst/gstinfo.c:
5638           Now hide the different clock stuff behind a macro.
5639
5640 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5641
5642         * configure.ac:
5643         * gst/gstdebugutils.c:
5644         * gst/gstinfo.c:
5645           Apply the posix-timer check from #361155. Conditionally use the posix
5646           timer for logging. This gives better timestamp precission, less
5647           overhead and no ntp jitter.
5648
5649 2007-11-28  Sebastian Dröge  <slomo@circular-chaos.org>
5650
5651         * gst/gstminiobject.c: (gst_mini_object_get_type),
5652         (gst_mini_object_class_init), (gst_mini_object_copy_default),
5653         (gst_mini_object_finalize), (gst_mini_object_copy),
5654         (gst_mini_object_is_writable), (gst_mini_object_make_writable),
5655         (gst_mini_object_replace), (param_mini_object_validate),
5656         (gst_param_spec_mini_object_get_type):
5657         Some cleanup and checking against invalid function parameters.
5658
5659 2007-11-28  Wim Taymans  <wim.taymans@gmail.com>
5660
5661         * docs/gst/gstreamer-sections.txt:
5662         * gst/gstclock.h:
5663         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
5664         (gst_systemclock_suite):
5665         Start merging in the easy bits of #361155, the monotonic clock patch.
5666         This one adds a few handy macros with docs and a testsuite.
5667
5668 2007-11-27  Wim Taymans  <wim.taymans@gmail.com>
5669
5670         * plugins/elements/gstfilesink.c: (gst_file_sink_event):
5671         Be a bit smarter when seeking, like, don't try to do a seek when it's
5672         not needed. This avoids errors when the file is not seekable.
5673         Fixes #499771.
5674
5675 2007-11-26  Stefan Kost  <ensonic@users.sf.net>
5676
5677         * docs/gst/gstreamer-docs.sgml:
5678         * docs/gst/gstreamer-sections.txt:
5679         * docs/gst/gstreamer.types.in:
5680         * gst/Makefile.am:
5681         * gst/gst.h:
5682         * gst/gstpreset.c:
5683         * gst/gstpreset.h:
5684         * plugins/elements/gstqueue.c:
5685           Due to popular request remove preset interface again. :-(.
5686
5687 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5688
5689         * tools/gst-inspect.c:
5690           Print 'default value' for enums and flags too.
5691
5692 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5693
5694         * docs/random/ensonic/profiling.txt:
5695           More ideas.
5696
5697         * gst/gstbin.c:
5698           Fix typo and give better log output.
5699
5700         * gst/gstdebugutils.c:
5701         * gst/gstdebugutils.h:
5702           More ideas, make graphs a bit smaller and fix param name in macro.
5703
5704 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5705
5706         * gst/gstpreset.c:
5707           Try harder to use the return value from fgets().
5708
5709 2007-11-21  Stefan Kost  <ensonic@users.sf.net>
5710
5711         * gst/gstpreset.c:
5712           For theses two fgets we handle the error below.
5713
5714 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
5715
5716         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
5717         Only send upstream events upstream. Fixes #498746.
5718
5719 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
5720
5721         Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5722
5723         * plugins/elements/gstidentity.c: (gst_identity_class_init),
5724         (gst_identity_init), (gst_identity_transform_ip),
5725         (gst_identity_set_property), (gst_identity_get_property):
5726         * plugins/elements/gstidentity.h:
5727         Add property to disable handoff signal emission. Fixes #498694.
5728         API: GstIdentity::signal-handoffs
5729
5730 2007-11-21  Julien Moutte  <julien@fluendo.com>
5731
5732         * docs/faq/gst-uninstalled: Yet another missing library for the
5733         uninstalled script (fft)
5734
5735 2007-11-21  Jan Schmidt  <jan.schmidt@sun.com>
5736
5737         * docs/faq/developing.xml:
5738         Add a question about how to submit new translations.
5739
5740         * docs/random/release:
5741         Update the contact email address for the Translation Project
5742
5743         * plugins/elements/gstfdsrc.c:
5744         The parent_class for fdsrc is pushsrc, not GstElement.
5745
5746 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
5747
5748         * gst/gstpreset.c:
5749           Plug a leak and fix saving.
5750
5751 2007-11-20  Sebastian Dröge  <slomo@circular-chaos.org>
5752
5753         * docs/gst/gstreamer-sections.txt:
5754         Add new gst_preset__get_property_names() function to the docs
5755         to fix the build.
5756
5757 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
5758
5759         * gst/gstpreset.c:
5760         * gst/gstpreset.h:
5761           Change _get_preset_names API to return a strv with copies. Add
5762           _get_property_names to allow implementations to filter and provide
5763           good default implementation.
5764
5765 2007-11-20  Julien MOUTTE  <julien@moutte.net>
5766
5767         * docs/faq/gst-uninstalled: Add another library to the uninstalled
5768         script (sdp).
5769
5770 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
5771
5772         * gst/gstpreset.c:
5773           More cleanups, docs, and TODOs from comments that now slowly come in.
5774
5775 2007-11-19  Julien MOUTTE  <julien@moutte.net>
5776
5777         * docs/faq/gst-uninstalled: Add new base libraries in the LD 
5778         search path.
5779
5780 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
5781
5782         * gst/gstpreset.c:
5783           Fix bogus warning and make the property type specific code more
5784           similar.
5785
5786 2007-11-19  Julien MOUTTE  <julien@moutte.net>
5787
5788         * gst/gstpreset.c: (gst_preset_default_create_preset): Make
5789         it build on OS X.
5790
5791 2007-11-19  Wim Taymans  <wim.taymans@gmail.com>
5792
5793         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5794         (gst_bin_add_func), (gst_bin_remove_func),
5795         (gst_bin_change_state_func), (gst_bin_continue_func):
5796         Change email, cleanups add some more debug and comments.
5797         Also set bus and clock on new elements when the pipeline was in error.
5798
5799 2007-11-18  Stefan Kost  <ensonic@users.sf.net>
5800
5801         * gst/gstbin.c:
5802         * gst/gstdebugutils.c:
5803           Fix build with --disable-gst-debug. Fixes #497859.
5804           Spotted by Sameer Naik.
5805
5806 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
5807
5808         * gst/gstevent.c:
5809           Little documentation improvment.
5810
5811         * gst/gstpreset.c:
5812           More TODO cleanups. Remove c++ comments.
5813
5814         * libs/gst/controller/gstcontroller.c:
5815           Add TODO and use quark from static string.
5816
5817         * tests/check/gst/gstmessage.c:
5818         * tests/check/gst/gststructure.c:
5819           Use quark from static string.
5820
5821 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
5822
5823         * gst/gstpreset.c:
5824           Add some comments and TODOs.
5825
5826         * gst/gstpreset.h:
5827           Add padding for future changes.
5828
5829         * plugins/elements/gstqueue.c:
5830           Implement the iface.    
5831
5832 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
5833
5834         * docs/gst/gstreamer-docs.sgml:
5835         * docs/gst/gstreamer-sections.txt:
5836         * docs/gst/gstreamer.types.in:
5837         * gst/Makefile.am:
5838         * gst/gst.h:
5839         * gst/gstpreset.c:
5840         * gst/gstpreset.h:
5841           Add the preset interface (Fixes #396779). Do some doc cleanups along.
5842
5843 2007-11-16  Jan Schmidt  <jan.schmidt@sun.com>
5844
5845         * configure.ac:
5846
5847         Back to CVS
5848
5849 === release 0.10.15 ===
5850
5851 2007-11-15  Jan Schmidt <jan.schmidt@sun.com>
5852
5853         * configure.ac:
5854           releasing 0.10.15, "October"
5855
5856 2007-11-14  Jan Schmidt  <jan.schmidt@sun.com>
5857
5858         * win32/vs6/libgstreamer.dsp:
5859         Convert line endings back to DOS.
5860
5861 2007-11-13  Stefan Kost  <ensonic@users.sf.net>
5862
5863         * docs/design/draft-tagreading.txt:
5864         * docs/random/ensonic/profiling.txt:
5865         Update fast tagreading draft and performance profiling ideas.
5866
5867 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
5868
5869         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
5870         Don't hold the object lock when unreffing a buffer because it could
5871         cause a deadlock when the finalize function wants to grab the object
5872         lock too. Fixes #495133.
5873
5874 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
5875
5876         * gst/gstsegment.c: (gst_segment_set_newsegment_full),
5877         (gst_segment_to_stream_time), (gst_segment_to_running_time):
5878         Also accumulate time correctly when doing reverse playback. Fixes
5879         #488201,
5880         When converting to running and stream time, use default values for
5881         start/stop/time/accum when comparing different formats. Fixes #494245.
5882
5883         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
5884         Do running/stream time in TIME format.
5885
5886         * tests/check/gst/gstsegment.c: (GST_START_TEST),
5887         (gst_segment_suite):
5888         2 new unit tests for segment accumulation.
5889
5890 2007-11-07  Tim-Philipp Müller  <tim at centricular dot net>
5891
5892         * gst/gst.c: (init_pre):
5893         * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
5894           (_gst_debug_bin_to_dot_file):
5895           Move getenv() back into gst_init, so everyone can live happily
5896           ever after. Make sure the symbol isn't exported though.
5897
5898 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5899
5900         Patch by: Sebastien Moutte  <sebastien moutte net>
5901
5902         * win32/common/gstenumtypes.c:
5903         * win32/common/gstenumtypes.h:
5904           Update enum types.
5905
5906         * win32/vs6/libgstreamer.dsp:
5907           Update vs6 project files (#494343).
5908
5909 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5910
5911         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
5912         (gst_base_src_perform_seek), (gst_base_src_default_event),
5913         (gst_base_src_set_flushing), (gst_base_src_activate_push),
5914         (gst_base_src_activate_pull):
5915         Unify flushing code, remove some old unlock code that is no longer used.
5916         Take the streaming lock when seeking to avoid races. Fixes #492729.
5917         Added some more comments.
5918
5919 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5920
5921         * gst/gst.c: (_gst_disable_segtrap):
5922           Make  _gst_disable_segtrap static, it's only used in gstplugin.c and
5923           we can use gst_segtrap_is_enabled() there now that we have that API.
5924           Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
5925           to do the getenv here (and export the variable).
5926
5927         * gst/gstdebugutils.c: (debug_dump_element),
5928           (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
5929           Don't use VLAs which is a C99ism and throws off MSVC (#493983).
5930
5931         * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
5932           (gst_debug_log_default):
5933           Rename _gst_info_start_time to priv_gst_info_start_time so it
5934           doesn't get exported (was never in any header).
5935
5936         * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
5937           (gst_plugin_loading_mutex):
5938           Make static mutex gst_plugin_loading_mutex really static (was never
5939           in any header), and use gst_segtrap_is_enabled() instead of
5940           _gst_disable_segtrap.
5941
5942         * gst/gsttrace.c: (_gst_trace_default):
5943           Make local _gst_trace_default static (was never in any header).
5944
5945 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5946
5947         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
5948
5949         * win32/common/libgstbase.def:
5950         * win32/common/libgstcontroller.def:
5951         * win32/common/libgstdataprotocol.def:
5952         * win32/common/libgstnet.def:
5953         * win32/common/libgstreamer.def:
5954           Add more missing symbols, remove some duplicates, and sort
5955           as the 'sort' command sorts it (partially fixes #493983).
5956
5957 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5958
5959         * gst/gstelement.c: (gst_element_set_state_func):
5960         Only change the state cookie if a different state was set on the
5961         element. See #492729.
5962
5963 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5964
5965         * gst/gstvalue.c:
5966           Remove unused and uninitialised type variables that were still
5967           exported for some reason (they were never in any header files
5968           though).
5969
5970 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5971
5972         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
5973         (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
5974         (gst_base_sink_event), (gst_base_sink_get_position_last),
5975         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
5976         (gst_base_sink_change_state):
5977         Don't try to report a 0 position when we don't know, return -1 and FALSE
5978         instead. This mostly happens when we are prerolling.
5979         Make sure we can report the right position before we post the ASYNC_DONE
5980         message so that a message handler can query position without races.
5981
5982         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
5983         (async_done_handoff), (async_done_func), (send_buffer),
5984         (async_done_eos_func), (gst_sinks_suite):
5985         Add two tests for the above.
5986
5987 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5988
5989         * MAINTAINERS:
5990         Update with new email address.
5991
5992         * docs/design/part-TODO.txt:
5993         Add some more info about future pad-block and negotiation changes.
5994
5995         * docs/design/part-buffering.txt:
5996         Add some ideas about buffering reporting.
5997
5998 2007-11-06  Jan Schmidt  <jan.schmidt@sun.com>
5999
6000         * tests/check/gst/gstobject.c:
6001         Disable silly racy test that always fails on this combination of CPU
6002         and kernel.
6003
6004 2007-11-03  Tim-Philipp Müller  <tim at centricular dot net>
6005
6006         Patch by: Murray Cumming  <murrayc@murrayc.com>
6007
6008         * gst/gstobject.c:
6009           Corrected the registration of the parent-set and parent-unset
6010           signals: The parameter is a GstObject, not a GObject (#493134).
6011
6012 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6013
6014         * gst/gst_private.h:
6015         * gst/gstbuffer.h:
6016         * gst/gstevent.h:
6017         * gst/gstformat.h:
6018         * gst/gstmessage.h:
6019         * gst/gstplugin.h:
6020         * gst/gstquery.h:
6021         * gst/gsttaglist.h:
6022         * gst/gstvalue.h:
6023           Move declaration of private _gst_foo_initialize() functions into
6024           our private header file where they should have been all along.
6025
6026 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6027
6028         * docs/plugins/gstreamer-plugins-sections.txt:
6029         * gst/gstdebugutils.h:
6030         * gst/gstxml.h:
6031         * plugins/elements/gstqueue.c:
6032           gtk-doc fixes; trailing-comma-in-enum fix.
6033
6034 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6035
6036         * gst/gst.c: (gst_deinit):
6037           Clean up on deinit (not the external ones though, doesn't seem to be
6038           needed for some reason).
6039
6040 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
6041
6042         * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
6043           Remove __declspec(dllimport) for MSVC that was copied over into core
6044           from a plugin, obviously without ever having been tested (note the
6045           single underscore in _declspec in the initial commit), and that doesn't
6046           really make sense.  See #492077.
6047
6048 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
6049
6050         * gst/gst.c: (init_post):
6051         * gst/gstevent.c: (_gst_event_initialize):
6052         * gst/gstquery.c: (_gst_query_initialize):
6053         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
6054           g_type_class_ref() other types as well, see #349410 and #64764.
6055
6056         * gst/gstbuffer.c: (_gst_buffer_initialize):
6057         * gst/gstmessage.c: (_gst_message_initialize):
6058           Simplify existing g_type_class_ref().
6059
6060 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
6061
6062         * gst/gstformat.c: (_gst_format_initialize):
6063           g_type_class_ref() our GstFormat type to make sure we avoid the
6064           thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
6065           bug #64764. Should fix intermittent tee unit test failures (#474823).
6066
6067 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
6068
6069         * tests/check/elements/tee.c: (test_num_buffers):
6070           Simplify, simplify, simplify - or not.  Rewrite unit test
6071           not to use gst_parse_launch(); allow N sub-streams. Increasing
6072           the number of sub-streams seems to reproduce #474823 more easily.
6073
6074 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
6075
6076         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
6077
6078         * gst/gsttrace.c:
6079         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
6080         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
6081         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
6082           Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
6083           starting with 2.14.0, GLib won't provide a pipe() macro any longer,
6084           so use _pipe() directly (#492077).
6085
6086         * win32/common/dirent.c: (_treaddir):
6087           Add a couple of casts to make it build without warnings with MSVC.
6088
6089         * win32/common/libgstreamer.def:
6090           Add some more symbols that need to be exported.
6091
6092 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
6093
6094         * tests/examples/metadata/read-metadata.c: (message_loop):
6095           Use _KEEP as merge mode rather than _KEEP_ALL, so tags
6096           arriving in a second or third tag message are added to
6097           the tag list as well.
6098
6099 2007-10-31  Stefan Kost  <ensonic@users.sf.net>
6100
6101         * libs/gst/base/gstbasesrc.c:
6102           Its "Since:" and not "@Since:". And remove an superflous cast.
6103
6104 2007-10-30  Wim Taymans  <wim.taymans@gmail.com>
6105
6106         * docs/libs/gstreamer-libs-sections.txt:
6107         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6108         (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
6109         (gst_base_sink_get_property), (gst_base_sink_render_object),
6110         (gst_base_sink_preroll_object),
6111         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
6112         (gst_base_sink_change_state):
6113         * libs/gst/base/gstbasesink.h:
6114         Add a new last-buffer property that contains the last buffer used in
6115         basesink for preroll or rendering. useful for making snapshots.
6116         API: gst_base_sink_get_last_buffer()
6117         API: GstBaseSink::last-buffer
6118
6119 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
6120
6121         * docs/gst/running.xml:
6122         * gst/gst.c:
6123         * gst/gstdebugutils.c:
6124         * gst/gstdebugutils.h:
6125         * tools/gst-launch.c:
6126           Improve bin graph dumping, by using the envvar to specify a path.
6127           Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
6128
6129 2007-10-29  Tim-Philipp Müller  <tim at centricular dot net>
6130
6131         * plugins/elements/gsttypefindelement.c:
6132           (gst_type_find_element_handle_event),
6133           (gst_type_find_element_activate):
6134           Post special error message if we can't determine the type of a stream
6135           because it's empty.
6136
6137 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
6138
6139         * docs/gst/running.xml:
6140         * gst/gstdebugutils.c:
6141           Document new env-var. Add one log-line after dumpng a graph.
6142
6143 2007-10-26  Tim-Philipp Müller  <tim at centricular dot net>
6144
6145         * configure.ac:
6146           Ugly hack to put the (recently removed and non-portable, apparently)
6147           -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
6148           GNU ld, because without that 'make check' fails miserably on my debian
6149           stable box.  Someone with more knowledge of linker intricacies and
6150           portability issues than me fix this properly please.
6151
6152 2007-10-25  Wim Taymans  <wim.taymans@gmail.com>
6153
6154         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
6155         Reset last seen position after flushing so that we don't report the old
6156         position anymore.
6157
6158 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
6159
6160         * gst/gstelementfactory.c: (gst_element_register):
6161         * gst/gsturi.h:
6162         Patch from Alessandro Decina adding get_type_full and
6163         get_protocols_full private vfuncs to the URIHandler interface
6164         to allow bindings to support creating URI handlers. 
6165         Partially fixes: #339279
6166         API: GstURIHandlerInterface::get_type_full
6167         API: GstURIHandlerInterface::get_protocols_full
6168
6169 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
6170
6171         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
6172         (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
6173         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
6174         Make it so that pads are considered linked until a buffer is pushed
6175         and discovered otherwise. This avoids problems with decodebin2 hanging
6176         after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
6177         case.
6178
6179         Make sure we lock the multiqueue when updating the max-size properties.
6180         
6181         Fix a crash on Solaris in a debug statement in get_request_pad that
6182         passes a NULL string to GST_DEBUG. 
6183
6184         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
6185         (run_output_order_test):
6186         Fix the test to allow the first buffer on not-linked pads to come out
6187         of sequence while multiqueue discovers that they are not-linked.
6188
6189 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
6190
6191         * configure.ac:
6192         * libs/gst/check/Makefile.am:
6193         Use a custom export symbol regex for libgstcheck, as it needs
6194         to export symbols that don't match the standard GStreamer gst_*
6195         pattern, and  --export-dynamic is not portable (only works on 
6196         GNU ld)
6197
6198         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
6199         (gst_check_setup_sink_pad):
6200         Make sure to pass a message parameter to the fail_* macros.
6201
6202         * tests/check/gst/gstinfo.c: (GST_START_TEST):
6203         Fix some compiler warnings.
6204
6205 2007-10-25  Tim-Philipp Müller  <tim at centricular dot net>
6206
6207         * tests/check/gst/gststructure.c: (test_to_string):
6208           Disable test that checks that white spaces are not allowed
6209           in structure names or field names, since we need to
6210           support that for now for backwards compatibility reasons.
6211
6212 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
6213
6214         * docs/gst/gstreamer-sections.txt:
6215         * gst/gsttaglist.c:
6216         * gst/gsttaglist.h:
6217           API: add GST_TAG_ARTIST_SORTNAME
6218           API: add GST_TAG_ALBUM_SORTNAME
6219           API: add GST_TAG_TITLE_SORTNAME
6220           Add tag variants for sorting (#414539).
6221
6222 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
6223
6224         * gst/gststructure.c:
6225           Also allow white space for names so we don't break
6226           backwards compatibility.
6227
6228 2007-10-22  Wim Taymans  <wim.taymans@gmail.com>
6229
6230         * docs/design/part-TODO.txt:
6231         * docs/design/part-segments.txt:
6232         * docs/design/part-streams.txt:
6233         Small updates.
6234
6235 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
6236
6237         * docs/gst/gstreamer-sections.txt:
6238          Fixed documentation from my previous commit (added new API add
6239          gst_value_set_structure(), add gst_value_get_structure() and
6240          GST_VALUE_HOLDS_STRUCTURE).
6241
6242 2007-10-22  Stefan Kost  <ensonic@users.sf.net>
6243
6244         * gst/gstdebugutils.c:
6245           Reflow code to fix uninitialized variable warning.
6246
6247 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
6248
6249         * gst/gstcaps.c: (gst_caps_to_string),
6250         (gst_caps_from_string_inplace):
6251         * gst/gststructure.c: (gst_structure_get_abbrs),
6252         (gst_structure_to_string), (gst_structure_from_string):
6253         * gst/gstvalue.c: (gst_value_set_structure),
6254         (gst_value_get_structure), (gst_value_serialize_structure),
6255         (gst_value_deserialize_structure), (_gst_value_initialize):
6256         * gst/gstvalue.h:
6257         * tests/check/gst/gststructure.c: (GST_START_TEST),
6258         (gst_structure_suite):
6259         * tests/check/gst/gstvalue.c: (GST_START_TEST):
6260          Added GstStructure to gst_value_table and its related functions.
6261          Changed gst_structure_to_string to print ';' in the end.
6262          Changed gst_caps_to_string to not print ';' beteween its
6263          fields (structures) anymore and remove the lastes ';' from latest
6264          structure. Now it is possible to have nested structures.
6265          In addition, backward compatibilty is assured by accepting '\0' as
6266          end delimiter. Fixes: #487969.
6267          API: add gst_value_set_structure()
6268          API: add gst_value_get_structure()
6269          API: add GST_VALUE_HOLDS_STRUCTURE
6270
6271 2007-10-19  Tim-Philipp Müller  <tim at centricular dot net>
6272
6273         * gst/gstbus.c:
6274           When no GSource callback has been set up, tell developer
6275           to use a function that actually exists.
6276
6277 2007-10-17  Stefan Kost  <ensonic@users.sf.net>
6278
6279         * docs/gst/gstreamer-sections.txt:
6280         * gst/Makefile.am:
6281         * gst/gst.c:
6282         * gst/gst.h:
6283         * gst/gstdebugutils.c:
6284         * gst/gstdebugutils.h:
6285         * gst/gstinfo.c:
6286         * gst/gstinfo.h:
6287         * tools/gst-launch.c:
6288           Allow dumping pipelines as dot graphs. Fixes #456573.
6289
6290 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6291
6292         * gst/gststructure.c:
6293           Allow '+' as well, it can be part of media or mime types
6294           such as image/svg+xml.
6295
6296 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6297
6298         * docs/gst/gstreamer-sections.txt:
6299         * gst/gstbus.c:
6300         * gst/gstbus.h:
6301           API: add gst_bus_pop_filtered
6302           API: add gst_bus_timed_pop_filtered
6303           Two new functions for waiting for specific message types on the
6304           bus for a specified amount of time without iterating any main
6305           loops or main contexts.
6306
6307         * tests/check/gst/gstbus.c:
6308           Some tests for the new functions.
6309
6310 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6311
6312         * docs/libs/gstreamer-libs-sections.txt:
6313           Make gtk-doc ignore stuff it should ignore.
6314
6315 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6316
6317         * libs/gst/check/gstcheck.c:
6318         * libs/gst/check/gstcheck.h:
6319           Allow runtime selection of unit tests to run via the GST_CHECKS
6320           environment variable (test case function names, comma-separated).
6321
6322 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
6323
6324         * gst/gststructure.c:
6325         * tests/check/gst/gststructure.c:
6326           Revert serialisation change and constrain structure-names after
6327           consensus on irc. Update api documentation to reflect the change.
6328
6329 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
6330
6331         * gst/gststructure.c:
6332           Improve serialization and fix tests.
6333
6334         * tests/check/gst/gststructure.c:
6335           Add another test that covers why I actually did the previous structure
6336           change.
6337
6338 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
6339
6340         * tools/gst-inspect.c: (print_element_info):
6341         Don't crash when inspecting an element.
6342
6343 2007-10-15  Tim-Philipp Müller  <tim at centricular dot net>
6344
6345         * tests/check/gst/gststructure.c:
6346           Add unit test for escaping of structure name when serialising
6347           and deserialising to/from strings.
6348
6349 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
6350
6351         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
6352         (gst_single_queue_new):
6353         * plugins/elements/gstqueue.c: (gst_queue_init),
6354         (gst_queue_push_one):
6355         Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
6356         upstream is tricked into thinking it can suggest a format downstream
6357         while downstream does not support that format. The real problem is that
6358         core calls acceptcaps when pushing a buffer with new caps, for which we
6359         do a little workaround by setting the caps on the srcpad ourselves
6360         before pushing the buffer (until this is figured out). Fixes #486758.
6361
6362 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6363
6364         * gst/gststructure.c:
6365         * gst/gstvalue.c:
6366           Add some more comments and debug output. Quote structure name to fix
6367           deserialisation of some strings.
6368
6369 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6370
6371         * gst/gstbuffer.h:
6372           Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
6373           on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
6374
6375 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6376
6377         * tools/gst-inspect.c:
6378           Save approx. 400 1 byte allocs when printing. Use API to acces element
6379           details.
6380
6381         * tools/gst-run.c:
6382           Avoid a strdup.
6383
6384         * tools/gst-xmlinspect.c:
6385           Use API to acces element details.
6386
6387 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6388
6389         * gst/gstinfo.c:
6390           Fix some spelling errors.
6391
6392 2007-10-14  Wim Taymans  <wim.taymans@gmail.com>
6393
6394         * gst/gstbin.c: (bin_handle_async_done):
6395         Correctly set the next state if all of our async children commited their
6396         state. This makes sure we can actually cancel the state change in
6397         progress. Fixes a regression in Rhythmbox when seeking.
6398
6399 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
6400
6401         * gst/gstbin.c:
6402           Don't shadow local variable.
6403
6404         * gst/gstinfo.c:
6405           Don't shadow global function name.
6406
6407 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
6408
6409         * gst/gstelementfactory.c:
6410         * gst/gstpluginfeature.c:
6411         * gst/gstpluginfeature.h:
6412         * gst/gstregistrybinary.c:
6413         * gst/gstregistryxml.c:
6414         * gst/gsttypefind.c:
6415           Use already-interned string for the private GstPluginFeature
6416           plugin_name field.
6417
6418 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6419
6420         * docs/libs/gstreamer-libs-sections.txt:
6421           Add new API to docs; fixes the build.
6422
6423 2007-10-10  Wim Taymans  <wim.taymans@gmail.com>
6424         
6425         Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
6426
6427         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
6428         (gst_base_sink_event):
6429         * libs/gst/base/gstbasesink.h:
6430         Add function to wait for EOS, subclasses can use this to correctly wait
6431         for devices to drain before performing the EOS logic. Fixes #485343.
6432         API: gst_base_sink_wait_eos()
6433
6434 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6435
6436         * gst/gstplugin.h:
6437           Cast description string constants in GST_PLUGIN_DEFINE macros
6438           to a (gchar*) to make C++ code using these macros compile
6439           without warning with g++-4.2 (see #462737).  Even if slightly
6440           ugly, this seems preferable to putting the description strings
6441           into the GLib quark table or making the structure member a
6442           const gchar * and doing casts in core code that allocs and
6443           frees these strings, or requiring a cast in the C++ code.
6444
6445 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6446
6447         * gst/gstinfo.h:
6448           Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
6449           to print the entire class/function signature into the log
6450           file for C++ code.  This only affects C++ code, for C code
6451           everything remains the same.
6452
6453 2007-10-09  Wim Taymans  <wim.taymans@gmail.com>
6454
6455         * gst/gstbin.c: (remove_from_queue):
6456         Work around a problem with pipelines containing (semi)loops until a
6457         proper, more complicated solution is ready. See #475455.
6458
6459 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6460
6461         * gst/gstplugin.c:
6462         * gst/gstplugin.h:
6463         * gst/gstregistrybinary.c:
6464         * gst/gstregistryxml.c:
6465           Put more strings into the GLib quark table. No need to keep
6466           a hundred-something copies of identical version strings,
6467           license strings, package name strings and package origin
6468           strings around. 
6469
6470 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6471
6472         * docs/manual/advanced-dataaccess.xml:
6473           Don't imply that it's okay to unconditionally change
6474           buffer data or buffer metadata in a pad probe callback,
6475           and a bunch of other comments. Fixes #430031.
6476
6477 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6478
6479         * win32/common/gstenumtypes.c:
6480         * win32/common/gstenumtypes.h:
6481         * win32/common/gstversion.h:
6482           Update generated files.
6483
6484 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6485
6486         * docs/manual/advanced-autoplugging.xml:
6487           Prefix section with broken code with a warning (see #342432).
6488
6489 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6490
6491         * docs/manual/appendix-integration.xml:
6492         * docs/manual/basics-init.xml:
6493           Call g_thread_init() before g_option_context_new() to
6494           avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
6495
6496 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6497
6498         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6499         (gst_base_sink_queue_object_unlocked),
6500         (gst_base_sink_queue_object), (gst_base_sink_event),
6501         (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
6502         When we received EOS and are waiting for when to post the EOS message,
6503         our state is prerolled and we should not return ASYNC.
6504         Reorganize some code paths to implement this behavior.
6505
6506         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
6507         (gst_sinks_suite):
6508         Add unit test to verify above EOS fix.
6509
6510 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6511
6512         * plugins/elements/gsttypefindelement.c:
6513         (gst_type_find_element_have_type), (gst_type_find_element_init),
6514         (gst_type_find_element_setcaps), (gst_type_find_element_chain):
6515         Move detecting the input caps of the sinkpad to the setcaps function.
6516         This allows us to update the output caps when we receive new input caps
6517         instead of always using the first detected caps.
6518
6519 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6520
6521         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
6522         (gst_base_sink_get_position):
6523         Don't try to preroll non-async elements after a flush.
6524         Subtract latency form clock times when reporting position.
6525
6526 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6527
6528         * gst/gstpad.c: (gst_pad_pause_task):
6529         * gst/gstutils.c:
6530         Small comment and documentation update.
6531
6532 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6533
6534         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
6535         (gst_base_src_set_live), (gst_base_src_is_live),
6536         (gst_base_src_query_latency), (gst_base_src_perform_seek),
6537         (gst_base_src_default_event), (gst_base_src_wait),
6538         (gst_base_src_do_sync), (gst_base_src_get_range),
6539         (gst_base_src_pad_get_range), (gst_base_src_loop),
6540         (gst_base_src_unlock), (gst_base_src_unlock_stop),
6541         (gst_base_src_set_flushing), (gst_base_src_set_playing),
6542         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6543         (gst_base_src_change_state):
6544         Rework the locking of basesrc in a similar fashion to basesink. We
6545         basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
6546         us to handle live sources and semi live ones much better.
6547         Simplify flushing.
6548         Fix unlocking when seeking, shutting down and pausing in live sources.
6549
6550 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6551
6552         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
6553         Fix compilation again.
6554
6555 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6556
6557         * gst/gstelement.c:
6558           Use meaningful categories for the logs to clean the default one.
6559
6560 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6561
6562         * tests/check/pipelines/cleanup.c:
6563           Print message name and not just number.
6564
6565 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6566
6567         * docs/design/draft-tagreading.txt:
6568           Add some more thoughts.
6569
6570 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6571
6572         * tests/check/pipelines/simple-launch-lines.c:
6573           Print message name and not just number.
6574
6575 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6576
6577         * libs/gst/base/gsttypefindhelper.c:
6578           Speedup typefinding. This is work in progress (see #459862).
6579
6580 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6581
6582         * gst/gstplugin.c:
6583           Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
6584           Spotted by Josep Torra Valles <josep@fluendo.com>.
6585
6586 2007-10-03  Tim-Philipp Müller  <tim at centricular dot net>
6587
6588         * gst/gstclock.h:
6589           Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
6590           field has moved to GstObject.
6591
6592 2007-10-02  Wim Taymans  <wim.taymans@gmail.com>
6593
6594         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
6595         (gst_base_src_get_range), (gst_base_src_change_state):
6596         Call unlock for live sources so that they can't get stuck in _create and
6597         produce a buffer before they are set back to PLAYING.
6598
6599 2007-10-02  Edward Hervey  <bilboed@bilboed.com>
6600
6601         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6602         (gst_queue_locked_dequeue):
6603         Comment the segment-related code... in the PROPER function.
6604         See #482147 and my commit from yesterday.
6605
6606 2007-10-01  Wim Taymans  <wim.taymans@gmail.com>
6607
6608         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
6609         Also initialize the counter that calculates the first timestamp on a
6610         buffer correctly for non-live sources.
6611
6612 2007-10-01  Edward Hervey  <bilboed@bilboed.com>
6613
6614         * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
6615         Disable code that's breaking the current-time-level reporting.
6616         See #482147
6617
6618 2007-09-30  Sebastian Dröge  <slomo@circular-chaos.org>
6619
6620         * docs/gst/gstreamer-sections.txt:
6621         Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
6622         as they shouldn't show up. Fixes the docs build.
6623
6624 2007-09-29  Sebastien Moutte  <sebastien@moutte.net>
6625         
6626         * gst/gstinfo.h:
6627         Add an explicit variable importation needed on VS6 (only for MSC_VER)
6628         Define M_PI which is used in files which are including gstinfo.h. 
6629         VS6 includes doesn't define it.
6630         * win32/common/libgstbase.def:
6631         * win32/common/libgstcontroller.def:
6632         * win32/common/libgstreamer.def:
6633         Add new exported functions and variables.
6634         * win32/vs6/libgstcontroller.dsp:
6635         * win32/vs6/libgstreamer.dsp:
6636         Update the list of files to build.
6637         
6638 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
6639
6640         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6641
6642         * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
6643         (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
6644         (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
6645         Improve debugging. Fixes #480858.
6646
6647 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
6648
6649         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6650
6651         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
6652         First patch of code cleanups, use the macros and right arguments in the
6653         macros to signal and lock the queue. See #480858.
6654
6655 2007-09-26  Wim Taymans  <wim.taymans@gmail.com>
6656
6657         * gst/gstbus.c: (poll_func):
6658         Improve debugging when dealing with _poll().
6659
6660 2007-09-26  Tim-Philipp Müller  <tim at centricular dot net>
6661
6662         * gst/gstregistryxml.c:
6663           Fix memory leak I introduced a few days ago.
6664
6665 2007-09-26  Michael Smith <msmith@fluendo.com>
6666
6667         * gst/gstbuffer.c: (gst_buffer_finalize):
6668           Make it once again possible to free GstBuffers in the default
6669           build.
6670           The poisoning scribbles on parts of the miniobject we need in
6671           order to free it.
6672           Fixes #480341
6673
6674 2007-09-25  Tim-Philipp Müller  <tim at centricular dot net>
6675
6676         * docs/gst/gstreamer-sections.txt:
6677         * gst/gsttaglist.c:
6678         * gst/gsttaglist.h:
6679         API: add GST_TAG_COMPOSER, fixes #459809.
6680
6681 2007-09-24  Sebastian Dröge  <slomo@circular-chaos.org>
6682
6683         * gst/gstplugin.c:
6684         * gst/gstplugin.h:
6685         Add the 3-clause BSD license and the MIT/X11 license to the license
6686         list. Fixes #479784.
6687
6688 2007-09-24  Tim-Philipp Müller  <tim at centricular dot net>
6689
6690         * docs/faq/getting.xml:
6691           Add Q+A about different GStreamer versions (#364056).
6692
6693 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6694
6695         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6696         (gst_base_sink_event), (gst_base_sink_change_state):
6697         Return correct gboolean from query function.
6698
6699 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6700
6701         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6702         (gst_base_sink_event), (gst_base_sink_query),
6703         (gst_base_sink_change_state):
6704         Simplify latency query.
6705         When not synchronizing, we can report latency without querying the peer
6706         element.
6707
6708 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6709
6710         * gst/gstobject.h:
6711         * gst/gstvalue.c:
6712         Fix small typos in the docs.
6713
6714 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6715
6716         * docs/design/draft-latency.txt:
6717         * docs/design/draft-push-pull.txt:
6718         * docs/design/draft-tagreading.txt:
6719         * docs/design/part-MT-refcounting.txt:
6720         * docs/design/part-activation.txt:
6721         * docs/design/part-block.txt:
6722         * docs/design/part-element-source.txt:
6723         * docs/design/part-events.txt:
6724         * docs/design/part-gstbin.txt:
6725         * docs/design/part-gstelement.txt:
6726         * docs/design/part-gstobject.txt:
6727         * docs/design/part-gstpipeline.txt:
6728         * docs/design/part-messages.txt:
6729         * docs/design/part-preroll.txt:
6730         * docs/design/part-push-pull.txt:
6731         * docs/design/part-qos.txt:
6732         * docs/design/part-query.txt:
6733         * docs/design/part-scheduling.txt:
6734         * docs/design/part-seeking.txt:
6735         * docs/design/part-segments.txt:
6736         * docs/design/part-states.txt:
6737         Documentation updates and typo fixes.
6738
6739 2007-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6740
6741         * plugins/elements/gstfakesink.c:
6742           Add some debug text to error message to indicate that
6743           we errored out on request.
6744
6745         * tools/gst-launch.c:
6746           When the state change to PLAYING fails, check for an
6747           error message on the bus and print it.
6748
6749 2007-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6750
6751         translated by: Jorge González González <aloriel@gmail.com>
6752
6753         * po/LINGUAS:
6754         * po/es.po:
6755           Added Spanish translation.
6756
6757 2007-09-21  Wim Taymans  <wim.taymans@gmail.com>
6758
6759         * plugins/elements/gstqueue.c: (gst_queue_push_one):
6760         Fix printf arguments.
6761
6762 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
6763
6764         * tests/check/generic/states.c:
6765           Improved state change unit test.
6766
6767 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
6768
6769         * gst/gstbin.h:
6770           Move priv to the right place.
6771
6772         * gst/gstsystemclock.c:
6773           Add FIXME: and improve log.
6774
6775         * tests/check/Makefile.am:
6776         * tests/examples/manual/Makefile.am:
6777           Work with all types of registries.
6778
6779 2007-09-19  Wim Taymans  <wim.taymans@gmail.com>
6780
6781         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6782         Don't unref the event after pushing it. Fixes #478401.
6783
6784 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
6785
6786         * .cvsignore:
6787         * tests/examples/manual/.cvsignore:
6788           Ignore registries in any format.
6789
6790 2007-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6791
6792         * gst/glib-compat-private.h:
6793           Add compatibility macro for g_intern_string() for
6794           GLib-2.8 (any reason we can't just bump the
6795           requirement to at least 2.10?)
6796
6797         * gst/gstpadtemplate.h:
6798         * gst/gstelementfactory.c:
6799         * gst/gstregistryxml.c:
6800         * gst/gstregistrybinary.c:
6801           Make GstStaticPadTemplate's templ_name field a const gchar * and fix
6802           up the internal code accordingly.  This shouldn't be a problem, since
6803           there is no reason external code could ever assume the string in such
6804           a structure is dynamically allocated unless it did that itself;  the
6805           use of g_strdup() is private to element factories.  The new code also
6806           saves some memory by putting pad template name strings into the GLib
6807           quark table instead of allocating them dynamically.
6808           Declaring this field constant fixes warnings with g++-4.2 when using
6809           the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
6810
6811 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
6812
6813         * gst/gstelementfactory.c:
6814           Release static caps. Fixes #475723.
6815
6816 2007-09-18  Tim-Philipp Müller  <tim at centricular dot net>
6817
6818         * gst/gstinfo.c:
6819         * gst/gstinfo.h:
6820           Make some internal API take const gchar * instead of just
6821           gchar * to avoid compiler warnings with g++-4.2.2 when
6822           passing string constants (partially fixes #478092).
6823
6824 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
6825
6826         * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
6827         A latency query fails when one of the sinks fail.
6828
6829         * gst/gstelement.c: (gst_element_set_base_time):
6830         Improve debugging.
6831
6832 2007-09-17  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
6833
6834         * gst/gstbin.c: (gst_bin_continue_func):
6835         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
6836         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
6837         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
6838
6839         Fix minor compilation warnings shown with Forte.
6840
6841 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
6842
6843         * plugins/elements/gstqueue.c: (apply_buffer),
6844         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
6845         Measure queue level based on the diff between head and tail timestamps
6846         even when pushing the first buffer.
6847
6848 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
6849
6850         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6851         (gst_base_sink_event), (gst_base_sink_change_state):
6852         Sinks that don't preroll can always be queried for the latency.
6853         Don't post ASYNC start when we are not async.
6854
6855 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
6856
6857         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6858         (gst_queue_handle_sink_event), (gst_queue_chain),
6859         (gst_queue_push_one), (gst_queue_handle_src_query),
6860         (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
6861         * plugins/elements/gstqueue.h:
6862         When downstream returns UNEXPECTED from pushing a buffer, don't try to
6863         push more buffers but allow pushing of EOS and NEWSEGMENT.
6864         Add some more debug info here and there. Fixes #476514.
6865
6866 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
6867
6868         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
6869         (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
6870         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
6871         (gst_base_sink_set_flushing), (gst_base_sink_query),
6872         (gst_base_sink_change_state):
6873         Latency query is allowed after we are prerolled. Introduce a new flag
6874         for this and stop abusing other variables.
6875
6876 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6877
6878         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6879         Push OOB events downstream when we get them in send_event. This allows
6880         the application to insert events in the pipeline.
6881         Add some more comments.
6882
6883 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6884
6885         * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
6886         (do_bin_latency), (gst_bin_change_state_func):
6887         * gst/gstpipeline.c: (gst_pipeline_change_state):
6888         Move latency query from GstPipeline to GstBin so that we can also
6889         use it when async-handling is enabled on bins.
6890
6891 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6892
6893         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
6894         (gst_base_src_do_sync), (gst_base_src_change_state):
6895         Update docs.
6896         Clean up the timestamping and syncing code for pseudo live sources.
6897
6898 2007-09-13  Tim-Philipp Müller  <tim at centricular dot net>
6899
6900         Patch by: Steve Fink  <sphink gmail com>
6901
6902         * docs/manual/appendix-checklist.xml:
6903           Mention less -R switch in the section about debug output (#474055).
6904
6905 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6906
6907         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
6908         Queue can latency to the pipeline up to the configured max size in time.
6909         Report this fact in the latency query.
6910
6911 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
6912
6913         Patch by: Sebastien Moutte <sebastien at moutte dot net>
6914
6915         * libs/gst/controller/gstinterpolation.c:
6916         * libs/gst/controller/gstlfocontrolsource.c:
6917         Use gst_guint64_to_gdouble() when converting from a uint64 or
6918         GstClockTime to double to fix the build on win32. Fixes #474371.
6919
6920 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
6921
6922         * gst/gstbuffer.c: (gst_buffer_finalize):
6923         Implement poisoning for GstBuffer if --enable-poisoning is specified.
6924         When finalizing a buffer the complete struct is filled with 0xff,
6925         thus making a use of the buffer after the final unref impossible.
6926
6927 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
6928
6929         * tests/check/libs/controller.c: (GST_START_TEST):
6930         Use fail_unless_equals_int(a, b) instead of
6931         fail_unless_equals (a == b) to get better output on failures.
6932
6933 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
6934
6935         * tests/check/gst/gsturi.c:
6936           Also check for the other file URI variant on win32.
6937
6938 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
6939
6940         * gst/gsturi.c: (gst_uri_get_location):
6941           If there's no hostname, we want to return 'c:/foo/bar.txt'
6942           and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
6943
6944         * tests/check/gst/gsturi.c:
6945           Unit test for the above and a few more things.
6946
6947 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
6948
6949         * docs/design/part-live-source.txt:
6950         Add docs on how live sources should timestamp.
6951
6952         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
6953         Add some more debug info.
6954         For subclasses that are live and like to sync, add aditional startup
6955         latency to sync time and timestamps so that we timstamp according to the
6956         design doc.
6957
6958 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
6959
6960         * gst/gstbuffer.c:
6961           Also do a g_type_class_ref() for the subbuffer type in
6962           the init function.
6963
6964 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
6965
6966         * docs/gst/gstreamer-sections.txt:
6967         * gst/gstpad.c: (gst_pad_peer_query):
6968         * gst/gstpad.h:
6969         Add function to perform a query on the peer of a pad.
6970         API: gst_pad_peer_query()
6971
6972 2007-09-11  Stefan Kost  <ensonic@users.sf.net>
6973
6974         * tests/check/gst/gstsystemclock.c:
6975           Cleanup the test a little (use gst-logging and not g_message). Improve
6976           test to check if a wait reached the target.
6977
6978 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
6979
6980         * docs/libs/gstreamer-libs-sections.txt:
6981           Add new API to docs and fix the build.
6982
6983 2007-09-10  Wim Taymans  <wim.taymans@gmail.com>
6984
6985         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6986         (gst_base_src_init), (gst_base_src_set_do_timestamp),
6987         (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
6988         (gst_base_src_get_property), (gst_base_src_do_sync):
6989         * libs/gst/base/gstbasesrc.h:
6990         Add property to make the basesrc timestamp buffers based on the current
6991         running time.
6992         API: GstBaseSrc::do-timestamp
6993         API: gst_base_src_set_do_timestamp()
6994         API: gst_base_src_get_do_timestamp()
6995
6996 2007-09-08  Tim-Philipp Müller  <tim at centricular dot net>
6997
6998         * docs/random/release:
6999           Really make sure translations are up-to-date before
7000           a release (#465010).
7001
7002 2007-09-07  Sebastian Dröge  <slomo@circular-chaos.org>
7003
7004         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7005         Always destroy the timer, also in error cases.
7006
7007 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
7008
7009         * docs/manual/highlevel-xml.xml:
7010         Fix XML example code. Fixes #472714.
7011
7012 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
7013
7014         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
7015         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
7016         (gst_base_sink_query):
7017         Protect eos and have_preroll with the OBJECT lock so we don't need to
7018         take the PREROLL lock when querying the latency. Fixes #473846.
7019
7020 2007-09-05  Stefan Kost  <ensonic@users.sf.net>
7021
7022         * gst/gstelement.c:
7023           Give some log-messages a category.
7024
7025 2007-09-04  Wim Taymans  <wim.taymans@gmail.com>
7026
7027         * gst/gststructure.c:
7028         (gst_structure_fixate_field_nearest_fraction):
7029         Fix fraction list fixation code. Take the fraction with the smallest
7030         difference with the target instead of the first one in the list.
7031
7032         * tests/check/gst/gststructure.c: (GST_START_TEST),
7033         (gst_structure_suite):
7034         Added test to verify correct fraction list fixation behaviour.
7035
7036 2007-09-02  Tim-Philipp Müller  <tim at centricular dot net>
7037
7038         * win32/common/libgstreamer.def:
7039           Export gst_bus_add_signal_watch too.
7040
7041 2007-08-30  Wim Taymans  <wim.taymans@gmail.com>
7042
7043         * docs/libs/gstreamer-libs-sections.txt:
7044         Add new methods to docs.
7045
7046         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7047         (gst_base_sink_init), (gst_base_sink_set_ts_offset),
7048         (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
7049         (gst_base_sink_get_property), (gst_base_sink_wait_clock):
7050         * libs/gst/base/gstbasesink.h:
7051         Add ts-offset property to fine-tune the synchronisation.
7052         API: GstBaseSink::ts-offset property
7053         API: gst_base_sink_set_ts_offset()
7054         API: gst_base_sink_get_ts_offset()
7055
7056 2007-08-29  Wim Taymans  <wim.taymans@gmail.com>
7057
7058         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7059         (gst_base_sink_init), (gst_base_sink_set_sync),
7060         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
7061         (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
7062         (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
7063         (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
7064         (gst_base_sink_get_property), (gst_base_sink_change_state):
7065         * libs/gst/base/gstbasesink.h:
7066         Add async property to instruct the sink never to inform the parent about
7067         ASYNC state changes, update docs.
7068         Check argument with g_return_* for the public functions.
7069         API: GstBaseSink::async property
7070         API: gst_base_sink_set_async_enabled()
7071         API: gst_base_sink_is_async_enabled()
7072
7073 2007-08-28  Wim Taymans  <wim.taymans@gmail.com>
7074
7075         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
7076         Improve debugging.
7077
7078         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
7079         (gst_base_src_default_query), (gst_base_src_wait),
7080         (gst_base_src_do_sync), (gst_base_src_change_state):
7081         Rearrange some code so that we can add support for measuring the 
7082         startup latency.
7083
7084 2007-08-27  Stefan Kost  <ensonic@users.sf.net>
7085
7086         * docs/random/ensonic/dynlink.txt:
7087           More thoughs on this.
7088
7089         * plugins/elements/gstcapsfilter.c:
7090           Add bugzilla ticket number to FIXME comment.
7091
7092 2007-08-24  Wim Taymans  <wim.taymans@gmail.com>
7093
7094         * docs/design/part-TODO.txt:
7095         * docs/design/part-block.txt:
7096         Update some docs.
7097
7098 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7099
7100         * gst/Makefile.am:
7101           Revert patch which uses $(gst_headers) instead of $^ because it
7102           breaks make dist.
7103
7104 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7105
7106         * tests/check/gst/gstbin.c: (GST_START_TEST):
7107           Fix leaks in the new unit test.
7108
7109 2007-08-23  Tim-Philipp Müller  <tim at centricular dot net>
7110
7111         * gst/gst.c:
7112           Don't use GST_INFO before the debug system is actually initialised
7113           (shouldn't do any harm, but won't print anything either, so we can
7114           just as well remove it).
7115
7116         * gst/gstinfo.h:
7117           GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
7118           compilers that don't support variadic macros (such as MSVC), should
7119           check for debug_level <= __gst_debug_min as well, since that's the
7120           function called from all the level-specific GST_CAT_*_LOG_OBJECT()
7121           inline helper functions. Should improve performance a bit, but also
7122           makes sure uses of GST_INFO et.al are ignored if the debugging
7123           system isn't initialised yet (instead of printing an assertion
7124           failure).
7125
7126 2007-08-23  Stefan Kost  <ensonic@users.sf.net>
7127
7128         patch by: David Nečas <yeti@physics.muni.cz>
7129
7130         * gst/Makefile.am:
7131           Replace some non portable makefile constructs.
7132
7133 2007-08-21  Stefan Kost  <ensonic@users.sf.net>
7134
7135         * common/gtk-doc-plugins.mak:
7136           Grrrrr. Don't remove the types file on make clean.
7137
7138 2007-08-20  Wim Taymans  <wim.taymans@gmail.com>
7139
7140         * tools/gst-launch.1.in:
7141         Add colorspace to example pipeline. Fixes #458274.
7142
7143 2007-08-20  Tim-Philipp Müller  <tim at centricular dot net>
7144
7145         * docs/random/release:
7146           The release manager should run 'make download-po' before making a
7147           release to make sure translations are up-to-date.
7148
7149         * po/LINGUAS:
7150         * po/be.po:
7151         * po/pl.po:
7152         * po/rw.po:
7153           Add some new translations.
7154
7155 2007-08-17  Wim Taymans  <wim.taymans@gmail.com>
7156
7157         * tools/gst-launch.c: (event_loop), (main):
7158         Don´t try to do any state management when a live pipeline posts
7159         buffering messages.
7160         Also make the buffering string translatable.
7161
7162 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
7163
7164         * gst/gstbin.c: (is_eos), (gst_bin_add_func),
7165         (bin_handle_async_start), (gst_bin_handle_message_func):
7166         Improve debugging.
7167         When adding elements, insert messages into the bus of the newly added
7168         element and make sure the element is the source of the message. This
7169         allows the parent bin to intercept the message and do the
7170         right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
7171         messages to the app (which is not allowed).
7172         Update some docs.
7173
7174         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
7175         Fix testsuite so that is does not work around messages that should not
7176         have been posted in the first place.
7177
7178 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
7179
7180         * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
7181         (update_degree), (gst_bin_sort_iterator_next):
7182         Fix annoying bug in the sorted iterator where a sink that is not really
7183         a sink (when it has downstream links) screwed up the iterator.
7184
7185         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7186         Unit test to verify the fix.
7187
7188 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
7189
7190         * gst/gstmessage.h:
7191         Add some more docs for the messages.
7192
7193         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7194         (gst_base_sink_query):
7195         Add some more debugging.
7196
7197         * tools/gst-launch.c: (event_loop):
7198         When interrupting, don't try to set pipeline to PAUSED twice.
7199
7200 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
7201
7202         
7203         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
7204         (bin_handle_async_start), (gst_bin_handle_message_func):
7205         Move ASYNC_START message posting to where it belongs, similar to
7206         async_done. 
7207         Don't post ASYNC_START when we are in error. 
7208         Post ASYNC_START when we added an async element to a bin.
7209
7210 2007-08-14  Julien MOUTTE  <julien@moutte.net>
7211
7212         * gst/gstindex.c: (gst_index_add_association): Fix index entry
7213         generation from vargs. Fixes #466595.
7214
7215 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
7216
7217         * gst/gstbin.c: (gst_bin_element_set_state):
7218         Always change the state of a NO_PREROLL element even if it has ASYNC
7219         elements inside (in case of a bin).
7220
7221         * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
7222         Unit test for this case.
7223
7224 2007-08-13  Stefan Kost  <ensonic@users.sf.net>
7225
7226         * libs/gst/check/gstbufferstraw.c:
7227         * libs/gst/check/gstcheck.h:
7228         * libs/gst/controller/gstcontroller.c:
7229         * libs/gst/controller/gstcontrolsource.h:
7230         * libs/gst/controller/gstlfocontrolsource.h:
7231         * plugins/elements/gstcapsfilter.h:
7232         * plugins/elements/gstfdsink.h:
7233         * plugins/elements/gstfdsrc.h:
7234           Add more missing docs.
7235
7236 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
7237
7238         * gst/gststructure.c:
7239         Add Since tag to docs.
7240
7241 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
7242
7243         * docs/gst/gstreamer-sections.txt:
7244         * gst/gststructure.c: (gst_structure_get_uint):
7245         * gst/gststructure.h:
7246         Add function to get uint from a structure.
7247         API: gst_structure_get_uint()
7248
7249 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
7250
7251         * gst/gstcaps.c: (gst_caps_set_simple_valist),
7252         (gst_caps_intersect):
7253         Fix proper check for simple caps.
7254
7255 2007-08-10  Stefan Kost  <ensonic@users.sf.net>
7256
7257         * docs/gst/Makefile.am:
7258         * docs/libs/Makefile.am:
7259           Remove cruft and do some cleanups.
7260
7261         * docs/gst/gstreamer-docs.sgml:
7262         * docs/libs/gstreamer-libs-docs.sgml:
7263           Prepare for comming gtkdoc features (rebase against online docs).
7264
7265 2007-08-10  Michael Smith <msmith@fluendo.com>
7266
7267         * docs/gst/gstreamer-sections.txt:
7268           Add gst_registry_add_path to docs.
7269
7270 2007-08-10  Michael Smith <msmith@fluendo.com>
7271
7272         * gst/gstregistry.h:
7273           Add gst_registry_add_path, which was missing from this header.
7274
7275 2007-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7276
7277         * libs/gst/controller/gstlfocontrolsource.c:
7278           Printf format fix.
7279
7280 2007-08-09  Philippe Kalaf <philippe.kalaf@collabora.co.uk>
7281
7282         * libs/gst/base/gstbasesink.c:
7283           Don't send an async_start message during downwards state change if 
7284           target state is less than READY
7285
7286 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7287
7288         translated by: Gabor Kelemen <kelemeng@gnome.hu>
7289
7290         * po/LINGUAS:
7291         * po/hu.po:
7292           Added Hungarian translation.
7293
7294 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7295
7296         * po/fi.po:
7297         * po/it.po:
7298         * po/nl.po:
7299         * po/sv.po:
7300         * po/uk.po:
7301           Updated translations.
7302
7303 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
7304
7305         * libs/gst/controller/Makefile.am:
7306         Dist gstlfocontrolsourceprivate.h
7307
7308 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
7309
7310         * docs/libs/gstreamer-libs.types:
7311         Don't register the enum type gst_lfo_waveform_get_type() in the
7312         .types file - only GObject derived types belong.
7313
7314 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
7315
7316         Patch by: <arenevier at fdn dot fr>
7317
7318         * gst/gstbuffer.h:
7319         Remove comma from last element in enum to avoid compile errors when
7320         using -pendantic. Fixes #464366.
7321
7322 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
7323
7324         * docs/design/part-TODO.txt:
7325         Add some more TODO items
7326
7327         * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
7328         Improve debugging.
7329
7330         * gst/gstcaps.c: (gst_caps_intersect):
7331         Optimize trivial intersection case between identical caps pointers.
7332
7333         * gst/gstelement.c: (gst_element_continue_state),
7334         (gst_element_set_state_func):
7335         * gst/gstpad.c:
7336         Fix spelling and grammar mistakes.
7337
7338 2007-08-05  Stefan Kost  <ensonic@users.sf.net>
7339
7340         * po/POTFILES.in:
7341         * po/POTFILES.skip:
7342           Update POTFILES. Fixes #461599.
7343
7344 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
7345
7346         * gst/gst.c:
7347         Fix confusing typo in debug output.
7348
7349 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
7350
7351         reviewed by: Stefan Kost <ensonic@users.sf.net>
7352
7353         * libs/gst/controller/Makefile.am:
7354         * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
7355         (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
7356         (gst_lfo_control_source_new),
7357         (gst_lfo_control_source_set_waveform),
7358         (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
7359         (gst_lfo_control_source_finalize),
7360         (gst_lfo_control_source_dispose),
7361         (gst_lfo_control_source_set_property),
7362         (gst_lfo_control_source_get_property),
7363         (gst_lfo_control_source_class_init):
7364         * libs/gst/controller/gstlfocontrolsource.h:
7365         * libs/gst/controller/gstlfocontrolsourceprivate.h:
7366         API: Add GstLFOControlSource, a control source that gives values
7367         for specific timestamps based on several periodic waveforms.
7368         Fixes #459717.
7369
7370         * tests/check/libs/controller.c: (GST_START_TEST),
7371         (gst_controller_suite):
7372         * docs/libs/gstreamer-libs-docs.sgml:
7373         * docs/libs/gstreamer-libs-sections.txt:
7374         * docs/libs/gstreamer-libs.types:
7375         Add documentation and unit tests for GstLFOControlSource.
7376
7377 2007-08-03  Jan Schmidt  <thaytan@mad.scientist.com>
7378
7379         * configure.ac:
7380         Back to CVS
7381
7382 === release 0.10.14 ===
7383
7384 2007-08-03  Jan Schmidt <thaytan@mad.scientist.com>
7385
7386         * configure.ac:
7387           releasing 0.10.14, "Breathing Vacuum"
7388
7389 2007-08-02  Tim-Philipp Müller  <tim at centricular dot net>
7390
7391         * gst/gstelement.c: (gst_element_class_set_details_simple):
7392         * gst/gstelement.h:
7393           Make strings passed to gst_element_class_set_details_simple()
7394           constant, as they should be (#462752).
7395
7396 2007-08-02  Wim Taymans  <wim.taymans@gmail.com>
7397
7398         * gst/gstbin.c: (gst_bin_change_state_func),
7399         (bin_handle_async_done), (gst_bin_handle_message_func):
7400         Don't forget about the fact that some element went ASYNC even after a
7401         resync. This makes us post the ASYNC_DONE message correctly.
7402         Fixes #462558.
7403
7404 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
7405
7406         * gst/gstregistry.c: (gst_registry_add_feature):
7407         When replacing an existing feature in the registry, make sure to
7408         continue holding a reference until we've replaced the name string
7409         within our feature hash table. Make sure to use g_hash_table_replace
7410         instead of g_hash_table_insert to ensure the new name string is used
7411         as a key instead of the old one that we're about to free.
7412         Fixes: #462085
7413
7414 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
7415
7416         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7417         (gst_plugin_feature_set_name):
7418         Revert patch from #459466 until after the release and we can work
7419         out exactly what the problem is (if any).
7420
7421 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
7422
7423         * docs/gst/gstreamer-sections.txt:
7424         * gst/gsttaglist.c:
7425         * gst/gsttaglist.h:
7426           API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
7427
7428 2007-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
7429
7430         * docs/libs/Makefile.am:
7431         Include our build-prefix libs and includes before the generic ones to
7432         avoid linking against the installed libs when we want the build-tree
7433         ones.
7434
7435 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
7436
7437         Patch by: Steve Fink  <sphink gmail com>
7438
7439         * docs/pwg/building-testapp.xml:
7440           Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
7441           if people try to build or install the example from the plugin
7442           template against a GStreamer from package using the configure
7443           defaults.
7444
7445 2007-07-25  Tim-Philipp Müller  <tim at centricular dot net>
7446
7447         Patch by: Steve Fink  <sphink gmail com>
7448
7449         * tools/gst-inspect.1.in:
7450           Document --print-all and --print-plugin-auto-install-info command
7451           line options in man page.
7452
7453 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
7454
7455         * docs/gst/gstreamer-sections.txt:
7456         Add docs for new api function.
7457
7458 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
7459
7460         * gst/gstelementfactory.c: (gst_element_factory_has_interface):
7461         * gst/gstelementfactory.h:
7462         API: gst_element_factory_has_interface()
7463         Added method to check if an element factory implements a named
7464         interface.
7465
7466 2007-07-25  Stefan Kost  <ensonic@users.sf.net>
7467
7468         * configure.ac:
7469         * docs/gst/gstreamer.types.in:
7470           Another conditional doc check.
7471
7472         * gst/gstmessage.c:
7473         * gst/gstparamspecs.h:
7474         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7475         * gst/gstvalue.c:
7476         * gst/gstxml.h:
7477           API-doc fixes.
7478
7479 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7480
7481         * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
7482         (gst_registry_binary_load_feature),
7483         (gst_registry_binary_load_plugin),
7484         (gst_registry_binary_read_cache):
7485           Print error just once and with additional info.
7486
7487 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7488
7489         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
7490         (helper_find_suggest), (helper_find_get_length),
7491         (gst_type_find_helper_get_range), (buf_helper_find_suggest),
7492         (gst_type_find_helper_for_buffer):
7493           Cleanup the typefindhelper code and add private doc comments.
7494
7495 2007-07-24  Edward Hervey  <bilboed@bilboed.com>
7496
7497         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7498         (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
7499         Fix capsfilter for cases where the caps set on capsfilter will provide
7500         additional information.
7501         Fixes #449197
7502
7503 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7504
7505         * gst/gsttypefindfactory.c:
7506           Fix docs that recommened wrong function to use.
7507
7508 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7509
7510         * tools/gst-inspect.c: (print_plugin_features):
7511           Also give media-type for typefinders in element output.
7512
7513 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7514
7515         * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
7516         (gst_registry_remove_features_for_plugin_unlocked),
7517         (gst_registry_add_feature), (gst_registry_remove_feature),
7518         (gst_registry_lookup_feature_locked):
7519         * gst/gstregistry.h:
7520           Speed up gst_registry_lookup_feature_locked() by using a hashmap.
7521           Fixes #459501.
7522
7523 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7524
7525         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7526         (gst_plugin_feature_set_name):
7527           Avoid double memory usage for pluginfeature names. Fixes #459466.
7528
7529 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
7530
7531         * gst/gstpad.h:
7532           Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
7533           driving the pipeline may need to explicitly check for NOT_LINKED as
7534           well, since IS_FATAL doesn't cover that.
7535
7536 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
7537
7538         * docs/pwg/advanced-types.xml:
7539           Fix typo and duplicate entry in video formats list.
7540
7541 2007-07-22  Sebastian Dröge  <slomo@circular-chaos.org>
7542
7543         * libs/gst/controller/gstinterpolation.c:
7544         Also round to the nearest int when using cubic interpolation.
7545
7546 2007-07-19  Jan Schmidt  <thaytan@noraisin.net>
7547
7548         * libs/gst/controller/gstinterpolation.c:
7549         When linearly interpolating integer types, round to the nearest int
7550         by adding 0.5. Don't do it for float/double types.
7551         Fixes the failing controller test on my machine, which is somehow
7552         rounding differently than on the buildbots.
7553
7554 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7555
7556         * tools/gst-plot-timeline.py:
7557           Better log parsing (categories can have -). Adjust text vs. lines, so
7558           that they span the same y-range.        
7559
7560 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7561
7562         * docs/random/ensonic/audiobaseclasses.txt:
7563         * docs/random/ensonic/dynlink.txt:
7564         * docs/random/ensonic/profiling.txt:
7565           Save my thoughts.
7566
7567         * docs/random/moving-plugins:
7568           Add note to use g_assert type macros.
7569
7570 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7571
7572         * configure.ac:
7573         * libs/gst/check/Makefile.am:
7574           Add libm check as we use in for plugins.
7575
7576 2007-07-18  Jan Schmidt  <thaytan@noraisin.net>
7577
7578         * gst/gstbin.c: (gst_bin_continue_func):
7579         Check that the state_cookie hasn't changed since the continue_func
7580         was scheduled. Avoids problems where the state changes back to
7581         something it shouldn't be because it was changed in the meantime.
7582
7583 2007-07-17  Stefan Kost  <ensonic@users.sf.net>
7584
7585         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
7586         (gst_registry_binary_save_string),
7587         (gst_registry_binary_save_pad_template),
7588         (gst_registry_binary_save_feature),
7589         (gst_registry_binary_save_plugin),
7590         (gst_registry_binary_load_feature),
7591         (gst_registry_binary_load_plugin),
7592         (gst_registry_binary_read_cache):
7593           Fix memory leak. Be less verbose in the log.
7594
7595 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7596
7597         * tests/check/elements/.cvsignore:
7598         Add file to cvsignore as commanded.
7599
7600 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7601
7602         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
7603         (mq_dummypad_event), (run_output_order_test):
7604         Use a GStaticMutex to protect all cases where libcheck
7605         fail_if/fail_unless macros might be called from multiple threads
7606         simultaneously to avoid errors like:
7607           "check_pack.c:107: :-1081725400:Bad message type arg"
7608
7609 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7610
7611         * tests/check/pipelines/stress.c: (GST_START_TEST):
7612         Make sure we set the pipeline back to the NULL state before
7613         dropping our final reference.
7614
7615 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7616
7617         * tests/check/elements/tee.c: (GST_START_TEST):
7618         Make the tee stress-test a little less stressful so it doesn't just
7619         time out on slow-machines, and remove a small race when it's starting 
7620         up by adding a get_state() call.
7621
7622 2007-07-16  Stefan Kost  <ensonic@users.sf.net>
7623
7624         * gst/gst.c:
7625           Avoid reading registry twice on startup. Fixes #457322.
7626
7627 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
7628
7629         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7630         * pkgconfig/gstreamer-check.pc.in:
7631         Substitute the CFLAGS for libcheck into our .pc file too so that
7632         dependent modules will pick it up properly if libcheck is installed
7633         into some other prefix.
7634
7635 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
7636
7637         * configure.ac:
7638         Revert the pkg-config check for libcheck, since it pulls in the
7639         wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
7640         a proper solution, either from the check project, or something else.
7641
7642 2007-07-12  Stefan Kost  <ensonic@users.sf.net>
7643
7644         * configure.ac:
7645           Use pkg-config to locate check.
7646
7647 2007-07-10  Stefan Kost  <ensonic@users.sf.net>
7648
7649         * gst/gsttaglist.c:
7650           Fix doc syntax.
7651
7652         * gst/gstutils.c:
7653         * gst/gstutils.h:
7654           Add deprecation guards.
7655
7656         * libs/gst/base/gstcollectpads.h:
7657           Don't document object (this is implicitly private).
7658
7659 2007-07-08  Tim-Philipp Müller  <tim at centricular dot net>
7660
7661         * gst/gststructure.c: (gst_structure_parse_value):
7662           When deserialising foo=bar without a type cast, check if it's a
7663           boolean before falling back to a string type, otherwise things like
7664           audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
7665           because the filtercaps end up having a signed=(string)true field,
7666           which causes problems later when intersection caps.
7667
7668         * tests/check/gst/gststructure.c: (GST_START_TEST):
7669           Add a unit test for this.
7670
7671 2007-07-06  Sebastian Dröge  <slomo@circular-chaos.org>
7672
7673         Reviewed by: Stefan Kost <ensonic@users.sf.net>
7674
7675         * libs/gst/controller/Makefile.am:
7676         * libs/gst/controller/gstcontroller.c:
7677         (gst_controlled_property_add_interpolation_control_source),
7678         (gst_controlled_property_new), (gst_controlled_property_free),
7679         (gst_controller_find_controlled_property),
7680         (gst_controller_new_valist), (gst_controller_new_list),
7681         (gst_controller_new), (gst_controller_remove_properties_valist),
7682         (gst_controller_remove_properties_list),
7683         (gst_controller_remove_properties),
7684         (gst_controller_set_property_disabled),
7685         (gst_controller_set_disabled), (gst_controller_set_control_source),
7686         (gst_controller_get_control_source), (gst_controller_get),
7687         (gst_controller_sync_values), (gst_controller_get_value_array),
7688         (_gst_controller_dispose), (gst_controller_get_type),
7689         (gst_controlled_property_set_interpolation_mode),
7690         (gst_controller_set), (gst_controller_set_from_list),
7691         (gst_controller_unset), (gst_controller_unset_all),
7692         (gst_controller_get_all), (gst_controller_set_interpolation_mode):
7693         * libs/gst/controller/gstcontroller.h:
7694         * libs/gst/controller/gstcontrollerprivate.h:
7695         * libs/gst/controller/gstcontrolsource.c:
7696         (gst_control_source_class_init), (gst_control_source_init),
7697         (gst_control_source_get_value),
7698         (gst_control_source_get_value_array), (gst_control_source_bind):
7699         * libs/gst/controller/gstcontrolsource.h:
7700         * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
7701         (gst_object_get_control_source):
7702         * libs/gst/controller/gstinterpolation.c:
7703         (gst_interpolation_control_source_find_control_point_node),
7704         (gst_interpolation_control_source_get_first_value),
7705         (_interpolate_none_get), (interpolate_none_get),
7706         (interpolate_none_get_boolean_value_array),
7707         (interpolate_none_get_enum_value_array),
7708         (interpolate_none_get_string_value_array),
7709         (_interpolate_trigger_get), (interpolate_trigger_get),
7710         (interpolate_trigger_get_boolean_value_array),
7711         (interpolate_trigger_get_enum_value_array),
7712         (interpolate_trigger_get_string_value_array):
7713         * libs/gst/controller/gstinterpolationcontrolsource.c:
7714         (gst_control_point_free), (gst_interpolation_control_source_reset),
7715         (gst_interpolation_control_source_new),
7716         (gst_interpolation_control_source_set_interpolation_mode),
7717         (gst_interpolation_control_source_bind),
7718         (gst_control_point_compare), (gst_control_point_find),
7719         (gst_interpolation_control_source_set_internal),
7720         (gst_interpolation_control_source_set),
7721         (gst_interpolation_control_source_set_from_list),
7722         (gst_interpolation_control_source_unset),
7723         (gst_interpolation_control_source_unset_all),
7724         (gst_interpolation_control_source_get_all),
7725         (gst_interpolation_control_source_get_count),
7726         (gst_interpolation_control_source_init),
7727         (gst_interpolation_control_source_finalize),
7728         (gst_interpolation_control_source_dispose),
7729         (gst_interpolation_control_source_class_init):
7730         * libs/gst/controller/gstinterpolationcontrolsource.h:
7731         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
7732         API: Refactor GstController into the core controller which can take
7733         a GstControlSource for providing actual values for timestamps.
7734         Implement a interpolation control source and use this for backward
7735         compatibility, deprecate a bunch of functions that are now handled
7736         by GstControlSource or GstInterpolationControlSource.
7737         Make it possible to disable the controller completely or only for
7738         specific properties. Fixes #450711.
7739         * docs/libs/gstreamer-libs-docs.sgml:
7740         * docs/libs/gstreamer-libs-sections.txt:
7741         * docs/libs/gstreamer-libs.types:
7742         Add new functions and classes to the docs.
7743         * tests/check/libs/controller.c: (GST_START_TEST),
7744         (gst_controller_suite):
7745         * tests/examples/controller/audio-example.c: (main):
7746         Port unit test and example to the new API and add some new
7747         unit tests.
7748
7749 2007-07-05  Wim Taymans  <wim.taymans@gmail.com>
7750
7751         Patch by: Mark Nauwelaerts <manauw at skynet be>
7752
7753         * plugins/elements/gstmultiqueue.c:
7754         (gst_multi_queue_get_internal_links), (apply_buffer),
7755         (single_queue_overrun_cb), (gst_single_queue_new):
7756         Implement non-default GstPadIntLinkFunction for multiqueue pads so that
7757         the pipeline layout can be tracked correctly. Fixes #453732.
7758
7759 2007-07-05  Stefan Kost  <ensonic@users.sf.net>
7760
7761         * docs/gst/Makefile.am:
7762         * docs/libs/Makefile.am:
7763         * docs/plugins/Makefile.am:
7764           Simplify --extra-dir as gtkdoc scans recursively.
7765
7766 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
7767
7768         * tools/gst-launch.c: (main):
7769         When we got an error, there is no point in waiting for preroll when
7770         shutting down.
7771
7772 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
7773
7774         * plugins/elements/gsttee.c: (gst_tee_base_init),
7775         (gst_tee_request_new_pad), (gst_tee_release_pad),
7776         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
7777         (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
7778         (gst_tee_chain):
7779         Be a lot smarter when deciding what srcpad to use for proxying
7780         the buffer_alloc. Also handle pad added/removed when doing so.
7781         Fixes #357959.
7782         Keep track of what pads we already pushed on in case we have pads
7783         added/removed while pushing. Fixes #374639 
7784
7785         * tests/check/Makefile.am:
7786         * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
7787         (tee_suite):
7788         Added unit test for pad resync.
7789
7790 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7791
7792         * po/nl.po:
7793         * po/sv.po:
7794           Updated translations.
7795
7796 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7797
7798         translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
7799
7800         * po/LINGUAS:
7801         * po/fi.po:
7802           Added new Finnish translation.
7803
7804 2007-06-28  Wim Taymans  <wim@fluendo.com>
7805
7806         * plugins/elements/gstmultiqueue.c: (apply_buffer),
7807         (single_queue_overrun_cb):
7808         When figuring out when a queue is filled, use our internal time estimate
7809         based on segments, just like check_full does.
7810
7811 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
7812
7813         * gst/gstminiobject.c: (gst_mini_object_get_type):
7814           Remove 3 do-nothing methods.
7815
7816 2007-06-27  Wim Taymans  <wim@fluendo.com>
7817
7818         Patch by: Tim Angus <tim at ngus dot net>
7819
7820         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7821         (gst_capsfilter_set_property):
7822         Take a reference instead of a copy when setting "caps".
7823         Fix documentation to clarify this behaviour. Fixes #449414.
7824
7825 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
7826
7827         * gst/gstindexfactory.c: (gst_index_factory_get_type):
7828         * gst/gstplugin.c: (gst_plugin_init):
7829         * gst/gstpluginfeature.c: (gst_plugin_feature_init):
7830         * gst/gstquery.c: (gst_query_get_type):
7831         * gst/gstregistry.c: (gst_registry_init):
7832         * gst/gsturi.c: (gst_uri_handler_base_init):
7833           Remove empty instance_init() functions to save relocs and lessen the
7834           noise. Remove some of the function prototypes that are doubled by
7835           G_DEFINE_TYPE.
7836           
7837 2007-06-27  Wim Taymans  <wim@fluendo.com>
7838
7839         Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
7840
7841         * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
7842         Add peer and direction in the XML serialisation of ghostpads.
7843         Fixes #449226.
7844
7845 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
7846
7847         * configure.ac:
7848           Preserve useful information, thanks Tim.
7849
7850 2007-06-26  Jan Schmidt  <thaytan@noraisin.net>
7851
7852         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
7853         (gst_single_queue_flush), (apply_segment), (apply_buffer),
7854         (gst_single_queue_push_one), (gst_multi_queue_loop),
7855         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
7856         (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
7857         (compute_high_id), (gst_single_queue_new):
7858         * plugins/elements/gstmultiqueue.h:
7859         Take the multiqueue lock when updating the fill level so we don't get
7860         confused. 
7861
7862         After applying a buffer or event on the src pad segment, make sure to
7863         call gst_data_queue_limits_changed() to get the data queue to unblock
7864         and check the filled state again.
7865         
7866         Rework the not-linked pad handling so the logic is that not-linked 
7867         pads can push as fast as they like, but only so they never get 
7868         ahead of any linked pads.
7869
7870         * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
7871         (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
7872         (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
7873
7874         Add a test to check that not-linked pads always stay behind
7875         linked pads.
7876
7877         Fixes: #430682
7878
7879 2007-06-26  Jan Schmidt  <thaytan@mad.scientist.com>
7880
7881         * docs/random/release:
7882           Some updates to the release procedure.
7883
7884 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
7885
7886         * gst/gstelementfactory.c: (__gst_element_details_clear):
7887           Microoptimization that saves stunning 80 bytes.
7888
7889 2007-06-25  Stefan Kost  <ensonic@users.sf.net>
7890
7891         * docs/plugins/gstreamer-plugins.args:
7892         * docs/plugins/inspect/plugin-coreelements.xml:
7893         * docs/plugins/inspect/plugin-coreindexers.xml:
7894           Update docs with caps info.
7895
7896 2007-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7897
7898         * po/it.po:
7899           Updated Italian translation.
7900
7901 2007-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7902
7903         * ChangeLog:
7904         * po/vi.po:
7905           Update Vietnamese translations.
7906
7907 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
7908
7909         * libs/gst/base/gstbasesink.c:
7910           Remove unused signal enum.
7911
7912 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
7913
7914         * docs/gst/gstreamer-sections.txt:
7915         * gst/gstelement.c:
7916         * gst/gstutils.c: (gst_type_register_static_full):
7917         Beef up and include the docs for gst_type_register_static_full and
7918         gst_element_class_set_details_simple and add the API keyword
7919         in the ChangeLog.
7920
7921 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
7922
7923         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
7924         (update_time_level), (gst_single_queue_push_one),
7925         (gst_multi_queue_chain), (gst_multi_queue_sink_event),
7926         (single_queue_overrun_cb), (single_queue_underrun_cb),
7927         (single_queue_check_full):
7928         Fix setting max-* properties after adding queues.
7929         Use IS_FILLED for checking visible items.
7930         Signal overrun if multiple queues overrun.
7931         Add extra debug output.
7932         Patch by: Wim Taymans <wim@fluendo.com>
7933
7934 2007-06-21  Stefan Kost  <ensonic@users.sf.net>
7935
7936         * gst/gstelement.c: (gst_element_class_set_details_simple):
7937         * gst/gstelement.h:
7938         * gst/gstutils.c: (gst_type_register_static_full):
7939         * gst/gstutils.h:
7940         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
7941         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
7942         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
7943         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
7944         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
7945         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
7946         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
7947         * plugins/elements/gstidentity.c: (gst_identity_base_init):
7948         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
7949         * plugins/elements/gstqueue.c: (gst_queue_base_init),
7950         (apply_buffer), (gst_queue_chain):
7951         * plugins/elements/gsttee.c: (gst_tee_base_init):
7952         * plugins/elements/gsttypefindelement.c:
7953         (gst_type_find_element_base_init),
7954         (gst_type_find_element_class_init):
7955           Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
7956           API: add gst_type_register_static_full
7957           API: add gst_element_class_set_details_simple
7958
7959 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
7960
7961         * docs/pwg/advanced-types.xml:
7962           Fix typo in iana.org URI.
7963
7964 2007-06-19  Andy Wingo  <wingo@pobox.com>
7965
7966         * tests/check/pipelines/simple-launch-lines.c
7967         (test_state_change_returns): Enable pull-mode tests now that
7968         basesink has been fixed.
7969
7970         * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
7971         Changed from gst_base_sink_is_prerolled, reversing the sense of
7972         the return value. Returns FALSE also if the sink is in pull mode,
7973         in which case it needs no preroll.
7974         (gst_base_sink_query, gst_base_sink_change_state): Update for
7975         needs_preroll change.
7976         (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
7977         chaining up, in which we return SUCCESS directly if we activated
7978         in pull mode instead of ASYNC. Involves countering an async_start
7979         message sent before chaining up; not sure if this is correct, in
7980         an ideal world we only send async-start when activating in push
7981         mode.
7982
7983         * tests/check/pipelines/simple-launch-lines.c
7984         (test_state_change_returns): New test, partially disabled until
7985         basesink is fixed.
7986
7987 2007-06-19  Wim Taymans  <wim@fluendo.com>
7988
7989         * plugins/elements/gstmultiqueue.c: (apply_buffer),
7990         (gst_multi_queue_sink_event):
7991         Fix event leak.
7992
7993 2007-06-19  Wim Taymans  <wim@fluendo.com>
7994
7995         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
7996         (gst_bin_change_state_func), (bin_push_state_continue),
7997         (bin_handle_async_start), (bin_handle_async_done),
7998         (gst_bin_handle_message_func):
7999         Move the common code for posting state-change messages into
8000         one function.
8001         Broadcast the state signal after we posted the messages.
8002         Mark the bin as busy when it's doing a state-change.
8003         Make sure async-start/done messages don't interfere with the bin's
8004         state when it's busy.
8005         After the state change, let the bin check which elements completed the
8006         state change while it was busy so that it can update its state.
8007
8008 2007-06-19  Jan Schmidt  <thaytan@mad.scientist.com>
8009
8010         * docs/random/release:
8011         Add a note about updating the doap file to the release checklist
8012
8013 2007-06-18  Wim Taymans  <wim@fluendo.com>
8014
8015         * plugins/elements/gstmultiqueue.c: (apply_buffer),
8016         (gst_single_queue_push_one), (gst_multi_queue_chain),
8017         (gst_multi_queue_sink_event):
8018         Make sure we don't reference the buffer/event after we have given away
8019         ownership in the queue.
8020
8021 2007-06-18  Wim Taymans  <wim@fluendo.com>
8022
8023         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
8024         (gst_multi_queue_chain), (gst_multi_queue_sink_event):
8025         Update queue state _after_ adding the item in the queue because else we
8026         could end up being full without the element added yet.
8027
8028 2007-06-18  Wim Taymans  <wim@fluendo.com>
8029
8030         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
8031         (gst_bin_remove_func), (gst_bin_get_state_func),
8032         (gst_bin_element_set_state), (gst_bin_continue_func),
8033         (bin_push_state_continue), (bin_handle_async_start),
8034         (bin_handle_async_done), (gst_bin_handle_message_func):
8035         * gst/gstbin.h:
8036         Immediatly commit the toplevel bin state when receiving an async-done
8037         message. This enables us to avoid spawning a thread to commit the state
8038         in some common cases and it also avoids some races.
8039         Avoid spawning a state thread when adding/removing async elements to a
8040         toplevel bin. Instead we immediatly update the bin state.
8041         Get rid of iterating all the children when getting the state in the bin
8042         because it is now always up-to-date.
8043         Fix bug where locked elements would always return _SUCCESS even it they
8044         returned NO_PREROLL before being locked.
8045         Fix the order of the state_change, async-start/done messages that was
8046         sometimes incorrect.
8047         Mark the state_dirty field as deprecated, we don't need it anymore as we
8048         are always up-to-date.
8049
8050         * gst/gstelement.c: (gst_element_get_state_func),
8051         (gst_element_continue_state):
8052         Small debug inprovements.
8053         Return the previous element state return when nothing is pending instead
8054         of blindly returning SUCCESS.
8055
8056         * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
8057         (gst_sinks_suite):
8058         Add a whole bunch of new testcases.
8059
8060 2007-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8061
8062         * po/uk.po:
8063         * po/vi.po:
8064           Update translations.
8065
8066 2007-06-15  Jan Schmidt  <thaytan@mad.scientist.com>
8067
8068         * gst/gstpad.c:
8069         Fix typo in the docs.
8070
8071 2007-06-15  Wim Taymans  <wim@fluendo.com>
8072
8073         * docs/libs/gstreamer-libs-sections.txt:
8074         Add docs for new methods.
8075
8076 2007-06-15  Wim Taymans  <wim@fluendo.com>
8077
8078         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
8079         (gst_multi_queue_item_new):
8080         Don't use GSlice because we don't depend on >= 2.10 yet.
8081
8082 2007-06-15  Wim Taymans  <wim@fluendo.com>
8083
8084         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
8085         (update_time_level), (apply_segment), (apply_buffer),
8086         (gst_single_queue_push_one), (gst_multi_queue_item_new),
8087         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
8088         (gst_multi_queue_sink_event), (single_queue_overrun_cb),
8089         (single_queue_underrun_cb), (single_queue_check_full):
8090         Remove debug printf.
8091
8092 2007-06-15  Wim Taymans  <wim@fluendo.com>
8093
8094         * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
8095         (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
8096         (gst_data_queue_set_flushing), (gst_data_queue_push),
8097         (gst_data_queue_pop), (gst_data_queue_drop_head),
8098         (gst_data_queue_limits_changed), (gst_data_queue_get_level):
8099         * libs/gst/base/gstdataqueue.h:
8100         Various cleanups.
8101         Added methods to get the current levels and to inform the queue that the
8102         'full' limits changed.
8103
8104         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
8105         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
8106         (gst_single_queue_flush), (update_time_level), (apply_segment),
8107         (apply_buffer), (gst_single_queue_push_one),
8108         (gst_multi_queue_item_steal_object),
8109         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
8110         (gst_multi_queue_loop), (gst_multi_queue_chain),
8111         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
8112         (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
8113         (gst_multi_queue_src_query), (single_queue_overrun_cb),
8114         (single_queue_underrun_cb), (single_queue_check_full),
8115         (gst_single_queue_new):
8116         Keep track of time in the queue by measuring the difference between
8117         running_time on input and output. This gives more accurate results and
8118         can compensate for segments correctly.
8119         Make a queue by default only 5 buffers deep. We will now increase the
8120         buffer size depending on the filledness of the other queues.
8121         Factor out commong flush code.
8122         Make sure we don't add additional refcounts to buffers when we can avoid
8123         it.
8124         Propagate GstFlowReturn differently.
8125         Use GSlice for intermediate GstMultiQueueItems.
8126         Keep track of EOS.
8127         Resize queues on over and underruns based on filled level of other
8128         queues.
8129         When checking if the queue is filled, prefer to measure in time if we
8130         can and fall back to bytes when no time is known.
8131
8132         * plugins/elements/gstqueue.c:
8133         Fix return value.
8134
8135 2007-06-15  Wim Taymans  <wim@fluendo.com>
8136
8137         * libs/gst/base/gstbasetransform.c:
8138         (gst_base_transform_sink_event):
8139         Work around the brokenness of the event vmethod in basetransform. Prefer
8140         to return TRUE when the subclass returned FALSE (meaning don't forward
8141         the event). 
8142
8143         * libs/gst/base/gstbasetransform.h:
8144         Clarify the docs.
8145
8146 2007-06-15  Wim Taymans  <wim@fluendo.com>
8147
8148         * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
8149         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
8150         (gst_base_src_default_query), (gst_base_src_get_range),
8151         (gst_base_src_start):
8152         * tests/check/pipelines/parse-launch.c: (setup_pipeline):
8153         Improve debugging.
8154
8155 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
8156
8157         * docs/pwg/advanced-types.xml:
8158           Added more formats to caps table.
8159
8160 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
8161
8162         * tools/gst-launch.c: (main):
8163           Remove crufy code. GOption does not need this workaround.
8164
8165 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
8166
8167         * libs/gst/controller/gstcontroller.c:
8168         (gst_controlled_property_set_interpolation_mode):
8169           Fix wrong getter for enums in controller.
8170
8171 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8172
8173         * libs/gst/check/gstcheck.c: (gst_check_init):
8174           Intercept criticals and warnings in the Gst-Phonon log domain, so
8175           ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
8176           well.
8177         
8178 2007-06-14  Edward Hervey  <edward@fluendo.com>
8179
8180         * gst/gstparamspecs.c: (_gst_param_fraction_validate):
8181         Since this file doesn't include "gst.h" it will not go through the
8182         macros that disable GST_LOG if debugging was disabled.
8183
8184 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8185
8186         * libs/gst/check/Makefile.am:
8187         * libs/gst/check/gstcheck.h:
8188         * pkgconfig/gstreamer-check-uninstalled.pc.in:
8189         * pkgconfig/gstreamer-check.pc.in:
8190           Ugly 'fix' for the controller unit test on the p5 bot: in
8191           fail_unless_equals_float() check whether the values are 'almost
8192           equal' by allowing a small absolute error, which should be good
8193           enough for our use cases (normal numbers and values close to 0).
8194           Proper fixage left to floating point arithmetic aficionados.
8195
8196 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
8197
8198         * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
8199         (gst_base_sink_render_object), (gst_base_sink_get_position):
8200           Add two breaks thats where missing.
8201
8202 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8203
8204         * docs/libs/gstreamer-libs-sections.txt:
8205         * libs/gst/check/gstcheck.h:
8206           API: add fail_unless_equals_float() and assert_equals_float().
8207           Add documentation for some of the macros.
8208
8209         * tests/check/libs/controller.c: (GST_START_TEST):
8210           Use newly-added asserts.
8211
8212 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
8213
8214         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
8215           Show the caps change in the log to help spotting the case of not
8216           exactly matching caps.
8217
8218 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8219
8220         * docs/pwg/building-boiler.xml:
8221           Fix typos, spotted by Thijs Vermeir (#447190).
8222
8223 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8224
8225         * docs/plugins/tmpl/.cvsignore:
8226         Ignore file to keep the buildbots happy
8227
8228 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8229
8230         * docs/plugins/Makefile.am:
8231         * docs/plugins/gstreamer-plugins-docs.sgml:
8232         * docs/plugins/gstreamer-plugins-sections.txt:
8233         Pull fdsink into the docs too.
8234
8235 2007-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
8236
8237         * libs/gst/controller/gstinterpolation.c:
8238         Actually use the new functions with min/max checks for the trigger and
8239         none interpolation modes for get() and get_value_array() instead of
8240         just the latter.
8241
8242 2007-06-10  Sebastian Dröge  <slomo@circular-chaos.org>
8243
8244         * libs/gst/controller/gstcontroller.c:
8245         (gst_controlled_property_free):
8246         Unset the minimum and maximum GValues when freeing the corresponding
8247         GstControllerProperty struct.
8248
8249 2007-06-09  Sebastian Dröge  <slomo@circular-chaos.org>
8250
8251         * libs/gst/controller/gstcontroller.c:
8252         (gst_controlled_property_new):
8253         * libs/gst/controller/gstcontrollerprivate.h:
8254         * libs/gst/controller/gstinterpolation.c:
8255         (gst_controlled_property_find_control_point_node),
8256         (interpolate_none_get), (interpolate_none_get_enum_value_array),
8257         (interpolate_none_get_string_value_array),
8258         (interpolate_trigger_get),
8259         (interpolate_trigger_get_enum_value_array),
8260         (interpolate_trigger_get_string_value_array):
8261         Protect against values larger or smaller than the minimum or maximum
8262         allowed value for the property when using values that can be compared.
8263
8264         Optimize trigger interpolator a bit by taking the last requested value
8265         into account instead of always looping through the complete list.
8266
8267         Fix coding style a bit, everywhere else we use "return foo" instead
8268         of "return (foo)".
8269         
8270         * tests/check/libs/controller.c: (GST_START_TEST),
8271         (gst_controller_suite):
8272         Add unit test for the protection against too large or too small
8273         values.
8274
8275 2007-06-08  Sebastian Dröge  <slomo@circular-chaos.org>
8276
8277         * docs/random/slomo/controller.txt:
8278         Add some thoughts about the future of the controller.
8279
8280 2007-06-08  Wim Taymans  <wim@fluendo.com>
8281
8282         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
8283         Don't overflow in retimestamping code.
8284
8285 2007-06-07  Sebastien Moutte  <sebastien@moutte.net>
8286
8287         * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
8288         Use gst_util_guint64_to_gdouble for conversions.
8289         * win32/common/libgstreamer.def:
8290         Add new exported functions.
8291
8292 2007-06-07  Tim-Philipp Müller  <tim at centricular dot net>
8293
8294         * gst/gstutils.c:
8295           Small docs addition.
8296
8297 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8298
8299         * README:
8300           Remove that test line again.
8301
8302 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8303
8304         * README:
8305           Test commit mail sending.
8306
8307 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8308
8309         * configure.ac:
8310           Fix typo and test commit mail sending.
8311
8312 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8313
8314         * tests/examples/controller/audio-example.c:
8315           Improve comment and test commit mail sending.
8316
8317 2007-06-07  Wim Taymans  <wim@fluendo.com>
8318
8319         * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
8320         (gst_bin_remove_func), (gst_bin_element_set_state),
8321         (bin_handle_async_start), (bin_handle_async_done),
8322         (gst_bin_handle_message_func):
8323         Add helper function to find messages.
8324         Generate the async-done messages together with the state change
8325         messages.
8326         Small cleanups in handling toplevel bins.
8327
8328 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8329
8330         * libs/gst/base/gstdataqueue.c:
8331         * libs/gst/base/gstdataqueue.h:
8332         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
8333         (gst_multi_queue_item_new), (gst_multi_queue_chain),
8334         (gst_multi_queue_sink_event):
8335         * tests/check/elements/multiqueue.c: (multiqueue_suite):
8336           Fix multiqueue leaking buffers and events when downstream or the
8337           queue are flushing. Make refcounting assumptions explicit and
8338           document them (shouldn't break existing code that uses it other than
8339           maybe leak miniobjects, but that already happens anyway). Add unit
8340           test for the most common flushing case. Fixes #423700.
8341           
8342 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
8343
8344         * libs/gst/controller/gstcontroller.c:
8345         Clarify docs: The get_all, get_value_array(s) functions
8346         don't modify the GObject properties.
8347
8348 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
8349
8350         * libs/gst/controller/gstcontroller.c:
8351         (gst_controlled_property_set_interpolation_mode),
8352         (gst_controlled_property_prepend_default),
8353         (gst_controlled_property_new), (gst_controller_set_unlocked),
8354         (gst_controller_set), (gst_controller_set_from_list),
8355         (gst_controller_unset), (gst_controller_unset_all):
8356         * libs/gst/controller/gstcontrollerprivate.h:
8357         * libs/gst/controller/gstinterpolation.c:
8358         Factor out the 'set' logic into gst_controller_set_unlocked for the
8359         gst_controller_set and gst_controller_set_from_list functions.
8360
8361         To make life of the interpolators easier always add a control point
8362         at timestamp zero with the default value.
8363
8364         In the linear interpolator make things more obvious by better variable
8365         naming (slope).
8366
8367         Implement cubic interpolation mode (by using a natural cubic spline)
8368         and map the quadratic interpolation mode to this too (as quadratic
8369         doesn't make much sense, see discussion on the list).
8370
8371         * tests/check/libs/controller.c: (GST_START_TEST),
8372         (gst_controller_suite):
8373         Add unit test for the cubic interpolation mode and check everywhere
8374         if the interpolation mode could be set as expected.
8375
8376 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8377
8378         * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
8379           Don't use GLib-2.10 functions, we still depend on
8380           GLib-how-old-is-it-again-2.8.
8381
8382 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8383
8384         * docs/gst/gstreamer-sections.txt:
8385         * gst/Makefile.am:
8386         * gst/gst.c:
8387         * gst/gst.h:
8388         * gst/gstparamspecs.c: (_gst_param_fraction_init),
8389         (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
8390         (_gst_param_fraction_values_cmp),
8391         (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
8392         * gst/gstparamspecs.h:
8393         * gst/gstvalue.c:
8394         * tests/check/Makefile.am:
8395         * tests/check/gst/.cvsignore:
8396         * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
8397         (gst_dummy_obj_class_init), (gst_dummy_obj_init),
8398         (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
8399         (GST_START_TEST), (gst_param_spec_suite):
8400           API: add GstParamSpecFraction, so elements can have fraction
8401           properties without lots of painful string parsing (#444648).
8402
8403 2007-06-05  Wim Taymans  <wim@fluendo.com>
8404
8405         * gst/gstobject.c: (gst_object_class_init):
8406         Fix signal signature.
8407
8408         * gst/gstsegment.c:
8409         Add small clarification in the api docs.
8410
8411         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
8412         States are protected with object lock.
8413
8414 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
8415
8416         * AUTHORS:
8417         I should probably be listed as an author by now.
8418
8419         * docs/random/release:
8420         Update the release doc
8421
8422 2007-06-05  Tim-Philipp Müller  <tim at centricular dot net>
8423
8424         * gst/gstvalue.c:
8425           Make docs for gst_value_compare() mention return enums that
8426           actually exist.
8427
8428 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
8429
8430         * configure.ac:
8431           Back to CVS
8432
8433 === release 0.10.13 ===
8434
8435 2007-06-05  Jan Schmidt <thaytan@mad.scientist.com>
8436
8437         * configure.ac:
8438           releasing 0.10.13, "With or without you"
8439
8440 2007-05-25  Wim Taymans  <wim@fluendo.com>
8441
8442         * gst/gstbin.c: (bin_handle_async_done):
8443         Make sure that the child bin stops after completing the async state
8444         change so that the parent can continue the state change to PLAYING.
8445         Fixes #441159.
8446
8447 2007-05-25  Wim Taymans  <wim@fluendo.com>
8448
8449         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8450         (unref_data), (gst_collect_pads_remove_pad),
8451         (gst_collect_pads_check_pads):
8452         Use additional refcounting to avoid crashes when dynamically adding and
8453         removing pads. Fixes #420206.
8454
8455 2007-05-24  Wim Taymans  <wim@fluendo.com>
8456
8457         * tools/gst-launch.c: (event_loop):
8458         When buffering goes from a two digit to a single digit number, make sure
8459         to remove the old second digit by writing a blank over it.
8460
8461 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
8462
8463         * libs/gst/base/gstdataqueue.c:
8464           Eliminate tabs and trailing comma in enum list; fix some typos.
8465
8466 2007-05-24  Wim Taymans  <wim@fluendo.com>
8467
8468         * tests/check/gst/gstbin.c: (GST_START_TEST):
8469         Allow refcount of 3 and 4 because some state thread might still be busy
8470         with it.
8471
8472 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
8473
8474         * plugins/elements/Makefile.am:
8475         * plugins/elements/gstmultiqueue.h:
8476         * plugins/elements/gstqueue.h:
8477           These are not installed headers, no need for padding.
8478
8479 2007-05-24  Wim Taymans  <wim@fluendo.com>
8480
8481         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
8482         (gst_bin_continue_func):
8483         Enable latency for next release.
8484         Restore STATE_LOCK around recalc_state that was left out during the
8485         rewrite and could result in racy behaviour when _get_state and
8486         recalc_state are run concurrently. See #440463.
8487
8488 2007-05-23  Wim Taymans  <wim@fluendo.com>
8489
8490         * tests/check/gst/gstsystemclock.c: (store_callback),
8491         (GST_START_TEST):
8492         Improve test_async_order to also work when both timers are already
8493         expired when we get scheduled to check it.
8494
8495 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8496
8497         * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
8498         (gst_bin_set_property), (gst_bin_get_property),
8499         (gst_bin_remove_func), (gst_bin_handle_message_func):
8500         * gst/gstbin.h:
8501           'private' is a c++ keyword, let's not use that in header files,
8502           otherwise c++ compilers will throw a tantrum.
8503
8504 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8505
8506         * plugins/elements/gstelements.c:
8507         * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
8508         (gst_file_sink_get_current_offset):
8509         * plugins/indexers/gstindexers.c: (plugin_init):
8510           Use #ifdef for HAVE_XYZ for consistency.
8511
8512         * tests/check/Makefile.am:
8513         * tests/check/elements/.cvsignore:
8514         * tests/check/elements/filesink.c: (setup_filesink),
8515         (cleanup_filesink), (GST_START_TEST), (filesink_suite):
8516           Add some unit tests for filesink.
8517
8518 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8519
8520         Patch by: Mark Nauwelaerts <manauw at skynet be>
8521
8522         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
8523         (gst_file_sink_query), (gst_file_sink_do_seek),
8524         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8525         * plugins/elements/gstfilesink.h:
8526           Fix position reporting; rename data_written member to current_pos to
8527           reflect its real meaning (fixes #412648).
8528
8529 2007-05-22  Edward Hervey  <edward@fluendo.com>
8530
8531         * docs/gst/gstreamer-sections.txt:
8532         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
8533         (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
8534         (gst_bin_remove_func), (gst_bin_handle_message_func):
8535         * gst/gstbin.h:
8536         Add a property for bins that handle the state change of their childs.
8537         Fixes #435880
8538
8539 2007-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
8540
8541         * libs/gst/controller/gstinterpolation.c:
8542         Use an array of the correct type when using _get_value_array with
8543         linear interpolation.
8544
8545 2007-05-22  Stefan Kost  <ensonic@users.sf.net>
8546
8547         * gst/gstelement.c (gst_element_requires_clock,
8548           gst_element_provides_clock, gst_element_request_pad,
8549           gst_element_class_set_details, gst_element_class_set_details_simple,
8550           gst_element_default_send_event, gst_element_abort_state,
8551           gst_element_continue_state, gst_element_set_state,
8552           gst_element_set_state_func, iterator_activate_fold_with_resync):
8553         * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
8554           gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
8555           gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
8556           gst_pad_get_range, gst_pad_pull_range):
8557         * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
8558           GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
8559           GstPadActivateModeFunction, GstPadChainFunction,
8560           GstPadGetCapsFunction, GstPadAcceptCapsFunction,
8561           GstPadFixateCapsFunction, GstPadTemplate):
8562         * gst/gstpipeline.c (gst_pipeline_change_state,
8563           gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
8564           gst_pipeline_set_clock, gst_pipeline_auto_clock,
8565           gst_pipeline_get_delay):
8566           Whitespace and docs fixes.
8567
8568 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8569
8570         * libs/gst/controller/gstinterpolation.c:
8571         (interpolate_trigger_get_enum_value_array),
8572         (interpolate_trigger_get_string_value_array):
8573         Add support for retrieving value arrays when using the trigger
8574         interpolation mode. 
8575
8576 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8577
8578         * libs/gst/controller/gstcontroller.c:
8579         (gst_controller_get_value_array):
8580         * libs/gst/controller/gstcontroller.h:
8581         Clarify the docs of gst_controller_get_value_array(): The array where
8582         the values should be written to must be allocated as there seems to be
8583         no way to get the size of a random GType. This doesn't change any
8584         behaviour. Also fix some typos all over the place and remove an unused,
8585         commented function that is not necessary as g_object_set() could be
8586         used instead.
8587         * tests/check/libs/controller.c: (GST_START_TEST),
8588         (gst_controller_suite):
8589         Add unit test for gst_controller_get_value_array().
8590
8591 2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>
8592
8593         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
8594
8595         Disable part of the gst_buffer_try_new_and_alloc test, because
8596         it can happily succeed on 64-bit systems where there's more address
8597         space available.
8598
8599 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8600
8601         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
8602         Add unit test for the improved caps checking from bug #421543.
8603
8604 2007-05-21  Wim Taymans  <wim@fluendo.com>
8605
8606         * docs/design/part-synchronisation.txt:
8607         Small addition.
8608
8609         * gst/gstbin.c: (gst_bin_query):
8610         * plugins/elements/gstqueue.c: (apply_segment):
8611         Improve debugging.
8612
8613         * gst/gstmessage.h:
8614         Improve docs.
8615
8616 2007-05-21  Wim Taymans  <wim@fluendo.com>
8617
8618         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
8619         (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
8620         (gst_pad_configure_src):
8621         Added simple version of improved caps checking. It was previously
8622         assumed that a setcaps function would check the validity of the caps but
8623         people prefer us to check caps against the template automatically. 
8624         Fixes #421543.
8625
8626 2007-05-21  Wim Taymans  <wim@fluendo.com>
8627
8628         * libs/gst/base/gstbasetransform.h:
8629         Fix macro for locking/unlocking the transform lock.
8630
8631 2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
8632
8633         * docs/plugins/tmpl/.cvsignore:
8634           Ignore more.
8635
8636 2007-05-18  Edward Hervey  <edward@fluendo.com>
8637
8638         * plugins/elements/gstqueue.c: (gst_queue_loop):
8639         Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
8640         for the subtle art of warning a potentially blocking thread that it
8641         should check the source pad return value, and relay the information
8642         upstream.
8643
8644 2007-05-18  Edward Hervey  <edward@fluendo.com>
8645
8646         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
8647         Release the queue lock !
8648
8649 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8650
8651         * docs/libs/gstreamer-libs-sections.txt:
8652         Add the two new controller functions to the appropiate places.
8653
8654 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8655
8656         reviewed by: Stefan Kost <ensonic@users.sf.net>
8657
8658         * libs/gst/controller/gstcontroller.c:
8659         (gst_controller_suggest_next_sync), (gst_controller_sync_values),
8660         (_gst_controller_get_property), (_gst_controller_set_property),
8661         (_gst_controller_init), (_gst_controller_class_init):
8662         * libs/gst/controller/gstcontroller.h:
8663         * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
8664         (gst_object_get_control_rate), (gst_object_set_control_rate):
8665         API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
8666         Add API that provides sync suggestion timestamps for elements that
8667         call gst_object_sync_values() from which those elements can subdivide
8668         their processing loop to get the best results for the controlled
8669         properties. For now it just suggests last_sync + control_rate as
8670         new timestamp but this will be improved in the future.
8671
8672         While doing that change the control-rate property to a GstClockTime
8673         from guint and change it's meaning from samples to nanoseconds as
8674         the GstController doesn't know anything about sampling rate. Strictly
8675         speaking this breaks ABI but as the control-rate property didn't do
8676         anything in the past and as such couldn't be used this should be no
8677         problem.        
8678
8679 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8680
8681         reviewed by: Stefan Kost <ensonic@users.sf.net>
8682
8683         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
8684         (gst_controller_unset_all):
8685         * libs/gst/controller/gstcontrollerprivate.h:
8686         * libs/gst/controller/gstinterpolation.c:
8687         (gst_controlled_property_find_control_point_node):
8688         Save last synced value from the list to continue searching from there
8689         in future syncs. This speeds everything up a bit.
8690         
8691 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8692
8693         reviewed by: Stefan Kost <ensonic@users.sf.net>
8694
8695         * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
8696         (gst_control_point_find), (gst_controlled_property_new),
8697         (gst_control_point_free), (gst_controlled_property_free),
8698         (gst_controller_set), (gst_controller_set_from_list),
8699         (gst_controller_unset), (gst_controller_unset_all),
8700         (gst_controller_sync_values):
8701         * libs/gst/controller/gstcontroller.h:
8702         * libs/gst/controller/gstcontrollerprivate.h:
8703         * libs/gst/controller/gstinterpolation.c:
8704         (gst_controlled_property_find_control_point_node),
8705         (interpolate_none_get), (interpolate_trigger_get):
8706         Add a new private GstControlPoint struct which "inherits" from
8707         GstTimedValue to allow different interpolators to store internal
8708         values next to each control point. From the outside everything is
8709         still a GstControlPoint so we don't loose binary compatibility.
8710         Also fixup all the GValue handling to not leak GValues or list nodes.
8711         * tests/check/libs/controller.c: (GST_START_TEST):
8712         Free the list nodes and GValues in the controller_misc test.
8713
8714 2007-05-17  Edward Hervey  <edward@fluendo.com>
8715
8716         * gst/gstsegment.c:
8717         Small doc fix.
8718
8719 2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
8720
8721         * gst/gstplugin.c: (gst_plugin_load_file):
8722           If we fail to load a plugin because of unresolved symbols or missing
8723           libraries and spew a warning to stderr, we may just as well mention
8724           which plugin it was that failed to load.
8725
8726 2007-05-13  David Schleef  <ds@schleef.org>
8727
8728         * docs/Makefile.am: the gtk-doc makefile snippet correctly
8729           handles the case when ENABLE_GTK_DOC is false, and installs
8730           the prebuilt documentation.  So gtk-doc subdirs are 
8731           unconditionally enabled.  Fixes: #349099.
8732
8733 2007-05-13  David Schleef  <ds@schleef.org>
8734
8735         * gst/gstutils.h: Reword some documentation.
8736
8737 2007-05-12  David Schleef  <ds@schleef.org>
8738
8739         * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
8740           do anything with the passed "module" parameter, so remove it.
8741           Allows removal of additional vestigal code.
8742
8743 2007-05-12  David Schleef  <ds@schleef.org>
8744
8745         * gst/gstplugin.c:
8746           Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
8747           Switch to using g_stat() because it's more portable.
8748
8749 2007-05-12  David Schleef  <ds@schleef.org>
8750
8751         * gst/gst.c:
8752           Add GST_DISABLE_OPTION_PARSING, in order to disable option
8753           parsing for embedded systems.
8754         * gst/gstelementfactory.c:
8755           Allow gst_element_register() to be called with plugin==NULL.
8756           Did nobody notice that static elements were broken?
8757
8758 2007-05-12  Wim Taymans  <wim@fluendo.com>
8759
8760         * tools/gst-launch.c: (event_loop):
8761         Give more interesting info when buffering starts and stops.
8762         Fix case where buffering starts but we fail to update the buffering flag
8763         because the target state is not PLAYING.
8764
8765 2007-05-12  Wim Taymans  <wim@fluendo.com>
8766
8767         * plugins/elements/gstqueue.c: (gst_queue_init),
8768         (gst_queue_finalize), (update_time_level), (apply_segment),
8769         (apply_buffer), (gst_queue_locked_flush),
8770         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
8771         (gst_queue_handle_sink_event), (gst_queue_chain),
8772         (gst_queue_push_one), (gst_queue_loop):
8773         * plugins/elements/gstqueue.h:
8774         Refactor an cleanup queue a bit.
8775         Do better time level calculations that also work when the srcpad is not
8776         yet running.
8777         Remove some unneeded debug lines.
8778
8779         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
8780         Added testcase for time level measurement.
8781         Try to make some stuff more racefree.
8782
8783 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
8784
8785         * gst/gsturi.c: (gst_element_make_from_uri):
8786           Don't leak plugin feature.
8787
8788         * tests/check/Makefile.am:
8789         * tests/check/gst/.cvsignore:
8790         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
8791           Add brain-dead unit test.
8792
8793 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
8794
8795         Patch by: Jeroen Wouters <woutersj at gmail com>
8796
8797         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
8798           Treat protocol strings in a case-insensitive way (#437563).
8799
8800 2007-05-11  Michael Smith <msmith@fluendo.com>
8801
8802         * gst/gstplugin.c: (gst_plugin_load_file):
8803         * gst/gstregistry.c: (gst_registry_scan_path_level):
8804           Don't print a g_warning for any failure to load a shared object.
8805           Instead, push this down into gstplugin.c, and warn _only_ if we
8806           failed to open the module (i.e. failure to link).
8807           Avoids warnings on normal, working, non-plugin .so files.
8808
8809 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
8810
8811         * gst/gstplugin.c (gst_plugin_load_file):
8812         * gst/gstregistry.c (GST_CAT_DEFAULT,
8813           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
8814           Print a g_warning if there was an error when loading a plugins during
8815           registry scan. The shuld help beginners starting with gst-plugin
8816           template.
8817
8818 2007-05-10  Wim Taymans  <wim@fluendo.com>
8819
8820         * plugins/elements/gstqueue.c: (gst_queue_class_init),
8821         (update_time_level), (gst_queue_locked_flush),
8822         (gst_queue_handle_sink_event), (gst_queue_chain),
8823         (gst_queue_push_one), (gst_queue_loop):
8824         * plugins/elements/gstqueue.h:
8825         Be smarter when calculating the current amount of data in the queue by
8826         measuring the difference between start and end timestamps (in running
8827         time) inside the queue. Fixes #432876.
8828         API: GstQueue::pushing to notify elements that we are pushing data again
8829         since the running signal is rather broken for this purpose.
8830
8831 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
8832
8833         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
8834           gst_queue_base_init, gst_queue_init):
8835           use GST_BOILERPLATE
8836
8837 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
8838
8839         * win32/common/libgstreamer.def:
8840         Add new exported functions.
8841         * win32/vs6/grammar.dsp:
8842         Use grammar pre-generated files.
8843
8844 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
8845
8846         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
8847
8848         * gst/Makefile.am:
8849         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
8850         * gst/gstparse.h:
8851         * gst/gstutils.c: (gst_parse_bin_from_description):
8852         * gst/gstutils.h:
8853           Maintain API and ABI when --disable-parse is used. Now that
8854           we have an appropriate error code, we can just return NULL and the
8855           appropriate error when gst_parse_launch() is used despite it having
8856           been disabled (#342564).
8857
8858         * tests/check/Makefile.am:
8859         * tests/check/pipelines/.cvsignore:
8860         * tests/check/pipelines/parse-disabled.c:
8861           Make sure these functions exist and return NULL plus a GError when
8862           --disable-parse is used.
8863
8864 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
8865
8866         * tests/benchmarks/complexity.c: (main):
8867         * tests/benchmarks/mass-elements.c: (main):
8868           Set a good example and don't leak messages.
8869
8870 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
8871
8872         * docs/gst/Makefile.am:
8873         * docs/libs/Makefile.am:
8874           Correct fixxrefs options.
8875
8876         * docs/plugins/Makefile.am:
8877         * docs/plugins/gstreamer-plugins-docs.sgml:
8878         * docs/plugins/gstreamer-plugins-sections.txt:
8879         * plugins/elements/Makefile.am:
8880         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
8881         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
8882           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
8883           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
8884           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
8885           _GstCapsFilterClass, trans_class):
8886         * plugins/elements/gstelements.c (name, rank, type, _elements):
8887         * plugins/elements/gstidentity.c
8888           (gst_identity_check_imperfect_timestamp,
8889           gst_identity_check_imperfect_offset):
8890           Document capsfilter and add doc-blurb to identity.
8891
8892 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
8893
8894         * libs/gst/controller/gstcontroller.c:
8895         (gst_controlled_property_set_interpolation_mode):
8896         * libs/gst/controller/gstinterpolation.c:
8897           Don't crash if someone tries to set an interpolation mode that
8898           is invalid or that isn't supported yet. Fixes #422295.
8899
8900         * tests/check/libs/controller.c: (GST_START_TEST),
8901         (gst_controller_suite):
8902           Add a test case for the above.
8903
8904 2007-05-03  Edward Hervey  <edward@fluendo.com>
8905
8906         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
8907         Properly set the last_stop position on GstSegment. This will only happen
8908         if there is a buffer to push out.
8909
8910 2007-05-03  Wim Taymans  <wim@fluendo.com>
8911
8912         * libs/gst/base/gstbasetransform.c:
8913         (gst_base_transform_buffer_alloc):
8914         always_in_place does not mean that the sink and source caps are the
8915         same! Make sure we don't blindly proxy the buffer_alloc in this case.
8916
8917 2007-05-03  Wim Taymans  <wim@fluendo.com>
8918
8919         * docs/libs/gstreamer-libs-sections.txt:
8920         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
8921         (gst_base_src_default_query), (gst_base_src_get_range):
8922         * libs/gst/base/gstbasesrc.h:
8923         API: gst_base_src_query_latency(). Added method so that subclasses can
8924         easily get the latency values of the base source class.
8925
8926 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
8927
8928         * tools/gst-inspect.c (print_implementation_info):
8929         Remove 0.8 cruft.
8930
8931 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
8932
8933         * tools/Makefile.am:
8934         * tools/gst-launch.1.in:
8935           Don't create a customised man page based on the host architecture,
8936           describe the default registry path generically. That way the man
8937           page is the same for all architectures and packagers have one
8938           multilib issue less to deal with. Fixes #434926.
8939
8940 2007-05-02  Wim Taymans  <wim@fluendo.com>
8941
8942         * gst/gstpad.c:
8943         Fix documentation as spotted by rg on IRC. 
8944
8945 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
8946
8947         * gst/gstutils.c:
8948           Improve docs for gst_element_{link,unlink}.
8949
8950 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
8951
8952         * docs/design/part-events.txt:
8953         * docs/design/part-overview.txt:
8954         * gst/gstevent.c:
8955         * gst/gsturi.c:
8956         * gst/gsturi.h:
8957         * libs/gst/base/gstbasesink.c:
8958           Typo fixes; minor docs addition.
8959
8960 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
8961
8962         * docs/gst/gstreamer-sections.txt:
8963         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
8964         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
8965         * gst/gsturi.h:
8966         API: Add gst_uri_protocol_is_supported(), which checks if a sink
8967         or src that supports a given URI protocol exists.
8968
8969 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
8970
8971         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
8972         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
8973         Set the location to NULL if "file://" is set as URI. Otherwise
8974         some random previous URI would still be set if "file://" is
8975         set on an already used filesink/filesrc.
8976
8977 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
8978
8979         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
8980         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
8981         Special case the "file://" URI as as this is used by some
8982         applications to test with gst_element_make_from_uri if there's
8983         an element that supports the URI protocol.
8984         Also move the g_path_is_absolute() check for the location part
8985         of the URI to also check this for "file://localhost/bla" URIs.
8986
8987 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
8988
8989         * docs/gst/gstreamer-sections.txt:
8990         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
8991         * gst/gstbuffer.h:
8992         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
8993         (gst_buffer_suite):
8994           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
8995
8996 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
8997
8998         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
8999         (gst_registry_binary_load_pad_template),
9000         (gst_registry_binary_load_plugin),
9001         (gst_registry_binary_read_cache):
9002         * gst/gstregistrybinary.h:
9003           Implement no-mmap alternative for registry reading. Do code cleanups.
9004           Add more comments about avoiding strdups for all text data. Comments
9005           welcome.
9006
9007 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
9008
9009         * gst/gstregistrybinary.h (GstBinaryPluginElement,
9010           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
9011           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
9012           Comment structs and reformat to fix the build (that stuff should go
9013           into a priv. header).
9014
9015 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
9016
9017         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
9018         (gst_registry_binary_load_feature):
9019         * gst/gstregistrybinary.h:
9020           Refactor so that we can implement multiple features. Add support for
9021           TypeFindFactory features.
9022
9023 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
9024
9025         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
9026
9027         * configure.ac:
9028           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
9029
9030 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
9031
9032         * gst/gstbin.c: (gst_bin_element_set_state),
9033         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
9034         (bin_handle_async_done), (gst_bin_handle_message_func):
9035           Fix build with --gst-disable-gst-debug
9036
9037 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
9038
9039         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
9040           Make sure streaming has finished before calling the ::stop() vfunc,
9041           since that vfunc might clear state which is being used in the
9042           streaming thread. This fixes a race that caused crashes in
9043           audioresample when shutting down a pipeline (#420106).
9044
9045 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
9046
9047         * docs/gst/gstreamer-sections.txt:
9048           That was one byte missing.
9049
9050 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
9051
9052         * configure.ac:
9053         * docs/gst/gstreamer-sections.txt:
9054         * gst/Makefile.am:
9055         * gst/gstconfig.h.in:
9056         * gst/gstobject.c: (gst_object_class_init),
9057         (gst_signal_object_class_init):
9058         * gst/gstobject.h:
9059           2nd attempt to have a xml-less build as a joined effort of #413123
9060           and #421480.
9061
9062 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
9063
9064         * docs/design/draft-tagreading.txt:
9065           Added open issues/thoughts to draft.
9066
9067 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
9068
9069         * gst/parse/grammar.tab.pre.c:
9070         * gst/parse/grammar.tab.pre.h:
9071         * gst/parse/lex._gst_parse_yy.pre.c:
9072         Update the prebuild parser sources.
9073
9074 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
9075
9076         * gst/parse/Makefile.am:
9077         And now fix the building of the flex sources. Now everything should
9078         work as expected.
9079
9080 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
9081
9082         * gst/parse/Makefile.am:
9083         Now hopefully fix the build failures by setting proper rule
9084         dependencies and moving instead of copying.
9085
9086 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
9087
9088         * tests/benchmarks/complexity.gnuplot:
9089         * tests/benchmarks/complexity.scm:
9090         * tests/benchmarks/mass-elements.gnuplot:
9091         * tests/benchmarks/mass-elements.scm:
9092           Total licensification.
9093
9094 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
9095
9096         * gst/parse/Makefile.am:
9097           Fix the build by correcting the rule that gave wrong files to flex.
9098
9099 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
9100
9101         * tests/benchmarks/complexity.c:
9102         * tests/benchmarks/mass-elements.c:
9103           Change licence to LGPL as granted by Benjamin and Andy.
9104
9105 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
9106
9107         * gst/parse/Makefile.am:
9108         Add correct grammar.tab.h dependency if compiling without new enough
9109         flex. Fixes #431150.
9110
9111 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
9112
9113         * gst/parse/Makefile.am:
9114         Fix typo and use outdated sources if the flex/bison sources are newer
9115         than the pregenerated ones but flex is too old. Print a warning in
9116         that case. This should fix the build on the build bot.
9117
9118 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
9119
9120         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
9121         * gst/parse/Makefile.am:
9122         * gst/parse/grammar.y:
9123         * gst/parse/parse.l:
9124         Make the parser reentrant and recursively callable. This requires flex
9125         >= 2.5.31, for older versions pregenerated sources are used as we
9126         can't bump the build dependency. Finally fixes #349180.
9127
9128         * gst/gstparse.c: (gst_parse_launch):
9129         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
9130         now anyway.
9131
9132         * docs/gst/Makefile.am:
9133         * docs/gst/Makefile.am:
9134         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
9135         (__gst_parse_strfree), (__gst_parse_link_new),
9136         (__gst_parse_link_free), (__gst_parse_chain_new),
9137         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
9138         (gst_parse_element_set), (gst_parse_free_link),
9139         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
9140         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
9141         (_gst_parse_launch):
9142         * gst/parse/grammar.tab.pre.h:
9143         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
9144         (yy_get_previous_state), (yy_try_NUL_trans), (input),
9145         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
9146         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
9147         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
9148         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
9149         (_gst_parse_yypop_buffer_state),
9150         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
9151         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
9152         (yy_fatal_error), (_gst_parse_yyget_extra),
9153         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
9154         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
9155         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
9156         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
9157         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
9158         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
9159         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
9160         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
9161         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
9162         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
9163         (_gst_parse_yyfree):
9164         If the installed flex version is too old use pre-generated parser
9165         sources. These pre-generated parser sources are always updated when
9166         the actual flex/bison sources change but require everybody who wants
9167         to change something in the parser to have flex >= 2.5.31 installed.
9168
9169 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
9170
9171         * common/m4/gst-gettext.m4:
9172         * gst/gst-i18n-lib.h:
9173           Make --disable-nls to work
9174
9175 2007-04-17  Wim Taymans  <wim@fluendo.com>
9176
9177         * gst/gstconfig.h.in:
9178         Revert previous change that broke the build.
9179
9180 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
9181
9182         * configure.ac:
9183         * gst/Makefile.am:
9184         * gst/gstconfig.h.in:
9185           Drop libxml2 dependency when building with 
9186           --enable-binary-registry --disable-loadsave
9187
9188 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
9189
9190         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
9191         (gst_registry_binary_read_cache):
9192         * gst/gstregistrybinary.h:
9193           Remove unnecessary <sys/mman.h> include which broke the win32 build
9194           with MingW; move includes from header file to .c file, even if the
9195           header file isn't installed; use g_strerror() where UTF-8 strings
9196           are expected, such as in GST_DEBUG messages.
9197
9198 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9199
9200         * docs/libs/gstreamer-libs-sections.txt:
9201         Remove bogus addition for API I didn't end up keeping.
9202
9203         * libs/gst/base/gstbasesrc.h:
9204         Mention Since: 0.10.13 in the documentation.
9205
9206         Add the API keyword to the previous ChangeLog entry.
9207
9208 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9209
9210         * docs/libs/gstreamer-libs-sections.txt:
9211         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9212         (gst_base_src_default_prepare_seek_segment),
9213         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
9214         * libs/gst/base/gstbasesrc.h:
9215         Allow basesrc derived classes to execute seeks in other formats
9216         by providing a prepare_seek_segment vmethod. Sub-classes can choose
9217         to prepare the GstSegment in any format that their perform_seek method
9218         will be able to understand. The default implementation provides the
9219         old behaviour of attempting to convert the seek offsets to the 
9220         configured native format.
9221
9222         API: basesrc::prepare_seek_segment vmethod.
9223
9224 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9225
9226         * gst/gstelement.c: (gst_element_get_state_func):
9227         Don't output the same debug statement twice.
9228
9229         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
9230         (gst_adapter_peek), (gst_adapter_take_buffer):
9231         Optimise the case where we have buffers at the head of the queue that
9232         can be joined quickly (because they're contiguous sub-buffers) by
9233         merging them together rather than copying data out into new memory.
9234
9235         * gst/parse/grammar.y:
9236         * tests/check/pipelines/parse-launch.c:
9237         Fix a leak in an error path for parse_launch, and add a check 
9238         for it to the testsuite.
9239
9240 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9241
9242         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
9243           Don't deadlock when releasing a pad - gst_pad_set_active may try
9244           and take the multiqueue lock too.
9245
9246 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
9247
9248         * gst/gsterror.c: (_gst_core_errors_init):
9249         * gst/gsterror.h:
9250           API: add GST_CORE_ERROR_DISABLED (#392804).
9251
9252 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9253
9254         * docs/faq/gst-uninstalled:
9255           don't get empty paths on the PATH variables
9256         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
9257           Don't format for the uncommon terminal width of 84 characters.
9258
9259 2007-04-06  Wim Taymans  <wim@fluendo.com>
9260
9261         * gst/gstpipeline.c: (reset_stream_time),
9262         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
9263         Only try to select a different pipeline clock when we went back to
9264         PAUSED and not when we merely got flushed.
9265
9266 2007-04-05  Michael Smith  <msmith@fluendo.com>
9267
9268         * tools/gst-launch.1.in:
9269           fractions are better supported in gstreamer than ractions, so
9270           suggest using those.
9271
9272 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9273
9274         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
9275
9276         * po/LINGUAS:
9277         * po/da.po:
9278           Added Danish translation.
9279
9280 2007-04-05  Wim Taymans  <wim@fluendo.com>
9281
9282         * libs/gst/base/gstbasesink.c:
9283         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
9284         Fix leak caused when refusing newsegment after EOS.
9285
9286         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
9287         (gst_fake_sink_init), (gst_fake_sink_set_property),
9288         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
9289         (gst_fake_sink_render), (gst_fake_sink_change_state):
9290         * plugins/elements/gstfakesink.h:
9291         Add num-buffers property to make the element generate EOS after a
9292         configurable amount of buffers.
9293         API: fakesink::num-buffers property.
9294
9295         * tests/check/elements/fakesink.c: (GST_START_TEST),
9296         (fakesink_suite):
9297         Fix GstBus leak in test.
9298         Test for fakesink num-buffers.
9299
9300 2007-04-05  Wim Taymans  <wim@fluendo.com>
9301
9302         * libs/gst/base/gstbasesink.c:
9303         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
9304         (gst_base_sink_change_state):
9305         Don't accept anything after an EOS, return UNEXPECTED instead.
9306
9307         * tests/check/elements/fakesink.c: (GST_START_TEST),
9308         (fakesink_suite):
9309         Unit test for new EOS behaviour.
9310
9311 2007-04-05  Wim Taymans  <wim@fluendo.com>
9312
9313         * gst/gstelement.c: (gst_element_get_request_pad):
9314         Make padtemplates also work when they don't contain %s or %d.
9315
9316 2007-04-05  Wim Taymans  <wim@fluendo.com>
9317
9318         * docs/gst/gstreamer-sections.txt:
9319         * gst/gstclock.c: (gst_clock_adjust_unlocked),
9320         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
9321         * gst/gstclock.h:
9322         Improve _adjust_unlocked() so that it overflows less.
9323         Add gst_clock_unadjust_unlocked to convert from external time to
9324         internal time based on calibration.
9325         Add some more debug.
9326         API: GstClock::gst_clock_unadjust_unlocked()
9327
9328 2007-04-03  Wim Taymans  <wim@fluendo.com>
9329
9330         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
9331
9332         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
9333         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
9334         when releasing sink pad. Fixes #425400.
9335
9336 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
9337
9338         * docs/random/ensonic/dynlink.txt:
9339           More work on proposal for new core api.
9340
9341         * docs/libs/gstreamer-libs-sections.txt:
9342         * libs/gst/base/gstbasetransform.h:
9343           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
9344           
9345         * libs/gst/controller/gstcontroller.c:
9346         (on_object_controlled_property_changed),
9347         (gst_controller_sync_values),
9348         (gst_controller_set_interpolation_mode):
9349         * libs/gst/controller/gstcontroller.h:
9350           Less verbose logging add docs for unimplemented parts and correctly
9351           return when using unavailable parts.
9352
9353 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
9354
9355         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
9356         Move all the debug to the CLOCK category, and associate it with
9357         the clock object.
9358
9359 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
9360
9361         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
9362         Make take_buffer a bit quicker by removing redundant checks
9363         caused by calling gst_adapter_take.
9364
9365 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
9366
9367         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
9368           Don't leak GCond.
9369
9370         * tests/check/Makefile.am:
9371         * tests/check/elements/.cvsignore:
9372         * tests/check/elements/multiqueue.c: (setup_multiqueue),
9373         (GST_START_TEST), (multiqueue_suite):
9374           Add some dead simple unit tests for the 'multiqueue' element
9375           (some bits don't work yet and are disabled for now).
9376
9377 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
9378
9379         * gst/gstelement.c: (gst_element_get_request_pad),
9380         (gst_element_class_get_request_pad_template):
9381           Make gst_element_get_request_pad() create request pads only for
9382           request pad templates and not for, say, sometimes pad templates.
9383
9384 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
9385
9386         * docs/design/draft-klass.txt:
9387           Add example that needs more thinking.
9388         
9389         * docs/design/draft-missing-plugins.txt:
9390           More thoughts about wrapper plugins.
9391         
9392         * docs/random/ensonic/embedded.txt:
9393         * docs/random/ensonic/profiling.txt:
9394           More design work.
9395
9396 2007-03-25  Wim Taymans  <wim@fluendo.com>
9397
9398         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
9399         (gst_base_src_loop):
9400         Only push the segment events in the PLAYING state for live sources.
9401
9402 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
9403
9404         * gst/gstpipeline.c: (gst_pipeline_change_state):
9405         Modify the clock distribution path in PAUSED->PLAYING so that we 
9406         never attempt to choose a new clock unless we're actually leaving
9407         the PAUSED state for the first time. This prevents choosing a
9408         different clock when the state_change gets called for a 2nd time due
9409         to some element doing an async state change.
9410
9411 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
9412
9413         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
9414         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
9415         (gst_pad_chain_unchecked), (gst_pad_push):
9416         Revert last commit. This needs some more thoughts.
9417
9418 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
9419
9420         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
9421         (gst_pad_chain_unchecked), (gst_pad_push):
9422         Check in set_caps if the caps are compatible with the pad and remove
9423         two functions that are redundant now. Fixes #421543.
9424
9425 2007-03-22  Wim Taymans  <wim@fluendo.com>
9426
9427         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
9428         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
9429         Unref some more to make valgrind happy.
9430
9431 2007-03-22  Wim Taymans  <wim@fluendo.com>
9432
9433         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
9434         (gst_system_clock_id_wait_jitter),
9435         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
9436         Fix anoying regression that survived a few releases. When adding an
9437         async entry while blocking on a sync entry, the sync entry will unblock
9438         but still be busy, so it should continue to wait instead of returning
9439         _BUSY to the app.
9440         Add some comments here and there.
9441
9442         * tests/check/gst/gstsystemclock.c: (mixed_thread),
9443         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
9444         Add testcase for this.
9445
9446 2007-03-22  Wim Taymans  <wim@fluendo.com>
9447
9448         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
9449         Handle errors from the clock sync better, only UNSCHEDULED indicates a
9450         WRONG_STATE and can silently pause the task. All other cases should
9451         error out.
9452
9453 2007-03-22  Wim Taymans  <wim@fluendo.com>
9454
9455         Patch by: Ville Syrjala <syrjala at sci dot fi>
9456
9457         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
9458         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
9459         Improve debugging.
9460
9461 2007-03-21  Michael Smith  <msmith@fluendo.com>
9462
9463         * docs/pwg/advanced-types.xml:
9464           Fix some errors in the typefinding docs pointed out on irc.
9465
9466 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
9467
9468         * libs/gst/base/gstbasesrc.c:
9469         Clarify FIXME comment in the face of having added unlock_stop()
9470
9471 2007-03-21  Wim Taymans  <wim@fluendo.com>
9472
9473         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
9474         Prepare for release where we warn against possible app breakage in the
9475         case of live pipelines along with an env var to enable/disable live
9476         preroll mode (GST_COMPAT=[no-]live-preroll).
9477
9478 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9479
9480         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
9481         So we should use correct constants for checking for None offset.
9482
9483 2007-03-20  Wim Taymans  <wim@fluendo.com>
9484
9485         * docs/design/part-block.txt:
9486         Mention the fact that the newly switched element should be set to at
9487         least PAUSED.
9488
9489 2007-03-20  Wim Taymans  <wim@fluendo.com>
9490
9491         * gst/gst.c:
9492         Fix compilation with registry disabled as spotted by Saur.
9493
9494 2007-03-20  Wim Taymans  <wim@fluendo.com>
9495
9496         Patch by: Olivier Crete <tester at tester dot ca>
9497
9498         * gst/gstelement.c: (gst_element_sync_state_with_parent):
9499         Look at the pending state too when syncing the element state to the
9500         parent. Fixes #420133.
9501
9502 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
9503
9504         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
9505         (gst_base_sink_change_state):
9506         * libs/gst/base/gstbasesink.h:
9507         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
9508         (gst_base_src_default_event), (gst_base_src_unlock_stop),
9509         (gst_base_src_deactivate):
9510         * libs/gst/base/gstbasesrc.h:
9511         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
9512         for sub-classes to correctly clear any state they set trying to
9513         unlock, such as clearing out unlock commands from a command fd.
9514         API: basesrc::unlock_stop
9515         API: basesink::unlock_stop
9516
9517         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
9518         (gst_fd_sink_render), (gst_fd_sink_unlock),
9519         (gst_fd_sink_unlock_stop):
9520         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
9521         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
9522         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
9523
9524         Implement unlock_stop in fdsrc and fdsink.
9525         Implement seeking in fdsrc when a seekable fd is passed, as in
9526         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
9527
9528 2007-03-19  Wim Taymans  <wim@fluendo.com>
9529
9530         Patch by: Evan Nemerson <evan at coeus dash group dot com>
9531
9532         * gst/gstelement.c: (gst_element_class_init):
9533         Fix pad-added and pad-removed signal signatures so that the pad type is
9534         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
9535
9536 2007-03-19  Wim Taymans  <wim@fluendo.com>
9537
9538         * docs/gst/gstreamer-sections.txt:
9539         Add new element field and method.
9540
9541         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
9542         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
9543         (gst_bin_recalc_state), (gst_bin_get_state_func),
9544         (gst_bin_element_set_state), (gst_bin_change_state_func),
9545         (gst_bin_continue_func), (bin_bus_handler),
9546         (bin_push_state_continue), (bin_handle_async_start),
9547         (bin_handle_async_done), (gst_bin_handle_message_func):
9548         Make async state changes a bit smarter by using new ASYNC_START and
9549         ASYNC_DONE messages. This reduces the number of times we run the state
9550         recalculation thread.
9551         Don't change state of element with a pending ASYNC_START message.
9552         Deprecate STATE_DIRTY messages.
9553         
9554         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
9555         (gst_element_get_state_func), (gst_element_continue_state),
9556         (gst_element_lost_state), (gst_element_set_state_func),
9557         (gst_element_change_state):
9558         * gst/gstelement.h:
9559         Keep the state that was last set by the app in a new element field.
9560         Don't allow state changes when handling an element event.
9561         Post ASYNC_START and ASYNC_DONE messages.
9562         Change lost_state so that we go to PAUSED and wait for the parent to set
9563         us to PLAYING again (so latency calculation can be performed)
9564         Export gst_element_change_state() method so that subclasses can use it.
9565         API: gst_element_change_state()
9566         API: GST_STATE_TARGET
9567
9568         * gst/gstpipeline.c: (gst_pipeline_class_init),
9569         (reset_stream_time), (gst_pipeline_change_state),
9570         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
9571         Using the new ASYNC_START message we can reset the base_time when
9572         needed. This can then be used to implement base_time redistribution in
9573         flushing seeks so that we can remove the explicit seek handling.
9574         Perform latency query and configuration when going to PLAYING.
9575
9576         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9577         (gst_base_sink_query), (gst_base_sink_change_state):
9578         Post new ASYNC_START/ASYNC_DONE messages.
9579
9580         * tests/check/generic/sinks.c: (GST_START_TEST):
9581         Fix test because the bin will not set the async element to PLAYING right
9582         away.
9583
9584         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
9585         Make the message check a little stronger.
9586         Handle ASYNC messages.
9587
9588         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
9589         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
9590         Expect ASYNC_DONE messages.
9591
9592 2007-03-19  Wim Taymans  <wim@fluendo.com>
9593
9594         * docs/gst/gstreamer-sections.txt:
9595         * gst/gstmessage.c: (gst_message_new_async_start),
9596         (gst_message_new_async_done), (gst_message_parse_info),
9597         (gst_message_parse_async_start):
9598         * gst/gstmessage.h:
9599         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
9600         support.
9601
9602 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
9603
9604         * tools/gst-inspect.c:
9605         (print_plugin_automatic_install_info_codecs):
9606           Now that we don't check for the 'Codec' keyword any longer in the
9607           klass, we shouldn't spew a warning if the klass isn't a decoder or
9608           encoder (since it might be a Source/Network, for example).
9609
9610 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
9611
9612         * tools/gst-inspect.c:
9613         (print_plugin_automatic_install_info_codecs):
9614           Don't require decoder/demuxer/depayloader elements or
9615           encoder/muxer/paylader elements to have 'Codec' as part of their
9616           factory class string when introspecting a plugin's capabilities.
9617           draft-klass.txt mentions that it might be removed in future, and
9618           flump3dec doesn't have it as part of its class string, so chances
9619           are others might also not have it.
9620
9621 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9622
9623         * po/af.po:
9624         * po/az.po:
9625         * po/bg.po:
9626         * po/ca.po:
9627         * po/cs.po:
9628         * po/de.po:
9629         * po/en_GB.po:
9630         * po/fr.po:
9631         * po/it.po:
9632         * po/nb.po:
9633         * po/nl.po:
9634         * po/ru.po:
9635         * po/sq.po:
9636         * po/sr.po:
9637         * po/sv.po:
9638         * po/tr.po:
9639         * po/uk.po:
9640         * po/vi.po:
9641         * po/zh_CN.po:
9642         * po/zh_TW.po:
9643           Update translations from translation project
9644
9645 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
9646
9647         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
9648         (gst_child_proxy_set_property):
9649           Invert precondition check to be alike the ones in the mimiced gobject
9650           api.
9651
9652 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
9653
9654         * docs/design/draft-tagreading.txt:
9655         * docs/random/ensonic/audiobaseclasses.txt:
9656           Do some Architect work.
9657
9658         * gst/gstobject.c: (gst_object_set_name):
9659           Add a WARNING.
9660
9661         * gst/gstpad.c:
9662           Add docs that point from gst_pad_get_range to gst_pad_pull_range
9663
9664 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
9665
9666         * gst/gstsystemclock.c: (gst_system_clock_init),
9667         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
9668         Defer starting the async system clock thread until the first async
9669         wait is scheduled. Fixes #414986.
9670
9671 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
9672
9673         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
9674         (gst_single_queue_free):
9675           Fix small leak (free GstSingleQueue structure too, not only contents).
9676
9677 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
9678
9679         * gst/gstbin.c:(gst_bin_add):
9680         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
9681         * win32/common/libgstbase.def:
9682         * win32/common/libgstreamer.def:
9683         Add new exported functions.
9684
9685 2007-03-09  Wim Taymans  <wim@fluendo.com>
9686
9687         * docs/plugins/gstreamer-plugins-sections.txt:
9688         Fix GstTee docs.
9689
9690 2007-03-09  Wim Taymans  <wim@fluendo.com>
9691
9692         * docs/gst/gstreamer-sections.txt:
9693         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
9694         * gst/gstbuffer.h:
9695         Add metadata copy functions. Fixes #393099.
9696         API: gst_buffer_copy_metadata()
9697
9698         * gst/gstutils.c: (gst_buffer_stamp):
9699         * libs/gst/base/gstbasetransform.c:
9700         (gst_base_transform_prepare_output_buffer):
9701         Use new metadata copy functions.
9702
9703 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9704
9705         * plugins/elements/gstidentity.c: (gst_identity_class_init),
9706         (gst_identity_init), (gst_identity_check_perfect),
9707         (gst_identity_check_imperfect_timestamp),
9708         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
9709         (gst_identity_set_property), (gst_identity_get_property):
9710         * plugins/elements/gstidentity.h:
9711         Separate out check-imperfect-timestamp and check-imperfect-offset.
9712         Put back check-perfect as it was to keep compatibility.
9713
9714 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
9715
9716         * gst/gstelement.c: (gst_element_dispose):
9717         There's no need to warn if VOID_PENDING is not NONE here, as
9718         long as the state is NULL it's ok, and that's checked immediately
9719         above.
9720
9721 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9722
9723         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9724         Fix check for perfect stream to ignore buffers with -1 
9725         offsets/offset ends when checking data contiguity.
9726
9727 2007-03-08  Wim Taymans  <wim@fluendo.com>
9728
9729         * tools/gst-launch.c: (event_loop):
9730         Print INFO messages.
9731
9732 2007-03-08  Wim Taymans  <wim@fluendo.com>
9733
9734         * libs/gst/base/gstbasetransform.c:
9735         (gst_base_transform_sink_eventfunc),
9736         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
9737         (gst_base_transform_activate):
9738         * libs/gst/base/gstbasetransform.h:
9739         Add support for dropping buffers with custom GstFlowReturn.
9740         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
9741         buffers or dropped buffers.
9742
9743         * docs/libs/gstreamer-libs-sections.txt:
9744         docs for new custom return code.
9745
9746         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
9747         Use drop support in base class to implement drop-probability.
9748
9749 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
9750
9751         * gst/gst.c: (load_plugin_func):
9752         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
9753         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
9754         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
9755           Remove newlines at end of debug log strings.
9756
9757 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9758
9759         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9760         Only post bus message at max, once per buffer received.
9761
9762 2007-03-07  Wim Taymans  <wim@fluendo.com>
9763
9764         * docs/design/Makefile.am:
9765         * docs/design/part-synchronisation.txt:
9766         Add doc about synchronisation
9767
9768         * docs/design/draft-latency.txt:
9769         * docs/design/part-TODO.txt:
9770         * docs/design/part-clocks.txt:
9771         * docs/design/part-events.txt:
9772         * docs/design/part-gstbus.txt:
9773         * docs/design/part-gstpipeline.txt:
9774         * docs/design/part-live-source.txt:
9775         * docs/design/part-messages.txt:
9776         * docs/design/part-overview.txt:
9777         * docs/design/part-streams.txt:
9778         * docs/design/part-trickmodes.txt:
9779         Documentation updates.
9780
9781 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
9782
9783         * gstreamer.doap:
9784         Update the doap file.
9785
9786 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9787
9788         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9789         Rename non-perfect to imperfect for Mike and for the sanctity of the
9790         language.
9791         Also make sure bus message gets emitted for data-incontiguities.
9792
9793 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9794
9795         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
9796         (gst_identity_start):
9797         * plugins/elements/gstidentity.h:
9798         Emit bus message if check-perfect is true and we encounter a
9799         non-perfect stream between 2 consecutive buffers.
9800         Fixes #415394.
9801
9802 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
9803
9804         * configure.ac:
9805         Back to CVS
9806
9807 === release 0.10.12 ===
9808
9809 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
9810
9811         * configure.ac:
9812           releasing 0.10.12, "Inevitable Demise"
9813
9814 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
9815
9816         * configure.ac:
9817          Version 0.10.11.2 (0.10.12 pre-release)
9818          Bump libtool versioning.
9819
9820 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
9821
9822         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
9823           Log flow-names and not numbers.
9824
9825 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9826
9827         * configure.ac:
9828           Convert to new AG_GST style.
9829
9830 2007-02-28  Wim Taymans  <wim@fluendo.com>
9831
9832         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
9833         Don't unref query twice.
9834
9835 2007-02-28  Wim Taymans  <wim@fluendo.com>
9836
9837         * gst/gstvalue.c: (gst_value_transform_object_string),
9838         (_gst_value_initialize):
9839         Implement GstObject -> string transform so we print object names
9840         when serializing GValues containing GstObjects.
9841
9842 2007-02-28  Wim Taymans  <wim@fluendo.com>
9843
9844         * docs/gst/gstreamer-sections.txt:
9845         Add new stuff to docs.
9846
9847 2007-02-28  Wim Taymans  <wim@fluendo.com>
9848
9849         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
9850         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
9851         (gst_base_sink_change_state):
9852         Improve latency query code.
9853         Don't leak latency events.
9854
9855         * tests/check/gst/gstbin.c: (GST_START_TEST):
9856         Improve debugging.
9857
9858 2007-02-28  Wim Taymans  <wim@fluendo.com>
9859
9860         * gst/gstelement.c: (gst_element_message_full),
9861         (gst_element_get_state_func):
9862         * gst/gstelement.h:
9863         Improve docs a little. Added Since: for new macro.
9864
9865         * gst/gstobject.c: (gst_object_sink):
9866         * gst/gstpipeline.c: (gst_pipeline_change_state),
9867         (gst_pipeline_set_new_stream_time):
9868         * gst/gstpipeline.h:
9869         Improve debugging and docs.
9870
9871         * gst/gstutils.c: (gst_element_state_change_return_get_name):
9872         Improve debugging.
9873
9874 2007-02-28  Wim Taymans  <wim@fluendo.com>
9875
9876         * gst/gstelement.c: (gst_element_message_full),
9877         (gst_element_set_locked_state), (gst_element_get_state_func),
9878         (gst_element_change_state):
9879         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
9880         Documentation updates.
9881         Small code cleanups.
9882
9883         * gst/gstmessage.c: (gst_message_new_info),
9884         (gst_message_parse_info):
9885         * gst/gstmessage.h:
9886         API: gst_message_new_info()
9887         API: gst_message_parse_info()
9888         Add INFO message create and parse code.
9889
9890 2007-02-28  Wim Taymans  <wim@fluendo.com>
9891
9892         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
9893         (bin_query_latency_done):
9894         Also report the live parameter of a latency query.
9895
9896 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9897
9898         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
9899           Copy the current generic/states example from -base and adapt so
9900           we can use the exact same code everywhere.
9901           Check a STATES_IGNORE_ELEMENTS env var which can be used
9902           to ignore certain element factories for this test, which is
9903           what is being done in -base
9904         * tests/check/Makefile.am:
9905           Mention this environment variable.
9906
9907 2007-02-27  Wim Taymans  <wim@fluendo.com>
9908
9909         * docs/gst/gstreamer-sections.txt:
9910         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
9911         (gst_bus_timed_pop), (gst_bus_pop):
9912         * gst/gstbus.h:
9913         API: gst_bus_timed_pop()
9914         Implement gst_bus_timed_pop() to do a blocking timed wait for a
9915         message to arrive on the bus.
9916
9917         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
9918         (gst_bus_suite):
9919         Two unit tests for new _timed_pop() function.
9920
9921 2007-02-23  Wim Taymans  <wim@fluendo.com>
9922
9923         * gst/gstpipeline.c: (gst_pipeline_change_state),
9924         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
9925         Don't ref a NULL clock in _provide_clock_func().
9926         Don't allow an INVALID delay.
9927         Don't try to calculate base_time with an invalid start_time.
9928         Also distribute and notify a NULL clock when it was selected.
9929
9930         * tools/gst-launch.c: (event_loop):
9931         Don't crash when a NULL clock was selected in the pipeline.
9932
9933 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
9934
9935         * docs/design/Makefile.am:
9936         * docs/design/draft-missing-plugins.txt:
9937         * docs/random/draft-missing-plugins.txt:
9938           Some small updates: update plugin system identifier prefix
9939           ('gstreamer.net' to 'gstreamer'), mention our new install
9940           API in libgstbaseutils rather than libgimme-codec, add
9941           reference to the online docs.
9942
9943 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9944
9945         * win32/common/config.h:
9946           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
9947           use moap cl ci to only check in what is mentioned in the ChangeLog.
9948
9949 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9950
9951         * docs/gst/gstreamer-sections.txt:
9952         * gst/gstelement.h:
9953           Fix up documentation to link to the correct GstGError section.
9954           Add GST_ELEMENT_INFO macro since someone else added a Info message.
9955
9956 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9957
9958         * tools/gst-launch.c: (event_loop):
9959           Make sure that we actually show the important message part of a
9960           warning message.
9961           No need to check if the gerror is not NULL to free; first of all
9962           g_free accepts NULL; and second the default error handler would
9963           segfault if gerror was NULL.
9964
9965 2007-02-21  Wim Taymans  <wim@fluendo.com>
9966
9967         * docs/gst/gstreamer-sections.txt:
9968         Removed docs as well.
9969
9970 2007-02-21  Wim Taymans  <wim@fluendo.com>
9971
9972         * gst/gstmessage.c: (gst_message_parse_duration):
9973         * gst/gstmessage.h:
9974         Remove new messages for release.
9975
9976 2007-02-20  Wim Taymans  <wim@fluendo.com>
9977
9978         * docs/design/part-gstghostpad.txt:
9979         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
9980         (gst_ghost_pad_new_full):
9981         Make the ghostpad a parent of the internal pad again for better backward
9982         compatibility. Don't write code that relies on this however.
9983
9984         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
9985         (gst_pad_link_check_hierarchy):
9986         Require that parents should be GstElements in the hierarchy check.
9987
9988 2007-02-20  Wim Taymans  <wim@fluendo.com>
9989
9990         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
9991         (gst_bin_change_state_func), (bin_query_min_max_init),
9992         (bin_query_latency_fold), (bin_query_latency_done),
9993         (gst_bin_query):
9994         Improve debug info.
9995         Implement latency query.
9996
9997 2007-02-20  Wim Taymans  <wim@fluendo.com>
9998
9999         * docs/design/part-gstghostpad.txt:
10000         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
10001         (gst_ghost_pad_internal_do_activate_push),
10002         (gst_ghost_pad_internal_do_activate_pull),
10003         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
10004         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
10005         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
10006         Do not set the internal pad as a parent anymore so we can avoid
10007         hierarchy linking errors when the ghostpad has no parent yet. This also
10008         fixes failed activation because of unlinked internal pads, which in
10009         turn fixes the impossible case where you have to activate a pad before
10010         you can add it to a running element.
10011         Also fix the docs.
10012
10013         * gst/gstpad.c: (pre_activate), (post_activate),
10014         (gst_pad_set_active), (gst_pad_activate_pull),
10015         (gst_pad_activate_push), (gst_pad_check_pull_range):
10016         Add some more debug info.
10017         Mark activation mode in pre_activate so that we don't try to activate in
10018         endless loops. Fixes #385084.
10019
10020 2007-02-19  Wim Taymans  <wim@fluendo.com>
10021
10022         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
10023         (gst_base_transform_check_get_range):
10024         Implement a checkgetrange function instead of relying on the default
10025         core behaviour that assumes we can operate in pull mode if we have a
10026         getrange function. First step at fixing #385084.
10027
10028 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
10029
10030         * gst/gstchildproxy.h:
10031         * libs/gst/base/gstbasesink.h:
10032         * libs/gst/base/gstbasesrc.h:
10033         * libs/gst/base/gstbasetransform.h:
10034         More docs coverage and some ChangeLog surgery (add missing names)
10035
10036 2007-02-15  Wim Taymans  <wim@fluendo.com>
10037
10038         * docs/design/part-TODO.txt:
10039         * docs/design/part-activation.txt:
10040         * docs/design/part-block.txt:
10041         * docs/design/part-buffering.txt:
10042         * docs/design/part-clocks.txt:
10043         * docs/design/part-element-source.txt:
10044         * docs/design/part-events.txt:
10045         * docs/design/part-gstbin.txt:
10046         * docs/design/part-gstbus.txt:
10047         * docs/design/part-gstpipeline.txt:
10048         * docs/design/part-live-source.txt:
10049         * docs/design/part-messages.txt:
10050         * docs/design/part-overview.txt:
10051         * docs/design/part-qos.txt:
10052         * docs/design/part-query.txt:
10053         * docs/design/part-states.txt:
10054         * docs/design/part-trickmodes.txt:
10055         Some doc updates. Start renaming from stream_time to running_time where
10056         it was used wrongly.
10057
10058 2007-02-15  Wim Taymans  <wim@fluendo.com>
10059
10060         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
10061         Answer LATENCY query.
10062
10063 2007-02-15  Wim Taymans  <wim@fluendo.com>
10064
10065         * tests/check/gst/gstevent.c: (event_probe), (test_event),
10066         (GST_START_TEST):
10067         Improve debugging.
10068
10069 2007-02-15  Wim Taymans  <wim@fluendo.com>
10070
10071         * gst/gstpad.c: (gst_pad_get_internal_links_default),
10072         (gst_pad_dispatcher):
10073         Improve debugging of default pad dispatcher and query functions.
10074
10075 2007-02-15  Wim Taymans  <wim@fluendo.com>
10076
10077         * docs/gst/gstreamer-sections.txt:
10078         Remove old unused method.
10079
10080 2007-02-13  Wim Taymans  <wim@fluendo.com>
10081
10082         * tests/check/gst/gstsegment.c: (GST_START_TEST):
10083         Fix check
10084
10085 2007-02-13  Wim Taymans  <wim@fluendo.com>
10086
10087         * docs/design/part-seeking.txt:
10088         Some small update.
10089
10090         * gst/gstsegment.c: (gst_segment_set_seek):
10091         Revert old bogus change that should make seeking work again.
10092
10093 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
10094
10095         * docs/random/ensonic/dynlink.txt:
10096         * docs/random/ensonic/interfaces.txt:
10097         * docs/random/ensonic/receipies.txt:
10098           Possible dynamic reconnection api, plus some type fixes the other two
10099           docs.
10100
10101 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
10102
10103         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
10104         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
10105         Also check for an absolute path following file:// in the filesrc
10106         element. Remove redundant check and call g_path_is_absolute() on the
10107         unescaped location.
10108
10109 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
10110
10111         * docs/design/draft-klass.txt:
10112           Add existing category analysis.
10113           
10114         * gst/gstcaps.c:
10115           Fix doc example, framerate is a fraction.
10116
10117 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
10118
10119         * configure.ac:
10120         * docs/gst/Makefile.am:
10121         * docs/gst/gstreamer-sections.txt:
10122         * docs/libs/Makefile.am:
10123           Erm, forgot a bunch of --extra-dir.
10124
10125 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
10126
10127         * configure.ac:
10128         * docs/gst/Makefile.am:
10129         * docs/libs/Makefile.am:
10130         * docs/plugins/Makefile.am:
10131           Add crossreferences to glib/gobject docs.
10132
10133 2007-02-12  Wim Taymans  <wim@fluendo.com>
10134
10135         * docs/design/draft-latency.txt:
10136         Small update.
10137
10138         * docs/libs/gstreamer-libs-sections.txt:
10139         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
10140         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
10141         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
10142         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
10143         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
10144         (gst_base_sink_get_position), (gst_base_sink_query),
10145         (gst_base_sink_change_state):
10146         * libs/gst/base/gstbasesink.h:
10147         API: gst_base_sink_query_latency() to let subclasses query the upstream
10148         latency.
10149         API: gst_base_sink_get_latency() to let subclasses query the configured
10150         latency in the sink.
10151         Implement query and set latency.
10152         Update some docs.
10153         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
10154         don't continue preroll when we are flushing. Fixes #405284.
10155
10156         * tests/check/pipelines/stress.c: (change_state_timeout),
10157         (quit_timeout), (GST_START_TEST), (stress_suite):
10158         Test for #405284.
10159
10160 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
10161
10162         Patch by: René Stadler <mail at renestadler de>
10163
10164         * docs/gst/gstreamer-sections.txt:
10165         * gst/gsttaglist.c: (_gst_tag_initialize):
10166         * gst/gsttaglist.h:
10167           API: add GST_TAG_REFERENCE_LEVEL (#403597).
10168
10169 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
10170
10171         * docs/libs/Makefile.am:
10172           Fix path to core docs.
10173
10174         * gst/gstbin.c: (gst_bin_get_by_interface),
10175         (gst_bin_iterate_all_by_interface):
10176           Refix docs by also renaming 'interface' to 'iface' in implementation.
10177
10178         * docs/gst/gstreamer-sections.txt:
10179         * gst/gstcaps.c:
10180         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
10181         * gst/gstchildproxy.h:
10182         * gst/gstelementfactory.c:
10183         * gst/gstpadtemplate.h:
10184         * libs/gst/controller/gstcontroller.c:
10185         (gst_controlled_property_new):
10186           Document more.
10187
10188 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
10189
10190         * gst/gstbin.h:(gst_bin_get_by_interface),
10191         (gst_bin_iterate_all_by_interface):
10192         Replace interface parameter name by iface as interface is 
10193         a reserved keyword in Visual Studio for C++ projects so it removes
10194         a build error for application developpers using VS.
10195         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
10196         Fix a bug on Windows in uri format check. Now the prefix checked
10197         is file:// and next we check if the path after file:// is absolute.
10198         * win32/common/libgstbase.def:
10199         * win32/common/libgstdataprotocol.def:
10200         * win32/common/libgstgstreamer.def:
10201         Add new exported functions.
10202
10203 2007-02-09  Andy Wingo  <wingo@pobox.com>
10204
10205         * tests/check/pipelines/simple-launch-lines.c
10206         (simple_launch_lines_suite, test_tee): Disable tee test until I
10207         have time to fix it :-(
10208
10209         * tests/check/Makefile.am (noinst_HEADERS): 
10210         * tests/check/libs/libsabi.c: 
10211         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
10212         * tests/check/gst/gstabi.c: 
10213         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
10214
10215         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
10216         tests for push and pull tee behavior.
10217
10218         * plugins/elements/gsttee.h: 
10219         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
10220         mark as deprecated as well as unimplemented. It was a crack idea.
10221         Add support for tee operating in pull mode, off by default.
10222
10223         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
10224         normal-case logs down to LOG, raise errors to WARNING.
10225         (gst_registry_xml_read_cache): Don't log before calling a function
10226         that logs.
10227
10228         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
10229         exit (registry finalize).
10230         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
10231         DEBUG log when we emit signals that people don't even have the
10232         chance to connect to.
10233         (gst_registry_scan_path_level): Less logging in the normal case.
10234
10235 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
10236
10237         Patch by: Michal Benes <michal dot benes at itonis dot tv>
10238
10239         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
10240         Correctly generate EOS for non-seekable files. We don't have a total
10241         length for them and would get an unexpected end of file if we only
10242         special-cased for regular files. (Fixes: #404569)
10243
10244 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
10245
10246         * tests/check/elements/filesrc.c: (GST_START_TEST),
10247         (filesrc_suite):
10248         Add unit test for the GstURIHandler interface in filesrc. This also
10249         tests the newly added file://localhost/foo/bar support.
10250
10251 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
10252
10253         * gst/gstelementfactory.h:
10254           The klass string is not a hierarchy. Add reference to the design doc
10255           for more information and common types.
10256
10257 2007-02-02  Wim Taymans  <wim@fluendo.com>
10258
10259         * gst/gstquery.c: (gst_query_new_latency):
10260         Remove old structure field.
10261
10262 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
10263
10264         * tools/gst-launch.1.in:
10265           Give example for network streaming (#351998)
10266
10267 2007-02-02  Wim Taymans  <wim@fluendo.com>
10268
10269         * docs/gst/gstreamer-sections.txt:
10270         Add docs for new methods.
10271
10272         * gst/gstevent.c: (gst_event_new_latency),
10273         (gst_event_parse_latency):
10274         * gst/gstevent.h:
10275         Add new LATENCY event to configure latency in a pipeline.
10276         API: gst_event_new_latency
10277         API: gst_event_parse_latency
10278
10279         * gst/gstmessage.c: (gst_message_new_buffering),
10280         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
10281         (gst_message_new_latency), (gst_message_parse_buffering),
10282         (gst_message_parse_lost_preroll):
10283         * gst/gstmessage.h:
10284         Added messages used in draft-latency.
10285         API: gst_message_new_lost_preroll
10286         API: gst_message_parse_lost_preroll
10287         API: gst_message_new_prerolled
10288         API: gst_message_new_latency
10289
10290         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
10291         (gst_query_parse_latency):
10292         * gst/gstquery.h:
10293         Implemented new latency query as in design doc.
10294         API: gst_query_new_latency
10295         API: gst_query_set_latency
10296         API: gst_query_parse_latency
10297
10298 2007-02-02  Wim Taymans  <wim@fluendo.com>
10299
10300         * docs/design/draft-latency.txt:
10301         Slight redesign to allow for dynamic latency adjustments.
10302
10303         * docs/design/part-negotiation.txt:
10304         Fix some typos.
10305
10306 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
10307
10308         reviewed by: Wim Taymans <wim@fluendo.com>
10309
10310         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
10311         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
10312         Allow file://localhost/foo/bar URLs and correctly fail for every other
10313         hostname that one sets. This was gnomevfssrc is linked for those if
10314         installed as it can handle it (#403172)
10315
10316 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
10317
10318         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
10319
10320         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10321         (unref_data), (gst_collect_pads_add_pad_full):
10322         * libs/gst/base/gstcollectpads.h:
10323         Don't put the previously added destroy notify in the GstCollectData
10324         struct as all it's padding is already used and we don't want to break
10325         ABI. Instead put in the pad's GObject data for now. This should be
10326         cleaned up for 0.11 (#402393).
10327
10328 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
10329
10330         reviewed by: Wim Taymans <wim@fluendo.com>
10331
10332         * docs/libs/gstreamer-libs-sections.txt:
10333         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10334         (unref_data), (gst_collect_pads_add_pad),
10335         (gst_collect_pads_add_pad_full):
10336         * libs/gst/base/gstcollectpads.h:
10337         API: Add function to specify a destroy notification for custom
10338         GstCollectData when adding new pads in GstCollectPads (#402393).
10339
10340 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
10341
10342         * po/sv.po:
10343           Update Swedish translation (#378255).
10344
10345 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
10346
10347         * docs/design/draft-klass.txt:
10348           Fix the previous change, this is a list of categories and not a hierarchy.
10349
10350 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
10351
10352         * docs/design/draft-klass.txt:
10353           Add info about how to get a list of used classes.
10354
10355 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
10356
10357         * plugins/elements/gsttypefindelement.c:
10358         (gst_type_find_element_chain_do_typefinding),
10359         (gst_type_find_element_change_state):
10360           Don't leak found caps in chain function (no idea why that never
10361           showed up as a leak anywhere).
10362
10363 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
10364
10365         * gst/gstplugin.h:
10366           Fix and expand GstPluginDesc API docs.
10367
10368 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
10369
10370         * gst/gstcaps.c:
10371         * gst/gstelementfactory.c:
10372         * gst/gstpadtemplate.h:
10373           api doc fixes
10374
10375         * libs/gst/controller/gstcontroller.c:
10376         (gst_controlled_property_new):
10377         * tests/examples/controller/audio-example.c:
10378           comment fixes
10379
10380 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
10381
10382         * configure.ac:
10383           comment about refining the xml deps
10384
10385         * docs/manuals.mak:
10386           comments about moving away from jade for docs
10387         
10388         * gst/gst.c:
10389           recommit the ifdefs to use the binary registry
10390         
10391         * gst/gstbin.c: (gst_bin_change_state_func):
10392           this break is obsolete
10393
10394         * gst/gstelementfactory.h:
10395           better GST_ELEMENT_DETAILS docs, add comment about translation
10396
10397         * gst/gstinfo.h:
10398           remove eol slash
10399
10400         * gst/gstobject.c: (gst_signal_object_get_type):
10401           add G_UNLIKELY as usual
10402
10403         * gst/gstpad.c: (gst_pad_event_default):
10404           add fall trhu comment
10405
10406         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10407         (gst_registry_binary_initialize_magic),
10408         (gst_registry_binary_save_string),
10409         (gst_registry_binary_save_pad_template),
10410         (gst_registry_binary_save_feature),
10411         (gst_registry_binary_save_plugin),
10412         (gst_registry_binary_write_cache),
10413         (gst_registry_binary_check_magic),
10414         (gst_registry_binary_load_pad_template),
10415         (gst_registry_binary_load_feature),
10416         (gst_registry_binary_load_plugin),
10417         (gst_registry_binary_read_cache):
10418           comment typo and formatting
10419
10420         * gst/gstutils.c: (gst_element_state_get_name),
10421         (gst_element_state_change_return_get_name):
10422           remove obsolete breaks
10423
10424         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
10425           add FIXME 0.11 and remove cpp comment
10426
10427 2007-01-29  Edward Hervey  <edward@fluendo.com>
10428
10429         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10430         Fix print statement in an even more portable way.
10431
10432 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
10433
10434         * docs/gst/gstreamer-sections.txt:
10435         * gst/gstutils.h:
10436           API: add GST_ROUND_DOWN_* macros (#401781).
10437
10438 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
10439
10440         * docs/gst/gstreamer.types.in:
10441         * gst/gstregistry.c: (gst_registry_class_init):
10442           Document registry signals and make gtk-doc pick them up (#401381).
10443
10444 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
10445
10446         * docs/pwg/building-testapp.xml:
10447           Add some audioconverts and audioresample to the pipeline, and some
10448           more comments and error handling.
10449
10450 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
10451
10452         * docs/manual/manual.xml:
10453         * docs/pwg/pwg.xml:
10454           Fix typo (#400987).
10455
10456 2007-01-26  Wim Taymans  <wim@fluendo.com>
10457
10458         * gst/gstcaps.c: (gst_static_caps_get):
10459         Init caps flags too.
10460
10461 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
10462
10463         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
10464
10465         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
10466         If not using mmap'ed files try to seek to the end instead of the
10467         start to determine whether we can seek at all. This fixes the case
10468         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
10469         seeks for everything afterwards fail. Fixes #400656
10470
10471 2007-01-25  Wim Taymans  <wim@fluendo.com>
10472
10473         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
10474         Add some refcount debugging.
10475         Make gst_static_caps_get threadsafe, which is needed when autoplugging
10476         in multiple streaming threads.
10477
10478 2007-01-25  Wim Taymans  <wim@fluendo.com>
10479
10480         Patch by: David Schleef <ds at schleef dot org>
10481
10482         * docs/libs/gstreamer-libs-sections.txt:
10483         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
10484         * libs/gst/base/gstadapter.h:
10485         API: gst_adapter_copy() that can reduce the amount of memcpy when
10486         getting data from the adapter. Fixes #388201.
10487
10488 2007-01-25  Edward Hervey  <edward@fluendo.com>
10489
10490         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10491         In print statements, "%x" is for guint. Fixes build on macosx.
10492
10493 2007-01-24  Edward Hervey  <edward@fluendo.com>
10494
10495         * plugins/elements/gstmultiqueue.c:
10496         (gst_multi_queue_loop):
10497         Small fix.
10498         (single_queue_overrun_cb), (single_queue_underrun_cb),
10499         (single_queue_check_full), (gst_single_queue_new):
10500         Implement single queue growth system.
10501         This uses the extra-size properties, and will grow single queues by
10502         that much if one goes full whereas there are others empty. This is
10503         called extra-mode in the code.
10504         When a single queue's levels go back below the initial max-size
10505         limits, it is no longer in extra-mode. This is to ensure we don't
10506         consume too much memory.
10507         Fixes #399875
10508
10509 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
10510
10511         * gst/gst.c: (gst_init_get_option_group):
10512           Make warning about late g_thread_init() calls a bit more explicit,
10513           so that it's more obvious to application developers what they need
10514           to do if a user files a bug against their application.
10515
10516 2007-01-22  Edward Hervey  <edward@fluendo.com>
10517
10518         * plugins/elements/gstmultiqueue.c:
10519         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
10520         Remove previous hack of unsetting the flushing flag for the source pad
10521         instead of activating it. Instead, fix the source pad activate function
10522         so that it no longer depends on having a parent set or not.
10523
10524 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
10525
10526         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
10527
10528         * docs/manual/basics-bus.xml:
10529           Fix example code, gst_element_unref() doesn't exist any longer.
10530
10531 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
10532
10533         Patch by: Mark Nauwelaerts <manauw at skynet be>
10534
10535         * gst/gstpad.c:
10536           Fix two docs typoes (#399094).
10537
10538 2007-01-19  Edward Hervey  <edward@fluendo.com>
10539
10540         * docs/faq/gst-uninstalled:
10541         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
10542         depending on libgstbaseutils can work in uninstalled environment.
10543
10544 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
10545
10546         * gst/gsttaglist.h:
10547         * gst/gsttagsetter.c:
10548         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
10549         statement for new tag.
10550
10551 2007-01-17  Edward Hervey  <edward@fluendo.com>
10552
10553         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
10554         When dynamically creating single queues, activate sinkpad before adding
10555         it.
10556         We should be doing the same thing for the source pad, but we can't
10557         since it would call a method which needs the parent to be set in order
10558         to work propertly. Instead of activating the source pad, we just unset
10559         the flushing flag, which is the minimal requirement for adding a pad
10560         to an element in a state greater than READY.
10561
10562 2007-01-17  Edward Hervey  <edward@fluendo.com>
10563
10564         * docs/faq/gst-uninstalled:
10565         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
10566         Mac OS X.
10567
10568 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
10569
10570         * tests/check/gst/gstabi.c:
10571         * tests/check/gst/struct_hppa.h:
10572         * tests/check/libs/libsabi.c:
10573         * tests/check/libs/struct_hppa.h:
10574           Add ABI structs for HPPA (see #393796).
10575
10576 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
10577
10578         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
10579           Actually write ABI structs to the file specified in the GST_ABI
10580           environment variable, as the message we print claims we would.
10581
10582 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10583
10584         * tests/check/gst/gsttask.c:
10585           Fix header comment.
10586
10587 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10588
10589         * gst/gsttaglist.c: (_gst_tag_initialize):
10590           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
10591           previous two entries.
10592
10593 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10594
10595         * docs/gst/gstreamer-sections.txt:
10596         * gst/gsttaglist.c: (_gst_tag_initialize):
10597         * gst/gsttaglist.h:
10598           Add tag support for beat-per-minute.
10599
10600 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10601
10602         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10603         (gst_registry_binary_initialize_magic),
10604         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
10605         (gst_registry_binary_save_pad_template),
10606         (gst_registry_binary_save_feature),
10607         (gst_registry_binary_save_plugin),
10608         (gst_registry_binary_write_cache),
10609         (gst_registry_binary_check_magic),
10610         (gst_registry_binary_load_pad_template),
10611         (gst_registry_binary_load_feature),
10612         (gst_registry_binary_load_plugin),
10613         (gst_registry_binary_read_cache):
10614         * gst/gstregistrybinary.h:
10615           Use glib types, cleanup comments, impement interfaces and uri-types.
10616
10617 2007-01-13  Andy Wingo  <wingo@pobox.com>
10618
10619         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
10620         getrange() to return buffers with other caps, while we fix
10621         demuxers and typefind, or otherwise change part-negotiation.txt.
10622
10623 2007-01-12  Andy Wingo  <wingo@pobox.com>
10624
10625         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
10626         Factor start/stop into this private function instead of partially
10627         in activate functions and partially in the change_state function.
10628         Fixes setup before the element has changed from READY->PAUSED, as
10629         is the case in pull-mode pipelines.
10630         (gst_base_transform_sink_activate_push)
10631         (gst_base_transform_src_activate_pull): Refactor to use
10632         gst_base_transform_activate().
10633         (gst_base_transform_change_state): Removed, not needed any more.
10634
10635         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10636         Truncate before fixating.
10637         
10638         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10639         Don't set_caps() if the result of fixating is ANY, as it's not
10640         supported, and not necessary in the case of a link with no
10641         template caps on either side. Fixes tests/check/libs/basesrc in
10642         some pull-mode tests.
10643
10644         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
10645         (gst_base_transform_init, gst_base_transform_sink_activate_push)
10646         (gst_base_transform_src_activate_pull): 
10647         Track the activation mode.
10648         (gst_base_transform_setcaps): In pull mode, when activating the
10649         src pad, after activating the sink pad, activate the sink pad's
10650         peer, as discussed in part-negotiation.txt.
10651
10652         * libs/gst/base/gstbasesrc.h: 
10653         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
10654         vmethod, as in basesink.
10655
10656         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
10657
10658         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
10659         mode, first proxy the setcaps to the peer pad.
10660         (gst_base_sink_pad_fixate): Add a fixate function that calls the
10661         new fixate vmethod.
10662         (gst_base_sink_default_activate_pull): Rename from
10663         gst_base_sink_activate_pull.
10664         (gst_base_sink_negotiate_pull): New function, performs negotiation
10665         in pull mode before calling ::activate_pull().
10666         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
10667         vmethod instead of the default implementation. I have no idea how
10668         this worked before. Negotiate before calling activate_pull.
10669
10670         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
10671         sink pads in pull mode. In addition to being correct, fixes
10672         filesrc ! decodebin ! identity ! fakesink.
10673         (gst_pad_get_range, gst_pad_pull_range): Don't call
10674         gst_pad_set_caps() if the caps changes; instead error out with
10675         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
10676
10677 2007-01-12  Andy Wingo  <wingo@pobox.com>
10678
10679         * docs/design/part-negotiation.txt: Update with more policy.
10680
10681 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10682
10683         * libs/gst/check/gstbufferstraw.h:
10684         * libs/gst/check/gstcheck.h:
10685           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
10686           belongs.
10687
10688 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10689
10690         * tests/check/Makefile.am:
10691         * tests/check/gst/.cvsignore:
10692         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
10693         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
10694         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
10695         (GST_START_TEST), (gst_tag_setter_suite):
10696           Add minimal unit test for beforementioned GstTagSetter bug.
10697
10698 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10699
10700         Patch by: René Stadler <mail at renestadler dot de>
10701
10702         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
10703           gst_tag_list_merge() returns a new list, so it's not the best idea
10704           to ingore its return value. Effectively meant that tags could only
10705           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
10706           Also add function guard to require a non-NULL taglist as input (has
10707           always been so due to gst_tag_list_copy(), just making it explicit).
10708
10709 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10710
10711         * docs/random/draft-missing-plugins.txt:
10712           Some additions: mention new API that is supposed to be used at the
10713           various stages; short blob about new gst-inspect introspection
10714           option; mention potential future problem with plugins that have
10715           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
10716
10717 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10718
10719         * tools/gst-inspect.c:
10720         (print_plugin_automatic_install_info_codecs),
10721         (print_plugin_automatic_install_info_protocols),
10722         (print_plugin_automatic_install_info), (main):
10723         Add --print-plugin-auto-install-info option to gst-inspect, so we can
10724         introspect plugin files and get machine-parsable output that corresponds
10725         to the last bit of the missing-plugin installer string (small gotcha:
10726         doesn't take into account ranks).
10727
10728 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
10729
10730         * configure.ac:
10731         * docs/gst/gstreamer-sections.txt:
10732         * gst/Makefile.am:
10733         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
10734         (gst_registry_lookup_locked):
10735         * gst/gstregistry.h:
10736         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10737         (gst_registry_binary_initialize_magic),
10738         (gst_registry_binary_save_string),
10739         (gst_registry_binary_save_pad_template),
10740         (gst_registry_binary_save_feature),
10741         (gst_registry_binary_save_plugin),
10742         (gst_registry_binary_write_cache),
10743         (gst_registry_binary_check_magic),
10744         (gst_registry_binary_load_pad_template),
10745         (gst_registry_binary_load_feature),
10746         (gst_registry_binary_load_plugin),
10747         (gst_registry_binary_read_cache):
10748         * gst/gstregistrybinary.h:
10749         * gst/gstregistryxml.c: (load_feature),
10750         (gst_registry_xml_read_cache):
10751           commit binary registry (disabled by default, see #359653)
10752
10753 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10754
10755         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
10756           Fix 'make check' too.
10757
10758 2007-01-10  Andy Wingo  <wingo@pobox.com>
10759
10760         * docs/design/part-negotiation.txt: Fix a typo, add a couple
10761         notes.
10762         
10763         * docs/design/part-negotiation.txt: Update with, um, one way that
10764         pull-mode negotiation might work?
10765
10766         * gst/gstpad.h: 
10767         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
10768         that the pad must be a src pad; makes sense to call it the other
10769         way in pull mode, and the logic is symmetric anyway.
10770
10771 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
10772
10773         * plugins/elements/gstfilesink.c:
10774           Include <stdio.h> for fseeko().
10775
10776 2007-01-10  Wim Taymans  <wim@fluendo.com>
10777
10778         * gst/gstevent.c:
10779         * gst/gstevent.h:
10780         Reserve LATENCY event.
10781
10782 2007-01-09  Wim Taymans  <wim@fluendo.com>
10783
10784         * docs/design/draft-latency.txt:
10785         Updates.
10786
10787 2007-01-09  Wim Taymans  <wim@fluendo.com>
10788
10789         * docs/design/draft-latency.txt:
10790         Updates.
10791
10792         * gst/gstelement.h:
10793         * gst/gststructure.c:
10794         * gst/gsttrace.c:
10795         Small typo fixes.
10796
10797 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
10798
10799         * tests/check/.cvsignore:
10800           Ignore test-registry.xml as well.
10801
10802 2007-01-09  Wim Taymans  <wim@fluendo.com>
10803
10804         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
10805         unref data at the end when we are done with the pad.
10806
10807 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
10808
10809         * docs/gst/gstreamer-sections.txt:
10810         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
10811         (init_post), (gst_deinit), (gst_update_registry):
10812         * gst/gst.h:
10813           API: add gst_update_registry() (#391296).
10814
10815         * tests/check/Makefile.am:
10816         * tests/check/gst/gstregistry.c:
10817         * tests/check/gst/.cvsignore:
10818           Simple unit test for the above.
10819
10820 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
10821
10822         * gst/gstregistry.c: (gst_registry_scan_path_level):
10823           Plugin extension on HP-UX is .sl, add that to the list of approved
10824           plugin extensions (see #393796).
10825
10826         * tests/check/gst/gstpad.c: (GST_START_TEST):
10827           ulong => gulong. Fixes compilation with HP-UX compiler.
10828
10829         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
10830           Fix compilation if valgrind headers are not available.
10831
10832 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
10833
10834         * win32/common/libgstreamer.def: 
10835           Add new exported function.
10836         * win32/vs6/libgstbase.dsp: 
10837           Add gstdataqueue.c to the build.
10838         * win32/vs6/libgstcoreelements.dsp:
10839           Add gstmultiqueue.c to the build.
10840         
10841 2007-01-06  Andy Wingo  <wingo@pobox.com>
10842
10843         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
10844         activate_pull(), providing for a way to specialize the process of
10845         spawning a thread to pull on the sink pad. There is a default
10846         implementation.
10847
10848         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
10849         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
10850         (gst_base_sink_init): Renamed pad activation functions (inserting
10851         "_pad" in their names). Refactor to use the new activate_pull
10852         vmethod, as appropriate.
10853         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
10854         default activate_pull function to start a task pulling from the
10855         sink pad, as before.
10856
10857         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
10858         on the pads if necessary, as in push()/chain(). Update docs.
10859         Shouldn't affect existing pull() usage as it is currently only
10860         being used on buffers without caps.
10861
10862 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10863
10864         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
10865         (init_pre):
10866           Call g_thread_init() first thing in gst_init() / gst_check_init().
10867           When initialisation is done via gst_init_get_option_group() and
10868           GOption parsing, issue a warning if the GLib thread system has not
10869           been initialised yet by the time gst_init_get_option_group() is
10870           called, as it's quite likely other GLib functions such as
10871           g_option_context_new() have been called already then, and
10872           g_thread_init() must be called before any other GLib function. The
10873           application in question must be fixed in that case, since memory
10874           corruption might happen otherwise.
10875           We issue the warning because even if the GLib folks decide to work
10876           around the problem on their end in future, this is still an issue
10877           with all GLib versions >= 2.10.0, so we should warn until we depend
10878           on a GLib version we know to be safe.
10879           Update documentation as well.
10880           Closes bug #391278.
10881
10882 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10883
10884         * tools/gst-inspect.c: (main):
10885         * tools/gst-launch.c: (main):
10886         * tools/gst-typefind.c: (main):
10887         * tools/gst-xmlinspect.c: (main):
10888           Call g_thread_init() really really early, before any other GLib
10889           function (see #342564 and recent discussion on gtk-devel-list).
10890
10891 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10892
10893         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
10894
10895         * gst/gst_private.h:
10896         * gst/gstconfig.h.in:
10897         * gst/gstinfo.h:
10898           On win32, all the __declspec stuff for symbol exporting is
10899           apparently only needed with MSVC, but doesn't work with MingW.
10900           Fixes compilation with MingW and #391909.
10901
10902 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10903
10904         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
10905           Change some GST_ERROR_OBJECT that aren't really errors to
10906           GST_WARNING_OBJECT in order to reduce terminal spam.
10907
10908 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
10909
10910         * tests/check/Makefile.am:
10911           disable test again, as there seem to be still race problems
10912
10913 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
10914
10915         * tests/check/Makefile.am:
10916         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10917         (GST_START_TEST), (queue_suite):
10918           enable queue test again, add tests for the leaky behaviour
10919
10920 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
10921
10922         * configure.ac:
10923         * tests/examples/Makefile.am:
10924           Compile adapter test/example only if the required headers are
10925           available (fixes #391915).
10926
10927 2007-01-01  David Schleef  <ds@schleef.org>
10928
10929         * gst/gstplugin.c:
10930           Restore the previous signal handler for SIGSEGV instead of
10931           setting to default, since we may have stolen it away from
10932           someone.  (i.e., Mono)
10933
10934 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
10935
10936         * docs/random/draft-missing-plugins.txt:
10937           Some small additions and clarifications.
10938
10939 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
10940
10941         * gst/gstregistryxml.c: (gst_registry_save_escaped):
10942           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
10943           since that can lead to random memory corruptions and crashes
10944           (may or may not be related to #383244, #386711, and #386711).
10945
10946 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10947
10948         * tests/check/.cvsignore:
10949         * tests/check/Makefile.am:
10950           sync .cvsignome and CLEANFILES
10951
10952 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10953
10954         * tests/check/Makefile.am:
10955           fix distcheck
10956
10957 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10958
10959         * docs/design/part-states.txt:
10960           two tiny additional comments
10961         
10962         * gst/gststructure.c:
10963           doc fixing
10964
10965         * tests/check/Makefile.am:
10966         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10967         (GST_START_TEST):
10968           disable test for now, unless it gets fixed
10969
10970 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10971
10972         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10973         (GST_START_TEST):
10974           fix race in underrun test
10975
10976 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10977
10978         * tests/check/elements/.cvsignore:
10979           ignore more
10980
10981         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10982         (GST_START_TEST):
10983           try to narrow test failure
10984
10985 2006-12-21  David Schleef  <ds@schleef.org>
10986
10987         * plugins/elements/gstfakesrc.c:
10988           Use g_random_int_range(), since it produces better random
10989           numbers in a range than almost-correct floating point code.
10990
10991 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10992
10993         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
10994         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
10995         (gst_check_teardown_sink_pad):
10996           do not automatically (de)activate pads
10997
10998         * tests/check/Makefile.am:
10999         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
11000         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
11001           add new, yet simple tests for queue
11002
11003         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
11004         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
11005         * tests/check/elements/filesrc.c: (cleanup_filesrc),
11006         (GST_START_TEST):
11007         * tests/check/elements/identity.c: (cleanup_identity):
11008           consistent pad (de)activation
11009
11010 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
11011
11012         Patch by: Sebastian Dröge  <slomo ubuntu com>
11013
11014         * libs/gst/base/gstcollectpads.c:
11015           Fix two doc typos (#387866).
11016
11017 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
11018
11019         * docs/manual/advanced-dparams.xml:
11020           Fix typo (g_object_control_properties() doesn't exist).
11021
11022 2006-12-19  Edward Hervey  <edward@fluendo.com>
11023
11024         * gst/gstsegment.c: (gst_segment_set_seek):
11025         Fine tune the cases where the segment start/stop values are really
11026         updated.
11027         * tests/check/gst/gstsegment.c: (GST_START_TEST):
11028         Add tests for the return values of gst_segment_set_seek().
11029
11030 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
11031
11032         * gst/gst.c:
11033           Docs typo fix.
11034
11035         * plugins/elements/gstqueue.c: (gst_queue_class_init),
11036         (gst_queue_init):
11037           Fix incorrect documentation and flesh it out a bit more.
11038           Set default values for the max properties on the GParamSpec as well,
11039           so it shows up correctly in gst-inspect.
11040
11041 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
11042
11043         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
11044           Correct docs of queue, add more detail and crosslink it more.
11045
11046 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
11047
11048         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
11049           Print additional debug info when the stream isn't perfectly
11050           timestamped; don't try to use invalid durations.
11051
11052 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
11053
11054         * docs/design/Makefile.am:
11055           Dist new design docs.
11056
11057 2006-12-16  Wim Taymans  <wim@fluendo.com>
11058
11059         Patch by: Sjoerd Simons <sjoerd at luon dot net>
11060
11061         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
11062         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
11063         (gst_collect_pads_stop), (gst_collect_pads_event),
11064         (gst_collect_pads_chain):
11065         * libs/gst/base/gstcollectpads.h:
11066         Add refcounting to the collectpads data so we can track when it's safe
11067         to free the data. Fixes #383382.
11068
11069 2006-12-15  Wim Taymans  <wim@fluendo.com>
11070
11071         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
11072         (gst_collect_pads_remove_pad):
11073         Automatically activate/deactivate pads when they are added to a
11074         started/stoped collectpads.
11075
11076 2006-12-15  Wim Taymans  <wim@fluendo.com>
11077
11078         * gst/gstelement.c: (gst_element_add_pad):
11079         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
11080         * gst/gstpad.c: (gst_pad_init):
11081         Set pads to FLUSHING when they are created. Check, warn and fix when a
11082         demuxer adds an inactive pad to itself when running. Fixes #339326.
11083
11084 2006-12-15  Wim Taymans  <wim@fluendo.com>
11085
11086         * gst/gstelement.c: (gst_element_class_init),
11087         (gst_element_default_send_event), (gst_element_send_event),
11088         (gst_element_default_query), (gst_element_query):
11089         Expose default element send_event and query handling as vmethods that
11090         subclasses can chain up to.
11091
11092 2006-12-15  Wim Taymans  <wim@fluendo.com>
11093
11094         * gst/gstelement.c: (gst_element_set_state_func):
11095         Small documentation fixes.
11096
11097 2006-12-15  Wim Taymans  <wim@fluendo.com>
11098
11099         * docs/design/draft-latency.txt:
11100         Checked in draft for handling latency in pipelines.
11101
11102 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11103
11104         * Makefile.am:
11105         * gstreamer.doap:
11106         * gstreamer.spec.in:
11107           adding .doap file
11108
11109 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
11110
11111         * gst/gst.c: (init_pre), (init_post):
11112           init_pre() and init_post() might be called via our GOptionGroup or
11113           from gst_init(), and we should skip both of them if we've already
11114           been initialised, otherwise we will init some things twice or add
11115           two default log functions.
11116
11117 2006-12-13  Edward Hervey  <edward@fluendo.com>
11118
11119         * docs/manual/basics-bus.xml:
11120         No, gst_main_loop does not exist. Its g_main_loop.
11121         Discovered by somebody who abused the copy-paste technique of coding :)
11122
11123 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
11124
11125         * gst/gstghostpad.c:
11126           Log ghostpad debug stuff to the GST_PADS category as well rather
11127           than just to the default category.
11128
11129 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
11130
11131         * configure.ac:
11132         * gst/gst.c: (init_pre):
11133           Add some basic system details such as OS and architecture
11134           to the debug output if possible, courtesy of uname().
11135
11136 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
11137
11138         * docs/gst/running.xml:
11139           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
11140           environment variables.
11141
11142 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
11143
11144         * tests/check/gst/gstbin.c: (GST_START_TEST):
11145         It is acceptable to have a refcount of 2 or 3 at this point in the
11146         test, because the pipeline might be just posting its state_change
11147         message. The next line then waits for that message to appear using
11148         bus_poll, so that should be fine too.
11149
11150 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
11151
11152         * gst/gst.c: (ensure_current_registry_forking):
11153         Ignore EINTR when reading from the child registry pipe.
11154         Explicitly ignore the return value from close, since it makes no
11155         difference.
11156
11157         * gst/gstminiobject.c: (gst_mini_object_ref),
11158         (gst_mini_object_unref):
11159         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
11160
11161         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
11162         When removing cached plugins, remove their features too, so they're
11163         not visible after they've disappeared.
11164
11165         * gst/gstutils.c: (prepare_link_maybe_ghosting):
11166         In the unlikely case that we are linking pads with no parents, don't
11167         crash trying to get the non-existent parent bin.
11168
11169         * gst/parse/grammar.y:
11170         Output debug in the PIPELINE category
11171
11172 2005-03-08  Wim Taymans  <wim@fluendo.com>
11173
11174         Patch by: René Stadler <mail at renestadler dot de>
11175
11176         * gst/gstclock.c: (gst_clock_new_periodic_id):
11177         Reject invalid clock times for interval of periodic ids.
11178         Fixes ##383506.
11179
11180 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
11181
11182         * gst/gstelementfactory.c: (gst_element_factory_create):
11183         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
11184         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
11185         * tools/gst-inspect.c: (print_element_info):
11186         Fix refcounting of gst_plugin_feature_load to match the docs. 
11187         Fixes: #380129
11188
11189 2006-12-07  Wim Taymans  <wim@fluendo.com>
11190
11191         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
11192         (gst_base_sink_get_position):
11193         Improve debugging of events.
11194
11195 2006-12-07  Wim Taymans  <wim@fluendo.com>
11196
11197         Patch by: René Stadler <mail at renestadler dot de>
11198
11199         * gst/gstclock.c: (gst_clock_id_wait):
11200         Make period ids add the interval to the origial requested time instead
11201         of the possibly updated time which can be wrong when there are multiple
11202         waiters for the same id. Fixes #382592.
11203
11204         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
11205         (gst_system_clock_id_wait_jitter_unlocked),
11206         (gst_system_clock_id_wait_jitter):
11207         Fix restart in the async notify thread when an async entry is added to
11208         the front of the list. Fixes #381492. 
11209
11210         * tests/check/gst/gstsystemclock.c: (store_callback),
11211         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
11212         Added test for multiple async waits.
11213         Added test for async wait order.
11214
11215 2006-12-07  Wim Taymans  <wim@fluendo.com>
11216
11217         * gst/gstbin.c: (gst_bin_query):
11218         Add some more docs about the POSITION query.
11219
11220 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
11221
11222         * configure.ac:
11223         Bump version nano - back to CVS.
11224
11225 === release 0.10.11 ===
11226
11227 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
11228
11229         * configure.ac:
11230           releasing 0.10.11, "Love never runs on time"
11231
11232 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
11233
11234         * win32/common/libgstbase.def:
11235         * win32/common/libgstreamer.def:
11236         * win32/vs8/libgstbase.vcproj:
11237         * win32/vs8/libgstcoreelements.vcproj:
11238         * win32/vs8/libgstreamer.vcproj:
11239         Fix compilation on win32 under VS8
11240         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11241         Partially fixes #381175
11242
11243 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
11244
11245         * gst/gstvalue.c: (gst_value_compare_fraction):
11246         If someone is foolish enough to compare 2 fractions with denominator =
11247         0, return UNORDERED rather than aborting.
11248
11249 2006-11-28  Edward Hervey  <edward@fluendo.com>
11250
11251         * libs/gst/base/Makefile.am:
11252         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
11253         (gst_data_queue_base_init), (gst_data_queue_class_init),
11254         (gst_data_queue_init), (gst_data_queue_new),
11255         (gst_data_queue_cleanup), (gst_data_queue_finalize),
11256         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
11257         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
11258         (gst_data_queue_is_empty), (gst_data_queue_is_full),
11259         (gst_data_queue_set_flushing), (gst_data_queue_push),
11260         (gst_data_queue_pop), (gst_data_queue_drop_head),
11261         (gst_data_queue_set_property), (gst_data_queue_get_property):
11262         * libs/gst/base/gstdataqueue.h:
11263         New GstDataQueue object for threadsafe queueing. Most useful for
11264         elements that need some queueing functionnality.
11265         * docs/libs/gstreamer-libs-docs.sgml:
11266         * docs/libs/gstreamer-libs-sections.txt:
11267         Insert documentation for GstDataQueue
11268         * plugins/elements/Makefile.am:
11269         * plugins/elements/gstelements.c:
11270         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
11271         (gst_multi_queue_class_init), (gst_multi_queue_init),
11272         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
11273         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
11274         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
11275         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
11276         (gst_multi_queue_loop), (gst_multi_queue_chain),
11277         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
11278         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
11279         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
11280         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
11281         (wake_up_next_non_linked), (compute_next_non_linked),
11282         (single_queue_overrun_cb), (single_queue_underrun_cb),
11283         (single_queue_check_full), (gst_single_queue_new):
11284         * plugins/elements/gstmultiqueue.h:
11285         New multiqueue element, using GstDataQueue. Used for queuing multiple
11286         streams.
11287         Closes #344639 and #347785
11288
11289 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
11290
11291         * docs/pwg/advanced-types.xml:
11292           add more missing type details
11293
11294         * tools/gst-run.c: (main):
11295           remove unused variable
11296
11297 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
11298
11299         * docs/libs/Makefile.am:
11300         * docs/libs/gstreamer-libs.types:
11301           add types of base classes to enable gobject specific stuff in the docs
11302
11303         * docs/random/ensonic/embedded.txt:
11304           more ideas about isolating platform specific things
11305
11306 2006-11-20  Wim Taymans  <wim@fluendo.com>
11307
11308         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
11309
11310         * libs/gst/check/gstcheck.h:
11311         Fix compilation and running against 0.9.4. Fixes #377332.
11312
11313 2006-11-20  Wim Taymans  <wim@fluendo.com>
11314
11315         * gst/gstsegment.c: (gst_segment_set_seek),
11316         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
11317         (gst_segment_to_running_time):
11318         Fix boundary checking in to_running_time() and to_stream_time().
11319         Fixes #377183.
11320
11321         * tests/check/gst/gstsegment.c: (GST_START_TEST):
11322         stream and running time can now be calculated for the complete
11323         clipped segment.
11324
11325 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
11326
11327         * gst/gstpad.c: (gst_pad_push_event):
11328           Can't access event structure after giving away ownership of
11329           the event.
11330
11331 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
11332
11333         * docs/random/ensonic/embedded.txt:
11334         * docs/random/ensonic/profiling.txt:
11335         * docs/random/ensonic/receipies.txt:
11336           more thinking
11337
11338 2006-11-13  Wim Taymans  <wim@fluendo.com>
11339
11340         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11341
11342         * gst/gstpad.c:
11343         Fix documentation for gst_pad_dispatcher. Fixes #374475.
11344
11345 2006-11-13  Wim Taymans  <wim@fluendo.com>
11346
11347         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
11348
11349         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
11350         Store new length in segment duration so we don't keep on calling the
11351         potentially expensize get_size() call. Fixes #370865.
11352
11353 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
11354
11355         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
11356
11357         * win32/common/libgstreamer.def:
11358           Add two missing symbols (#366492).
11359
11360 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
11361
11362         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
11363         (gst_adapter_take_buffer):
11364         Fix format string to use all its arguments.
11365         Remove useless >= check on a guint
11366
11367 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11368
11369         * tests/examples/adapter/.cvsignore:
11370         Ignore build file as commanded by the build-bot
11371
11372 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11373
11374         * tests/examples/adapter/Makefile.am:
11375         * tests/examples/adapter/adapter_test.c: (run_test_take),
11376         (run_test_take_buffer), (run_tests), (main):
11377
11378         Add new files from the previous commit
11379
11380 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11381
11382         * Makefile.am:
11383         * configure.ac:
11384         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
11385         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
11386         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
11387         * libs/gst/base/gstadapter.h:
11388         * tests/check/libs/adapter.c: (create_and_fill_adapter),
11389         (GST_START_TEST), (gst_adapter_suite):
11390         * tests/examples/Makefile.am:
11391         Do some optimisation work in GstAdapter to avoid copies in more cases.
11392         It could still do slightly better by merging buffers when
11393         gst_buffer_is_span_fast is true, but is already faster. 
11394
11395         Also, avoid traversing a single-linked list to append each incoming 
11396         buffer inside the adapter.
11397
11398         Add simple test app that times the adapter behaviour in different
11399         situations, and extend the unit test to check that bytes enter and
11400         exit the adapter in their original order.
11401
11402 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
11403
11404         * docs/random/draft-missing-plugins.txt:
11405           Update: use element message instead of adding a new message
11406           type to the core; don't provide GStreamer API to initiate the
11407           plugin download, just provide API to compose the strings needed
11408           and let an external libgimmestuff handle the rest.
11409
11410 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
11411
11412         * tools/gst-inspect.c: (print_element_properties_info):
11413         Print a string instead of 'unknown type' for GValueArray properties
11414
11415 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
11416
11417         * docs/random/draft-missing-plugins.txt:
11418         More small fixes.
11419
11420 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
11421
11422         * tests/examples/typefind/typefind.c: (type_found), (main):
11423           Make typefind element example work again (#371894); add a
11424           license header.
11425
11426 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
11427
11428         * docs/random/draft-missing-plugins.txt:
11429           Commit initial draft about how to deal with missing plugins,
11430           needs work (API too).
11431
11432 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
11433
11434         * docs/pwg/advanced-types.xml:
11435           documents the new caps elements (see #363118)
11436
11437 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
11438
11439         * gst/gstplugin.c: (gst_plugin_load_file):
11440         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
11441         (gst_file_src_map_region), (gst_file_src_start):
11442         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
11443         (gst_file_index_commit):
11444           Use g_strerror() instead of strerror() - we want UTF-8.
11445
11446 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
11447
11448         Patch by: Peter Kjellerstedt <pkj at axis com>
11449
11450         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11451           Another printf fix (#371493).
11452
11453 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11454
11455         * tests/check/gst/gsttag.c:
11456           relicence (okay with author=company)
11457
11458 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11459
11460         * gst/gstpad.c: (gst_pad_event_default_dispatch),
11461         (gst_pad_push_event):
11462           Enhance debug and improve docs
11463         
11464         * gst/gsturi.c:
11465           Fix docs
11466
11467 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11468
11469         * docs/random/ensonic/distributed.txt:
11470         * docs/random/ensonic/profiling.txt:
11471           more ideas
11472
11473 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11474
11475         * docs/gst/gstreamer-sections.txt:
11476           add new API and fix the build
11477           
11478         * gst/gstbin.c: (gst_bin_recalc_state):
11479         * gst/gstelement.c: (gst_element_message_full),
11480         (gst_element_get_state_func), (gst_element_set_state_func):
11481           use new API and improve logging
11482         
11483         * gst/gstutils.c: (gst_element_state_change_return_get_name):
11484         * gst/gstutils.h:
11485           API: add function to get StateChangereturn names to improve logs 
11486
11487 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11488
11489         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
11490           I'm considering shooting the next person to put strerror stuff
11491           in the translateable part of the message.
11492
11493 2006-11-03  Wim Taymans  <wim@fluendo.com>
11494
11495         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11496         Get the type and printf conversion specifiers right.
11497
11498 2006-11-03  Wim Taymans  <wim@fluendo.com>
11499
11500         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11501
11502         * gst/gstpad.c: (gst_pad_init), (pre_activate),
11503         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
11504         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
11505         Some small cleanups. Improve debugging.
11506         * gst/gstpad.h:
11507         Signal all waiting threads with a broadcast instead of just one.
11508         Fixes #369942.
11509
11510 2006-11-03  Wim Taymans  <wim@fluendo.com>
11511
11512         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
11513         (gst_fd_src_create):
11514         Add some debugging. 
11515         Only update fd when it's different from the old.
11516
11517 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
11518
11519         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
11520           Printf fixes for PPC/OSX, take two (#369366).
11521
11522 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
11523
11524         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
11525
11526         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
11527         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
11528         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
11529           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
11530           don't cast to long long for portability reasons, but use
11531           GLib's types instead.
11532
11533 2006-10-30  Michael Smith  <msmith@fluendo.com>
11534
11535         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
11536           Get the arguments to lseek() the right way around.
11537           Fixes 367677.
11538
11539 2006-10-30  Wim Taymans  <wim@fluendo.com>
11540
11541         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
11542
11543         * gst/gstinfo.h:
11544         _declspec should be __declspec (two underscores, not one). Fixes 366572.
11545
11546 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
11547
11548         Patch by: Kjartan Maraas  <kmaraas at gnome org>
11549
11550         * docs/design/part-MT-refcounting.txt:
11551         * docs/random/wtay/capsnego2-docs:
11552         * gst/gstclock.c:
11553         * gst/gstxml.c:
11554           Typo fixes (#366212).
11555
11556 2006-10-28  Wim Taymans  <wim@fluendo.com>
11557
11558         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11559
11560         * gst/gst.c:
11561         * win32/common/libgstbase.def:
11562         * win32/common/libgstreamer.def:
11563         * win32/vs8/libgstbase.vcproj:
11564         * win32/vs8/libgstcontroller.vcproj:
11565         Add needed entries in .def files.
11566         Use HAVE_UNISTD_H.
11567         Rearrange def files in vs8 solutions. Fixes #366286.
11568
11569 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
11570
11571         * win32/common/gstconfig.h:
11572           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
11573           hand-made win32 gstconfig.h. Fixes #366321.
11574
11575 2006-10-27  Wim Taymans  <wim@fluendo.com>
11576
11577         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
11578         (gst_ghost_pad_new_full):
11579         Make acceptcaps return TRUE when we don't have a target, just like
11580         setcaps does.
11581
11582 2006-10-27  Wim Taymans  <wim@fluendo.com>
11583
11584         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11585         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
11586
11587 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
11588
11589         * gst/gststructure.c: (gst_structure_id_set_value):
11590           If someone tries to set a non-UTF8 string field on a structure,
11591           don't just print a warning, but also ignore the request and do
11592           not change/add that field to the structure.
11593
11594         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11595           Test for the above.
11596
11597 2006-10-25  David Schleef  <ds@schleef.org>
11598
11599         * gst/gstinfo.c:
11600           g_hash_table_insert() needs a cast to a non-const pointer duh.
11601
11602 2006-10-25  David Schleef  <ds@schleef.org>
11603
11604         * gst/gstinfo.c:
11605         * gst/gstinfo.h:
11606           Change name parameter of _gst_debug_register_funcptr to const
11607           to reflect the constness of its use in the function as well
11608           as to quiet a gcc warning.
11609
11610 2006-10-25  Edward Hervey  <edward@fluendo.com>
11611
11612         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11613         Don't push the buffer if it's empty.
11614         Closes #363095
11615
11616 2006-10-24  Wim Taymans  <wim@fluendo.com>
11617
11618         * gst/gstevent.h:
11619         Add small comment.
11620
11621         * libs/gst/base/gstbasetransform.c:
11622         (gst_base_transform_sink_eventfunc):
11623         Debug segment values *after* updating them as this is more
11624         interesting.
11625
11626 2006-10-23  Wim Taymans  <wim@fluendo.com>
11627
11628         * docs/design/part-events.txt:
11629         Update some docs.
11630
11631         * docs/design/part-block.txt:
11632         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
11633         (gst_pad_push_event):
11634         Revert BLOCKING patch, it tries to be smart without really having a
11635         clear idea what or how. So, now we discard all FLUSHING events again on
11636         a blocking pad. Should fix gnonlin again.
11637
11638 2006-10-23  Wim Taymans  <wim@fluendo.com>
11639
11640         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11641
11642         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
11643         (gst_base_src_start), (gst_base_src_activate_push):
11644         Make sure size is always initialized. Fixes #364388.
11645
11646 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
11647
11648         * docs/random/ensonic/distributed.txt:
11649           add some ideas about doing distributed processing
11650
11651         * docs/random/ensonic/profiling.txt:
11652           get_rusage look promising
11653
11654 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
11655
11656         * docs/manual/basics-helloworld.xml:
11657           Add a cast in example to fix compile warning
11658
11659 2006-10-18  Wim Taymans  <wim@fluendo.com>
11660
11661         * gst/gstsegment.c: (gst_segment_set_last_stop),
11662         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11663         Relax arg checking again, -1 is allowed.
11664
11665 2006-10-18  Wim Taymans  <wim@fluendo.com>
11666
11667         * gst/gstsegment.c: (gst_segment_set_last_stop),
11668         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11669         _set_last_stop() must be with a value != -1
11670         A _TYPE_SET to -1 means seek to 0.
11671         Calc last_stop correctly for negative rates.
11672         Make sure we work with positive durations when updating a segment.
11673
11674 2006-10-18  Wim Taymans  <wim@fluendo.com>
11675
11676         * docs/design/part-live-source.txt:
11677         * gst/gstclock.h:
11678         Small docs fixes.
11679
11680 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
11681
11682         * gst/gstbuffer.h:
11683           Add an explicit cast to GstBuffer** to keep old code that added an
11684           explicit cast to GstMiniObject** for gst_mini_object_replace()
11685           compiling without warning.
11686
11687 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
11688
11689         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
11690           check for validity of dates
11691
11692 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11693
11694         * docs/gst/gstreamer-sections.txt:
11695           Forgot this one, makes gtk-doc shut up.
11696
11697 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11698
11699         Patch by: Peter Kjellerstedt <pkj at axis com>
11700
11701         * gst/gstobject.h:
11702           Don't define xmlNodePtr to gpointer if the core was built with
11703           --disable-loadsave and --disable-registry, this will break
11704           applications that want to use libxml2 but are buildling against a
11705           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
11706           instead so we don't have to mess with the libxml2 namespace
11707           (#361675).
11708
11709 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11710
11711         * gst/gstbuffer.h:
11712           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
11713           type-punned pointer warnings.
11714
11715 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
11716
11717         * gst/gstelement.h:
11718           Add casts to the correct return type to state <=> state transition
11719           macros.
11720
11721 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
11722
11723         * docs/design/part-live-source.txt:
11724           describe howto handle latency
11725         
11726         * docs/random/ensonic/profiling.txt:
11727           more ideas
11728
11729         * tools/gst-plot-timeline.py:
11730           fix log parsing for solaris, remove unused function
11731
11732 2006-10-16  Wim Taymans  <wim@fluendo.com>
11733
11734         * docs/design/part-trickmodes.txt:
11735         * gst/gstevent.c:
11736         Update some docs regarding reverse playback.
11737
11738 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
11739
11740         Patch by: Marcus Granado  <mrc dot gran at gmail com>
11741
11742         * win32/vs8/grammar.vcproj:
11743           Error out with a warning if glib-genmarshal.exe is not in path,
11744           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
11745
11746 2006-10-13  Wim Taymans  <wim@fluendo.com>
11747
11748         * gst/gstsegment.c: (gst_segment_set_seek):
11749         When seeking to stop -1, set last_stop (current position) to the
11750         duration of the segment.
11751
11752 2006-10-13  Wim Taymans  <wim@fluendo.com>
11753
11754         * gst/gstelement.h:
11755         Clarify _NO_PREROLL a bit more.
11756
11757         * gst/gstevent.c:
11758         Fix docs.
11759
11760         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
11761         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
11762         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
11763         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
11764         due to wrong locking order. Fixes #361769.
11765         Remove some redundant/misplaced checks in pad_block.
11766
11767         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
11768         For negative rates, count backwards from the duration.
11769
11770 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
11771
11772         * gst/gsterror.c: (_gst_library_errors_init):
11773           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
11774           up with something better).
11775
11776 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
11777
11778         * win32/vs6/libgstreamer.dsp:
11779         * win32/vs7/libgstreamer.vcproj:
11780         * win32/vs8/libgstreamer.vcproj:
11781           Don't reference glib-compat.c which is currently not used and not
11782           disted; add gstquark.c which was recently added. Fixes #361730.
11783
11784 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
11785
11786         * win32/common/libgstbase.def:
11787         * win32/common/libgstcontroller.def:
11788         * win32/common/libgstreamer.def:
11789           Add gst_caps_merge() and a bunch of other recently-added functions.
11790           Fixes #361732.
11791
11792 2006-10-11  Wim Taymans  <wim@fluendo.com>
11793
11794         * docs/plugins/gstreamer-plugins.args:
11795         * docs/plugins/inspect/plugin-coreelements.xml:
11796         * docs/plugins/inspect/plugin-coreindexers.xml:
11797         Update element args.
11798
11799         * gst/gstsystemclock.c:
11800         Small comment update.
11801
11802         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
11803         (gst_tee_request_new_pad), (gst_tee_release_pad),
11804         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
11805         (gst_tee_sink_activate_pull):
11806         * plugins/elements/gsttee.h:
11807         Some tee loving:
11808         Add default property defines.
11809         Implement release pad function.
11810         Give properties better blubs etc.
11811         Activate pads before adding them to a running tee.
11812         Do simple buffer_alloc on the first requested pad.
11813         Post error when activation fails.
11814
11815 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
11816
11817         * gst/gst.c: (ensure_current_registry_forking):
11818           Check return value of write() to make compiler happy.
11819
11820 2006-10-11  Wim Taymans  <wim@fluendo.com>
11821
11822         Patch by: Sjoerd Simons <sjoerd at luon dot net>
11823
11824         * plugins/elements/gstqueue.c: (gst_queue_chain):
11825         Recheck queue filledness after signalling the overrun when we're about
11826         to leak downstream because we released the lock when emitting the signal
11827         and the queue could be empty again. Fixes #352345.
11828
11829 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
11830
11831         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
11832           Fix refcounting here too, just like we did for _new_valist() a few
11833           days ago (#357180) (thanks to René Stadler). Also remove all those
11834           'Since: 0.9' from the gtk-doc blobs.
11835
11836         * tests/check/libs/controller.c: (controller_refcount_new_list),
11837         (gst_controller_suite):
11838           Unit test for the above.
11839
11840 2006-10-10  Wim Taymans  <wim@fluendo.com>
11841
11842         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
11843
11844         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
11845         (gst_pad_save_thyself):
11846         Update some docs.
11847         Write pad direction in XML output. Fixes #345496.
11848
11849 2006-10-10  Wim Taymans  <wim@fluendo.com>
11850
11851         Patch by: René Stadler <mail at renestadler dot de>
11852
11853         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
11854         (gst_controller_new_list), (_gst_controller_dispose),
11855         (_gst_controller_finalize), (_gst_controller_class_init):
11856         Take ref to controlled object so that it cannot disappear. 
11857         Fixes #357432.
11858
11859 2006-10-10  Wim Taymans  <wim@fluendo.com>
11860
11861         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
11862         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
11863         (gst_check_teardown_sink_pad):
11864         Activate/deactivate pads in setup/teardown respectively.
11865
11866 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11867
11868         Patch by: Josep Torra Valles <josep@fluendo.com>
11869
11870         * gst/Makefile.am:
11871         Cast values when making gstenumtypes.h.  This pacifies Forte
11872         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
11873         in the enumeration.
11874
11875 2006-10-09  Wim Taymans  <wim@fluendo.com>
11876
11877         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
11878         Rename some more @cur to @start to fix docs. 
11879
11880         * gst/gstsegment.c: (gst_segment_set_seek):
11881         Fix typo.
11882         time and start must always stay in sync as defined in design doc.
11883
11884         * gst/gsttaglist.c: (gst_tag_list_is_empty):
11885         Rename param to fix docs.
11886
11887         * tests/check/gst/gstsegment.c: (GST_START_TEST):
11888         Check that start and time are in sync.
11889
11890         * tests/check/pipelines/parse-launch.c:
11891         (gst_parse_test_element_change_state):
11892         Activate pad before adding to the element.
11893
11894 2006-10-09  Wim Taymans  <wim@fluendo.com>
11895
11896         * docs/design/part-qos.txt:
11897         Fix typo.
11898
11899         * gst/gstevent.c:
11900         * gst/gstevent.h:
11901         Update seek event docs regarding negative rates.
11902         Rename @cur to @start. 
11903
11904         * gst/gstsegment.c: (gst_segment_set_seek):
11905         * gst/gstsegment.h:
11906         Update set_seek docs regarding negative rates.
11907         Correctly update last_stop to @stop when dealing with negative
11908         rates.
11909         Rename @cur to @start. 
11910
11911         * tests/check/gst/gstpad.c: (GST_START_TEST):
11912         Activate pads before trying to use them.
11913
11914         * tests/check/gst/gstsegment.c: (GST_START_TEST),
11915         (gst_segment_suite):
11916         Add simple check for segments and negative rates.
11917
11918 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
11919
11920         * gst/gsttaglist.c: (gst_tag_list_is_empty):
11921         * gst/gsttaglist.h:
11922         * docs/gst/gstreamer-sections.txt:
11923           API: add gst_tag_list_is_empty() (#360467).
11924
11925         * tests/check/gst/gsttag.c: (GST_START_TEST):
11926           And a test case.
11927
11928 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11929
11930         * gst/gstmessage.h:
11931         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
11932         a value that doesn't fit on enumeration.
11933
11934 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11935
11936         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11937         Remove local debugging system and use Gstreamer's instead.
11938
11939 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11940
11941         Patch by: Josep Torra Valles <josep@fluendo.com>
11942
11943         * common/m4/gst-error.m4:
11944         Disable warning of statement not reached on Forte.
11945         * gst/gstmessage.h:
11946         Fix warning on Forte (value doesn't fit on enumeration).
11947         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
11948         Fix warning on Forte (value doesn't fit on enumeration).
11949         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11950         DEBUG macro says it takes minimum of 2 args and so Forte
11951         complains about the use with just 1 arg.
11952         * plugins/elements/gstfdsink.c:
11953         * plugins/elements/gstfdsrc.c:
11954         * plugins/elements/gstfilesink.c:
11955         * plugins/elements/gstfilesrc.c:
11956         Use correct return type for the uri handler implementations.
11957
11958         All these fix warnings in Forte.  Fixes bug #360860.
11959
11960 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
11961
11962         * gst/gstelement.h:
11963           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
11964           format string, so don't use G_GNUC_PRINTF for those versions.
11965
11966 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
11967
11968         * gst/gsttaglist.c: (gst_is_tag_list):
11969         * gst/gsttaglist.h:
11970           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
11971
11972         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11973           Small test for the above.
11974
11975 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
11976
11977         * gst/gsttaglist.h:
11978           Less tabs, more spaces.
11979
11980 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
11981
11982         * gst/gstinfo.h:
11983           Those two function declarations do actually belong there, revert
11984           commit from yesterday that turned them intro macros.
11985
11986 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11987
11988         Patch by: Josep Torra Valles <josep@fluendo.com>
11989
11990         * gst/gst.c: (gst_init_get_option_group):
11991         Fix empty declaration and type mismatch.
11992         * gst/gstbin.c: (gst_bin_change_state_func):
11993         Fix type mismatch.
11994         * gst/gstelement.c: (gst_element_continue_state),
11995         (gst_element_set_state_func), (gst_element_change_state),
11996         (gst_element_change_state_func):
11997         Fix type mismatches.
11998         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
11999         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
12000         Cast as appropriate.
12001         * gst/gstobject.c: (gst_class_signal_connect):
12002         Cast as appropriate.  The function pointer parameter really
12003         has the wrong type but would break API if we change it.
12004         * gst/gstquery.c:
12005         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
12006         order of including string.h.
12007         * gst/gstutils.c: (gst_element_state_get_name):
12008         Remove unreachable line.
12009         * gst/gstxml.c: (gst_xml_parse_doc):
12010         Fix type mismatch.
12011         All these caught by Forte.
12012
12013 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12014
12015         Patch by: Josep Torra Valles <josep@fluendo.com>
12016
12017         * common/m4/gst-error.m4:
12018         Fixed bug #360151.
12019         We need to disable warnings on Forte for empty declarations
12020         due to gst-indent adding ;s to lines that just use macros
12021         where the macro actually doesn't need a ; at end to end
12022         statement.
12023
12024 2006-10-06  Wim Taymans  <wim@fluendo.com>
12025
12026         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
12027         (gst_file_sink_close_file), (gst_file_sink_event),
12028         (gst_file_sink_render):
12029         Add some FIXME for the NEWSEGMENT handling.
12030
12031 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12032
12033         * gst/parse/grammar.y:
12034         Remove static function gst_parse_element_lock as all it does
12035         is return.  Looks like cruft from 0.8.
12036
12037 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12038
12039         Patch by: Josep Torra Valles <josep@fluendo.com>
12040
12041         * common/m4/gst-error.m4:
12042         * configure.ac:
12043         * libs/gst/net/Makefile.am:
12044         Fix a compilation issue with Forte on Solaris.  inet_aton is in
12045         libresolv.
12046
12047 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
12048
12049         * gst/gstpad.c: (pre_activate):
12050         * gst/gstregistry.c: (gst_registry_scan_path_level):
12051         * gst/gstregistryxml.c: (load_plugin):
12052         * libs/gst/controller/gstcontroller.c:
12053         (gst_controlled_property_set_interpolation_mode):
12054         * libs/gst/dataprotocol/dataprotocol.c:
12055         (gst_dp_packet_from_event_1_0):
12056         * libs/gst/net/gstnetclientclock.c:
12057         (gst_net_client_clock_observe_times):
12058         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
12059           Printf fixes.
12060
12061 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
12062
12063         * configure.ac:
12064         * docs/gst/gstreamer-sections.txt:
12065         * gst/gstconfig.h.in:
12066         * gst/gstelement.h:
12067         * gst/gstinfo.h:
12068           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
12069           whether we can use G_GNUC_PRINTF in other header files and at
12070           least check the printf format/arguments of debug messages and
12071           GST_ELEMENT_ERROR messages when the printf extension is not
12072           being used.
12073           Replace more tabs with spaces in gstinfo.h and remove two spurious
12074           function declarations in GST_DISABLE_DEBUG part with macros.
12075
12076 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
12077
12078         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
12079           More docs for the sync-message signal (mention that it is not
12080           emitted by default); log message structures of messages posted on
12081           the bus as well.
12082
12083 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
12084
12085         * gst/gst.c: (ensure_current_registry_forking):
12086         Use a pipe pair to receive status results from the forked child, and
12087         ignore the result from waitpid. Fixes #355499
12088
12089 2006-10-02  Wim Taymans  <wim@fluendo.com>
12090
12091         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12092         (gst_ghost_pad_suite):
12093         Fix leak in check.
12094
12095 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
12096
12097         * gst/gstpad.c:
12098           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
12099
12100 2006-10-02  Edward Hervey  <edward@fluendo.com>
12101
12102         * docs/design/part-block.txt:
12103         Further explain the use of flushing on blocked pads.
12104         * docs/gst/gstreamer-sections.txt:
12105         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
12106         (gst_pad_push_event):
12107         * gst/gstpad.h:
12108         Added new GstPadFlag : GST_PAD_BLOCKING.
12109         Adds the notion of pads really blocking, which enables to properly
12110         handle FLUSH_START/FLUSH_STOP events on blocked pads.
12111         Fixes #358999
12112         API: gst_pad_is_blocking()
12113         API: GST_PAD_IS_BLOCKING() macro
12114         API: GST_PAD_BLOCKING GstPadFlag
12115         
12116 2006-10-02  Wim Taymans  <wim@fluendo.com>
12117
12118         Patch by: mrcgran <mrc.gran at gmail dot com>
12119
12120         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
12121         Filter the proxied caps against the padtemplate if we have one.
12122
12123         * gst/gstquery.c: (gst_query_new_segment):
12124         Add include for gstinfo.h so that compilation with
12125         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
12126
12127 2006-10-02  Wim Taymans  <wim@fluendo.com>
12128
12129         Patch by: Alessandro Decina  <alessandro at nnva org>
12130
12131         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
12132         (gst_file_sink_set_location), (gst_file_sink_open_file),
12133         (gst_file_sink_close_file), (gst_file_sink_event),
12134         (gst_file_sink_render):
12135         Set file to NULL when closing filesink so that we can set a new filename
12136         in READY. Fixes #358613.
12137
12138 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
12139
12140         Patch by: Alessandro Decina  <alessandro at nnva org>
12141
12142         * gst/gstevent.c: (_gst_event_copy):
12143           Fix gst_mini_object_make_writable() and gst_event_copy() for events
12144           with event structures by setting the parent refcount address of the
12145           copied structure to the address of the refcount member of the newly
12146           copied event rather than the address of the refcount member of the
12147           original event. Fixes #358737.
12148
12149         * tests/check/gst/gstevent.c: (GST_START_TEST):
12150           Unit test for the above.
12151
12152 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
12153
12154         * docs/design/Makefile.am:
12155           Dist some more files.
12156
12157 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
12158
12159         * tests/check/libs/controller.c: (GST_START_TEST),
12160         (gst_controller_suite):
12161           Add test for the previous fix; add some more tests
12162           for correct refcounting behaviour; fix a few leaks
12163           in test cases; call gst_controller_init() at start
12164           of all tests.
12165
12166 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
12167
12168         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12169         (gst_controller_set_from_list):
12170           Don't g_return_val_if_fail() on timed values with invalid timestamps
12171           inside a critical section without unlocking the mutex. Spotted by
12172           René Stadler. (#357617)
12173           Also, fix up refcounting properly: when returning an existing
12174           controller, we should increase the reference only once and not
12175           once per property and when trying to control a property again
12176           we should also increase the refcount.
12177
12178 2006-09-29  Wim Taymans  <wim@fluendo.com>
12179
12180         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
12181         * libs/gst/net/gstnettimeprovider.c:
12182         (gst_net_time_provider_thread):
12183         Stop reading commands when EOF as well.
12184
12185         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
12186         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
12187         * plugins/elements/gstidentity.c: (gst_identity_class_init):
12188         Unify description of the dump property.
12189
12190 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12191
12192         * tests/examples/manual/.cvsignore:
12193         OK, so it's actually cvsignore that needs changing. Stop laughing.
12194
12195 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12196
12197         * tests/examples/manual/Makefile.am:
12198         Gah, declare vars *before* using them
12199
12200 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12201
12202         * gst/gst.c: (init_pre), (scan_and_update_registry),
12203         (ensure_current_registry_nonforking),
12204         (ensure_current_registry_forking), (ensure_current_registry),
12205         (init_post), (gst_debug_help), (gst_deinit):
12206         * gst/gst_private.h:
12207         * gst/gstregistry.c: (gst_registry_finalize),
12208         (gst_registry_remove_features_for_plugin_unlocked),
12209         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12210         (gst_registry_scan_path),
12211         (_priv_gst_registry_remove_cache_plugins),
12212         (_priv_gst_registry_cleanup):
12213         * gst/gstregistry.h:
12214         Re-commit the registry changes, along with an extra fix:
12215           When a cached plugin is encountered at a different file path,
12216           update the stored path in the registry cache so that the parent
12217           process knows where it actually is now when it re-reads the registry
12218           cache. Fixes the thing that broke distcheck with the previous commit.
12219
12220         * tests/check/Makefile.am:
12221         Clean up files named 'core' too when running make clean.
12222
12223         * tests/examples/manual/Makefile.am:
12224         Set up a registry path for running these tests, and clean it properly
12225         for distcheck.
12226
12227 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12228
12229         * configure.ac:
12230         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
12231         want gmodule-no-export-2.0.pc instead so that we don't drag in
12232         --export-dynamic on every project that links to GStreamer.
12233
12234         Also, make our export regex only match the start of symbols, rather 
12235         than any symbol that contains '_gst' somewhere.
12236
12237         * libs/gst/check/Makefile.am:
12238         The libgstcheck we build does however need export-dynamic, as it
12239         produces some symbols that don't match our _gst... style regex.
12240         Fixes: #318031
12241
12242 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
12243
12244         * gst/gst.c: (init_pre), (scan_and_update_registry),
12245         (ensure_current_registry_nonforking),
12246         (ensure_current_registry_forking), (ensure_current_registry),
12247         (init_post), (gst_debug_help), (gst_deinit):
12248         * gst/gst_private.h:
12249         * gst/gstregistry.c: (gst_registry_finalize),
12250         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12251         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
12252         (_gst_registry_cleanup):
12253         * gst/gstregistry.h:
12254           Revert previous change until I figure out why it breaks distcheck.
12255
12256 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
12257
12258         * gst/gst.c: (init_pre), (scan_and_update_registry),
12259         (ensure_current_registry_nonforking),
12260         (ensure_current_registry_forking), (ensure_current_registry),
12261         (init_post), (gst_debug_help), (gst_deinit):
12262
12263           Make init_pre and init_post take the full complement of GOptionFunc
12264           args so they can return useful GErrors. Make the registry updating
12265           functions do so.
12266
12267           Call _priv_gst_registry_remove_cache_plugins after scanning files to
12268           ensure that the registry we're about to write out doesn't contain
12269           stale information about old-deleted plugin files.
12270
12271           Make _priv_gst_registry_remove_cache_plugins return a boolean so
12272           that deletion of plugin files is considered a registry change.
12273
12274         * gst/gst_private.h:
12275         * gst/gstregistry.c: (gst_registry_finalize),
12276         (gst_registry_remove_features_for_plugin_unlocked),
12277         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12278         (gst_registry_scan_path),
12279         (_priv_gst_registry_remove_cache_plugins),
12280         (_priv_gst_registry_cleanup):
12281         * gst/gstregistry.h:
12282         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
12283         by adding _priv prefix, so that they won't appear in the global
12284         symbol table. They still do atm though because of #318031. Move the
12285         prototypes to gst_private.h
12286
12287         When removing a plugin, remove all features for that plugin too. 
12288         Fixes #340878.
12289
12290 2006-09-27  Wim Taymans  <wim@fluendo.com>
12291
12292         * docs/random/moving-plugins:
12293         Make it clear that the "compiled-in descriptions" really mean
12294         the element details.
12295
12296         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12297         (gst_base_sink_wait_preroll):
12298         Update docs.
12299
12300         * docs/libs/gstreamer-libs-sections.txt:
12301         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
12302         (gst_base_src_get_range), (gst_base_src_activate_push):
12303         * libs/gst/base/gstbasesrc.h:
12304         Added function to block while waiting for PLAYING, this function
12305         is used by live sources that block on the clock.
12306         API: gst_base_src_wait_playing()
12307
12308 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12309
12310         Patch by: Peter Kjellerstedt <pkj at axis com>
12311
12312         * Makefile.am:
12313           gst-element-check.m4 is generated and should therefore be
12314           copied from the build dir rather than the source dir (#357593).
12315           'make distcheck' hasn't noticed this because we were disting
12316           the file as well, so stop doing that.
12317
12318 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12319
12320         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12321           Add some tests for gst_caps_intersect().
12322
12323         * tools/gst-launch.c: (event_loop):
12324           Print all buffering percentages we get, even the 100% one.
12325
12326 2006-09-26  Wim Taymans  <wim@fluendo.com>
12327
12328         * tools/gst-inspect.c: (print_element_properties_info),
12329         (print_signal_info):
12330         Fix printing of flags to match the look of enums.
12331
12332 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12333
12334         * gst/gstelementfactory.c:
12335           Fix typo in docs blurb.
12336
12337 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12338
12339         * gst/gsturi.c: (search_by_entry):
12340           Don't assert/crash here if a uri handler doesn't return any
12341           supported protocols. The list of protocols could be generated
12342           dynamically at runtime or at plugin registration, and an error
12343           in the underlying library shouldn't be fatal (#353301).
12344
12345 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12346
12347         * gst/gstinfo.c:
12348           Fix warning if HAVE_PRINTF_EXTENSION is undefined
12349           (spotted by Peter Kjellerstedt).
12350
12351 2006-09-23  Wim Taymans  <wim@fluendo.com>
12352
12353         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
12354
12355         * libs/gst/base/gstbasesrc.c:
12356         (gst_base_src_default_check_get_range), (gst_base_src_start),
12357         (gst_base_src_activate_push), (gst_base_src_activate_pull),
12358         (gst_base_src_change_state):
12359         Match _start/_stop calls in the activate functions. Remove redundant
12360         _stop call from the state change function. Fixes #356910.
12361         Turn failure DEBUG into ERROR. 
12362
12363 2006-09-22  Wim Taymans  <wim@fluendo.com>
12364
12365         * docs/design/part-buffering.txt:
12366         * gst/gstmessage.c: (gst_message_new_buffering),
12367         (gst_message_parse_buffering):
12368         Update docs about buffering.
12369
12370         * docs/design/part-trickmodes.txt:
12371         Fix typo.
12372
12373 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
12374
12375         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12376         (gst_controller_new_list):
12377           Ref instances when returning them again (fixes #357180)
12378
12379 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
12380
12381         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
12382           Don't forget to release proxy lock when there's an error.
12383
12384 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
12385
12386         * gst/gstcaps.h:
12387           Add extra initialisers for Caps things, to fix some plugin warnings
12388           when using -Wextra
12389
12390 2006-09-18  Wim Taymans  <wim@fluendo.com>
12391
12392         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
12393           Also set template on the internal pad so that a getcaps from the 
12394           target pad returns the template caps.
12395
12396 2006-09-18  Wim Taymans  <wim@fluendo.com>
12397
12398         * gst/gstelement.c: (gst_element_post_message),
12399         (gst_element_dispose):
12400         Use _DEBUG_OBJECT some more.
12401
12402         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
12403         Avoid typechecks.
12404
12405         * tools/gst-launch.c: (main):
12406         If the toplevel element is not a GstPipeline, it must be put in a
12407         pipeline so that a bus and clock is selected.
12408
12409 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
12410
12411         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
12412           JITTER, RATE, and LATENCY query should be handled by the
12413           default case and not by the CONVERT query code.
12414
12415 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
12416
12417         * gst/gstformat.c: (gst_format_register):
12418           Fix locking order (must take lock before using n_values).
12419
12420         * gst/gstvalue.c: (gst_value_serialize_enum),
12421         (gst_value_deserialize_enum_iter_cmp),
12422         (gst_value_deserialize_enum):
12423           Fix serialisation/deserialisation of custom registered GstFormats.
12424
12425         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12426           Unit test for custom format serialisation/deserialisation.
12427
12428 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
12429
12430         * docs/pwg/building-boiler.xml:
12431         * plugins/elements/gstcapsfilter.c:
12432         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
12433         section.
12434
12435 2006-09-16  Edward Hervey  <edward@fluendo.com>
12436
12437         * libs/gst/base/gstbasetransform.c:
12438         (gst_base_transform_buffer_alloc):
12439         Check if requested caps are the same as the sinks caps IF
12440         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
12441         is FALSE.
12442         This fixes the renegotiation issues stated in #352827.
12443
12444 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12445
12446         * configure.ac:
12447         * docs/manual/advanced-autoplugging.xml:
12448         * tests/examples/Makefile.am:
12449         * tests/examples/manual/.cvsignore:
12450         * tests/examples/manual/Makefile.am:
12451         * tests/examples/manual/extract.pl:
12452           Extract the manual examples again like we used to do.
12453           Fix one of them.
12454
12455 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12456
12457         * win32/common/config.h:
12458           update for version
12459
12460 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
12461
12462         * gst/gsterror.c:
12463           Documents how to receive errors.
12464
12465 2006-09-15  Wim Taymans  <wim@fluendo.com>
12466
12467         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
12468         (event_loop), (main):
12469         Added some comments here and there.
12470         Post an application message when an interrupt is caught instead of doing
12471         an uncontrolled state change.
12472         Clean up the event loop.
12473         Handle buffering messages, pause/resume the pipeline.
12474         Make shutdown because of an interrupt more reliable.
12475
12476 2006-09-15  Wim Taymans  <wim@fluendo.com>
12477
12478         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12479         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
12480         (gst_base_sink_preroll_object):
12481         Make sure that our internal state is correct when we commit our state
12482         asynchronously. This solves a race where a state change to PLAYING
12483         could cause the sink to remain blocked in preroll in some situations.
12484
12485 2006-09-15  Wim Taymans  <wim@fluendo.com>
12486
12487         * tools/gst-inspect.c: (print_element_properties_info),
12488         (print_signal_info):
12489         List flags as hex so it's easier to deal with.
12490
12491 2006-09-15  Wim Taymans  <wim@fluendo.com>
12492
12493         * docs/libs/gstreamer-libs-sections.txt:
12494         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
12495         (gst_base_sink_do_sync):
12496         * libs/gst/base/gstbasesink.h:
12497         Expose logic to wait for preroll so that subclasses such as audiosink
12498         can also use this method.
12499         API: gst_base_sink_wait_preroll()
12500
12501 2006-09-15  Wim Taymans  <wim@fluendo.com>
12502
12503         * gst/gstobject.c: (gst_object_set_parent):
12504         * gst/gstpipeline.c: (do_pipeline_seek):
12505         Small cleanups in docs and code.
12506
12507         * gst/gstsegment.c: (gst_segment_clip):
12508         * tests/check/gst/gstsegment.c: (GST_START_TEST):
12509         if stop == start and start is in the segment, no clipping should be
12510         done. Also add a test for this.
12511
12512 2006-09-15  Wim Taymans  <wim@fluendo.com>
12513
12514         * docs/design/part-buffering.txt:
12515         * docs/gst/gstreamer-sections.txt:
12516         * gst/gstmessage.c: (gst_message_new_buffering),
12517         (gst_message_parse_buffering):
12518         * gst/gstmessage.h:
12519         Added methods to create and parse BUFFERING messages.
12520         Added preliminary docs about buffering.
12521         API: gst_message_new_buffering
12522         API: gst_message_parse_buffering
12523
12524 2006-09-06  Wim Taymans  <wim@fluendo.com>
12525
12526         * gst/gstbin.c:
12527         Update documentation.
12528
12529         * gst/gstelement.c: (gst_element_class_init),
12530         (gst_element_release_request_pad), (gst_element_set_clock),
12531         (gst_element_get_index), (gst_element_add_pad),
12532         (gst_element_remove_pad), (gst_element_get_random_pad),
12533         (gst_element_send_event), (gst_element_get_query_types),
12534         (gst_element_query), (gst_element_post_message),
12535         (gst_element_message_full), (gst_element_continue_state),
12536         (gst_element_lost_state), (gst_element_save_thyself),
12537         (gst_element_restore_thyself):
12538         Documentation updates.
12539         Rename last bit of the new-pad -> pad-added signal rename.
12540         Fix the case where an element query would only work if the source
12541         pad was linked.
12542         Avoid some useless type checking in message handling.
12543
12544         * gst/gstevent.c:
12545         * gst/gstevent.h:
12546         * gst/gstutils.c:
12547         Documentation updates.
12548
12549 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12550
12551         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
12552           add an INFO line for when we actually update the fd
12553
12554 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12555
12556         * configure.ac:
12557           back to TRUNK
12558
12559 === release 0.10.10 ===
12560
12561 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
12562
12563         * configure.ac:
12564           releasing 0.10.10, "Pais"
12565
12566 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
12567
12568         * docs/manual/advanced-position.xml:
12569           Fix typo in sample code.
12570
12571 2006-09-05  Wim Taymans  <wim@fluendo.com>
12572
12573         * libs/gst/net/gstnetclientclock.c: (inet_aton),
12574         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
12575         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
12576         * libs/gst/net/gstnetclientclock.h:
12577         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
12578         * libs/gst/net/gstnettimepacket.h:
12579         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
12580         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
12581         (gst_net_time_provider_thread), (gst_net_time_provider_new):
12582         * libs/gst/net/gstnettimeprovider.h:
12583         Make stuff compile on windows. Fixes #345295.
12584
12585 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
12586
12587         * gst/gst.c: (ensure_current_registry_forking):
12588           Print better details when child was terminated by signal.
12589
12590 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
12591
12592         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
12593           Print a warning rather than g_assert() if a plugin feature
12594           is a URI handler but returns no protocols (#353976).
12595
12596 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
12597
12598         * docs/random/moving-plugins:
12599         Fix two typos.         
12600
12601 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
12602
12603         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
12604           Fix locking order, handle NULL function values properly.
12605
12606         * gst/gstinfo.h:
12607           Fix docs.
12608
12609         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
12610           Initialise variable before using it and fix debug statement to
12611           print the address of the function rather than the address of the
12612           variable on the stack holding the address of the function.
12613
12614 2006-09-01  Wim Taymans  <wim@fluendo.com>
12615
12616         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
12617         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
12618         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
12619         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
12620         (gst_ghost_pad_parent_unset),
12621         (gst_ghost_pad_internal_do_activate_push),
12622         (gst_ghost_pad_internal_do_activate_pull),
12623         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12624         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12625         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
12626         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
12627         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
12628         (gst_ghost_pad_new_no_target_from_template),
12629         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
12630         More cleanups.
12631         Avoid needless typechecking in macros.
12632         Since the internal pad is always present and never changes, there is
12633         no need to locking or ref when retrieving it.
12634         Improve debugging a bit.
12635         Handle link errors when setting the target. Fixes #341029.
12636
12637 2006-09-01  Wim Taymans  <wim@fluendo.com>
12638
12639         * docs/libs/gstreamer-libs-sections.txt:
12640         * docs/plugins/gstreamer-plugins-sections.txt:
12641         Fix docs some more.
12642
12643         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
12644         (gst_collect_pads_event):
12645         * libs/gst/base/gstcollectpads.h:
12646         Documentation updates.
12647         Free queued buffer when removing a pad.
12648
12649 2006-08-31  Michael Smith  <msmith@fluendo.com>
12650
12651         * gst/gstutils.c: (gst_element_link_pads),
12652         (gst_element_link_pads_filtered):
12653           Ensure that we set a capsfilter to NULL if we failed to link it
12654           when doing filtered linking, to avoid criticals.
12655
12656           No need to check for unreffing srcpad, which is explicly NULLed
12657           above (a trivial code cleanup).
12658
12659 2006-08-31  Wim Taymans  <wim@fluendo.com>
12660
12661         * docs/design/part-gstghostpad.txt:
12662         Update ascii art in documentation.
12663
12664         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
12665         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
12666         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
12667         (gst_ghost_pad_internal_do_activate_push),
12668         (gst_ghost_pad_internal_do_activate_pull),
12669         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12670         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12671         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
12672         (gst_ghost_pad_set_target):
12673         Small cleanups and leak fixes.
12674         Remove some checks now that the internal pad is never NULL.
12675         Fix the case where linking pads without a target would create nasty
12676         criticals. Fixes #341029.
12677         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
12678         value of _set_target().
12679
12680         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12681         (gst_ghost_pad_suite):
12682         Some more tests for creating and linking untargeted ghostpads.
12683
12684 2006-08-31  Edward Hervey  <edward@fluendo.com>
12685
12686         * docs/gst/gstreamer-sections.txt:
12687         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
12688         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
12689         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
12690         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
12691         (gst_ghost_pad_new_from_template),
12692         (gst_ghost_pad_new_no_target_from_template):
12693         * gst/gstghostpad.h:
12694         Refactored *_new() functions.
12695         Templates are now used as a g_object_new() parameter.
12696         Use template in _do_getcaps() if we don't have a target.
12697         Small documentation cleanups.
12698         Added two new constructors:
12699         gst_ghost_pad_new_from_template()
12700         gst_ghost_pad_new_no_target_from_template()
12701         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12702         (gst_ghost_pad_suite):
12703         Added tests for new ghostpad instanciation functions.
12704
12705         API additions: gst_ghost_pad_new_from_template,
12706         gst_ghost_pad_new_no_target_from_template
12707
12708 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
12709
12710         * docs/random/ensonic/profiling.txt:
12711           Ideas about qos profiling.
12712
12713 2006-08-29  Wim Taymans  <wim@fluendo.com>
12714
12715         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
12716         Code cleanups.
12717         Fix memleak.
12718
12719 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
12720
12721         * gst/gstxml.c:
12722           Improve and detypofy docs.
12723
12724         * tests/check/Makefile.am:
12725         * tests/check/gst/.cvsignore:
12726         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
12727           Add a basic test suite for GstXML.
12728
12729 2006-08-29  Wim Taymans  <wim@fluendo.com>
12730
12731         * gst/gstelement.c: (activate_pads), (clear_caps),
12732         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
12733         Clear the pad caps when the element shut down all of the pads and
12734         is not streaming data that could modify the caps. 
12735         Fixes #352958.
12736
12737 2006-08-28  Michael Smith  <msmith@fluendo.com>
12738
12739         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12740           Revert previous change; I misunderstood single-segment mode.
12741
12742 2006-08-28  Michael Smith  <msmith@fluendo.com>
12743
12744         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12745           Unset DISCONT on buffers when using single-segment mode.
12746
12747 2006-08-28  Wim Taymans  <wim@fluendo.com>
12748
12749         * gst/gstcaps.c: (gst_caps_merge_structure):
12750         * gst/gstcaps.h:
12751         Fix docs and indentation again.
12752
12753         * tests/check/gst/gstquery.c: (GST_START_TEST):
12754         Fix leak in tests and add some more tests.
12755
12756 2006-08-28  Edward Hervey  <edward@fluendo.com>
12757
12758         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
12759         Inform GstSegment of the last stop position in order for the current
12760         segment to have a proper duration if it doesn't have a specific stop
12761         position from which a duration could be calculated.
12762         This bug was noticeable when a non-flushing, non-update new segment was
12763         followed by another segment (all buffers from the new segment were being
12764         dropped).
12765
12766 2006-08-28  Wim Taymans  <wim@fluendo.com>
12767
12768         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
12769         Small comment update.
12770
12771         * plugins/elements/gstidentity.c: (gst_identity_class_init),
12772         (gst_identity_transform_ip):
12773         Drop-probability is broken, mention this in the code with a 
12774         FIXME and also in the property description.
12775         Make silent also be silent about the drop messages.
12776
12777 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
12778
12779         * docs/manual/appendix-win32.xml:
12780           Remove mention of popt, we don't depend on that any
12781           longer (#353136). Add some comments pointing out that
12782           this section is slightly outdated.
12783
12784 2006-08-28  Wim Taymans  <wim@fluendo.com>
12785
12786         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12787
12788         * gst/gstquery.c: (gst_query_new_segment):
12789         * tests/check/gst/gstquery.c: (GST_START_TEST):
12790         Initialize variables when creating a new segment query.
12791         Fixes #353121.
12792
12793 2006-08-28  Wim Taymans  <wim@fluendo.com>
12794
12795         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12796
12797         * gst/gstelement.c: (gst_element_get_bus):
12798         * tests/check/gst/gstelement.c: (GST_START_TEST):
12799         Check for NULL before _reffing the bus. Fixes #353122.
12800
12801 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
12802
12803         * docs/manual/basics-bus.xml:
12804           Docs update: fix wrong callback return value explanation; add
12805           some lines about the implicit relationship between main loop
12806           and main context; remove duplicate main loop variable declaration.
12807
12808 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
12809
12810         * tests/check/gst/gstcaps.c: (GST_START_TEST):
12811           Don't leak caps in unit test; add a few more simple
12812           checks. 
12813
12814 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
12815
12816         * docs/gst/gstreamer-sections.txt:
12817         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
12818         (gst_caps_structure_is_subset), (gst_caps_merge),
12819         (gst_caps_merge_structure):
12820         * gst/gstcaps.h:
12821         * libs/gst/base/gstbasetransform.c:
12822         (gst_base_transform_transform_caps):
12823         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12824           implement caps merging (fixes #352580)
12825
12826 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
12827
12828         * tools/Makefile.am:
12829         * tools/gst-plot-timeline.py:
12830           add debug-log plotting developer tool (#340674)
12831
12832 2006-08-23  Wim Taymans  <wim@fluendo.com>
12833
12834         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
12835         (gst_pad_stop_task):
12836         Improve debugging for task functions.
12837
12838         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
12839         (gst_task_start), (gst_task_pause), (gst_task_join):
12840         Make sure that the task function started and finished after a 
12841         join(). 
12842         Don't try to push the task function on the threadpool multiple
12843         times.
12844         Improve the g_warning message with some useful suggestions
12845         about how to fix the problem. 
12846
12847 2006-08-23  Wim Taymans  <wim@fluendo.com>
12848
12849         * gst/gstutils.c: (gst_pad_proxy_getcaps):
12850         Handle RESYNC correctly in _proxy_getcaps.
12851
12852 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
12853
12854         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
12855         (gst_xml_parse_memory), (gst_xml_get_element):
12856           Chain up to parent class in dispose function and also
12857           unref the elements in the toplevel_elements GList.
12858           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
12859           Always return a reference in gst_xml_get_element() rather
12860           than only sometimes.
12861
12862         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12863           Don't leak GstXml object.
12864
12865 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
12866
12867         * docs/gst/gstreamer-sections.txt:
12868         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
12869         (gst_caps_merge):
12870         * gst/gstcaps.h:
12871         * libs/gst/base/gstbasetransform.c:
12872         (gst_base_transform_transform_caps):
12873           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
12874           in a better way
12875
12876 2006-08-21  Edward Hervey  <edward@fluendo.com>
12877
12878         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
12879         Implement GObject::dispose virtual method in GstXML so we can free the
12880         top_elements GList.
12881
12882 2006-08-21  Wim Taymans  <wim@fluendo.com>
12883
12884         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
12885         (gst_buffer_create_sub):
12886         Copy duration/offset_end/caps when creating a subbuffer of the
12887         complete parent.
12888         Make the subbuffer read-only when we make the metadata writable for
12889         now. Fixes #351768.
12890
12891         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
12892         Added check for metadata copy when creating subbuffers.
12893
12894 2006-08-21  Edward Hervey  <edward@fluendo.com>
12895
12896         * libs/gst/base/gstbasetransform.c:
12897         (gst_base_transform_buffer_alloc):
12898         Only call downstream buffer_alloc if transform element is passthrough
12899         or always_in_place. Closes #350449.
12900
12901 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12902
12903         * ChangeLog:
12904           ChangeLog surgery to add comments to previous changes
12905
12906 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12907
12908         * gst/gst.c:
12909           Add comments
12910
12911         * gst/gstpad.c: (gst_pad_set_active):
12912           Be more verbose in the log
12913
12914         * libs/gst/base/gstbasetransform.c:
12915         (gst_base_transform_transform_caps):
12916           Simplify caps to get rid of duplicates, fixes #345444
12917
12918 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12919
12920         * gst/gstvalue.c:
12921         * gst/gstvalue.h:
12922           Use these optimizations only internally.
12923
12924 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12925
12926         * gst/gstvalue.c: (gst_value_compare_list),
12927         (gst_value_compare_fraction_range),
12928         (gst_value_intersect_fraction_fraction_range),
12929         (gst_value_intersect_fraction_range_fraction_range),
12930         (gst_value_subtract_fraction_fraction_range),
12931         (gst_value_subtract_fraction_range_fraction_range),
12932         (gst_value_get_compare_func), (gst_value_compare),
12933         (gst_value_compare_with_func):
12934         * gst/gstvalue.h:
12935           Saves the expensive lookup of the compare function in many cases
12936          (#345444)
12937
12938 2006-08-18  Edward Hervey  <edward@fluendo.com>
12939
12940         * tests/check/gst/gstinfo.c: (gst_info_suite):
12941         Disable test that require gstdebug if it wasn't built in core.
12942
12943 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
12944
12945         * docs/random/ensonic/logging.txt:
12946           update ideas
12947           
12948         * gst/gstinfo.c: (gst_debug_log_default):
12949           reorder fields, save some columns, add optional color codes for log
12950           levels
12951
12952 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
12953
12954         * docs/random/ensonic/logging.txt:
12955           add ideas about making the logs a bit more useful
12956
12957 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
12958
12959         * docs/pwg/advanced-events.xml:
12960         * docs/pwg/titlepage.xml:
12961           Update for 0.10 API (#340627). Add myself
12962           to authors list.
12963
12964 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
12965
12966         * docs/libs/gstreamer-libs-docs.sgml:
12967         * docs/libs/gstreamer-libs-sections.txt:
12968         * libs/gst/check/gstbufferstraw.c:
12969           Make gstcheck stuff show up in docs (still needs to
12970           be documented properly though).
12971
12972 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
12973
12974         * docs/gst/gstreamer-sections.txt:
12975         * gst/Makefile.am:
12976         * gst/gst.c: (init_post):
12977         * gst/gst_private.h:
12978         * gst/gstquark.c: (_priv_gst_quarks_initialize):
12979         * gst/gstquark.h:
12980         * gst/gstquery.c: (gst_query_new_position),
12981         (gst_query_set_position), (gst_query_parse_position),
12982         (gst_query_new_duration), (gst_query_set_duration),
12983         (gst_query_parse_duration), (gst_query_new_convert),
12984         (gst_query_set_convert), (gst_query_parse_convert),
12985         (gst_query_new_segment), (gst_query_set_segment),
12986         (gst_query_parse_segment), (gst_query_new_seeking),
12987         (gst_query_set_seeking), (gst_query_parse_seeking):
12988         Add internal helpers for pre-registering quarks from static strings
12989         and using the quark values directly instead of looking them up when
12990         creating and parsing queries. Can be used for event construction too.
12991         Closes #350432.
12992
12993 2006-08-16  Wim Taymans  <wim@fluendo.com>
12994
12995         * gst/gstbin.c:
12996         Fix bogus docs.
12997
12998 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
12999
13000         * gst/gstutils.c: (gst_util_set_value_from_string):
13001           Fix memleak (#351502).
13002
13003         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13004           Add unit test for most of gst_util_set_value_from_string()
13005           (not that one would want to encourage use of this function).
13006
13007 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
13008
13009         * libs/gst/check/gstcheck.h:
13010           Use const gchar * variables in fail_unless_equals_string
13011           macro to avoid compiler warnings (and don't use tabs for
13012           indenting).
13013
13014 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
13015
13016         * tools/gst-launch.c: (print_tag):
13017           More space on the left for the tag names, to cater
13018           for the 'extended comment' tag (not touching the
13019           string for the first line since it's translated).
13020
13021 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
13022
13023         * libs/gst/check/gstcheck.h:
13024           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
13025           print something when they fail.
13026
13027 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
13028
13029         * docs/gst/gstreamer-sections.txt:
13030         * gst/gsttaglist.c: (_gst_tag_initialize):
13031         * gst/gsttaglist.h:
13032           API: add GST_TAG_EXTENDED_COMMENT (#350935).
13033           Also change merge function for GST_TAG_COMMENT to
13034           use_first.
13035
13036 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
13037
13038         * gst/gstinfo.c: (gst_debug_print_object):
13039           Make GST_PTR_FORMAT print messages as well.
13040
13041         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
13042         (GST_START_TEST), (gst_info_suite):
13043           More tests.
13044
13045 2006-08-14  Edward Hervey  <edward@fluendo.com>
13046
13047         * gst/gstelementfactory.c: (gst_element_register):
13048         If the GstElementClass doesn't have a GstElementDetails with all fields
13049         filled up correctly (longname, description AND author), then error out
13050         nicely instead of crashing.
13051
13052 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
13053
13054         * gst/gststructure.c:
13055           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
13056
13057         * gst/gstvalue.h:
13058           Expand on the difference between arrays and lists as we use them.
13059           
13060 2006-08-14  Wim Taymans  <wim@fluendo.com>
13061
13062         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
13063         If the parent state change function failed, don't assume we can safely
13064         stop the source, this will be done when the pads are deactivated.
13065
13066 2006-08-14  Wim Taymans  <wim@fluendo.com>
13067
13068         * gst/gstbuffer.c:
13069         * gst/gsttask.c: (gst_task_join):
13070         Small doc updates.
13071
13072         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
13073         (gst_pad_stop_task):
13074         When pad (de)activation failed for some reason, restore the old
13075         activation mode and set the pad to flushing instead of assuming the
13076         pad is deactivated.
13077         If the _task_join() failed, reinstall the task on the pad so that it can
13078         be stopped later and return an error.
13079
13080 2006-08-11  Andy Wingo  <wingo@pobox.com>
13081
13082         * configure.ac:
13083         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
13084         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
13085         is only for users of API that don't want to see deprecated
13086         functions in the headers; people that want to compile out
13087         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
13088         CFLAGS. Fixes the build of multifdsink, or will soon..
13089
13090 2006-08-11  Wim Taymans  <wim@fluendo.com>
13091
13092         * docs/gst/gstreamer-sections.txt:
13093         Add GstClockClass vmethod docs.
13094
13095         * gst/gstcaps.h:
13096         Mark #endif with comment for associated #if
13097
13098         * gst/gstclock.c: (gst_clock_id_wait):
13099         * gst/gstclock.h:
13100         Add vmethod wait_jitter to avoid an unneeded _get_time() for
13101         most clock implementations.
13102         Document vmethods.
13103         Flesh out docs about resolution methods.
13104         API: GstClockClass::wait_jitter
13105
13106         * gst/gstsystemclock.c: (gst_system_clock_class_init),
13107         (gst_system_clock_async_thread),
13108         (gst_system_clock_id_wait_jitter_unlocked),
13109         (gst_system_clock_id_wait_jitter):
13110         Use base class wait_jitter variant for improved performance
13111         due to less clock polling.
13112
13113 2006-08-11  Edward Hervey  <edward@fluendo.com>
13114
13115         * gst/gst.c: (gst_init_check), (init_post):
13116         Set gst as being initialized before scanning/updating the registry,
13117         since there might be my python plugin loader that calls gst_init() and
13118         we don't want to loop back in.
13119         Closes #350879
13120
13121 2006-08-11  Wim Taymans  <wim@fluendo.com>
13122
13123         * docs/design/part-qos.txt:
13124         Bring docs in line with the code. Mostly the sign of the jitter was
13125         wrong in the docs. Fixes #349943.
13126
13127         * gst/gstclock.c:
13128         Fix the docs for the jitter.
13129
13130         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
13131         (gst_event_parse_tag), (gst_event_new_buffer_size),
13132         (gst_event_parse_buffer_size), (gst_event_parse_qos),
13133         (gst_event_new_seek), (gst_event_parse_seek),
13134         (gst_event_new_navigation):
13135         Make sure the GstStructure has no parent when creating custom
13136         events.
13137         Add some more argument checking so that we avoid 0.0 rates.
13138         Flesh out the docs for the QoS event some more.
13139
13140 2006-08-11  Wim Taymans  <wim@fluendo.com>
13141
13142         * docs/gst/gstreamer-sections.txt:
13143         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
13144         (ensure_current_registry_forking), (ensure_current_registry),
13145         (parse_one_option), (parse_goption_arg), (gst_deinit),
13146         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
13147         * gst/gst.h:
13148         Doc updates.
13149         Added API and command line option to disable registry forking in
13150         addition to the environment variable.
13151         Constify some static arrays.
13152         Added some more debug.
13153         Don't deinit twice.
13154         API: gst_registry_fork_is_enabled()
13155         API: gst_registry_fork_set_enabled()
13156         API: --gst-disable-registry-fork command line option
13157         Fixes #348918.
13158
13159 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
13160
13161         * gst/gst.c: (gst_init):
13162           Fix typo in error message.
13163
13164 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
13165
13166         * libs/gst/controller/gstcontroller.h:
13167           fix ABI size-correction
13168
13169         * tests/check/libs/gdp.c: (gst_dp_suite):
13170           make tests that use deprecated API conditional
13171
13172 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
13173
13174         * docs/libs/gstreamer-libs-sections.txt:
13175         * libs/gst/controller/gstcontroller.c:
13176         (_gst_controller_get_property), (_gst_controller_set_property),
13177         (_gst_controller_init), (_gst_controller_class_init):
13178         * libs/gst/controller/gstcontroller.h:
13179         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
13180         (gst_object_set_control_rate):
13181           API: add gst_object_{s,g}et_control_rate(), add private data section,
13182           fix docs
13183
13184         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
13185         * libs/gst/dataprotocol/dataprotocol.h:
13186           add deprecation guards to make gtk-doc happy and allow disabling cruft
13187
13188 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
13189
13190         * tests/check/Makefile.am:
13191         * tests/check/gst/.cvsignore:
13192           Let's enable the new unit test as well.
13193
13194 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
13195
13196         * configure.ac:
13197         * docs/gst/gstreamer-sections.txt:
13198         * gst/gstconfig.h.in:
13199         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
13200         (_gst_info_printf_extension_ptr),
13201         (_gst_info_printf_extension_segment):
13202           API: add GST_SEGMENT_FORMAT, which is a printf extension we
13203           register that lets us easily dump GstSegments into debug
13204           logs (#350419).
13205
13206         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
13207         (info_segment_format_printf_extension), (gst_info_suite):
13208           Add simple unit test that logs a bunch of different segments (not
13209           valgrinded at the moment because of leaks in
13210           gst_debug_add_log_function).
13211
13212 2006-08-09  Edward Hervey  <edward@fluendo.com>
13213
13214         * libs/gst/base/gstbasetransform.c:
13215         (gst_base_transform_buffer_alloc):
13216         Even if we can't figure out the proper format to request downstream,
13217         call buffer_alloc() downstream with the input parameters without setting
13218         the caps on the srcpad. This will force negotiation in the chain
13219         function.
13220         Closes #350449
13221
13222 2006-08-08  Edward Hervey  <edward@fluendo.com>
13223
13224         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
13225         Unlinking from a pad without a target is now a perfectly valid case
13226         which should NOT raise an assertion.
13227         This case would happen if a linked ghostpad its target set to NULL after
13228         it was previously linked.
13229
13230 2006-08-08  Edward Hervey  <edward@fluendo.com>
13231
13232         * tests/check/libs/gdp.c:
13233         Also comment out the test (see below).
13234
13235 2006-08-08  Edward Hervey  <edward@fluendo.com>
13236
13237         * tests/check/libs/gdp.c: (gst_dp_suite):
13238         Use the architecture information from config.h and not gcc macros
13239         in order to properly disable a test that fails on PPC64.
13240
13241 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
13242
13243         * gst/gstelement.c: (gst_element_remove_pad):
13244           Don't crash printing the warning if the pad has no parent.
13245
13246 2006-08-02  Wim Taymans  <wim@fluendo.com>
13247
13248         * libs/gst/dataprotocol/dataprotocol.c:
13249         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
13250         (gst_dp_crc), (gst_dp_header_payload_length),
13251         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
13252         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
13253         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
13254         (gst_dp_event_from_packet), (gst_dp_validate_header),
13255         (gst_dp_validate_payload):
13256         Make debug category static
13257         Constify the crc table.
13258         Do some more arg checking in public functions.
13259         Fix some docs and do some small cleanups.
13260
13261         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
13262         Add some more checks to see if GDP deals with bogus input.
13263
13264 2006-07-31  Wim Taymans  <wim@fluendo.com>
13265
13266         * gst/gstvalue.c: (gst_value_compare_list):
13267         Fix GstValueList comparison code. Fixes #347293.
13268
13269         * tests/check/gst/gstvalue.c: (GST_START_TEST):
13270         Check to test GstValueList comparison.
13271
13272 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
13273
13274         * gst/gstelementfactory.c: (gst_element_factory_create):
13275         Remove unnecessary ref/unref pair
13276
13277         * gst/parse/grammar.y:
13278         Make sure to free the parse buffer on all code paths.
13279         Move a g_free up to the error handler where it's easier to see.
13280
13281         * tests/check/gst/gstevent.c: (test_event):
13282         Extending timeout for downstream travelling events to 10 seconds to
13283         hopefully avoid intermittent failure on the buildbots.
13284
13285         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
13286         Don't manually set the state of the src element - it will happen as a
13287         natural consequence of the pipeline changing state, and that way it
13288         will do it in the right order too.
13289
13290 2006-07-31  Wim Taymans  <wim@fluendo.com>
13291
13292         * libs/gst/base/gstbasetransform.c:
13293         (gst_base_transform_buffer_alloc):
13294         Use OBJECT_LOCK and refcounting to get the pad caps in the
13295         buffer_alloc function because the caps could change while we are
13296         busy with them. Fixes #349105
13297
13298 2006-07-31  Wim Taymans  <wim@fluendo.com>
13299
13300         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
13301         Protect _PAD_CAPS with OBJECT_LOCK.
13302
13303 2006-07-31  Wim Taymans  <wim@fluendo.com>
13304
13305         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
13306         (gst_pad_get_property), (gst_pad_activate_pull),
13307         (gst_pad_activate_push), (gst_pad_set_blocked_async),
13308         (gst_pad_set_activate_function),
13309         (gst_pad_set_activatepull_function),
13310         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
13311         (gst_pad_set_getrange_function),
13312         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
13313         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
13314         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
13315         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
13316         (gst_pad_set_acceptcaps_function),
13317         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
13318         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
13319         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
13320         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
13321         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
13322         (gst_pad_configure_sink), (gst_pad_configure_src),
13323         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
13324         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
13325         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
13326         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
13327         (gst_pad_send_event):
13328         Use _DEBUG_OBJECT when it makes sense.
13329         Protect GST_PAD_CAPS with the OBJECT_LOCK.
13330         Small cleanups and code reflows.
13331         Avoid caps refcounting in _accept_caps.
13332         Refactor alloc_buffer so that the code performed on the peer is in a
13333         separate function. Also if the pad does not implement a buffer alloc
13334         function, we should still check if the pad is flushing before falling
13335         back to the default allocator.
13336
13337 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
13338
13339         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13340         Make all uses of identity and fakesink have silent=true to avoid
13341         serialising every passing data structure, which is breaking tests
13342         on FC4 for some unknown reason.
13343
13344 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
13345
13346         * gst/parse/Makefile.am:
13347         * gst/parse/grammar.y:
13348         * gst/parse/parse.l:
13349           Reverted previous patch as it required to bump the flex dependency to
13350           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
13351
13352 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
13353
13354         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
13355
13356         * gst/parse/Makefile.am:
13357         * gst/parse/grammar.y:
13358         * gst/parse/parse.l:
13359           push & pop the state of the lexer for reentrant use case
13360           Fixes #349180
13361
13362 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
13363
13364         * libs/gst/base/gstbasesrc.h:
13365           Note in the docs that the ::newsegment vfunc is not actually used by
13366           GstBaseSrc.
13367
13368 2006-07-28  Wim Taymans  <wim@fluendo.com>
13369
13370         * libs/gst/base/gstcollectpads.c:
13371         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
13372         (gst_collect_pads_clear), (gst_collect_pads_flush),
13373         (gst_collect_pads_event), (gst_collect_pads_chain):
13374         When flushing a pad, also clear the queued buffer so that we don't
13375         accidentally use it when we shouldn't.
13376         Fix leaks by inreffing incomming buffer.
13377         Flush out queued buffers in case of errors.
13378         Fixes #347452.
13379
13380 2006-07-28  Wim Taymans  <wim@fluendo.com>
13381
13382         * docs/random/phonon-gst:
13383         Random notes about a Phonon backend.
13384
13385 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
13386
13387         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13388         Extra debug output
13389         * tests/check/libs/gdp.c: (gst_dp_suite):
13390         Take a whack at fixing the ppc compile using a different define to
13391         disable the broken test.
13392
13393         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13394         Remove excess g_print()
13395
13396 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
13397
13398         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
13399         Oops, meant to uncomment this line too to dampen the noise a bit.
13400
13401 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
13402
13403         * gst/parse/grammar.y:
13404         * gst/parse/parse.l:
13405         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13406         (GST_START_TEST), (parse_suite):
13407         Fix some of the leaks exposed by extending the parse-launch testsuite,
13408         and move the 3 I can't figure out into a separate test that won't run
13409         the pipelines unless the appropriate line is uncommented.
13410
13411 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
13412
13413         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13414           Requesting 0 bytes before the end of the file should result in
13415           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
13416           unit test.
13417
13418 2006-07-27  Wim Taymans  <wim@fluendo.com>
13419
13420         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
13421         Fix useless assert, a uint is always positive.
13422
13423         * gst/gststructure.c: (gst_structure_nth_field_name),
13424         (gst_structure_foreach), (gst_structure_map_in_place):
13425         Check input arguments for public functions to avoid obvious crashes.
13426
13427         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
13428         * plugins/elements/gstfakesink.h:
13429         Do less useless typechecking.
13430
13431 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
13432
13433         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
13434           Do not use mmap() by default since there are a number of error
13435           conditions that we would like to handle in a non-fatal way that
13436           will result in a SIGBUS if we use mmap(). Examples: external
13437           devices (USB harddrive, portable music player) being unplugged
13438           while in use; file on mounted CD/DVD that can't be read because
13439           the medium is partly damaged. Fixes #348455 and #348475.
13440
13441 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
13442
13443         * gst/gstquery.h:
13444         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
13445         rates are a gdouble
13446
13447 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
13448
13449         * gst/gstregistry.c:
13450           Move big documentation comment into class section header, so that it
13451           appears in the API docs.
13452
13453 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13454
13455         * docs/gst/gstreamer-sections.txt:
13456         Oops. Commit the docs additions too for new API.
13457         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
13458
13459 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13460
13461         * gst/gststructure.c: (gst_structure_id_set),
13462         (gst_structure_id_set_valist):
13463         * gst/gststructure.h:
13464         Add API for setting values into structures without performing
13465         a quark lookup, if the appropriate quark is already known.
13466
13467         API: gst_structure_id_set
13468         API: gst_structure_id_set_valist
13469
13470         * gst/parse/grammar.y:
13471         * gst/parse/parse.l:
13472         Remove some dead code shown by the coverage information.
13473         Don't throw a critical g_warning when encountering a syntax error,
13474         just warn and let the normal error path handle it.
13475
13476         * plugins/elements/gstelements.c:
13477         Bump the rank of filesink up to PRIMARY so that it is preferred over
13478         gnomevfssink for file:// sink uri's
13479
13480         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13481         (GST_START_TEST), (run_delayed_test),
13482         (gst_parse_test_element_base_init),
13483         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
13484         (gst_parse_test_element_change_state),
13485         (gst_register_parse_element), (parse_suite):
13486         Beef up the tests for parse syntax to check that more error cases
13487         fail as they are supposed to. Increases the test coverage a bit.
13488
13489 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
13490
13491         * docs/manual/basics-elements.xml:
13492           Fix gst_element_link() example.
13493
13494         * gst/gstutils.c:
13495           Mention in API docs that one should usually gst_bin_add()
13496           elements to a bin or pipeline before doing the linking.
13497           
13498 2006-07-26  Wim Taymans  <wim@fluendo.com>
13499
13500         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
13501         (gst_subbuffer_get_type), (gst_buffer_create_sub):
13502         Avoid function call for known types by keeping the buffer and
13503         subbuffer GType global.
13504
13505         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13506         Random silly optimisations in read() path.
13507
13508 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13509
13510         * tools/gst-launch.c: (main):
13511           If the top-level of the parse is a normal bin, it doesn't do the
13512           right logic to run as a top-level element, so place it inside a
13513           pipeline.
13514
13515 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
13516
13517         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
13518           Remove superfluous g_object_notify() calls, GObject does
13519           that for us automatically.
13520
13521 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
13522
13523         * gst/gstinfo.h:
13524           on Win32, use dllspec to export the debug category symbols
13525
13526 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
13527
13528         * gst/gsttaglist.c: (_gst_tag_initialize):
13529           Allow more than one GST_TAG_IMAGE per taglist.
13530
13531 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13532
13533         * gst/gstminiobject.c:
13534           update docs
13535         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
13536         (gst_fd_src_create):
13537           log recurring events at LOG level
13538           add more debug for when the fd gets set
13539
13540 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
13541
13542         * gst/gstparse.c: (gst_parse_launch):
13543           Also remove reentrance checks if flex is MT safe (#348179)
13544          Fix my empty ChangeLog entry below
13545
13546 2006-07-21  Andy Wingo  <wingo@pobox.com>
13547
13548         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
13549
13550         * libs/gst/check/Makefile.am
13551         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
13552         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
13553         * libs/gst/check/gstbufferstraw.h:
13554         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
13555         functions, thus proving I am still a GStreamer haxor. OK I wrote
13556         them a long time ago, but anyways.
13557
13558 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
13559
13560         * configure.ac:
13561         * gst/gstparse.c: (gst_parse_launch):
13562           Check for flex version and omit mutex if we have a MT save flex
13563           (fixes #348179)
13564
13565 2006-07-21  Wim Taymans  <wim@fluendo.com>
13566
13567         * gst/gstparse.c: (gst_parse_launch):
13568         Protect recursive calls to _parse with a recursive mutex
13569         and busy flag.
13570
13571 2006-07-21  Wim Taymans  <wim@fluendo.com>
13572
13573         * tests/check/gst/gstpad.c: (GST_START_TEST):
13574         Fix leak in test.
13575
13576 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
13577
13578         * gst/gstparse.c: (gst_parse_launch):
13579           Do not hang on recursive usage of gst_parse_launch()
13580
13581 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
13582
13583         * gst/gsttaglist.c:
13584           Add some more docs, comments and FIXME 0.11s here and there
13585           and also fix some typos.
13586
13587 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
13588
13589         * gst/gstsegment.h:
13590           Convert tabs to spaces for better readability. 
13591
13592 2006-07-20  Edward Hervey  <edward@fluendo.com>
13593
13594         * tests/check/libs/gdp.c: (gst_dp_suite):
13595         the test_buffer test fails at line 140 on ppc64 at the following
13596         check:
13597         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
13598                 GST_BUFFER_FLAG_IN_CAPS),
13599                 "GST_BUFFER_IN_CAPS flag should have been copied !");
13600         See bug #348114 for more details.
13601
13602 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
13603
13604         * docs/pwg/advanced-scheduling.xml:
13605         * gst/gstpad.c:
13606           Fix typos (#348000).
13607
13608 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
13609
13610         * docs/pwg/intro-basics.xml:
13611           Fix wrong links (#347927).
13612
13613 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
13614
13615         * gst/gstregistry.h:
13616         * gst/gstregistryxml.c: (load_feature),
13617         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
13618         * win32/common/config.h:
13619           make --disable-index work (#342564)
13620
13621 2006-07-18  Wim Taymans  <wim@fluendo.com>
13622
13623         Patch by: Peter Kjellerstedt <pkj at axis dot com>
13624
13625         * gst/Makefile.am:
13626         * gst/gsttrace.h:
13627         The attached patch adds two missing defines to gsttrace.h when tracing
13628         is disabled.  It also corrects one existing define.
13629         Fixes #347756.
13630
13631 2006-07-17  Wim Taymans  <wim@fluendo.com>
13632
13633         * docs/gst/gstreamer-sections.txt:
13634         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
13635         * gst/gst.h:
13636         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
13637         Add two functions to check and change the SIGSEGV behaviour
13638         when loading plugins.
13639         Don't mess with the SIGSEGV handler when we were told not to.
13640         Fixes #347794.
13641         API: gst_segtrap_is_enabled
13642         API: gst_segtrap_set_enabled
13643
13644 2006-07-14  Wim Taymans  <wim@fluendo.com>
13645
13646         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13647         * tests/check/elements/filesrc.c: (GST_START_TEST):
13648         Revert fix for regression in #347408 after release.
13649
13650 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
13651
13652         Patch by: Antoine Tremblay <hexa00 at gmail com>
13653
13654         * gst/gstutils.c: (gst_element_unlink):
13655           Free iterator when done (#347311).
13656
13657         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13658           And add a test case for this.
13659
13660 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
13661
13662         * configure.ac:
13663         Bump nano back to CVS
13664
13665 === release 0.10.9 ===
13666
13667 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
13668
13669         * configure.ac:
13670           releasing 0.10.9, "On the road again"
13671
13672 2006-07-13  Wim Taymans  <wim@fluendo.com>
13673
13674         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13675         * tests/check/elements/filesrc.c: (GST_START_TEST):
13676         Revert pull-0 fix for release. Disable check. Fixes #347408.
13677
13678 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13679
13680         * libs/gst/dataprotocol/dataprotocol.c:
13681         (gst_dp_event_from_packet_1_0):
13682           Fixes #347337: failure to deserialize event packets with
13683           empty payload (only event type)
13684
13685 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13686
13687         * gst/Makefile.am:
13688           do not install a .c file in the header directory
13689
13690 2006-07-13  Edward Hervey  <edward@fluendo.com>
13691
13692         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
13693         GhostPad no longer implicitely use the padtemplates of the targets.
13694         Fixes #347384
13695
13696 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
13697
13698         * gst/gstvalue.c: (gst_value_compare_list),
13699         (gst_value_compare_array), (_gst_value_initialize):
13700         * tests/check/gst/gstvalue.c: (GST_START_TEST):
13701         Make GstValueArray comparison be order dependent as designed.
13702         Add checks for value lists and value array comparisons.
13703         Fixes #347221
13704
13705 2006-07-11  Edward Hervey  <edward@fluendo.com>
13706
13707         * gst/gstbin.c: (activate_pads),
13708         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
13709         (gst_bin_change_state_func):
13710         (de)activate src pads before calling state_change on the childs.
13711         This is to avoid the case where a src ghostpad is blocked (holding the
13712         stream lock), which would block the deactivation of the ghostpad's
13713         target pad.
13714         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
13715         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
13716         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
13717         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
13718         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
13719         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13720         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
13721         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
13722         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
13723         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
13724         (gst_ghost_pad_class_init),
13725         (gst_ghost_pad_internal_do_activate_push),
13726         (gst_ghost_pad_internal_do_activate_pull),
13727         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
13728         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
13729         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
13730         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
13731         GhostPads now create their internal GstProxyPad at creation (and not
13732         when they're linked, as it was being done previously).
13733         The internal and target pads are linked straight away.
13734         The data will also travel through the other pad in order to make
13735         pad blocking and probes non-hackish (the probe/block now really happens
13736         on the GhostPad and not on the target).
13737         * gst/gstpad.c: (gst_pad_set_blocked_async),
13738         (gst_pad_link_prepare), (gst_pad_push_event):
13739         Remove previous ghostpad cruft.
13740         * gst/gstutils.c: (gst_pad_add_data_probe),
13741         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
13742         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
13743         (gst_pad_remove_buffer_probe):
13744         Remove previous ghost pad cruft.
13745         Added more detailed debug statements.
13746         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
13747         Fix the testsuite for refcounting changes.
13748         The comments about who has references were correct, but the refcount
13749         being checked wasn't the same (!?!).
13750
13751         Fixes #341029
13752
13753 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
13754
13755         * docs/gst/gstreamer-sections.txt:
13756         * gst/gstconfig.h.in:
13757         More docs for configuration options, add docs to gtk-doc.
13758
13759 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
13760
13761         * gst/Makefile.am:
13762         * gst/gstconfig.h.in:
13763         * win32/common/config.h:
13764         Fix build when disabling tracing (fixes #344016). Also start to document
13765         the defines that disable the sub-systems.
13766
13767 2006-07-10  Edward Hervey  <edward@fluendo.com>
13768
13769         * gst/gst.c: (ensure_current_registry_forking):
13770         let's make valgrind happy...
13771
13772 2006-07-09  Wim Taymans  <wim@fluendo.com>
13773
13774         * gst/gstelement.c: (activate_pads),
13775         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
13776         Better pad activation code: Reset the collect value too on resync.
13777         Add some comments.
13778
13779 2006-07-09  Wim Taymans  <wim@fluendo.com>
13780
13781         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
13782         (gst_pad_activate_push):
13783         Use some more macros where it makes sense.
13784         Allow pad mode switching instead of asserting. When a pad
13785         is activated in one mode and we activate it in another, 
13786         deactivate it first before activating it in a different mode.
13787         Fixes #329198.
13788
13789 2006-07-08  Andy Wingo  <wingo@pobox.com>
13790
13791         * tools/gst-launch.c (main): Handle err == NULL.
13792
13793         * gst/gst.c (init_post, ensure_current_registry)
13794         (ensure_current_registry_forking)
13795         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
13796         factoring out the registry scanning into separate functions. Don't
13797         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
13798         Better environment var name/interface suggestions accepted.
13799
13800 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13801
13802         * gst/gstobject.c: (gst_object_set_name_default),
13803         (gst_object_set_name):
13804           Random micro-optimisation: don't use a hash table
13805           with strings as keys and the usual strdup/strcmp
13806           involved, but rather just use the GQuark of the
13807           type name as key, since it needs to be looked up
13808           anyway to get the type name string.
13809
13810         * tests/check/gst/gstobject.c: (GST_START_TEST):
13811           Fix various leaks.
13812
13813 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13814
13815         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
13816         (gst_bin_iterate_all_by_interface):
13817           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
13818           GTypes are gulongs and thus the top 4 bytes might be cut
13819           off on some platforms when doing GPOINTER_TO_INT, leading
13820           to invalid GTypes and bad things happening (see RH bug #179654).
13821           Also add a check to make sure the type passed in is really
13822           an interface type.
13823
13824 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13825
13826         * .cvsignore:
13827           Ignore more.
13828
13829 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13830
13831         * Makefile.am:
13832         * configure.ac:
13833         * gst-element-check.m4:
13834         * gst-element-check.m4.in:
13835           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
13836           instead of the unversioned gst-inspect (#324176, #168659).
13837
13838 2006-07-06  Wim Taymans  <wim@fluendo.com>
13839
13840         * gst/gstmessage.h:
13841         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
13842         warnings.
13843
13844 2006-07-06  Wim Taymans  <wim@fluendo.com>
13845
13846         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
13847         (gst_base_src_wait), (gst_base_src_update_length),
13848         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
13849         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
13850         (gst_base_src_loop), (gst_base_src_start),
13851         (gst_base_src_activate_pull):
13852         Update docs.
13853         blocksize == 0 now means the default blocksize when working in push
13854         based mode.
13855         Remove some pointless asserts in _wait function.
13856         Fix offset/length calculations and EOS handling. We can now pull 0
13857         bytes as well, which is allowed.
13858         use _check_get_range() to decide if we can operate in _pull based
13859         mode.
13860         Fix refcounting leak when check_get_range function was not 
13861         implemented.
13862         API GstBaseSrc::blocksize range can be 0 too now (default)
13863
13864         * tests/check/elements/filesrc.c: (GST_START_TEST),
13865         (filesrc_suite):
13866         Added check to test _get_range() behaviour.
13867
13868 2006-07-06  Wim Taymans  <wim@fluendo.com>
13869
13870         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
13871         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
13872         (gst_pad_pull_range):
13873         * gst/gstpad.h:
13874         Lots of comments and docs added to the pad functions.
13875         Flesh out the expected behaviour of the get_range() functions.
13876
13877 2006-07-06  Wim Taymans  <wim@fluendo.com>
13878
13879         * gst/gstbus.h:
13880         * gst/gstclock.h:
13881         * gst/gstevent.h:
13882         * gst/gstiterator.h:
13883         * gst/gstpad.h:
13884         * gst/gstplugin.h:
13885         * gst/gsttask.h:
13886         Remove comma at end of enumerator list. 
13887
13888 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
13889
13890         * win32/common/libgstbase.def:
13891         * win32/common/libgstdataprotocol.def:
13892         * win32/common/libsgtreamer.def:
13893         Add new exported functions.
13894
13895 2006-07-05  Wim Taymans  <wim@fluendo.com>
13896
13897         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
13898         Add some more docs here and there.
13899
13900 2006-07-05  Wim Taymans  <wim@fluendo.com>
13901
13902         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
13903         (gst_base_sink_loop), (gst_base_sink_get_position):
13904         When operating in pull mode update the offset so that we
13905         read sequentially.
13906
13907 2006-07-05  Wim Taymans  <wim@fluendo.com>
13908
13909         * gst/gstregistryxml.c: (read_string):
13910         Avoid strdup. (will happen in libxml, but hey!)
13911
13912         * gst/gsturi.c:
13913         Add some more docs.
13914
13915 2006-07-05  Wim Taymans  <wim@fluendo.com>
13916
13917         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
13918         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
13919         (gst_buffer_suite):
13920         No point in checking if the size of the subbuffer > 0, the
13921         code handles it correclty as demonstrated by unit test.
13922         Also add a unit test for the zero sized _new_and_alloc and
13923         _copy. Fixes #346663.
13924
13925 2006-07-05  Wim Taymans  <wim@fluendo.com>
13926
13927         * libs/gst/base/gstbasetransform.c:
13928         (gst_base_transform_prepare_output_buffer),
13929         (gst_base_transform_buffer_alloc),
13930         (gst_base_transform_handle_buffer):
13931         Make sure the buffer we pass to transform_ip has a refcount of
13932         1 and thus is writable. Fixes #343196
13933
13934 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
13935
13936         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
13937         (gst_file_src_init), (gst_file_src_set_property),
13938         (gst_file_src_get_property), (gst_file_src_map_region):
13939         * plugins/elements/gstfilesrc.h:
13940         Add "sequential" property, off by default, to use madvise and hint
13941         to the kernel that sequential access is desired.
13942         Touch all retrieved pages by default to ensure they are pulled
13943         into memory. (Closes #345720)
13944
13945 2006-07-03  Wim Taymans  <wim@fluendo.com>
13946
13947         * docs/design/part-block.txt:
13948         * docs/design/part-dynamic.txt:
13949         Small docs updates.
13950
13951 2006-07-03  Wim Taymans  <wim@fluendo.com>
13952
13953         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
13954         (gst_caps_unref), (gst_static_caps_get),
13955         (gst_caps_append_structure):
13956         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
13957         Use GSlice when the glib we build against is >= 2.10
13958
13959 2006-07-03  Wim Taymans  <wim@fluendo.com>
13960
13961         * gst/gstelement.c: (gst_element_pads_activate):
13962         Small cleanup in pad activation code.
13963
13964 2006-07-03  Wim Taymans  <wim@fluendo.com>
13965
13966         Patch by: Peter Kjellerstedt <pkj at axis dot com>
13967
13968         * gst/gst-i18n-app.h:
13969         * gst/gst-i18n-lib.h:
13970         * tools/gst-inspect.c: (print_signal_info):
13971         The attached patch will make the inclusion of gettext.h unconditional in
13972         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
13973         libintl.h in tools/gst-inspect.c.
13974         This allows use of --disable-nls again and fixes #344642.
13975
13976 2006-07-03  Edward Hervey  <edward@fluendo.com>
13977
13978         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
13979         Implement pad blocking on events according to part-block.txt.
13980         More comments on behaviour.
13981         * tests/check/gst/gstevent.c: (test_event):
13982         Send event to peer pad of blocked pad (else it will block).
13983
13984 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13985
13986         * libs/gst/check/gstcheck.c: (gst_check_message_error),
13987         (gst_check_run_suite):
13988           if we get the wrong message, give us the types as string
13989         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
13990           Fix a translatable
13991         * tests/check/elements/filesrc.c: (GST_START_TEST):
13992           add a test for trying to open a non-existing file
13993
13994 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13995
13996         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
13997           add a test for adding self
13998
13999 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14000
14001         * libs/gst/check/gstcheck.h:
14002           add some assert_ as alias for fail_unless_*
14003         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
14004           increase test coverage
14005
14006 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14007
14008         * Makefile.am:
14009           include lcov.mak for lcov coverage generation
14010         * tools/Makefile.am:
14011           add to CLEANFILES
14012
14013 2006-07-02  Edward Hervey  <edward@fluendo.com>
14014
14015         * tests/check/elements/.cvsignore:
14016         moaping
14017
14018 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14019
14020         * configure.ac:
14021           don't set CFLAGS and friends for gcov, done from GST_GCOV now
14022         * tests/check/Makefile.am:
14023           clean up gcov files
14024
14025 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14026
14027         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
14028           remove gst_caps_simplify; it was not declared and not used
14029           and deprecated in 0.8
14030
14031 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14032
14033         * docs/faq/gst-uninstalled:
14034           don't put empty paths on PYTHONPATH
14035         * docs/gst/gstreamer-sections.txt:
14036           remove some symbols that are not there
14037
14038 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14039
14040         * gst/gstcaps.c: (gst_caps_compare_structures):
14041           whitespace fixes
14042         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
14043         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
14044           add more tests
14045
14046 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14047
14048         * libs/gst/dataprotocol/Makefile.am:
14049           build dataprotocol test by linking to the lib, instead of
14050           compiling the source, so we get coverage
14051         * tests/check/Makefile.am:
14052         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
14053         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
14054           add a test for filesrc
14055
14056 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14057
14058         * tests/check/gst/gststructure.c: (GST_START_TEST),
14059         (gst_structure_suite):
14060           Push coverage from 59.04% to 70.00%
14061
14062 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14063
14064         * tests/check/Makefile.am:
14065           gst-inspect every element; this makes sure that we also get
14066           coverage on element's get/set functions
14067
14068 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14069
14070         * configure.ac:
14071           set CFLAGS and friends to -O0 if gcov is being used
14072           add GCOV LIBS
14073         * gst/Makefile.am:
14074         * libs/gst/base/Makefile.am:
14075         * libs/gst/check/Makefile.am:
14076         * libs/gst/controller/Makefile.am:
14077         * libs/gst/dataprotocol/Makefile.am:
14078         * libs/gst/net/Makefile.am:
14079         * plugins/elements/Makefile.am:
14080         * plugins/indexers/Makefile.am:
14081           add makefile rules to generate gcov data and clean up
14082         * tests/check/Makefile.am:
14083           add a coverage target that generates an html overview
14084           of coverage data
14085
14086 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14087
14088         * tests/check/elements/fakesink.c:
14089         * tests/check/elements/fakesrc.c:
14090         * tests/check/elements/fdsrc.c:
14091         * tests/check/elements/identity.c:
14092         * tests/check/generic/sinks.c: (gst_sinks_suite):
14093         * tests/check/generic/states.c:
14094         * tests/check/gst/gst.c:
14095         * tests/check/gst/gstabi.c:
14096         * tests/check/gst/gstbin.c:
14097         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
14098         * tests/check/gst/gstbus.c: (gst_bus_suite):
14099         * tests/check/gst/gstcaps.c: (GST_START_TEST):
14100         * tests/check/gst/gstelement.c:
14101         * tests/check/gst/gstevent.c: (gst_event_suite):
14102         * tests/check/gst/gstghostpad.c:
14103         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
14104         * tests/check/gst/gstmessage.c: (gst_message_suite):
14105         * tests/check/gst/gstminiobject.c:
14106         * tests/check/gst/gstobject.c:
14107         * tests/check/gst/gstpad.c:
14108         * tests/check/gst/gstpipeline.c:
14109         * tests/check/gst/gstplugin.c:
14110         * tests/check/gst/gstquery.c: (gst_query_suite):
14111         * tests/check/gst/gstsegment.c: (gst_segment_suite):
14112         * tests/check/gst/gststructure.c:
14113         * tests/check/gst/gstsystemclock.c:
14114         * tests/check/gst/gsttag.c:
14115         * tests/check/gst/gsttask.c: (gst_task_suite):
14116         * tests/check/gst/gstutils.c:
14117         * tests/check/gst/gstvalue.c:
14118         * tests/check/libs/adapter.c:
14119         * tests/check/libs/basesrc.c:
14120         * tests/check/libs/collectpads.c:
14121         * tests/check/libs/controller.c:
14122         * tests/check/libs/gdp.c: (gst_dp_suite):
14123         * tests/check/libs/gstnetclientclock.c:
14124         * tests/check/libs/gstnettimeprovider.c:
14125         * tests/check/libs/libsabi.c: (libsabi_suite):
14126         * tests/check/libs/typefindhelper.c:
14127         * tests/check/pipelines/cleanup.c:
14128         * tests/check/pipelines/parse-launch.c:
14129         * tests/check/pipelines/simple-launch-lines.c:
14130         * tests/check/pipelines/stress.c: (stress_suite):
14131           use the new macro
14132
14133 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14134
14135         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
14136         * libs/gst/check/gstcheck.h:
14137           create a macro and function so that the simple unit test
14138           case can be just one macro to create main()
14139
14140 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
14141
14142         * gst/gstbin.c: (gst_bin_restore_thyself):
14143         * gst/gstxml.c: (gst_xml_make_element):
14144           Fix deserialisation from XML. Set parent manually
14145           instead of using gst_bin_add(), since gst_bin_add()
14146           will unlink all pads of the element being added.
14147           Fixes #341667.
14148
14149 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
14150
14151         Patch by: Peter Kjellerstedt <pkj at axis com>
14152
14153         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
14154           Fix missing g_strdup() and double free when using the
14155           --gst-plugin-load command line option (#346097).
14156
14157 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
14158
14159         * gst/gstinfo.c:
14160           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
14161
14162         * libs/gst/net/gstnetclientclock.c:
14163         * libs/gst/net/gstnettimeprovider.c:
14164           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
14165
14166 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
14167
14168         * docs/manual/advanced-dataaccess.xml:
14169           Fix buffer probe example compilation in
14170           ADM (#345708).
14171         
14172 2006-06-22  Edward Hervey  <edward@fluendo.com>
14173
14174         * gst/gstelement.c: (gst_element_pads_activate):
14175         We need to deactivate src pads first and then sink pads.
14176         The reason is the src pads might be blocking while holding the streaming
14177         lock, so we need to deactivate them first so that deactivating the sink
14178         pads doesn't block (since it will require the streaming lock).
14179
14180 2006-06-22  Wim Taymans  <wim@fluendo.com>
14181
14182         * libs/gst/base/gstbasetransform.c:
14183         (gst_base_transform_buffer_alloc):
14184         Forgot to remove two unneeded unrefs.
14185         Simplify a check _is_equal allready checks the obvious case.
14186
14187 2006-06-22  Wim Taymans  <wim@fluendo.com>
14188
14189         * docs/design/part-block.txt:
14190         Some docs about what pad_block should do.
14191
14192 2006-06-22  Wim Taymans  <wim@fluendo.com>
14193
14194         * gst/gstcaps.c: (gst_caps_replace):
14195         Fix crasher when passed NULL. Doc clarification.
14196         Optimize for the trivial case.
14197
14198         * gst/gstpipeline.c: (gst_pipeline_change_state):
14199         Small cleanups.
14200
14201         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
14202         Small documentation cleanup.
14203
14204         * libs/gst/base/gstbasetransform.c:
14205         (gst_base_transform_buffer_alloc):
14206         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
14207         is what we need and it avoids a whole lot of redundant 
14208         refcount operations.
14209
14210 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
14211
14212         Patch by: Philip Jägenstedt  <philip at lysator liu se>
14213
14214         * docs/manual/advanced-dataaccess.xml:
14215           Fix 'Embedding static elements' section to use
14216           GST_PLUGIN_DEFINE_STATIC (#345607).
14217
14218 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
14219
14220         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
14221           Attempt to 'fix' spuriously failing test case: it seems like the
14222           timeout of half a second is simply too small when the system is under
14223           load otherwise, and the timeout doesn't really seem to serve any
14224           particular purpose here. Give the pipeline a few seconds to preroll
14225           first, and then give it another half a second to go from PAUSED to
14226           PLAYING and marshal the message into the main thread.
14227
14228 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
14229
14230         * tools/gst-feedback-m.m:
14231           Don't only use unversioned tools, try versioned tools as well
14232           (#345086).
14233
14234 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
14235
14236         * gst/gstbus.c: (gst_bus_class_init):
14237           Fix some typos, make docs more explicit.
14238
14239 2006-06-20  Wim Taymans  <wim@fluendo.com>
14240
14241         * tests/check/gst/gstghostpad.c: (block_callback),
14242         (GST_START_TEST), (gst_ghost_pad_suite):
14243         Added some more ghostpad tests, mainly blocking
14244         and probes.
14245
14246 2006-06-16  Wim Taymans  <wim@fluendo.com>
14247
14248         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
14249         (gst_file_sink_close_file), (gst_file_sink_do_seek),
14250         (gst_file_sink_event), (gst_file_sink_render):
14251         * plugins/elements/gstfilesink.h:
14252         Check if we can seek in the file instead of assuming
14253         we always can. Post an error when we are asked to seek in a
14254         non-seekable file (like a fifo). Fixes #343312.
14255         Some cleanups.
14256
14257 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
14258
14259         * tools/gst-launch.1.in:
14260           Un-garble (fourcc) bit in filtered caps section.
14261
14262 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
14263
14264         * docs/manual/advanced-autoplugging.xml:
14265         * docs/manual/basics-helloworld.xml:
14266         * docs/manual/highlevel-components.xml:
14267           Don't leak bus reference in sample code.
14268
14269 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
14270
14271         * autogen.sh:
14272           Add default for new --enable-plugin-docs switch.
14273
14274         * configure.ac:
14275           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
14276           Fixes #344039.
14277
14278         * docs/Makefile.am:
14279           Use new ENABLE_PLUGIN_DOCS conditional.
14280
14281 2006-06-14  Wim Taymans  <wim@fluendo.com>
14282
14283         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
14284         Make it clear with a FIXME and a real define what the #if 0
14285         previously disabled.
14286
14287 2006-06-14  Wim Taymans  <wim@fluendo.com>
14288
14289         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
14290         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14291         * libs/gst/base/gstbasetransform.c:
14292         (gst_base_transform_sink_eventfunc):
14293         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
14294         Don't randomly and silently reset a segment when the format 
14295         changes as this is a bug somewhere upstream. Fixes #330379.
14296
14297 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
14298
14299         Patch by: Wouter Paesen  <wouter at kangaroot net>
14300
14301         * libs/gst/controller/gstcontroller.c:
14302         (gst_controlled_property_new):
14303           Fix controlling of float properties (#344849).
14304
14305         * tests/check/libs/controller.c:
14306         (gst_test_mono_source_get_property),
14307         (gst_test_mono_source_set_property),
14308         (gst_test_mono_source_class_init), (GST_START_TEST):
14309           While we're at it, add some float stuff to unit test.
14310
14311 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14312
14313         * docs/README:
14314         * docs/images/gdp-header.svg:
14315           add a gdp image
14316         * docs/libs/Makefile.am:
14317         * docs/libs/gdp-header.png:
14318         * libs/gst/dataprotocol/dataprotocol.c:
14319           add it to the API docs
14320         * docs/manual/intro-motivation.xml:
14321           fix typo
14322
14323 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
14324
14325         * gst/gst.c: (scan_and_update_registry), (init_post):
14326           If the fork()'ed child process can't write the updated registry cache
14327           file to disk for some reason, make it exit with a failure exit code,
14328           so that the parent can then re-scan the plugins itself and update the
14329           registry structures in memory and work with that (rather than failing
14330           when creating elements because seemingly no plugins are available).
14331           Refactor registry scanning code into separate function for this and
14332           also separate fork() and non-fork() code paths. Fixes #344748.
14333
14334 2006-06-13  Wim Taymans  <wim@fluendo.com>
14335
14336         * docs/manual/advanced-dataaccess.xml:
14337         Fix wrong PluginDesc. Fixes #344755.
14338
14339 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
14340
14341         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
14342           Fix silly bug that prevented us from creating
14343           ~/.gstreamer-0.10 and writing the registry in one
14344           go (the first call to g_mkstemp() would overwrite the
14345           placeholder in the template string, so the second call
14346           to g_mkstemp() after creating the missing directory
14347           would then error out with 'invalid argument').
14348
14349 2006-06-13  Edward Hervey  <edward@fluendo.com>
14350
14351         * gst/gst.c: (init_post):
14352         Free string.
14353
14354 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14355
14356         * gst/glib-compat-private.h:
14357         * gst/glib-compat.c:
14358         * gst/glib-compat.h:
14359         * gst/gstvalue.c: (gst_value_serialize_flags):
14360           remove GLib 2.6 compatibility code
14361
14362 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
14363
14364         * gst/parse/Makefile.am:
14365           Fix build with 'make -j N' even more (#340016).
14366
14367 2006-06-12  Wim Taymans  <wim@fluendo.com>
14368
14369         * docs/gst/gstreamer-sections.txt:
14370         Fix docs.
14371
14372 2006-06-12  Wim Taymans  <wim@fluendo.com>
14373
14374         * gst/gstsegment.c: (gst_segment_set_duration),
14375         (gst_segment_set_last_stop), (gst_segment_set_seek),
14376         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
14377         (gst_segment_to_running_time), (gst_segment_clip):
14378         Use G_UNLIKELY to help the compiler a bit.
14379
14380 2006-06-12  Wim Taymans  <wim@fluendo.com>
14381
14382         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
14383
14384         * gst/gstevent.c: (gst_event_get_type):
14385         * gst/gstmessage.c:
14386         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
14387         (gst_pad_push):
14388         constify quark registration strings. Fixes #344115
14389         Avoid unneeded type checking is _pad_push() by internally
14390         calling gst_pad_chain_unchecked().
14391
14392 2006-06-12  Wim Taymans  <wim@fluendo.com>
14393
14394         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
14395         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
14396         (gst_subbuffer_finalize), (gst_buffer_create_sub),
14397         (gst_buffer_is_span_fast), (gst_buffer_span):
14398         Init _type for consistency.
14399         Use _FLAGS macro to avoid type check.
14400         Avoid unneeded type checks in subbufer code.
14401
14402 2006-06-12  Wim Taymans  <wim@fluendo.com>
14403
14404         * gst/gst.c: (gst_debug_help):
14405         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
14406         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
14407         (gst_plugin_feature_list_free):
14408         * gst/gstregistry.c: (gst_registry_add_plugin),
14409         (gst_registry_add_feature), (gst_registry_plugin_filter),
14410         (gst_registry_feature_filter), (gst_registry_find_plugin),
14411         (gst_registry_find_feature), (gst_registry_get_plugin_list),
14412         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
14413         * gst/gstregistryxml.c: (load_feature),
14414         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
14415         * gst/gstminiobject.c: (gst_mini_object_unref),
14416         (gst_mini_object_replace), (gst_value_mini_object_free),
14417         (gst_value_mini_object_copy):
14418         Use _CAST macros to avoid unneeded type checking.
14419         Added some more G_UNLIKELY.
14420
14421 2006-06-12  Wim Taymans  <wim@fluendo.com>
14422
14423         * gst/gstbuffer.h:
14424         Avoid unneeded type checking.
14425         API: GST_BUFFER_IS_DISCONT
14426
14427         * gst/gstminiobject.h:
14428         Avoid type check in flag accessor.
14429
14430         * gst/gstelementfactory.h:
14431         * gst/gstplugin.h:
14432         * gst/gstpluginfeature.h:
14433         Add _CAST macros.
14434         API: GST_ELEMENT_FACTORY_CAST
14435         API: GST_PLUGIN_CAST
14436         API: GST_PLUGIN_FEATURE_CAST
14437
14438 2006-06-12  Wim Taymans  <wim@fluendo.com>
14439
14440         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
14441         (gst_object_unref):
14442         Add G_UNLIKELY in type registration.
14443         Avoid type check in _ref/_unref since that is also
14444         done in glib.
14445
14446 2006-06-12  Wim Taymans  <wim@fluendo.com>
14447
14448         * gst/gsterror.c: (gst_g_error_get_type):
14449         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
14450         (gst_static_pad_template_get_type):
14451         * gst/gsttaglist.c: (gst_tag_list_get_type):
14452         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
14453         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
14454         * gst/gsturi.c: (gst_uri_handler_get_type):
14455         * gst/gstvalue.c: (gst_date_get_type):
14456         * gst/gstxml.c: (gst_xml_get_type):
14457         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
14458         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14459         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
14460         Add G_UNLIKELY in type registration.
14461
14462 2006-06-12  Wim Taymans  <wim@fluendo.com>
14463
14464         * tools/gst-inspect.c: (print_signal_info):
14465         Properly print enum values.
14466
14467 2006-06-12  Wim Taymans  <wim@fluendo.com>
14468
14469         * gst/gstinfo.c: (gst_debug_set_active),
14470         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
14471         * gst/gstinfo.h:
14472         Add some G_[UN]LIKELY.
14473         Maintain __gst_debug_min to avoid formatting the arguments of
14474         debug messages that will be dropped anyway to avoid a lot of 
14475         overhead from the debugging system.
14476
14477 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14478
14479         * po/POTFILES.in:
14480         * po/POTFILES.skip:
14481           add missing files containing translatable strings, tell intltool about
14482           one exception
14483
14484 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14485
14486         * tests/check/libs/.cvsignore:
14487         add test-binary to ignore list
14488
14489 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14490
14491         * docs/libs/gstreamer-libs-docs.sgml:
14492         reorder (put dp into a chapter) and indent
14493
14494 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14495
14496         * configure.ac:
14497           back to HEAD
14498
14499 === release 0.10.8 ===
14500
14501 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
14502
14503         * configure.ac:
14504           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
14505
14506 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14507
14508         * gst/gst.c: (init_post):
14509           move pid declaration to declaration block
14510
14511 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14512
14513         * gst/gst.c: (init_post):
14514           use _exit() instead of exit() in our forked child; this ensures
14515           that none of the registered exit handlers from whatever is using
14516           GStreamer get executed.  This fixes gnome-mixer-applet failing
14517           to load, because ORBit would shut down.
14518           Spotted by: Edward Hervey  <edward@fluendo.com>
14519           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
14520           Fixes #344474
14521
14522 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14523
14524         * configure.ac:
14525           back to TRUNK
14526
14527 === release 0.10.7 ===
14528
14529 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
14530
14531         * configure.ac:
14532           releasing 0.10.7, "Soepeke, ik zie ou"
14533
14534 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14535
14536         * configure.ac:
14537         * po/af.po:
14538         * po/az.po:
14539         * po/bg.po:
14540         * po/ca.po:
14541         * po/cs.po:
14542         * po/de.po:
14543         * po/en_GB.po:
14544         * po/fr.po:
14545         * po/it.po:
14546         * po/nb.po:
14547         * po/nl.po:
14548         * po/ru.po:
14549         * po/sq.po:
14550         * po/sr.po:
14551         * po/sv.po:
14552         * po/tr.po:
14553         * po/uk.po:
14554         * po/vi.po:
14555         * po/zh_CN.po:
14556         * po/zh_TW.po:
14557         * win32/common/config.h:
14558           0.10.6.2 prerelease
14559
14560 2006-06-07  Wim Taymans  <wim@fluendo.com>
14561
14562         * gst/gstindex.c: (gst_index_gtype_resolver):
14563         * tools/gst-xmlinspect.c: (print_plugin_info):
14564         Fix leak spotted by coverity checker. Fixes #343827
14565         Fix another other leak found by paolo borelli.
14566
14567 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14568
14569         * libs/gst/dataprotocol/dataprotocol.c:
14570         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
14571         (gst_dp_version_get_type), (gst_dp_init),
14572         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
14573         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
14574         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
14575         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
14576         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
14577         (gst_dp_packetizer_free):
14578         * libs/gst/dataprotocol/dataprotocol.h:
14579           API: add a GstDPPacketizer object, and create/free functions
14580           API: add GstDPVersion enum
14581           Add 1.0 event function that uses the string serialization
14582           Serialize more useful buffer flags
14583           Fixes #343988
14584
14585 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14586
14587         * tests/check/Makefile.am:
14588         * tests/check/gst/gstabi.c:
14589         * tests/check/gst/struct_ppc64.h:
14590         * tests/check/libs/libsabi.c:
14591         * tests/check/libs/struct_ppc64.h:
14592           add ppc64 structure sizes
14593
14594 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14595
14596         * tests/check/Makefile.am:
14597         * tests/check/gst/gstabi.c:
14598         * tests/check/gst/struct_x86_64.h:
14599         * tests/check/libs/libsabi.c:
14600         * tests/check/libs/struct_x86_64.h:
14601           generate and add structure size lists for x86_64
14602
14603 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14604
14605         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
14606         * libs/gst/check/gstcheck.h:
14607           factor out the method from tests that checks size of structures,
14608           and add code to generate the header containing these sizes
14609         * tests/check/gst/gstabi.c: (GST_START_TEST):
14610         * tests/check/gst/struct_i386.h:
14611         * tests/check/libs/libsabi.c: (GST_START_TEST):
14612         * tests/check/libs/struct_i386.h:
14613           use it
14614
14615 2006-06-06  Michael Smith  <msmith@fluendo.com>
14616
14617         * gst/gstsegment.h:
14618           Don't use c++-style comments, fixes #343929
14619
14620 2006-06-05  Edward Hervey  <edward@fluendo.com>
14621
14622         * gst/gst.c:
14623         plugin_paths is not used if we build without registry support.
14624
14625         * gst/gstsegment.c: (gst_segment_copy): 
14626         _copy() was always returning NULL...
14627
14628 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14629
14630         * libs/gst/dataprotocol/dataprotocol.c:
14631         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14632         (gst_dp_packet_from_event):
14633           factor out CRC code
14634
14635 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14636
14637         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
14638           make sure we unset caps
14639
14640 2006-06-02  Michael Smith  <msmith@fluendo.com>
14641
14642         * libs/gst/check/gstcheck.c: (gst_check_init),
14643         (gst_check_chain_func):
14644         * libs/gst/check/gstcheck.h:
14645           Add a cond/mutex to the check support lib, signal this whenever we
14646           add to the buffers list. This will allow tests to not busy-wait on
14647           the buffer-list.
14648
14649 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14650
14651         * libs/gst/dataprotocol/dataprotocol.c:
14652         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14653         (gst_dp_packet_from_event):
14654           factor out some common header init code
14655
14656 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14657
14658         * docs/libs/gstreamer-libs-sections.txt:
14659         * docs/libs/tmpl/gstdataprotocol.sgml:
14660         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
14661         * libs/gst/dataprotocol/dataprotocol.h:
14662           API: make gst_dp_crc() public
14663
14664 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
14665
14666         * plugins/indexers/gstindexers.c: (plugin_init):
14667         conditionally register fileindexer (fixes #343598)
14668
14669 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
14670
14671         * gst/gsttagsetter.h:
14672         Can't cast ifaces to a class
14673
14674         * libs/gst/net/gstnetclientclock.h:
14675         * libs/gst/net/gstnettimeprovider.h:
14676         * plugins/elements/gstfakesink.h:
14677         * plugins/elements/gstfakesrc.h:
14678         * plugins/elements/gstfdsink.h:
14679         * plugins/elements/gstfdsrc.h:
14680         * plugins/elements/gstfilesink.h:
14681         * plugins/elements/gstfilesrc.h:
14682         * plugins/elements/gstidentity.h:
14683         * plugins/elements/gstqueue.h:
14684         * plugins/elements/gsttee.h:
14685         * plugins/indexers/gstfileindex.c:
14686         * plugins/indexers/gstmemindex.c:
14687         * tests/old/examples/plugins/example.h:
14688         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
14689
14690 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14691
14692         * libs/gst/dataprotocol/dataprotocol.c:
14693         (gst_dp_header_from_buffer):
14694           make sure we zero the whole ABI-compatible area
14695
14696 2006-06-01  Wim Taymans  <wim@fluendo.com>
14697
14698         Patch by: Alessandro Decina <alessandro at nnva dot org>
14699
14700         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
14701         Make sure the EOS flag is cleared from pads after a flush
14702         or stop. Fixes #343538.
14703
14704         * tests/check/libs/collectpads.c: (GST_START_TEST),
14705         (gst_collect_pads_suite):
14706         Added test for collectpads reusage after EOS.
14707
14708 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
14709
14710         * gst/gst.c:
14711          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
14712         * win32/common/libgstbase.def:
14713          export gst_collect_pads_set_flushing
14714         * win32/common/libgstreamer.def:
14715          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
14716          gst_value_fraction_multiply
14717         * win32/vs6/gst_inspect.dsp:
14718          add a link to intl.lib
14719
14720 2006-05-30  Wim Taymans  <wim@fluendo.com>
14721
14722         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
14723         (gst_collect_pads_chain):
14724         Handle the case where a pad is removed from the collection
14725         that could cause the other pads to become collectable.
14726
14727 2006-05-30  Wim Taymans  <wim@fluendo.com>
14728
14729         * gst/gstelement.c:
14730         Clarify the use of _release_request_pad() and
14731         _get_request_pad() a bit better.
14732
14733         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
14734         (gst_adapter_take_buffer):
14735         Fix some doc and comment typos.
14736
14737 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14738
14739         * docs/gst/gstreamer-sections.txt:
14740         * docs/libs/gstreamer-libs-sections.txt:
14741           add declared symbols
14742
14743 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
14744
14745         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
14746         Add debug that can be enabled using a #define at the top of the file,
14747         for dumping stats about how late/early we were when waking up from
14748         waiting on the clock.
14749
14750 2006-05-30  Wim Taymans  <wim@fluendo.com>
14751
14752         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
14753         When rebuilding the pad list, don't leak the previous list.
14754
14755 2006-05-30  Wim Taymans  <wim@fluendo.com>
14756
14757         Patch by: Lutz Mueller <lutz at topfrose dot de>
14758
14759         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14760         (gst_base_src_get_query_types), (gst_base_src_update_length):
14761         Publish supported query types.
14762         Update last_stop field in get_range mode so the position
14763         query works. Fixes #342321.
14764
14765 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
14766
14767         * docs/gst/gstreamer-sections.txt:
14768         * gst/gsttaglist.c: (_gst_tag_initialize):
14769         * gst/gsttaglist.h:
14770           API: add GST_TAG_PREVIEW_IMAGE (#343341).
14771
14772 2006-05-30  Wim Taymans  <wim@fluendo.com>
14773
14774         Patch by: Alessandro Decina <alessandro at nnva dot org>
14775
14776         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
14777         Unlock mutex when removing an unknown pad.
14778         Fixes #343334.
14779
14780         * tests/check/Makefile.am:
14781         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
14782         (push_event), (setup), (teardown), (GST_START_TEST),
14783         (gst_collect_pads_suite), (main):
14784         Added collecpads check, disabled for now as check crashes for
14785         some reason.
14786
14787 2006-05-29  Wim Taymans  <wim@fluendo.com>
14788
14789         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
14790         Don't leak pads lists.
14791
14792 2006-05-29  Wim Taymans  <wim@fluendo.com>
14793
14794         * docs/libs/gstreamer-libs-sections.txt:
14795         * libs/gst/base/gstcollectpads.c:
14796         (gst_collect_pads_set_flushing_unlocked),
14797         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
14798         (gst_collect_pads_stop):
14799         * libs/gst/base/gstcollectpads.h:
14800         API: gst_collect_pads_set_flushing()
14801         Added api to set the pads to flushing, useful for seeking
14802         code in elements using collectpads.
14803         Clear segment when receiving a flush.
14804
14805 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
14806
14807         * gst/gst.c: (add_path_func), (init_post):
14808           Don't scan registry paths passed via --gst-plugin-path immediately
14809           (will crash, because absolutely nothing is set up and no types are
14810           registered etc.); do this later in init_post(). Fixes #343057.
14811
14812 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
14813
14814         * gst/gst.c: (init_post):
14815           if we have fork, fork while reading/rebuilding the registry
14816           so the parent doesn't take the hit of having all plugins loaded
14817           in memory.  Fixes #342777.
14818         * configure.ac:
14819           Check if we have fork()
14820         * win32/common/config.h.in:
14821           no fork() on win32
14822
14823 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
14824
14825         * plugins/elements/gstelements.c:
14826         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
14827         (gst_file_src_init), (gst_file_src_set_property),
14828         (gst_file_src_get_property), (gst_file_src_start):
14829         * plugins/elements/gstfilesrc.h:
14830           API: GstFileSrc::use-mmap
14831
14832         Add a use-mmap property to enable easier testing of all code paths.
14833         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
14834         in the absence of gnomevfssrc. (Closes #340501)
14835
14836 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
14837
14838         * tools/gst-inspect.c:
14839         Add missing include, removes warning of ngettext not being defined on
14840         some arches.
14841
14842 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
14843
14844         * gst/gstvalue.c: (gst_value_deserialize_fraction):
14845         Handle NULL input and output pointers silently as a failed conversion,
14846         rather than g_warnings.
14847
14848 2006-05-25  Wim Taymans  <wim@fluendo.com>
14849
14850         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
14851         Initialize variable before using. Fixes #342820.
14852
14853 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
14854
14855         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
14856           Fix off-by-one bug that would only allow peeks of N-1 bytes
14857           from the start even if the buffer to typefind on contains
14858           in fact N bytes of data (makes vorbis typefinding from a
14859           vorbis identification header buffer work).
14860
14861         * tests/check/Makefile.am:
14862         * tests/check/libs/.cvsignore:
14863         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
14864         (gst_typefindhelper_suite), (main), (foobar_typefind),
14865         (plugin_init):
14866           Add very basic unit test for gst_type_find_helper_for_buffer()
14867           that checks for the problem fixed above.
14868
14869 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14870
14871         * tools/gst-inspect.c: (print_interfaces),
14872         (print_element_properties_info), (print_element_list), (main):
14873           add more translatable strings
14874
14875 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
14876
14877         Patch by: Julien Moutte  <julien at moutte net>
14878
14879         * docs/gst/gstreamer-sections.txt:
14880           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
14881           
14882         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
14883         (gst_fake_sink_preroll):
14884         * plugins/elements/gstfakesink.h:
14885           API: Add new GstFakeSink::preroll-handoff signal (#337100).
14886
14887 2006-05-23  Wim Taymans  <wim@fluendo.com>
14888
14889         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
14890         * gst/gstpad.h:
14891         Added _CUSTOM error and success GstFlowReturn that can be
14892         used be elements internally. 
14893         Added macro to check for SUCCESS flowreturns.
14894         API: GST_FLOW_CUSTOM_SUCCESS
14895         API: GST_FLOW_CUSTOM_ERROR
14896         API: GST_FLOW_IS_SUCCESS
14897
14898         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
14899         Added check for GstFlowReturn sanity.
14900
14901 2006-05-23  Wim Taymans  <wim@fluendo.com>
14902
14903         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
14904
14905         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
14906         (gst_collect_pads_event):
14907         clear/reset segment info in FLUSH_STOP.
14908         Fixes #336929.
14909
14910 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
14911
14912         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
14913         (gst_collect_pads_check_collected):
14914         Flush queued buffer on _stop(), fixes playing again (#342454)
14915
14916 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14917
14918         * tests/check/gst/gststructure.c: (GST_START_TEST),
14919         (gst_structure_suite):
14920           add a test for a complete structure
14921
14922 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
14923
14924         * docs/faq/developing.xml:
14925         * docs/faq/faq.xml:
14926         * docs/faq/troubleshooting.xml:
14927         * docs/faq/using.xml:
14928           Some minor FAQ updates that won't change the fact that
14929           our FAQ is badly structured, full of information hardly
14930           anyone new to GStreamer needs to know and lacking lots
14931           of information people constantly ask for.
14932           
14933 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
14934
14935         * gst/gstpad.c: (gst_pad_set_caps):
14936           Short-circuit gst_pad_set_caps if setting the existing
14937           caps pointer again, and avoid printing debug and 
14938           reffing/unreffing the caps.
14939
14940         * plugins/elements/gstqueue.c: (gst_queue_push_one):
14941           There's actually no need to set the caps before pushing -
14942           the acceptcaps method will handle it anyway.
14943
14944 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
14945
14946         * docs/gst/gstreamer-sections.txt:
14947         * win32/common/libgstreamer.def:
14948         * gst/gstutils.c: (gst_element_seek_simple):
14949         * gst/gstutils.h:
14950           API: add gst_element_seek_simple() (#342238).
14951
14952 2006-05-18  Edward Hervey  <edward@fluendo.com>
14953
14954         * gst/gsttypefind.c: (gst_type_find_get_type):
14955         * gst/gsttypefind.h:
14956         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
14957         registered for GstTypeFind pointers. This allows wrapping the structure
14958         in bindings (i.e. gst-python).
14959
14960 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
14961
14962         * gst/gsttagsetter.c:
14963           Docs additions and fixes (see #339918).
14964
14965 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
14966
14967         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
14968         The caps intersection algorithm can produce multiple copies of the
14969         caps. Until that is fixed, we need to simplify the result to be
14970         sure whether the allowed caps are fixed or not.
14971
14972         * plugins/elements/gstqueue.c: (gst_queue_init),
14973         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
14974         (gst_queue_push_one):
14975         Proxied buffer alloc should not set the caps on the source pad.
14976         When pushing buffers, we always accept the caps change that triggers.
14977         This prevents negotiation errors caused by caps changing mid-stream 
14978         and then being refused on our source pad (because upstream is now
14979         refusing those caps).
14980
14981 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
14982
14983         * tests/examples/helloworld/helloworld.c: (main):
14984           Must plug audioconvert and audioresample between decoder
14985           and audio sink.
14986
14987 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
14988
14989         * gst/gstregistryxml.c: (read_string), (load_pad_template),
14990         (load_feature), (load_plugin):
14991         Allow empty strings for some of the plugin fields so we don't 
14992         drop valid plugin entries that were written out correctly
14993         (Fixes #341479)
14994
14995 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
14996         
14997         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
14998           Use g_remove and g_rename instead of remove and rename that don't 
14999           handle utf8 characters. rename was failing for users who had specific
15000           characters in their name then the registry was built at each 
15001           gstreamer init.
15002         * win32/vs6/gst_inspect.dsp:
15003         * win32/vs6/gst_launch.dsp:
15004         * win32/vs6/libgstbase.dsp:
15005         * win32/vs6/libgstcoreelements.dsp:
15006         * win32/vs6/libgstreamer.dsp:
15007           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
15008           build of libgstreamer and clean unused libraries in projects link 
15009           settings.
15010
15011 2006-05-17  Edward Hervey  <edward@fluendo.com>
15012
15013         * plugins/elements/gstqueue.c: (gst_queue_push_one):
15014         The queue is not responsible for pushing an EOS when receiving a fatal
15015         flow error. It's up to the real element driving the pipeline to do that.
15016
15017 2006-05-16  Edward Hervey  <edward@fluendo.com>
15018
15019         * plugins/elements/gstqueue.c: (gst_queue_push_one):
15020         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
15021         buffer returned a fatal error. It should just send an EOS and stop
15022         its task.
15023         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
15024         when pushing buffers on the queue and will be able to handle the event.
15025
15026 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
15027
15028         * docs/manual/basics-bins.xml:
15029         * docs/manual/basics-init.xml:
15030           Fix typos and minor errors in sample code (#341856).
15031
15032 2006-05-16  Wim Taymans  <wim@fluendo.com>
15033
15034         * docs/design/part-qos.txt:
15035         Fix indexes in formulas to make more sense.
15036
15037 2006-05-15  Wim Taymans  <wim@fluendo.com>
15038
15039         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
15040         Don't report POSITION based on clock time if sync is
15041         disabled in a sink.
15042
15043 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
15044
15045         * gst/gstobject.h:
15046           Add cast to make compiler happy - refcount variable was a gint
15047           in GstObject but is a guint in GObject and g_atomic_int_get()
15048           wants a gint *.
15049
15050 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15051
15052         * gst/parse/Makefile.am:
15053           chain commands using &&, which also makes parallel make work
15054
15055 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
15056
15057         * docs/gst/gstreamer-sections.txt:
15058         * gst/gstevent.c:
15059         * gst/gstevent.h:
15060         * gst/gstmessage.h:
15061           Minor docs fixes.
15062
15063 === release 0.10.6 ===
15064
15065 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
15066
15067         * configure.ac:
15068           releasing 0.10.6, "Take the cannoli"
15069
15070 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
15071
15072         * tools/gst-launch.c: (print_tag):
15073           Fix use of uninitialized variable in the hypothetical
15074           case that some broken plugin creates a GST_TAG_IMAGE
15075           tag containing a NULL buffer (#341667).
15076
15077 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
15078
15079         * tools/gst-launch.c: (print_tag):
15080           Print something more intelligible for image tags when
15081           using the -t switch (#341556).
15082
15083 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15084
15085         * Makefile.am:
15086           updates for win32
15087         * configure.ac:
15088           define GST_MAJORMINOR so we have it available in win32/common/config.h
15089           Possibly remove it from our Makefile.am files later
15090         * win32/common/config.h:
15091         * win32/common/config.h.in:
15092           added GST_MAJORMINOR
15093         * win32/common/gstenumtypes.c: (register_gst_resource_error):
15094         * win32/common/gstversion.h:
15095           updated
15096
15097 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
15098
15099         * win32/MANIFEST:
15100           Update win32 files listing.
15101         * win32/common/gstversion.h:
15102           Add GST_MAJORMINOR definition.
15103         * win32/common/libgstreamer.def:
15104           Add new exported functions.
15105           
15106 2006-05-12  Michael Smith  <msmith@fluendo.com>
15107
15108         * gst/gstplugin.c: (gst_plugin_load_file):
15109           If an so file has no plugin entry point, unload the module.
15110
15111 2006-05-11  Wim Taymans  <wim@fluendo.com>
15112
15113         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
15114         (gst_queue_set_property):
15115         Don't forget to signal the _chain or _loop function 
15116         when the queue size or thresholds change since that might
15117         cause them to make progres again.
15118
15119 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
15120
15121         * gst/gstclock.c: (gst_clock_class_init):
15122         * gst/gstindex.c: (gst_index_class_init):
15123         * gst/gstobject.c: (gst_object_class_init):
15124         * gst/gstpad.c: (gst_pad_class_init):
15125         * gst/gstpipeline.c: (gst_pipeline_class_init):
15126         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
15127         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
15128         * libs/gst/base/gstbasetransform.c:
15129         (gst_base_transform_class_init):
15130         * libs/gst/net/gstnetclientclock.c:
15131         (gst_net_client_clock_class_init):
15132         * libs/gst/net/gstnettimeprovider.c:
15133         (gst_net_time_provider_class_init):
15134         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
15135         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
15136         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
15137         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
15138         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
15139         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
15140         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
15141         * plugins/elements/gstidentity.c: (gst_identity_class_init):
15142         * plugins/elements/gsttee.c: (gst_tee_class_init):
15143         * tests/old/examples/plugins/example.c: (gst_example_class_init):
15144         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
15145           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
15146
15147 2006-05-11  Wim Taymans  <wim@fluendo.com>
15148
15149         * gst/gstbuffer.c: (_gst_buffer_initialize):
15150         Register subbufer along with the buffer type so that
15151         it does not accidentally gets registered from N
15152         different streaming threads in a non threadsafe way.
15153
15154 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
15155
15156         * gst/gstbuffer.h:
15157         * gst/gstevent.h:
15158         * gst/gstmessage.h:
15159           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
15160           gst_event_ref() and gst_message_ref() functions again
15161           (ugly hack, please do fix if there's a better way besides
15162           overrides.txt, which doesn't seem to work).
15163
15164 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15165
15166         * libs/gst/check/gstcheck.h:
15167           add an assert for setting state to avoid lots of repetitive code
15168           in the future
15169
15170 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15171
15172         * gst/gstvalue.c: (gst_value_serialize_flags):
15173           fix a leak if no flags are set
15174         * tests/check/gst/gstvalue.c: (GST_START_TEST):
15175           fix leak in tests
15176
15177 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
15178
15179         * docs/manual/basics-pads.xml:
15180           Expand a bit on caps and filtered links and update
15181           examples that were still using the no longer existing
15182           gst_pad_link_filtered() (#338206).
15183
15184 2006-05-10  Wim Taymans  <wim@fluendo.com>
15185
15186         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
15187         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
15188         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
15189         (gst_collect_pads_stop):
15190         * libs/gst/base/gstcollectpads.h:
15191         No need to call _stop in _finalize.
15192         Iterate the main pad list in _finalize.
15193         Added some more debug.
15194         Free lists and data in the right order.
15195         Also free data whem doing _remove_pad when stopped for
15196         backward compatibility protect ::started with PAD_LOCK as
15197         well.
15198
15199 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15200
15201         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
15202         (gst_structure_parse_value):
15203           add some comments
15204           rename a method so that it actually says what it does better
15205
15206 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15207
15208         * gst/gstevent.c: (_gst_event_initialize):
15209         * gst/gstformat.c: (_gst_format_initialize):
15210           make sure some essential types used by events are registered
15211           as part of gst_init()
15212         * gst/gstvalue.c: (gst_value_serialize_flags):
15213           if no flags are set, serialize them to a value that represents NONE
15214           so that deserializing them works
15215         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15216           add tests for serialization and deserialization of flags
15217
15218 2006-05-10  Wim Taymans  <wim@fluendo.com>
15219
15220         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
15221         (gst_collect_pads_collect_range), (gst_collect_pads_available),
15222         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
15223         (gst_collect_pads_event), (gst_collect_pads_chain):
15224         Update docs.
15225         Better debug info.
15226         Catch and return errors from the collect function
15227         Refuse data on eos pads.
15228
15229 2006-05-10  Edward Hervey  <edward@fluendo.com>
15230
15231         * gst/gstinterface.h:
15232         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
15233         GInterface type checking.
15234         They were previously using non-defined macros.
15235
15236 2006-05-09  Wim Taymans  <wim@fluendo.com>
15237
15238         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
15239         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
15240         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
15241         (gst_collect_pads_start), (gst_collect_pads_stop),
15242         (gst_collect_pads_peek), (gst_collect_pads_pop),
15243         (gst_collect_pads_available), (gst_collect_pads_read),
15244         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
15245         (gst_collect_pads_is_collected), (gst_collect_pads_event),
15246         (gst_collect_pads_chain):
15247         * libs/gst/base/gstcollectpads.h:
15248         Clean up the mess that is collectpads, add comments and
15249         FIXMEs where needed.
15250         Maintain a separate pad list so we can add pads while
15251         collecting the other ones. For this we need a new separate 
15252         lock (see comics).
15253         Fix memory leak in finalize.
15254         Refactor some weird code to set/unset pad flushing flags, mark
15255         with comments.
15256         Don't crash in _available, _read, _flush when we're EOS.
15257
15258         * tests/check/libs/.cvsignore:
15259         Ignore adapter check binary.
15260
15261 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15262
15263         * gst/gstindex.c: (gst_index_resolver_get_type):
15264         * plugins/elements/gstfakesink.c:
15265         (gst_fake_sink_state_error_get_type):
15266         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
15267         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
15268         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
15269           Const-ify GEnumValue arrays.
15270
15271 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15272
15273         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
15274           Add test case for flags + gst_buffer_make_metadata_writable().
15275
15276 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15277
15278         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
15279           gst_buffer_make_metadata_writable() should maintain the
15280           buffer flags (those that make sense at least) (see #340859).
15281
15282 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15283
15284         * tools/gst-inspect.c:
15285         * tools/gst-launch.c:
15286         * tools/gst-typefind.c:
15287         * tools/gst-xmlinspect.c:
15288         * tools/tools.h:
15289           Fix up includes: need to include stdlib.h in tools.h for exit().
15290
15291 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15292
15293         * gst/gsttaglist.c: (_gst_tag_initialize):
15294         * gst/gsttaglist.h:
15295           API: add GST_TAG_IMAGE tag (#340721).
15296
15297 2006-05-08  Wim Taymans  <wim@fluendo.com>
15298
15299         * gst/gstquery.c:
15300         Added some docs for the segment query.
15301
15302 2006-05-08  Wim Taymans  <wim@fluendo.com>
15303
15304         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15305         (gst_base_src_loop), (gst_base_src_change_state):
15306         Always push non-flushing serialized events in the streaming 
15307         thread.
15308
15309 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15310
15311         * gst/gsterror.c: (_gst_stream_errors_init):
15312           Add a missing error string.
15313
15314 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
15315
15316         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
15317         Add applied_rate to the debug
15318
15319         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
15320         Copy applied_rate into the outgoing NEWSEGMENT event
15321
15322 2006-05-08  Wim Taymans  <wim@fluendo.com>
15323
15324         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
15325
15326         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
15327         (gst_base_sink_change_state):
15328         call ::unlock before taking the PREROLL_LOCK so we can safely
15329         handle elements that lock in ::render.
15330         Fixes #340174.
15331
15332 2006-05-08  Edward Hervey  <edward@fluendo.com>
15333
15334         * autogen.sh: (CONFIGURE_DEF_OPT): 
15335         Darwin's libtoolize is in fact called glibtoolize.
15336         Adding glibtoolize to the list of accepted names for libtoolize.
15337
15338 2006-05-08  Wim Taymans  <wim@fluendo.com>
15339
15340         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
15341         Unify error handling, don't post an error message
15342         when a push() returns EOS but perform our normal EOS
15343         handling code. Fixes #340772.
15344
15345 2006-05-08  Wim Taymans  <wim@fluendo.com>
15346
15347         * docs/design/part-overview.txt:
15348         Make upsteam/downstream concepts more clear.
15349         Give an example of serialized/non-serialized events.
15350
15351         * docs/design/part-events.txt:
15352         * docs/design/part-streams.txt:
15353         Mention applied_rate.
15354
15355         * docs/design/part-trickmodes.txt:
15356         Mention applied rate, flesh out some more use cases.
15357
15358         * gst/gstevent.c: (gst_event_new_new_segment),
15359         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
15360         (gst_event_parse_new_segment_full), (gst_event_new_tag),
15361         (gst_event_parse_tag), (gst_event_new_buffer_size),
15362         (gst_event_parse_buffer_size), (gst_event_new_qos),
15363         (gst_event_parse_qos), (gst_event_parse_seek),
15364         (gst_event_new_navigation):
15365         * gst/gstevent.h:
15366         Add applied_rate field to NEWSEGMENT event.
15367         API: gst_event_new_new_segment_full()
15368         API: gst_event_parse_new_segment_full()
15369
15370         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
15371         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
15372         (gst_segment_to_stream_time), (gst_segment_to_running_time):
15373         * gst/gstsegment.h:
15374         Add applied_rate to GstSegment structure.
15375         Make calculation of stream_time and running_time more correct
15376         wrt rate/applied_rate.
15377         Add some more docs.
15378         API: GstSegment::applied_rate field
15379         API: gst_segment_set_newsegment_full();
15380
15381         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
15382         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
15383         * libs/gst/base/gstbasetransform.c:
15384         (gst_base_transform_sink_eventfunc),
15385         (gst_base_transform_handle_buffer):
15386         Parse and use applied_rate in the GstSegment field.
15387
15388         * tests/check/gst/gstevent.c: (GST_START_TEST):
15389         Add check for applied_rate field.
15390
15391         * tests/check/gst/gstsegment.c: (GST_START_TEST),
15392         (gstsegments_suite):
15393         Add more checks for various GstSegment operations.
15394
15395 2006-05-08  Wim Taymans  <wim@fluendo.com>
15396
15397         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
15398         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
15399         (gst_base_sink_get_position), (gst_base_sink_change_state):
15400         Store the sync time of the buffer end position separatly in a
15401         new variable eos_rtime so we can properly sync the EOS event.
15402         Fixes #340697.
15403         Fix the docs for gst_base_sink_set_qos_enabled().
15404         Don't set segment start to invalid value when we receive a 
15405         non TIME newsegment.
15406         get closer to handling position reporting for negative rates 
15407         correctly.
15408
15409 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
15410
15411         * gst/gstcaps.c:
15412         Docs about how to print caps for debug purposes.
15413
15414         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
15415         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
15416
15417 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
15418
15419         * gst/gstelement.c:
15420           use full enum names and preprend a '%' in docs strings to make recent 
15421           gtk-doc turn that into a link
15422
15423 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15424
15425         * docs/manual/basics-bins.xml:
15426         * docs/manual/basics-bus.xml:
15427         * docs/manual/basics-pads.xml:
15428           Some typo fixes, some additions, some clarifications. 
15429
15430 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15431
15432         * tools/gst-inspect.c: (main):
15433         * tools/gst-launch.c: (main):
15434         * tools/gst-run.c: (main):
15435         * tools/gst-typefind.c: (main):
15436         * tools/gst-xmlinspect.c: (main):
15437           Use the string passed to g_option_context_new() for
15438           what it's intended for - the program name is already
15439           printed elsewhere.
15440
15441 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15442
15443         * tools/Makefile.am:
15444         * tools/gst-inspect.c: (main):
15445         * tools/gst-launch.c: (main):
15446         * tools/gst-xmlinspect.c: (main):
15447         * tools/tools.h:
15448           Add back --version command line option (#340460).
15449
15450         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
15451           Add --version option and use GOption for argument parsing; refactor a
15452           bit; accept directories as arguments and recurse into them; lastly,
15453           print a decent error message when things go wrong.
15454
15455 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15456
15457         * docs/manual/basics-bins.xml:
15458         Don't mention GstThread (#340611)
15459         * docs/manual/basics-elements.xml:
15460         Update link to GObject tutorial (#340607)
15461         
15462 2006-05-05  Wim Taymans  <wim@fluendo.com>
15463
15464         * gst/gstbuffer.h:
15465         * gst/gstminiobject.c:
15466         Add note about refcounting and miniobject/buffer writeability
15467         to docs. Fixes #340604
15468
15469         * gst/gstelementfactory.h:
15470         Added some explanation about @klass.
15471
15472 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15473
15474         * docs/manual/intro-motivation.xml:
15475         * docs/manual/manual.xml:
15476         Avoid CORBA & Bonobo references (#340598)
15477
15478 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15479
15480         * docs/manual/basics-bus.xml:
15481         * docs/manual/basics-pads.xml:
15482         Fix up some inaccuracies and omissions (#340609)
15483         
15484 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15485
15486         * gst/gstghostpad.c:
15487           Small typo in docs (#340625)
15488
15489 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15490
15491         * gst/parse/Makefile.am:
15492           Make 'make -j' proof (see #340698).
15493
15494 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15495
15496         * configure.ac:
15497           Require GLib-2.8 here as well.
15498
15499 2006-05-05  Wim Taymans  <wim@fluendo.com>
15500
15501         * gst/glib-compat.c:
15502         * gst/gst.c: (init_pre):
15503         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
15504         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
15505         (gst_object_dispatch_properties_changed):
15506         * gst/gstobject.h:
15507         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
15508         * gst/gststructure.c: (gst_structure_set_valist):
15509         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
15510         Remove pre glib2.8 compatibility, fixes #340508
15511
15512 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
15513
15514         * gst/gsttaglist.h:
15515           Mention type of tags in doc blurbs.
15516
15517 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
15518
15519         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15520         (gst_pad_configure_src), (gst_pad_push):
15521         Restore acceptcaps checking behaviour now that good plugins have
15522         been released.
15523
15524 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
15525
15526         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
15527
15528         * gst/gst.c:
15529         * gst/gstbus.c:
15530         * gst/gstclock.c:
15531         * gst/gstevent.c:
15532         * gst/gstformat.c:
15533         * gst/gstmessage.c:
15534         * gst/gstparse.c:
15535         * gst/gstquery.c:
15536         * gst/gstutils.c:
15537         * gst/parse/Makefile.am:
15538         * libs/gst/base/gstadapter.c:
15539         * libs/gst/base/gstbasesrc.c:
15540         * libs/gst/base/gstpushsrc.c:
15541         * libs/gst/base/gsttypefindhelper.c:
15542         * plugins/elements/gstfakesrc.c:
15543         * plugins/elements/gstidentity.c:
15544           Make sure gstprivate.h and/or config.h are
15545           always included first, otherwise some of our
15546           defines (like _FILE_OFFSET_BITS) might be
15547           redefined in the system headers. Fixes build
15548           on opensolaris (#340016).
15549
15550 2006-05-04  Wim Taymans  <wim@fluendo.com>
15551
15552         * docs/libs/gstreamer-libs-sections.txt:
15553         API: addition: gst_adapter_take_buffer()
15554         
15555         * libs/gst/base/gstadapter.c: (gst_adapter_push),
15556         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
15557         (gst_adapter_available_fast):
15558         * libs/gst/base/gstadapter.h:
15559         Prepare for optimizing the hell out of this hugely inefficient
15560         piece of code. 
15561         Added gst_adapter_take_buffer() so we can at least start thinking
15562         about subbuffering and merging.
15563         Added some comments.
15564
15565         * tests/check/Makefile.am:
15566         * tests/check/libs/adapter.c: (GST_START_TEST),
15567         (gst_adapter_suite), (main):
15568         Added GstAdapter check.
15569
15570 2006-05-04  Wim Taymans  <wim@fluendo.com>
15571
15572         * docs/design/part-overview.txt:
15573         Fix some typos, add blurb about buffer flags.
15574
15575 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
15576
15577         * docs/libs/gstreamer-libs-sections.txt:
15578           make sure GstBaseTransformClass shows up in the docs
15579         * libs/gst/base/gstbasetransform.c:
15580         * libs/gst/base/gstbasetransform.h:
15581           move docs so gtk-doc picks it up now
15582
15583 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
15584
15585         * docs/libs/gstreamer-libs-sections.txt:
15586           add missing symbols to docs
15587
15588 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
15589
15590         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15591           back out the newsegment handling change, see #340060 for ongoing
15592           discussion
15593
15594 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
15595
15596         * tools/gst-run.c: (get_candidates), (main):
15597           Fix wrong g_file_test() usage (see glib docs for why it doesn't
15598           work); fix typo in error message. Fixes #340079.
15599
15600 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15601
15602         * common/Makefile.am:
15603         * docs/Makefile.am:
15604         * docs/faq/Makefile.am:
15605         * docs/gst/Makefile.am:
15606         * docs/libs/Makefile.am:
15607         * docs/manual/Makefile.am:
15608         * docs/plugins/Makefile.am:
15609         * docs/pwg/Makefile.am:
15610         * docs/slides/Makefile.am:
15611         * docs/upload.mak:
15612         * common/upload.mak:
15613           move upload.mak to common
15614
15615 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15616
15617         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
15618           add more asserts on refcounts
15619           do more cleanup at end of tests
15620           fix test leaks showing in FC5
15621
15622 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
15623
15624         * plugins/elements/gsttypefindelement.c:
15625         (gst_type_find_element_handle_event):
15626         reverted wrong change and reflowed code to avoid others falling into
15627         this trap
15628
15629 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15630
15631         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15632           fix changelog entry about last collectpads change,
15633           add notes about proper fix
15634
15635 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15636
15637         * gst/gst.c:
15638         * gst/gstregistry.c: (gst_registry_scan_path_level),
15639         (gst_registry_scan_path):
15640         * gst/gstregistry.h:
15641           only write out registry if it has changed, fixes #338339
15642
15643 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15644
15645         * gst/gstbin.c:
15646         * gst/gstpipeline.c:
15647         * plugins/elements/gstcapsfilter.c:
15648         * plugins/elements/gstfakesink.c:
15649         * plugins/elements/gstfakesrc.c:
15650         * plugins/elements/gstfdsink.c:
15651         * plugins/elements/gstfdsrc.c:
15652         * plugins/elements/gstfilesink.c:
15653         * plugins/elements/gstfilesrc.c:
15654         * plugins/elements/gstidentity.c:
15655         * plugins/elements/gstqueue.c:
15656         * plugins/elements/gsttee.c:
15657         * plugins/elements/gsttypefindelement.c:
15658         (gst_type_find_element_handle_event):
15659           make GstElementDetails const
15660
15661 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15662
15663         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
15664         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
15665         (gst_collect_pads_is_collected), (gst_collect_pads_event):
15666           more detailed debug and formatting cleanup,
15667           forward newsegments to src-pad (so that e.g. adder not eats them)
15668
15669 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15670
15671         * gst/gstutils.c: (gst_element_link_pads):
15672           cleanup double code
15673
15674 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15675
15676         * libs/gst/controller/gstcontroller.c:
15677         (gst_controller_sync_values):
15678           some little tuning
15679         * tests/check/libs/controller.c: (GST_START_TEST),
15680         (gst_controller_suite):
15681           a new test for live value handling
15682
15683 2006-04-28  Wim Taymans  <wim@fluendo.com>
15684
15685         * gst/gstutils.c: (push_and_ref):
15686         Added some more docs.
15687         Fix refcount issue whith gst_element_found_tags() helper 
15688         function. Fixes #338335
15689
15690         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
15691         Added testsuite for gst_element_found_tags().
15692
15693 2006-04-28  Michael Smith  <msmith@fluendo.com>
15694
15695         * gst/gstvalue.c: (gst_value_serialize_flags):
15696           Avoid NULL dereference when trying to serialize flags containing
15697           invalid values.
15698
15699 2006-04-28  Michael Smith  <msmith@fluendo.com>
15700
15701         * plugins/elements/gsttypefindelement.c:
15702         (gst_type_find_element_handle_event):
15703           If we get EOS before any data is accumulated, don't use
15704           uninitialised local variables.
15705
15706 2006-04-28  Michael Smith  <msmith@fluendo.com>
15707
15708         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15709         (gst_dp_event_from_packet):
15710           Fixes in reading/writing events over GDP (not currently used?) - 
15711           dereferencing NULL events for unknown/invalid event types, memory
15712           leak, and change g_warning to GST_WARNING.
15713
15714 2006-04-28  Wim Taymans  <wim@fluendo.com>
15715
15716         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
15717         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
15718         (gst_base_sink_get_position), (gst_base_sink_change_state):
15719         When frame dropping is enabled, we should not ignore frames
15720         without a duration.
15721         Update some documentation.
15722
15723 2006-04-28  Wim Taymans  <wim@fluendo.com>
15724
15725         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15726         (gst_base_src_send_event), (gst_base_src_change_state):
15727         Documentation updates.
15728
15729 2006-04-28  Wim Taymans  <wim@fluendo.com>
15730
15731         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
15732         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
15733         handle EAGAIN, EINTR and short writes correctly. Also clean
15734         up some error cases, avoid a deadlock on bad file descriptors and
15735         use GST_DEBUG_OBJECT.
15736         Fixes #339843
15737
15738 2006-04-28  Wim Taymans  <wim@fluendo.com>
15739
15740         * gst/gstvalue.c: (gst_value_serialize_buffer),
15741         (gst_value_deserialize_buffer):
15742         Don't try to serialize a GValue with a NULL buffer. 
15743         Fixes #339821.
15744
15745         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15746         Added check for serialisation of NULL buffers.
15747
15748 2006-04-28  Wim Taymans  <wim@fluendo.com>
15749
15750         * gst/gstminiobject.c: (gst_value_take_mini_object):
15751         Taking a NULL miniobject is valid, fix the case where
15752         we try to unref the NULL miniobject.
15753
15754 2006-04-28  Wim Taymans  <wim@fluendo.com>
15755
15756         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
15757
15758         * gst/gstbin.c: (gst_bin_handle_message_func):
15759         Update docs.
15760         Don't leak bin refcount when a state recalc is
15761         in progress and we delay another one #339808.
15762
15763 2006-04-28  Wim Taymans  <wim@fluendo.com>
15764
15765         * docs/design/part-TODO.txt:
15766         Mention QoS as an ongoing work item.
15767
15768         * docs/design/part-buffering.txt:
15769         New doc about buffering that needs to be fleshed out
15770         at some point.
15771
15772         * docs/design/part-qos.txt:
15773         More QoS policy for decoders/demuxers/transforms
15774
15775         * docs/design/part-trickmodes.txt:
15776         Small update.
15777
15778 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
15779
15780         * configure.ac:
15781           back to HEAD
15782
15783 === release 0.10.5 ===
15784
15785 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
15786
15787         * configure.ac:
15788           releasing 0.10.5, "Fogo"
15789
15790 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15791
15792         patch by: Wim Taymans
15793
15794         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15795         (gst_pad_configure_src), (gst_pad_push):
15796         * gst/gstpipeline.c: (gst_pipeline_init):
15797           Fix internal data flow errors.  Fixes #338711.
15798
15799 2006-04-12  Wim Taymans  <wim@fluendo.com>
15800
15801         * tests/check/gst/gstelement.c: (GST_START_TEST):
15802         Don't leak the factory.
15803
15804 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15805
15806         * configure.ac:
15807         * win32/common/config.h:
15808           prerelease
15809
15810 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
15811
15812         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15813         (gst_controller_unset_all):
15814           Free allocated GstTimedValues when freeing list nodes.
15815           Should fix leaks 'make check-valgrind' complains about.
15816
15817         * win32/common/libgstcontroller.def:
15818           Add gst_controller_unset_all.
15819
15820 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
15821
15822         * docs/libs/gstreamer-libs-sections.txt:
15823         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15824         (gst_controller_unset_all):
15825         * libs/gst/controller/gstcontroller.h:
15826         API: Added new method gst_controller_unset_all()
15827         fixed gst_controller_unset()
15828         * tests/check/libs/controller.c: (GST_START_TEST),
15829         (gst_controller_suite):
15830         Added two testcases for new and fixed method
15831
15832 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
15833
15834         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
15835           MSG_DONTWAIT is not defined on Cygwin, so work
15836           around that (fixes #317048).
15837           
15838 2006-04-11  Wim Taymans  <wim@fluendo.com>
15839
15840         * gst/gstelementfactory.c: (gst_element_register),
15841         (gst_element_factory_create), (gst_element_factory_make):
15842         Some cleanups.
15843         Fixed a FIXME.
15844         Updated docs (Fixes #131079)
15845
15846         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
15847         Small cleanups.
15848
15849         * tests/check/gst/gstelement.c: (GST_START_TEST),
15850         (gst_element_suite):
15851         Added testcase for elementfactory class field.
15852
15853 2006-04-10  Wim Taymans  <wim@fluendo.com>
15854
15855         * gst/gstsegment.c:
15856         Added some more docs.
15857
15858         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
15859         (gst_base_sink_reset_qos):
15860         Calculate more accurate rate values.
15861
15862 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
15863
15864         * gst/gst_private.h:
15865           add a new #ifdef to use __declspec(dllimport) only for
15866           other modules and not for gstreamer core
15867         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
15868           use gst_guint64_to_gdouble for conversion
15869         * win32/common/libgstreamer.def:
15870           add new exported functions
15871         * win32/vs6/gst_inspect.dsp:
15872         * win32/vs6/gst_launch.dsp:
15873         * win32/vs6/libgstbase.dsp:
15874         * win32/vs6/libgstcontroller.dsp:
15875         * win32/vs6/libgstcoreelements.dsp:
15876         * win32/vs6/libgstdataprotocol.dsp:
15877         * win32/vs6/libgstnet.dsp:
15878           update project files
15879
15880 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
15881
15882         * gst/gstbuffer.c: (gst_subbuffer_class_init):
15883         * gst/gstclock.c: (gst_clock_class_init):
15884         * gst/gstelement.c: (gst_element_class_init):
15885         * gst/gstindex.c: (gst_index_class_init):
15886         * gst/gstindexfactory.c: (gst_index_factory_class_init):
15887         * gst/gstobject.c: (gst_object_class_init),
15888         (gst_signal_object_class_init):
15889         * gst/gstpad.c: (gst_pad_class_init):
15890         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
15891         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
15892         * gst/gstregistry.c: (gst_registry_class_init):
15893         * gst/gstsystemclock.c: (gst_system_clock_class_init):
15894         * gst/gsttask.c: (gst_task_class_init):
15895         * gst/gstxml.c: (gst_xml_class_init):
15896         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
15897         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
15898         (gst_base_src_loop):
15899         * libs/gst/controller/gstcontroller.c:/
15900         (_gst_controller_class_init):
15901         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
15902         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
15903         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
15904         * tests/old/examples/plugins/example.c: (gst_example_class_init):
15905         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
15906         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
15907
15908 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
15909
15910         * gst/gstpad.c: (gst_pad_link):
15911           Must set peer pads before calling the link function, otherwise
15912           a task started from a link function might get a flow-not-linked
15913           result when trying to push because the other thread where the
15914           linking happens hasn't had a chance to set the peers yet. This
15915           might happen for example when a queue gets linked to a downstream
15916           element, as queue starts a streaming task when its source pad
15917           gets linked. Happens in real life when playing back flac/musepack
15918           files in playbin (#332390).
15919           
15920 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
15921
15922         * gst/gstindex.h:
15923         * gst/gstxml.h:
15924         * libs/gst/base/gstadapter.h:
15925         * libs/gst/base/gstbasesink.h:
15926         * libs/gst/base/gstbasesrc.h:
15927         * libs/gst/base/gstbasetransform.h:
15928         * libs/gst/base/gstcollectpads.h:
15929         * libs/gst/base/gstpushsrc.h:
15930         Fix broken GObject macros
15931
15932 2006-04-07  Wim Taymans  <wim@fluendo.com>
15933
15934         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15935         Initialize start and stop times, thanks valgrind.
15936
15937 2006-04-07  Wim Taymans  <wim@fluendo.com>
15938
15939         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15940         Be a bit nicer to badly behaving upstream elements that expect
15941         us to deal with non TIME segments and timestamps (such as fakesrc
15942         in the testsuite).
15943
15944 2006-04-07  Wim Taymans  <wim@fluendo.com>
15945
15946         * gst/gstbus.c:
15947         Small documentation clarification about the signal watch.
15948
15949         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
15950         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
15951         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
15952         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
15953         (gst_base_sink_get_position_last),
15954         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
15955         Convert and store timestamps in stream time and running time, the
15956         raw timestamps are not useful, also document this better.
15957         Use different window sizes for good and bad QoS observations so
15958         we react to badness a little quicker.
15959         Keep track of the amount of rendered and dropped buffers.
15960         Send QoS timestamps in running time.
15961
15962         * libs/gst/base/gstbasetransform.c:
15963         (gst_base_transform_sink_eventfunc),
15964         (gst_base_transform_handle_buffer):
15965         Compare QoS timestamps against running time.
15966
15967 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
15968
15969         * gst/gstpad.c:
15970           Typo fixes in docs.
15971
15972 2006-04-06  Michael Smith  <msmith@fluendo.com>
15973
15974         * gst/gstpad.c: (gst_pad_set_property):
15975           Use g_value_get_object() instead of g_value_dup_gst_object(),
15976           to avoid double-reffing the pad template (which we then sink,
15977           so this worked previously if (and only if) the pad template
15978           was floating.
15979
15980         * gst/gstpadtemplate.c: (gst_pad_template_init),
15981         (gst_pad_template_pad_created):
15982           Never return floating references to pad templates, create
15983           them as initially-sunken.
15984
15985           Document an extra function (and make this stop sinking our
15986           pad template, since that is now guaranteed to do nothing,
15987           since we created it sunken).
15988
15989         * gst/gstghostpad.c:
15990           Fix docs typo.
15991
15992 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
15993
15994         * gst/gstinfo.c: (__gst_in_valgrind):
15995           Add some newlines.
15996
15997         * plugins/elements/gsttypefindelement.c:
15998         (gst_type_find_element_chain):
15999           Don't leak buffer caps.
16000
16001 2006-04-06  Michael Smith  <msmith@fluendo.com>
16002
16003         * gst/parse/grammar.y:
16004           Fix a leak in parse-launch for any source-or-sink named element 
16005           references used.
16006
16007         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
16008           Unref the pipeline if it exists after we've failed parsing.
16009
16010 2006-04-05  Michael Smith  <msmith@fluendo.com>
16011
16012         * gst/gstpipeline.c: (gst_pipeline_init):
16013           When we create a pipeline bus, initially create it in flushing mode.
16014           Fixes leaks in at least one test, and makes a new pipeline work the
16015           same as one that has gone to READY and then back to NULL.
16016
16017         * gst/gstelement.c:
16018           Typo fix in docs.
16019
16020 2006-04-05  Michael Smith  <msmith@fluendo.com>
16021
16022         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
16023           Unref a pad we reffed.
16024         * tests/check/gst/gstutils.c: (GST_START_TEST):
16025           Unref bins
16026
16027 2006-04-05  Michael Smith  <msmith@fluendo.com>
16028
16029         * gst/gstquery.c: (gst_query_set_formats),
16030         (gst_query_set_formatsv):
16031           Fix leaking GValues in queries, as shown by valgrind/testsuite.
16032
16033 2006-04-05  Michael Smith  <msmith@fluendo.com>
16034
16035         * tests/check/generic/sinks.c: (GST_START_TEST):
16036           Fix a variety of memleaks in sinks check, which are only sometimes 
16037           shown by running the tests under valgrind (weird?).
16038
16039 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
16040
16041         * docs/version.entities.in:
16042           Fix the substituted entity name after thomas' changes on the
16043           weekend.
16044
16045 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
16046
16047         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
16048         VALGRIND_PRINTF
16049         
16050 2006-04-05  Andy Wingo  <wingo@pobox.com>
16051
16052         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
16053
16054         * libs/gst/base/gstbasetransform.c
16055         (gst_base_transform_sink_eventfunc): When resetting our segment on
16056         FLUSH_STOP, also update the flag saying we haven't seen a
16057         newsegment.
16058
16059 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
16060
16061         Patch by: Paolo Borelli  <pborelli at katamail dot com>
16062
16063         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
16064         (gst_plugin_check_license):
16065           minor clean-ups: G_DEFINE_TYPE already takes care of the
16066           parent_class stuff, no need to do it twice. Mark array of
16067           license strings as constant. (#337103)
16068           
16069 2006-04-04  Michael Smith  <msmith@fluendo.com>
16070
16071         * tools/gst-inspect.c: (print_element_list):
16072           Free the right plugin list; fixes a memory leak.
16073
16074 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
16075
16076         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
16077
16078         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
16079           Don't error out on empty buffers (#336945).
16080           
16081 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
16082
16083         * docs/libs/gstreamer-libs-sections.txt:
16084         * gst/gsttaglist.c:
16085         * libs/gst/base/gstbasesink.c:
16086         * libs/gst/base/gstbasesink.h:
16087         * libs/gst/base/gstbasesrc.c:
16088         * libs/gst/base/gstbasesrc.h:
16089           Documentation updates. Make BaseSink and BaseSrc docs contain the
16090           class structure so that people can actually see the prototypes for
16091           virtual functions they're supposed to be overriding.
16092
16093 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
16094
16095         * plugins/elements/gsttypefindelement.c:
16096         (gst_type_find_element_chain):
16097           More debug info; when skipping typefinding, send cached
16098           events in all cases.
16099
16100 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
16101
16102         * configure.ac:
16103           use new AS_VERSION and AS_NANO macros
16104         * gst/gst-i18n-lib.h:
16105         * gst/gst.c:
16106         * gst/gsterror.c:
16107         * gst/gstversion.h.in:
16108         * win32/common/config.h:
16109         * win32/common/config.h.in:
16110           update accordingly
16111
16112 2006-03-31  Michael Smith  <msmith@fluendo.com>
16113
16114         * plugins/elements/gsttypefindelement.c:
16115         (gst_type_find_element_chain):
16116           Do not typefind content if the buffers already have caps.
16117           Neccesary for icydemux (#333657), and the right thing to do anyway.
16118
16119 2006-03-30  Wim Taymans  <wim@fluendo.com>
16120
16121         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16122         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
16123         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
16124         (gst_base_sink_record_qos_observation),
16125         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16126         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
16127         (gst_base_sink_change_state):
16128         More QoS measurements as described in the design doc.
16129         Get rid of ringbuffer with observations, running average is
16130         more simple and equally good.
16131         Calculates valid proportion now.
16132         Added beginning of flood measurement.
16133
16134 2006-03-29  Wim Taymans  <wim@fluendo.com>
16135
16136         * docs/design/part-qos.txt:
16137         * gst/gstclock.c:
16138         Small documentation updates and additions.
16139
16140 2006-03-29  Wim Taymans  <wim@fluendo.com>
16141
16142         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
16143         (gst_base_src_send_event), (gst_base_src_loop),
16144         (gst_base_src_change_state):
16145         Perform the EOS logic when we reach the segment stop position.
16146         Fix compilation on gcc4.1
16147
16148 2006-03-29  Wim Taymans  <wim@fluendo.com>
16149
16150         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
16151
16152         * plugins/elements/gstqueue.c: (gst_queue_init),
16153         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
16154         (gst_queue_set_property):
16155         * plugins/elements/gstqueue.h:
16156         In queue, when EOS is received, if minimum threshold > max_size -
16157         current_level, there is chance that queue blocks forever in conditional
16158         item del wait. This is because the queue is not emptied completely due
16159         to minimum threshold.  Here is another approach. Instead of setting
16160         cur_levels to max in EOS, just zero all minimum threshold levels. This
16161         should make sure that queue gives out all data. When going to READY
16162         (stop) state, just reset the original minimum threshold levels.
16163         Fixes #336336.
16164
16165 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
16166
16167         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
16168         (gst_type_find_element_handle_event),
16169         (gst_type_find_element_send_cached_events),
16170         (gst_type_find_element_change_state):
16171         * plugins/elements/gsttypefindelement.h:
16172           When typefinding is done in push mode, we should cache
16173           events we receive during typefinding instead of just
16174           dropping them (e.g. newsegment, custom events from
16175           dvdreadsrc etc.) and then send them out once we've
16176           determined the type of the stream (and decodebin
16177           has had a chance to plug in a decoder/demuxer).
16178           
16179 2006-03-27  Wim Taymans  <wim@fluendo.com>
16180
16181         * docs/design/part-qos.txt:
16182         First QoS ideas.
16183
16184 2006-03-27  Wim Taymans  <wim@fluendo.com>
16185
16186         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
16187
16188         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
16189         (gst_base_src_send_event), (gst_base_src_change_state):
16190         Handle element seek correctly when we are streaming.
16191         Fixes #326998.
16192
16193 2006-03-24  Michael Smith  <msmith@fluendo.com>
16194
16195         * docs/faq/gst-uninstalled:
16196           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
16197           allow you to correctly run intalled applications built against old 
16198           core, using plugins that require updated core (e.g. running
16199           installed totem against a full uninstalled gstreamer stack)
16200
16201 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
16202
16203         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
16204         more debug details
16205
16206 2006-03-24  Wim Taymans  <wim@fluendo.com>
16207
16208         * docs/gst/gstreamer-sections.txt:
16209         Rearrange the order of the methods so that related methods
16210         are grouped together in sections.
16211
16212 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
16213
16214         * gst/gstelement.c:
16215           Little clarification in the docs
16216
16217 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
16218
16219         * docs/README:
16220         formatting fix
16221         * plugins/elements/gstidentity.c:
16222         * plugins/elements/gstqueue.c:
16223         * plugins/elements/gsttee.c:
16224         * plugins/elements/gsttypefindelement.c:
16225         GST_ELEMENT_DETAILS formatting
16226
16227 2006-03-24  Wim Taymans  <wim@fluendo.com>
16228
16229         * libs/gst/base/gstbasesink.h:
16230         Only add fields, not insert or we break ABI.
16231
16232 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
16233
16234         * win32/common/libgstbase.def:
16235         * win32/common/libgstreamer.def:
16236           Update, add recently added functions.
16237
16238 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
16239
16240         * docs/gst/gstreamer-sections.txt:
16241         * gst/gstutils.c: (gst_pad_query_peer_position),
16242         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
16243         * gst/gstutils.h:
16244           API: add some new utility functions:
16245            - gst_pad_query_peer_position()
16246            - gst_pad_query_peer_duration()
16247            - gst_pad_query_peer_convert()
16248           
16249 2006-03-23  Wim Taymans  <wim@fluendo.com>
16250
16251         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16252         (gst_base_sink_init), (gst_base_sink_finalize),
16253         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
16254         (gst_base_sink_set_property), (gst_base_sink_get_property),
16255         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
16256         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
16257         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
16258         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16259         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
16260         (gst_base_sink_preroll_object), (gst_base_sink_event),
16261         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
16262         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
16263         (gst_base_sink_query), (gst_base_sink_change_state):
16264         Decouple max-lateness and the fact that QoS messages are generated
16265         with a new property (qos).
16266         added API: GstBaseSink::async_play()
16267         Add vmethod so subclasses can be notified of ASYNC playing
16268         state changes.
16269         Collect timestamp start and stop to report better current
16270         position in EOS/PLAYING/PAUSED/READY/NULL.
16271         Refactor QoS/frame dropping and other measurements.
16272         API: GstBaseSrc::qos
16273         Fixes #326311
16274
16275         * libs/gst/base/gstbasesink.h:
16276         Added Private struct.
16277         API: gst_base_sink_set_qos_enabled()
16278         API: gst_base_sink_is_qos_enabled()
16279
16280 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
16281
16282         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
16283           If compiling against GLib-2.8 or newer, try to read the
16284           registry file using GMappedFile first before falling back
16285           to fopen() + fread() (#332151).
16286
16287 2006-03-22  Wim Taymans  <wim@fluendo.com>
16288
16289         * gst/gstinfo.c: (gst_debug_set_active),
16290         (gst_debug_category_set_threshold):
16291         Disable debugging unless explicitly activated.
16292         Fixes #335480.
16293
16294 2006-03-22  Wim Taymans  <wim@fluendo.com>
16295
16296         * gst/gstelement.c: (gst_element_set_locked_state),
16297         (gst_element_dispose):
16298         Cleanup the error case.
16299
16300         * gst/gstobject.c: (gst_object_dispose):
16301         print a critical when some object was disposed with
16302         a parent, also revive the object since it might
16303         crash the parent.
16304
16305 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
16306
16307         * tools/gst-launch.1.in:
16308           Fix another typo.
16309
16310 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
16311
16312         * configure.ac:
16313         * tests/check/Makefile.am:
16314           disable some tests when we don't have a registry
16315         * tests/check/gst/gstutils.c: (gst_utils_suite):
16316           don't build the part that needs parsing
16317
16318 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
16319
16320         * gst/Makefile.am
16321         * tests/examples/Makefile.am:
16322           fix --disable-parse build
16323
16324 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16325
16326         * tools/gst-feedback.1.in:
16327           Fix typo: s/feeback/feedback/ (#133494).
16328
16329 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16330
16331         * tools/Makefile.am:
16332         * tools/gst-launch.1.in:
16333           Add FILES section and correct entry about GST_REGISTRY_PATH
16334           environment variable (#133495; #133494).
16335
16336 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16337
16338         * tools/Makefile.am:
16339         * tools/gst-md5sum.1.in:
16340         * tools/gst-md5sum.c:
16341           Remove gst-md5sum and man page (the md5sink element
16342           required was removed ages ago)
16343
16344 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16345
16346         * gst/gststructure.c: (gst_structure_id_set_value):
16347           Make sure that string fields in structures/taglists
16348           contain valid UTF-8 - we don't want to pass rubbish to
16349           applications because of a buggy plugin (cp. #334167).
16350
16351 2006-03-21  Edward Hervey  <edward@fluendo.com>
16352
16353         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
16354         (gst_bin_handle_message_func):
16355         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
16356         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
16357         (gst_element_set_bus_func):
16358         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
16359         * gst/gstminiobject.c: (gst_value_set_mini_object),
16360         (gst_value_take_mini_object):
16361         * gst/gstpad.c: (gst_pad_set_pad_template):
16362         * gst/gstpipeline.c: (gst_pipeline_dispose),
16363         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
16364         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
16365         (gst_collect_pads_chain):
16366         * libs/gst/net/gstnettimeprovider.c:
16367         (gst_net_time_provider_set_property):
16368         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
16369         It's in fact all issues with gst_*object_replace().
16370
16371 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16372
16373         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
16374         
16375         * pkgconfig/gstreamer-check-uninstalled.pc.in:
16376         * pkgconfig/gstreamer-check.pc.in:
16377           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
16378
16379 2006-03-21  Edward Hervey  <edward@fluendo.com>
16380
16381         * gst/gstbuffer.h:
16382         * gst/gstevent.h:
16383         * gst/gstmessage.h:
16384         gst_[buffer|event|message]_ref() macros are replaced by a static
16385         inline functions because gcc-4.1 will about if the return value
16386         isn't used.
16387         * tests/check/gst/gstevent.c: (event_probe):
16388         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
16389
16390 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
16391
16392         * gst/gstutils.h:
16393         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
16394         the type' case. (Closes: #335195 for now). In the future, when we
16395         depend on GLib 2.10, we could also intern the type name using
16396         g_intern_static_string()
16397
16398 2006-03-20  Wim Taymans  <wim@fluendo.com>
16399
16400         * gst/gstbin.c: (gst_bin_handle_message_func),
16401         (bin_query_max_init), (bin_query_position_fold),
16402         (bin_query_position_done), (gst_bin_query):
16403         Position query should also take max of all streams.
16404
16405 2006-03-20  Wim Taymans  <wim@fluendo.com>
16406
16407         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
16408         (gst_fake_src_finalize):
16409         Fix leaks in fakesrc.
16410
16411         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
16412         Fix leaks in the testcase.
16413
16414 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
16415
16416         * gst/gst_private.h:
16417           add win32 specific import decoration(__declspec(dllimport)) 
16418           for all extern GstDebugCategory * variables
16419         * win32/common/libgstbase.def:
16420         * win32/common/libgstcontroller.def:
16421         * win32/common/libgstreamer.def:
16422           Add some exports, remove empty lines
16423         * win32/common/libgstdataprotocol.def:
16424         * win32/common/libgstdataprotocol.dsp:
16425         * win32/common/libgstnet.def:
16426         * win32/common/libgstnet.dsp:
16427           new project files and exportation files added
16428         
16429 2006-03-19  Wim Taymans  <wim@fluendo.com>
16430
16431         * tests/check/libs/basesrc.c: (eos_event_counter):
16432         Use proper return value for probe.
16433
16434 2006-03-17  Wim Taymans  <wim@fluendo.com>
16435
16436         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16437         (gst_pad_push):
16438         Don't leak buffers, caps and pads on negotiation errors.
16439
16440 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
16441
16442         * docs/faq/cvs.xml:
16443         * docs/faq/dependencies.xml:
16444         * docs/faq/developing.xml:
16445         * docs/faq/faq.xml:
16446         * docs/faq/general.xml:
16447         * docs/faq/getting.xml:
16448         * docs/faq/legal.xml:
16449         * docs/faq/troubleshooting.xml:
16450         * docs/faq/using.xml:
16451         Faq review and update.
16452
16453 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
16454
16455         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16456         (gst_pad_push):
16457         Don't pound the cpu to pieces by checking get_caps when accept_caps
16458         is called with the same caps as the pad already has.
16459         Use GST_DEBUG_OBJECT when outputting caps change information.
16460
16461 2006-03-15  Wim Taymans  <wim@fluendo.com>
16462
16463         * gst/gstclock.c: (gst_clock_class_init):
16464         Fix docs.
16465
16466 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
16467
16468         * gst/gstbuffer.h:
16469         Documentation fix.
16470
16471         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
16472         (gst_pad_accept_caps), (gst_pad_configure_sink),
16473         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
16474         Make the default acceptcaps behaviour be to check the requested 
16475         caps against the gst_pad_get_caps output. 
16476
16477         Ensure that gst_pad_accept_caps is used to check caps when a pad
16478         doesn't have a setcaps function, so that pads automatically refuse 
16479         caps that they don't allow in their pad template. (Fixes #332986)
16480
16481         When a buffer with attached caps is pushed, ensure that the source 
16482         pad receives those caps even if the element didn't call
16483         gst_pad_set_caps first.
16484
16485 2006-03-15  Wim Taymans  <wim@fluendo.com>
16486
16487         * libs/gst/base/gstadapter.c:
16488         Add some docs.
16489
16490 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
16491
16492         * win32/common/libgstbase.def:
16493         * win32/common/libgstcontroller.def:
16494         * win32/common/libgstreamer.def:
16495           Add a whole bunch of missing functions (#334434).
16496
16497 2006-03-14  Wim Taymans  <wim@fluendo.com>
16498
16499         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
16500         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
16501         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
16502         Better debug info when we receive a segment event.
16503         Reorganize a bit so we can pass the get_times() results around.
16504         Use the segment format when calculating the running time.
16505         Don't do QoS is sync is disabled or we have no clock or the
16506         element does not want us to sync to the clock.
16507         Don't drop buffers if QoS is disabled for now.
16508
16509 2006-03-14  Wim Taymans  <wim@fluendo.com>
16510
16511         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
16512         Marked the stats property as unimplemented so people don't get
16513         wild ideas.
16514         Add debug message when regression goes wrong.
16515         Added some more docs.
16516
16517 2006-03-14  Wim Taymans  <wim@fluendo.com>
16518
16519         * gst/gstsegment.c: (gst_segment_to_stream_time):
16520         Return correct return type in case of errors.
16521
16522 2006-03-14  Wim Taymans  <wim@fluendo.com>
16523
16524         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
16525           Don't segfault on invalid formats.
16526
16527 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
16528
16529         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
16530           Can't use gst_segment_to_running_time() when the segment
16531           is not in GST_TIME_FORMAT (like with filesink, for example).
16532           Stops flac encoding pipelines from spewing critical warnings
16533           at EOS (#331248).
16534           
16535 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
16536
16537         * gst/gstpipeline.c: (gst_pipeline_class_init):
16538           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
16539
16540         * plugins/elements/gsttypefindelement.c:
16541         (gst_type_find_element_handle_event):
16542           Don't try to typefind empty streams.
16543
16544 2006-03-14  Wim Taymans  <wim@fluendo.com>
16545
16546         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
16547         (gst_base_sink_do_qos):
16548         Separate QoS calculation.
16549         Only drop buffers when lateness is bigger than the 
16550         duration of the buffer.
16551
16552 2006-03-13  Wim Taymans  <wim@fluendo.com>
16553
16554         * gst/gstpipeline.c: (gst_pipeline_set_property),
16555         (gst_pipeline_get_property), (do_pipeline_seek),
16556         (gst_pipeline_change_state), (gst_pipeline_set_delay),
16557         (gst_pipeline_get_delay):
16558         Don't deadlock when reading properties.
16559
16560 2006-03-13  Wim Taymans  <wim@fluendo.com>
16561
16562         * libs/gst/base/gstbasetransform.c:
16563         (gst_base_transform_class_init), (gst_base_transform_init),
16564         (gst_base_transform_sink_event),
16565         (gst_base_transform_sink_eventfunc),
16566         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
16567         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
16568         (gst_base_transform_set_property),
16569         (gst_base_transform_get_property),
16570         (gst_base_transform_change_state), (gst_base_transform_update_qos),
16571         (gst_base_transform_set_qos_enabled),
16572         (gst_base_transform_is_qos_enabled):
16573         * libs/gst/base/gstbasetransform.h:
16574         Make basetransform virtual method for src events too.
16575         Handle QOS in basetransform.
16576         API: gst_base_transform_update_qos()
16577         API: gst_base_transform_set_qos_enabled()
16578         API: gst_base_transform_is_qos_enabled()
16579
16580 2006-03-13  Wim Taymans  <wim@fluendo.com>
16581
16582         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16583         (gst_base_sink_do_sync):
16584         Small cleanups.
16585         Use QOS debug category.
16586
16587 2006-03-13  Wim Taymans  <wim@fluendo.com>
16588
16589         * plugins/elements/gstqueue.c:
16590         Very small doc update.
16591
16592 2006-03-13  Wim Taymans  <wim@fluendo.com>
16593
16594         * gst/gst_private.h:
16595         * gst/gstinfo.c: (_gst_debug_init):
16596         Added QOS debug category
16597
16598 2006-03-13  Wim Taymans  <wim@fluendo.com>
16599
16600         * docs/gst/gstreamer-sections.txt:
16601         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
16602         * gst/gstbin.h:
16603         * gst/gstbus.c: (gst_bus_class_init):
16604         * gst/gstbus.h:
16605         * gst/gstclock.c:
16606         * gst/gstelement.c: (gst_element_set_locked_state):
16607         * gst/gstsegment.c:
16608         Documentation updates.
16609
16610         * gst/gstpipeline.c: (gst_pipeline_get_type),
16611         (gst_pipeline_class_init), (gst_pipeline_init),
16612         (gst_pipeline_dispose), (gst_pipeline_set_property),
16613         (gst_pipeline_get_property), (do_pipeline_seek),
16614         (gst_pipeline_send_event), (gst_pipeline_change_state),
16615         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
16616         (gst_pipeline_get_delay):
16617         * gst/gstpipeline.h:
16618         Added methods for setting the delay.
16619         API: gst_pipeline_set_delay()
16620         API: gst_pipeline_get_delay()
16621         Add pipeline debug category
16622         Various cleanups.
16623         Updated docs.
16624         Don't reset stream time when seek failed.
16625
16626 2006-03-13  Wim Taymans  <wim@fluendo.com>
16627
16628         * docs/design/draft-klass.txt:
16629         * docs/design/part-clocks.txt:
16630         * docs/design/part-events.txt:
16631         * docs/design/part-gstbin.txt:
16632         * docs/design/part-gstpipeline.txt:
16633         * docs/design/part-messages.txt:
16634         * docs/design/part-negotiation.txt:
16635         * docs/design/part-overview.txt:
16636         * docs/design/part-preroll.txt:
16637         * docs/design/part-seeking.txt:
16638         * docs/design/part-states.txt:
16639         * docs/design/part-streams.txt:
16640         Documentation updates.
16641
16642 2006-03-12  Julien MOUTTE  <julien@moutte.net>
16643
16644         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
16645         us to leak strings...
16646
16647 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16648
16649         * libs/gst/net/gstnettimeprovider.c:
16650           fix docs
16651         * win32/common/config.h:
16652           update
16653
16654 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
16655
16656         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
16657
16658         * configure.ac:
16659           Don't check for libgnomeui (leftover from old examples
16660           that aren't built or disted any longer) (#334303).
16661           
16662 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
16663
16664         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
16665         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
16666           Emit RESOURCE_NO_SPACE_LEFT error here as well when
16667           there's no space left on the device.
16668
16669 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
16670
16671         * gst/gstclock.h:
16672           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
16673           to cast the input to GstClockTime before comparing with
16674           another GstClockTime value.
16675
16676 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16677
16678         * configure.ac:
16679           back to trunk
16680
16681 === release 0.10.4 ===
16682
16683 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
16684
16685         * configure.ac:
16686           releasing 0.10.4, "Light"
16687
16688 2006-03-10  Michael Smith  <msmith@fluendo.com>
16689
16690         * libs/gst/dataprotocol/dataprotocol.c:
16691           Fix docs for dataprocotol to not get the return types completely
16692           wrong for a few functions.
16693
16694 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16695
16696         * docs/gst/gstreamer-sections.txt:
16697         * gst/gstpipeline.c: (gst_pipeline_class_init),
16698         (gst_pipeline_init), (gst_pipeline_set_property),
16699         (gst_pipeline_get_property), (gst_pipeline_change_state),
16700         (gst_pipeline_set_auto_flush_bus),
16701         (gst_pipeline_get_auto_flush_bus):
16702         * gst/gstpipeline.h:
16703           Add new API: gst_pipeline_set_auto_flush_bus() and
16704           gst_pipeline_get_auto_flush_bus() to disable automatic
16705           flushing of the pipeline's GstBus when going from READY
16706           to NULL state (#332045).
16707
16708 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16709
16710         * docs/gst/gstreamer-sections.txt:
16711         * gst/gsturi.c: (gst_uri_has_protocol):
16712         * gst/gsturi.h:
16713            Add new API: gst_uri_has_protocol() (#333779).
16714
16715 2006-03-09  Wim Taymans  <wim@fluendo.com>
16716
16717         * gst/gstclock.c: (gst_clock_entry_new),
16718         (gst_clock_id_compare_func), (gst_clock_id_wait),
16719         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
16720         (gst_clock_init), (gst_clock_get_internal_time),
16721         (gst_clock_set_master), (do_linear_regression),
16722         (gst_clock_add_observation), (gst_clock_set_property):
16723         * gst/gstclock.h:
16724         Review docs.
16725         Small cleanups.
16726         Fix a possible segfault when the window-size is made smaller.
16727         Calculate jitter before performing the clock wait. Ideally
16728         the clock implementation should calculate jitter but we need
16729         API breakage for that.
16730
16731         * gst/gstsystemclock.c: (gst_system_clock_init):
16732         Docs review.
16733         
16734         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16735         Remove leftover else
16736
16737         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
16738         (gst_systemclock_suite):
16739         Added check to test GST_CLOCK_DIFF.
16740
16741 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16742
16743         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
16744         (gst_type_find_helper_get_range):
16745           If we are provided with the size, we should implement
16746           GstTypeFind::get_length, so that typefind functions who
16747           want to can actually peek at the middle of a file.
16748
16749 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
16750
16751         * docs/manual/advanced-dataaccess.xml:
16752           Add some very very basic error checking.
16753
16754         * docs/pwg/appendix-checklist.xml:
16755           Some updates to the list of things to check when writing an element.
16756
16757 2006-03-08  Wim Taymans  <wim@fluendo.com>
16758
16759         * docs/design/part-element-transform.txt:
16760         Added some docs about the design of tranform elements.
16761
16762         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
16763         (gst_base_src_loop), (gst_base_src_change_state):
16764         Mark buffers with the DISCONT flag.
16765
16766 2006-03-08  Michael Smith  <msmith@fluendo.com>
16767
16768         * gst/gstregistry.h:
16769         * gst/gstregistryxml.c: (gst_registry_save),
16770         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
16771         (gst_registry_xml_save_pad_template),
16772         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
16773         (gst_registry_xml_write_cache):
16774           Rewrite registry-saving to avoid race conditions and check for
16775           failed writes.
16776
16777 2006-03-08  Wim Taymans  <wim@fluendo.com>
16778
16779         * libs/gst/base/gstbasetransform.c:
16780         (gst_base_transform_transform_caps),
16781         (gst_base_transform_transform_size),
16782         (gst_base_transform_prepare_output_buffer),
16783         (gst_base_transform_get_unit_size),
16784         (gst_base_transform_buffer_alloc),
16785         (gst_base_transform_handle_buffer),
16786         (gst_base_transform_change_state):
16787         Cleanups, separate normal flow from errors, add sensible
16788         DEBUG lines.
16789         Don't try to renegotiate when allocating an output buffer.
16790         Also copy DISCONT buffer flag when copying a buffer.
16791         Reset the transform after we finish streaming, not during.
16792
16793 2006-03-08  Wim Taymans  <wim@fluendo.com>
16794
16795         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16796         Use last buffer timestamp in qos message.
16797
16798 2006-03-07  Wim Taymans  <wim@fluendo.com>
16799
16800         Patch by: Christophe Fergeau
16801
16802         * docs/pwg/advanced-tagging.xml:
16803         * docs/pwg/building-pads.xml:
16804           fixes #333416
16805
16806 2006-03-07  Wim Taymans  <wim@fluendo.com>
16807
16808         * docs/libs/gstreamer-libs-sections.txt:
16809         Added basesink new methods.
16810
16811         * gst/gstevent.c:
16812         * gst/gstevent.h:
16813         Docs updates. Flesh out the QoS docs.
16814
16815         * libs/gst/base/gstadapter.c:
16816         Small doc clarification about ownership and flushing.
16817
16818         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
16819         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
16820         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
16821         (gst_base_sink_get_property), (gst_base_sink_do_sync):
16822         * libs/gst/base/gstbasesink.h:
16823         API additions: 
16824         Added new methods to allow subclass to control max-lateness 
16825         and sync.
16826         Generate very basic QoS events based on last sync observation.
16827         Updated docs, fix typo, added some QoS blurb.
16828
16829         * libs/gst/base/gstbasesrc.c:
16830         Remove obsolete _get_state() calls from docs.
16831
16832 2006-03-07  Wim Taymans  <wim@fluendo.com>
16833
16834         * docs/libs/gstreamer-libs-sections.txt:
16835         * libs/gst/base/gstbasetransform.h:
16836         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
16837         Fix docs for GstBaseSrc.
16838
16839 2006-03-07  Wim Taymans  <wim@fluendo.com>
16840
16841         * docs/gst/gstreamer-sections.txt:
16842         * gst/gstbuffer.h:
16843         * gst/gstvalue.c:
16844         * libs/gst/base/gstbasetransform.h:
16845         Small documentation fixes.
16846
16847 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
16848
16849         * gst/gstvalue.c:
16850           Document thread-unsafety of gst_value_register_foo_func()
16851           when used at the same time as gst_value_foo() (#322628).
16852
16853 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
16854
16855         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
16856         (gst_push_src_check_get_range):
16857           Push sources don't support pull mode by default.
16858
16859 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
16860
16861         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
16862         (gst_base_src_init), (gst_base_src_pad_check_get_range),
16863         (gst_base_src_default_check_get_range):
16864         * libs/gst/base/gstbasesrc.h:
16865           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
16866           provide default implementation, and rename
16867           gst_base_src_check_get_range() to
16868           gst_base_src_pad_check_get_range() for clarity.
16869
16870 2006-03-06  Wim Taymans  <wim@fluendo.com>
16871
16872         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
16873         Make property overridable.
16874
16875 2006-03-06  Wim Taymans  <wim@fluendo.com>
16876
16877         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16878         (gst_base_sink_init), (gst_base_sink_set_property),
16879         (gst_base_sink_get_property), (gst_base_sink_do_sync):
16880         * libs/gst/base/gstbasesink.h:
16881         API addition: Make max-lateness a property.
16882
16883 2006-03-06  Wim Taymans  <wim@fluendo.com>
16884
16885         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
16886         (gst_base_sink_do_sync), (gst_base_sink_render_object):
16887         Don't ever draw a frame that is >10ms late.
16888
16889 2006-03-06  Michael Smith  <msmith@fluendo.com>
16890
16891         * gst/gstmessage.c: (_gst_message_copy):
16892           When copying a message, set the parent_refcount of the enclosed
16893           structure to point at the copy, not the original message.
16894
16895 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
16896
16897         Patch by: Christophe Fergeau
16898
16899         * gst/gstutils.h:
16900           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
16901           usable in c++ code (#333417)
16902
16903 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16904
16905         * gst/gstclock.h:
16906           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
16907
16908 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
16909
16910         * libs/gst/base/gstbasetransform.c:
16911         (gst_base_transform_transform_caps):
16912           Make sure caps are writable before passing them to
16913           gst_caps_append().
16914
16915 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
16916
16917         * gst/gsterror.h:
16918           Fix some minor docs errors.
16919
16920 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
16921
16922           Patch by: Ross Burton <ross at burtonini dot com>
16923
16924         * gst/gsterror.c: (_gst_resource_errors_init):
16925         * gst/gsterror.h:
16926           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
16927
16928 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
16929
16930         * gst/gst.c:
16931         Add a check and output a g_warning when GStreamer is built
16932         against GLib 2.6 but running against 2.8 or higher, and vice 
16933         versa. (Closes: #323542)
16934
16935 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
16936
16937         * gst/parse/parse.l:
16938           Commit patch for parse_launch syntax from #331255. Removes 
16939           support for quoted strings and mimetypes when writing filtered 
16940           caps. See the bug report for more details - I'm pretty sure this
16941           obscure feature is not in use by _anyone_ anywhere.
16942
16943           With this simple change, the size of the gstreamer.so here 
16944           drops from 2193KB to 1565KB.
16945
16946 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
16947
16948         * plugins/elements/gsttypefindelement.h:
16949         * plugins/elements/gsttypefindelement.c:
16950         (gst_type_find_element_src_event), (start_typefinding),
16951         (stop_typefinding), (gst_type_find_element_handle_event),
16952         (gst_type_find_element_chain),
16953         (gst_type_find_element_chain_do_typefinding):
16954           Use gst_type_find_helper_for_buffer() for chain-based
16955           typefinding.
16956
16957 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
16958
16959         * plugins/elements/gsttypefindelement.c:
16960         (gst_type_find_element_class_init),
16961         (gst_type_find_element_set_property),
16962         (gst_type_find_element_get_property):
16963           Deprecate "maximum" property (not only was it only taken into
16964           account for typefinding in push-mode anyway, it also was never
16965           actually possible to set it in the first place because the
16966           property was registered with the numeric property ID for the
16967           "minimum" property). Register "maximum" property correctly,
16968           for the sake of future copy'n'pasters. Remove some cruft
16969           from property get/set functions.
16970
16971 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
16972
16973         * plugins/elements/gsttypefindelement.c:
16974         (gst_type_find_element_activate):
16975           Use gst_type_find_helper_get_range() here, so we
16976           can honour the "minimum" property and also emit
16977           the signal with the correct probability of the found caps.
16978
16979 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
16980
16981         * docs/libs/gstreamer-libs-sections.txt:
16982         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
16983         (helper_find_suggest), (gst_type_find_helper_get_range),
16984         (gst_type_find_helper):
16985         * libs/gst/base/gsttypefindhelper.h:
16986           New API: gst_type_find_helper_get_range() (#333042).
16987
16988 2006-03-02  Michael Smith  <msmith@fluendo.com>
16989
16990         * gst/gstregistryxml.c: (load_feature):
16991           Asserting on a failure to read part of the registry is Not Cool.
16992           Just log a warning and return NULL (which is already handled)
16993
16994 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
16995
16996         * win32/common/libgstbase.def:
16997           added export of gst_type_find_helper_for_buffer
16998         * win32/common/libgstbase.def:
16999           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
17000           gst_ghost_pad_get_target
17001
17002 2006-02-28  Wim Taymans  <wim@fluendo.com>
17003
17004         * docs/design/draft-klass.txt:
17005         We use Filter now.
17006         Added Connector to mark elements that are only used to
17007         allow pipeline connections.
17008         Moved Debug to extra feature since most of them are 
17009         functionally something else.
17010
17011 2006-02-28  Wim Taymans  <wim@fluendo.com>
17012
17013         * docs/design/draft-klass.txt:
17014         Some updates and clarifications.
17015
17016 2006-02-28  Wim Taymans  <wim@fluendo.com>
17017
17018         * docs/design/draft-klass.txt:
17019         Proposal for klass field values.
17020
17021         * docs/design/part-streams.txt:
17022         Start of a doc describing stream anatomy.
17023
17024 2006-02-28  Wim Taymans  <wim@fluendo.com>
17025
17026         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
17027         Help the compiler a bit with type registration.
17028         Use existing forward cod path instead of duplicating it when 
17029         handling a message.
17030         
17031         * gst/gstbus.c: (gst_bus_get_type):
17032         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
17033         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
17034         * gst/gstclock.c: (gst_clock_get_type):
17035         * gst/gstelement.c: (gst_element_get_type),
17036         * gst/gstelementfactory.c: (gst_element_factory_get_type):
17037         * gst/gstindexfactory.c: (gst_index_factory_get_type):
17038         * gst/gstminiobject.c: (gst_mini_object_get_type):
17039         * gst/gstpad.c: (gst_pad_get_type):
17040         * gst/gstsegment.c: (gst_segment_get_type):
17041         * gst/gststructure.c: (gst_structure_get_type):
17042         * gst/gstsystemclock.c: (gst_system_clock_get_type):
17043         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
17044         * gst/gstvalue.c:
17045         Help compiler with type registration.
17046
17047         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
17048         Small doc update.
17049
17050 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17051
17052         * plugins/elements/gsttypefindelement.c:
17053         (gst_type_find_element_handle_event):
17054           When we get an EOS event and have not found a type yet
17055           (most likely because we had not yet accumulated
17056           TYPE_FIND_MIN_SIZE of data yet), try to determine the
17057           type given the data we have so far. Fixes typefinding
17058           for very short streams again, most notably quicktime
17059           redirections as used on Apple's trailer site (#331701).
17060
17061 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17062
17063         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
17064         (gst_type_find_helper):
17065           Try typefinding factories with the highest rank first.
17066
17067 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17068
17069         * docs/libs/gstreamer-libs-docs.sgml:
17070         * docs/libs/gstreamer-libs-sections.txt:
17071         * libs/gst/base/gsttypefindhelper.c:
17072           Add section for typefind helper and add documentation
17073           for the old and the new function.
17074
17075 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17076
17077         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
17078         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
17079         (gst_type_find_helper_for_buffer):
17080         * libs/gst/base/gsttypefindhelper.h:
17081           New API: gst_type_find_helper_for_buffer() (#332723).
17082           
17083 2006-02-27  Michael Smith  <msmith@fluendo.com>
17084
17085         Patch by: Loïc Minier
17086
17087         * configure.ac:
17088         * docs/Makefile.am:
17089         * docs/slides/Makefile.am:
17090           prevent CVS directories getting disted.
17091
17092 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17093
17094         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
17095           Use the REFCOUNTING category for caps refcounting.
17096           
17097 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
17098
17099         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
17100           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
17101
17102 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
17103
17104         * plugins/elements/gsttypefindelement.c:
17105         (gst_type_find_element_activate):
17106           Use gst_pad_check_pull_range() before _activate_pull()
17107           to avoid unnecessary open/close (see #331690).
17108
17109 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
17110
17111         * gst/gstutils.c:
17112           Docs enhancement: make it crystal clear what the
17113           gst_pad_add_*_probe() callbacks should look like.
17114
17115 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
17116
17117         * libs/gst/base/gstbasesrc.c:
17118           Document how applications can stop recording from
17119           live sources (see #330996).
17120
17121 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17122
17123         * tests/check/Makefile.am:
17124         * tests/check/libs/basesrc.c: (eos_event_counter),
17125         (basesrc_eos_events_pull), (basesrc_eos_events_push),
17126         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
17127         (gst_basesrc_suite), (main):
17128           ... and add some tests for the base source EOS stuff.
17129
17130 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17131
17132         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
17133           Test case originally showed the problem fixed below,
17134           but was then amended. Add checks back at the place
17135           where they used to be.
17136
17137 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17138
17139         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
17140         (gst_base_src_init), (gst_base_src_loop),
17141         (gst_base_src_activate_push), (gst_base_src_activate_pull),
17142         (gst_base_src_change_state):
17143         * libs/gst/base/gstbasesrc.h:
17144           Don't unconditionally send EOS when going from PAUSED to
17145           READY state, esp. make sure we don't send two EOS events
17146           in some cases (e.g. one when reaching EOS and one when
17147           going from PAUSED to READY). Also, we don't want to send
17148           EOS events when operating in pull mode. However, we do
17149           want to send an EOS event when shutting down a live
17150           source explicitly, for example (fixes #330996).
17151           
17152 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17153
17154         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
17155           Update src->read_position after a seek when not using mmap.
17156           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
17157
17158 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
17159
17160         * gst/Makefile.am:
17161         * gst/gstparse.h:
17162         * gst/gstutils.c:
17163         * gst/gstutils.h:
17164         Make things work with --disable-parse as they do with 
17165         --disable-load-save - the symbols involved disappear, but the
17166         header is still installed and GST_DISABLE_PARSE is included via
17167         gstconfig.h
17168
17169 2006-02-20  Julien MOUTTE  <julien@moutte.net>
17170
17171         * libs/gst/base/gstbasetransform.c:
17172         (gst_base_transform_change_state): Fix a stupid bug. I was 
17173         sure I compiled that.
17174
17175 2006-02-20  Julien MOUTTE  <julien@moutte.net>
17176
17177         * gst/gstpad.c: (gst_pad_set_blocked_async):
17178         * gst/gstutils.c: (gst_pad_add_data_probe),
17179         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
17180         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
17181         (gst_pad_remove_buffer_probe): Make those function act on the
17182         ghostpad target when it's a ghostpad. (Closes #331727)
17183
17184 2006-02-20  Julien MOUTTE  <julien@moutte.net>
17185
17186         * libs/gst/base/gstbasetransform.c:
17187         (gst_base_transform_change_state): Make basetransform reusable.
17188         (Closes #331898)
17189
17190 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
17191
17192         * docs/random/release:
17193         Move the current documentation of how to do a release to the top
17194         of the file.
17195
17196         * gst/gstbin.c: (gst_bin_class_init),
17197         (gst_bin_handle_message_func):
17198         Allow multiple state-recalculation threads. (Closes #328873)
17199
17200 2006-02-19  Julien MOUTTE  <julien@moutte.net>
17201
17202         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
17203         * gst/gstpad.c: (gst_pad_set_event_function),
17204         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
17205         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
17206         2 strings. You can't use the STR_NULL macro on that.
17207
17208 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
17209
17210         * gst/gstpad.c: (gst_pad_set_event_function),
17211         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
17212         (gst_pad_set_getcaps_function)
17213         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
17214           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
17215           So now, we can use --gst-debug-level=5 on Windows
17216         * win32/common/libgstcontroller.def:
17217           Added export of gst_controller_init
17218         * win32/vs6/libgstcontroller.dsp:
17219           Fixed Release post build configuration
17220
17221 2006-02-17  Wim Taymans  <wim@fluendo.com>
17222
17223         * tests/check/gst/gstquery.c: (GST_START_TEST):
17224         Added another check.
17225
17226 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
17227
17228         * plugins/elements/gsttypefindelement.c: (find_peek):
17229           We can do peeks at non-zero offsets, as long as they
17230           fall within the buffer we have.
17231
17232 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
17233
17234         * tests/check/Makefile.am:
17235         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
17236         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
17237         (parse_suite), (main):
17238           Add testsuite for parse launch syntax
17239
17240 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
17241
17242         * plugins/elements/gsttypefindelement.c:
17243         (gst_type_find_element_chain):
17244           When typefinding is unsuccessful in the chain function, don't
17245           error out immediately. Only error out with NO_CAPS_FOUND if
17246           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
17247           otherwise simply wait for more data so we can try typefinding
17248           again with more data later. Also, don't attempt to typefind
17249           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
17250           this should improve typefinding from network sources where the
17251           size of the first buffer can be somewhat random.
17252
17253 2006-02-14  Wim Taymans  <wim@fluendo.com>
17254
17255         * docs/gst/gstreamer-sections.txt:
17256         * gst/gstpadtemplate.c:
17257         * gst/gstpadtemplate.h:
17258         Fix padtemplate docs, fixes #328805.
17259
17260 2006-02-14  Wim Taymans  <wim@fluendo.com>
17261
17262         * tools/gst-launch.c: (main):
17263         NO_PREROLL is not an ERROR so don't send confusing messages
17264         to the user.
17265
17266 2006-02-14  Wim Taymans  <wim@fluendo.com>
17267
17268         Patch by: Torsten Schoenfeld
17269
17270         * gst/gstregistry.c: (gst_registry_get_default),
17271         (_gst_registry_cleanup):
17272         Protect default registry with lock and ref/sink it.
17273         Fixes #324818
17274
17275 2006-02-14  Wim Taymans  <wim@fluendo.com>
17276
17277         * gst/gstbuffer.c:
17278         * gst/gstquery.c: (gst_query_list_add_format),
17279         (gst_query_set_formatsv), (gst_query_parse_formats_length),
17280         (gst_query_parse_formats_nth):
17281         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
17282         Docs fixes.
17283
17284 2006-02-14  Wim Taymans  <wim@fluendo.com>
17285
17286         * docs/gst/gstreamer-sections.txt:
17287         Reworked query docs.
17288
17289         * gst/gstquery.c: (gst_query_new_formats),
17290         (gst_query_list_add_format), (gst_query_set_formats),
17291         (gst_query_set_formatsv), (gst_query_parse_formats_length),
17292         (gst_query_parse_formats_nth):
17293         * gst/gstquery.h:
17294         Flesh out formats query, added some new methods.
17295         Fix part of #324398.
17296
17297         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
17298         Added query creation tests.
17299
17300 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
17301
17302         * gst/gstpad.c: (fixate_value):
17303         Add a default fixation for fraction lists.
17304
17305 2006-02-13  Wim Taymans  <wim@fluendo.com>
17306
17307         * gst/gsttask.c: (gst_task_init), (gst_task_func),
17308         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
17309         (gst_task_join):
17310         * gst/gsttask.h:
17311         Detect and warn for obvious deadlocks. fixes #320340
17312         Fix error case where lock was not released.
17313
17314         * tests/check/Makefile.am:
17315         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
17316         (task_func), (gst_element_suite), (main):
17317         Add task check.
17318
17319 2006-02-13  Wim Taymans  <wim@fluendo.com>
17320
17321         * docs/gst/gstreamer-sections.txt:
17322         * gst/gstbus.c:
17323         Add new functions to docs.
17324
17325 2006-02-13  Wim Taymans  <wim@fluendo.com>
17326
17327         * docs/design/part-TODO.txt:
17328         Updated TODO list, basesrc supports seeking to non-bytes
17329         formats.
17330
17331         * docs/design/part-element-sink.txt:
17332         Update docs.
17333
17334         * gst/gstbin.c: (bin_replace_message),
17335         (gst_bin_handle_message_func):
17336         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
17337         * gst/gstevent.c: (gst_event_finalize):
17338         * gst/gstpad.c: (gst_pad_event_default_dispatch),
17339         (gst_pad_send_event):
17340         Use shiny new _TYPE_NAME macros.
17341
17342         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17343         Move debug statement up.
17344
17345         * gst/gstelement.c: (gst_element_set_locked_state):
17346         Add some debugging.
17347
17348 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
17349
17350         * docs/gst/gstreamer-sections.txt:
17351         * gst/gstmessage.h:
17352         * gst/gstquery.h:
17353           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
17354           macros (#330906). Also, document the already existing
17355           GST_QUERY_TYPE macro.
17356
17357 2006-02-13  Wim Taymans  <wim@fluendo.com>
17358
17359         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
17360         (event_probe), (GST_START_TEST):
17361         Only events up to the pipeline EOS are counted, there are
17362         some more when going to NULL currently which we don't care
17363         about for now.
17364
17365 2006-02-13  Wim Taymans  <wim@fluendo.com>
17366
17367         * gst/gstpad.c: (gst_pad_send_event):
17368         Correctly check flushing and emit probes. fixes #330125
17369
17370 2006-02-10  Andy Wingo  <wingo@pobox.com>
17371
17372         * gst/gstbus.c (gst_bus_class_init): Declare our private data
17373         structure.
17374         (gst_bus_init): Cache the location of the private data in the
17375         instance structure.
17376         (gst_bus_enable_sync_message_emission) 
17377         (gst_bus_disable_sync_message_emission): Implement new public
17378         functions.
17379         (gst_bus_post): Emit the sync-message signal if the user asked for
17380         it. Fixes #330684.
17381
17382         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
17383         location of the bus-private structure.
17384         (gst_bus_enable_sync_message_emission)
17385         (gst_bus_disable_sync_message_emission): API addition
17386
17387 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
17388
17389         Patch by: Vincent Torri
17390
17391         * docs/pwg/building-boiler.xml:
17392         PWG patch from #326800
17393
17394 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
17395
17396         * configure.ac:
17397         * docs/Makefile.am:
17398         * docs/design/Makefile.am:
17399           Dist design docs.
17400
17401 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
17402
17403         * configure.ac:
17404           back to CVS
17405
17406 === release 0.10.3 ===
17407
17408 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
17409
17410         * configure.ac:
17411           releasing 0.10.3, "Like a virgin"
17412
17413 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
17414
17415         * configure.ac:
17416           2nd prerelease of 0.10.3
17417           Bump libtool versioning.
17418
17419 2006-02-07  Andy Wingo  <wingo@pobox.com>
17420
17421         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
17422         update last_stop if we're in TIME format and the timestamp is
17423         valid.
17424
17425         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
17426         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
17427         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
17428         If we get a new newsegment with a different format, adapt
17429         accordingly.
17430
17431         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
17432         of 0. Not a problem, really.
17433
17434         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
17435         warn if sync=true.
17436
17437 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
17438
17439         * configure.ac:
17440           Prelease of 0.10.3
17441
17442 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
17443
17444         * win32/vs7:
17445           project files updated to the default vs7 configuration
17446         * win32/common/libgstbase.def:
17447         * win32/common/libgstreamer.def:
17448           added new symbols,
17449           removed empty lines,
17450           sorted all exported symbols alphabetically
17451         * win32/common/dirent.c:
17452         * win32/common/dirent.h:
17453         * win32/common/gchar.h:
17454           use windows line end.
17455           
17456 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
17457
17458         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
17459           Send EOS event when stopping.
17460
17461 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
17462
17463         * docs/README:
17464           Tell folks what to do if the plugin-foobar.xml file
17465           hasn't been generated for a newly-added plugin.
17466
17467 2006-02-05  Julien MOUTTE  <julien@moutte.net>
17468
17469         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
17470         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
17471         (gst_collect_pads_start), (gst_collect_pads_stop),
17472         (gst_collect_pads_event): Collectpads now holds a reference
17473         to the GstPad that was added. Indeed we don't want to look
17474         at pads that might just go away with no warning...
17475
17476 2006-02-05  Julien MOUTTE  <julien@moutte.net>
17477
17478         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
17479         (gst_collect_pads_start), (gst_collect_pads_stop),
17480         (gst_collect_pads_event), (gst_collect_pads_chain):
17481         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
17482         Mark Nauwelaerts's patch on bug #328491.
17483
17484 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
17485
17486         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
17487         (gst_utils_suite):
17488           Add some simple tests for gst_parse_bin_from_description() and
17489           gst_bin_find_unconnected_pad() (#329069).
17490
17491 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
17492
17493         * tools/gst-launch.c: (event_loop), (main):
17494           Catch errors during preroll (#320084).
17495
17496 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
17497
17498         * plugins/elements/gsttypefindelement.c:
17499         (gst_type_find_element_activate):
17500           Post TYPE_NOT_FOUND error message when typefinding
17501           is unsuccessful in the activate function as well.
17502
17503 2006-02-02  Wim Taymans  <wim@fluendo.com>
17504
17505         * docs/design/part-element-sink.txt:
17506         Updated doc.
17507
17508 2006-02-02  Wim Taymans  <wim@fluendo.com>
17509
17510         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
17511         (gst_base_sink_render_object),
17512         (gst_base_sink_queue_object_unlocked):
17513         Only keep track of prerollable items when we are 
17514         prerolling.
17515         Before rendering after preroll, always check if we
17516         have queued items.
17517         Added some more debugging.
17518
17519 2006-02-02  Wim Taymans  <wim@fluendo.com>
17520
17521         * gst/gstelement.c: (gst_element_continue_state),
17522         (gst_element_set_state_func), (gst_element_change_state):
17523         Fixed #326576, been running this for quite some time with
17524         no regressions at all.
17525
17526 2006-02-02  Wim Taymans  <wim@fluendo.com>
17527
17528         * common/gst.supp:
17529         Added more suppressions
17530
17531 2006-02-02  Wim Taymans  <wim@fluendo.com>
17532
17533         * docs/design/part-element-sink.txt:
17534         Updated document.
17535
17536         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17537         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
17538         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
17539         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
17540         (gst_base_sink_do_sync), (gst_base_sink_render_object),
17541         (gst_base_sink_preroll_object),
17542         (gst_base_sink_queue_object_unlocked),
17543         (gst_base_sink_queue_object), (gst_base_sink_event),
17544         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
17545         (gst_base_sink_loop), (gst_base_sink_activate_pull),
17546         (gst_base_sink_get_position), (gst_base_sink_change_state):
17547         * libs/gst/base/gstbasesink.h:
17548         Totally refactored matching the design doc.
17549         Use two segments, one to clip incomming buffers and another to
17550         perform sync.
17551         Handle queueing correctly, bypass the queue when playing.
17552         Make EOS cancelable.
17553         Handle errors correctly when operating in pull based mode.
17554
17555         * tests/check/elements/fakesink.c: (GST_START_TEST),
17556         (fakesink_suite):
17557         Added new check for sinks.
17558
17559 2006-02-02  Wim Taymans  <wim@fluendo.com>
17560
17561         * gst/gstsegment.c: (gst_segment_clip):
17562         No reason to refuse to clip when start == -1
17563
17564 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
17565
17566         * docs/README:
17567         * docs/manual/intro-basics.xml:
17568         * docs/manual/intro-preface.xml:
17569         * docs/manual/manual.xml:
17570         * docs/pwg/advanced-dparams.xml:
17571         * docs/pwg/intro-basics.xml:
17572         * docs/pwg/intro-preface.xml:
17573         * docs/pwg/pwg.xml:
17574           describe dparams (controller) for plugins
17575           unify docs a little more
17576
17577 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
17578
17579         * docs/gst/gstreamer-sections.txt:
17580         * gst/gstutils.c: (element_find_unconnected_pad),
17581         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
17582         * gst/gstutils.h:
17583           Add new API: gst_parse_bin_from_description() and
17584           gst_bin_find_unconnected_pad() (#329069).
17585
17586 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
17587
17588         * docs/manual/README:
17589           uncover a nasty detail of the docs build
17590
17591 2006-01-31  Wim Taymans  <wim@fluendo.com>
17592
17593         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
17594         Don't cache duration messages if we're not going to use or
17595         free them.
17596
17597 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
17598
17599         * docs/manual/advanced-dparams.xml:
17600         * docs/pwg/advanced-dparams.xml:
17601           more dparam docs
17602         * gst/gstindex.c:
17603           fix docs
17604         * libs/gst/controller/lib.c: (gst_controller_init):
17605           init just once
17606
17607 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
17608
17609         * gst/gstelement.c: (gst_element_message_full):
17610           also show file/line/func if no additional debug was given
17611
17612 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
17613         
17614         * win32/vs7/grammar.vcproj:
17615           activate copy of autogenerated files for Release mode
17616
17617 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
17618         
17619         * win32/common/libgstreamer.def:
17620           export gst_value_compare
17621
17622 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
17623
17624         * plugins/elements/Makefile.am:
17625         * plugins/elements/gstelements.c:
17626         * plugins/elements/gstfdsink.c: (_do_init),
17627         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
17628         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
17629         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
17630         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
17631         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
17632         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
17633         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
17634         * plugins/elements/gstfdsink.h:
17635         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
17636
17637 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
17638
17639         * docs/manual/advanced-dparams.xml:
17640           describe controller
17641         * docs/manual/advanced-position.xml:
17642         * docs/manual/basics-init.xml:
17643         * docs/manual/manual.xml:
17644         * docs/manual/titlepage.xml:
17645         * docs/pwg/pwg.xml:
17646         * docs/pwg/titlepage.xml:
17647           cleanup xml (more to come)
17648         * libs/gst/controller/gstcontroller.c:
17649           fix typo
17650
17651 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
17652         
17653         * win32/vs6/grammar.dsp:
17654           add autogen of gstmarshal.c,h for Release mode
17655                 
17656 2006-01-30  Wim Taymans  <wim@fluendo.com>
17657
17658         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17659         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
17660         (gst_base_sink_handle_object), (gst_base_sink_event),
17661         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
17662         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
17663         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
17664         (gst_base_sink_deactivate), (gst_base_sink_activate),
17665         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
17666         (gst_base_sink_query), (gst_base_sink_change_state):
17667         Basesink cleanups, remove some old code.
17668         Handle the case where a subclass can preroll in the render
17669         method (mostly audiosinks).
17670         Handle more events.
17671         Remove some locks around variables that are now protected
17672         with the PREROLL_LOCK (clock_id, flushing, ..).
17673         Optimize position query some more, do correct locking.
17674         Remove old code to push queue in state change, this is not
17675         needed anymore since preroll blocks on all prerollable items 
17676         now.
17677         Almost implemented as described in design doc.
17678
17679 2006-01-30  Wim Taymans  <wim@fluendo.com>
17680
17681         * tests/check/gst/gstbin.c: (GST_START_TEST):
17682         Wait for refcount to settle down before checking.
17683
17684 2006-01-30  Wim Taymans  <wim@fluendo.com>
17685
17686         * docs/design/part-element-sink.txt:
17687         Pseudo code overview of desired sink behaviour regarding
17688         preroll.
17689
17690 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17691         * win32/vs6/grammar.dsp:
17692           fix some bugs in Release mode for autogenerated files
17693                 
17694 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17695         * win32/common/libgstbase.def:
17696         * win32/common/libgstreamer.def:
17697           export some new symbols: gst_base_src_set_format,
17698           gst_iterator_next, gst_structure_set_valist
17699
17700 2006-01-29  Julien MOUTTE  <julien@moutte.net>
17701
17702         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
17703         Set pad functions unconditionally. Fixes #329105.
17704
17705 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17706         * win32/vs8:
17707           add vs8 project files created by Sergey Scobich
17708
17709 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
17710
17711         * gst/gstutils.c: (gst_element_unlink_pads):
17712         Don't leak pad references.
17713
17714         * tests/check/elements/fakesink.c: (GST_START_TEST):
17715         * tests/check/generic/sinks.c: (GST_START_TEST):
17716         * tests/check/generic/states.c: (GST_START_TEST):
17717         * tests/check/gst/gstbin.c: (GST_START_TEST):
17718         * tests/check/gst/gstcaps.c: (GST_START_TEST):
17719         * tests/check/gst/gstelement.c: (GST_START_TEST):
17720         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
17721         * tests/check/gst/gstiterator.c: (GST_START_TEST):
17722         * tests/check/gst/gstvalue.c: (GST_START_TEST):
17723         Fix a bunch of leaks. Make generic/sinks.c
17724         use a bit less cpu by slowing the buffer rate
17725         between fakesrc and fakesink.
17726         
17727 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
17728         * gst/gstcaps.c:
17729         * gst/gstelement.c: (gst_element_send_event):
17730         * gst/gstevent.c:
17731         * gst/gstinfo.c:
17732         * gst/gstiterator.c:
17733         * gst/gstiterator.h:
17734         * gst/gstpad.c: (gst_pad_send_event):
17735         * gst/gststructure.c:
17736         * gst/gsturi.c:
17737         * gst/gstutils.c:
17738         * gst/gstvalue.c:
17739         * libs/gst/base/gstadapter.c:
17740           doc fixes, to link to function, just write gst_cool_function(), don't
17741           prefix with '#'
17742
17743 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
17744
17745         * plugins/elements/gsttee.c: (gst_tee_do_push),
17746         (gst_tee_handle_buffer):
17747         Always prefer an actual return value from a src
17748         pad in place of NOT_LINKED. This means we return
17749         WRONG_STATE when all src pads are WRONG_STATE
17750         instead of NOT_LINKED.
17751
17752         Lock when replacing the last message to prevent
17753         racing with the get_property method.
17754
17755         Add debug output
17756
17757 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
17758
17759         * tests/check/Makefile.am:
17760         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
17761         (main):
17762         Add a very simple check that should have caught the memleak I fixed
17763         last night (if not for the slice allocator hiding it)
17764
17765 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
17766
17767         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
17768         (gst_bin_remove_func), (gst_bin_handle_message_func),
17769         (bin_query_duration_fold), (bin_query_generic_fold):
17770         Clean up references to the clock provider when disposed or when
17771         handling a clock-lost message from it.
17772
17773         Unref sinks when performing a query via gst_iterator_fold, as the
17774         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
17775
17776         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
17777         (gst_clock_set_master):
17778         Drop our reference to the master clock, if any, when we are disposed.
17779
17780         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
17781         Chain up in dispose. 
17782
17783 2006-01-26  Wim Taymans  <wim@fluendo.com>
17784
17785         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17786         Add some debugging.
17787
17788 2006-01-26  Julien MOUTTE  <julien@moutte.net>
17789
17790         * plugins/elements/gsttee.c: (gst_tee_do_push),
17791         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
17792         handles pad being NOT_LINKED or in WRONG_STATE.
17793
17794 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
17795
17796         * win32/MANIFEST:
17797           more updating
17798
17799 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
17800
17801         * win32/MANIFEST:
17802           remove obsolete entry
17803
17804 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
17805
17806         * docs/gst/gstreamer-sections.txt:
17807         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
17808         (gst_bin_iterate_sources), (gst_bin_send_event):
17809         * gst/gstbin.h:
17810         * gst/gstelement.c: (gst_element_send_event):
17811         * gst/gstevent.c:
17812         * gst/gstpad.c: (gst_pad_send_event):
17813           added code for downstream events, reviewed docs in gstevent.c
17814
17815 2006-01-25  Julien MOUTTE  <julien@moutte.net>
17816
17817         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
17818         We only query position using the clock in the playing state.
17819         Query peer in the other cases.
17820         * win32/common/config.h: Updates.
17821
17822 2006-01-24  Wim Taymans  <wim@fluendo.com>
17823
17824         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
17825         A clock entry that is scheduled for the exact time of the
17826         clock is still in time.
17827
17828         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17829         (gst_base_sink_do_sync):
17830         Add some more debug info.
17831
17832 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
17833
17834         * win32/vs7:
17835           Add new vs7 project files and solution.
17836
17837 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
17838
17839         * win32/vs7:
17840           all files removed as they were out-dated.
17841
17842 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17843
17844         * docs/random/release:
17845           update notes
17846         * gst/gstbin.c: (gst_bin_init):
17847         * gst/gstbus.c: (gst_bus_new):
17848         * gst/gstbus.h:
17849         * gst/gstpipeline.c: (gst_pipeline_init):
17850           use gst_bus_new(), improve logging, fix docs
17851         * win32/common/config.h:
17852           update for cvs build
17853
17854 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17855
17856         * autogen.sh:
17857           up required version of automake to 1.7
17858
17859 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
17860
17861         * win32/common/libgstreamer.def:
17862           export gst_buffer_is_metadata_writable
17863
17864 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
17865
17866         * docs/gst/gstreamer-sections.txt:
17867         * gst/gstevent.h:
17868           Add gst_event_replace() (#327001)
17869
17870 2006-01-20  Wim Taymans  <wim@fluendo.com>
17871
17872         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
17873         Make it actually compile too..
17874
17875 2006-01-20  Wim Taymans  <wim@fluendo.com>
17876
17877         * gst/gstcaps.c:
17878         Clarify behaviour of _is_equal() when passing NULL parameters.
17879
17880         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
17881         (gst_pad_set_caps):
17882         Cleanups. Don't unref NULL caps.
17883         When setting the same caps, protect caps of the pad with
17884         proper lock.
17885         Use full functionality of _is_equal() when comparing caps.
17886
17887 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
17888
17889         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
17890         Don't loop infinitely if there are no buffers to present. Partially
17891         fixes #327197, but collectpads is just broken for reusing elements
17892         to do multiple encodes atm.
17893
17894 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
17895
17896         * tools/gst-inspect.c: (print_element_features):
17897         * tools/gst-xmlinspect.c: (main):
17898         URL_HANDLER is not a plugin feature we can search for in
17899         the registry.
17900
17901 2006-01-19  Edward Hervey  <edward@fluendo.com>
17902
17903         * gst/gstelement.c: (gst_element_pads_activate): 
17904         When activating, do src pads first, then sink pads.
17905         When de-activating, do sink pads first, then src pads.
17906
17907 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17908
17909         * docs/gst/gstreamer-sections.txt:
17910         Add gst_index_add_associationv to the docs
17911
17912 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17913
17914         * gst/gstevent.c:
17915           Fix docs typo
17916
17917         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
17918         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
17919           Do some refactoring. Doesn't actually change functionality,
17920           but makes landing the DRAIN event easier later.
17921
17922 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
17923
17924         * docs/pwg/advanced-scheduling.xml:
17925           Update from 0.9.x to 0.10 API and make example a bit
17926           clearer.
17927
17928 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17929
17930         * docs/gst/gstreamer-sections.txt:
17931         Add gst_buffer_(is|make)_metadata_writable methods.
17932
17933 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17934
17935         * docs/design/part-sparsestreams.txt:
17936         Update sparse streams doc, hopefully for greater clarity
17937
17938 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
17939
17940         * docs/design/part-events.txt:
17941         Remove mention of FILLER events.
17942         Add DRAIN event.
17943
17944         * docs/design/part-sparsestreams.txt:
17945         Write some things about using NEWSEGMENT to keep sparse streams
17946         flowing.
17947
17948 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
17949
17950         * gst/gstbin.c: (gst_bin_dispose):
17951           Guard gst_object_unref call against a NULL object (dispose
17952           can theoretically be called multiple times).
17953           
17954 2006-01-18  Wim Taymans  <wim@fluendo.com>
17955
17956         * gst/gstbin.c: (gst_bin_element_set_state):
17957         * gst/gstclock.c: (gst_clock_id_wait):
17958         Added some more debug info.
17959
17960         * libs/gst/base/gstadapter.c:
17961         Added more docs.
17962
17963         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17964         (gst_base_sink_do_sync), (gst_base_sink_chain):
17965         Added some comments.
17966
17967 2006-01-18  Wim Taymans  <wim@fluendo.com>
17968
17969         * tests/check/Makefile.am:
17970         * tests/check/elements/fakesink.c: (chain_async_buffer),
17971         (chain_async), (chain_async_return), (GST_START_TEST),
17972         (fakesink_suite), (main):
17973         Added fakesink test that checks prerolling and clipping
17974         behaviour.
17975
17976         * tests/check/gst/gstutils.c: (GST_START_TEST):
17977         Make check run faster so that buildbots don't timeout.
17978
17979 2006-01-18  Wim Taymans  <wim@fluendo.com>
17980
17981         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17982         (gst_base_sink_do_sync):
17983         Some cleanups.
17984         When the sink finishes blocking on the preroll buffer, it can
17985         immediatly render it instead of rendering when the next buffer
17986         arrives.
17987
17988 2006-01-18  Wim Taymans  <wim@fluendo.com>
17989
17990         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
17991         (gst_base_sink_get_property), (gst_base_sink_do_sync),
17992         (gst_base_sink_chain):
17993         Small cleanups.
17994         GST_ELEMENT_CLOCK and sync are protected with LOCK.
17995         Don't store _last_stop if the buffer is dropped.
17996
17997 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
17998
17999         * plugins/elements/gsttypefindelement.c:
18000         (gst_type_find_element_class_init):
18001           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
18002           object method handler that sets the caps on the pad and we want
18003           that to happen before we emit the signal (fixes e.g. feeding a
18004           plain text file to decodebin).
18005
18006 2006-01-18  Christian Schaller  <Christian@fluendo.com>
18007
18008         * gst/gstplugin.c: Add MPL and Proprietary as license options
18009
18010 2006-01-18  Andy Wingo  <wingo@pobox.com>
18011
18012         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
18013         symbol was exported before, it appears this was just an oversight.
18014         Fixes #168703.
18015         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
18016
18017         * gst/gstindex.c (gst_index_add_associationv): Changed int in
18018         prototype to gint. OK since this prototype was not in the header.
18019
18020 2006-01-17  Andy Wingo  <wingo@pobox.com>
18021
18022         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
18023         registry while we remove plugins.
18024
18025         * tools/gst-inspect.c (print_element_info): Don't unref the
18026         factory arg, that should be the responsibility of whatever code
18027         received the ref. Fixes a double-free when called from
18028         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
18029         (main): Unref the factory if we have one.
18030         (print_element_list): No change -- relies on the
18031         plugin_feature_list_free to free the list of features.
18032
18033 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
18034
18035         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
18036         (gst_buffer_make_metadata_writable):
18037         * gst/gstbuffer.h:
18038         * libs/gst/base/gstbasetransform.c:
18039         (gst_base_transform_prepare_output_buf):
18040         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18041         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
18042           Replace gst_buffer_(make|is)_metadata_writable patch now
18043           that the release is out.
18044
18045 2006-01-17  Andy Wingo  <wingo@pobox.com>
18046
18047         * gst/gstregistry.c: Reflow design comment. Update so as to speak
18048         in the present tense without reference to versions.
18049
18050         * gst/gstregistry.c (gst_registry_add_plugin)
18051         (gst_registry_remove_plugin, gst_registry_remove_feature)
18052         (gst_registry_find_feature, gst_registry_get_feature_list)
18053         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
18054         (gst_registry_lookup, gst_registry_scan_path)
18055         (_gst_registry_remove_cache_plugins)
18056         (gst_registry_get_feature_list_by_plugin): Add argument
18057         validation.
18058
18059 === release 0.10.2 ===
18060
18061 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
18062
18063         * configure.ac:
18064           releasing 0.10.2, "If man is five"
18065
18066 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
18067
18068         * gst/gstbuffer.c:
18069         * gst/gstbuffer.h:
18070         * libs/gst/base/gstbasetransform.c:
18071         (gst_base_transform_prepare_output_buf):
18072         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18073         * tests/check/gst/gstbuffer.c: (gst_test_suite):
18074           Back out patch until after the release.
18075
18076 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
18077
18078         * gst/gstminiobject.c:
18079           Spelling fix in docs.
18080         * ChangeLog - remove conflict indicator
18081
18082 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
18083
18084         Reviewed By: Andy Wingo
18085
18086         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
18087         (gst_buffer_make_metadata_writable):
18088         * gst/gstbuffer.h:
18089           Add gst_buffer_(is|make)_metadata_writable as analogues of
18090           gst_buffer_(is|make)_writable.
18091
18092         * libs/gst/base/gstbasetransform.c:
18093         (gst_base_transform_prepare_output_buf):
18094         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18095           Use name gst_buffer_(is|make)_metadata_writable functions.
18096
18097         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
18098           Test gst_buffer_(is|make)_metadata_writable
18099         
18100           (Closes: #324162)
18101
18102 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
18103
18104         * docs/manual/Makefile.am:
18105           don't do parallel make
18106         * configure.ac:
18107           AC_SUBST HOST_CPU
18108         * win32/common/config.h.in:
18109           add generations for HOST_CPU and GST_MAJORMINOR
18110         * win32/common/config.h:
18111           commit generated result
18112
18113 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
18114
18115         * docs/manual/appendix-integration.xml:
18116           Update GNOME integration section to use gst_init_get_option_group()
18117           instead of the old popt stuff (#322911). Also, GNOME applications
18118           should  now use gconf*sink and gconf*src instead of the old gconf
18119           helper lib we had.
18120
18121 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
18122
18123
18124         * docs/gst/gstreamer-docs.sgml:
18125         * docs/gst/gstreamer-sections.txt:
18126         * docs/libs/gstreamer-libs-sections.txt:
18127           add new API entries to the docs
18128         * libs/gst/controller/Makefile.am:
18129         * libs/gst/controller/gstcontroller.c:
18130         * libs/gst/controller/gstcontroller.h:
18131         * libs/gst/controller/gstcontrollerprivate.h:
18132         * libs/gst/controller/gsthelper.c:
18133         * libs/gst/controller/gstinterpolation.c:
18134           move private structs to private header
18135         * po/README:
18136           gstreamer-0.7 -> gstreamer-0.10
18137         * tests/check/libs/struct_i386.h:
18138           remove private structs
18139
18140 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
18141
18142         * plugins/indexers/Makefile.am:
18143           Fixes as part of #317048
18144
18145 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
18146
18147         * plugins/indexers/Makefile.am:
18148           fix #316086 - compilation when mmap is missing
18149
18150 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
18151
18152         * libs/gst/base/gstbasesink.c:
18153           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
18154           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
18155         * win32/common/config.h:
18156           added some defines GST_MAJORMINOR and HOST_CPU
18157         * win32/common/libgstbase.def:
18158         * win32/common/libgstreamer.def:
18159           added some exported functions.
18160
18161 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
18162
18163         * libs/gst/controller/gstcontroller.c:
18164         (gst_controlled_property_set_interpolation_mode),
18165         (gst_controlled_property_new):
18166         * libs/gst/controller/gstcontroller.h:
18167         * libs/gst/controller/gstinterpolation.c:
18168         (interpolate_none_get_string_value_array):
18169           make G_TYPE_STRING controlable
18170
18171 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
18172
18173         * tools/README:
18174         * tools/gst-feedback.1.in:
18175         * tools/gst-inspect.1.in:
18176         * tools/gst-launch.1.in:
18177         * tools/gst-md5sum.1.in:
18178         * tools/gst-typefind.1.in:
18179         * tools/gst-xmlinspect.1.in:
18180         * tools/gst-xmllaunch.1.in:
18181           cleanup man-pages, remove reference to gst-register, document env-vars
18182
18183 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
18184
18185         * gst/gstbuffer.c: (gst_buffer_span):
18186           gst_buffer_span should copy the timestamp of the first buffer
18187           if they were both originally overlapping subbuffers of the 
18188           same parent, using the same logic as the 'slow copy' case.
18189
18190 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
18191
18192         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
18193           Need to awaken ALL the pads when we pop a buffer, otherwise
18194           collectpads only works when there is 2 input streams.
18195
18196 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
18197
18198         * docs/random/ensonic/media-device-daemon.txt:
18199           more ideas (dbus)
18200         * gst/gstbuffer.c:
18201           fix doc example, add clarification
18202         * tools/gst-launch.1.in:
18203           add initial info about GST_PLUGIN_PATH, needs more work
18204
18205 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
18206
18207         * docs/manual/basics-bins.xml:
18208         * docs/manual/basics-elements.xml:
18209         * docs/manual/intro-basics.xml:
18210           Some more minor docs additions and updates.
18211
18212 2006-01-11  Wim Taymans  <wim@fluendo.com>
18213
18214         * docs/manual/basics-bins.xml:
18215         * docs/manual/basics-elements.xml:
18216         Some small fixes as pointed out by Ser-ver on IRC.
18217
18218 2006-01-10  Edward Hervey  <edward@fluendo.com>
18219
18220         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
18221         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
18222         the single-segment mode.
18223
18224 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
18225
18226         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
18227
18228         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
18229         (gst_base_src_perform_seek), (gst_base_src_send_event),
18230         (gst_base_src_set_property), (gst_base_src_get_property),
18231         (gst_base_src_loop), (gst_base_src_start),
18232         (gst_base_src_activate_push):
18233         * libs/gst/base/gstbasesrc.h:
18234           Name (private) union; makes Sun's Forte compiler happy (#324900).
18235
18236 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
18237
18238         * README:
18239           gst-register is gone.
18240
18241 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
18242
18243         * gst/gstvalue.c: (_gst_value_initialize):
18244           make the G_TYPE_DATE instantiation work if debug is disabled
18245
18246 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
18247
18248         * gst/gstmessage.c: (gst_message_parse_tag),
18249         (gst_message_parse_error), (gst_message_parse_warning):
18250           Don't crash when return location for error/warning debug
18251           string is NULL; add fact that return locations can be
18252           NULL to docs where appropriate.
18253
18254 2006-01-05  Wim Taymans  <wim@fluendo.com>
18255
18256         * gst/gstplugin.c: (gst_plugin_load_file):
18257         Replace strdup by g_strdup.
18258
18259 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18260
18261         * docs/pwg/advanced-types.xml:
18262           fix doc borkage
18263
18264 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18265
18266         submitted by: Abel Cheung
18267
18268         * po/LINGUAS:
18269         * po/zh_TW.po:
18270           Added Chinese (traditional) translation
18271
18272 2006-01-04  Wim Taymans  <wim@fluendo.com>
18273
18274         * docs/manual/basics-pads.xml:
18275         * docs/plugins/Makefile.am:
18276         * docs/plugins/gstreamer-plugins-docs.sgml:
18277         * docs/plugins/gstreamer-plugins-sections.txt:
18278         * docs/pwg/advanced-clock.xml:
18279         * docs/pwg/advanced-scheduling.xml:
18280         * docs/pwg/advanced-types.xml:
18281         * plugins/elements/gstfdsink.c:
18282         * plugins/elements/gstfdsrc.c:
18283         * plugins/elements/gstfdsrc.h:
18284         * plugins/elements/gstidentity.c: (gst_identity_class_init):
18285         * plugins/elements/gstidentity.h:
18286         * plugins/elements/gstqueue.h:
18287         * plugins/elements/gsttee.c:
18288         * plugins/elements/gsttee.h:
18289         * plugins/elements/gsttypefindelement.c:
18290         (gst_type_find_element_class_init):
18291         * plugins/elements/gsttypefindelement.h:
18292         Small updates to various docs.
18293         Added core plugins to docs.
18294
18295 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18296
18297         * common/gst.supp:
18298           add a suppression for liboil's uninitialized variable
18299
18300 2006-01-02  James Livingston  <jrl at ids dot org dot au>
18301
18302         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
18303
18304         * gst/gstutils.h:
18305           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
18306           macro, so that gcc doesn't complain if the -Wmissing-prototypes
18307           compiler switch is being used (#325429).
18308
18309 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
18310
18311         * gst/gstbin.c: (gst_bin_query):
18312           Disable duration query caching in bins until it gets
18313           fixed (see #324807).
18314
18315 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
18316
18317         * tools/gst-inspect.c: (print_element_properties_info):
18318           Handle properties of POINTER and BOXED type.
18319
18320 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
18321
18322         * gst/gst.c: (init_post):
18323           Init tags stuff and some other things before loading
18324           any static plugins (there may be other static plugins
18325           than just the GStreamer ones, and they may want to
18326           register their own tags or formats or whatever, and
18327           preferably without segfaulting).
18328
18329         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
18330           Print at least a warning in the debug logs if we drop a
18331           query just because we don't know how to adjust the value
18332           in the particular format.
18333
18334 2005-12-24  David Schleef  <ds@schleef.org>
18335
18336         * tools/gstreamer-completion:
18337           Replacement for gst-complete written in sh and sed.  Only
18338           completes names of features, but that's 90% of what I want
18339           it for.  Properties are not available in registry.xml.  (Maybe
18340           they should be...)
18341
18342 === release 0.10.1 ===
18343
18344 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
18345
18346         * configure.ac:
18347           releasing 0.10.1, "Nollaig chridheil"
18348
18349 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
18350
18351         * docs/faq/cvs.xml:
18352           Add missing quote, should be make ERROR_CFLAGS="".
18353
18354 2005-12-20  Wim Taymans  <wim@fluendo.com>
18355
18356         * docs/design/part-trickmodes.txt:
18357         More documentation on trickmodes.
18358
18359 2005-12-20  Edward Hervey  <edward@fluendo.com>
18360
18361         * gst/gstcaps.c: (gst_static_caps_get_type):
18362         * gst/gstcaps.h:
18363           API addition: GST_TYPE_STATIC_CAPS
18364         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
18365         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
18366         * gst/gstpadtemplate.h:
18367           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
18368         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
18369         bindings.
18370
18371 2005-12-18  Wim Taymans  <wim@fluendo.com>
18372
18373         * libs/gst/base/gstadapter.c:
18374         * libs/gst/base/gstadapter.h:
18375         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
18376         (gst_base_sink_get_position):
18377         * libs/gst/base/gstbasesink.h:
18378         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18379         (gst_base_src_default_query), (gst_base_src_default_do_seek),
18380         (gst_base_src_do_seek), (gst_base_src_perform_seek),
18381         (gst_base_src_send_event), (gst_base_src_update_length),
18382         (gst_base_src_get_range), (gst_base_src_loop),
18383         (gst_base_src_start):
18384         * libs/gst/base/gstbasesrc.h:
18385         * libs/gst/base/gstbasetransform.h:
18386         * libs/gst/base/gstcollectpads.h:
18387         * libs/gst/base/gstpushsrc.c:
18388         * libs/gst/base/gstpushsrc.h:
18389         * libs/gst/dataprotocol/dataprotocol.c:
18390         * libs/gst/dataprotocol/dataprotocol.h:
18391         * libs/gst/net/gstnetclientclock.h:
18392         * libs/gst/net/gstnettimeprovider.h:
18393         Documentation updates.
18394
18395 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
18396
18397         * docs/manual/basics-helloworld.xml:
18398           Remove superfluous closing bracket in helloworld example.
18399
18400 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
18401
18402         * tools/gst-launch.1.in:
18403           Update gst-launch man page; add a section with useful
18404           environment variables. Fixes #323882.
18405
18406 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
18407
18408         * gst/gst.c:
18409         * gst/gst_private.h:
18410           change some char* into char[]
18411
18412 2005-12-16  Wim Taymans  <wim@fluendo.com>
18413
18414         * gst/gstregistryxml.c: (load_feature):
18415         Cleanups.
18416         Don't use g_object_unref on GstObjects so that we avoid
18417         leaks on unsafe glibs.
18418
18419 2005-12-16  Wim Taymans  <wim@fluendo.com>
18420
18421         * gst/gstbin.c: (gst_bin_recalc_state):
18422         Small doc updates.
18423
18424 2005-12-16  Wim Taymans  <wim@fluendo.com>
18425
18426         * common/check.mak:
18427         Added make forever target for check.
18428
18429 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18430
18431         * gst/gst.c: (init_post):
18432           make the registry cache file HOST_CPU-dependent
18433
18434 2005-12-16  Andy Wingo  <wingo@pobox.com>
18435
18436         * plugins/elements/gstbufferstore.c
18437         (gst_buffer_store_cleared_func): Pay attention to g_list_append
18438         return value.
18439
18440         * tests/check/gst/gstobject.c
18441         (test_fake_object_name_threaded_unique): Pay attention to
18442         g_list_sort return value.
18443
18444 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
18445
18446         * tools/gst-feedback-m.m:
18447           Update for 0.9/0.10 (fixes #323870).
18448
18449 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
18450
18451         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
18452           Fix lcopy for mini objects, the mini object needs to be ref'ed.
18453           
18454         * tests/check/gst/gstminiobject.c: (my_foo_init),
18455         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
18456         (test_value_collection), (gst_mini_object_suite):
18457           Add test to ensure refcounts end up as expected when passing
18458           GstMiniObjects through g_object_get() and g_object_set().
18459
18460 2005-12-14  Julien MOUTTE  <julien@moutte.net>
18461
18462         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
18463         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
18464         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
18465         of collectpads. This version removes a lot of races without
18466         touching API/ABI. Yay !
18467
18468 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
18469
18470         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
18471           Don't allow activation of a srcpad in pull_range if it has no
18472           getrange function.
18473           Change some debug statements to be a little clearer
18474
18475         * plugins/elements/gsttypefindelement.c:
18476         (gst_type_find_handle_src_query):
18477           Check that we have a peer before executing queries thereupon.
18478
18479         * tests/examples/metadata/read-metadata.c: (message_loop):
18480           Use gst_bus_pop instead of gst_bus_poll when we just want it to
18481           immediately return us any available message with 0 timeout.
18482
18483 2005-12-12  Michael Smith  <msmith@fluendo.com>
18484
18485         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
18486           Don't unref factories after calling them.
18487         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
18488         * plugins/elements/gsttypefindelement.c:
18489         (gst_type_find_element_chain):
18490           Free lists of factories after using them. Fixing typefinding memory
18491           leaks.
18492
18493 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18494
18495         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
18496         (gst_plugin_feature_load):
18497           more meaningful debug output
18498         * configure.ac:
18499         * tests/Makefile.am:
18500         * tests/old/examples/Makefile.am:
18501           make make distcheck happy again
18502
18503 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
18504
18505         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
18506           Catch the special case where we are operating chain-based,
18507           but the downstream peer pad has no chain function. Emit a
18508           custom error message in this case instead of letting the
18509           core generate one implying that this is some sort of core
18510           bug. It's not, it just means that whatever got plugged
18511           into the pipeline downstream when we announced the type
18512           can only operate pull-based, while our source can only
18513           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
18514           Error string has not been marked for translation yet, as
18515           it probably needs some more work first.
18516
18517         (gst_type_find_element_get_best_possibility):
18518           Add helper function to find the best of all available
18519           found possibilities that qualify given the min. threshold.
18520
18521         (gst_type_find_element_handle_event):
18522           Fix the case where we get an EOS while still in TYPEFIND
18523           mode (we want to chose the best of all possible types,
18524           not just the first type that happens to be in our unsorted
18525           list of possible types).
18526
18527         (gst_type_find_element_chain):
18528           Make sure we return GST_FLOW_ERROR when we errored out
18529           in stop_typefinding(); also, don't just find the best of
18530           all found type entries and then use the last examined
18531           type entry, but actually use the best entry.
18532
18533 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
18534
18535         * tests/examples/typefind/typefind.c: (type_found):
18536         * tests/examples/xml/runxml.c: (xml_loaded):
18537           More gcc4 fixes and a mem leak fix.
18538
18539 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18540
18541         * tests/examples/xml/createxml.c: (object_saved):
18542           gcc 4 fixes
18543
18544 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18545
18546         * tests/Makefile.am:
18547           enable the examples even more
18548
18549 2005-12-12  Andy Wingo  <wingo@pobox.com>
18550
18551         * libs/gst/net/gstnettimeprovider.c
18552         (gst_net_time_provider_class_init, gst_net_time_provider_init)
18553         (gst_net_time_provider_set_property)
18554         (gst_net_time_provider_get_property):
18555         API addition: Export "active" as a GObject property.
18556         (gst_net_time_provider_thread): Only respond to time queries if
18557         the time provider is active.
18558
18559         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
18560         NetTimeProvider, preserving binary compat.
18561
18562 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18563
18564         * tests/examples/controller/audio-example.c: (main):
18565         * tests/examples/launch/Makefile.am:
18566           convert comments again
18567
18568 2005-12-12  Wim Taymans  <wim@fluendo.com>
18569
18570         * libs/gst/base/gstpushsrc.c:
18571         Fix typo.
18572
18573 2005-12-12  Wim Taymans  <wim@fluendo.com>
18574
18575         * docs/libs/gstreamer-libs-sections.txt:
18576         Added new symbol to docs.
18577
18578         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18579         (gst_base_src_init), (gst_base_src_set_format),
18580         (gst_base_src_default_query), (gst_base_src_query),
18581         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
18582         (gst_base_src_perform_seek), (gst_base_src_send_event),
18583         (gst_base_src_default_event), (gst_base_src_event_handler),
18584         (gst_base_src_set_property), (gst_base_src_get_property),
18585         (gst_base_src_wait), (gst_base_src_do_sync),
18586         (gst_base_src_update_length), (gst_base_src_get_range),
18587         (gst_base_src_check_get_range), (gst_base_src_loop),
18588         (gst_base_src_default_negotiate), (gst_base_src_start),
18589         (gst_base_src_activate_push), (gst_base_src_activate_pull),
18590         (gst_base_src_change_state):
18591         * libs/gst/base/gstbasesrc.h:
18592         Implement seeking to other formats than _BYTES.
18593         Implement more seeking methods correctly.
18594         Doc updates.
18595         Added query vmethod.
18596         Added do_seek vmethod to make life easier for subclasses
18597         when seeking.
18598         API addition: gst_base_src_set_format()
18599
18600 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18601
18602         * tests/examples/Makefile.am:
18603           added that too
18604
18605 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18606
18607         * configure.ac:
18608         * docs/random/ensonic/media-device-daemon.txt:
18609         * tests/examples/controller/.cvsignore:
18610         * tests/examples/controller/Makefile.am:
18611         * tests/examples/controller/audio-example.c: (main):
18612         * tests/examples/helloworld/.cvsignore:
18613         * tests/examples/helloworld/Makefile.am:
18614         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
18615         * tests/examples/launch/.cvsignore:
18616         * tests/examples/launch/Makefile.am:
18617         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
18618         * tests/examples/metadata/.cvsignore:
18619         * tests/examples/metadata/Makefile.am:
18620         * tests/examples/metadata/read-metadata.c: (message_loop),
18621         (make_pipeline), (print_tag), (main):
18622         * tests/examples/queue/.cvsignore:
18623         * tests/examples/queue/Makefile.am:
18624         * tests/examples/queue/queue.c: (event_loop), (main):
18625         * tests/examples/typefind/.cvsignore:
18626         * tests/examples/typefind/Makefile.am:
18627         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
18628         (main):
18629         * tests/examples/xml/.cvsignore:
18630         * tests/examples/xml/Makefile.am:
18631         * tests/examples/xml/createxml.c: (object_saved), (main):
18632         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
18633         * tests/old/examples/Makefile.am:
18634         * tests/old/examples/TODO:
18635         * tests/old/examples/controller/.cvsignore:
18636         * tests/old/examples/controller/Makefile.am:
18637         * tests/old/examples/controller/audio-example.c:
18638         * tests/old/examples/helloworld/.cvsignore:
18639         * tests/old/examples/helloworld/Makefile.am:
18640         * tests/old/examples/helloworld/helloworld.c:
18641         * tests/old/examples/launch/.cvsignore:
18642         * tests/old/examples/launch/Makefile.am:
18643         * tests/old/examples/launch/mp3parselaunch.c:
18644         * tests/old/examples/launch/mp3play:
18645         * tests/old/examples/manual/Makefile.am:
18646         * tests/old/examples/metadata/Makefile.am:
18647         * tests/old/examples/metadata/read-metadata.c:
18648         * tests/old/examples/queue/.cvsignore:
18649         * tests/old/examples/queue/Makefile.am:
18650         * tests/old/examples/queue/queue.c:
18651         * tests/old/examples/typefind/.cvsignore:
18652         * tests/old/examples/typefind/Makefile.am:
18653         * tests/old/examples/typefind/typefind.c:
18654         * tests/old/examples/xml/.cvsignore:
18655         * tests/old/examples/xml/Makefile.am:
18656         * tests/old/examples/xml/createxml.c:
18657         * tests/old/examples/xml/runxml.c:
18658           applied some simple fixing to some examples
18659           re-enabled the working examples
18660
18661 2005-12-12  Wim Taymans  <wim@fluendo.com>
18662
18663         * gst/gstsegment.c: (gst_segment_init),
18664         (gst_segment_set_last_stop), (gst_segment_set_seek),
18665         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
18666         (gst_segment_to_running_time):
18667         Added more documentation.
18668         Make sure the last_pos value is updated properly.
18669         Make sure to_stream_time and to_running_time don't
18670         operate on wrong values.
18671
18672         * tests/check/gst/gstsegment.c: (GST_START_TEST):
18673         Update check.
18674
18675 2005-12-12  Michael Smith  <msmith@fluendo.com>
18676
18677         * plugins/elements/gsttypefindelement.c: (free_entry),
18678         (gst_type_find_element_chain):
18679           Now that we're not leaking factories, make sure we keep references
18680           to them while we need them.
18681
18682 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18683
18684         * tests/check/gst/struct_i386.h:
18685           ifdef out the XML structs
18686
18687 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18688
18689         * gst/gstvalue.c: (gst_value_transform_double_fraction):
18690           floor is not needed, F is always positive; this obviates the
18691           need for adding -lm when building without libxml
18692
18693 2005-12-12  Wim Taymans  <wim@fluendo.com>
18694
18695         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18696         Take current playback rate into account when reporting
18697         the position.
18698
18699 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18700
18701         * docs/manual/mime-world.fig:
18702           Let's try this again, this time with a file that is
18703           actually in XFig format.
18704
18705 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18706
18707         * docs/manual/mime-world.fig:
18708           Add audioconvert element to diagram so that it
18709           matches the text and the code (fixes #319526).
18710
18711 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18712
18713         * docs/pwg/building-chainfn.xml:
18714         * docs/pwg/building-pads.xml:
18715         * docs/pwg/building-state.xml:
18716         * docs/pwg/other-source.xml:
18717           Update state change stuff for 0.10 (fixes #322969).
18718
18719 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18720
18721         * docs/manual/advanced-dataaccess.xml:
18722         * docs/manual/appendix-checklist.xml:
18723         * docs/manual/appendix-programs.xml:
18724         * docs/manual/basics-pads.xml:
18725         * docs/manual/highlevel-components.xml:
18726         * docs/manual/manual.xml:
18727           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
18728           add converters in front of pipelines; remove curly
18729           brackets for threads stuff, they no longer exist; use
18730           GST_TYPE_FRACTION for framerates; update some pieces of
18731           code to 0.10, but there's plenty more to do.
18732
18733         * docs/manual/appendix-porting.xml:
18734           Expand on asynchroneous state changes; s/0.9/0.10/;
18735           mention disappearance of gst_init_get_popt_table()
18736           (fixes #322916).
18737
18738 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18739
18740         * docs/faq/using.xml:
18741           Spider no longer exists, and neither does gst-launch-ext.
18742           Update examples to use decodebin and playbin and put
18743           converters in front of sinks (fixes #323726).
18744
18745 2005-12-09  Michael Smith  <msmith@fluendo.com>
18746
18747         * plugins/elements/gsttypefindelement.c: (find_peek),
18748         (gst_type_find_element_chain):
18749           Fix leaking element factories in typefinding.
18750           Fix problem where we forgot about a probable type on non-seekable
18751           files, and thus later mis-typefound it.
18752
18753 2005-12-09  Michael Smith  <msmith@fluendo.com>
18754
18755         * common/m4/gst-makecontext.m4:
18756         * common/m4/gst-mcsc.m4:
18757         * configure.ac:
18758         * win32/common/config.h:
18759         * win32/common/config.h.in:
18760           Remove makecontext stuff; not used in 0.10 and causes problems on
18761           HPUX according to bug #322441
18762
18763 2005-12-07  Wim Taymans  <wim@fluendo.com>
18764
18765         * tests/check/Makefile.am:
18766         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
18767         (main):
18768         * tests/check/libs/struct_i386.h:
18769         Added ABI check for libs
18770
18771 2005-12-07  Wim Taymans  <wim@fluendo.com>
18772
18773         * tests/check/Makefile.am:
18774         And add the struct_i386.h to dist.
18775
18776 2005-12-07  Wim Taymans  <wim@fluendo.com>
18777
18778         * tests/check/Makefile.am:
18779         * tests/check/gst/.cvsignore:
18780         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
18781         (main):
18782         * tests/check/gst/struct_i386.h:
18783         Added check for ABI compatibility.
18784
18785 2005-12-07  Wim Taymans  <wim@fluendo.com>
18786
18787         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18788         (gst_fake_src_get_times), (gst_fake_src_create):
18789         Fix broken sync option, fixes #323259
18790
18791 2005-12-07  Wim Taymans  <wim@fluendo.com>
18792
18793         * gst/gstbuffer.c:
18794         Small docs update.
18795
18796         * gst/gstcaps.c: (gst_caps_is_equal):
18797         Don't assert on NULL <--> X. Fixes #323260
18798
18799         * gst/gstminiobject.c: (gst_mini_object_replace):
18800         If we're doing atomic operations, we might just as well use
18801         the proper way to get an atomic pointer.
18802
18803         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18804         Clean up debugging.
18805
18806 2005-12-07  Michael Smith  <msmith@fluendo.com>
18807
18808         * gst/parse/grammar.y:
18809           Remove handling of { } for threads.
18810
18811 2005-12-06  David Schleef  <ds@schleef.org>
18812
18813         * libs/gst/base/gstbasetransform.c: speling fix.
18814
18815 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
18816
18817         * docs/libs/tmpl/gstdataprotocol.sgml:
18818         * docs/random/omega/testing/gstobject.c:
18819         * gst/gst.c:
18820         * gst/gstclock.c:
18821         * gst/gstelement.c:
18822         * gst/gstelementfactory.c:
18823         * gst/gsterror.c:
18824         * gst/gstevent.c:
18825         * gst/gstghostpad.c:
18826         * gst/gstinfo.c:
18827         * gst/gstpadtemplate.c:
18828         * gst/gstregistryxml.c:
18829         * gst/gsttaglist.c:
18830         * gst/gsttagsetter.c:
18831         * gst/gsttypefind.c:
18832         * gst/gstvalue.c:
18833         * libs/gst/base/gstbasesrc.c:
18834         * libs/gst/net/gstnetclientclock.c:
18835         * libs/gst/net/gstnettimeprovider.c:
18836         * plugins/elements/gstfakesrc.c:
18837         * plugins/elements/gstfdsrc.c:
18838         * plugins/elements/gstfilesrc.c:
18839         * plugins/elements/gstidentity.c:
18840         * plugins/elements/gstqueue.c:
18841         * plugins/elements/gsttypefindelement.c:
18842         * plugins/indexers/gstfileindex.c:
18843         * plugins/indexers/gstmemindex.c:
18844         * tests/check/gst/gsttag.c:
18845         * tests/old/examples/cutter/cutter.c:
18846         * tests/old/examples/mixer/mixer.c:
18847         * tests/old/examples/xml/runxml.c: (main):
18848         * tests/old/testsuite/caps/normalisation.c:
18849         * tests/old/testsuite/debug/global.c:
18850         * tests/old/testsuite/parse/parse1.c:
18851         * tools/gst-xmlinspect.c:
18852         * win32/common/dirent.c:
18853           expand tabs
18854
18855 === release 0.10.0 ===
18856
18857 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18858
18859         * configure.ac:
18860           releasing 0.10.0, "Maroilles"
18861
18862 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18863
18864         submitted by: Funda Wang <fundawang@linux.net.cn>
18865
18866         * po/LINGUAS:
18867         * po/zh_CN.po:
18868           added Chinese (Traditional) translation
18869
18870 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18871
18872         * docs/gst/gstreamer-sections.txt:
18873         * docs/libs/tmpl/gstdataprotocol.sgml:
18874         * docs/random/thomasvs/TODO:
18875         * gst/gstutils.c:
18876         * gst/gstutils.h:
18877           fix docs
18878
18879 2005-12-05  Andy Wingo  <wingo@pobox.com>
18880
18881         patch by: Wim Taymans <wim@fluendo.com>
18882
18883         * libs/gst/base/gstbasetransform.c
18884         (gst_base_transform_prepare_output_buf)
18885         (gst_base_transform_buffer_alloc):
18886         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
18887         alloc_buffer_and_set_caps.
18888
18889         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
18890         set_caps on the source pad.
18891         (gst_pad_alloc_buffer_and_set_caps): New function, does what
18892         alloc_buffer used to do. Fixes #322874.
18893
18894         * docs/gst/gstreamer-sections.txt: 
18895         * docs/design/part-negotiation.txt: 
18896         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
18897         changes.
18898
18899 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18900
18901         patch by: Sebastien Moutte
18902
18903         * win32/MANIFEST:
18904         * win32/common/config.h.in:
18905         * win32/vs6/libgstcontroller.dsp:
18906           win32 build fixes
18907
18908 2005-12-05  Wim Taymans  <wim@fluendo.com>
18909
18910         * gst/gstcaps.c: (gst_caps_is_equal):
18911         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18912         (gst_fake_src_create):
18913         Back out previous code changes, leave doc updates, file bugs 
18914         instead. 
18915
18916 2005-12-05  Wim Taymans  <wim@fluendo.com>
18917
18918         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18919         (gst_fake_src_get_times), (gst_fake_src_create):
18920         * plugins/elements/gstfakesrc.h:
18921         Fix broken sync code.
18922
18923 2005-12-05  Wim Taymans  <wim@fluendo.com>
18924
18925         * gst/gstcaps.c: (gst_caps_is_equal):
18926         Comparing NULL against !NULL yields different caps, not a
18927         failure.
18928
18929 2005-12-05  Wim Taymans  <wim@fluendo.com>
18930
18931         * gst/gstpipeline.c:
18932         Fix small typo in docs.
18933
18934 2005-12-05  Andy Wingo  <wingo@pobox.com>
18935
18936         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
18937
18938         * gst/gst.c (init_post): remove hard-coded 0.9 location for
18939         registries/plugins with a MAJORMINOR one.
18940         (plugin_desc): Rename library from gstcoreleements to
18941         staticelements. Fixes #323222.
18942
18943 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
18944
18945         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
18946           Change debug category to 'collectpads' from 'collect_pads'
18947           (fixes #323250).
18948
18949 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
18950
18951         patch by: Sebastien Moutte
18952
18953         * libs/gst/controller/gstinterpolation.c:
18954           use convert function for uint64/double
18955         * win32/vs6/libgstcontroller.dsp:
18956           link to GLib
18957
18958 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
18959
18960         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
18961         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
18962         * gst/gstutils.h:
18963         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
18964           add tests that seem to show that the guint64/gdouble conversions
18965           are correct.
18966
18967 2005-12-02  Wim Taymans  <wim@fluendo.com>
18968
18969         * gst/gstregistry.c: (gst_registry_add_path):
18970         * gst/gstregistry.h:
18971         * gst/gstregistryxml.c:
18972         Fix docs again.
18973
18974 2005-12-02  Wim Taymans  <wim@fluendo.com>
18975
18976         * gst/gstutils.c: (gst_util_uint64_scale_int64),
18977         (gst_util_uint64_scale_int):
18978         Small cleanup.
18979
18980         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18981         Add debug log line.
18982
18983         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
18984         Add FIXME.
18985
18986 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18987
18988         * win32/MANIFEST:
18989         * win32/common/config.h:
18990         * win32/vs6/gstreamer.dsw:
18991         * win32/vs6/libgstcoreelements.dsp:
18992         * win32/vs6/libgstelements.dsp:
18993           renamed core elements plugin
18994
18995 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18996
18997         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
18998         (get_candidates):
18999           do piece-wise major/minor comparison so 0.9 < 0.10
19000           also allow .exe extensions for tools
19001
19002 2005-12-02  Michael Smith  <msmith@fluendo.com>
19003
19004         * gst/gst.c:
19005           Escape a % to make gtkdoc happier; bug 322958.
19006
19007 === release 0.9.7 ===
19008
19009 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19010
19011         * configure.ac:
19012           releasing 0.9.7, "My Dog Has No Nose"
19013
19014 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19015
19016         * common/gst-xmlinspect.py:
19017         * configure.ac:
19018         * docs/libs/tmpl/gstdataprotocol.sgml:
19019         * docs/random/release:
19020         * po/af.po:
19021         * po/az.po:
19022         * po/bg.po:
19023         * po/ca.po:
19024         * po/cs.po:
19025         * po/de.po:
19026         * po/en_GB.po:
19027         * po/fr.po:
19028         * po/it.po:
19029         * po/nb.po:
19030         * po/nl.po:
19031         * po/ru.po:
19032         * po/sq.po:
19033         * po/sr.po:
19034         * po/sv.po:
19035         * po/tr.po:
19036         * po/uk.po:
19037         * po/vi.po:
19038         * win32/common/config.h:
19039         * win32/common/config.h.in:
19040         * win32/vs6/gst_inspect.dsp:
19041         * win32/vs6/gst_launch.dsp:
19042         * win32/vs6/libgstbase.dsp:
19043         * win32/vs6/libgstelements.dsp:
19044         * win32/vs6/libgstreamer.dsp:
19045         * win32/vs7/GStreamer.vcproj:
19046         * win32/vs7/gst-inspect.vcproj:
19047         * win32/vs7/gst-launch.vcproj:
19048         * win32/vs7/libgstbase.vcproj:
19049           bump GST_MAJORMINOR to 0.10
19050           reset libtool version
19051
19052 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19053
19054         * po/LINGUAS:
19055         * po/bg.po:
19056           Added Bulgarian translation by (Alexander Shopov)
19057
19058 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19059
19060         * tests/check/gst/gstplugin.c:
19061           fix test
19062
19063 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19064
19065         * common/gst-xmlinspect.py:
19066         * common/gtk-doc-plugins.mak:
19067         * configure.ac:
19068         * docs/Makefile.am:
19069         * docs/gst/Makefile.am:
19070         * docs/gst/gstreamer-docs.sgml:
19071         * docs/gst/gstreamer-sections.txt:
19072         * docs/gst/gstreamer.types:
19073         * docs/gst/gstreamer.types.in:
19074         * docs/plugins/Makefile.am:
19075         * docs/plugins/gstreamer-plugins-docs.sgml:
19076         * docs/plugins/gstreamer-plugins-sections.txt:
19077         * docs/plugins/gstreamer-plugins.types:
19078         * docs/plugins/inspect.stamp:
19079         * docs/plugins/inspect/plugin-coreelements.xml:
19080         * docs/plugins/inspect/plugin-coreindexers.xml:
19081         * docs/plugins/scanobj-build.stamp:
19082         * gstreamer.spec.in:
19083         * plugins/elements/Makefile.am:
19084         * plugins/elements/gstelements.c:
19085         * plugins/elements/gstfakesink.c:
19086         * plugins/elements/gstfakesrc.c:
19087         * plugins/elements/gstfilesink.c:
19088         * plugins/elements/gstfilesrc.c:
19089         * plugins/elements/gstqueue.c:
19090         * plugins/indexers/Makefile.am:
19091         * plugins/indexers/gstindexers.c:
19092           document core plugins in a separate document just like all the
19093           others
19094           rename these plugins to something starting with core
19095
19096 2005-12-01  Andy Wingo  <wingo@pobox.com>
19097
19098         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
19099         padding here before, but it missed the commit.
19100
19101 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19102
19103         * libs/gst/controller/gstinterpolation.c:
19104           whitespace prices have crashed, we should feel free to use some now
19105           use gst_guint64_to_gdouble
19106
19107 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19108
19109         * libs/gst/controller/gstcontroller.c:
19110         * libs/gst/controller/gsthelper.c:
19111         * libs/gst/controller/gstinterpolation.c:
19112         * libs/gst/controller/lib.c:
19113           wrap config.h include
19114
19115 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19116
19117         * docs/gst/gstreamer-sections.txt:
19118           update docs
19119
19120 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19121
19122         * plugins/elements/gstelements.c:
19123         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
19124         (gst_fd_sink__class_init), (gst_fd_sink__init),
19125         (gst_fd_sink__chain), (gst_fd_sink__set_property),
19126         (gst_fd_sink__get_property):
19127         * plugins/elements/gstfdsink.h:
19128         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
19129         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
19130         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
19131         (gst_fd_src_unlock), (gst_fd_src_set_property),
19132         (gst_fd_src_get_property), (gst_fd_src_create),
19133         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
19134         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
19135         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
19136         (gst_fd_src_uri_handler_init):
19137         * plugins/elements/gstfdsrc.h:
19138         * plugins/elements/gstqueue.c: (gst_queue_get_type):
19139           more anal cleanup
19140
19141 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19142
19143         * docs/gst/Makefile.am:
19144         * docs/gst/gstreamer.types.in:
19145         * gst/Makefile.am:
19146           fix the docs build
19147
19148 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19149
19150         * configure.ac:
19151         * gst/Makefile.am:
19152         * gst/gst.c:
19153         * gst/gstplugin.h:
19154         * gst/gstregistry.h:
19155         * tests/benchmarks/complexity.c:
19156         * tests/benchmarks/mass-elements.c:
19157         * tests/check/Makefile.am:
19158         * tools/Makefile.am:
19159         * tools/gst-inspect.c:
19160         * tools/gst-xmlinspect.c:
19161           various fixes to make
19162           --disable-nls --disable-registry --disable-loadsave
19163           --disable-parse --disable-gst-debug
19164           work and get the core .so down to 360444 bytes after stripping
19165
19166 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19167
19168         * Makefile.am:
19169         * configure.ac:
19170           descend into tests
19171         * docs/random/thomasvs/TODO:
19172         * tests/Makefile.am:
19173         * tests/README:
19174           add a README
19175
19176 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19177
19178         * win32/GStreamer.vcproj:
19179         * win32/MANIFEST:
19180         * win32/Makefile:
19181         * win32/Makefile.inspect:
19182         * win32/Makefile.launch:
19183         * win32/Makefile.register:
19184         * win32/README.txt:
19185         * win32/gst-inspect.vcproj:
19186         * win32/gst-launch.vcproj:
19187         * win32/gst-register.vcproj:
19188         * win32/gstelements.vcproj:
19189         * win32/gstgetbits.def:
19190         * win32/gstgetbits.vcproj:
19191         * win32/gstreamer-dbg.def:
19192         * win32/gstreamer.def:
19193         * win32/libgstbase.def:
19194         * win32/libgstbase.vcproj:
19195         * win32/link_oldruntime.c:
19196         * win32/mman.c:
19197         * win32/mman.h:
19198         * win32/mman.inl:
19199         * win32/msvc71.sln:
19200           move even more stuff, win32/ is nice and clean now
19201
19202 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19203
19204         * libs/gst/control/.cvsignore:
19205         * win32/MANIFEST:
19206         * win32/config.h:
19207         * win32/dirent.c:
19208         * win32/dirent.h:
19209         * win32/gstbytestream.def:
19210         * win32/gstbytestream.vcproj:
19211         * win32/gstconfig.h:
19212         * win32/gstenumtypes.c:
19213         * win32/gstenumtypes.h:
19214         * win32/gstoptimalscheduler.vcproj:
19215         * win32/gstversion.h:
19216         * win32/gtchar.h:
19217         * win32/testsuite/bins.vcproj:
19218         * win32/testsuite/bytestream.vcproj:
19219         * win32/testsuite/caps.vcproj:
19220         * win32/testsuite/cleanup.vcproj:
19221         * win32/testsuite/clock.vcproj:
19222         * win32/testsuite/debug.vcproj:
19223         * win32/testsuite/dlopen.vcproj:
19224         * win32/testsuite/dynparams.vcproj:
19225         * win32/testsuite/elements.vcproj:
19226         * win32/testsuite/ghostpads.vcproj:
19227         * win32/testsuite/indexers.vcproj:
19228         * win32/testsuite/negotiation.vcproj:
19229         * win32/testsuite/parse.vcproj:
19230         * win32/testsuite/plugin.vcproj:
19231         * win32/testsuite/refcounting.vcproj:
19232         * win32/testsuite/schedulers.vcproj:
19233         * win32/testsuite/states.vcproj:
19234         * win32/testsuite/tags.vcproj:
19235         * win32/testsuite/threads.vcproj:
19236           remove old win32 stuff that isn't maintained and should be
19237           reorganized
19238
19239 2005-11-30  Andy Wingo  <wingo@pobox.com>
19240
19241         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
19242         loading the gst.interfaces python module bork.
19243
19244         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
19245         available since GLib 2.2. Fixes #318031.
19246
19247 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19248
19249         * Makefile.am:
19250         * check/.cvsignore:
19251         * check/Makefile.am:
19252         * check/elements/.cvsignore:
19253         * check/elements/fakesrc.c:
19254         * check/elements/fdsrc.c:
19255         * check/elements/identity.c:
19256         * check/generic/.cvsignore:
19257         * check/generic/states.c:
19258         * check/gst-libs/.cvsignore:
19259         * check/gst-libs/controller.c:
19260         * check/gst-libs/gdp.c:
19261         * check/gst/.cvsignore:
19262         * check/gst/capslist.h:
19263         * check/gst/gst.c:
19264         * check/gst/gstbin.c:
19265         * check/gst/gstbuffer.c:
19266         * check/gst/gstbus.c:
19267         * check/gst/gstcaps.c:
19268         * check/gst/gstelement.c:
19269         * check/gst/gstevent.c:
19270         * check/gst/gstghostpad.c:
19271         * check/gst/gstiterator.c:
19272         * check/gst/gstmessage.c:
19273         * check/gst/gstminiobject.c:
19274         * check/gst/gstobject.c:
19275         * check/gst/gstpad.c:
19276         * check/gst/gstpipeline.c:
19277         * check/gst/gstplugin.c:
19278         * check/gst/gstsegment.c:
19279         * check/gst/gststructure.c:
19280         * check/gst/gstsystemclock.c:
19281         * check/gst/gsttag.c:
19282         * check/gst/gstutils.c:
19283         * check/gst/gstvalue.c:
19284         * check/net/.cvsignore:
19285         * check/net/gstnetclientclock.c:
19286         * check/net/gstnettimeprovider.c:
19287         * check/pipelines/.cvsignore:
19288         * check/pipelines/cleanup.c:
19289         * check/pipelines/simple_launch_lines.c:
19290         * check/pipelines/stress.c:
19291         * check/states/.cvsignore:
19292         * check/states/sinks.c:
19293         * configure.ac:
19294         * examples/Makefile.am:
19295         * examples/appreader/.cvsignore:
19296         * examples/appreader/Makefile.am:
19297         * examples/appreader/appreader.c:
19298         * examples/controller/.cvsignore:
19299         * examples/controller/Makefile.am:
19300         * examples/controller/audio-example.c:
19301         * examples/cutter/.cvsignore:
19302         * examples/cutter/Makefile.am:
19303         * examples/cutter/cutter.c:
19304         * examples/cutter/cutter.h:
19305         * examples/events/Makefile.am:
19306         * examples/events/seek.c:
19307         * examples/helloworld/.cvsignore:
19308         * examples/helloworld/Makefile.am:
19309         * examples/helloworld/helloworld.c:
19310         * examples/helloworld2/.cvsignore:
19311         * examples/helloworld2/Makefile.am:
19312         * examples/helloworld2/helloworld2.c:
19313         * examples/launch/.cvsignore:
19314         * examples/launch/Makefile.am:
19315         * examples/launch/mp3parselaunch.c:
19316         * examples/launch/mp3play:
19317         * examples/manual/.cvsignore:
19318         * examples/manual/Makefile.am:
19319         * examples/manual/extract.pl:
19320         * examples/metadata/Makefile.am:
19321         * examples/metadata/read-metadata.c:
19322         * examples/mixer/.cvsignore:
19323         * examples/mixer/Makefile.am:
19324         * examples/mixer/mixer.c:
19325         * examples/mixer/mixer.h:
19326         * examples/pingpong/.cvsignore:
19327         * examples/pingpong/Makefile.am:
19328         * examples/pingpong/pingpong.c:
19329         * examples/plugins/.cvsignore:
19330         * examples/plugins/Makefile.am:
19331         * examples/plugins/example.c:
19332         * examples/plugins/example.h:
19333         * examples/pwg/.cvsignore:
19334         * examples/pwg/Makefile.am:
19335         * examples/pwg/extract.pl:
19336         * examples/queue/.cvsignore:
19337         * examples/queue/Makefile.am:
19338         * examples/queue/queue.c:
19339         * examples/queue2/.cvsignore:
19340         * examples/queue2/Makefile.am:
19341         * examples/queue2/queue2.c:
19342         * examples/queue3/.cvsignore:
19343         * examples/queue3/Makefile.am:
19344         * examples/queue3/queue3.c:
19345         * examples/queue4/.cvsignore:
19346         * examples/queue4/Makefile.am:
19347         * examples/queue4/queue4.c:
19348         * examples/retag/.cvsignore:
19349         * examples/retag/Makefile.am:
19350         * examples/retag/retag.c:
19351         * examples/retag/transcode.c:
19352         * examples/thread/.cvsignore:
19353         * examples/thread/Makefile.am:
19354         * examples/thread/thread.c:
19355         * examples/typefind/.cvsignore:
19356         * examples/typefind/Makefile.am:
19357         * examples/typefind/typefind.c:
19358         * examples/xml/.cvsignore:
19359         * examples/xml/Makefile.am:
19360         * examples/xml/createxml.c:
19361         * examples/xml/runxml.c:
19362         * tests/Makefile.am:
19363         * tests/check/Makefile.am:
19364         * testsuite/.cvsignore:
19365         * testsuite/Makefile.am:
19366         * testsuite/Rules:
19367         * testsuite/caps/.cvsignore:
19368         * testsuite/caps/Makefile.am:
19369         * testsuite/caps/app_fixate.c:
19370         * testsuite/caps/audioscale.c:
19371         * testsuite/caps/caps.c:
19372         * testsuite/caps/caps.h:
19373         * testsuite/caps/caps_strings:
19374         * testsuite/caps/compatibility.c:
19375         * testsuite/caps/deserialize.c:
19376         * testsuite/caps/enumcaps.c:
19377         * testsuite/caps/eratosthenes.c:
19378         * testsuite/caps/filtercaps.c:
19379         * testsuite/caps/fixed.c:
19380         * testsuite/caps/fraction-convert.c:
19381         * testsuite/caps/fraction-multiply-and-zero.c:
19382         * testsuite/caps/intersect2.c:
19383         * testsuite/caps/intersection.c:
19384         * testsuite/caps/normalisation.c:
19385         * testsuite/caps/random.c:
19386         * testsuite/caps/renegotiate.c:
19387         * testsuite/caps/sets.c:
19388         * testsuite/caps/simplify.c:
19389         * testsuite/caps/string-conversions.c:
19390         * testsuite/caps/structure.c:
19391         * testsuite/caps/subtract.c:
19392         * testsuite/caps/union.c:
19393         * testsuite/debug/.cvsignore:
19394         * testsuite/debug/Makefile.am:
19395         * testsuite/debug/category.c:
19396         * testsuite/debug/commandline.c:
19397         * testsuite/debug/global.c:
19398         * testsuite/debug/output.c:
19399         * testsuite/debug/printf_extension.c:
19400         * testsuite/dlopen/.cvsignore:
19401         * testsuite/dlopen/Makefile.am:
19402         * testsuite/dlopen/dlopen_gst.c:
19403         * testsuite/dlopen/loadgst.c:
19404         * testsuite/elements/.cvsignore:
19405         * testsuite/elements/Makefile.am:
19406         * testsuite/elements/gst-inspect-check.in:
19407         * testsuite/elements/struct_i386.h:
19408         * testsuite/elements/struct_size.c:
19409         * testsuite/indexers/.cvsignore:
19410         * testsuite/indexers/Makefile.am:
19411         * testsuite/indexers/cache1.c:
19412         * testsuite/indexers/indexdump.c:
19413         * testsuite/parse/.cvsignore:
19414         * testsuite/parse/Makefile.am:
19415         * testsuite/parse/parse1.c:
19416         * testsuite/parse/parse2.c:
19417         * testsuite/plugin/.cvsignore:
19418         * testsuite/plugin/Makefile.am:
19419         * testsuite/plugin/README:
19420         * testsuite/plugin/dynamic.c:
19421         * testsuite/plugin/linked.c:
19422         * testsuite/plugin/loading.c:
19423         * testsuite/plugin/registry.c:
19424         * testsuite/plugin/static.c:
19425         * testsuite/plugin/static2.c:
19426         * testsuite/plugin/testplugin.c:
19427         * testsuite/plugin/testplugin2.c:
19428         * testsuite/plugin/testplugin2_s.c:
19429         * testsuite/plugin/testplugin_s.c:
19430         * testsuite/refcounting/.cvsignore:
19431         * testsuite/refcounting/Makefile.am:
19432         * testsuite/refcounting/bin.c:
19433         * testsuite/refcounting/element.c:
19434         * testsuite/refcounting/element_pad.c:
19435         * testsuite/refcounting/mainloop.c:
19436         * testsuite/refcounting/mem.c:
19437         * testsuite/refcounting/mem.h:
19438         * testsuite/refcounting/object.c:
19439         * testsuite/refcounting/pad.c:
19440         * testsuite/refcounting/sched.c:
19441         * testsuite/refcounting/thread.c:
19442         * testsuite/states/.cvsignore:
19443         * testsuite/states/Makefile.am:
19444         * testsuite/states/bin.c:
19445         * testsuite/states/locked.c:
19446         * testsuite/states/parent.c:
19447         * testsuite/threads/.cvsignore:
19448         * testsuite/threads/159566.c:
19449         * testsuite/threads/159852.c:
19450         * testsuite/threads/Makefile.am:
19451         * testsuite/threads/queue.c:
19452         * testsuite/threads/signals.c:
19453         * testsuite/threads/staticrec.c:
19454         * testsuite/threads/thread.c:
19455         * testsuite/threads/threadb.c:
19456         * testsuite/threads/threadc.c:
19457         * testsuite/threads/threadd.c:
19458         * testsuite/threads/threade.c:
19459         * testsuite/threads/threadf.c:
19460         * testsuite/threads/threadg.c:
19461         * testsuite/threads/threadh.c:
19462         * testsuite/threads/threadi.c:
19463           move all of these under tests
19464
19465 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19466
19467         * configure.ac:
19468         * tests/Makefile.am:
19469           fix distcheck
19470
19471 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19472
19473         * docs/gst/gstreamer-sections.txt:
19474         * tests/sched/.cvsignore:
19475         * tests/sched/Makefile.am:
19476         * tests/sched/cases/(fs-fs).xml:
19477         * tests/sched/cases/(fs-i-fs).xml:
19478         * tests/sched/cases/(fs-i-i-fs).xml:
19479         * tests/sched/cases/(fs-i-q[i-fs]).xml:
19480         * tests/sched/dynamic-pipeline.c:
19481         * tests/sched/interrupt1.c:
19482         * tests/sched/interrupt2.c:
19483         * tests/sched/interrupt3.c:
19484         * tests/sched/runtestcases:
19485         * tests/sched/runxml.c:
19486         * tests/sched/sched-stress.c:
19487         * tests/sched/sort.c:
19488         * tests/sched/testcases:
19489         * tests/sched/testcases1.tc:
19490         * tests/seeking/.cvsignore:
19491         * tests/seeking/Makefile.am:
19492         * tests/seeking/seeking1.c:
19493         * tests/threadstate/.cvsignore:
19494         * tests/threadstate/Makefile.am:
19495         * tests/threadstate/test1.c:
19496         * tests/threadstate/test2.c:
19497         * tests/threadstate/threadstate1.c:
19498         * tests/threadstate/threadstate2.c:
19499         * tests/threadstate/threadstate3.c:
19500         * tests/threadstate/threadstate4.c:
19501         * tests/threadstate/threadstate5.c:
19502           remove obsolete tests
19503         * configure.ac:
19504         * tests/bench-complexity.scm:
19505         * tests/bench-mass_elements.scm:
19506         * tests/complexity.c:
19507         * tests/complexity.gnuplot:
19508         * tests/instantiate/.cvsignore:
19509         * tests/instantiate/Makefile.am:
19510         * tests/instantiate/caps.c:
19511         * tests/mass_elements.c:
19512         * tests/network-clock-utils.scm:
19513         * tests/network-clock.scm:
19514         * tests/plot-data:
19515         First pass at cleaning up tests/ dir before moving the rest
19516         Combined with CVS surgery
19517
19518 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19519
19520         * po/POTFILES.in:
19521           queue has moved, update
19522
19523 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19524
19525         * docs/gst/gstreamer-sections.txt:
19526           remove double entries from the docs
19527         * gst/gst_private.h:
19528         * gst/gstinfo.c: (_gst_debug_init):
19529           remove the THREAD debug category
19530         * gst/Makefile.am:
19531         * gst/gstqueue.c:
19532         * gst/gstqueue.h:
19533         * docs/gst/gstreamer.types:
19534         * plugins/elements/gstqueue.c: (gst_queue_get_type),
19535         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
19536           completely move queue and fix up debugging categories
19537
19538 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19539
19540         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
19541           make initialization portable, using LL is not
19542
19543 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19544
19545         * win32/common/gstconfig.h:
19546           add large padding
19547
19548 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19549
19550         * win32/common/libgstreamer.def:
19551           rename symbols; sort base section
19552
19553 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19554
19555         * gst/gstclock.c: (do_linear_regression):
19556           remove crack non-portable handrolled DEBUG macro
19557
19558 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19559
19560         * docs/random/release:
19561           update notes
19562         * win32/common/gstenumtypes.c: (register_gst_object_flags),
19563         (gst_object_flags_get_type), (register_gst_bin_flags),
19564         (gst_bin_flags_get_type), (register_gst_buffer_flag),
19565         (gst_buffer_flag_get_type), (register_gst_bus_flags),
19566         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
19567         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
19568         (gst_caps_flags_get_type), (register_gst_clock_return),
19569         (gst_clock_return_get_type), (register_gst_clock_entry_type),
19570         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
19571         (gst_clock_flags_get_type), (register_gst_state),
19572         (gst_state_get_type), (register_gst_state_change_return),
19573         (gst_state_change_return_get_type), (register_gst_state_change),
19574         (gst_state_change_get_type), (register_gst_element_flags),
19575         (gst_element_flags_get_type), (register_gst_core_error),
19576         (gst_core_error_get_type), (register_gst_library_error),
19577         (gst_library_error_get_type), (register_gst_resource_error),
19578         (gst_resource_error_get_type), (register_gst_stream_error),
19579         (gst_stream_error_get_type), (register_gst_event_type_flags),
19580         (gst_event_type_flags_get_type), (register_gst_event_type),
19581         (gst_event_type_get_type), (register_gst_seek_type),
19582         (gst_seek_type_get_type), (register_gst_seek_flags),
19583         (gst_seek_flags_get_type), (register_gst_format),
19584         (gst_format_get_type), (register_gst_index_certainty),
19585         (gst_index_certainty_get_type), (register_gst_index_entry_type),
19586         (gst_index_entry_type_get_type),
19587         (register_gst_index_lookup_method),
19588         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
19589         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
19590         (gst_index_resolver_method_get_type), (register_gst_index_flags),
19591         (gst_index_flags_get_type), (register_gst_debug_level),
19592         (gst_debug_level_get_type), (register_gst_debug_color_flags),
19593         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
19594         (gst_iterator_result_get_type), (register_gst_iterator_item),
19595         (gst_iterator_item_get_type), (register_gst_message_type),
19596         (gst_message_type_get_type), (register_gst_mini_object_flags),
19597         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
19598         (gst_pad_link_return_get_type), (register_gst_flow_return),
19599         (gst_flow_return_get_type), (register_gst_activate_mode),
19600         (gst_activate_mode_get_type), (register_gst_pad_direction),
19601         (gst_pad_direction_get_type), (register_gst_pad_flags),
19602         (gst_pad_flags_get_type), (register_gst_pad_presence),
19603         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
19604         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
19605         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
19606         (gst_plugin_error_get_type), (register_gst_plugin_flags),
19607         (gst_plugin_flags_get_type), (register_gst_rank),
19608         (gst_rank_get_type), (register_gst_query_type),
19609         (gst_query_type_get_type), (register_gst_tag_merge_mode),
19610         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
19611         (gst_tag_flag_get_type), (register_gst_task_state),
19612         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
19613         (gst_alloc_trace_flags_get_type),
19614         (register_gst_type_find_probability),
19615         (gst_type_find_probability_get_type), (register_gst_uri_type),
19616         (gst_uri_type_get_type), (register_gst_parse_error),
19617         (gst_parse_error_get_type):
19618         * win32/common/gstenumtypes.h:
19619         * win32/common/gstversion.h:
19620           update visual studio generated files
19621
19622 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19623
19624         * win32/vs6/libgstbase.dsp:
19625         * win32/vs6/libgstelements.dsp:
19626           update project files for new locations
19627
19628 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19629
19630         * Makefile.am:
19631           remove some files
19632         * README:
19633           reinstate and update
19634         * DEVEL:
19635         * REQUIREMENTS:
19636           removed
19637         * LICENSE:
19638         * docs/random/LICENSE:
19639           moved to random
19640
19641 2005-11-30  Edward Hervey  <edward@fluendo.com>
19642
19643         * gst/gsttypefind.c: (gst_type_find_register):
19644         * gst/gsttypefind.h:
19645         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
19646         (gst_type_find_factory_dispose):
19647         * gst/gsttypefindfactory.h:
19648         Fix memory leak in GstTypeFindFactory.
19649
19650 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19651
19652         * gst/gst.c:
19653         * plugins/elements/Makefile.am:
19654         * plugins/elements/gstelements.c:
19655         * plugins/elements/gstqueue.c:
19656           move queue from core to the elements plugin
19657
19658 2005-11-29  Andy Wingo  <wingo@pobox.com>
19659
19660         * libs/gst/base/gstbasetransform.h: 
19661         * libs/gst/base/gstbasesrc.h: 
19662         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
19663
19664         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
19665         of pointers by which to pad very extensible base classes (like the
19666         ones in libs/gst/base).
19667
19668 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19669
19670         * docs/gst/gstreamer-docs.sgml:
19671         * docs/gst/gstreamer-sections.txt:
19672         * docs/libs/gstreamer-libs-docs.sgml:
19673         * docs/libs/gstreamer-libs-sections.txt:
19674           moving documentation from core to lib
19675
19676 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19677
19678         * check/Makefile.am:
19679         * configure.ac:
19680         * docs/gst/Makefile.am:
19681         * gst/Makefile.am:
19682         * gst/base/.cvsignore:
19683         * gst/base/Makefile.am:
19684         * gst/base/README:
19685         * gst/base/gstadapter.c:
19686         * gst/base/gstadapter.h:
19687         * gst/base/gstbasesink.c:
19688         * gst/base/gstbasesink.h:
19689         * gst/base/gstbasesrc.c:
19690         * gst/base/gstbasesrc.h:
19691         * gst/base/gstbasetransform.c:
19692         * gst/base/gstbasetransform.h:
19693         * gst/base/gstcollectpads.c:
19694         * gst/base/gstcollectpads.h:
19695         * gst/base/gstpushsrc.c:
19696         * gst/base/gstpushsrc.h:
19697         * gst/base/gsttypefindhelper.c:
19698         * gst/base/gsttypefindhelper.h:
19699         * gst/check/Makefile.am:
19700         * gst/check/gstcheck.c:
19701         * gst/check/gstcheck.h:
19702         * gst/net/Makefile.am:
19703         * gst/net/gstnet.h:
19704         * gst/net/gstnetclientclock.c:
19705         * gst/net/gstnetclientclock.h:
19706         * gst/net/gstnettimepacket.c:
19707         * gst/net/gstnettimepacket.h:
19708         * gst/net/gstnettimeprovider.c:
19709         * gst/net/gstnettimeprovider.h:
19710         * libs/gst/Makefile.am:
19711         * libs/gst/base/Makefile.am:
19712         * libs/gst/base/gstbasetransform.c:
19713         * libs/gst/check/Makefile.am:
19714         * plugins/elements/Makefile.am:
19715         * po/POTFILES.in:
19716           CVS surgery + support to move base, check, and net out of gst
19717           and into libs/gst
19718
19719 2005-11-29  Andy Wingo  <wingo@pobox.com>
19720
19721         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
19722
19723         * gst/gststructure.h (struct _GstStructure): Only one pointer of
19724         padding.
19725
19726         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
19727
19728         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
19729
19730         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
19731
19732         * gst/gstobject.h: (struct _GstObject): Only one pointer of
19733         padding; reduces object size by about 30%. We don't expect
19734         anything else to go into gstobject.
19735
19736         * gst/gstminiobject.h (struct _GstMiniObject)
19737         (struct _GstMiniObjectClass): Only one pointer of padding; the
19738         payload is only a pointer and two ints anyway. For the class there
19739         are only two methods as well.
19740         
19741         * gst/gstelement.h (struct _GstElementClass): Removed
19742         the state_changed signal callback, it is not used.
19743
19744 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19745
19746         * docs/gst/gstreamer.types:
19747           fix includes, though they are a little dinky
19748
19749 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19750
19751         * check/Makefile.am:
19752           look in the right place for elements, a lot more chance of
19753           success
19754         * gst/Makefile.am:
19755           remove indexers and elements subdirs
19756         * plugins/Makefile.am:
19757           make indexers conditional
19758
19759 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19760
19761         * Makefile.am:
19762         * configure.ac:
19763         * plugins/elements/Makefile.am:
19764         * plugins/elements/gstcapsfilter.c:
19765         * plugins/elements/gstfilesink.c:
19766         * plugins/elements/gstfilesrc.c:
19767         * plugins/elements/gstidentity.c:
19768         * plugins/indexers/Makefile.am:
19769           do CVS surgery and related build fixery to move elements
19770           and indexers in a new gstreamer/plugins directory, out of the
19771           gst/ directory
19772
19773 2005-11-29  Andy Wingo  <wingo@pobox.com>
19774
19775         * check/Makefile.am:
19776         * pkgconfig/gstreamer-net-uninstalled.pc.in:
19777         * pkgconfig/gstreamer-net.pc.in:
19778         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
19779         #322257.
19780
19781 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19782
19783         * tools/Makefile.am:
19784         * tools/gst-complete.1.in:
19785         * tools/gst-complete.c:
19786         * tools/gst-compprep.1.in:
19787         * tools/gst-compprep.c:
19788           removing -compprep and -complete
19789
19790 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19791
19792         * gst/gstevent.c: (gst_event_new_new_segment),
19793         (gst_event_parse_new_segment):
19794         * gst/gstevent.h:
19795           fix #320529 - clean up new_segment API and structure.
19796           Let's hope everyone was using the methods, and not the structure.
19797
19798 2005-11-29  Edward Hervey  <edward@fluendo.com>
19799
19800         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19801         (gst_base_sink_event), (gst_base_sink_do_sync),
19802         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
19803         Properly handle non GST_FORMAT_TIME segment
19804         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
19805         Properly handle non GST_FORMAT_TIME segment
19806         * gst/gstsegment.c:
19807         This function is valid if the accumulator is 0 and the format
19808         is different from the requested format.
19809         
19810 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
19811
19812         * docs/gst/gstreamer-sections.txt:
19813         Add gst_query_new_seeking and gst_query_parse_seeking to the
19814         docs.
19815
19816 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
19817
19818         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
19819           Treat a pad alloc with new caps the same as if we were not
19820           negotiated, in order to allow a changing upstream output
19821           to produce a new format of data.
19822
19823 2005-11-29  Edward Hervey  <edward@fluendo.com>
19824
19825         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
19826         (gst_base_transform_event), (gst_base_transform_eventfunc):
19827         The event virtual method is now properly implemented, with a default
19828         handler
19829         Sub classes should call the parent_class event method. They should
19830         return FALSE if they had a problem handling the given event, or don't
19831         want GstBaseTransform to send that even downstream
19832         * gst/elements/gstidentity.c: (gst_identity_class_init),
19833         (gst_identity_init), (gst_identity_event),
19834         (gst_identity_transform_ip), (gst_identity_set_property),
19835         (gst_identity_get_property):
19836         * gst/elements/gstidentity.h:
19837         Added the single-segment boolean property.
19838         If set to TRUE, it will output a single segment of data, starting from
19839         0, will eat up all incoming newsegment, and modify the timestamp of the
19840         buffers accordingly
19841
19842 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
19843
19844         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
19845           Don't ref NULL target pad (#322751). Improve docs.
19846
19847 2005-11-29  Michael Smith  <msmith@fluendo.com>
19848
19849         * gst/gstregistryxml.c: (load_plugin):
19850           Don't crash if we failed to load a feature from a plugin. 
19851
19852 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19853
19854         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
19855         (GST_START_TEST):
19856           use more check API and less GLib API
19857
19858 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19859
19860         * Makefile.am:
19861           don't run checks if we don't have check
19862         * common/check.mak:
19863           remove the registry when running make torture
19864         * docs/gst/gstreamer-sections.txt:
19865           remove second multiply
19866         * gst/gstqueue.c: (gst_queue_loop):
19867           fix a compile warning when disabling debug
19868
19869 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
19870
19871         * gst/gstinfo.h:
19872         Hey! Let's print the pad name if the pointer != NULL instead
19873         of when it == NULL :-)
19874
19875 2005-11-28  Wim Taymans  <wim@fluendo.com>
19876
19877         * check/gst/gstutils.c: (GST_START_TEST):
19878         Updated check, add some scaling accuracy checking code.
19879
19880         * gst/gstutils.c: (gst_util_div128_64),
19881         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
19882         (gst_util_uint64_scale_int):
19883         Fix 6 times faster division code. Optimize for common 
19884         1/1 and less common X/1 cases.
19885
19886 2005-11-28  Wim Taymans  <wim@fluendo.com>
19887
19888         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19889         More checks.
19890
19891         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
19892         (do_linear_regression), (gst_clock_add_observation):
19893         Cleanups.
19894         Release lock when the clock cannot be slaved.
19895         Catch the case where the regression returned an invalid denominator.
19896
19897         * gst/gstutils.c: (gst_util_div128_64_iterate),
19898         (gst_util_div128_64), (gst_util_uint64_scale_int64),
19899         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
19900         Add protentially more performant non-iterative 128/64 divide function
19901         that unfortunatly does not work yet.
19902         Shortcut the trivial 0/X = 0 case.
19903         Remove the warnings on overflow.
19904
19905 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19906
19907         * gst/gstplugin.c: (gst_plugin_register_func):
19908           everything causing a plugin not to load should be at least a WARNING
19909
19910 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
19911
19912         * docs/random/ensonic/dparams.txt:
19913           some TODOs for the next dev cycle
19914         * libs/gst/controller/gstcontroller.c:
19915         (gst_controlled_property_set_interpolation_mode),
19916         (gst_controlled_property_new):
19917         * libs/gst/controller/gstcontroller.h:
19918           use base type to assign acccessor functions
19919
19920 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
19921
19922         * check/Makefile.am:
19923         Oops, that should have been top_srcdir
19924
19925 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
19926
19927         * check/Makefile.am:
19928         * check/elements/fdsrc.c: (GST_START_TEST):
19929         Use a cmdline define to specify the location of a file to use for
19930         testing, to avoid breaking distcheck.
19931
19932 2005-11-28  Andy Wingo  <wingo@pobox.com>
19933
19934         * gst/gstpad.c (fixate_value): Use array functions for arrays.
19935
19936 2005-11-28  Edward Hervey  <edward@fluendo.com>
19937
19938         * tools/gst-launch.c: (main):
19939         Clarify the output strings, makes it easier to translate.
19940         Fixes #322626
19941
19942 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19943
19944         * gst/Makefile.am:
19945           don't try and build net if we don't even have <sys/socket.h>
19946
19947 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
19948
19949         * check/Makefile.am:
19950         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
19951         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
19952           Add tests for fdsrc seekability
19953
19954         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
19955         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
19956         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
19957         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
19958         * gst/elements/gstfdsrc.h:
19959           fdsrc should not be a 'live' source.
19960           Implement seeking on seekable fd's.
19961
19962         * gst/gstquery.c: (gst_query_new_seeking),
19963         (gst_query_parse_seeking):
19964         * gst/gstquery.h:
19965           Implement SEEKING query functions: 
19966             *_new_seeking and *_parse_seeking
19967
19968 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
19969
19970         * gst/gstelement.c: (gst_element_dispose):
19971           don't loop forever
19972
19973         * gst/gstiterator.c:
19974         * gst/gststructure.c:
19975           doc fixes
19976
19977         * libs/gst/controller/gstcontroller.c:
19978         (gst_controlled_property_set_interpolation_mode):
19979         * libs/gst/controller/gstcontroller.h:
19980         * libs/gst/controller/gstinterpolation.c:
19981         (interpolate_none_get_enum_value_array):
19982           support controlling enums
19983
19984 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
19985
19986         * gst/gstvalue.c:
19987           Improve documentation for gst_value_union().
19988
19989         * gst/gstvalue.h:
19990           Change return value for union, intersect and subtract functions
19991           from gint to gboolean.
19992
19993 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
19994
19995         * gst/gstvalue.c: (gst_value_serialize_any_list),
19996         (gst_value_transform_any_list_string),
19997         (gst_value_deserialize_list), (gst_value_deserialize_array),
19998         (gst_value_set_int_range), (gst_value_deserialize_int_range),
19999         (gst_value_set_double_range), (gst_value_deserialize_double_range),
20000         (gst_value_set_fraction_range_full),
20001         (gst_value_deserialize_fraction_range),
20002         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
20003         (gst_value_deserialize_boolean),
20004         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
20005         (gst_value_serialize_float), (gst_value_deserialize_float),
20006         (gst_string_wrap), (gst_value_deserialize_string),
20007         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
20008         (gst_value_union_int_range_int_range),
20009         (gst_value_intersect_int_range_int_range),
20010         (gst_value_intersect_double_range_double_range),
20011         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
20012         (gst_value_subtract_int_range_int_range),
20013         (gst_value_subtract_double_double_range),
20014         (gst_value_subtract_double_range_double_range),
20015         (gst_value_deserialize_fraction):
20016         * gst/gstvalue.h:
20017           Use gint, gdouble and gchar in our API instead of int, double and
20018           char (and make usage in gstvalue.c more consistent).
20019
20020 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
20021
20022         * check/Makefile.am:
20023         * libs/gst/controller/Makefile.am:
20024         * libs/gst/dataprotocol/Makefile.am:
20025           fix up Makefile.am and remove GST_ENABLE_NEW
20026
20027 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
20028
20029         * configure.ac:
20030         * gst/Makefile.am:
20031         * gst/base/Makefile.am:
20032         * gst/check/Makefile.am:
20033         * gst/elements/Makefile.am:
20034         * gst/net/Makefile.am:
20035           update LDFLAGS use some more
20036
20037 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
20038
20039         * common/m4/gst-doc.m4:
20040           Fixes #312589
20041
20042 2005-11-26  Edward Hervey  <edward@fluendo.com>
20043
20044         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
20045         This shouldn't issue a g_warning since it returns NULL if it
20046         couldn't find the plugin, and all functions using this behave
20047         properly on a NULL return. Switching to a GST_WARNING.
20048
20049 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
20050
20051         * gst/gstbin.c: (gst_bin_handle_message_func):
20052         Don't leak clock messages.
20053
20054 2005-11-25  Wim Taymans  <wim@fluendo.com>
20055
20056         * gst/gstutils.c: (gst_util_uint64_scale_int64),
20057         (gst_util_uint64_scale_int):
20058         Optimisations, remove unneeded vars.
20059
20060 2005-11-25  Wim Taymans  <wim@fluendo.com>
20061
20062         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
20063         Added more checks for the high precision uint64 cases.
20064
20065         * gst/gstutils.c: (gst_util_uint64_scale_int64),
20066         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
20067         Implement high precision (guint64 * guint64) / guint64.
20068
20069 2005-11-24  Wim Taymans  <wim@fluendo.com>
20070
20071         * gst/base/gstbasesrc.c: (gst_base_src_query):
20072         Fix wrong percentage query.
20073
20074         * gst/gstutils.c: (gst_util_uint64_scale),
20075         (gst_util_uint64_scale_int):
20076         Add some more common cases that can be handled 
20077         efficiently to _scale.
20078
20079 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20080
20081         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
20082         (gst_mini_object_suite):
20083           don't use check calls from threads; check probably isn't
20084           threadsafe and using a lock to make it threadsafe would
20085           defeat the purpose of this check
20086         * gst/check/gstcheck.c:
20087         * gst/check/gstcheck.h:
20088           use GST_DEBUG some more
20089
20090 2005-11-24  Wim Taymans  <wim@fluendo.com>
20091
20092         * gst/gstutils.c: (gst_util_uint64_scale),
20093         (gst_util_uint64_scale_int):
20094         Chain trivial case to _scale_int.
20095
20096 2005-11-24  Wim Taymans  <wim@fluendo.com>
20097
20098         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
20099         Added test for scaling.
20100
20101         * gst/gstclock.h:
20102         Small doc fix.
20103
20104         * gst/gstutils.c: (gst_util_uint64_scale_int):
20105         Implemented high precision scaling code.
20106
20107 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
20108
20109         * gst/gstinfo.h:
20110           do not crash on pad==NULL
20111
20112 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20113
20114         Patch by: Stefan Kost
20115
20116         * common/gtk-doc.mak:
20117         * docs/gst/Makefile.am:
20118         * docs/libs/Makefile.am:
20119           Fix distcheck issues for the libraries docs build
20120           Closes #319599.
20121
20122 2005-11-24  Michael Smith <msmith@fluendo.com>
20123
20124         * docs/manual/basics-helloworld.xml:
20125           Fix bug #315027: memory leak in example code in docs.
20126
20127 2005-11-24  Michael Smith <msmith@fluendo.com>
20128
20129         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20130           Unlock the PREROLL_LOCK in a failure case.
20131
20132 2005-11-24  Wim Taymans  <wim@fluendo.com>
20133
20134         * docs/gst/gstreamer-sections.txt:
20135         * gst/base/gstadapter.h:
20136         * gst/base/gstbasesink.h:
20137         * gst/base/gstbasesrc.h:
20138         * gst/base/gstbasetransform.h:
20139         * gst/base/gstpushsrc.h:
20140         * gst/elements/gstfakesink.h:
20141         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
20142         * gst/elements/gstfakesrc.h:
20143         * gst/elements/gstfilesink.h:
20144         * gst/elements/gstfilesrc.h:
20145         * gst/gst.c:
20146         * gst/gstbin.c:
20147         * gst/gstbuffer.c: (_gst_buffer_copy):
20148         * gst/gstbus.h:
20149         * gst/gstcaps.c:
20150         * gst/gstchildproxy.c:
20151         * gst/gstclock.c:
20152         * gst/gstelement.c:
20153         * gst/gstelementfactory.c:
20154         * gst/gstelementfactory.h:
20155         * gst/gstevent.c:
20156         * gst/gstghostpad.h:
20157         * gst/gstindex.h:
20158         * gst/gstinterface.h:
20159         * gst/gstminiobject.c:
20160         * gst/gstminiobject.h:
20161         * gst/gstpad.c:
20162         * gst/gstpad.h:
20163         * gst/gstpadtemplate.h:
20164         * gst/gstpipeline.h:
20165         * gst/gstpluginfeature.h:
20166         * gst/gstquery.h:
20167         * gst/gstqueue.h:
20168         * gst/gsttaglist.c:
20169         * gst/gsttaglist.h:
20170         * gst/gsttagsetter.c:
20171         * gst/gsttagsetter.h:
20172         * gst/gsttrace.c:
20173         * gst/gsttrace.h:
20174         * gst/gsttypefind.h:
20175         * gst/gsturi.h:
20176         * gst/gstvalue.c:
20177         * gst/net/gstnetclientclock.c:
20178         * gst/net/gstnetclientclock.h:
20179         * gst/net/gstnettimepacket.c:
20180         * gst/net/gstnettimeprovider.c:
20181         * gst/net/gstnettimeprovider.h:
20182         Doc fixes.
20183
20184 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20185
20186         * configure.ac: back to HEAD
20187
20188 === release 0.9.6 ===
20189
20190 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
20191
20192         * configure.ac:
20193           releasing 0.9.6, "Always On Time"
20194
20195 2005-11-23  Wim Taymans  <wim@fluendo.com>
20196
20197         * docs/gst/gstreamer-sections.txt:
20198         * gst/glib-compat.c:
20199         * gst/gsttagsetter.c:
20200         * gst/gstvalue.c:
20201         * gst/net/gstnetclientclock.c:
20202         * gst/net/gstnettimepacket.h:
20203         Doc updates.
20204
20205 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20206
20207         * docs/faq/using.xml:
20208         * docs/libs/tmpl/gstcontrol.sgml:
20209         * docs/manual/advanced-dparams.xml:
20210         * docs/manual/appendix-checklist.xml:
20211         * docs/manual/basics-elements.xml:
20212         * docs/pwg/other-source.xml:
20213         * docs/random/moving-plugins:
20214         * gst/gstpad.c:
20215         * tools/gst-launch.1.in:
20216           remove mentions of sinesrc
20217
20218 2005-11-23  Michael Smith <msmith@fluendo.com>
20219
20220         * docs/gst/gstreamer-sections.txt:
20221           Update for new API and API changes.
20222         * gst/gstobject.h:
20223           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
20224         * gst/gstvalue.c:
20225           Documentation typo fix.
20226         * gst/net/gstnettimepacket.c:
20227           Documentation fixes for arguments.
20228
20229 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
20230
20231         * gst/gststructure.c: (gst_structure_get_fraction),
20232         (gst_structure_parse_value),
20233         (gst_structure_fixate_field_nearest_fraction):
20234         * gst/gststructure.h:
20235         * gst/gstutils.c: (gst_util_uint64_scale_int):
20236         * gst/gstutils.h:
20237         * scripts/update-funcnames:
20238         API Changes. 
20239         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
20240         Make gst_structure_fixate_field_nearest_fraction take a numerator
20241         and denominator argument instead of a GValue
20242         add gst_structure_get_fraction helper function.
20243
20244 2005-11-23  Wim Taymans  <wim@fluendo.com>
20245
20246         * docs/design/part-TODO.txt:
20247         Update TODO.
20248
20249         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
20250         * gst/net/gstnetclientclock.h:
20251         Use parent fields for timeout and window_size.
20252
20253 2005-11-23  Andy Wingo  <wingo@pobox.com>
20254
20255         * check/net/gstnetclientclock.c (test_functioning): Adjust to
20256         rate_num/rate_denom change.
20257
20258         * gst/net/gstnetclientclock.c
20259         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
20260         OBJECT_LOCK. Don't call add_observation with the lock.
20261
20262         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
20263         fraction.
20264         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
20265         rate fraction.
20266         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
20267         deal with rate as a fraction whose numerator and denominator are
20268         GstClockTime values.
20269         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
20270         master; the other fields are protected by the SLAVE_LOCK.
20271         (do_linear_regression): Note that this must be called with the
20272         SLAVE_LOCK.
20273         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
20274         OBJECT_LOCK. Call set_calibration instead of touching the
20275         variables directly.
20276         (gst_clock_set_property, gst_clock_get_property): Protect
20277         master/slave parameters with the SLAVE_LOCK.
20278
20279         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
20280         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
20281         note that all of the instance variables that add_observation and
20282         the set_master functions use are protected by that lock and not
20283         the OBJECT_LOCK.
20284         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
20285
20286         * gst/gstclock.c (gst_clock_add_observation): No longer requires
20287         the caller to take the object lock.
20288
20289 2005-11-23  Wim Taymans  <wim@fluendo.com>
20290
20291         * gst/gsterror.c: (_gst_core_errors_init):
20292         * gst/gsterror.h:
20293         Add error for clock stuff.
20294
20295         * gst/gstpipeline.c: (gst_pipeline_change_state),
20296         (gst_pipeline_set_clock):
20297         Post clock error when clock cannot be used in a pipeline.
20298
20299 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
20300
20301         * docs/gst/gstreamer-sections.txt:
20302           make two symbols from gstinfo private for the docs
20303         * gst/base/gstcollectpads.h:
20304         * gst/gstutils.c:
20305           fix doc typos, update docs
20306
20307 2005-11-22  Wim Taymans  <wim@fluendo.com>
20308
20309         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
20310         (gst_base_sink_wait), (gst_base_sink_do_sync),
20311         (gst_base_sink_handle_event):
20312         * gst/base/gstbasesink.h:
20313         No need to store the clock, the parent element class already
20314         has it.
20315
20316         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
20317         Updates for clock_set returning a gboolean
20318
20319         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
20320         (gst_clock_id_wait_async), (gst_clock_class_init),
20321         (gst_clock_init), (gst_clock_finalize),
20322         (gst_clock_get_internal_time), (gst_clock_get_time),
20323         (gst_clock_slave_callback), (gst_clock_set_master),
20324         (gst_clock_get_master), (do_linear_regression),
20325         (gst_clock_add_observation), (gst_clock_set_property),
20326         (gst_clock_get_property):
20327         * gst/gstclock.h:
20328         Implement master/slave. When setting a clock as a slave, a
20329         periodic timeout is scheduled to sample master and slave times.
20330         Then the slave clock is recalibrated to match offset and rate
20331         of the master clock.
20332         Update logging a bit.
20333         Add flag so that a clock can state that is cannot be slaved to
20334         another clock.
20335
20336         * gst/gstelement.c: (gst_element_set_clock):
20337         * gst/gstelement.h:
20338         The set clock returns a gboolean for when an element cannot
20339         deal with the selected clock in the pipeline. 
20340
20341         * gst/gstpipeline.c: (gst_pipeline_change_state),
20342         (gst_pipeline_set_clock):
20343         * gst/gstpipeline.h:
20344         Handle the case where the selected clock cannot be set on
20345         the pipeline.
20346
20347         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
20348         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
20349         (gst_net_client_clock_set_property),
20350         (gst_net_client_clock_get_property),
20351         (gst_net_client_clock_observe_times):
20352         * gst/net/gstnetclientclock.h:
20353         Use regression code in GstClock parent, remove duplicated
20354         functionality.
20355
20356 2005-11-22  Michael Smith <msmith@fluendo.com>
20357
20358         * gst/gstutils.c: (gst_util_clock_time_scale):
20359         * gst/gstutils.h:
20360         * docs/gst/gstreamer-sections.txt:
20361           Rename method to have extra underscore.
20362
20363 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20364
20365         * gst/elements/Makefile.am:
20366         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
20367         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
20368         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
20369         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
20370         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
20371         * gst/elements/gstfakesrc.h:
20372         * gst/gstqueue.c: (queue_leaky_get_type):
20373           correctly fix GEnumValues so that nick is the short lowercase
20374           dashed tag
20375         * tools/gst-inspect.c: (print_element_properties_info):
20376           also show the nick, since it's useful to use from parse_launch
20377           syntax
20378           Fixes #322139
20379
20380 2005-11-22  Michael Smith <msmith@fluendo.com>
20381
20382         * gst/gstutils.c: (gst_util_clocktime_scale):
20383         * gst/gstutils.h:
20384         * docs/gst/gstreamer-sections.txt:
20385           Add util method for scaling a clocktime by a fraction. Useful 
20386           implementation is left as an exercise for the reader.
20387
20388 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20389
20390         * gst/gstvalue.c: (gst_value_collect_fraction_range):
20391         If needed, allocate storage in the destination value during
20392         collection.
20393
20394 2005-11-22  Edward Hervey  <edward@fluendo.com>
20395
20396         * docs/gst/gstreamer-sections.txt:
20397         * gst/Makefile.am:
20398         * gst/gst.h:
20399         * gst/gsturitype.c:
20400         * gst/gsturitype.h:
20401         * gst/gstutils.c: (gst_util_set_object_arg):
20402         * tools/gst-compprep.c: (main):
20403         * tools/gst-inspect.c: (print_element_properties_info):
20404         Removed GstURI, closes bug #321061
20405
20406 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20407
20408         * check/gst/gststructure.c: (GST_START_TEST):
20409         * gst/gststructure.c: (gst_structure_parse_value):
20410           Oops, broke automatic string type parsing.
20411           Add a test to catch it in future.
20412
20413 2005-11-22  Andy Wingo  <wingo@pobox.com>
20414
20415         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
20416         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
20417         Actually rename the function implementations. Grr.
20418
20419 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20420
20421         * check/gst/capslist.h:
20422           Comment test cases
20423         * check/gst/gststructure.c: (GST_START_TEST),
20424         (gst_structure_suite):
20425           Test automatic value type detection in gst_structure_from_string.
20426         * gst/gststructure.c: (gst_structure_parse_value):
20427           Add fraction as a type we try and guess automatically in
20428           caps/structure strings.
20429
20430 2005-11-22  Andy Wingo  <wingo@pobox.com>
20431
20432         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
20433
20434         * gst/gsttagsetter.h:
20435         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
20436         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
20437         (gst_tag_setter_add_tag_valist)
20438         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
20439         _add_values, _add_valist, and _add_valist_values. Since this is an
20440         interface the function suffixes should be more explicit so
20441         language binding don't end up with element.add_valist ->
20442         gst_tag_setter_add_valist, for example. Fixes #322069.
20443
20444 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20445
20446         * check/gst/gstcaps.c: (GST_START_TEST):
20447           Extend caps string tests to check that a caps to string
20448           conversion is reversible and produces the same caps.
20449
20450         * gst/gststructure.c: (gst_structure_value_get_generic_type):
20451           Output "fraction" as the generic type fraction range, so caps
20452           serialisation and deserialisation works.
20453         * check/gst/capslist.h:
20454         * gst/gstvalue.c: (gst_value_deserialize_fraction):
20455           Support 'MIN' and 'MAX' for deserialising fractions.
20456
20457 2005-11-22  Andy Wingo  <wingo@pobox.com>
20458
20459         * gst/gstevent.h (gst_event_new_new_segment)
20460         (gst_event_parse_new_segment, gst_event_new_buffer_size)
20461         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
20462         Renamed from *_newsegment, *_buffersize, *_notarget.
20463
20464         * scripts/update-funcnames: New script, performs the changes
20465         listed above.
20466
20467 2005-11-22  Wim Taymans  <wim@fluendo.com>
20468
20469         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20470         Make sure the GstFlowReturn is returned.
20471
20472         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
20473         (gst_bus_add_signal_watch):
20474         * gst/gstbus.h:
20475         add gst_bus_add_signal_watch_full.
20476
20477         * gst/gstplugin.c: (gst_plugin_load_file):
20478         Small style cleanup.
20479
20480 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20481
20482         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
20483           Block the fakesrc srcpad when we send an event, to avoid
20484           contention on the stream_lock causing random test failures.
20485
20486 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20487
20488         * check/gst/gstvalue.c: (GST_START_TEST):
20489         * gst/gstvalue.c: (gst_value_fraction_subtract):
20490           Fix subtraction.
20491
20492 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
20493
20494         * gst/gst.h:
20495           include "gstchildproxy.h"
20496         * gst/gstchildproxy.h:
20497         * libs/gst/controller/gstcontroller.h:
20498           use G_GNUC_NULL_TERMINATED
20499
20500 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20501
20502         * check/gst/capslist.h:
20503         * check/gst/gstcaps.c: (GST_START_TEST):
20504         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20505         * gst/gststructure.c: (gst_structure_parse_range),
20506         (gst_structure_fixate_field_nearest_fraction):
20507         * gst/gststructure.h:
20508         * gst/gstvalue.c: (gst_value_init_fraction_range),
20509         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
20510         (gst_value_collect_fraction_range),
20511         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
20512         (gst_value_set_fraction_range_full),
20513         (gst_value_get_fraction_range_min),
20514         (gst_value_get_fraction_range_max),
20515         (gst_value_serialize_fraction_range),
20516         (gst_value_transform_fraction_range_string),
20517         (gst_value_compare_fraction_range),
20518         (gst_value_deserialize_fraction_range),
20519         (gst_value_intersect_fraction_fraction_range),
20520         (gst_value_intersect_fraction_range_fraction_range),
20521         (gst_value_subtract_fraction_fraction_range),
20522         (gst_value_subtract_fraction_range_fraction),
20523         (gst_value_subtract_fraction_range_fraction_range),
20524         (gst_value_collect_fraction), (gst_value_fraction_multiply),
20525         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
20526         (gst_value_transform_string_fraction), (_gst_value_initialize):
20527         * gst/gstvalue.h:
20528           Implement fraction ranges and extend GstFraction to support
20529           arithmetic subtraction, as well as deserialization from integer
20530           strings such as "100"
20531           Add a testsuite as for int and double range set operations
20532
20533 2005-11-21  Andy Wingo  <wingo@pobox.com>
20534
20535         * gst/gsttaglist.h: 
20536         * gst/gstcaps.h: 
20537         * gst/gststructure.h: Add glib-compat.h.
20538
20539 2005-11-21  Wim Taymans  <wim@fluendo.com>
20540
20541         * gst/gstbin.c: (gst_bin_change_state_func):
20542         Fix for #321595
20543
20544 2005-11-21  Wim Taymans  <wim@fluendo.com>
20545
20546         * gst/gstsegment.h:
20547         And add a nice define too.
20548
20549 2005-11-21  Wim Taymans  <wim@fluendo.com>
20550
20551         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
20552         (gst_segment_new), (gst_segment_free), (gst_segment_init),
20553         (gst_segment_set_duration), (gst_segment_set_last_stop),
20554         (gst_segment_set_seek), (gst_segment_set_newsegment),
20555         (gst_segment_to_stream_time), (gst_segment_to_running_time),
20556         (gst_segment_clip):
20557         * gst/gstsegment.h:
20558         Make binding friendly.
20559
20560 2005-11-21  Andy Wingo  <wingo@pobox.com>
20561
20562         * gst/gsttagsetter.h: 
20563         * gst/gsttaglist.h: 
20564         * gst/gststructure.h: 
20565         * gst/gstcaps.h: 
20566         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
20567         #319940.
20568
20569         * gst/gsterror.c (_gst_core_errors_init):
20570         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
20571         category.
20572
20573         * gst/Makefile.am (gst_headers): Add glib-compat.h.
20574         (noinst_HEADERS): noinst the -private.
20575
20576 2005-11-21  Michael Smith <msmith@fluendo.com>
20577
20578         * gst/gstplugin.h:
20579         * gst/gstregistry.h:
20580           Remove unimplemented declarations for which we can see no sensible
20581           use.
20582
20583 2005-11-21  Andy Wingo  <wingo@pobox.com>
20584
20585         * gst/gst.h: Include glib-compat.h.
20586
20587         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
20588
20589         * gst/glib-compat.c: Include the public and the private header.
20590
20591         * gst/glib-compat-private.h: Copied here from glib-compat.h.
20592
20593         * gst/gstvalue.c: 
20594         * gst/gstpad.c: 
20595         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
20596
20597         * check/gst/gstevent.c (create_custom_events): Check that
20598         FLUSH_STOP is serialized.
20599
20600         * check/elements/identity.c (event_func): 
20601         * check/elements/fakesrc.c (event_func): No stream lock, the core
20602         takes it.
20603
20604         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
20605         stream lock taking, yay.
20606
20607         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
20608         ensure that core takes the stream lock.
20609
20610         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
20611         lock name change.
20612
20613         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
20614         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
20615         it already. For the flush start we do take it though so we get the
20616         right preroll state change messages.
20617
20618         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
20619         the stream lock here, the core does it for us.
20620
20621         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
20622         GST_STREAM_GET_LOCK.
20623         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
20624         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
20625         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
20626         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
20627         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
20628         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
20629
20630         * gst/gstpad.c: Update for stream lock name change.
20631
20632         * gst/base/gstbasesink.c: Update for preroll lock name change.
20633
20634 2005-11-21  Wim Taymans  <wim@fluendo.com>
20635
20636         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
20637         (gst_clock_get_master):
20638         * gst/gstclock.h:
20639         * gst/gstsystemclock.c: (gst_system_clock_init):
20640         Convert Clock flags to object flags.
20641         Added methods to manage master/slave clocks.
20642
20643 2005-11-21  Wim Taymans  <wim@fluendo.com>
20644
20645         * check/gst/gstsegment.c: (GST_START_TEST):
20646         * docs/design/part-TODO.txt:
20647         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20648         (gst_base_sink_event), (gst_base_sink_do_sync),
20649         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
20650         (gst_base_sink_query), (gst_base_sink_change_state):
20651         * gst/base/gstbasesink.h:
20652         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
20653         (gst_base_src_default_newsegment),
20654         (gst_base_src_configure_segment), (gst_base_src_do_seek),
20655         (gst_base_src_get_range), (gst_base_src_loop),
20656         (gst_base_src_change_state):
20657         * gst/base/gstbasesrc.h:
20658         * gst/base/gstbasetransform.c:
20659         (gst_base_transform_prepare_output_buf),
20660         (gst_base_transform_event), (gst_base_transform_change_state):
20661         * gst/base/gstbasetransform.h:
20662         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
20663         (gst_collect_pads_event):
20664         * gst/base/gstcollectpads.h:
20665         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
20666         (gst_fake_src_create):
20667         * gst/elements/gstfakesrc.h:
20668         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
20669         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20670         (gst_segment_set_last_stop), (gst_segment_set_seek),
20671         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
20672         (gst_segment_to_running_time), (gst_segment_clip):
20673         * gst/gstsegment.h:
20674         More segment updates, replace code in plugins with segment
20675         helper functions.
20676
20677 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20678
20679         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
20680         Don't ignore sscanf results
20681
20682 2005-11-21  Andy Wingo  <wingo@pobox.com>
20683
20684         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
20685
20686         * *.h:
20687         * *.c: Ran scripts/update-macros. Oh yes.
20688
20689         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
20690         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
20691         GST_GET_LOCK, etc.
20692
20693         * scripts/update-macros: New script. Run it on your files to
20694         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
20695         well.
20696
20697 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
20698
20699         * docs/gst/Makefile.am:
20700         * docs/gst/gstreamer-docs.sgml:
20701         * docs/gst/gstreamer-sections.txt:
20702         * docs/gst/gstreamer.types:
20703         * gst/gstinfo.h:
20704           more docs fixes, add new api to the docs
20705
20706 2005-11-21  Andy Wingo  <wingo@pobox.com>
20707
20708         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
20709         state_broadcast call.
20710
20711         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
20712
20713 2005-11-21  Julien MOUTTE  <julien@moutte.net>
20714
20715         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
20716         function calls for arrays.
20717
20718 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
20719
20720         * docs/random/ensonic/media-device-daemon.txt:
20721           wild idea, can this be done?
20722         * docs/gst/gstreamer-sections.txt:
20723         * gst/gsterror.h:
20724         * gst/gstfilter.c:
20725         * gst/gstfilter.h:
20726         * gst/gstplugin.h:
20727         * gst/gstpluginfeature.c:
20728         * gst/gsttrace.c:
20729         * gst/gstvalue.c:
20730         * gst/gstvalue.h:
20731           doc fixes and additions
20732
20733 2005-11-21  Andy Wingo  <wingo@pobox.com>
20734
20735         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
20736         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
20737         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
20738         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
20739         private to the basesrc implementation.
20740
20741         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
20742         behalf of event function if necessary. It should no longer be
20743         necessary to take the stream lock in pad's event functions. Fixes
20744         #320299.
20745
20746 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20747         * docs/gst/gstreamer-sections.txt:
20748         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
20749         (gst_structure_fixate_field_nearest_double),
20750         (gst_structure_fixate_field_boolean):
20751         * gst/gststructure.h:
20752         * win32/common/libgstreamer.def:
20753         * win32/gstreamer.def:
20754
20755         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
20756         (#322027)
20757
20758 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20759
20760         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
20761         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
20762         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
20763         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
20764         (gst_fdsrc_uri_handler_init):
20765         * gst/elements/gstfdsrc.h:
20766           Port fd:// URI handler from 0.8 to fdsrc
20767
20768 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20769
20770         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
20771         (gst_value_serialize_fourcc):
20772         * gst/gstvalue.h:
20773           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
20774           consistent with our other format defines (#320324).
20775
20776 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20777
20778         * gst/gstvalue.c: (gst_value_is_fixed):
20779           Revert previous commit. Value lists are by definition
20780           not fixed, as they are a list of possible values.
20781
20782 2005-11-21  Andy Wingo  <wingo@pobox.com>
20783
20784         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
20785         during the stable series if we need it. Fixes #319178.
20786
20787         * gst/gstevent.c (gst_event_new_filler): Removed.
20788
20789         * check/gst/gstevent.c: Update comment about filler events.
20790
20791 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20792
20793         * gst/gstvalue.c: (gst_value_is_fixed):
20794           Should handle both value arrays and value lists.
20795
20796 2005-11-21  Andy Wingo  <wingo@pobox.com>
20797
20798         patch by: Alessandro Dessina <alessandro nnva org>
20799
20800         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
20801         functions to access arrays. Fixes #321962.
20802
20803 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20804
20805         * docs/gst/gstreamer.types:
20806           gst_collectpads_get_type => gst_collect_pads_get_type.
20807           
20808         * gst/base/gstbasetransform.c:
20809           Remove unused SIGNAL_HANDOFF enum.
20810
20811 2005-11-21  Andy Wingo  <wingo@pobox.com>
20812
20813         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
20814         the event type (upstream, downstream, serialized). Renamed
20815         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
20816         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
20817         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
20818
20819         * gst/gstevent.c: Update for new CUSTOM event names.
20820
20821         * check/gst/gstevent.c: Update check for new CUSTOM event names.
20822
20823         * gst/gstevent.h:
20824         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
20825         bug #319392.
20826
20827 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20828
20829         * docs/gst/gstreamer-sections.txt:
20830         * win32/common/libgstbase.def:
20831         * win32/libgstbase.def:
20832         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
20833         (gst_collect_pads_class_init), (gst_collect_pads_init),
20834         (gst_collect_pads_finalize), (gst_collect_pads_new),
20835         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
20836         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
20837         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
20838         (gst_collect_pads_start), (gst_collect_pads_stop),
20839         (gst_collect_pads_peek), (gst_collect_pads_pop),
20840         (gst_collect_pads_available), (gst_collect_pads_read),
20841         (gst_collect_pads_flush), (gst_collect_pads_event),
20842         (gst_collect_pads_chain):
20843         * gst/base/gstcollectpads.h:
20844           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
20845           unimplemented functions as unimplemented. Add padding to
20846           GstCollectData. (#320766, #320423)
20847
20848 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20849
20850         * gst/gstmessage.c:
20851           Improve docs for DURATION message (usage of duration parameter)
20852           (#320113)
20853
20854 2005-11-20  Wim Taymans  <wim@fluendo.com>
20855
20856         * check/Makefile.am:
20857         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
20858         (main):
20859         * gst/Makefile.am:
20860         * gst/gst.h:
20861         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20862         (gst_segment_set_seek), (gst_segment_set_newsegment),
20863         (gst_segment_to_stream_time), (gst_segment_to_running_time),
20864         (gst_segment_clip):
20865         * gst/gstsegment.h:
20866         Added segment helper structure and methods. Not fully implemented
20867         yet.
20868         Added segment check.
20869
20870 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
20871
20872         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20873           Add a deserialisation test for fractions
20874         * examples/metadata/read-metadata.c: (message_loop),
20875         (make_pipeline), (main):
20876           Fix up metadata reading sample.
20877         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
20878           Debug format fix
20879         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
20880           Don't try and fixate empty caps
20881         * gst/gst_private.h:
20882           Wrap in G_BEGIN_DECLS/G_END_DECLS
20883         * gst/gstvalue.c: (gst_value_collect_fraction),
20884         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
20885         (gst_value_transform_string_fraction),
20886         (gst_value_compare_fraction):
20887           Add some extra guards to ensure that we don't end up 
20888           with an invalid denominator of 0 in a gstfraction and
20889           that fractions always get reduced.
20890
20891 2005-11-20  Wim Taymans  <wim@fluendo.com>
20892
20893         * docs/gst/gstreamer-sections.txt:
20894         * gst/gstbuffer.h:
20895         * gst/gstelement.c:
20896         * gst/gstformat.c:
20897         * gst/gstformat.h:
20898         * gst/gstindex.h:
20899         * gst/gstquery.c:
20900         * gst/gstquery.h:
20901         * gst/gstvalue.c:
20902         Doc fixes.
20903
20904 2005-11-20  Wim Taymans  <wim@fluendo.com>
20905
20906         * docs/design/part-TODO.txt:
20907         * gst/gstcaps.h:
20908         Make a proper enum of the flag.
20909
20910 2005-11-19  Wim Taymans  <wim@fluendo.com>
20911
20912         * docs/design/part-TODO.txt:
20913         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
20914         (gst_format_to_quark), (gst_format_register):
20915         * gst/gstformat.h:
20916         * gst/gstquery.c: (_gst_query_initialize),
20917         (gst_query_type_get_name), (gst_query_type_to_quark),
20918         (gst_query_type_register):
20919         * gst/gstquery.h:
20920         Add type to quark and type to string conversions.
20921
20922 2005-11-19  Andy Wingo  <wingo@pobox.com>
20923
20924         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
20925         #320097.
20926
20927 2005-11-19  Wim Taymans  <wim@fluendo.com>
20928
20929         * docs/design/part-TODO.txt:
20930         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
20931         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
20932         (gst_bin_handle_message_func):
20933         * gst/gstbin.h:
20934         Make message handling overridable.
20935
20936 2005-11-19  Andy Wingo  <wingo@pobox.com>
20937
20938         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
20939
20940         * gst/gstclock.h:
20941         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
20942         be a GstClockTime.
20943         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
20944         is a GstClockTime. Fixes #321710.
20945
20946         * gst/gstclock.h (GstClock): Remove offset property. Add
20947         internal_calibration and external_calibration. Fix padding. Pad
20948         also by GstClockTime so we don't run into problems.
20949
20950         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
20951         (gst_clock_get_rate_offset): Remove.
20952         (gst_clock_set_time_adjust): Remove. Fixes #321712.
20953
20954         * gst/gstutils.h:
20955         * gst/gstutils.c (g_static_rec_cond_wait)
20956         (g_static_rec_cond_timed_wait): Removed, no longer needed.
20957
20958         * gst/gstbin.c: Remove terrible continue_state prototype.
20959
20960         * gst/gstelement.h (gst_element_continue_state): Make public.
20961
20962         * gst/gstelement.h:
20963         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
20964         by continue_state. Fixes #319389.
20965
20966         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
20967         Really fixes #168438. However I don't see anywhere where the
20968         filter function is called... stupid GStreamer...
20969         
20970         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
20971         don't have a dispose function, so it won't get called when the
20972         object is unreffed, but oh well!
20973
20974         * gst/gstindex.c (gst_index_set_filter_full): New API function,
20975         allows a destroy function to be set so user_data can be freed.
20976         Fixes #168438.
20977         (gst_index_set_filter): Call gst_index_set_filter_full.
20978
20979         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
20980
20981         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
20982         string should produce an error, given the lack of a way to
20983         represent NULL strings. Fixes #165650.
20984         
20985         * gst/gstvalue.h: 
20986         * gst/gstvalue.c (gst_value_array_append_value) 
20987         (gst_value_array_prepend_value, gst_value_array_get_size) 
20988         (gst_value_array_get_value): New API, copied from
20989         gst_value_list_*, only operates on arrays.
20990         (gst_value_list_append_value, gst_value_list_prepend_value) 
20991         (gst_value_list_concat, gst_value_list_get_size) 
20992         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
20993
20994         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
20995         init_list, because it works on both.
20996         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
20997         (gst_value_copy_list_or_array): Renamed from copy_list.
20998         (gst_value_free_list_or_array): Renamed from free_list.
20999         (gst_value_collect_list_or_array): Renamed from collect_list.
21000         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
21001         (gst_value_list_or_array_peek_pointer): Renamed from
21002         list_peek_pointer.
21003         (_gst_value_array_value_table, _gst_value_list_value_table):
21004         Update value table functions.
21005         (gst_value_compare_list_or_array): Renamed from compare_list.
21006
21007         * gsttaglist.h: Whoops, foreach function returns void. Also fix
21008         some constness.
21009
21010         * gst/gsttaglist.c:
21011         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
21012         GstTagList*. Fixes #143472.
21013
21014         * gst/gststructure.h: Clarify what the foreach/map functions can
21015         or can't do to their arguments.
21016
21017 2005-11-18  Wim Taymans  <wim@fluendo.com>
21018
21019         * gst/gstclock.c: (gst_clock_set_calibration),
21020         (gst_clock_get_calibration):
21021         Doc and API fixes.
21022         Calibration can be set with internal time equal to current
21023         internal time too.
21024
21025 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
21026
21027         * gst/gsterror.c:
21028         * gst/gsterror.h:
21029           document
21030
21031 2005-11-18  Andy Wingo  <wingo@pobox.com>
21032
21033         * configure.ac: 
21034         * pkgconfig/gstreamer-net.pc.in:
21035         * pkgconfig/gstreamer-net-uninstalled.pc.in:
21036         * pkgconfig/Makefile.am: Add net pkgconfig files.
21037
21038 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
21039
21040         * gst/gstcaps.c:
21041         * gst/gstghostpad.c:
21042         * gst/gsttrace.c:
21043         * gst/gstvalue.c:
21044         * gst/gstvalue.h:
21045           docs fixes
21046
21047 2005-11-18  Andy Wingo  <wingo@pobox.com>
21048
21049         * gst/net/gstnetclientclock.c: Turn off debugging.
21050
21051         * check/net/gstnetclientclock.c (test_functioning): Assert that the
21052         times connverge somewhat. Can't make a real test.
21053
21054         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
21055         integer arithmetic. Return the minimum of the domain, which can be
21056         set as "internal" for gst_clock_set_calibration.
21057         (gst_net_client_clock_observe_times): Call _set_calibration.
21058         (gst_net_client_clock_new): Call _set_calibration instead of
21059         rate_offset.
21060
21061         * check/net/gstnetclientclock.c (test_functioning): Use the right
21062         adjustment api.
21063
21064         * gst/gstclock.h:
21065         * gst/gstclock.c (gst_clock_get_calibration) 
21066         (gst_clock_set_calibration): New functions, obsolete the ones I
21067         added yesterday. Doh. Precision issues mean we have to extrapolate
21068         from a point in the more recent past than 1970.
21069         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
21070         obsolete.
21071         (gst_clock_adjust_unlocked): Use the right calibration data.
21072
21073 2005-11-18  Edward Hervey  <edward@fluendo.com>
21074
21075         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
21076         Also reset the ->current_* values in READY->PAUSED
21077
21078 2005-11-18  Andy Wingo  <wingo@pobox.com>
21079
21080         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
21081         Whoops, check the right fd. Also add some debugging.
21082         (gst_net_client_clock_observe_times): Adjust for int64 offset.
21083         (do_linear_regression): Add a crapload of debugging. Subtract off
21084         the minimum values from the input series to discard unneeded bits.
21085         Use only int arithmetic. There is still double arithmetic when
21086         calculating the intercept that needs fixing. Return boolean to
21087         indicate success; FALSE would mean the domain or range is too
21088         great. Still needs fixes.
21089
21090 2005-11-18  Wim Taymans  <wim@fluendo.com>
21091
21092         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
21093         For the current position in stream time, we need to subtract
21094         accumulated time.
21095         
21096         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
21097         Release lock before calling the callback function of async
21098         entries.
21099
21100 2005-11-18  Andy Wingo  <wingo@pobox.com>
21101
21102         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
21103         Port goes all the way to MAXUINT16.
21104
21105         * gst/net/gstnettimeprovider.c: Make the port range the same as
21106         for the kernel: 0 assigns, otherwise ports are less than
21107         MAXUINT16.
21108
21109         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
21110         port change.
21111
21112         * check/net/gstnetclientclock.c (test_functioning): Add the start
21113         of another test. 
21114
21115 2005-11-18  Wim Taymans  <wim@fluendo.com>
21116
21117         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
21118         (gst_bin_remove_func), (bin_bus_handler):
21119         * gst/gstbin.h:
21120         Removing a clock provider from a bin, triggers a clock lost message
21121         so that a new clock will be selected.
21122         Adding a clock to a bin triggers a clock provider message.
21123         Make sure we reselect a clock when we received a clock lost message.
21124         Keep a reference to the element that provided the clock.
21125
21126 2005-11-18  Andy Wingo  <wingo@pobox.com>
21127
21128         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
21129         the clock initially so it produces values around the base time.
21130         (gst_net_client_clock_class_init): Typo fix.
21131         (gst_net_client_clock_thread): Add note on when the socket gets
21132         closed.
21133
21134 2005-11-17  Wim Taymans  <wim@fluendo.com>
21135
21136         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
21137         Free remote and local time arrays.
21138
21139 2005-11-17  Wim Taymans  <wim@fluendo.com>
21140
21141         * gst/net/gstnetclientclock.c: (do_linear_regression),
21142         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
21143         Fix compilation, uninitialized vars and a forgotten continue.
21144
21145 2005-11-17  Andy Wingo  <wingo@pobox.com>
21146
21147         * check/Makefile.am (check_PROGRAMS): 
21148         * check/net/gstnetclientclock.c: Add a most minimal test for the
21149         net client clock. More to come later.
21150
21151         * gst/net/gstnet.h: 
21152         * gst/net/Makefile.am: Add netclientclock.
21153
21154         * gst/net/gstnetclientclock.h:
21155         * gst/net/gstnetclientclock.c: New files, implement an untested
21156         GstClock that takes its time from a network time provider.
21157         Implements the algorithm in network-clock.scm.
21158
21159         * tests/network-clock.scm (*window-size*): Rename from
21160         *queue-length*.
21161         * tests/network-clock.scm (network-time): 
21162         * tests/network-clock-utils.scm (q-push): Update callers.
21163
21164 2005-11-17  Wim Taymans  <wim@fluendo.com>
21165
21166         * gst/gstbin.c: (gst_bin_provide_clock_func),
21167         (gst_bin_sort_iterator_new):
21168         And unref the child too..
21169
21170 2005-11-17  Wim Taymans  <wim@fluendo.com>
21171
21172         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
21173         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
21174         Refactor the sort iterator so it can be used while holding the
21175         LOCK too.
21176         Make clock selection select a clock closest to the source.
21177
21178 2005-11-17  Michael Smith <msmith@fluendo.com>
21179
21180         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
21181         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
21182         * gst/gstclock.h:
21183           Anonymous structs are a gcc (and some other compilers) extension, so
21184           don't use them. Since this is only for ABI-compatibility, and our
21185           API/ABI freeze is over in a few days, this whole thing will only
21186           last a few days, so don't bother trying to think up a meaningful
21187           name for the struct.
21188
21189 2005-11-17  Andy Wingo  <wingo@pobox.com>
21190
21191         * gst/gstclock.h (GstClock): Add rate and offset properties,
21192         preserving ABI stability. Add rate/offset accessors. Will file bug
21193         for the freeze break.
21194
21195         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
21196         and offset, trying to keep precision and avoiding
21197         underflow/overflow.
21198         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
21199         functions. Make gst_clock_set_time_adjust obsolete.
21200         (gst_clock_set_time_adjust): Note that this function is obsolete.
21201         Will file bug soon.
21202
21203         * gst/base/gstbasetransform.h: Make the ABI-stability hack
21204         greppable by using GST_PADDING-1+1.
21205
21206 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
21207
21208         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
21209
21210         * gst/gstmessage.c: (gst_message_parse_clock_lost):
21211           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
21212
21213         * gst/gstpadtemplate.h:
21214         * gst/gstpluginfeature.h:
21215           Don't use c++ style comments in headers (#321638).
21216
21217 2005-11-16  Andy Wingo  <wingo@pobox.com>
21218
21219         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
21220         buffer.
21221
21222         * check/net/gstnettimeprovider.c: Check to see that the time
21223         provider actually provides times. Works, yo!
21224
21225 2005-11-16  Wim Taymans  <wim@fluendo.com>
21226
21227         * check/Makefile.am:
21228         Enable more tests.
21229
21230         * check/elements/fakesrc.c: (GST_START_TEST):
21231         Set element to NULL before disposing it.
21232
21233 2005-11-16  Andy Wingo  <wingo@pobox.com>
21234
21235         * gst/net/Makefile.am:
21236         * gst/net/gstnet.h:
21237         * gst/net/gstnettimeprovider.c: 
21238         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
21239         provider, include it from gstnet.h, and add it to the build.
21240
21241         * gst/net/gstnettimepacket.h: 
21242         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
21243         sending and receiving.
21244
21245 2005-11-16  Wim Taymans  <wim@fluendo.com>
21246
21247         * check/Makefile.am:
21248         Enable valgrind check.
21249
21250         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
21251         (gst_fake_src_alloc_buffer):
21252         Fix memleak.
21253
21254 2005-11-16  Wim Taymans  <wim@fluendo.com>
21255
21256         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
21257         Call parent finalize too.
21258
21259 2005-11-16  Wim Taymans  <wim@fluendo.com>
21260
21261         * check/Makefile.am:
21262         Enable valgrind check that should work fine now.
21263
21264         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21265         * gst/gstqueue.c: (gst_queue_init):
21266         Fix memleaks in pad allocation.
21267
21268 2005-11-16  Andy Wingo  <wingo@pobox.com>
21269
21270         * gst/net/Makefile.am:
21271         * gst/net/gstnet.h: New part of core to hold network elements and
21272         objects. Put in core because it exposes API that applications want
21273         to use. The library is named libgstnet-tempname right now because
21274         of the existing libgstnet in gst-plugins-base. Solution is
21275         probably to rename the one in plugins-base; will file a bug for
21276         the freeze break.
21277
21278         * gst/net/gstnettimeprovider.c: 
21279         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
21280         get_time call over the network.
21281
21282         * configure.ac: 
21283         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
21284
21285         * check/Makefile.am:
21286         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
21287         get additions shortly.
21288
21289 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21290
21291         * gst/gstpad.c: (gst_pad_new_from_static_template):
21292         * gst/gstpad.h:
21293           add gst_pad_new_from_static_template functions
21294         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
21295         (gst_check_setup_sink_pad):
21296         * gst/elements/gsttee.c: (gst_tee_init):
21297           and use them
21298
21299 2005-11-16  Wim Taymans  <wim@fluendo.com>
21300
21301         * gst/gstpad.c: (gst_pad_pause_task):
21302         Removed warning, it's not really an error either.
21303
21304 2005-11-16  Wim Taymans  <wim@fluendo.com>
21305
21306         * gst/base/gstbasetransform.c:
21307         (gst_base_transform_prepare_output_buf),
21308         (gst_base_transform_event):
21309         Check if the caps are NULL, this can happen if the element
21310         is shutting down and the pad caps are set to NULL.
21311
21312 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21313
21314         * gst/elements/gsttee.c: (gst_tee_init):
21315           fix pad template leak in tee
21316
21317 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21318
21319         * gst/glib-compat.c: (g_value_dup_gst_object):
21320         * gst/glib-compat.h:
21321         * gst/gstpad.c: (gst_pad_set_property):
21322           use gst_object_ref when setting the pad template; this will
21323           trigger the pad template leaks on GLib 2.6 and the slaves
21324
21325 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21326
21327         * gst/glib-compat.c: (gst_flags_get_first_value):
21328         * gst/glib-compat.h:
21329         * gst/gstregistryxml.c:
21330           remove functions copied from GLib 2.6
21331
21332 2005-11-16  Michael Smith <msmith@fluendo.com>
21333
21334         * gst/Makefile.am:
21335           Don't link against VALGRIND_LIBS. That was always the wrong thing to
21336           do, but only breaks with newer valgrind versions. We're not a
21337           valgrind tool, we have no link-time dependencies on libcoregrind.
21338
21339 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21340
21341         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
21342           some debug changes
21343         * gst/gstmessage.h:
21344           typo fixes
21345
21346 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21347
21348         * gst/base/gstbasesrc.c: (gst_base_src_init):
21349         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21350         * gst/gstqueue.c: (gst_queue_init):
21351         * gst/gstregistryxml.c: (load_feature):
21352           Revert all these unrefs, they don't even pass make check !
21353
21354 2005-11-15  Johan Dahlin  <johan@gnome.org>
21355
21356         * gst/base/gstbasesrc.c: (gst_base_src_init):
21357         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21358         * gst/gstqueue.c: (gst_queue_init): 
21359         Free pad templates, fixes a couple of leaks.
21360
21361 2005-11-15  Daniel Fischer  <dan at f3c dot com>
21362
21363         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
21364
21365         * gst/gstpad.c: (gst_pad_get_property):
21366           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
21367           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
21368           (#321452)
21369
21370 2005-11-15  Wim Taymans  <wim@fluendo.com>
21371
21372         * gst/gstevent.c:
21373         Small doc update.
21374
21375 2005-11-15  Andy Wingo  <wingo@pobox.com>
21376
21377         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
21378
21379         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
21380         using GST_CLOCK_TIME_NONE to disable base time management.
21381         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
21382         time if it was NONE before.
21383         (gst_pipeline_change_state): Only munge the base time if
21384         stream_time != GST_CLOCK_TIME_NONE.
21385
21386         * check/gst/gstpipeline.c (test_base_time): Punt around the
21387         problem of the probe not being called, because that's not the
21388         issue I'm looking at. Add a check that setting stream_time to NONE
21389         disables base time management.
21390         
21391 2005-11-15  Wim Taymans  <wim@fluendo.com>
21392
21393         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
21394         segment_stop == -1 at startup.
21395
21396         * gst/base/gstbasetransform.c: (gst_base_transform_event),
21397         (gst_base_transform_change_state):
21398         Init segment values at start.
21399
21400 2005-11-15  Wim Taymans  <wim@fluendo.com>
21401
21402         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21403         0 segment values are 0 in any format.
21404
21405         * gst/base/gstbasetransform.c: (gst_base_transform_event):
21406         * gst/base/gstbasetransform.h:
21407         Parse newsegment correctly in basetransform
21408
21409         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
21410         Sync to clock using updated segment values.
21411
21412 2005-11-15  Andy Wingo  <wingo@pobox.com>
21413
21414         * check/gst/gstpipeline.c (test_base_time): Add check that the
21415         base time and stream time are reset correctly.
21416
21417 2005-11-15  Wim Taymans  <wim@fluendo.com>
21418
21419         * docs/design/part-TODO.txt:
21420         Some more TODO items.
21421
21422 2005-11-15  Andy Wingo  <wingo@pobox.com>
21423
21424         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
21425         error if the user selected "no clock" as the clocking method.
21426
21427         * check/gst/gstpipeline.c (test_base_time): New test for buffer
21428         timestamps with live capture.
21429
21430         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
21431         is 0 but we are a live source, timestamp the buffers using the
21432         element's clock.
21433
21434 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
21435
21436         * docs/gst/gstreamer-sections.txt:
21437         * gst/gsterror.c:
21438         * gst/gstghostpad.c:
21439         * gst/gstobject.h:
21440         * gst/gstxml.c:
21441           more section docs
21442
21443 2005-11-14  Wim Taymans  <wim@fluendo.com>
21444
21445         * common/gst.supp:
21446           add suppressions from Wim's Debian machine
21447
21448 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
21449
21450         * common/gst.supp:
21451           add suppressions from Andy's AMD64 Ubuntu machine
21452
21453 2005-11-14  Andy Wingo  <wingo@pobox.com>
21454
21455         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
21456         STATE_LOCK not necessary. Fixes #311489.
21457
21458         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
21459         #305291.
21460
21461         * gst/gstindex.c (gst_index_add_object): Note in the docs that
21462         this function is not implemented.
21463
21464 2005-11-14  Julien MOUTTE  <julien@moutte.net>
21465
21466         * gst/base/gstbasetransform.c:
21467         (gst_base_transform_prepare_output_buf):
21468         Ref the source pad caps while we need them.
21469         Fixes (#321386)
21470
21471 2005-11-11  Wim Taymans  <wim@fluendo.com>
21472
21473         * docs/gst/gstreamer-sections.txt:
21474         Added some docs for GstCollectData.
21475
21476         * gst/base/gstadapter.c:
21477         Some small code example fix.
21478
21479         * gst/base/gstcollectpads.c:
21480         * gst/base/gstcollectpads.h:
21481         Document some more.
21482
21483 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21484
21485         * configure.ac: back to HEAD
21486
21487 === release 0.9.5 ===
21488
21489 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
21490
21491         * configure.ac:
21492           releasing 0.9.5, "Bike Lunch Day"
21493
21494 2005-11-11  Wim Taymans  <wim@fluendo.com>
21495
21496         * gst/gstbuffer.c: (_gst_buffer_copy):
21497         Copy more flags.
21498
21499         * gst/gstcaps.c: (gst_caps_is_equal):
21500         Fix some docs.
21501         Make _is_equal fast in the trivial cases.
21502
21503         * gst/gstminiobject.c:
21504         * gst/gstminiobject.h:
21505         More docs. Spifify .h file.
21506
21507         * gst/gstutils.c:
21508         Small doc update.
21509
21510 2005-11-11  Wim Taymans  <wim@fluendo.com>
21511
21512         * gst/base/gstbasetransform.c:
21513         (gst_base_transform_prepare_output_buf),
21514         (gst_base_transform_handle_buffer):
21515         Small cleanups.
21516         If we're processing a buffer and need to allocate an output
21517         buffer, we cannot accept a format change. If we did get a 
21518         format change, we have to alloc a buffer ourselves of the 
21519         right size.
21520
21521 2005-11-11  Wim Taymans  <wim@fluendo.com>
21522
21523         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
21524         While checking the flag for reentrancy in the gstcaps function
21525         is nice to detect recursive invocations, it also makes it 
21526         impossible to call getcaps from multiple threads, which must be
21527         possible. So, checking for recursive calls has to go.
21528
21529 2005-11-11  Michael Smith <msmith@fluendo.com>
21530
21531         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21532           Don't sync on buffers that fall partially outside our current
21533           segment. Prevents an assertion failure/abort playing some files.
21534
21535 2005-11-10  Andy Wingo  <wingo@pobox.com>
21536
21537         * check/gst/gstbin.c (test_message_state_changed_children): Style
21538         fix..
21539
21540         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
21541         gst_bus_poll with the signal watch. Ensures that poll and a signal
21542         watch see the same messages.
21543
21544         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
21545         a poll and a watch at the same time get the same messages.
21546
21547 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21548
21549         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
21550         * gst/gstcaps.c: (gst_caps_intersect):
21551           Don't call gst_caps_do_simplify - it doesn't respect order of caps
21552           and it's not needed.
21553
21554 2005-11-10  Wim Taymans  <wim@fluendo.com>
21555
21556         * docs/design/part-TODO.txt:
21557         Updated todo.
21558
21559 2005-11-10  Wim Taymans  <wim@fluendo.com>
21560
21561         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21562         * gst/base/gstbasesrc.c: (gst_base_src_wait),
21563         (gst_base_src_do_sync), (gst_base_src_get_range):
21564         Implement clock sync in base class.
21565
21566 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21567
21568         patch by: Tim-Philipp Müller <tim at centricular dot net>
21569
21570         * gst/gststructure.c: (gst_structure_parse_field),
21571         (gst_structure_from_string):
21572           Forward-port a 0.8 patch to handle escaped spaces in structure string,
21573           so that gst_parse_launch() can deal with spaces in filtered link
21574           caps (fixes #164479)
21575         * check/gst/capslist.h:
21576         * check/gst/gststructure.c: (GST_START_TEST):
21577           add unit tests for this change
21578
21579 2005-11-10  Wim Taymans  <wim@fluendo.com>
21580
21581         * docs/gst/gstreamer-sections.txt:
21582         * gst/gstelement.c:
21583         * gst/gstelement.h:
21584         Fix docs, move some STATE macros to private.
21585
21586 2005-11-10  Wim Taymans  <wim@fluendo.com>
21587
21588         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
21589         Added check for bug #317341
21590
21591         * gst/gstbuffer.c:
21592         * gst/gstbuffer.h:
21593         Some more spiffifying.
21594
21595         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
21596         Call peer linkfunction if we are a source pad. Totally fixes
21597         #317341
21598
21599         * gst/gstpad.c:
21600         Update docs, source pads should call the peer linkfunction
21601         so they can atomically perform the pad link.
21602
21603 2005-11-09  Wim Taymans  <wim@fluendo.com>
21604
21605         * gst/gstbuffer.c:
21606         * gst/gstbuffer.h:
21607         Uber-spiffy-spiffify some more.
21608
21609 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
21610
21611         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
21612         * gst/elements/gstfilesink.c: (gst_file_sink_init):
21613         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21614         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
21615         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
21616         * gst/gstpad.c: (gst_pad_init):
21617           Use GST_DEBUG_FUNCPTR() more extensively.
21618
21619 2005-11-09  Wim Taymans  <wim@fluendo.com>
21620
21621         * gst/gstobject.c: (gst_object_class_init):
21622         * gst/gstobject.h:
21623         Documentation fixes.
21624
21625 2005-11-09  Edward Hervey  <edward@fluendo.com>
21626
21627         * gst/gsttypefindfactory.c:
21628         Fix docs.
21629         
21630 2005-11-09  Edward Hervey  <edward@fluendo.com>
21631
21632         * gst/base/gsttypefindhelper.c:
21633         * gst/gsttypefind.c:
21634         * gst/gsttypefind.h:
21635         Fix docs.
21636
21637 2005-11-09  Wim Taymans  <wim@fluendo.com>
21638
21639         * gst/gstiterator.c:
21640         Fix revision data.
21641
21642         * gst/gsttask.c:
21643         * gst/gsttask.h:
21644         Fix docs.
21645
21646 2005-11-09  Wim Taymans  <wim@fluendo.com>
21647
21648         * gst/gstevent.h:
21649         * gst/gsturi.h:
21650         Fix docs.
21651
21652 2005-11-09  Wim Taymans  <wim@fluendo.com>
21653
21654         * docs/gst/gstreamer-sections.txt:
21655         Moved the message async delivery private lock and cond
21656         to the private section.
21657
21658         * gst/gstmessage.c:
21659         * gst/gstmessage.h:
21660         Fixed docs.
21661
21662 2005-11-09  Edward Hervey  <edward@fluendo.com>
21663
21664         * docs/gst/gstreamer-sections.txt:
21665         * gst/gsturi.c:
21666         * gst/gsturi.h:
21667         Document GstURIHandler
21668
21669 2005-11-09  Wim Taymans  <wim@fluendo.com>
21670
21671         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
21672         (gst_iterator_find_custom):
21673         * gst/gstiterator.h:
21674         Fix iterator docs.
21675
21676 2005-11-09  Wim Taymans  <wim@fluendo.com>
21677
21678         * gst/gstbin.h:
21679         Document another field.
21680
21681         * gst/gststructure.c:
21682         * gst/gststructure.h:
21683         Document.
21684
21685 2005-11-09  Wim Taymans  <wim@fluendo.com>
21686
21687         * gst/gstbin.h:
21688         Documented structs.
21689
21690 2005-11-09  Wim Taymans  <wim@fluendo.com>
21691
21692         * docs/gst/gstreamer-sections.txt:
21693         Added some new macros.
21694
21695         * gst/gstclock.c:
21696         * gst/gstclock.h:
21697         * gst/gstobject.h:
21698         Docs updates.
21699
21700 2005-11-09  Wim Taymans  <wim@fluendo.com>
21701
21702         * docs/design/part-TODO.txt:
21703         Some more items for the TODO
21704
21705         * gst/gstcaps.c:
21706         * gst/gstcaps.h:
21707         Document GstCaps.
21708
21709 2005-11-09  Andy Wingo  <wingo@pobox.com>
21710
21711         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
21712         to work on something else now tho...
21713
21714         * gst/base/gstadapter.c: More adapter docs.
21715
21716         * gst/elements/gstfilesink.c (gst_file_sink_start) 
21717         (gst_file_sink_stop): New functions, replace the state change
21718         handler.
21719         (gst_file_sink_class_init): Hook up the start and stop functions.
21720         (gst_file_sink_base_init): Don't set the state change handler any
21721         more. It was a bit ugly too, being set from here...
21722         (gst_file_sink_get_property, gst_file_sink_set_property):
21723         Cleanups...
21724         (gst_file_sink_set_location): More robust check that doesn't call
21725         GST_STATE. Ugggggg.
21726
21727 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
21728
21729         * gst/base/gstbasetransform.c: (gst_base_transform_event):
21730           Hold STREAM_LOCK while pushing newsegment or tag events as well.
21731
21732 2005-11-08  Wim Taymans  <wim@fluendo.com>
21733
21734         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
21735         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
21736         (gst_base_sink_chain), (gst_base_sink_change_state):
21737         * gst/base/gstbasesink.h:
21738         * gst/base/gstbasesrc.h:
21739         * gst/gstelement.h:
21740         * gst/gstevent.h:
21741         Avoid excessive typechecking in macros.
21742
21743         * gst/gstminiobject.c: (gst_mini_object_get_type),
21744         (gst_mini_object_init), (gst_mini_object_new),
21745         (gst_mini_object_free):
21746         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
21747         (gst_object_finalize):
21748         Remove cruft code, optimize alloc_trace.
21749
21750 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
21751
21752         * docs/faq/gst-uninstalled:
21753           fix up PS1 for systems that try to reset it
21754
21755 2005-11-07  Wim Taymans  <wim@fluendo.com>
21756
21757         * gst/base/gstbasesrc.c: (gst_base_src_init),
21758         (gst_base_src_get_range):
21759         Set the segment_end to -1 initially. Fixed typefind.
21760
21761 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
21762
21763         * gst/base/gstadapter.c:
21764           Debug category should be 'adapter', not 'GstAdapter'.
21765           
21766         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
21767         (gst_collectpads_class_init), (gst_collectpads_init),
21768         (gst_collectpads_peek), (gst_collectpads_pop),
21769         (gst_collectpads_event), (gst_collectpads_chain):
21770           Add debug category and some debugging output. Use boilerplate
21771           macros. Remove some extraneous words from docs.
21772
21773 2005-11-05  Andy Wingo  <wingo@pobox.com>
21774
21775         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
21776         macro.
21777
21778 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
21779
21780         * docs/gst/gstreamer-sections.txt:
21781         * gst/gstcaps.h:
21782         * gst/gstinfo.c:
21783         * gst/gstminiobject.h:
21784         * gst/gstobject.h:
21785         * gst/gstutils.h:
21786           more docs added
21787
21788 2005-11-04  Wim Taymans  <wim@fluendo.com>
21789
21790         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21791         Small update to stop at the configured segment_end
21792         position.
21793
21794 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
21795
21796         * gst/gstregistry.c:
21797         * gst/gstregistry.h:
21798           added missing docs
21799
21800 2005-11-04  Edward Hervey  <edward@fluendo.com>
21801
21802         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21803         Check if we are doing a segment seek and have arrived at the
21804         end of that segment.
21805
21806 2005-11-04  Wim Taymans  <wim@fluendo.com>
21807
21808         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
21809         Don't leak a mutex unlock in case of an error.
21810
21811         * gst/gstbus.h:
21812         Doc fixes.
21813
21814 2005-11-04  Wim Taymans  <wim@fluendo.com>
21815
21816         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
21817         (gst_bus_post):
21818         Get the context to wake up only once.
21819
21820 2005-11-03  Wim Taymans  <wim@fluendo.com>
21821
21822         * check/states/sinks.c: (GST_START_TEST):
21823         Uncomment fixed check.
21824
21825         * docs/design/part-TODO.txt:
21826         Updated TODO.
21827
21828         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21829         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
21830         (gst_base_sink_get_position):
21831         If we are going to PLAYING, post the right pending state
21832         when we post the intermediate paused message.
21833
21834         * gst/gstelement.c: (gst_element_continue_state),
21835         (gst_element_set_state_func), (gst_element_change_state):
21836         Don't post state changes that were between the same state
21837         and were not ASYNC.
21838
21839 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
21840
21841         * docs/gst/gstreamer-sections.txt:
21842         * gst/gstcaps.h:
21843         * gst/gstinfo.c:
21844         * gst/gstminiobject.h:
21845         * gst/gstobject.h:
21846         * gst/gstutils.h:
21847           more docs and doc style fixes
21848
21849 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
21850
21851         * docs/gst/gstreamer-sections.txt:
21852         * gst/gstelement.c:
21853         * gst/gstminiobject.c:
21854         doc fixes
21855
21856 2005-11-03  Andy Wingo  <wingo@pobox.com>
21857
21858         * check/states/sinks.c (test_livesrc_sink): Add checks that the
21859         state-changed messages actually have the right order and the right
21860         values.
21861
21862 2005-11-03  Wim Taymans  <wim@fluendo.com>
21863
21864         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
21865         Added some more checks. Specifically the case where NO_PREROLL
21866         elements are in the pipeline.
21867
21868         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21869         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
21870         (gst_base_sink_get_position):
21871         Post READY->PAUSED state change messages too.
21872         Fix bug where VOID was posted as pending state...
21873
21874         * gst/gstbin.c: (gst_bin_recalc_state):
21875         use _element_continue_state() to continue the state change.
21876
21877         * gst/gstelement.c: (gst_element_continue_state),
21878         (gst_element_commit_state), (gst_element_set_state_func),
21879         (gst_element_change_state), (gst_element_change_state_func):
21880         Lots of state change cleanups, assign the STATE_RETURN in
21881         a new continue_state() function that also propagates the
21882         last return value from a state change to the app.
21883         Update some debug statements with proper category.
21884
21885 2005-11-03  Wim Taymans  <wim@fluendo.com>
21886
21887         * docs/design/part-events.txt:
21888         * docs/design/part-gstpipeline.txt:
21889         * docs/design/part-messages.txt:
21890         * docs/design/part-overview.txt:
21891         * docs/design/part-seeking.txt:
21892         * docs/design/part-states.txt:
21893         * docs/design/part-trickmodes.txt:
21894         * docs/manual/advanced-position.xml:
21895         Small docs updates.
21896
21897         * gst/gstobject.h:
21898         People think !! is ugly, this looks better.
21899
21900         * gst/gstpad.c: (gst_pad_set_blocked_async):
21901         Remove !! since it's fixed elsewhere now.
21902
21903 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
21904
21905         * gst/gstminiobject.h:
21906         * gst/gstobject.h:
21907           Add !! to _FLAG_IS_SET macros to make the result boolean.
21908
21909 2005-11-03  Edward Hervey  <edward@fluendo.com>
21910
21911         * gst/gstpad.c: (gst_pad_set_blocked_async):
21912         comparing a flag and a gboolean rarely returns coherent results...
21913         Added two characters (!!) to make that work correctly.
21914         
21915 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
21916
21917         * gst/gstbus.c: (gst_bus_class_init):
21918           Fix some typos.
21919           
21920         * gst/gstqueue.c: (gst_queue_loop):
21921           Don't assume a miniobject that isn't a buffer is an
21922           event (it could be that there is a refcounting
21923           problem somewhere and the pointer is stale and
21924           refers to an already destroyed miniobject).
21925
21926 2005-11-03  Julien MOUTTE  <julien@moutte.net>
21927
21928         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
21929
21930 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
21931
21932         * docs/manual/advanced-position.xml:
21933           Update seek example and explanations to current 0.9 API.
21934
21935         * gst/elements/gsttypefindelement.c:
21936         (gst_type_find_element_activate):
21937           Remove FIXME comment now that the found caps
21938           are unreffed.
21939
21940 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
21941
21942         * gst/gstregistryxml.c: (load_feature):
21943           Add another GST_STR_NULL instance
21944
21945 2005-11-02  Edward Hervey  <edward@fluendo.com>
21946
21947         * gst/gstpad.c: (handle_pad_block):
21948         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
21949         
21950 2005-11-02  Wim Taymans  <wim@fluendo.com>
21951
21952         * gst/gstbin.c:
21953         Fix typo in docs.
21954
21955         * gst/gstelement.c: (gst_element_commit_state):
21956         Remove unused value.
21957
21958         * gst/gstiterator.c:
21959         Mention that the returned element is reffed in the docs.
21960
21961 2005-11-02  Wim Taymans  <wim@fluendo.com>
21962
21963         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
21964         (gst_pad_push), (gst_pad_push_event):
21965         Unlock blocked pads when they are flushed.
21966
21967 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21968
21969         * docs/README:
21970         * docs/gst/gstreamer-sections.txt:
21971         * gst/gstbin.c:
21972           doc updates
21973         * gst/gstregistry.c: (gst_registry_scan_path_level):
21974           fix for a nasty little missed situation where an installed plug-in
21975           which was in the cache did not get overridden by an uninstalled one
21976           which was earlier in the plugin path because the newly created plugin
21977           for the uninstalled one (not in the registry) didn't get its
21978           ->registered set to TRUE
21979
21980 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
21981
21982         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
21983         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
21984         (gst_collectpads_is_active), (gst_collectpads_collect),
21985         (gst_collectpads_collect_range), (gst_collectpads_start),
21986         (gst_collectpads_stop), (gst_collectpads_peek),
21987         (gst_collectpads_pop), (gst_collectpads_available),
21988         (gst_collectpads_read), (gst_collectpads_flush):
21989           Guard public API with assertions.
21990         
21991         * gst/gstpad.c:
21992           Fix docs for gst_pad_set_link_function().
21993
21994 2005-11-02  Johan Dahlin  <johan@gnome.org>
21995
21996         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
21997         Unref found_caps after we used it.
21998
21999 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
22000
22001         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
22002           Don't try to ref NULL.
22003
22004 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
22005
22006         * win32/common/config.h.in:
22007           provide a GST_FUNCTION that just gives a string for now
22008
22009 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
22010
22011         * win32/common/gstenumtypes.c: (register_gst_object_flags),
22012         (gst_object_flags_get_type), (register_gst_bin_flags),
22013         (gst_bin_flags_get_type), (register_gst_buffer_flag),
22014         (gst_buffer_flag_get_type), (register_gst_bus_flags),
22015         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
22016         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
22017         (gst_clock_return_get_type), (register_gst_clock_entry_type),
22018         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
22019         (gst_clock_flags_get_type), (register_gst_state),
22020         (gst_state_get_type), (register_gst_state_change_return),
22021         (gst_state_change_return_get_type), (register_gst_state_change),
22022         (gst_state_change_get_type), (register_gst_element_flags),
22023         (gst_element_flags_get_type), (register_gst_core_error),
22024         (gst_core_error_get_type), (register_gst_library_error),
22025         (gst_library_error_get_type), (register_gst_resource_error),
22026         (gst_resource_error_get_type), (register_gst_stream_error),
22027         (gst_stream_error_get_type), (register_gst_event_type),
22028         (gst_event_type_get_type), (register_gst_seek_type),
22029         (gst_seek_type_get_type), (register_gst_seek_flags),
22030         (gst_seek_flags_get_type), (register_gst_format),
22031         (gst_format_get_type), (register_gst_index_certainty),
22032         (gst_index_certainty_get_type), (register_gst_index_entry_type),
22033         (gst_index_entry_type_get_type),
22034         (register_gst_index_lookup_method),
22035         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
22036         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
22037         (gst_index_resolver_method_get_type), (register_gst_index_flags),
22038         (gst_index_flags_get_type), (register_gst_debug_level),
22039         (gst_debug_level_get_type), (register_gst_debug_color_flags),
22040         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
22041         (gst_iterator_result_get_type), (register_gst_iterator_item),
22042         (gst_iterator_item_get_type), (register_gst_message_type),
22043         (gst_message_type_get_type), (register_gst_mini_object_flags),
22044         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
22045         (gst_pad_link_return_get_type), (register_gst_flow_return),
22046         (gst_flow_return_get_type), (register_gst_activate_mode),
22047         (gst_activate_mode_get_type), (register_gst_pad_direction),
22048         (gst_pad_direction_get_type), (register_gst_pad_flags),
22049         (gst_pad_flags_get_type), (register_gst_pad_presence),
22050         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
22051         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
22052         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
22053         (gst_plugin_error_get_type), (register_gst_plugin_flags),
22054         (gst_plugin_flags_get_type), (register_gst_rank),
22055         (gst_rank_get_type), (register_gst_query_type),
22056         (gst_query_type_get_type), (register_gst_tag_merge_mode),
22057         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
22058         (gst_tag_flag_get_type), (register_gst_task_state),
22059         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
22060         (gst_alloc_trace_flags_get_type),
22061         (register_gst_type_find_probability),
22062         (gst_type_find_probability_get_type), (register_gst_uri_type),
22063         (gst_uri_type_get_type), (register_gst_parse_error),
22064         (gst_parse_error_get_type):
22065         * win32/common/gstversion.h:
22066           update win32 copies
22067
22068 2005-11-01  Luca Ognibene  <luogni@tin.it>
22069
22070         * gst/gst.c:
22071           fix docs. popt is dead, long live GOption.
22072
22073 2005-10-31  Wim Taymans  <wim@fluendo.com>
22074
22075         * gst/gstbuffer.h:
22076         Small doc fix.
22077
22078 2005-10-31  Andy Wingo  <wingo@pobox.com>
22079
22080         * Boo!
22081
22082         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
22083
22084         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
22085         need to serialize property notifications on GLib 2.8. GLib 2.6 has
22086         the possibility of deadlocks here if code calling notify() or
22087         set() has a lock that can be taken in another notify handler (ABBA
22088         with class lock and e.g. python GIL state lock).
22089
22090 2005-10-28  Julien MOUTTE  <julien@moutte.net>
22091
22092         * gst/gstbus.c: Doc updates.
22093
22094 2005-10-28  Wim Taymans  <wim@fluendo.com>
22095
22096         * docs/design/part-TODO.txt:
22097         * gst/gstiterator.c:
22098         * gst/gstsystemclock.c:
22099         * gst/gstsystemclock.h:
22100         Doc updates.
22101
22102 2005-10-28  Edward Hervey  <edward@fluendo.com>
22103
22104         * docs/gst/gstreamer-docs.sgml:
22105         * docs/gst/gstreamer-sections.txt:
22106         the GstURIType documentation page is private, it only defines GstURIType
22107         which should be defined in the GstURIHandler page
22108         
22109 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
22110
22111         * gst/gstbin.c: (gst_bin_class_init):
22112         * gst/gstbin.h:
22113         * gst/gstutils.c:
22114         Documentation updates.
22115
22116 2005-10-28  Wim Taymans  <wim@fluendo.com>
22117
22118         * docs/gst/gstreamer-sections.txt:
22119         * gst/gstclock.c:
22120         * gst/gstclock.h:
22121         Documented the clocks.
22122
22123 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
22124
22125         * docs/gst/gstreamer-sections.txt:
22126           move some macros to private sections
22127         * gst/gstminiobject.c:
22128         * gst/gstminiobject.h:
22129           add descriptions provided by ds and some more
22130         * gst/gstpad.h:
22131           mark macro as to be removed
22132
22133 2005-10-28  Wim Taymans  <wim@fluendo.com>
22134
22135         * docs/design/part-TODO.txt:
22136         Add an item to TODO.
22137
22138         * gst/gstiterator.c: (gst_iterator_fold),
22139         (gst_iterator_find_custom):
22140         * gst/gstiterator.h:
22141         Add iterator docs.
22142
22143 2005-10-28  Wim Taymans  <wim@fluendo.com>
22144
22145         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
22146         (gst_base_transform_init):
22147         Don't leak class.
22148
22149         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
22150         An EOS event marks the queue as completely filled.
22151
22152 2005-10-27  Wim Taymans  <wim@fluendo.com>
22153
22154         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22155         (gst_base_sink_do_sync), (gst_base_sink_get_position):
22156         Some more debugging.
22157
22158         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
22159         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
22160         (gst_base_transform_event), (gst_base_transform_getrange),
22161         (gst_base_transform_chain):
22162         * gst/base/gstbasetransform.h:
22163         Fix debugging,
22164         Protect transform and concurrent buffer alloc with a new lock.
22165         Try not to break ABI/API.
22166
22167 2005-10-27  Wim Taymans  <wim@fluendo.com>
22168
22169         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22170         (gst_base_src_init), (gst_base_src_query),
22171         (gst_base_src_default_newsegment),
22172         (gst_base_src_configure_segment), (gst_base_src_do_seek),
22173         (gst_base_src_send_event), (gst_base_src_event_handler),
22174         (gst_base_src_pad_get_range), (gst_base_src_loop),
22175         (gst_base_src_unlock), (gst_base_src_default_negotiate),
22176         (gst_base_src_start), (gst_base_src_deactivate),
22177         (gst_base_src_activate_push), (gst_base_src_change_state):
22178         Move some stuff around and cleanup things.
22179
22180 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
22181
22182         * gst/base/gstbasesrc.c: (gst_base_src_query):
22183           Add missing break statements.
22184
22185 2005-10-27  Wim Taymans  <wim@fluendo.com>
22186
22187         * check/gst/gstbin.c: (GST_START_TEST):
22188         An extra refcount is taken in basesrc.
22189
22190         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
22191         (gst_base_src_get_range), (gst_base_src_pad_get_range),
22192         (gst_base_src_loop):
22193         Small cleanups, check for flushing after being unlocked from the 
22194         LIVE_LOCK. take refcounts correctly (not yet everywhere).
22195         Don't send out EOS when going to READY.
22196
22197 2005-10-27  Wim Taymans  <wim@fluendo.com>
22198
22199         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22200         (gst_base_sink_get_position):
22201         Some more debug.
22202
22203         * gst/gstbin.c: (message_check), (bin_replace_message),
22204         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22205         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22206         (bin_query_duration_init), (bin_query_duration_fold),
22207         (bin_query_duration_done), (bin_query_generic_fold),
22208         (gst_bin_query):
22209         * tools/gst-launch.c: (main):
22210         Remove old option.
22211
22212 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
22213
22214         * examples/controller/audio-example.c: (main):
22215         * examples/queue/queue.c: (event_loop):
22216         * gst/base/gstbasetransform.h:
22217         * gst/gstelement.c: (gst_element_send_event):
22218         * gst/gstevent.h:
22219         * gst/gstpad.c: (gst_pad_send_event):
22220           fixing examples
22221           fixing docs typos
22222           changing log priority in error situations
22223
22224 2005-10-25  Wim Taymans  <wim@fluendo.com>
22225
22226         * gst/gstbin.c: (message_check), (bin_replace_message),
22227         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22228         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22229         (bin_query_duration_init), (bin_query_duration_fold),
22230         (bin_query_duration_done), (bin_query_generic_fold),
22231         (gst_bin_query):
22232         Some doc and debug updates.
22233         Cache previously requested query DURATION for speed. invalidate
22234         cached duration if element posts a DURATION message.
22235
22236 2005-10-25  Wim Taymans  <wim@fluendo.com>
22237
22238         * docs/design/part-TODO.txt:
22239         Update TODO.
22240
22241         * gst/gstbin.c: (message_check), (bin_replace_message),
22242         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22243         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22244         (bin_query_duration_init), (bin_query_duration_fold),
22245         (bin_query_duration_done), (bin_query_generic_fold),
22246         (gst_bin_query):
22247         Handle SEGMENT_START/DONE messages correctly.
22248         More evolved query algorithm that handles duration queries
22249         correctly.
22250
22251         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
22252         (gst_element_get_state_func), (gst_element_abort_state),
22253         (gst_element_commit_state), (gst_element_lost_state):
22254         Some more debugging.
22255
22256         * gst/gstmessage.h:
22257         Added doc.
22258
22259 2005-10-25  Wim Taymans  <wim@fluendo.com>
22260
22261         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
22262         Don't use invalid stream_time.
22263
22264         * gst/gstevent.c: (gst_event_new_newsegment):
22265         stream_time in newsegment cannot be undefined.
22266
22267 2005-10-24  Wim Taymans  <wim@fluendo.com>
22268
22269         * gst/gstbus.c:
22270         Doc fix.
22271
22272         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
22273         (gst_queue_loop):
22274         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
22275
22276 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
22277
22278         * docs/libs/tmpl/gstdparam.sgml:
22279         * docs/libs/tmpl/gstdplinint.sgml:
22280         * docs/libs/tmpl/gstdpman.sgml:
22281         * docs/libs/tmpl/gstdpsmooth.sgml:
22282         * docs/libs/tmpl/gstunitconvert.sgml:
22283           these are obsolete
22284
22285 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
22286
22287         * configure.ac:
22288           back to HEAD
22289
22290 === release 0.9.4 ===
22291
22292 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22293
22294         * configure.ac:
22295           releasing 0.9.4, "Tyrannosaurus Rex"
22296
22297 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
22298
22299         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
22300         (gst_file_sink_get_current_offset):
22301           Use fseeko() and ftello() if available. When falling back on
22302           lseek() to get the current offset, fflush() first to make sure
22303           everything is up-to-date and we get the right offset.
22304
22305 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22306
22307         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22308         * gst/base/gstbasesrc.c: (gst_base_src_loop):
22309         * gst/gsterror.c: (_gst_stream_errors_init):
22310         * gst/gsterror.h:
22311         * gst/gstqueue.c: (gst_queue_loop):
22312         * po/POTFILES.in:
22313           remove prematurely added error category and clean up the instances
22314
22315 2005-10-21  Wim Taymans  <wim@fluendo.com>
22316
22317         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22318         (gst_base_sink_get_position), (gst_base_sink_query),
22319         (gst_base_sink_change_state):
22320         Simply set the right flag when going to playing, that's all
22321         we need to do instead of calling a function inside the object
22322         lock (that could take the lock as well and deadlock)
22323
22324 2005-10-21  Wim Taymans  <wim@fluendo.com>
22325
22326         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
22327         (gst_base_src_loop):
22328         Don't warn, the peer element knows what to do best when
22329         the seek failed, it might try something else.
22330
22331 2005-10-21  Wim Taymans  <wim@fluendo.com>
22332
22333         * gst/base/gstbasesrc.c: (gst_base_src_init),
22334         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
22335         Fix seeking.
22336
22337 2005-10-21  Wim Taymans  <wim@fluendo.com>
22338
22339         * docs/design/part-segments.txt:
22340         More docs.
22341
22342         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
22343         Correctly set caps, even on the subbufer.
22344
22345 2005-10-21  Wim Taymans  <wim@fluendo.com>
22346
22347         * docs/gst/gstreamer-docs.sgml:
22348         * docs/gst/gstreamer-sections.txt:
22349         * gst/gstelement.h:
22350         * gst/gstevent.c:
22351         * gst/gstevent.h:
22352         * gst/gstmessage.h:
22353         * gst/gstpad.h:
22354         * gst/gstparse.h:
22355         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
22356         * gst/gsttask.h:
22357         * gst/gstutils.c:
22358         * gst/gstutils.h:
22359         And 2% more doc coverage.
22360
22361 2005-10-21  Andy Wingo  <wingo@pobox.com>
22362
22363         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
22364         position reporting.
22365
22366 2005-10-20  Wim Taymans  <wim@fluendo.com>
22367
22368         * gst/gsterror.c: (gst_error_get_message):
22369         * gst/gstparse.h:
22370         * gst/gstquery.h:
22371         * gst/gststructure.c:
22372         * gst/gsttrace.c:
22373         * gst/gstutils.c:
22374         More docs.
22375
22376 2005-10-20  Wim Taymans  <wim@fluendo.com>
22377
22378         * gst/gstbuffer.h:
22379         * gst/gstpad.c:
22380         * gst/gstparse.c:
22381         Another 1% more coverage.
22382
22383 2005-10-20  Wim Taymans  <wim@fluendo.com>
22384
22385         * docs/gst/gstreamer-sections.txt:
22386         * gst/gstelement.c: (gst_element_get_state_func),
22387         (gst_element_abort_state), (gst_element_commit_state),
22388         (gst_element_lost_state):
22389         * gst/gstevent.h:
22390         * gst/gstquery.c: (gst_query_set_position),
22391         (gst_query_parse_position), (gst_query_set_duration),
22392         (gst_query_parse_duration), (gst_query_new_convert):
22393         * gst/gstutils.c:
22394         Yay! 1% more docs coverage.
22395
22396 2005-10-20  Wim Taymans  <wim@fluendo.com>
22397
22398         * gst/gstpad.h:
22399         * gst/gstquery.c: (gst_query_set_position),
22400         (gst_query_parse_position), (gst_query_set_duration),
22401         (gst_query_parse_duration), (gst_query_new_convert):
22402         * gst/gstquery.h:
22403         * gst/gstutils.c: (gst_element_query_convert):
22404         * gst/gstutils.h:
22405         Docs and consistency fixes.
22406
22407 2005-10-20  Wim Taymans  <wim@fluendo.com>
22408
22409         * gst/gsttask.c:
22410         * gst/gsttask.h:
22411         More docs.
22412
22413 2005-10-20  Wim Taymans  <wim@fluendo.com>
22414
22415         * gst/gstbin.c: (message_check), (bin_replace_message),
22416         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22417         (update_degree), (gst_bin_sort_iterator_next),
22418         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
22419         Reworked the message handling a bit, cache the messages instead of
22420         only the senders. alows us to do more in the future.
22421
22422 2005-10-20  Wim Taymans  <wim@fluendo.com>
22423
22424         * docs/design/part-TODO.txt:
22425         Update TODO
22426
22427         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22428         (gst_base_sink_query):
22429         Don't use clock time to report position when in EOS.
22430
22431 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
22432
22433         * tools/gst-inspect.c: (print_interfaces),
22434         (print_element_properties_info), (print_element_info):
22435           Fix interface output with gst-inspect -a; don't print
22436           newlines after double/float properties.
22437
22438 2005-10-20  Wim Taymans  <wim@fluendo.com>
22439
22440         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22441         (gst_base_sink_query):
22442         Speed up current position calculation.
22443
22444         * gst/base/gstbasesrc.c: (gst_base_src_query),
22445         (gst_base_src_default_newsegment):
22446         Correctly set stream position in newsegment.
22447
22448         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
22449         (update_degree), (gst_bin_sort_iterator_next),
22450         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
22451         * gst/gstmessage.c: (gst_message_new_custom):
22452         Clean up debugging info
22453
22454         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
22455         (gst_queue_loop), (gst_queue_handle_src_query):
22456         Pause task faster.
22457
22458 2005-10-19  Wim Taymans  <wim@fluendo.com>
22459
22460         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22461         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22462         Fix query handling again.
22463
22464 2005-10-19  Wim Taymans  <wim@fluendo.com>
22465
22466         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22467         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22468         * gst/base/gstbasesrc.c: (gst_base_src_query):
22469         * gst/elements/gstfilesink.c: (gst_file_sink_query):
22470         * gst/elements/gsttypefindelement.c:
22471         (gst_type_find_handle_src_query), (find_element_get_length),
22472         (gst_type_find_element_activate):
22473         API change fix.
22474
22475         * gst/gstquery.c: (gst_query_new_position),
22476         (gst_query_set_position), (gst_query_parse_position),
22477         (gst_query_new_duration), (gst_query_set_duration),
22478         (gst_query_parse_duration), (gst_query_set_segment),
22479         (gst_query_parse_segment):
22480         * gst/gstquery.h:
22481         Bundling query position/duration is not a good idea since duration
22482         does not change much and we don't want to recalculate it for every
22483         position query, so they are separated again..
22484         Base value in segment query is not needed.
22485
22486         * gst/gstqueue.c: (gst_queue_handle_src_query):
22487         * gst/gstutils.c: (gst_element_query_position),
22488         (gst_element_query_duration), (gst_pad_query_position),
22489         (gst_pad_query_duration):
22490         * gst/gstutils.h:
22491         Updates for query API change.
22492         Added some docs here and there.
22493
22494 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
22495
22496         * check/gst/gstbin.c: (GST_START_TEST):
22497         * check/gst/gstghostpad.c: (GST_START_TEST):
22498         * check/pipelines/cleanup.c: (GST_START_TEST):
22499           wait on thread to die so we can check refcount correctly
22500
22501 2005-10-18  Wim Taymans  <wim@fluendo.com>
22502
22503         * check/pipelines/stress.c: (GST_START_TEST):
22504         Make check a little more time consuming.
22505
22506 2005-10-18  Wim Taymans  <wim@fluendo.com>
22507
22508         * check/Makefile.am:
22509         * check/pipelines/stress.c: (GST_START_TEST),
22510         (simple_launch_lines_suite), (main):
22511         Small state change torture test.
22512
22513         * docs/design/part-states.txt:
22514         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22515         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
22516         (gst_base_sink_change_state):
22517         Never take state lock from streaming thread, clean up ugly
22518         hacks. Unfortunatly core does not yet support nice ways to
22519         async commit state.
22520         
22521         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
22522         (bin_bus_handler):
22523         Start state recalc if a STATE_DIRTY message is posted, but only
22524         on the toplevel bin.
22525
22526         * gst/gstelement.c: (gst_element_sync_state_with_parent),
22527         (gst_element_get_state_func), (gst_element_abort_state),
22528         (gst_element_commit_state), (gst_element_lost_state),
22529         (gst_element_set_state_func), (gst_element_change_state):
22530         * gst/gstelement.h:
22531         State variables are now protected with the LOCK, the state
22532         lock is only used to serialize _set_state().
22533
22534 2005-10-18  Wim Taymans  <wim@fluendo.com>
22535
22536         * check/gst/gstbin.c: (GST_START_TEST):
22537         * check/gst/gstmessage.c: (GST_START_TEST):
22538         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22539         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
22540         (bin_bus_handler):
22541         * gst/gstelement.c: (gst_element_abort_state),
22542         (gst_element_commit_state), (gst_element_lost_state):
22543         * gst/gstmessage.c: (gst_message_new_state_changed),
22544         (gst_message_new_state_dirty), (gst_message_new_segment_start),
22545         (gst_message_new_segment_done), (gst_message_new_duration),
22546         (gst_message_parse_state_changed),
22547         (gst_message_parse_segment_start),
22548         (gst_message_parse_segment_done), (gst_message_parse_duration):
22549         * gst/gstmessage.h:
22550         * tools/gst-launch.c: (event_loop):
22551         Seriously, this is better than a previous commit as we only need
22552         to notify the fact that an element changed state in a streaming
22553         thread, marking the state of the parents dirty, hence the 
22554         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
22555         message.
22556
22557 2005-10-18  Wim Taymans  <wim@fluendo.com>
22558
22559         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
22560         (gst_bin_recalc_func):
22561         * gst/gstelement.c: (gst_element_set_clock),
22562         (gst_element_abort_state), (gst_element_lost_state):
22563         Cleanups, prepare for state change fixes.
22564
22565 2005-10-18  Wim Taymans  <wim@fluendo.com>
22566
22567         * gst/gstbin.h:
22568         * gst/gstelement.c: (gst_element_class_init),
22569         (gst_element_set_state), (gst_element_set_state_func):
22570         * gst/gstelement.h:
22571         Pending ABI changes.
22572         GThreadPool in GstBinClass to monitor async state changes.
22573         state_cookie in GstElement to detect concurrent gst/set state.
22574         set_state is now virtual too in case a very complicated element
22575         has to be constructed.
22576
22577 2005-10-18  Wim Taymans  <wim@fluendo.com>
22578
22579         * check/gst/gstbin.c: (GST_START_TEST):
22580         * check/gst/gstmessage.c: (GST_START_TEST):
22581         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22582         * gst/gstbin.c: (bin_bus_handler):
22583         * gst/gstelement.c: (gst_element_commit_state),
22584         (gst_element_lost_state):
22585         * gst/gstmessage.c: (gst_message_new_state_changed),
22586         (gst_message_new_segment_start), (gst_message_new_segment_done),
22587         (gst_message_new_duration), (gst_message_parse_state_changed),
22588         (gst_message_parse_segment_start),
22589         (gst_message_parse_segment_done), (gst_message_parse_duration):
22590         * gst/gstmessage.h:
22591         * tools/gst-launch.c: (event_loop):
22592         Make messages future proof.
22593         state-change gets a flag if it was a message comming from the
22594         streaming thread.
22595         segment-start/stop can also be specified in other formats.
22596         A message to notify an app that a pipeline changed playback 
22597         duration.
22598         Also fix a GstMessage leak in -launch
22599
22600 2005-10-18  Andy Wingo  <wingo@pobox.com>
22601
22602         * gst/gstelement.c (gst_element_dispose): More helpful message.
22603
22604 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
22605
22606         reviewed by: <delete if not using a buddy>
22607
22608         * common/gtk-doc.mak:
22609
22610 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
22611
22612         * gst/gstregistry.c: (gst_registry_scan_path_level):
22613           unref a plug-in we get that was already initialized
22614
22615 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
22616
22617         * docs/gst/gstreamer-sections.txt:
22618         * docs/libs/gstreamer-libs-sections.txt:
22619         * gst/gstelement.h:
22620           add new api entries
22621           hide internal macro
22622
22623 2005-10-17  Andy Wingo  <wingo@pobox.com>
22624
22625         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
22626         cleanup.
22627
22628         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
22629
22630         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
22631
22632         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
22633         (gst_element_get_state_func): Better debug message.
22634         (gst_element_commit_state): s/INFO/DEBUG/.
22635         (gst_element_lost_state, gst_element_change_state): 
22636
22637         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
22638         (gst_message_new_custom): s/INFO/LOG/.
22639
22640 2005-10-17  Michael Smith <msmith@fluendo.com>
22641
22642         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
22643           Check if end time is valid using end time, not start time.
22644
22645 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
22646
22647         * check/gst-libs/controller.c: (GST_START_TEST),
22648         (gst_controller_suite):
22649         * libs/gst/controller/gstcontroller.c:
22650         (gst_controlled_property_set_interpolation_mode):
22651         * libs/gst/controller/gstcontroller.h:
22652         * libs/gst/controller/gstinterpolation.c:
22653         * testsuite/controller/.cvsignore:
22654         * testsuite/controller/Makefile.am:
22655         * testsuite/controller/interpolator.c:
22656           merge controller testsuites
22657           fix broken tests
22658           remove mem-chunk from docs
22659
22660 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
22661
22662         * gst/gstmemchunk.c:
22663         * gst/gstmemchunk.h:
22664         * gst/gsttrashstack.c:
22665         * gst/gsttrashstack.h:
22666           out.  get out.  you're fired.  to the Attic !
22667
22668 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
22669
22670         * gst/gstcaps.c: (gst_caps_intersect):
22671           fix signedness issues in a (hopefully) correct way
22672         * gst/gstelement.c: (gst_element_pads_activate):
22673           some debugging
22674         * gst/gstobject.c: (gst_object_set_parent):
22675           some debugging
22676
22677 2005-10-17  Julien MOUTTE  <julien@moutte.net>
22678
22679         * gst/gstvalue.h: Fix prototypes.
22680
22681 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22682
22683         * docs/gst/gstreamer-sections.txt:
22684         * gst/gst.c: (gst_version_string):
22685         * gst/gst.h:
22686         * gst/gstversion.h.in:
22687         * win32/common/libgstreamer.def:
22688           add gst_version_string ()
22689
22690 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22691
22692         * configure.ac:
22693           clean up further
22694         * gst/gst.c: (init_post):
22695         * win32/common/config.h.in:
22696           it's PLUGINDIR now
22697         * gst/gstcaps.c: (gst_caps_intersect):
22698           use gint64, the range could be bigger than a guint
22699
22700 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22701
22702         * gst/gstclock.h:
22703           document potential problem in 2038
22704
22705 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22706
22707         * gst/gstcaps.c: (gst_caps_intersect):
22708           Fix guint j diving under 0
22709
22710 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22711
22712         * configure.ac:
22713         * win32/common/config.h:
22714         * win32/common/config.h.in:
22715           check for process.h, declares getpid() on Windows
22716         * gst/gstinfo.c:
22717           include process.h if we have it
22718         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
22719         * gst/gstmemchunk.h:
22720           fix signedness issues
22721         * win32/common/libgstreamer.def:
22722           fix get_type's
22723
22724 2005-10-16  Julien MOUTTE  <julien@moutte.net>
22725
22726         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
22727         fix. Because of unsigned ints, caps intersection was going nuts and
22728         trying to access structures with G_MAXUINT index. That fixes
22729         videotestsrc ! ffmpegcolorspace ! fakesink
22730         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
22731         consistency.
22732
22733 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22734
22735         * configure.ac:
22736           use the gettext macro
22737         * gst/elements/gstelements.c:
22738         * gst/gst.c:
22739         * gst/indexers/gstindexers.c:
22740           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
22741         * win32/common/config.h:
22742           updated config.h
22743         * win32/common/config.h.in:
22744           add the template to generate config.h
22745         * win32/common/gstenumtypes.c:
22746         * win32/common/gstversion.h:
22747           updated copies
22748
22749 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22750
22751         * gst/gst.c: (gst_version):
22752         * gst/gstversion.h.in:
22753           add the nano
22754
22755 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
22756
22757         * gst/gstevent.h:
22758           Oops, add missing closing bracket.
22759
22760 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22761
22762         * configure.ac:
22763           use common m4's for argument checking
22764
22765 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
22766
22767         * docs/gst/gstreamer-sections.txt:
22768         * gst/gstevent.h:
22769           Add GST_EVENT_TYPE_NAME() macro.
22770
22771 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22772
22773         * gst/gstinfo.c:
22774         * gst/gstpluginfeature.c:
22775         * gst/gsttask.c:
22776           privatize more symbols
22777
22778 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22779
22780         * configure.ac:
22781           add srcdir, builddir includes to GST_ALL_CFLAGS, since
22782           everything that uses GStreamer API should have the includes
22783
22784 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22785
22786         * docs/gst/gstreamer-sections.txt:
22787         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
22788         * gst/gstvalue.h:
22789           give each value a _get_type, removes the DATA exports
22790
22791 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22792
22793         * gst/gst.c:
22794         * gst/gst.h:
22795           remove _gst_registry_auto_load, not used anymore
22796         * gst/gstbin.c: (gst_bin_get_type):
22797         * gst/gstbin.h:
22798         * gst/gstelement.c: (gst_element_get_type):
22799         * gst/gstelement.h:
22800         * gst/gstobject.c: (gst_object_get_type):
22801         * gst/gstobject.h:
22802         * gst/gstpad.c: (gst_pad_get_type):
22803         * gst/gstpad.h:
22804           make _get_type functions similar, fixes data export from library
22805
22806 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22807
22808         * configure.ac:
22809           correctly make conditionals
22810         * gst/elements/Makefile.am:
22811         * gst/elements/gstelements.c:
22812           fix typo causing fdsrc not to build
22813
22814 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22815
22816         * testsuite/Makefile.am:
22817         * testsuite/bytestream/.cvsignore:
22818         * testsuite/bytestream/Makefile.am:
22819         * testsuite/bytestream/filepadsink.c:
22820         * testsuite/bytestream/gstbstest.c:
22821         * testsuite/bytestream/test1.c:
22822         * testsuite/bytestream/testfile1:
22823         * testsuite/caps/normalisation.c:
22824         * testsuite/caps/random.c: (main):
22825         * testsuite/cleanup/.cvsignore:
22826         * testsuite/cleanup/Makefile.am:
22827         * testsuite/cleanup/cleanup1.c:
22828         * testsuite/cleanup/cleanup2.c:
22829         * testsuite/cleanup/cleanup3.c:
22830         * testsuite/cleanup/cleanup4.c:
22831         * testsuite/cleanup/cleanup5.c:
22832         * testsuite/controller/interpolator.c:
22833         * testsuite/debug/printf_extension.c: (main):
22834         * testsuite/elements/tee.c:
22835         * testsuite/negotiation/.cvsignore:
22836         * testsuite/negotiation/Makefile.am:
22837         * testsuite/negotiation/pad_link.c:
22838         * testsuite/pad/Makefile.am:
22839         * testsuite/pad/chainnopull.c:
22840         * testsuite/pad/getnopush.c:
22841         * testsuite/pad/link.c:
22842         * testsuite/refcounting/sched.c: (create_pipeline):
22843         * testsuite/registry/Makefile.am:
22844         * testsuite/registry/gst-print-formats.c:
22845         * testsuite/schedulers/.cvsignore:
22846         * testsuite/schedulers/142183-2.c:
22847         * testsuite/schedulers/142183.c:
22848         * testsuite/schedulers/143777-2.c:
22849         * testsuite/schedulers/143777.c:
22850         * testsuite/schedulers/147713.c:
22851         * testsuite/schedulers/147819.c:
22852         * testsuite/schedulers/147894-2.c:
22853         * testsuite/schedulers/147894.c:
22854         * testsuite/schedulers/Makefile.am:
22855         * testsuite/schedulers/group_link.c:
22856         * testsuite/schedulers/queue_link.c:
22857         * testsuite/schedulers/relink.c:
22858         * testsuite/schedulers/unlink.c:
22859         * testsuite/schedulers/unref.c:
22860         * testsuite/schedulers/useless_iteration.c:
22861         * testsuite/states/bin.c:
22862           clean out/remove some stuff from the testsuite directories
22863
22864 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22865
22866         * configure.ac:
22867           check for some headers
22868         * gst/elements/Makefile.am:
22869         * gst/elements/gstelements.c:
22870           don't compile fdsrc without sys/socket.h
22871         * gst/indexers/Makefile.am:
22872         * gst/indexers/gstindexers.c: (plugin_init):
22873           don't compile fileindex without mmap
22874
22875 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22876
22877         * configure.ac:
22878           reorganize
22879           clean up
22880           document more
22881           remove cruft
22882         * check/Makefile.am:
22883         * docs/gst/Makefile.am:
22884         * examples/helloworld/Makefile.am:
22885         * gst/Makefile.am:
22886         * gst/base/Makefile.am:
22887         * gst/check/Makefile.am:
22888         * gst/elements/Makefile.am:
22889         * gst/indexers/Makefile.am:
22890         * gst/parse/Makefile.am:
22891         * libs/gst/controller/Makefile.am:
22892         * libs/gst/dataprotocol/Makefile.am:
22893         * examples/helloworld/helloworld.c: (event_loop):
22894           compile fixes, though it's not being compiled currently
22895
22896 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
22897
22898         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
22899           Add some simple tests for the new taglist date API.
22900
22901 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
22902
22903         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
22904         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
22905           Beautify 'last-message' output: print 'none' for buffer timestamps
22906           and durations if none is set; improve alignment with next messages.
22907
22908 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
22909
22910         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
22911         * gst/gstpluginfeature.h:
22912         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
22913         * gst/gstregistry.h:
22914         * docs/gst/gstreamer-sections.txt:
22915           Add new API to check plugin feature version requirements.
22916
22917         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
22918           Some basic tests for the above.         
22919
22920 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22921
22922         * gst/gststructure.c: (gst_structure_to_string):
22923           guard against NULL printf - happens when for example
22924           a message structure with GstClock gets serialized
22925
22926 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
22927
22928         * gst/base/gstcollectpads.c: (gst_collectpads_event):
22929           Fix presumable copy'n'pasto.
22930
22931 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22932
22933         * gst/elements/gstfakesrc.h:
22934         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
22935         * gst/elements/gsttypefindelement.c:
22936           fix some signedness
22937         * gst/elements/gstfilesink.c: (gst_file_sink_render):
22938           I wonder if this could actually write +2GB files before
22939
22940 2005-10-13  Andy Wingo  <wingo@pobox.com>
22941
22942         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
22943         Fix Timmeke Waymans bug.
22944         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
22945         string of the proper length to gst_caps_from_string. There's a
22946         potential for, before this fix, that this could cause someone
22947         connecting over the network to cause a segfault if the payload is
22948         not NUL-terminated.
22949
22950 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
22951
22952         * docs/design/draft-push-pull.txt:
22953         * docs/design/part-overview.txt:
22954         * docs/random/TODO-pre-0.9:
22955         * docs/random/old/ChangeLog.gstreamer:
22956         * gst/base/gstpushsrc.c:
22957         * gst/gstclock.c:
22958           fixed typos
22959
22960 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22961
22962         * gst/glib-compat.c: (gst_flags_get_first_value):
22963         * gst/glib-compat.h:
22964         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
22965         (gst_value_compare_double), (gst_value_serialize_flags):
22966           GLib 2.6 g_flags_get_first_value has a bug that triggers an
22967           infinite loop
22968
22969 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22970
22971         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22972         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
22973           fix up debugging
22974         * tools/gst-launch.c: (event_loop):
22975           print out clock nicely
22976
22977 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
22978
22979         * docs/gst/gstreamer-sections.txt:
22980         * gst/gsttaglist.h:
22981         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
22982         (gst_tag_list_get_date_index):
22983           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
22984           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
22985
22986 2005-10-13  Julien MOUTTE  <julien@moutte.net>
22987
22988         * gst/base/gstcollectpads.c: (gst_collectpads_event),
22989         (gst_collectpads_chain):
22990         * gst/base/gstcollectpads.h: Handle newsegment and store informations
22991         in CollectData.
22992
22993 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
22994
22995         * docs/gst/gstreamer-sections.txt:
22996         * gst/gst.c:
22997         * gst/gsterror.h:
22998         * tools/gst-inspect.c: (main):
22999         * tools/gst-launch.c: (main):
23000         * tools/gst-run.c: (main):
23001         * tools/gst-xmlinspect.c: (main):
23002           fix GOption context leaks
23003           doc fixes
23004
23005 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
23006
23007         * gst/gstbus.c:
23008           use HAVE_UNISTD_H
23009         * win32/common/config.h:
23010           update config
23011         * win32/vs6/grammar.dsp:
23012         * win32/vs6/libgstelements.dsp:
23013         * win32/vs6/libgstreamer.dsp:
23014           update vs6 files
23015
23016 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23017
23018         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
23019         * gst/base/gstbasesrc.c: (gst_base_src_query):
23020           fix more guint64<->gdouble conversions
23021
23022 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23023
23024         * Makefile.am:
23025           add win32-update target
23026         * win32/common/gstconfig.h:
23027         * win32/common/gstenumtypes.c:
23028         * win32/common/gstenumtypes.h:
23029         * win32/common/gstversion.h:
23030           add files that visual studio can't generate
23031
23032 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23033
23034         * Makefile.am:
23035           add a win32-update target
23036         * configure.ac:
23037
23038 2005-10-12  Wim Taymans  <wim@fluendo.com>
23039
23040         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
23041         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
23042         * gst/gstelement.c: (gst_element_commit_state),
23043         (gst_element_set_state):
23044         Protect flags with proper lock.
23045         unref provided cached clock in dispose.
23046
23047 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
23048
23049         * gst/gst.c:
23050         * gst/gstminiobject.h:
23051         * gst/gstpad.h:
23052         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
23053           removed unused flags from miniobject
23054           doc fixes
23055
23056 2005-10-12  Wim Taymans  <wim@fluendo.com>
23057
23058         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
23059         (gst_file_sink_event), (gst_file_sink_render):
23060         Flush before seeking.
23061
23062 2005-10-12  Andy Wingo  <wingo@pobox.com>
23063
23064         * gst/gst.c (gst_init_check): Ignore unknown options, as has
23065         always been the case.
23066
23067 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
23068
23069         * check/gst/gstbin.c: (GST_START_TEST):
23070         * docs/gst/gstreamer-sections.txt:
23071         * gst/base/gstbasesink.c: (gst_base_sink_init):
23072         * gst/base/gstbasesrc.c: (gst_base_src_init),
23073         (gst_base_src_get_range), (gst_base_src_check_get_range),
23074         (gst_base_src_start), (gst_base_src_stop):
23075         * gst/base/gstbasesrc.h:
23076         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
23077         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
23078         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
23079         (bin_bus_handler):
23080         * gst/gstbin.h:
23081         * gst/gstbuffer.h:
23082         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
23083         * gst/gstbus.h:
23084         * gst/gstelement.c: (gst_element_is_locked_state),
23085         (gst_element_set_locked_state), (gst_element_commit_state),
23086         (gst_element_set_state):
23087         * gst/gstelement.h:
23088         * gst/gstindex.c: (gst_index_init):
23089         * gst/gstindex.h:
23090         * gst/gstminiobject.h:
23091         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
23092         (gst_object_set_parent):
23093         * gst/gstobject.h:
23094         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
23095         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
23096         * gst/gstpad.h:
23097         * gst/gstpadtemplate.h:
23098         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
23099         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
23100         * gst/gstpipeline.h:
23101         * gst/indexers/gstfileindex.c: (gst_file_index_load),
23102         (gst_file_index_commit):
23103         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
23104         * testsuite/pad/link.c: (gst_test_src_init),
23105         (gst_test_filter_init), (gst_test_sink_init):
23106         * testsuite/states/locked.c: (main):
23107           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
23108           moved bitshift from macro to enum definition
23109
23110 2005-10-12  Wim Taymans  <wim@fluendo.com>
23111
23112         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
23113         * gst/elements/gstfilesink.c: (gst_file_sink_event),
23114         (gst_file_sink_render):
23115         Some more debugging info.
23116
23117 2005-10-12  Wim Taymans  <wim@fluendo.com>
23118
23119         * docs/design/part-states.txt:
23120         * tools/gst-launch.c: (main):
23121         Some doc updates.
23122         Revert non-intentional change.
23123
23124 2005-10-12  Wim Taymans  <wim@fluendo.com>
23125
23126         * check/gst/gstbin.c: (GST_START_TEST):
23127         * check/gst/gstelement.c: (GST_START_TEST):
23128         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
23129         * check/gst/gstghostpad.c: (GST_START_TEST):
23130         * check/gst/gstpipeline.c: (GST_START_TEST):
23131         * check/pipelines/simple_launch_lines.c: (run_pipeline):
23132         * check/states/sinks.c: (GST_START_TEST):
23133         * gst/elements/gsttypefindelement.c: (stop_typefinding):
23134         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
23135         (gst_bin_remove_func), (gst_bin_get_state_func),
23136         (gst_bin_recalc_state), (gst_bin_change_state_func),
23137         (bin_bus_handler):
23138         * gst/gstelement.c: (gst_element_get_state_func),
23139         (gst_element_get_state), (gst_element_abort_state),
23140         (gst_element_commit_state), (gst_element_set_state),
23141         (gst_element_change_state), (gst_element_change_state_func):
23142         * gst/gstelement.h:
23143         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
23144         (gst_pipeline_provide_clock_func):
23145         * gst/gstutils.c: (gst_element_link_pads_filtered):
23146         * tools/gst-launch.c: (main):
23147         * tools/gst-typefind.c: (main):
23148         Use GstClockTime in _get_state() instead of GTimeVal.
23149         Remove old code in gstutils.c
23150
23151 2005-10-12  Andy Wingo  <wingo@pobox.com>
23152
23153         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
23154         removed.
23155
23156         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
23157         there is no task. Shouldn't affect any code, as nothing in our
23158         plugins checks this return value.
23159         (gst_pad_stop_task): Also take the stream lock if the pad has no
23160         task. Docs updated.
23161
23162 2005-10-12  Wim Taymans  <wim@fluendo.com>
23163
23164         * gst/gstpad.c: (pre_activate), (post_activate),
23165         (gst_pad_activate_pull), (gst_pad_activate_push):
23166         Cleanup activation code. Reset old state if
23167         activation failed.
23168
23169 2005-10-12  Wim Taymans  <wim@fluendo.com>
23170
23171         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23172         (gst_base_sink_change_state):
23173         No need to prerol after receiving EOS.
23174
23175         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
23176         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
23177         * gst/elements/gstidentity.c: (gst_identity_event):
23178         Print events more verbosely.
23179
23180 2005-10-12  Wim Taymans  <wim@fluendo.com>
23181
23182         * check/Makefile.am:
23183         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
23184         * check/states/sinks2.c:
23185         Moved sinks2 testcode in sinks check.
23186
23187         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
23188         (gst_bin_remove_func), (gst_bin_recalc_state),
23189         (gst_bin_change_state_func), (bin_bus_handler):
23190         Fix potential race condition when _get_state() iterated over an
23191         ASYNC element right before it posted a state completion.
23192
23193         * gst/gstclock.h:
23194         Do proper cast here.
23195
23196         * gst/gstevent.c: (gst_event_new_newsegment),
23197         (gst_event_parse_newsegment):
23198         A playback rate of 0.0 is not allowed.
23199
23200 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23201
23202         * win32/common/config.h:
23203         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
23204         (_trewinddir), (_ttelldir), (_tseekdir):
23205         * win32/common/dirent.h:
23206         * win32/common/gtchar.h:
23207         * win32/common/libgstbase.def:
23208         * win32/common/libgstreamer.def:
23209         * win32/vs6/grammar.dsp:
23210         * win32/vs6/gst_inspect.dsp:
23211         * win32/vs6/gst_launch.dsp:
23212         * win32/vs6/gstreamer.dsw:
23213         * win32/vs6/libgstbase.dsp:
23214         * win32/vs6/libgstelements.dsp:
23215         * win32/vs6/libgstreamer.dsp:
23216           Visual Studio 6 project files, and a new common directory.
23217           Phear.
23218
23219 2005-10-11  Wim Taymans  <wim@fluendo.com>
23220
23221         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23222         (gst_base_sink_do_sync), (gst_base_sink_query),
23223         (gst_base_sink_change_state):
23224         * gst/base/gstbasesink.h:
23225         Correctly parse newsegment info.
23226
23227 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23228
23229         * gst/gst.c: (init_post):
23230           split plugin paths correctly
23231
23232 2005-10-11  Wim Taymans  <wim@fluendo.com>
23233
23234         * check/gst/gstevent.c: (GST_START_TEST):
23235         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23236         (gst_base_sink_change_state):
23237         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
23238         * gst/base/gstbasetransform.c: (gst_base_transform_event):
23239         * gst/elements/gstfilesink.c: (gst_file_sink_event):
23240         * gst/gstevent.c: (gst_event_new_newsegment),
23241         (gst_event_parse_newsegment):
23242         * gst/gstevent.h:
23243         Added extra flag to newsegment for future API freeze.
23244         Updated check and base elements.
23245
23246 2005-10-11  Julien MOUTTE  <julien@moutte.net>
23247
23248         * gst/base/gstcollectpads.c: (gst_collectpads_init),
23249         (gst_collectpads_add_pad), (gst_collectpads_pop),
23250         (gst_collectpads_event), (gst_collectpads_chain):
23251         * gst/base/gstcollectpads.h: Handle EOS correctly.
23252
23253 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23254
23255         * tools/gst-launch.c: (main):
23256           more null protecting
23257
23258 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23259
23260         * gst/gst-i18n-lib.h:
23261           check for ENABLE_NLS, not GETTEXT_PACKAGE
23262         * gst/gstregistry.c: (gst_registry_add_plugin),
23263         (gst_registry_scan_path_level),
23264         (_gst_registry_remove_cache_plugins):
23265           protect possibly NULL strings
23266         * gst/parse/types.h:
23267           config.h already included before
23268         * tools/gst-inspect.c: (main):
23269           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
23270           check for ENABLE_NLS, not GETTEXT_PACKAGE
23271         * tools/gst-launch.c: (main):
23272           check for ENABLE_NLS, not GETTEXT_PACKAGE
23273
23274 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23275
23276         * configure.ac:
23277           if we don't have glib, fail before testing 2.8
23278         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
23279           fix a leak, should fix plugins-base testsuite
23280
23281 2005-10-11  Andy Wingo  <wingo@pobox.com>
23282
23283         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
23284         take the mode we're going to as an arg. Go head and set the mode
23285         and flushing flags now, so that if the activate function starts a
23286         thread all the flags will be in the right state.
23287         (post_activate): Renamed also. Just handle making sure streaming
23288         finishes for the deactivation case, and setting the deactivated
23289         mode.
23290         (gst_pad_set_active): Complain loudly if deactivation fails.
23291         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
23292         (gst_pad_activate_push): Adapt to pre/post_activate changes,
23293         remove the terrible hack.
23294
23295 2005-10-11  Wim Taymans  <wim@fluendo.com>
23296
23297         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23298         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
23299         (gst_bin_recalc_state), (gst_bin_change_state_func),
23300         (gst_bin_dispose), (bin_bus_handler):
23301         * gst/gstbin.h:
23302         Prepare to make current EOS message queue more generic.
23303         Fix some typos.
23304
23305         * gst/gstevent.c: (gst_event_new_newsegment),
23306         (gst_event_parse_newsegment):
23307         * gst/gstevent.h:
23308         Rename base to stream_time.
23309
23310         * gst/gstmessage.h:
23311         Fix typo in docs.
23312
23313 2005-10-11  Wim Taymans  <wim@fluendo.com>
23314
23315         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23316         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
23317         (gst_bin_change_state_func), (bin_bus_handler):
23318         * gst/gstbin.h:
23319         Work on proper clock selection.
23320
23321 2005-10-11  Edward Hervey  <edward@fluendo.com>
23322
23323         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
23324         * libs/gst/controller/gstcontroller.h:
23325         Added GList* version of _remove_properties() in order to be able to wrap
23326         it in bindings.
23327
23328 2005-10-11  Wim Taymans  <wim@fluendo.com>
23329
23330         * docs/design/part-states.txt:
23331         Some more docs.
23332
23333         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
23334         (gst_bin_change_state_func), (bin_bus_handler):
23335         Doc updates. Don't distribute the same clock over and over again.
23336
23337         * gst/gstclock.c:
23338         * gst/gstclock.h:
23339         Doc updates.
23340
23341         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
23342         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
23343         (gst_pad_send_event):
23344         * gst/gstpad.h:
23345         Make probe emission threadsafe again.
23346         Register quarks and move _get_name() from utils.
23347         Doc updates.
23348
23349         * gst/gstpipeline.c: (gst_pipeline_class_init),
23350         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23351         Only redistribute the clock of it changed.
23352
23353         * gst/gstsystemclock.h:
23354         Doc updates. 
23355
23356         * gst/gstutils.c:
23357         * gst/gstutils.h:
23358         Moved the _flow_get_name() to GstPad.
23359
23360 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23361
23362         * check/gst-libs/gdp.c: (GST_START_TEST):
23363         * check/gst/gstcaps.c: (GST_START_TEST):
23364         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
23365         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
23366         (gst_dp_packet_from_caps):
23367           fix more valgrind warnings before turning up the heat
23368
23369 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23370
23371         * gst/parse/grammar.y:
23372           some cleanup before the hacking
23373
23374 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23375
23376         * gst/base/gstbasesrc.c: (gst_base_src_query):
23377           use conversions
23378         * gst/gstutils.c: (gst_guint64_to_gdouble),
23379         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
23380         * gst/gstutils.h:
23381           externalize, basesrc uses it
23382           obviously the implementation needs testing
23383
23384 2005-10-10  Wim Taymans  <wim@fluendo.com>
23385
23386         * tests/sched/Makefile.am:
23387         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
23388         (make_pipeline3), (make_pipeline4), (print_elem), (main):
23389
23390 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23391
23392         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
23393           apparently converting from guint64 to double is not implemented
23394           on MSVC
23395
23396 2005-10-10  Wim Taymans  <wim@fluendo.com>
23397
23398         * check/Makefile.am:
23399         * check/generic/states.c: (GST_START_TEST):
23400         * check/gst/gstbin.c: (GST_START_TEST):
23401         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
23402         * check/states/sinks.c: (GST_START_TEST):
23403         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
23404         (main):
23405         Check fixes, use API as stated in design docs, remove hacks.
23406
23407         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23408         (gst_base_sink_change_state):
23409         Catch stopping our task while we're shutting down.
23410
23411         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
23412         (gst_bin_remove_func), (gst_bin_get_state_func),
23413         (gst_bin_recalc_state), (gst_bin_change_state_func),
23414         (bin_bus_handler):
23415         * gst/gstbin.h:
23416         * gst/gstelement.c: (gst_element_init),
23417         (gst_element_get_state_func), (gst_element_abort_state),
23418         (gst_element_commit_state), (gst_element_lost_state),
23419         (gst_element_set_state), (gst_element_change_state),
23420         (gst_element_change_state_func):
23421         * gst/gstelement.h:
23422         New state change algorithm (see #318116)
23423
23424         * gst/gstpipeline.c: (gst_pipeline_class_init),
23425         (gst_pipeline_init), (gst_pipeline_set_property),
23426         (gst_pipeline_get_property), (do_pipeline_seek),
23427         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23428         * gst/gstpipeline.h:
23429         Remove crude state change hacks.
23430
23431         * gst/gstutils.h:
23432         Remove crude hacks.
23433
23434         * tools/gst-launch.c: (main):
23435         Fixes for state change. Needs some more work to fully use the
23436         new stuff.
23437
23438 2005-10-10  Andy Wingo  <wingo@pobox.com>
23439
23440         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
23441
23442         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
23443         this flag, but it's not even in GLib 2.6. Odd. Hack around the
23444         issue.
23445
23446 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23447
23448         * gst/gstiterator.c: (gst_iterator_new):
23449           Fix my previous commit: GTypes passed to gst_iterator_new()
23450           can be fundamental types.
23451
23452 2005-10-10  Wim Taymans  <wim@fluendo.com>
23453
23454         * gst/gstelement.c: (gst_element_iterate_pad_list),
23455         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
23456         (gst_element_iterate_sink_pads):
23457         Use src/sink pads lists for the respective iterators instead
23458         of filtering.
23459
23460 2005-10-10  Andy Wingo  <wingo@pobox.com>
23461
23462         Merged in popt removal + GOption addition patch from Ronald, bug
23463         #169772.
23464
23465         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
23466         GstElement macros around, remove popt-related symbols, add goption
23467         stuff.
23468
23469         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
23470         
23471         * docs/gst/Makefile.am:
23472         * docs/libs/Makefile.am: No POPT_CFLAGS.
23473         
23474         * examples/manual/Makefile.am:
23475         * docs/manual/basics-init.xml: Doc updates with an example.
23476         
23477         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
23478         (gst_init), (parse_one_option), (parse_goption_arg):
23479         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
23480         bit of hand merging and debugging to get the GOption stuff working
23481         tho.
23482         
23483         * tests/Makefile.am:
23484         * tools/Makefile.am:
23485         * tools/gst-inspect.c: (main):
23486         * tools/gst-launch.c: (main):
23487         * tools/gst-run.c: (main):
23488         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
23489
23490 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23491
23492         * gst/gstiterator.c: (gst_iterator_new):
23493           Add assertions to make sure passed GType is likely to really
23494           be a GType (as the compiler won't catch it if the size and
23495           GType arguments get mixed up, see #318447).
23496
23497 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
23498
23499         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
23500
23501         * gst/gstbin.c: (gst_bin_iterate_sorted):
23502           Pass GType and size arguments to gst_iterator_new() in the right
23503           order (maybe we should make _new() take the GType as first argument
23504           just like _new_list()?) (#318447).
23505           
23506
23507 2005-10-10  Wim Taymans  <wim@fluendo.com>
23508
23509         * gst/gstelement.c: (gst_element_finalize):
23510         And free the GStaticRecMutex too
23511
23512 2005-10-10  Andy Wingo  <wingo@pobox.com>
23513
23514         * gst/gstelement.c (gst_element_init, gst_element_finalize):
23515         Allocate and free the mutex properly.
23516
23517         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
23518         New macros.
23519         (GstElement): The state_lock is now recursive. Rebuild your
23520         plugins, suckers. Old macros adapted.
23521
23522         * docs/gst/gstreamer-sections.txt: Doc updates.
23523
23524         * gst/gstutils.h:
23525         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
23526         (g_static_rec_cond_wait): Ported from state changes patch, while
23527         we wait on bug #317802 to be solved in a well-distributed GLib.
23528
23529         * gst/gstelement.c (gst_element_change_state_func): Renamed from
23530         gst_element_change_state, variable name changes.
23531         (gst_element_change_state): Split out of gst_element_set_state in
23532         preparation for the state change merge. Doesn't pay attention to
23533         the 'transition' argument.
23534         (gst_element_set_state): Updates, hopefully purely cosmetic.
23535         (gst_element_sync_state_with_parent): MT-safety. Ported from the
23536         state change patch.
23537         (gst_element_get_state_func): Renamed from get_state, cosmetic
23538         changes.
23539
23540 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23541
23542         * gst/elements/gstelements.c:
23543         * win32/GStreamer.vcproj:
23544         * win32/config.h:
23545         * win32/dirent.c: (_tseekdir):
23546         * win32/gst-inspect.vcproj:
23547         * win32/gst-launch.vcproj:
23548         * win32/gstconfig.h:
23549         * win32/gstelements.vcproj:
23550         * win32/gstenumtypes.c: (gst_object_flags_get_type):
23551         * win32/gstreamer.def:
23552         * win32/msvc71.sln:
23553           updates for the win32 build (patch from Sebastien Moutte)
23554
23555 2005-10-10  Andy Wingo  <wingo@pobox.com>
23556
23557         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
23558         gst_bin_get_state, cleaned up (but no logic changes).
23559         (bin_element_is_sink): Comment updates.
23560         (sink_iterator_filter): Remove needless cast.
23561         (gst_bin_iterate_sinks): Doc update.
23562         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
23563         cleaned up (but no logic changes).
23564
23565         * check/states/sinks.c (test_src_sink): Cleanups from the state
23566         change patch.
23567         (test_livesrc_sink): Sync on the state.
23568
23569         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
23570         the state change patch.
23571
23572         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
23573         change patch.
23574
23575         * check/gst/gstbin.c: Merge in some style fixes and additional
23576         checks from Wim's state change patch.
23577
23578 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23579
23580         * gst/base/gsttypefindhelper.c: (helper_find_peek),
23581         (gst_type_find_helper):
23582           Check whether we have the requested data already in our list of
23583           cached buffers before pulling a new buffer; also make the buffer
23584           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
23585
23586 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23587
23588         * gst/gstcaps.c:
23589         * gst/gstevent.c:
23590           doc updates
23591         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
23592           don't use long long, it's not portable.  Replacing with
23593           gint64 seems to work; let's hope no skeletons fall out of the closet.
23594
23595 2005-10-10  Andy Wingo  <wingo@pobox.com>
23596
23597         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
23598
23599 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
23600
23601         * docs/gst/gstreamer-sections.txt:
23602         * gst/gstevent.c:
23603         * gst/gstevent.h:
23604         * gst/gstinfo.c:
23605         * gst/gstinfo.h:
23606         * gst/gstmessage.c: (gst_message_parse_state_changed):
23607         * gst/gstpad.c:
23608         * gst/gstpad.h:
23609           more docs, fix compilation
23610
23611 2005-10-09  Philippe Khalaf <burger@speedy.org>
23612         * gst/gstmessage.c:
23613           Fixed a few forgotten variables on previous commit
23614
23615 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
23616
23617         * gst/base/gsttypefindhelper.c: (helper_find_peek):
23618           Fix evil typefind crasher: getrange() might return a short
23619           buffer at the end of a file, but gst_type_find_peek() must
23620           either return the full data as requested or NULL, but
23621           never a short buffer.
23622
23623 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
23624
23625         * gst/gstmessage.c: (gst_message_new_state_changed),
23626         (gst_message_parse_state_changed):
23627         * gst/gstmessage.h:
23628           don't use "new", it's a C++ keyword
23629
23630 2005-10-08  Wim Taymans  <wim@fluendo.com>
23631
23632         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
23633         * gst/gstelement.c: (gst_element_post_message):
23634         * gst/gstpipeline.c: (gst_pipeline_change_state):
23635         Small docs and debug updates.
23636
23637 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
23638
23639         * docs/gst/gstreamer-sections.txt:
23640         * gst/gstelementfactory.c:
23641         * gst/gstevent.c:
23642         * gst/gsttaglist.c:
23643           more docs
23644
23645 2005-10-08  Wim Taymans  <wim@fluendo.com>
23646
23647         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
23648         (gst_bin_dispose), (bin_bus_handler):
23649         Fix typos, add comments.
23650         Clear EOS list when going to PAUSED from any direction and do it
23651         in a threadsafe way.
23652         Get base time in a threadsafe way too.
23653         Fix confusing debug in the change_state function.
23654         Various other small cleanups.
23655         
23656         * gst/gstelement.c: (gst_element_post_message):
23657         Fix very verbose bus posting code.
23658
23659         * gst/gstpipeline.c: (gst_pipeline_class_init),
23660         (gst_pipeline_set_property), (gst_pipeline_get_property),
23661         (gst_pipeline_change_state):
23662         Small ARG_ -> PROP_ cleanup
23663
23664 2005-10-08  Wim Taymans  <wim@fluendo.com>
23665
23666         * gst/gstbin.c: (is_eos), (bin_bus_handler):
23667         Do a less CPU demanding EOS check because we can.
23668
23669 2005-10-08  Wim Taymans  <wim@fluendo.com>
23670
23671         * libs/gst/dataprotocol/dataprotocol.c:
23672         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
23673         (gst_dp_packet_from_event):
23674         * libs/gst/dataprotocol/dataprotocol.h:
23675         * libs/gst/dataprotocol/dp-private.h:
23676         It's about time we bump the version number.
23677         Since event types don't fit in the guint8 anymore describing
23678         the payload type, make payload type 16 bits wide.
23679
23680 2005-10-08  Wim Taymans  <wim@fluendo.com>
23681
23682         * docs/design/part-TODO.txt:
23683         * docs/design/part-clocks.txt:
23684         * docs/design/part-events.txt:
23685         * docs/design/part-gstbin.txt:
23686         * docs/design/part-gstelement.txt:
23687         * docs/design/part-gstpipeline.txt:
23688         * docs/design/part-live-source.txt:
23689         * docs/design/part-messages.txt:
23690         * docs/design/part-overview.txt:
23691         * docs/design/part-states.txt:
23692         Many doc updates.
23693
23694 2005-10-08  Wim Taymans  <wim@fluendo.com>
23695
23696         * gst/gstevent.c:
23697         * gst/gstevent.h:
23698         Fix event quark registration.
23699         Add some space between events so we can insert them in the
23700         right groups.
23701
23702 2005-10-08  Wim Taymans  <wim@fluendo.com>
23703
23704         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23705         (gst_base_sink_handle_buffer):
23706         Better log message.
23707
23708         * gst/gstbus.h:
23709         * gst/gstelement.h:
23710         More docs.
23711
23712         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
23713         (gst_queue_set_property), (gst_queue_get_property):
23714         * gst/gstqueue.h:
23715         Remove old unused properties.
23716
23717 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
23718         * docs/gst/gstreamer-sections.txt:
23719         * gst/gstmessage.c:
23720         * gst/gstmessage.h:
23721         * gst/gstminiobject.c:
23722         * gst/gstminiobject.h:
23723         * gst/gstobject.h:
23724         * gst/gstpad.h:
23725         * gst/gstutils.h:
23726           lots of new docs and doc fixes
23727
23728 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23729
23730         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
23731         * gst/gstplugin.h:
23732         * gst/gstregistry.c: (gst_registry_lookup_locked),
23733         (gst_registry_scan_path_level):
23734         * gst/gstregistryxml.c: (load_plugin):
23735           Only ever load one plugin for a given plugin basename.
23736           This ensures correct overriding of GST_PLUGIN_PATH over
23737           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
23738           system installed plugins.
23739
23740 2005-10-08  Wim Taymans  <wim@fluendo.com>
23741
23742         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23743         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
23744         Prepare for doing QOS.
23745
23746 2005-10-08  Wim Taymans  <wim@fluendo.com>
23747
23748         * check/gst/gstbin.c: (GST_START_TEST):
23749         * check/pipelines/cleanup.c: (GST_START_TEST):
23750         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
23751         Allow new clock message too.
23752
23753 2005-10-08  Wim Taymans  <wim@fluendo.com>
23754
23755         * gst/gstmessage.c: (gst_message_new_error),
23756         (gst_message_new_warning), (gst_message_new_tag),
23757         (gst_message_new_state_changed), (gst_message_new_clock_provide),
23758         (gst_message_new_clock_lost), (gst_message_new_new_clock),
23759         (gst_message_new_segment_start), (gst_message_new_segment_done),
23760         (gst_message_parse_state_changed),
23761         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
23762         (gst_message_parse_new_clock):
23763         * gst/gstmessage.h:
23764         Also carry the clock in question.
23765
23766 2005-10-08  Wim Taymans  <wim@fluendo.com>
23767
23768         * gst/gstmessage.c: (gst_message_new_custom),
23769         (gst_message_new_eos), (gst_message_new_error),
23770         (gst_message_new_warning), (gst_message_new_tag),
23771         (gst_message_new_state_changed), (gst_message_new_clock_provide),
23772         (gst_message_new_new_clock), (gst_message_new_segment_start),
23773         (gst_message_new_segment_done), (gst_message_parse_state_changed),
23774         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
23775         * gst/gstmessage.h:
23776         Clean up.
23777         Added clock related messages.
23778
23779         * gst/gstpipeline.c: (gst_pipeline_change_state):
23780         Post message when the clock changed.
23781
23782         * tools/gst-launch.c: (event_loop):
23783         Print new clock.
23784
23785 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
23786
23787         * tools/gst-inspect.c: (print_element_properties_info):
23788           Can't pass NULL strings to g_print() on windows.
23789
23790 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23791
23792         * docs/Makefile.am:
23793         * docs/gst/Makefile.am:
23794         * docs/gst/gstreamer-docs.sgml:
23795         * docs/gst/running.xml:
23796         * docs/version.entities.in:
23797           add a chapter on running GStreamer.
23798           document GST_DEBUG and GST_PLUGIN* env vars
23799
23800 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23801
23802         * Makefile.am:
23803           remove include dir
23804         * configure.ac:
23805           remove PLUGINS_BUILDDIR stuff
23806         * gst/gst.c: (init_post):
23807           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
23808         * idiottest.mak:
23809           remove, it was condescending and not needed
23810
23811 2005-10-08  Wim Taymans  <wim@fluendo.com>
23812
23813         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
23814         (gst_base_sink_handle_object), (gst_base_sink_event),
23815         (gst_base_sink_wait), (gst_base_sink_handle_event),
23816         (gst_base_sink_change_state):
23817         * gst/base/gstbasesink.h:
23818         Repost EOS message while going to PLAYING if still EOS.
23819         Make sure that when receiving a FLUSH_START we don't attempt
23820         to sync on the clock anymore.
23821
23822 2005-10-08  Wim Taymans  <wim@fluendo.com>
23823
23824         * tools/gst-launch.c: (event_loop):
23825         Better message printout.
23826
23827 2005-10-08  Wim Taymans  <wim@fluendo.com>
23828
23829         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
23830         (gst_bin_child_proxy_get_children_count):
23831         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
23832         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
23833         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
23834         (gst_child_proxy_set_valist):
23835         * gst/parse/grammar.y:
23836         Make ChildProxy threadsafe and fix mem leaks.
23837
23838 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23839
23840         * gst/gst.c: (init_post):
23841           debug the GST_PLUGIN_ env vars
23842
23843 2005-10-08  Wim Taymans  <wim@fluendo.com>
23844
23845         * check/gst/gstbin.c: (GST_START_TEST):
23846         * check/gst/gstmessage.c: (GST_START_TEST):
23847         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
23848         * gst/gstelement.c: (gst_element_commit_state),
23849         (gst_element_lost_state):
23850         * gst/gstmessage.c: (gst_message_new_state_changed),
23851         (gst_message_parse_state_changed):
23852         * gst/gstmessage.h:
23853         * tools/gst-launch.c: (event_loop):
23854         Added extra field to STATE_CHANGE message with the pending
23855         state, which will be different from the new state soon.
23856
23857 2005-10-08  Wim Taymans  <wim@fluendo.com>
23858
23859         * gst/gstbus.c: (gst_bus_pop):
23860         * gst/gstclock.c:
23861         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
23862         Small cleanups and doc updates.
23863
23864 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23865
23866         * gst/gst.c: (init_pre):
23867         * gst/gstbin.c: (gst_bin_add_func):
23868           log distributing clocks and base time
23869         * gst/gstregistry.c: (gst_registry_add_plugin),
23870         (gst_registry_scan_path_level), (gst_registry_scan_path):
23871           clean up the debugging output a little
23872         * gst/gstutils.c: (gst_element_state_get_name):
23873           warn about a memleak (I've actually seen this be used, though
23874           it was probably a bug)
23875
23876 2005-10-07  Wim Taymans  <wim@fluendo.com>
23877
23878         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
23879         (gst_base_src_init), (gst_base_src_default_newsegment),
23880         (gst_base_src_newsegment), (gst_base_src_do_seek),
23881         (gst_base_src_loop), (gst_base_src_start):
23882         * gst/base/gstbasesrc.h:
23883         Make the newsegment event customizable by subclasses.
23884
23885 2005-10-07  Wim Taymans  <wim@fluendo.com>
23886
23887         * gst/gstevent.c: (gst_event_new_buffersize),
23888         (gst_event_parse_buffersize):
23889         * gst/gstevent.h:
23890         New event for future idea.
23891
23892 2005-10-07  Andy Wingo  <wingo@pobox.com>
23893
23894         * gst/gstelement.c (gst_element_post_message): Doc update.
23895
23896         * docs/gst/gstreamer-sections.txt: Update.
23897
23898         * gst/gstmessage.c (gst_message_new_application): Made into a
23899         function like honest API calls.
23900         (gst_message_new_element): New message type.
23901
23902         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
23903
23904         * check/elements/fakesrc.c (test_no_preroll): New check, checks
23905         that setting a live fakesrc to PAUSED returns NO_PREROLL both
23906         times.
23907
23908         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
23909         NO_PREROLL from gst_element_change_state to fall through.
23910
23911 2005-10-07  Wim Taymans  <wim@fluendo.com>
23912
23913         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
23914         (gst_ghost_pad_do_activate_push):
23915         Activating a ghostpad with no internal pad in push mode
23916         is ok.
23917
23918 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
23919
23920         * gst/gstobject.h:
23921           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
23922           Fixes compilation on Windows.
23923
23924 2005-10-07  Michael Smith <msmith@fluendo.com>
23925
23926         * tools/gst-inspect.c:
23927           Print out feature and plugin count at the end when printing out
23928           all features.
23929
23930 2005-10-04  Michael Smith <msmith@fluendo.com>
23931
23932         * gst/gsterror.c: (_gst_stream_errors_init):
23933           Add another error string used in a few existing plugins.
23934
23935         * gst/gstplugin.c:
23936         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
23937         * tools/gst-inspect.c: (print_element_info):
23938           When a feature disappears from a plugin (and the feature exists in
23939           the cached registry file), things went horribly wrong. This isn't a
23940           complete fix, we should actually be removing the 'missing' features
23941           from the features list when we load the actual plugin. That's not
23942           yet implemented. 
23943
23944 2005-10-04  Johan Dahlin  <johan@gnome.org>
23945
23946         * check/gst/gstiterator.c: (GST_START_TEST):
23947         * gst/gstbin.c: (gst_bin_iterate_elements),
23948         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
23949         * gst/gstelement.c: (gst_element_iterate_pads):
23950         * gst/gstformat.c: (gst_format_iterate_definitions):
23951         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
23952         (gst_iterator_new_list), (gst_iterator_filter):
23953         * gst/gstiterator.h:
23954         * gst/gstquery.c: (gst_query_type_iterate_definitions):
23955         Add a GType to GstIterator, update callsites and tests.
23956
23957 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23958
23959         * gst/gstpad.c: (gst_pad_event_default_dispatch):
23960           give events a chance to be handled by event probes when the pad
23961           is not linked
23962
23963 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23964
23965         * gst/gstevent.c: (gst_event_type_get_name),
23966         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
23967         * gst/gstevent.h:
23968           add string representations for event types
23969
23970 2005-10-06  Wim Taymans  <wim@fluendo.com>
23971
23972         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
23973         Don't use NULL pointers.
23974
23975 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23976
23977         * gst/gst_private.h:
23978         * gst/gstbus.c:
23979         * gst/gstelement.c:
23980         * gst/gstinfo.c:
23981         * gst/gstpluginfeature.c:
23982           widen the debug category in output to fit the biggest one we have
23983           add a bus category and use it
23984           play with the colors
23985           fix up some categories
23986
23987 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23988
23989         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
23990           add push activation of sink ghost pads.
23991           Andye, please verify
23992
23993 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
23994
23995         * gst/gstutils.c: (gst_element_link_pads):
23996           fix a bug in the case where neither element has a pad
23997         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
23998           add a test for that case
23999
24000 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
24001
24002         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
24003           emit have-data before checking for peers.  This allows
24004           for probe handlers to connect elements.  This helps autopluggers.
24005         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
24006         (gst_pad_suite):
24007           add six checks, linked/unlinked with no/true/false probe
24008
24009 2005-10-04  Wim Taymans  <wim@fluendo.com>
24010
24011         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
24012         (gst_fake_sink_event), (gst_fake_sink_preroll),
24013         (gst_fake_sink_render), (gst_fake_sink_change_state):
24014         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
24015         (gst_fake_src_get_property), (gst_fake_src_create),
24016         (gst_fake_src_stop):
24017         * gst/elements/gstidentity.c: (gst_identity_stop):
24018         Protect last_message with lock.
24019
24020 2005-10-04  Edward Hervey  <edward@fluendo.com>
24021
24022         * gst/gstformat.h: 
24023         Added precision in the comments for GST_FORMAT_DEFAULT
24024
24025 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
24026
24027         * tools/gst-launch.c: (main):
24028           Don't try to run erroneous pipelines.
24029
24030 2005-10-04  Julien MOUTTE  <julien@moutte.net>
24031
24032         * gst/gstbus.c: We don't need this header.
24033
24034 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
24035
24036         * configure.ac:
24037           back to development
24038
24039 === release 0.9.3 ===
24040
24041 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
24042
24043         * README:
24044         * configure.ac:
24045           Releasing 0.9.3, "Unregistered"
24046
24047 2005-10-03  Andy Wingo  <wingo@pobox.com>
24048
24049         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
24050         whereby calling a pad's activatepush() function can start a thread
24051         that starts to push or pull before the pad gets the FLUSHING flag
24052         unset. Hack around it by holding the stream lock until the flag is
24053         set. Need to replace this with a proper solution. Together with
24054         the ghost pad fixes, this fixes mp3 playing/tagreading.
24055
24056         * docs/design/part-gstghostpad.txt: Add a note about activation of
24057         proxy pads outside of ghost pads.
24058
24059         * gst/gstghostpad.c: Implement the ghost pad activation design.
24060
24061 2005-10-02  Andy Wingo  <wingo@pobox.com>
24062
24063         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
24064         It is volatile, after all.
24065
24066         * docs/design/part-gstghostpad.txt: Flesh out activation with
24067         ghost pads.
24068
24069         * gst/base/gstbasesrc.c (gst_base_src_init): Use
24070         GST_DEBUG_FUNCPTR.
24071
24072 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
24073
24074         * configure.ac:
24075           Fix (unused) AM_CONDITIONAL tests.
24076
24077 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
24078
24079         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
24080
24081         * gst/gstutils.c: (gst_pad_query_convert):
24082           Add assertion that makes sure src_val is >=0, just like
24083           gst_query_new_convert() has. (#315895)
24084
24085 2005-09-30  Edward Hervey  <edward@fluendo.com>
24086
24087         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
24088         Let's not iterate pads we're not interested in, it avoids getting 
24089         sky-high refcounts on sinkpad.
24090
24091 2005-09-30  Wim Taymans  <wim@fluendo.com>
24092
24093         * gst/gstelement.c: (gst_element_set_state),
24094         (gst_element_change_state):
24095         Small tweak, element in ASYNC remains ASYNC.
24096
24097 2005-09-30  Wim Taymans  <wim@fluendo.com>
24098
24099         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
24100         Only error is an error.
24101
24102         * gst/gstbin.c: (gst_bin_change_state):
24103         Better debugging.
24104
24105         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
24106         Also call pad_block in pad alloc.
24107
24108         * gst/gstutils.c: (gst_flow_get_name):
24109         Better debugging.
24110
24111 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
24112
24113         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
24114         (gst_base_src_get_range):
24115           Fix documentation typos. Add some more debug info.
24116
24117 2005-09-29  David Schleef  <ds@schleef.org>
24118
24119         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
24120           more end-user friendly.
24121         * tools/gst-inspect.c: (main): Check if command-line argument is
24122           a file and attempt to load that file as a plugin.
24123
24124 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
24125
24126         * check/gst/gstbin.c:
24127         * check/states/sinks.c:
24128           fix tests for the new warning
24129         * check/gst/gstpipeline.c:
24130           add a test for pipeline and bus interaction
24131         * gst/gstelement.c:
24132           elements should be NULL if they get disposed; add a warning if not
24133
24134 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
24135
24136         * gst/gstobject.c:
24137           for 2.6 refcounting, make debug log more correct by printing
24138           the actual refcounts at the time of swap (Wim)
24139
24140 2005-09-29  Andy Wingo  <wingo@pobox.com>
24141
24142         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
24143         removes signal watches previously added via
24144         gst_bus_add_signal_watch.
24145         (gst_bus_add_signal_watch): Don't return the source id, just store
24146         it on the bus if there wasn't an id already.
24147
24148         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
24149         add_signal_watch and remove_signal_watch.
24150
24151 2005-09-29  Edward Hervey  <edward@fluendo.com>
24152
24153         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
24154         Better if we actually iterate the list :)
24155
24156 2005-09-29  Wim Taymans  <wim@fluendo.com>
24157
24158         * check/gst/gstbin.c: (GST_START_TEST):
24159         Change for new bus API.
24160
24161         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
24162         (send_messages), (GST_START_TEST), (gstbus_suite):
24163         Change for new bus signal API.
24164
24165         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
24166         (gst_bus_source_prepare), (gst_bus_source_check),
24167         (gst_bus_create_watch), (gst_bus_add_watch_full),
24168         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
24169         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
24170         * gst/gstbus.h:
24171         Remove support for multiple GSources operating on different
24172         message types as it is too complex and unneeded when using
24173         signals.
24174         Added support for receiving signals from the bus.
24175
24176 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
24177
24178         * docs/libs/tmpl/gstdataprotocol.sgml:
24179         * docs/manual/advanced-dataaccess.xml:
24180         * gst/elements/gstcapsfilter.c:
24181         * gst/gstutils.c:
24182           rename filter-caps to caps property
24183
24184 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
24185
24186         * gst/gstvalue.c: (gst_value_deserialize_fraction):
24187           More robust fraction string parsing.
24188
24189         * docs/pwg/appendix-porting.xml:
24190           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
24191
24192 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
24193
24194         * gst/gstcaps.c: (gst_caps_do_simplify):
24195           Thou shalt not free a structure and then continue using it
24196           in the next loop iteration.
24197
24198         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
24199         (gst_caps_suite):
24200           Add test case for caps simplification.
24201
24202 2005-09-29  Wim Taymans  <wim@fluendo.com>
24203
24204         * check/gst/gstbin.c: (GST_START_TEST):
24205         Oops.
24206
24207 2005-09-29  Wim Taymans  <wim@fluendo.com>
24208
24209         * check/gst/gstbin.c: (GST_START_TEST):
24210         Add bus to bin.
24211
24212         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
24213         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
24214         (find_element), (gst_bin_sort_iterator_next),
24215         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24216         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24217         (gst_bin_change_state), (gst_bin_dispose):
24218         A bin does not have a bus, it gets the bus from the parent.
24219
24220         * gst/gstelement.c: (gst_element_requires_clock),
24221         (gst_element_provides_clock), (gst_element_is_indexable),
24222         (gst_element_is_locked_state), (gst_element_change_state),
24223         (gst_element_set_bus_func):
24224         Small cleanups.
24225
24226         * gst/gstpipeline.c: (gst_pipeline_class_init),
24227         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
24228         The pipeline provides a bus.
24229
24230 2005-09-28  Johan Dahlin  <johan@gnome.org>
24231
24232         * gst/gstmessage.c (gst_message_parse_state_changed): Use
24233         gst_structure_get_enum instead of gst_structure_get_int
24234
24235         * gst/gststructure.c (gst_structure_get_enum): Impl.
24236
24237         * gst/gststructure.h (gst_structure_get_enum): Add
24238
24239         * docs/gst/gstreamer-sections.txt: Ditto
24240
24241         * gst/gstmessage.c (gst_message_new_state_changed): Use
24242         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
24243         which does introspection.
24244         Reviewed by Christian Schaller
24245
24246 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
24247
24248         * gst/gstinfo.c: (gst_debug_log_default):
24249           don't do dummy g_strdup()s
24250         * libs/gst/controller/gstcontroller.c:
24251         (on_object_controlled_property_changed),
24252         (gst_controlled_property_new), (gst_controller_new_valist),
24253         (gst_controller_new_list),
24254         (gst_controller_remove_properties_valist), (gst_controller_set),
24255         (gst_controller_get), (gst_controller_sync_values),
24256         (gst_controller_get_value_array), (_gst_controller_class_init),
24257         (gst_controller_get_type):
24258         * libs/gst/controller/gstcontroller.h:
24259         * libs/gst/controller/gstinterpolation.c:
24260         (gst_controlled_property_find_timed_value_node):
24261           convert // to /**/ comments
24262
24263 2005-09-28  Wim Taymans  <wim@fluendo.com>
24264
24265         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
24266         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
24267         (gst_bus_sync_signal_handler):
24268         * gst/gstbus.h:
24269         Added async-message and sync-message signals to the bus.
24270         Added helper BusFunc to emit signals for all posted messages.
24271
24272         * gst/gstmessage.c: (gst_message_type_get_name),
24273         (gst_message_type_to_quark), (gst_message_get_type):
24274         * gst/gstmessage.h:
24275         Register quarks for message names.
24276
24277 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
24278
24279         * docs/libs/gstreamer-libs-sections.txt:
24280         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
24281         (gst_controller_new_list):
24282         * libs/gst/controller/gstcontroller.h:
24283           added another constructor for language bindings
24284
24285 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
24286
24287         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
24288           add another check
24289         * gst/gstbus.c:
24290           add some doc
24291         * gst/gstinfo.c: (_gst_debug_init):
24292           slightly more readable color for refcount debugging
24293
24294 2005-09-28  Wim Taymans  <wim@fluendo.com>
24295
24296         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
24297         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
24298         (find_element), (gst_bin_sort_iterator_next),
24299         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24300         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24301         (gst_bin_change_state), (gst_bin_dispose):
24302         Small doc fixes. get_clock -> provide_clock.
24303
24304         * gst/gstelement.c: (gst_element_class_init),
24305         (gst_element_provides_clock), (gst_element_provide_clock),
24306         (gst_element_get_clock), (gst_element_commit_state),
24307         (gst_element_lost_state):
24308         * gst/gstelement.h:
24309         Make get/set_clock() symetric. Add provide_clock vmethod since
24310         that is actually what this function does.
24311
24312         * gst/gstpipeline.c: (gst_pipeline_class_init),
24313         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
24314         (gst_pipeline_get_clock):
24315         get_clock -> provide_clock.
24316
24317 2005-09-28  Andy Wingo  <wingo@pobox.com>
24318
24319         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
24320         lieu of real docs...
24321
24322         * gst/elements/gstfdsrc.c: Cleaned up a bit.
24323
24324 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
24325
24326         * gst/elements/gstcapsfilter.c:
24327         * gst/elements/gstfakesink.c:
24328         * gst/elements/gstfakesrc.c:
24329         * gst/elements/gstfdsink.c:
24330         * gst/elements/gstfdsrc.c:
24331         * gst/elements/gstfilesink.c:
24332         * gst/elements/gstfilesrc.c:
24333         * gst/elements/gstidentity.c:
24334         * gst/elements/gsttee.c:
24335         * gst/elements/gsttypefindelement.c:
24336           Make element details static.
24337
24338 2005-09-28  Wim Taymans  <wim@fluendo.com>
24339
24340         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24341         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24342         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24343         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24344         (gst_bin_change_state), (gst_bin_dispose):
24345         Some documentation updates.
24346         Clean up dispose handlers.
24347
24348         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
24349         * gst/gstpad.c: (gst_pad_dispose):
24350         Clean up dispose handler.
24351
24352         * gst/gstpipeline.c: (gst_pipeline_change_state):
24353         Removed spurious UNLOCK.
24354
24355 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
24356
24357         * docs/gst/gstreamer-sections.txt:
24358         * gst/base/gstbasesrc.h:
24359         * gst/gstelement.h:
24360         * gst/gstevent.h:
24361         * gst/gstobject.h:
24362         * gst/gstpad.h:
24363         * gst/gstpipeline.c:
24364         * gst/gstpipeline.h:
24365         * gst/gstutils.h:
24366         * gst/gstxml.h:
24367           added two new functions to the docs
24368                 documents all undocumented GstXXXFlags
24369                 completed some incomplete docs 
24370
24371 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
24372
24373         * gst/gstbin.c: (gst_bin_dispose):
24374         * gst/gstelement.c: (gst_element_dispose):
24375           remove now useless and leaky resurrection code in dispose
24376         * gst/base/gstbasesrc.c: (gst_base_src_init):
24377         * gst/gstelementfactory.c: (gst_element_factory_create):
24378         * gst/gstobject.c: (gst_object_set_parent):
24379           add some debugging
24380
24381 2005-09-27  Wim Taymans  <wim@fluendo.com>
24382
24383         * docs/design/part-TODO.txt:
24384         Update TODO.
24385
24386         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24387         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24388         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24389         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24390         (gst_bin_change_state):
24391         * gst/gstelement.h:
24392         Remove element variable, we keep element info in the iterator now.
24393
24394 2005-09-27  Andy Wingo  <wingo@pobox.com>
24395
24396         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
24397         values.
24398
24399 2005-09-27  Wim Taymans  <wim@fluendo.com>
24400
24401         * check/gst/gstbin.c: (GST_START_TEST):
24402         Enable check that works now.
24403
24404         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24405         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24406         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24407         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24408         (gst_bin_change_state):
24409         * gst/gstbin.h:
24410         Redid the state change algorithm using a topological sort algo.
24411         Handles all cases correctly.
24412         Exposed iterator for state change order.
24413
24414         * gst/gstelement.h:
24415         Temp storage for state changes. Need to get rid of this soon.
24416
24417 2005-09-27  Wim Taymans  <wim@fluendo.com>
24418
24419         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
24420         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
24421         (link_fold_func), (gst_pad_proxy_setcaps):
24422         Leak fixes, the fold functions need to unref the passed object and
24423         _get_parent_*() returns ref to parent.
24424
24425 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24426
24427         * check/gst/gstbuffer.c: (test_make_writable):
24428           Plug leak in test case and fix 'make check-valgrind'
24429
24430 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24431
24432         * gst/gstbuffer.c: (gst_subbuffer_init):
24433           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
24434           works correctly in all circumstances (we could have just copied
24435           the parent buffer's readonly flag, but conceptually it seems
24436           cleaner to mark all subbuffers as read-only). (based on patch
24437           by Alessandro Decina, #314710).
24438         
24439         * check/gst/gstbuffer.c: (create_read_only_buffer),
24440         (test_make_writable), (test_subbuffer_make_writable),
24441         (gst_test_suite):
24442           Add some tests for gst_buffer_make_writable().
24443
24444 2005-09-27  Wim Taymans  <wim@fluendo.com>
24445
24446         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
24447         use gst_object_has_ancestor().
24448
24449         * gst/gstobject.c: (gst_object_has_ancestor):
24450         * gst/gstobject.h:
24451         gst_object_has_ancestor() copied from gstbin.c as it is a
24452         useful function.
24453
24454         * tests/instantiate/create.c: (create_all_elements):
24455         * tests/lat.c: (handoff_src), (handoff_sink):
24456         * tests/sched/runxml.c: (main):
24457         * tests/seeking/seeking1.c: (main):
24458         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
24459         (main):
24460         Fix compilation of some tests.
24461
24462 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24463
24464         * gst/gsterror.h:
24465           Remove comment. GST_TYPE_G_ERROR is here to stay,
24466           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
24467           (#316961, #300610).
24468
24469 2005-09-26  Wim Taymans  <wim@fluendo.com>
24470
24471         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
24472         Added check that shows error in state change order.
24473
24474 2005-09-26  Wim Taymans  <wim@fluendo.com>
24475
24476         * gst/gstbin.c: (gst_bin_change_state):
24477         Make state change function use 3 queues again, we were
24478         adding elements in the wrong order.
24479
24480         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
24481         Some debug info,
24482
24483         * gst/gstpad.c: (gst_pad_dispose):
24484         Added some debug info first.
24485
24486 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
24487
24488         * docs/design/draft-push-pull.txt:
24489         * docs/design/part-events.txt:
24490         * docs/design/part-overview.txt:
24491         * docs/design/part-scheduling.txt:
24492           Replace all _pull_region() with _pull_range()
24493           
24494 2005-09-26  Andy Wingo  <wingo@pobox.com>
24495
24496         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
24497
24498         * check/gst-libs/controller.c: Update for controller api change.
24499
24500         * configure.ac: 
24501         * tests/Makefile.am:
24502         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
24503         over by GLib bug 118439.
24504         
24505         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
24506         routines to a function.
24507
24508         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
24509
24510         * libs/gst/controller/gsthelper.c:
24511         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
24512         (gst_object_sync_values): Renamed from sink_values. Ugh.
24513
24514         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
24515
24516         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
24517         Renamed from controller_key, as it is exported.
24518
24519         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
24520
24521 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
24522
24523         * gst/Makefile.am:
24524         * gst/gst.h:
24525         * gst/gstpad.h:
24526         * gst/gstpadtemplate.h:
24527         * gst/gstquery.c:
24528         * gst/gstquery.h:
24529         * gst/gstqueryutils.c:
24530         * gst/gstqueryutils.h:
24531           remove queryutils headers after moving the two used functions
24532           to gstquery.  also fixes build problem for gstsiddec
24533
24534 2005-09-26  Michael Smith <msmith@fluendo.com>
24535
24536         * tools/gst-launch.1.in:
24537         Correct documentation in manpage of debug syntax
24538
24539 2005-09-26  Wim Taymans  <wim@fluendo.com>
24540
24541         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
24542         (gst_base_src_is_seekable), (gst_base_src_change_state):
24543         Some more debugging info.
24544
24545 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24546
24547         * docs/gst/gstreamer-sections.txt:
24548         * gst/base/gstbasetransform.h:
24549         * gst/gstindex.h:
24550           added more docs
24551
24552 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24553
24554         * docs/gst/.cvsignore:
24555         * docs/gst/tmpl/.cvsignore:
24556         * docs/gst/tmpl/gstpipeline.sgml:
24557         * docs/gst/tmpl/gstplugin.sgml:
24558         * gst/gstpipeline.c:
24559         * gst/gstplugin.c:
24560         * gst/gstplugin.h:
24561           inlined the last two docs files
24562           removed the tmpl directory from cvs (no more conflicts here!)
24563
24564 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24565
24566         * docs/gst/gstreamer-sections.txt:
24567         * docs/gst/tmpl/.cvsignore:
24568         * docs/gst/tmpl/gstpad.sgml:
24569         * docs/gst/tmpl/gstpadtemplate.sgml:
24570         * gst/Makefile.am:
24571         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
24572         (gst_pad_finalize), (gst_pad_set_pad_template):
24573         * gst/gstpad.h:
24574         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
24575         (gst_pad_template_class_init), (gst_pad_template_init),
24576         (gst_pad_template_dispose), (name_is_valid),
24577         (gst_static_pad_template_get), (gst_pad_template_new),
24578         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
24579         (gst_pad_template_pad_created):
24580         * gst/gstpadtemplate.h:
24581           inlined two more docs
24582           factored gstpadtemplate out of gstpad
24583
24584 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
24585
24586         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24587         (test_children_state_change_order_semi_sink):
24588           Fix test case: we can't rely on a fixed state change order when
24589           going from READY => PAUSED because the sink might commit its 
24590           new state first when the first buffer created by the source 
24591           reaches the sink before the source has finished its change state.
24592           (Test case still fails at times, see #316856, comment 5 onwards)
24593
24594 2005-09-24  Wim Taymans  <wim@fluendo.com>
24595
24596         * docs/design/part-events.txt:
24597         * docs/design/part-gstbus.txt:
24598         * docs/design/part-gstpipeline.txt:
24599         * docs/design/part-messages.txt:
24600         * docs/design/part-overview.txt:
24601         * docs/design/part-segments.txt:
24602         * gst/gstbin.c:
24603         * gst/gstbuffer.c:
24604         * gst/gstclock.c:
24605         * gst/gstelement.c:
24606         * gst/gstevent.c:
24607         * gst/gstfilter.c:
24608         * gst/gstiterator.c:
24609         Various documentation updates.
24610
24611 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
24612
24613         * gst/gstclock.h:
24614           Well, that's embarassing.  Luckily we weren't using
24615           GST_CLOCK_DIFF anywhere.
24616
24617 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24618
24619         * common/gtk-doc.mak:
24620           don't fail on building XML, FC4 slave shows a bunch of doc
24621           missing bits that I don't get
24622         * gst/gstpad.c:
24623         * gst/gstpipeline.c:
24624         * gst/gststructure.c:
24625           some doc updates
24626
24627 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
24628
24629         * docs/design/part-gstbin.txt:
24630         * docs/design/part-gstbus.txt:
24631         * gst/gstbus.c:
24632           Add blurb about how the bus goes into flushing mode and
24633           drops all messages when its bin goes from READY into NULL 
24634           state.
24635
24636 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24637
24638         * docs/gst/gstreamer-sections.txt:
24639         * gst/gststructure.c: (gst_structure_get_clock_time):
24640         * gst/gststructure.h:
24641           add a method to get a GstClockTime out of a structure
24642
24643 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
24644
24645         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24646         (test_children_state_change_order_semi_sink), (gst_bin_suite):
24647           Added test to check state change order in bins (can still be made
24648           to fail here under heavy disk load; bails out with 'Push on pad
24649           fakesink:sink0, but it was not activated in push mode').
24650
24651         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
24652           Fix state change order when there is only a semi sink (#316856)
24653
24654         * gst/gstbus.c: (gst_bus_class_init):
24655           Use _class_peek_parent(), not _class_ref(); fix docs to say
24656           'default main context' instead of 'mainloop' where that is
24657           what's meant.
24658
24659         * gst/gstelement.c: (gst_element_commit_state),
24660         (gst_element_set_state):
24661           Fix typos in debug messages
24662
24663 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24664
24665         * docs/README:
24666         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
24667         * gst/gstpluginfeature.c:
24668         * gst/gstutils.c:
24669           various doc updates
24670         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24671           change an assert into an error until it gets fixed properly
24672
24673 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
24674
24675         * docs/gst/gstreamer-sections.txt:
24676         * docs/gst/tmpl/.cvsignore:
24677         * docs/gst/tmpl/gstelement.sgml:
24678         * docs/gst/tmpl/gstinfo.sgml:
24679         * docs/gst/tmpl/gstobject.sgml:
24680         * gst/gstelement.c:
24681         * gst/gstelement.h:
24682         * gst/gstinfo.c:
24683         * gst/gstinfo.h:
24684         * gst/gstobject.c: (gst_object_class_init):
24685         * gst/gstobject.h:
24686           inlined 3 more biiiig doc files and added some missing docs on the fly
24687
24688 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24689
24690         * check/gst/.cvsignore:
24691         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
24692         * gst/gstregistryxml.c: (load_plugin),
24693         (gst_registry_xml_save_plugin):
24694           put back source in registry.  add checks for find_plugin.
24695         * testsuite/states/bin.c: (assert_state), (empty_bin),
24696         (test_adding_one_element), (main):
24697         * testsuite/states/locked.c: (main):
24698           some compile/run fixes
24699
24700 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
24701
24702         * check/gst/gstvalue.c: (GST_START_TEST):
24703           fix leaks in the test itself
24704
24705 2005-09-22  Wim Taymans  <wim@fluendo.com>
24706
24707         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24708         (gst_base_sink_send_event), (gst_base_sink_peer_query),
24709         (gst_base_sink_query):
24710         Prepare for more accurate position reporting and query
24711         handling.
24712
24713         * gst/gstelement.c: (gst_element_send_event),
24714         (gst_element_set_state):
24715         Add some comment.
24716
24717 2005-09-22  Wim Taymans  <wim@fluendo.com>
24718
24719         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
24720         (gst_query_parse_segment):
24721         * gst/gstquery.h:
24722         More documentation.
24723         Add segment query for future use.
24724
24725 2005-09-22  Wim Taymans  <wim@fluendo.com>
24726
24727         * gst/gstbin.c: (gst_bin_add_func):
24728         Some more debug info.
24729
24730         * gst/gstelement.c: (gst_element_send_event):
24731         Simplify send_event
24732
24733         * gst/gstelement.h:
24734         Don't know how flags got broken.
24735
24736         * gst/gstquery.h:
24737         Added new query.
24738
24739 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
24740
24741         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
24742           Add simplistic test suite for GST_TYPE_DATE serialisation and
24743           deserialisation.
24744
24745 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
24746
24747         * docs/gst/gstreamer-sections.txt:
24748         * gst/gststructure.c: (gst_structure_set_valist),
24749         (gst_structure_get_date):
24750         * gst/gststructure.h:
24751         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
24752         (gst_date_copy), (gst_value_compare_date),
24753         (gst_value_serialize_date), (gst_value_deserialize_date),
24754         (gst_value_transform_date_string),
24755         (gst_value_transform_string_date), (_gst_value_initialize):
24756         * gst/gstvalue.h:
24757           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
24758           bunch of utility functions along with a hack that checks that
24759           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
24760           is required. Part of the grand scheme in #170777.
24761
24762 2005-09-22  Andy Wingo  <wingo@pobox.com>
24763
24764         * gst/gstconfig.h.in: Psych out gtk-doc.
24765
24766         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
24767
24768         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
24769
24770         * tools/gst-inspect.c (print_element_list): Plug some
24771         inconsequential leaks.
24772
24773         * gst/gstregistry.c (gst_registry_get_default): Doc.
24774
24775         * check/gst/gstplugin.c: 
24776         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
24777         * gst/gstelementfactory.c (gst_element_factory_create): 
24778         * gst/gstindexfactory.c (gst_index_factory_create): Update for
24779         refcount changes.
24780
24781         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
24782         (gst_plugin_feature_load): Doc, don't eat refs.
24783
24784         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
24785         (gst_plugin_list_free): Doc.
24786         (gst_plugin_load_file): Doc updates.
24787
24788         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
24789         accessors returning refcounted objects, return a ref.
24790
24791         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
24792         accessor for caps. IDEMPOTENCE. Oh yes.
24793
24794 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
24795
24796         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
24797
24798         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
24799         (_gst_debug_register_funcptr):
24800           Add mutex to serialise access to the hash table with
24801           the function pointer => function name string mapping;
24802           make that hash table static scope (#316809).
24803
24804         * gst/registries/.cvsignore:
24805           Remove left-over file.
24806
24807 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
24808
24809         * docs/pwg/appendix-porting.xml:
24810           And something about newsegment events and caps-on-buffers to
24811           the porting guide (feel free to improve).
24812
24813 2005-09-21  Andy Wingo  <wingo@pobox.com>
24814
24815         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
24816         data and event probes on the same pad.
24817         (test_buffer_probe_once): Test that removing probes from within
24818         the probe functions works.
24819
24820 2005-09-21  Andy Wingo  <wingo@pobox.com>
24821
24822         * check/gst/gstutils.c: New file.
24823         (test_buffer_probe_n_times): A simple buffer probe test. More to
24824         come, foolios.
24825
24826         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
24827         have-data::buffer, not have-data.
24828         (gst_pad_add_event_probe): Likewise for have-data::event.
24829         (gst_pad_add_data_probe): More docs. The part about 'resolving the
24830         peer' isn't quite right yet though.
24831         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
24832         (gst_pad_remove_data_probe): Change to take the guint handler_id
24833         as their arg, not the function+data, which is more glib-like.
24834
24835         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
24836         the signal emission to indicate if the data is a buffer or an
24837         event.
24838         (gst_pad_get_type): Initialize buffer and event quarks.
24839         (gst_pad_class_init): have-data is now a detailed signal, yes it
24840         is.
24841
24842 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
24843
24844         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
24845         * gst/gstutils.c: (gst_util_set_value_from_string),
24846         (gst_util_set_object_arg):
24847           Don't put functional code in g_return_if_fail() or
24848           g_return_val_if_fail() statements, otherwise things will 
24849           break when G_DISABLE_CHECKS is defined during compilation.
24850
24851 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24852
24853         * docs/gst/tmpl/.cvsignore:
24854         * docs/gst/tmpl/gstvalue.sgml:
24855         * gst/gstvalue.c:
24856         * gst/gstvalue.h:
24857           inlied another one and added  some obvious docs
24858
24859 2005-09-21  Wim Taymans  <wim@fluendo.com>
24860
24861         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
24862         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
24863         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
24864         (gst_fdsrc_get_property), (gst_fdsrc_create):
24865         * gst/elements/gstfdsrc.h:
24866         Properly implement fdsrc. Removed signal and timeout,
24867         better implemented somewhere else.
24868
24869 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24870
24871         * docs/gst/tmpl/.cvsignore:
24872         * docs/gst/tmpl/gstimplementsinterface.sgml:
24873         * gst/gstinterface.c:
24874           inlined more docs
24875
24876 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24877
24878         * docs/gst/gstreamer-sections.txt:
24879         * docs/gst/tmpl/.cvsignore:
24880         * docs/gst/tmpl/gstenumtypes.sgml:
24881           remove obsolete doc file
24882
24883 2005-09-21  David Schleef  <ds@schleef.org>
24884
24885         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
24886         little beer, fix a little leak.
24887
24888 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24889
24890         * docs/gst/gstreamer-docs.sgml:
24891         * docs/gst/gstreamer-sections.txt:
24892         * docs/gst/tmpl/.cvsignore:
24893         * gst/Makefile.am:
24894         * gst/gst.h:
24895         * gst/gstbin.c:
24896         * gst/gstelement.h:
24897         * gst/gstindex.c: (gst_index_class_init):
24898         * gst/gstindex.h:
24899         * gst/gstindexfactory.c: (gst_index_factory_get_type),
24900         (gst_index_factory_class_init), (gst_index_factory_init),
24901         (gst_index_factory_finalize), (gst_index_factory_new),
24902         (gst_index_factory_destroy), (gst_index_factory_find),
24903         (gst_index_factory_create), (gst_index_factory_make):
24904         * gst/gstindexfactory.h:
24905         * gst/gstpluginfeature.c:
24906         * gst/gstpluginfeature.h:
24907         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24908           more docs inlined, splitted gstindex.{c,h}
24909
24910 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24911
24912         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24913           fix a leak
24914
24915 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
24916
24917         * gst/elements/gstfilesink.c: (gst_file_sink_init):
24918           Set sync to FALSE by default.
24919
24920 2005-09-20  Wim Taymans  <wim@fluendo.com>
24921
24922         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24923         (gst_base_sink_init):
24924         Make sync property settable from subclass.
24925
24926         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
24927         (gst_fake_sink_change_state):
24928         Set sync to FALSE by default.
24929
24930 2005-09-20  Wim Taymans  <wim@fluendo.com>
24931
24932         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
24933         * tools/gst-launch.c: (main):
24934         The timeout handler should have lower priority than the source
24935         so we don't timeout before popping a message with 0 timeout.
24936         Dump error messages after failed state change.
24937
24938 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
24939
24940         * tools/gst-inspect.c: (print_element_properties_info):
24941           Fix two typos.
24942
24943 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24944
24945         * check/gst/gstevent.c:
24946         * gst/elements/gstfakesink.c:
24947         * gst/elements/gstfakesink.h:
24948           remove the sync property from fakesink.
24949           has the side effect of setting sync TRUE
24950           for fakesink, which is a change.  Anyone who knows how
24951           to fix this nicely in a GObject-y way, feel free.
24952
24953 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
24954
24955         * docs/gst/gstreamer-docs.sgml:
24956           remove probe refsection
24957
24958 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
24959
24960         * check/Makefile.am:
24961           disable valgrinding the controller test again
24962         * docs/gst/gstreamer-sections.txt:
24963           update for api-changes
24964
24965 2005-09-20  Wim Taymans  <wim@fluendo.com>
24966
24967         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24968         (gst_base_sink_set_property), (gst_base_sink_get_property),
24969         (gst_base_sink_do_sync):
24970         * gst/base/gstbasesink.h:
24971         Added sync property to basesink to disable clock sync.
24972
24973 2005-09-20  Andy Wingo  <wingo@pobox.com>
24974
24975         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
24976         eating the caller's refcount.
24977
24978         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
24979         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
24980         refcount.
24981
24982         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
24983         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
24984         of GLib 2.8 public, so we can know which refcount to check in
24985         tests.
24986
24987         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
24988         (gst_object_init): Only set the gst refcount if we're going ahead
24989         with the refcount hack.
24990
24991 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
24992
24993         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
24994         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24995           more leaks plumbed, added more debug-logging
24996         * gst/gstmacros.h:
24997           whitespace fix
24998
24999 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25000
25001         * gst/gstmessage.c:
25002           remove include of gstmemchunk.h
25003
25004 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25005
25006         * gst/gstclock.c: (_gst_clock_id_free):
25007           Commit from the Political Party For More Atomic CVS Commits,
25008           so that people don't waste too much of their day fishing
25009           out obvious leaks out of massive commits.
25010           Oh, and fix a pretty damn obvious leak in the memchunk
25011           removal code.
25012
25013 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
25014
25015         * check/Makefile.am:
25016         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
25017           plug mem-leak, re-add to valgrindable tests
25018
25019 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25020
25021         * gst/gstplugin.h:
25022           unbreak the build for those who have chronic arthritis
25023           and typing "make check" is just too taxing on the hands
25024
25025 2005-09-20  Andy Wingo  <wingo@pobox.com>
25026
25027         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
25028         really want it out, you should fix plugins at the same time.
25029
25030 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
25031
25032         * configure.ac:
25033         * docs/gst/gstreamer-sections.txt:
25034         * gst/gstobject.c:
25035           added missing symbols to api docs
25036           disable ref-count hack if we have glib >= 2.8
25037
25038 2005-09-19  David Schleef  <ds@schleef.org>
25039
25040         * docs/gst/Makefile.am: Ignore a few more internal headers
25041         * docs/gst/gstreamer-docs.sgml: Remove old sections
25042         * docs/gst/gstreamer-sections.txt: Remove old sections
25043         * docs/gst/tmpl/gstobject.sgml: update
25044         * docs/gst/tmpl/gstplugin.sgml: update
25045         * docs/gst/tmpl/gstpluginfeature.sgml: update
25046         * docs/random/ds/0.9-suggested-changes: update.
25047         * gst/Makefile.am: remove memchunk and trashstack, since they're
25048           not used.
25049         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
25050         * gst/gst.h: don't include some headers
25051         * gst/gstchildproxy.c: add gstmarshal.h
25052         * gst/gstclock.c: Don't use memchunks
25053         * gst/gstminiobject.c: Add some docs
25054         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
25055         * gst/gstobject.h: same
25056         * gst/gstplugin.c: include gstmacros.h
25057         * gst/gstplugin.h: don't include gstmacros.h, since it's private
25058         * gst/gstquery.c: don't use memchunks
25059         * gst/gstregistry.c: rename gst_registry_deinit()
25060         * gst/gstregistry.h: same
25061
25062 2005-09-19  David Schleef  <ds@schleef.org>
25063
25064         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
25065         * docs/libs/gstreamer-libs-sections.txt:
25066         * docs/libs/tmpl/gstgetbits.sgml:
25067         * docs/libs/tmpl/gstputbits.sgml:
25068
25069 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
25070
25071         * win32/gstenumtypes.c:
25072         * win32/gstenumtypes.h:
25073           Update.
25074
25075 2005-09-19  Wim Taymans  <wim@fluendo.com>
25076
25077         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
25078         Automatically PAUSE and RESUME a pipeline when a flushing seek
25079         is performed.
25080
25081 2005-09-19  Andy Wingo  <wingo@pobox.com>
25082
25083         * gst/gstregistry.h: Spacing fixen.
25084
25085 2005-09-19  Wim Taymans  <wim@fluendo.com>
25086
25087         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
25088         Handle state change failure more correctly.
25089
25090 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25091
25092         * check/Makefile.am:
25093         * check/pipelines/cleanup.c: (run_pipeline):
25094         * check/pipelines/simple_launch_lines.c: (run_pipeline),
25095         (GST_START_TEST):
25096           enable cleanup again after fixing the leak
25097         * docs/README:
25098           some more info on docs
25099
25100 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25101
25102         * check/Makefile.am:
25103           re-enable tests now that leaks are plugged
25104         * check/gst/gst.c:
25105         * check/gst/gstbin.c:
25106         * check/gst/gstpipeline.c:
25107           add some more tests while fixing leaks
25108         * common/check.mak:
25109           make sure binaries are uptodate when valgrinding/gdbing
25110         * gst/gst.c:
25111         * gst/gstelementfactory.c:
25112           remove a ref too many, and add a FIXME for when we get
25113           round to disposing of classes
25114         * gst/gstplugin.c:
25115           fix the refcounting when loading a plugin from a file and
25116           the code pretends that the pointer is the same even though
25117           of course it can change
25118         * gst/gstpluginfeature.c:
25119           unref plugins marked cached (a bit confusing as a name)
25120           as the docs state should be done
25121           various doc additions to explain refcounting
25122         * gst/gstregistry.c:
25123         * gst/gstregistryxml.c:
25124           debugging
25125
25126 2005-09-19  Wim Taymans  <wim@fluendo.com>
25127
25128         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
25129         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
25130         (send_messages), (GST_START_TEST), (gstbus_suite):
25131         * check/gst/gstpipeline.c: (GST_START_TEST):
25132         * check/pipelines/cleanup.c: (run_pipeline):
25133         * check/pipelines/simple_launch_lines.c: (run_pipeline),
25134         (GST_START_TEST):
25135         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
25136         (gst_bus_source_check), (gst_bus_source_dispatch),
25137         (gst_bus_create_watch), (gst_bus_add_watch_full),
25138         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
25139         * gst/gstbus.h:
25140         * tools/gst-launch.c: (event_loop):
25141         * tools/gst-md5sum.c: (event_loop):
25142         GstBusHandler -> GstBusFunc, return value has the same meaning as
25143         any other GSource (FALSE == remove source).
25144         _add_watch() and _add_watch_full() now take a MessageType mask to
25145         only handle specific types of messages.
25146         _poll() returns the GstMessage instead of the message type to avoid
25147         race conditions.
25148         _have_pending() takes a MessageType mask now too.
25149         Added testsuite for multiple bus watches.
25150         Fix testsuites and applications for new bus API.
25151
25152 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25153
25154         * check/Makefile.am:
25155           mark a bunch of the tests as to fix until we fix them
25156
25157 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
25158
25159         * common/check.mak:
25160           use GST_PLUGIN settings for valgrind tests as well, so we're
25161           valgrinding the correct thing
25162         * gst/gst.c: (init_post):
25163           plug another leak
25164
25165 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
25166
25167         * gst/gst.c: (init_post), (gst_deinit):
25168         * gst/gstelementfactory.c: (gst_element_factory_class_init),
25169         (gst_element_factory_finalize), (gst_element_factory_cleanup):
25170         * gst/gstindex.c: (gst_index_factory_class_init),
25171         (gst_index_factory_finalize):
25172         * gst/gstobject.c: (gst_object_dispose):
25173         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
25174         (gst_plugin_load_file), (gst_plugin_desc_free):
25175         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
25176         (gst_plugin_feature_finalize):
25177         * gst/gstregistry.c: (gst_registry_class_init),
25178         (gst_registry_init), (gst_registry_finalize),
25179         (gst_registry_get_default), (gst_registry_deinit):
25180         * gst/gstregistry.h:
25181         * gst/gstregistryxml.c: (load_feature), (load_plugin):
25182           various cleanups and memleak plugging.  make valgrind is happy now.
25183
25184 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
25185
25186         * common/check.mak:
25187           add a check-valgrind target
25188
25189 2005-09-18  David Schleef  <ds@schleef.org>
25190
25191         * tools/gst-inspect.c: Revert the GOption code.
25192
25193 2005-09-17  David Schleef  <ds@schleef.org>
25194
25195         * check/Makefile.am: Fix environment variables.
25196         * check/gst/gstplugin.c: Fix for API changes.
25197         * tools/gst-inspect.c: Fix for API changes.
25198         * tools/gst-xmlinspect.c: Fix for API changes.
25199         * gst/gstelementfactory.c:
25200         * gst/gstplugin.c:
25201         * gst/gstplugin.h:
25202         * gst/gstpluginfeature.c:
25203         * gst/gstpluginfeature.h:
25204         * gst/gstregistry.c:
25205         * gst/gstregistry.h:
25206         * gst/gstregistryxml.c:
25207         * gst/gsttypefind.c:
25208         * gst/gsttypefindfactory.c:
25209         * gst/indexers/gstfileindex.c:
25210         * gst/indexers/gstmemindex.c:
25211         * gst/schedulers/Makefile.am:
25212           Change registry to keep track of both plugins and features,
25213           removing the feature tracking from plugins themselves.
25214
25215 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
25216
25217         * check/Makefile.am:
25218         * tools/gst-register.1.in:
25219           remove gst-register
25220
25221 2005-09-15  David Schleef  <ds@schleef.org>
25222
25223         * check/gst/gstplugin.c:
25224         * gst/gstelementfactory.c:
25225         * gst/gstplugin.c:
25226         * gst/gstpluginfeature.c:
25227         * gst/gstregistry.c:
25228           Getting tired of debugging.  Disabled all the unreffing of
25229           plugins and features, which fixes the segfaults, but of
25230           course leaks like crazy.  At least playbin works.
25231
25232 2005-09-15  David Schleef  <ds@schleef.org>
25233
25234         * check/gst/gstplugin.c: (register_check_elements),
25235         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
25236         More testing
25237         * gst/elements/gsttypefindelement.c: Fix refcounting.
25238         * gst/gsttypefind.c:
25239         * gst/gsttypefindfactory.c:
25240         * gst/gsttypefindfactory.h:
25241
25242 2005-09-15  David Schleef  <ds@schleef.org>
25243
25244         * gst/gstindex.c: get refcounting correct.
25245         * gst/gstregistry.c: Handle the case where a feature/plugin is
25246           not found.
25247
25248 2005-09-15  David Schleef  <ds@schleef.org>
25249
25250         * check/Makefile.am:
25251         * check/gst/gstplugin.c: Add test
25252         * gst/gstplugin.c: Fix problems noticed by testsuite
25253         * gst/gstplugin.h:
25254         * gst/gstregistry.c: 
25255         * gst/gstregistry.h:
25256
25257 2005-09-15  David Schleef  <ds@schleef.org>
25258
25259         * gst/gstplugin.c: Implement semi-decent recounting and locking
25260           in plugins and plugin features.
25261         * gst/gstplugin.h:
25262         * gst/gstpluginfeature.c:
25263         * gst/gstpluginfeature.h:
25264         * gst/gstregistry.c:
25265
25266 2005-09-15  Michael Smith <msmith@fluendo.com>
25267
25268         * gst/gstregistry.c: (gst_registry_get_feature_list):
25269           Implement this. Makes oggdemux work; decodebin still broken.
25270
25271 2005-09-14  David Schleef  <ds@schleef.org>
25272
25273         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
25274           #316076)
25275         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
25276         * gst/check/Makefile.am:
25277         * libs/gst/controller/Makefile.am:
25278         * libs/gst/dataprotocol/Makefile.am:
25279
25280 2005-09-14  David Schleef  <ds@schleef.org>
25281
25282         * configure.ac: Remove getbits library.  Nothing uses it, and
25283           it should be in something like liboil if someone did want
25284           to use it.
25285         * libs/gst/Makefile.am:
25286         * libs/gst/getbits/Makefile.am:
25287         * libs/gst/getbits/gbtest.c:
25288         * libs/gst/getbits/getbits.c:
25289         * libs/gst/getbits/getbits.h:
25290         * libs/gst/getbits/gstgetbits_generic.c:
25291         * libs/gst/getbits/gstgetbits_i386.s:
25292         * libs/gst/getbits/gstgetbits_inl.h:
25293
25294 2005-09-14  David Schleef  <ds@schleef.org>
25295
25296         * gst/Makefile.am: Dist glib-compat.h
25297
25298 2005-09-14  David Schleef  <ds@schleef.org>
25299
25300         * configure.ac: Remove gst/registries, since it's no longer used.
25301         * gst/registries/Makefile.am:
25302         * gst/registries/gstlibxmlregistry.c:
25303         * gst/registries/gstlibxmlregistry.h:
25304         * gst/registries/gstxmlregistry.c:
25305         * gst/registries/gstxmlregistry.h:
25306         * gst/registries/registrytest.c:
25307
25308 2005-09-14  David Schleef  <ds@schleef.org>
25309
25310         * gst/glib-compat.h:
25311         * gst/gstregistryxml.c:
25312           Convergence is near.  Seriously.
25313
25314 2005-09-14  David Schleef  <ds@schleef.org>
25315
25316         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25317         * gst/glib-compat.h:
25318           Attempt #4 to appease the buildbots.
25319
25320 2005-09-14  David Schleef  <ds@schleef.org>
25321
25322         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25323           Attempt #3.
25324
25325 2005-09-14  David Schleef  <ds@schleef.org>
25326
25327         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25328         Attempt #2.
25329
25330 2005-09-14  David Schleef  <ds@schleef.org>
25331
25332         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
25333           the new functions.
25334
25335 2005-09-14  David Schleef  <ds@schleef.org>
25336
25337         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25338         * gst/glib-compat.h: Add some functions that are in newer versions
25339           of glib than we care to require.
25340         * gst/gstregistryxml.c: Use them.
25341
25342 2005-09-14  David Schleef  <ds@schleef.org>
25343
25344         * po/POTFILES.in: remove gst-register.c
25345
25346 2005-09-14  David Schleef  <ds@schleef.org>
25347
25348         * docs/gst/gstreamer-docs.sgml:
25349         * docs/gst/gstreamer-sections.txt:
25350         * docs/gst/gstreamer.types:
25351         * docs/gst/tmpl/gstelement.sgml:
25352         * docs/gst/tmpl/gstplugin.sgml:
25353         * docs/gst/tmpl/gstpluginfeature.sgml:
25354           Documentation updates for registry changes.
25355
25356 2005-09-14  David Schleef  <ds@schleef.org>
25357
25358         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
25359           because we don't require glib-2.8.
25360
25361 2005-09-14  David Schleef  <ds@schleef.org>
25362
25363         * gst/gstregistryxml.c: Added.  Essentially moved out of the
25364           registries directory.
25365
25366 2005-09-14  David Schleef  <ds@schleef.org>
25367
25368         * check/Makefile.am:
25369         * check/generic/states.c:
25370         * gst/Makefile.am:
25371         * gst/gst.c:
25372         * gst/gst.h:
25373         * gst/gst_private.h:
25374         * gst/gstelementfactory.c:
25375         * gst/gstindex.c:
25376         * gst/gstinfo.c:
25377         * gst/gstplugin.c:
25378         * gst/gstplugin.h:
25379         * gst/gstpluginfeature.c:
25380         * gst/gstpluginfeature.h:
25381         * gst/gstregistry.c:
25382         * gst/gstregistry.h:
25383         * gst/gstregistrypool.c: remove
25384         * gst/gstregistrypool.h: remove
25385         * gst/gsttypefind.c:
25386         * gst/gsttypefindfactory.c:
25387         * gst/gsturi.c:
25388         * tools/Makefile.am:
25389         * tools/gst-compprep.c:
25390         * tools/gst-inspect.c:
25391         * tools/gst-register.c: remove
25392         * tools/gst-xmlinspect.c:
25393           Registry rewrite.  Changes registry from being a file created
25394           by a tool into a simple cache file created automatically by 
25395           libgstreamer.  Removed gst-register (because it's no longer
25396           needed).  Remove registry pools, because we only have one
25397           registry implementation (XML).  Fix up other subsystems as
25398           necessary.
25399
25400 2005-09-13  Michael Smith <msmith@fluendo.com>
25401
25402         * gst/gstconfig.h.in:
25403           Don't Use windows linking attributes for MinGW. Fixes #316157
25404
25405 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
25406
25407         * gst/gstutils.c: (set_state_async_thread_func),
25408         (gst_element_set_state_async):
25409           Apparently people think it's better if this function doesn't
25410           try to set the state to whatever state was asked for on the first
25411           call to this function for any object.  Seriously.
25412
25413 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25414
25415         * check/gst/gstpipeline.c: (GST_START_TEST):
25416         * docs/gst/gstreamer-sections.txt:
25417         * gst/gstutils.c: (set_state_async_thread_func),
25418         (gst_element_set_state_async):
25419         * gst/gstutils.h:
25420           add a "gst_element_set_state_async" method that
25421           sets the state and starts a thread to make sure the state
25422           change completes as best as it can
25423
25424 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25425
25426         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
25427           codify design+behaviour in testsuite after discussion
25428
25429 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25430
25431         * docs/gst/tmpl/gstelement.sgml:
25432         * docs/manual/appendix-quotes.xml:
25433           add a quote
25434         * gst/gstelement.c: (gst_element_set_state):
25435           add some debug
25436
25437 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
25438
25439         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25440         (gst_base_transform_prepare_output_buf),
25441         (gst_base_transform_handle_buffer):
25442         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
25443         (gst_capsfilter_prepare_buf):
25444           Remove the requirement for sub-classes to call the parent
25445           implementation of prepare_output_buffer with a wrapper function.
25446           
25447         * gst/gsttaglist.h:
25448         * gst/gsttagsetter.h:
25449           Fix #define wrapper
25450
25451 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
25452
25453         * docs/gst/gstreamer-sections.txt:
25454           more doc cleanups
25455
25456 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25457
25458         * docs/gst/gstreamer-sections.txt:
25459         * docs/gst/tmpl/gstelement.sgml:
25460         * docs/gst/tmpl/gstplugin.sgml:
25461         * gst/gstminiobject.c:
25462         * gst/gstvalue.h:
25463           docs now stop throwing warnings
25464
25465 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25466
25467         * docs/gst/gstreamer-sections.txt:
25468         * docs/gst/gstreamer.types:
25469         * docs/gst/tmpl/gstpad.sgml:
25470         * docs/gst/tmpl/gsttypes.sgml:
25471         * gst/base/gstadapter.h:
25472         * gst/base/gstbasesink.h:
25473         * gst/base/gstbasesrc.h:
25474         * gst/gstbin.h:
25475         * gst/gstbuffer.h:
25476         * gst/gstbus.h:
25477         * gst/gstcaps.h:
25478         * gst/gstclock.h:
25479         * gst/gstelement.h:
25480         * gst/gstevent.h:
25481         * gst/gstmessage.h:
25482         * gst/gstpad.h:
25483         * gst/gststructure.c:
25484         * gst/registries/gstlibxmlregistry.h:
25485           various documentation fixes
25486
25487 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25488
25489         * docs/gst/gstreamer-sections.txt:
25490         * docs/gst/tmpl/gstvalue.sgml:
25491           rearrange gstvalue section
25492         * gst/gstutils.c: (gst_element_state_get_name):
25493           NONE -> VOID
25494         * gst/gstvalue.c: (_gst_value_initialize):
25495         * gst/gstvalue.h:
25496           doc updates
25497
25498 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
25499
25500         * check/gst-libs/controller.c:
25501           Header include fix.
25502         * gst/base/gstbasetransform.c:
25503         (gst_base_transform_default_prepare_buf),
25504         (gst_base_transform_handle_buffer):
25505         * gst/base/gstbasetransform.h:
25506           Some more basetransform changes and fixes to enable sub-classes
25507           that modify buffer metadata only.
25508         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
25509         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
25510         (gst_capsfilter_prepare_buf):
25511           If the output pad has fixed allowed caps and input buffers 
25512           don't have any, set the fixed caps on outgoing buffers.
25513
25514 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
25515         * check/elements/identity.c: (GST_START_TEST):
25516           Make the error a little clearer when the test fails because
25517           identity made a copy of the buffer.
25518         * docs/gst/gstreamer-sections.txt:
25519           New symbols in gstbasetransform.h
25520         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25521         (gst_base_transform_init), (gst_base_transform_transform_size),
25522         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
25523         (gst_base_transform_default_prepare_buf),
25524         (gst_base_transform_get_unit_size),
25525         (gst_base_transform_buffer_alloc),
25526         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
25527         (gst_base_transform_change_state),
25528         (gst_base_transform_set_passthrough),
25529         (gst_base_transform_set_in_place),
25530         (gst_base_transform_is_in_place):
25531         * gst/base/gstbasetransform.h:
25532           Change BaseTransform to separate in_place operate from same_caps
25533           output. in_place implies that the element can perform the transform
25534           on incoming buffers in-place, even if the caps on the output are
25535           different.
25536           Sub-class elements can now implement special buffer allocation
25537           methods for outgoing buffers if they wish to.
25538           Big documentation addition.
25539         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
25540         * gst/elements/gstelements.c:
25541           Changes for basetransform modifications.
25542         * gst/elements/Makefile.am:
25543         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
25544           Compile fix. Extra debug output.
25545
25546 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25547
25548         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
25549         (gst_pad_suite):
25550           add tests for valid pad naming
25551         * gst/check/gstcheck.c: (gst_check_log_message_func),
25552         (gst_check_log_critical_func):
25553           add ASSERT_WARNING
25554           remove printing of code, it is fragile when the code contains
25555           % and the line number is enough info
25556         * gst/check/gstcheck.h:
25557         * gst/gstpad.c: (gst_pad_template_new):
25558           fix memleaks
25559
25560 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25561
25562         * configure.ac:
25563           say what CHECK flags we use
25564         * docs/libs/gstreamer-libs.types:
25565         * libs/gst/controller/Makefile.am:
25566         * libs/gst/controller/gst-controller.c:
25567         * libs/gst/controller/gst-controller.h:
25568         * libs/gst/controller/gst-helper.c:
25569         * libs/gst/controller/gst-interpolation.c:
25570         * libs/gst/controller/gstcontroller.c:
25571         * libs/gst/controller/gsthelper.c:
25572         * libs/gst/controller/gstinterpolation.c:
25573         * tools/gst-inspect.c: (print_plugin_info):
25574           we don't use dashes in header names
25575
25576 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25577
25578         * check/Makefile.am:
25579         * check/gst/.cvsignore:
25580         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
25581         (gst_pipeline_suite), (main):
25582           adding a test for pipelines and state changes
25583         * gst/gstutils.c: (get_state_func):
25584           add some debugging
25585         * gstreamer.spec.in:
25586           fix up spec file
25587
25588 2005-09-08  Michael Smith <msmith@fluendo.com>
25589
25590         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
25591         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
25592         (gst_file_src_is_seekable), (gst_file_src_get_size),
25593         (gst_file_src_start):
25594         * gst/elements/gstfilesrc.h:
25595           Various fixes for unseekable, unmmapable, and non-normal files, so
25596           that fallback to read() rather than mmap() works.
25597         * gst/gstevent.c: (gst_event_new_newsegment):
25598           Allow newsegment events with segment_start == segment_end, as will
25599           correctly happen if you use filesrc on a zero-size file, for
25600           example.
25601
25602 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
25603
25604         * gst/gstplugin.c: (gst_plugin_load_file):
25605           Call g_module_close when we don't load the module
25606
25607         * gst/registries/gstlibxmlregistry.c:
25608         (gst_xml_registry_get_property):
25609           Port leak fix from 0.8
25610
25611 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25612
25613         * docs/gst/gstreamer-docs.sgml:
25614         * docs/gst/tmpl/.cvsignore:
25615         * docs/gst/tmpl/gsttrace.sgml:
25616         * docs/gst/tmpl/gsttrashstack.sgml:
25617         * gst/Makefile.am:
25618         * gst/gst.h:
25619         * gst/gstelement.h:
25620         * gst/gstevent.h:
25621         * gst/gstmessage.c:
25622         * gst/gstmessage.h:
25623         * gst/gsttag.c:
25624         * gst/gsttag.h:
25625         * gst/gsttaginterface.c:
25626         * gst/gsttaginterface.h:
25627         * gst/gsttaglist.c:
25628         * gst/gsttaglist.h:
25629         * gst/gsttagsetter.c:
25630         * gst/gsttagsetter.h:
25631         * gst/gsttrace.c:
25632         * gst/gsttrace.h:
25633         * gst/gsttrashstack.c:
25634           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
25635           inlined docs for gsttrace, gsttrashstack
25636
25637 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25638
25639         * gst/Makefile.am:
25640         * gst/elements/gstbufferstore.h:
25641         * gst/elements/gsttypefindelement.c:
25642         * gst/elements/gsttypefindelement.h:
25643         * gst/gst.h:
25644         * gst/gsttypefind.c:
25645         * gst/gsttypefind.h:
25646         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
25647         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
25648         (gst_type_find_factory_dispose),
25649         (gst_type_find_factory_unload_thyself),
25650         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
25651         (gst_type_find_factory_get_caps),
25652         (gst_type_find_factory_get_extensions),
25653         (gst_type_find_factory_call_function):
25654         * gst/gsttypefindfactory.h:
25655         * gst/registries/gstlibxmlregistry.c:
25656         * gst/registries/gstxmlregistry.c:
25657           splitted gsttypefind into gsttypefind, gsttypefindfactory
25658
25659 2005-09-07  Andy Wingo  <wingo@pobox.com>
25660
25661         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
25662         condition whereby the pad's task function is entered before the
25663         pad_mode variable was set.
25664
25665 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
25666
25667         * gst/gstpad.c: (gst_pad_alloc_buffer):
25668           Catch misbehaving pad_alloc functions that don't
25669           set up caps and do it for them.
25670
25671 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25672
25673         * check/pipelines/simple_launch_lines.c: (run_pipeline):
25674           test for pipe!=NULL
25675         * docs/gst/tmpl/.cvsignore:
25676         * docs/gst/tmpl/gstmemchunk.sgml:
25677         * docs/gst/tmpl/gstparse.sgml:
25678         * docs/gst/tmpl/gsttaglist.sgml:
25679         * docs/gst/tmpl/gsttagsetter.sgml:
25680         * docs/gst/tmpl/gsttypefind.sgml:
25681         * docs/gst/tmpl/gsttypefindfactory.sgml:
25682         * gst/gstmemchunk.c:
25683         * gst/gstparse.c:
25684         * gst/gsttag.c:
25685         * gst/gsttaginterface.c:
25686         * gst/gsttypefind.c:
25687         * gst/gsttypefind.h:
25688           inlined more docs
25689
25690 === release 0.9.2 ===
25691
25692 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
25693
25694         * NEWS:
25695         * RELEASE:
25696         * configure.ac:
25697           releasing 0.9.2, "South"
25698
25699 2005-09-05  Andy Wingo  <wingo@pobox.com>
25700
25701         * gst/registries/gstxmlregistry.h:
25702         * gst/registries/gstxmlregistry.c: Um... resurrect...
25703         
25704         * gst/registries/gstxmlregistry.h:
25705         * gst/registries/gstxmlregistry.c: and update to newer API.
25706         Incidentally they should be a bit faster now that they don't have
25707         to parse the caps.
25708         
25709 2005-09-05  Andy Wingo  <wingo@pobox.com>
25710
25711         * gst/registries/gstxmlregistry.h:
25712         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
25713         replaced by the libxml registry a while back
25714
25715 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
25716
25717         * docs/gst/tmpl/gstplugin.sgml:
25718         * gst/elements/gstelements.c:
25719         * gst/gst.c:
25720         * gst/gstplugin.c: (gst_plugin_register_func),
25721         (gst_plugin_desc_copy), (gst_plugin_desc_free),
25722         (gst_plugin_get_source):
25723         * gst/gstplugin.h:
25724         * gst/registries/gstlibxmlregistry.c: (load_plugin),
25725         (gst_xml_registry_save_plugin):
25726         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
25727         (gst_xml_registry_save_plugin):
25728         * tools/gst-inspect.c: (print_plugin_info):
25729           add a "source" plugin description field, to represent the source
25730           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
25731           will set it to PACKAGE, which is automake's idea of the name of
25732           the source project.
25733
25734 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
25735
25736         * Makefile.am:
25737         * autogen.sh:
25738         * configure.ac:
25739         * docs/Makefile.am:
25740         * docs/faq/Makefile.am:
25741         * docs/gst/tmpl/gstelement.sgml:
25742         * docs/gst/tmpl/gsttypes.sgml:
25743         * docs/htmlinstall.mak:
25744         * docs/manual/Makefile.am:
25745         * docs/pwg/Makefile.am:
25746           reorganize doc build a little
25747           split out docbook and gtk-doc stuff
25748           have two separate --enable's and enable them through autogen
25749           but disable by default in configure (to be similar to other
25750           projects)
25751         * gstreamer.spec.in:
25752           clean up docs install
25753         * po/af.po:
25754         * po/az.po:
25755         * po/ca.po:
25756         * po/cs.po:
25757         * po/de.po:
25758         * po/en_GB.po:
25759         * po/fr.po:
25760         * po/it.po:
25761         * po/nb.po:
25762         * po/nl.po:
25763         * po/ru.po:
25764         * po/sq.po:
25765         * po/sr.po:
25766         * po/sv.po:
25767         * po/tr.po:
25768         * po/uk.po:
25769         * po/vi.po:
25770           translation updates
25771
25772 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
25773
25774         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
25775           Add comment.
25776           
25777         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
25778         (gst_fake_sink_change_state):
25779           Make state change function thread-safe.
25780           
25781         * gst/gstpad.c: (gst_pad_alloc_buffer):
25782           Set offset on generic buffer allocated by fallback.
25783
25784 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
25785
25786         * docs/gst/gstreamer-sections.txt:
25787         * docs/gst/tmpl/gstelement.sgml:
25788         * gst/gstpad.c:
25789         * libs/gst/controller/gst-controller.c:
25790         (gst_controlled_property_set_interpolation_mode),
25791         (gst_controlled_property_new),
25792         (gst_controller_find_controlled_property):
25793          run the wingo-magic script against the docs
25794
25795 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
25796
25797         * docs/gst/gstreamer-docs.sgml:
25798         * docs/gst/gstreamer-sections.txt:
25799         * docs/gst/tmpl/.cvsignore:
25800         * docs/gst/tmpl/gstelementdetails.sgml:
25801         * docs/gst/tmpl/gstelementfactory.sgml:
25802         * gst/gst.c:
25803         * gst/gstbus.c:
25804         * gst/gstelementfactory.c:
25805         * gst/gstelementfactory.h:
25806           merged elementdetails docs into elementfactory docs
25807           inlined both
25808
25809 2005-09-02  Andy Wingo  <wingo@pobox.com>
25810
25811         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
25812         consider this enum an enum and not a flags.
25813
25814 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
25815
25816         * docs/gst/gstreamer-docs.sgml:
25817         * docs/gst/tmpl/.cvsignore:
25818         * docs/gst/tmpl/gstghostpad.sgml:
25819         * docs/gst/tmpl/gstiterator.sgml:
25820         * docs/gst/tmpl/gstmacros.sgml:
25821         * docs/gst/tmpl/gstrealpad.sgml:
25822         * docs/gst/tmpl/gstregistry.sgml:
25823         * docs/gst/tmpl/gstregistrypool.sgml:
25824         * docs/gst/tmpl/gststructure.sgml:
25825         * docs/gst/tmpl/gstsystemclock.sgml:
25826         * docs/gst/tmpl/gsttrace.sgml:
25827         * gst/gstghostpad.c:
25828         * gst/gstmacros.h:
25829         * gst/gstmemchunk.c:
25830         * gst/gstmemchunk.h:
25831         * gst/gstqueue.c:
25832         * gst/gstregistry.c:
25833         * gst/gstregistrypool.c:
25834         * gst/gststructure.c:
25835         * gst/gstsystemclock.c:
25836           more docs inlined
25837
25838 2005-09-02  Andy Wingo  <wingo@pobox.com>
25839
25840         * gst/gstelement.h (GstState): Renamed from GstElementState,
25841         changed to be a normal enum instead of flags.
25842         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
25843         munged to be GST_STATE_CHANGE_*.
25844         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
25845         work with the new state representation.
25846         (GstStateChange): New enumeration of possible state transitions.
25847         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
25848         (GstElementClass::change_state): Pass the GstStateChange along as
25849         an argument. Helps language bindings, so they don't have to use
25850         tricky lock-needing macros like GST_STATE_CHANGE ().
25851
25852         * scripts/update-states (file): New script. Run it on a file to
25853         update it for state naming and API changes. Updates files in
25854         place.
25855
25856         * All files updated for the new API.
25857
25858 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
25859
25860         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
25861         * gst/gstutils.c: (gst_util_set_value_from_string),
25862         (gst_util_set_object_arg):
25863           fix a bunch of unchecked return values
25864         * tools/gst-complete.c: (main):
25865         * gstreamer.spec.in:
25866           clean up a little
25867
25868 2005-09-01  Wim Taymans  <wim@fluendo.com>
25869
25870         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25871         (gst_base_sink_event), (gst_base_sink_do_sync),
25872         (gst_base_sink_handle_event):
25873         * gst/base/gstbasesink.h:
25874         Handle newsegments more correctly.
25875
25876         * gst/gstbus.c:
25877         Fix docs.
25878
25879         * gst/gstevent.c: (gst_event_new_newsegment):
25880         A newsegment cannot have a start_time of -1
25881
25882 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
25883
25884         * win32/gstenumtypes.c:
25885         * win32/gstenumtypes.h:
25886           Update
25887
25888 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
25889
25890         * libs/gst/controller/gst-controller.c:
25891         (gst_controlled_property_set_interpolation_mode),
25892         (gst_controlled_property_new):
25893          fixed boolean again
25894
25895 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
25896
25897         * docs/faq/gst-uninstalled:
25898           add -good
25899         * gst/gstevent.c:
25900         * gst/gstevent.h:
25901           remove wrong docs
25902         * gst/gstutils.c: (gst_element_link_filtered):
25903         * gst/gstutils.h:
25904           add gst_element_link_filtered
25905
25906 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
25907
25908         * docs/gst/gstreamer-docs.sgml:
25909         * docs/gst/gstreamer-sections.txt:
25910         * docs/gst/tmpl/.cvsignore:
25911         * docs/gst/tmpl/gsterror.sgml:
25912         * docs/gst/tmpl/gstfilter.sgml:
25913         * docs/gst/tmpl/gsturihandler.sgml:
25914         * docs/gst/tmpl/gsturitype.sgml:
25915         * docs/gst/tmpl/gstutils.sgml:
25916         * docs/gst/tmpl/gstxml.sgml:
25917         * gst/gsterror.c:
25918         * gst/gsterror.h:
25919         * gst/gstfilter.c:
25920         * gst/gsturi.c:
25921         * gst/gsturitype.c:
25922         * gst/gstutils.c:
25923         * gst/gstxml.c:
25924           inlined more docs, fixed double id-ref
25925
25926 2005-08-31  Wim Taymans  <wim@fluendo.com>
25927
25928         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
25929         (gst_base_transform_handle_buffer):
25930         Passthrough elements don't need the caps as they don't care.
25931
25932 2005-08-31  Wim Taymans  <wim@fluendo.com>
25933
25934         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
25935         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
25936         Don't leak refcounts on buffers.
25937
25938 2005-08-31  Wim Taymans  <wim@fluendo.com>
25939
25940         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
25941         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
25942         (gst_base_transform_chain), (gst_base_transform_change_state):
25943         * gst/base/gstbasetransform.h:
25944         Handle the case where we are not negotiated more gracefully.
25945
25946 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
25947
25948         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
25949         (gst_file_src_map_region):
25950           Set READONLY flag on mmap'ed buffers, otherwise
25951           gst_buffer_make_writable() won't work properly (#314708).
25952
25953 2005-08-31  Wim Taymans  <wim@fluendo.com>
25954
25955         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
25956         passthrough elements can even do inplace on non writable
25957         buffers (as they don't touch them).
25958
25959 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
25960
25961         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
25962         (gst_test_mono_source_set_property),
25963         (gst_test_mono_source_class_init), (GST_START_TEST),
25964         (gst_controller_suite):
25965           more tests (hehe I have the most)
25966         * gst/gstbus.c:
25967           describe popping messages whenusing mulltiple sources
25968         * libs/gst/controller/gst-controller.c:
25969         (gst_controlled_property_set_interpolation_mode),
25970         (gst_controlled_property_new):
25971         * libs/gst/controller/gst-controller.h:
25972         * libs/gst/controller/gst-interpolation.c:
25973           implement boolean properties
25974
25975 2005-08-31  Wim Taymans  <wim@fluendo.com>
25976
25977         * gst/gstminiobject.c: (gst_mini_object_ref):
25978         Cannot assert that the refcount has to be positive
25979         since a disposed object can be resurrected.
25980
25981 2005-08-31  Wim Taymans  <wim@fluendo.com>
25982
25983         * gst/gstpad.c: (gst_pad_init):
25984         Revert change, need to first fix badly behaving 
25985         apps.
25986
25987 2005-08-30  Wim Taymans  <wim@fluendo.com>
25988
25989         * check/elements/fakesrc.c: (setup_fakesrc):
25990         * check/elements/identity.c: (setup_identity):
25991         Activate pads before using them.
25992
25993 2005-08-30  Wim Taymans  <wim@fluendo.com>
25994
25995         * gst/base/gstadapter.c: (gst_adapter_flush):
25996         Flushing out 0 bytes is ok for this function.
25997
25998         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
25999         no newsegment gives a warning and sets the start/stop to 
26000         invalid.
26001
26002         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
26003         (gst_base_transform_set_passthrough):
26004         Some debug info.
26005
26006         * gst/gstminiobject.c: (gst_mini_object_ref):
26007         Check refcount here too.
26008
26009         * gst/gstpad.c: (gst_pad_init):
26010         Pads are initially flushing and refusing data.
26011
26012         * gst/gstutils.c: (gst_element_link_pads_filtered):
26013         When adding a capsfilter element make sure it has the
26014         same state as the parent bin.
26015
26016 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
26017
26018         * docs/gst/tmpl/.cvsignore:
26019         * docs/gst/tmpl/gstformat.sgml:
26020         * docs/gst/tmpl/gstversion.sgml:
26021         * gst/gstbus.h:
26022         * gst/gstformat.c:
26023         * gst/gstformat.h:
26024         * gst/gstversion.h.in:
26025           more docs and two more inlined
26026
26027 2005-08-30  Wim Taymans  <wim@fluendo.com>
26028
26029         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
26030         Don't sync to clock.
26031
26032 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
26033
26034         * docs/gst/gstreamer-sections.txt:
26035           ultral33t func10ns deserve to appear in the docs actually
26036         * docs/gst/tmpl/.cvsignore:
26037         * docs/gst/tmpl/gstcompat.sgml:
26038         * docs/gst/tmpl/gstconfig.sgml:
26039         * gst/check/gstcheck.c:
26040         * gst/gstcompat.h:
26041         * gst/gstconfig.h.in:
26042           inlined more docs
26043
26044 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
26045
26046         * docs/gst/tmpl/.cvsignore:
26047         * docs/gst/tmpl/gstquery.sgml:
26048         * docs/gst/tmpl/gstutils.sgml:
26049         * gst/gstquery.c:
26050         * gst/gstquery.h:
26051           inlined and extended docs
26052
26053 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
26054
26055         * check/gst-libs/controller.c: (GST_START_TEST),
26056         (gst_controller_suite):
26057           more tests
26058         * docs/gst/tmpl/gstutils.sgml:
26059         * docs/libs/gstreamer-libs-sections.txt:
26060         * docs/libs/tmpl/gstdataprotocol.sgml:
26061           include path fixes
26062         * examples/controller/audio-example.c: (main):
26063           controller example works now
26064         * gst/gstclock.h:
26065           doc fixes
26066         * tools/gst-inspect.c: (print_element_properties_info):
26067           show param spec flags
26068
26069 2005-08-29  Andy Wingo  <wingo@pobox.com>
26070
26071         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
26072
26073 2005-08-28  Andy Wingo  <wingo@pobox.com>
26074
26075         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
26076         as having two arguments instead of just one. Allows superclasses
26077         to access information on subclasses -- see the terrible for() loop
26078         in gtype.c:g_type_create_instance for the reason why. All callers
26079         changed.
26080
26081 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
26082
26083         * docs/design/part-messages.txt:
26084           update info
26085         * docs/gst/tmpl/.cvsignore:
26086         * docs/gst/tmpl/gstcaps.sgml:
26087         * docs/gst/tmpl/gstclock.sgml:
26088         * gst/gstbus.c:
26089         * gst/gstcaps.c:
26090         * gst/gstcaps.h:
26091         * gst/gstclock.c:
26092         * gst/gstclock.h:
26093         * gst/gstmessage.c:
26094           added descriptions for bus and message
26095           inline caps and clock docs
26096
26097 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
26098
26099         * gst/gstmessage.c:
26100         * gst/gstmessage.h:
26101           doc fixes
26102
26103 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
26104
26105         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
26106           fix div-by-zero
26107
26108 2005-08-26  Andy Wingo  <wingo@pobox.com>
26109
26110         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
26111         element_set_state's return val.
26112         (test_2_elements): Add test that's been disabled for months.
26113
26114         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
26115         can-activate-pull properties.
26116
26117         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
26118         can-activate-pull properties. Implement is_seekable so fakesrc can
26119         operate in pull mode.
26120
26121         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
26122         properties.
26123         (gst_base_sink_activate, gst_base_sink_activate_pull)
26124         (gst_base_sink_activate_push): Make activation mode choosing work.
26125         Cleanups.
26126         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
26127         is right. Make pull mode work. Post an eos before pausing in pull
26128         mode.
26129         (gst_base_sink_change_state): Pay attention to the core's
26130         change_state() return val.
26131         
26132         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
26133         has-getrange properties. Cleanups.
26134         
26135         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
26136         has_getrange and replace with can_activate_pull and
26137         can_activate_push.
26138
26139         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
26140         locking comments. Remove has_loop, has_chain and replace with
26141         can_activate_pull and can_activate_push.
26142
26143 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
26144
26145         * configure.ac:
26146         * examples/Makefile.am:
26147         * examples/metadata/Makefile.am:
26148         * examples/metadata/read-metadata.c: (message_loop),
26149         (have_pad_handler), (make_pipeline), (print_tag), (main):
26150           Add metadata reading example that loops over a list of filenames,
26151           dumping any tags found.
26152
26153         * gst/gstbus.c: (gst_bus_dispose):
26154         * gst/gstelement.c: (gst_element_dispose):
26155           Release a few potentially-held references in dispose.
26156
26157 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26158
26159         * docs/gst/tmpl/gstminiobject.sgml:
26160           do *not* add tmpl/*.sgml files to CVS!
26161
26162 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26163
26164         * libs/gst/bytestream/.cvsignore:
26165         * libs/gst/bytestream/Makefile.am:
26166         * libs/gst/bytestream/adapter.c:
26167         * libs/gst/bytestream/adapter.h:
26168         * libs/gst/bytestream/bytestream.c:
26169         * libs/gst/bytestream/bytestream.h:
26170         * libs/gst/bytestream/filepad.c:
26171         * libs/gst/bytestream/filepad.h:
26172           removing obsolete files
26173
26174 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26175
26176         * docs/gst/gstreamer-docs.sgml:
26177         * docs/libs/gstreamer-libs-docs.sgml:
26178           disabed additional index entries again, as this makes docs-gen just
26179           slow and they aren't useful yet
26180         * docs/libs/gstreamer-libs-sections.txt:
26181           little -section.txt cleanup for libs
26182
26183 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
26184
26185         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26186         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
26187           fix up some debugging
26188         (gst_base_transform_get_unit_size),
26189         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
26190         (gst_base_transform_handle_buffer):
26191         * gst/base/gstbasetransform.h:
26192           handle and store timed NEWSEGMENT events so that subclasses that
26193           calculate time by counting samples have a segment_start time they
26194           need to add to their timestamps - see audioresample
26195
26196 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26197
26198         * gst/gstbin.h:
26199           removed ';' from the end of macro defs
26200         * docs/gst/gstreamer-docs.sgml:
26201         * docs/gst/gstreamer-sections.txt:
26202         * docs/gst/tmpl/.cvsignore:
26203         * gst/gstbus.h:
26204         * gst/gstelement.c: (gst_element_class_init),
26205         (gst_element_set_state), (activate_pads),
26206         (gst_element_save_thyself):
26207         * gst/gstevent.c: (gst_event_new_newsegment):
26208         * gst/gstevent.h:
26209         * gst/gstiterator.c:
26210         * gst/gstiterator.h:
26211         * gst/gstpad.c:
26212         * gst/gstprobe.h:
26213         * gst/gstutils.c: (gst_pad_query_convert):
26214         * gst/gstutils.h:
26215           fixed parameter name mismatches between source, header and docs
26216           added some more docs, resolved the last batch of unused elements in
26217           docs (now someone needs to doc them)
26218
26219 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
26220
26221         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
26222         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
26223           don't walk through the plugins backwards.  Where is all this
26224           reversed logic coming from ?
26225
26226 2005-08-25  Wim Taymans  <wim@fluendo.com>
26227
26228         * gst/base/gstbasetransform.c: (gst_base_transform_init),
26229         (gst_base_transform_transform_size),
26230         (gst_base_transform_configure_caps),
26231         (gst_base_transform_get_unit_size),
26232         (gst_base_transform_buffer_alloc),
26233         (gst_base_transform_change_state):
26234         * gst/base/gstbasetransform.h:
26235         Cache caps unit_size.
26236         Make sure we cannot negotiate up and downstream at the
26237         same time.
26238
26239 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
26240
26241         * gst/gst.c: (init_pre), (init_post):
26242           register the installed plugin path after the env var
26243         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
26244         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
26245           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
26246           directories, so the tests can prefer uninstalled over installed
26247
26248 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
26249
26250         * gst/base/gstbasetransform.h:
26251           comment
26252         * gst/gstpad.c:
26253           add to docs
26254
26255 2005-08-25  Wim Taymans  <wim@fluendo.com>
26256
26257         * gst/gstbin.c: (bin_bus_handler):
26258         Be a bit more conservative about the posted message.
26259         
26260         * gst/gstbus.c: (gst_bus_post):
26261         Some cleanups, warn wrong return values.
26262
26263 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
26264
26265         * check/gst/gstbin.c: (GST_START_TEST):
26266         * gst/gstbin.c: (bin_bus_handler):
26267         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26268         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26269         (gst_message_new_warning), (gst_message_new_tag),
26270         (gst_message_new_state_changed), (gst_message_new_segment_start),
26271         (gst_message_new_segment_done), (gst_message_new_custom):
26272         * gst/gstmessage.h:
26273         * tools/gst-launch.c: (event_loop):
26274         * tools/gst-md5sum.c: (event_loop):
26275           Revert unpopular change for GST_MESSAGE_SRC to GObject.
26276
26277 2005-08-25  Wim Taymans  <wim@fluendo.com>
26278
26279         * check/generic/states.c: (GST_START_TEST):
26280         Cleanup can be done at the end.
26281
26282         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
26283         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26284         (gst_task_get_state), (gst_task_start), (gst_task_pause):
26285         Oh boy.. Thanks for finding this, Thomas. 
26286
26287 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
26288
26289         * docs/gst/gstreamer.types:
26290           added missing types
26291
26292 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
26293
26294         * docs/gst/gstreamer-docs.sgml:
26295         * docs/gst/gstreamer-sections.txt:
26296         * docs/gst/tmpl/.cvsignore:
26297         * gst/gstbin.c:
26298         * gst/gstiterator.c:
26299         * gst/gstutils.c:
26300         * gst/registries/gstxmlregistry.h:
26301           added missing classes and symbols (123 more to go)
26302           removed removed symbols from section file
26303           fixed many doc-comments
26304
26305 2005-08-24  Wim Taymans  <wim@fluendo.com>
26306
26307         * check/generic/states.c: (GST_START_TEST):
26308         Make sure all tasks are stopped.
26309
26310         * check/gst/gstbin.c: (GST_START_TEST):
26311         Unref after usage for proper valgrinding.
26312
26313         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
26314         Really wait for the task to stop before destroying the
26315         mutex.
26316
26317         * gst/gstqueue.c: (gst_queue_sink_activate_push),
26318         (gst_queue_src_activate_push):
26319         Small cleanups. Don't stop the task when we did not start
26320         it.
26321
26322         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
26323         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26324         (gst_task_get_state), (gst_task_start), (gst_task_pause),
26325         (gst_task_join):
26326         * gst/gsttask.h:
26327         Protect the stream lock with the object lock.
26328         Disallow setting the stream lock when running.
26329         Add cleanup_all to wait for the threadpool to finish.
26330         Remove code to autoallocate a mutex if none was provided.
26331         Add _join() to wait for a task to stop.
26332         Protect the thread pool with a global lock.
26333
26334 2005-08-24  Wim Taymans  <wim@fluendo.com>
26335
26336         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26337         (gst_base_sink_get_times), (gst_base_sink_do_sync),
26338         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
26339         * gst/base/gstbasesink.h:
26340         Handle newsegment events correctly.
26341         Drop buffers out of the segment range.
26342
26343 2005-08-22  Andy Wingo  <wingo@pobox.com>
26344
26345         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
26346         macro, implements an interface and gstimplementsinterface for a
26347         new type.
26348
26349 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
26350
26351         * check/Makefile.am:
26352         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
26353           add a test that does a bunch of state changes on elements
26354           needs some fixing for valgrind
26355         * check/states/sinks.c: (gst_object_suite):
26356           whitespace
26357         * gst/gstcaps.h:
26358           add prototype for gst_caps_is_equal_fixed
26359         * gst/gstplugin.c:
26360         * gst/gstregistrypool.c:
26361           doc fixes
26362
26363 2005-08-24  Andy Wingo  <wingo@pobox.com>
26364
26365         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
26366         convert a negative value. Doesn't make much sense. Mostly this is
26367         here to force callers to ensure -1 maps to -1.
26368
26369 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
26370
26371         * docs/pwg/advanced-types.xml:
26372           Well done to Michael for catching my deliberate introduction
26373           of this spelling mistake. 
26374         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
26375         * gst/gstelement.h:
26376           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
26377           unlink pads before removing the element from the bin.
26378
26379 2005-08-24  Andy Wingo  <wingo@pobox.com>
26380
26381         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
26382         the same thing as GST_DEBUG=*:4.
26383         (parse_debug_level, parse_debug_category): New helper parsers.
26384
26385 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
26386
26387         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26388         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
26389         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
26390         (gst_base_transform_buffer_alloc),
26391         (gst_base_transform_handle_buffer):
26392           use gboolean return values and pointers to size so we can use the
26393           full GST_BUFFER_SIZE range (guint) for buffer sizes
26394           use GstPadDirection for transform_caps
26395         * gst/base/gstbasetransform.h:
26396           rename get_size to get_unit_size since that's what it is
26397         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
26398           use GstPadDirection for transform_caps
26399         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26400         * gst/gstutils.h:
26401           cleanup and debugging
26402
26403 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
26404
26405         * gst/gstelement.c: (gst_element_class_init),
26406         (gst_element_set_state), (activate_pads),
26407         (gst_element_save_thyself):
26408         * tools/gst-compprep.c: (main):
26409         * tools/gst-inspect.c: (print_element_properties_info):
26410         * tools/gst-xmlinspect.c: (print_element_properties):
26411           Fixed long standing mem-leak
26412
26413 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
26414
26415         * check/gst/gstbin.c: (GST_START_TEST):
26416         * gst/gstbin.c: (bin_bus_handler):
26417         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26418         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26419         (gst_message_new_warning), (gst_message_new_tag),
26420         (gst_message_new_state_changed), (gst_message_new_segment_start),
26421         (gst_message_new_segment_done), (gst_message_new_custom):
26422         * gst/gstmessage.h:
26423         * tools/gst-launch.c: (event_loop):
26424         * tools/gst-md5sum.c: (event_loop):
26425           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
26426           that applications can sensibly post custom messages with references
26427           to their own objects.
26428
26429 2005-08-24  Andy Wingo  <wingo@pobox.com>
26430
26431         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
26432         already.
26433
26434 2005-08-24  Wim Taymans  <wim@fluendo.com>
26435
26436         * gst/base/gstbasetransform.c: (gst_base_transform_init),
26437         (gst_base_transform_transform_caps),
26438         (gst_base_transform_transform_size),
26439         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
26440         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
26441         (gst_base_transform_handle_buffer):
26442         * gst/base/gstbasetransform.h:
26443         Many fixes and new features added by Thomas. Can now also do
26444         transforms with variable sizes and a custom fixate_caps function.
26445
26446 2005-08-24  Wim Taymans  <wim@fluendo.com>
26447
26448         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26449         Some debugging.
26450
26451         * gst/gstclock.h:
26452         Cast to ClockTime before formatting to time.
26453
26454         * gst/gstutils.h:
26455         Cleanups.
26456
26457 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
26458
26459         * check/gst-libs/controller.c: (GST_START_TEST),
26460         (gst_controller_suite):
26461         * docs/gst/tmpl/gstcaps.sgml:
26462         * docs/gst/tmpl/gstghostpad.sgml:
26463         * docs/gst/tmpl/gstquery.sgml:
26464         * docs/gst/tmpl/gstutils.sgml:
26465         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
26466         (gst_object_sink_values), (gst_object_get_value_arrays),
26467         (gst_object_get_value_array):
26468           gracefully handle helper method calls to objects that are not beeing
26469           controlled, added test case for that          
26470
26471 2005-08-23  Wim Taymans  <wim@fluendo.com>
26472
26473         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
26474         (gst_event_new_newsegment), (gst_event_parse_newsegment),
26475         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
26476         (gst_event_parse_qos), (gst_event_new_seek),
26477         (gst_event_parse_seek):
26478         * gst/gstevent.h:
26479         Some more debugging output and doc cleanups.
26480
26481         * gst/gstqueue.c: (gst_queue_handle_sink_event):
26482         Fix possible deadlock.
26483
26484 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26485
26486         * docs/gst/gstreamer-docs.sgml:
26487         * docs/gst/gstreamer-sections.txt:
26488         * docs/gst/gstreamer.types:
26489         * docs/gst/tmpl/.cvsignore:
26490         * gst/gstbin.h:
26491         * gst/gstbus.c:
26492         * gst/gstelement.c:
26493         * gst/gstevent.h:
26494           added 100 symbols from gstreamer-unused.txt to the right sections
26495           fixed more broken comments
26496           added GstBus to docs
26497
26498 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26499
26500         * docs/gst/gstreamer-sections.txt:
26501         * docs/gst/tmpl/.cvsignore:
26502         * docs/gst/tmpl/gstbin.sgml:
26503         * docs/gst/tmpl/gstbuffer.sgml:
26504         * gst/base/gstbasesrc.c:
26505         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
26506         * gst/gstbuffer.c:
26507         * gst/gstbuffer.h:
26508         * tools/gst-launch.1.in:
26509           inlined more doc comments, added missing comments and fixed comments
26510           fixed typos
26511
26512 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
26513
26514         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26515           some debugging
26516         * gst/gstcaps.h:
26517           whitespace fixes
26518         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
26519           more debugging
26520         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
26521         * gst/gststructure.h:
26522           add a fixate function for booleans; add a FIXME that these func
26523           names should probably be gst_structure_fixate_*
26524
26525 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26526
26527         * docs/gst/gstreamer-docs.sgml:
26528         * docs/gst/gstreamer-sections.txt:
26529         * gst/Makefile.am:
26530         * gst/gstbin.c: (gst_bin_get_type),
26531         (gst_bin_child_proxy_get_child_by_index),
26532         (gst_bin_child_proxy_get_children_count),
26533         (gst_bin_child_proxy_init):
26534         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
26535         (gst_child_proxy_get_child_by_index),
26536         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
26537         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
26538         (gst_child_proxy_get), (gst_child_proxy_set_property),
26539         (gst_child_proxy_set_valist), (gst_child_proxy_set),
26540         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
26541         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
26542         * gst/gstchildproxy.h:
26543         * gst/parse/grammar.y:
26544         * tools/gst-inspect.c: (print_interfaces),
26545         (print_element_properties_info), (print_element_info):
26546           ported gstchildproxy over from 0.8
26547           ported gst-inspect fixes and enhancements over from 0.8
26548
26549 2005-08-22  Wim Taymans  <wim@fluendo.com>
26550
26551         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26552         (gst_base_transform_handle_buffer):
26553         Also call the transform function if we have ANY caps.
26554
26555         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
26556         Fix debug info.
26557
26558 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
26559
26560         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
26561           Don't pretend to handle seek events if the source is not seekable
26562
26563 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
26564
26565         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26566           Remove extra parameter to debug output
26567
26568         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26569         (gst_base_src_do_seek), (gst_base_src_activate_push):
26570           Fix seek event handling.
26571
26572         * gst/gstpipeline.c: (gst_pipeline_change_state):
26573         * gst/gstqueue.c: (gst_queue_handle_sink_event),
26574         (gst_queue_src_activate_push):
26575           Don't start the src pad task on FLUSH_STOP if the pad
26576           isn't linked.
26577           Debug changes.
26578
26579 2005-08-22  Wim Taymans  <wim@fluendo.com>
26580
26581         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
26582         Added check for gst_static_caps_get() refcounting.
26583
26584 2005-08-22  Wim Taymans  <wim@fluendo.com>
26585
26586         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
26587         Make _static_caps_get() refcounting sane.
26588         
26589         * gst/gstelement.c: (gst_element_set_state):
26590         Add g_return_val_if_fail() to protect against segfaults.
26591
26592 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
26593
26594         * docs/gst/tmpl/gstevent.sgml:
26595         * gst/gstevent.c:
26596         * gst/gstevent.h:
26597           inlined remaining docs, added missing doc comments
26598
26599 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
26600
26601         * check/gst/gstbin.c: (GST_START_TEST):
26602           since we don't know when preroll is done, use refcount range
26603           check for the sink
26604         * gst/check/gstcheck.h:
26605           add macro for checking refcount range
26606
26607 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
26608
26609         * check/Makefile.am:
26610           clean up environment for when registry gets built versus
26611           when actual tests are run; valgrind seems to not report
26612           leaks if GST_PLUGIN_PATH is set to some specific values
26613         * check/gst/gstbin.c: (GST_START_TEST):
26614           add more refcounting checks; maybe this exposes a
26615           preroll lock bug ?
26616         * common/check.mak:
26617         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26618         * gst/check/gstcheck.h:
26619         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
26620         (gst_bin_change_state):
26621         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
26622           add/fix debugging/whitespace
26623
26624 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
26625
26626         * check/gst/gstevent.c: (event_probe), (test_event),
26627         (GST_START_TEST):
26628          Er, don't call gst_bin_watch_for_state_change you idiot.
26629
26630 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
26631
26632         * check/Makefile.am:
26633           Use CHECK_CFLAGS and CHECK_LIBS
26634         * check/gst/gstevent.c: (event_probe), (test_event),
26635         (GST_START_TEST):
26636           Don't leak events.
26637         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26638         (gst_base_src_start), (gst_base_src_stop),
26639         (gst_base_src_activate_push), (gst_base_src_activate_pull),
26640         (gst_base_src_change_state):
26641           Sprinkle gst_base_src_stop liberally around error paths to fix
26642           problems reusing a source after failed state changes.
26643         * gst/base/gsttypefindhelper.c: (helper_find_peek),
26644         (helper_find_suggest), (gst_type_find_helper):
26645           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
26646         * gst/gstevent.h:
26647         * docs/gst/tmpl/gstevent.sgml:
26648           Migrate part of the docs from the SGML file. Wait for ensonic to
26649           tell me how I did it wrong ;)
26650         * tools/gst-typefind.c: (main):
26651           Extra robustness to state changes between files.
26652
26653 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
26654
26655         * check/Makefile.am:
26656           don't valgrind the controller test - it's leaking - Stefan, HELP
26657         * gst/check/gstcheck.c: (gst_check_message_error),
26658         (gst_check_chain_func), (gst_check_setup_element),
26659         (gst_check_teardown_element), (gst_check_setup_src_pad),
26660         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
26661         (gst_check_teardown_sink_pad):
26662         * gst/check/gstcheck.h:
26663           add a bunch of methods to set up elements, and src and sink pads
26664         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
26665         * check/elements/identity.c: (setup_identity), (cleanup_identity),
26666         (GST_START_TEST):
26667           use them
26668         * gst/gstmessage.c:
26669         * gst/gsttag.h:
26670           whitespace/doc fixes
26671
26672 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26673
26674         * gst/gstelement.h:
26675           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
26676           be handled by the application and not always printed as well
26677
26678 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26679
26680         * check/Makefile.am:
26681           set GST_TOOLS_DIR
26682         * gst/check/gstcheck.c: (gst_check_message_error):
26683         * gst/check/gstcheck.h:
26684           add a fail_unless_equals_int
26685           add fail_unless for error messages
26686
26687 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26688
26689         * check/Makefile.am:
26690         * check/gst.supp:
26691         * common/Makefile.am:
26692         * common/check.mak:
26693         * common/gst.supp:
26694           factor out some of the common stuff so we can use it
26695
26696 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26697
26698         * check/Makefile.am:
26699         * check/gst/gstiterator.c: (GST_START_TEST):
26700         * check/gst/gstsystemclock.c: (GST_START_TEST),
26701         (gst_systemclock_suite):
26702         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
26703         * gst/gstclock.c:
26704           valgrind more tests
26705
26706 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26707
26708         * check/elements/.cvsignore:
26709         * check/elements/gstfakesrc.c:
26710           rename to name of element
26711         * check/elements/identity.c: (chain_func), (event_func),
26712         (setup_identity), (cleanup_identity), (GST_START_TEST),
26713         (identity_suite), (main):
26714           add a test for identity
26715         * check/Makefile.am:
26716         * pkgconfig/Makefile.am:
26717         * pkgconfig/gstreamer-check.pc.in:
26718         * pkgconfig/gstreamer-check-uninstalled.pc.in:
26719         * gst/check:
26720         * gst/Makefile.am:
26721         * configure.ac:
26722           move the check stuff to a library that gets installed
26723         * check/gst-libs/controller.c: (GST_START_TEST):
26724         * check/gst-libs/gdp.c:
26725         * check/gst/gst.c: (GST_START_TEST):
26726         * check/gst/gstbin.c:
26727         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26728         * check/gst/gstbus.c:
26729         * check/gst/gstcaps.c: (GST_START_TEST):
26730         * check/gst/gstelement.c:
26731         * check/gst/gstghostpad.c:
26732         * check/gst/gstiterator.c:
26733         * check/gst/gstmessage.c:
26734         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
26735         * check/gst/gstobject.c:
26736         * check/gst/gstpad.c: (GST_START_TEST):
26737         * check/gst/gststructure.c: (GST_START_TEST):
26738         * check/gst/gstsystemclock.c: (GST_START_TEST),
26739         (gst_systemclock_suite):
26740         * check/gst/gsttag.c: (gst_tag_suite):
26741         * check/gst/gstvalue.c:
26742         * check/pipelines/cleanup.c:
26743         * check/pipelines/simple_launch_lines.c:
26744         * check/states/sinks.c:
26745           change include statement
26746
26747         * docs/gst/gstreamer-sections.txt:
26748         * docs/gst/tmpl/gstpad.sgml:
26749           document more pad stuff
26750         * gst/gstminiobject.c: (gst_mini_object_ref),
26751         (gst_mini_object_unref):
26752           debug refcounting
26753
26754 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
26755
26756         * docs/gst/tmpl/gst.sgml:
26757         * gst/gst.c:
26758           eliminate another tmpl file, fix spelling in the long-description
26759
26760 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26761
26762         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26763         (test_event), (timediff), (gstevents_suite):
26764           Should fix build on 64-bit arch's
26765
26766 2005-08-18  Andy Wingo  <wingo@pobox.com>
26767
26768         Make sure that when a pipeline goes to PLAYING, that data has
26769         actually hit the sink.
26770
26771         * check/states/sinks.c (test_sink): A sink that doesn't get any
26772         data shouldn't return SUCCESS for going to either PLAYING or
26773         PAUSED. Test also the return values on the way back down.
26774
26775         * gst/gstelement.c (gst_element_set_state): When changing the
26776         state of an element currently changing state asynchronously, go to
26777         lost-state after commiting the pending state. Makes future calls
26778         to get_state continue to return ASYNC.
26779
26780         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
26781         ASYNC when going to PLAYING if we still don't have preroll, as can
26782         happen with live sources.
26783
26784 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26785
26786         * docs/pwg/advanced-types.xml:
26787           Hack long paragraph into 2 chunks as a workaround for buggy
26788           jadetex version in sid and breezy that loops infinitely and
26789           eats all RAM.
26790
26791 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26792
26793         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26794         (test_event), (timediff), (gstevents_suite):
26795           Provide more error margin in clock measurements to allow for 
26796           g_get_current_time inaccuracies.
26797
26798 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26799
26800         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26801         (test_event), (timediff), (gstevents_suite):
26802            Fix error message output so I might be able to tell why the
26803            test works here but fails on the build farm.
26804
26805 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26806
26807         * check/Makefile.am:
26808         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26809         (test_event), (timediff), (gstevents_suite), (main):
26810           I wrote a test!
26811
26812         * docs/design/part-seeking.txt:
26813           Spelling correction
26814
26815         * docs/gst/tmpl/gstevent.sgml:
26816         * docs/gst/tmpl/gstfakesrc.sgml:
26817           Docs updates.
26818
26819         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26820           Treat a buffer-without-newsegment the same as a receiving 
26821           a newsegment not in time format, and disable syncing to the clock
26822           with a warning.
26823
26824         * gst/gstbus.c: (gst_bus_set_sync_handler):
26825           Assert if anyone tries to replace the existing sync_handler for bus, 
26826           as only the owner should be setting it.
26827
26828         * gst/gstevent.h:
26829           Have a fixed set of custom event enums with events identified by
26830           their structure name (as in 0.8), rather than a free-for-all
26831           allowing collisions between enum values from different plugins.
26832
26833         * gst/gstpad.c: (gst_pad_class_init):
26834           Docs change.
26835           
26836         * gst/gstqueue.c: (gst_queue_handle_sink_event):
26837           Handle out-of-band downstream events from the sending thread.
26838
26839 2005-08-17  Andy Wingo  <wingo@pobox.com>
26840
26841         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
26842         play-timeout==0 to mean no timeout at all. In that case, don't
26843         bother with a get_state or a warning, just return directly, even
26844         if it's ASYNC.
26845
26846         * gst/base/gstbasetransform.c: Debug changes.
26847
26848         * gst/gstutils.h:
26849         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
26850         ensure bins post state change messages. A bit of a hack but I can't
26851         think of a way to avoid it.
26852
26853         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
26854
26855 2005-08-16  Andy Wingo  <wingo@pobox.com>
26856
26857         * gst/base/gstadapter.h:
26858         * gst/base/gstadapter.c (gst_adapter_take): New function, like
26859         peek() but you own the data. Not terribly efficient atm.
26860
26861 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26862
26863         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
26864         (gst_element_found_tags):
26865         * gst/gstutils.h:
26866           Add two utility functions for tag handling.
26867
26868 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26869
26870         * docs/manual/advanced-dataaccess.xml:
26871         * docs/manual/basics-helloworld.xml:
26872           Fix docs to use _bin_add() before _link(), which fixes the examples
26873           with recent core versions (reported by Madhan Raj M
26874           <raj_madan@rediffmail.com>, #313199).
26875
26876 2005-08-16  Wim Taymans  <wim@fluendo.com>
26877
26878         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
26879         Added subtract checks.
26880
26881         * docs/design/part-events.txt:
26882         Some more docs about newsegment
26883
26884         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
26885         Fix FIXME
26886
26887         * gst/gstcaps.c: (gst_caps_to_string):
26888         Add comments, cleanups.
26889         
26890         * gst/gstelement.c: (gst_element_save_thyself):
26891         cleanups
26892         
26893         * gst/gstvalue.c: (gst_value_collect_int_range),
26894         (gst_string_unwrap), (gst_value_union_int_int_range),
26895         (gst_value_union_int_range_int_range),
26896         (gst_value_intersect_int_int_range),
26897         (gst_value_intersect_int_range_int_range),
26898         (gst_value_intersect_double_double_range),
26899         (gst_value_intersect_double_range_double_range),
26900         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
26901         (gst_value_subtract_int_range_int),
26902         (gst_value_subtract_double_range_double),
26903         (gst_value_subtract_double_range_double_range),
26904         (gst_value_subtract_from_list), (gst_value_subtract_list),
26905         (gst_value_can_compare), (gst_value_compare_fraction):
26906         Cleanups, add comments, remove unneeded asserts.
26907
26908 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
26909
26910         * tools/gst-launch.c: (event_loop):
26911           don't convert NULL structures to strings
26912
26913 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
26914
26915         * docs/gst/gstreamer-sections.txt:
26916           made some defines private
26917         * docs/gst/tmpl/gstconfig.sgml:
26918         * docs/gst/tmpl/gstqueue.sgml:
26919         * docs/gst/tmpl/gsttaglist.sgml:
26920         * docs/gst/tmpl/gsttypes.sgml:
26921         * docs/gst/tmpl/gstutils.sgml:
26922         * docs/pwg/appendix-porting.xml:
26923         * gst/base/gstbasesink.h:
26924         * gst/base/gstbasesrc.c:
26925         * gst/base/gstbasesrc.h:
26926         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
26927         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
26928         * gst/gstelement.c: (gst_element_class_init):
26929         * gst/gstpad.c: (gst_pad_class_init):
26930         * gst/gstqueue.c: (gst_queue_class_init):
26931         * gst/gstxml.c: (gst_xml_class_init):
26932           documented all undocumented signal inline
26933         * libs/gst/controller/gst-controller.h:
26934           added padding
26935
26936 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26937
26938         * docs/pwg/appendix-porting.xml:
26939           Document _set_link_function -> _set_setcaps_function.
26940
26941 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
26942
26943         * check/Makefile.am:
26944           add a .check target for running the check
26945         * check/gst-libs/controller.c: (GST_START_TEST):
26946           cosmetic fixups
26947         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26948           complete checks for gstbuffer; would be nice if I could get the
26949           gcov stuff to work so I can see if I actually completed gstbuffer.c
26950         * check/gstcheck.h:
26951           add ASSERT_BUFFER_REFCOUNT
26952
26953 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
26954
26955         * docs/gst/gstreamer-sections.txt:
26956         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
26957         * gst/gsttag.h:
26958           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
26959           spew out a warning if a tag that is already registered
26960           is re-registered, unless it is re-registered with a 
26961           different type (#308438).
26962
26963 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
26964
26965         * docs/pwg/appendix-porting.xml:
26966         * docs/pwg/building-state.xml:
26967           Add some paragraphs about state changes in 0.9 to the PWG
26968           and the porting guide, in particular about the new meaning
26969           of GST_STATE_PAUSED and how to write state change functions
26970           with concurrent access by multiple threads in mind.
26971
26972 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
26973
26974         * docs/gst/gstreamer-docs.sgml:
26975         * docs/libs/gstreamer-libs-docs.sgml:
26976           added deprecation and since indexes
26977         * libs/gst/controller/gst-controller.c:
26978         * libs/gst/controller/gst-helper.c:
26979           added since tags
26980
26981
26982 2005-08-11  Wim Taymans  <wim@fluendo.com>
26983
26984         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
26985         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
26986         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
26987         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
26988         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
26989         (gst_ghost_pad_set_target):
26990         Actually implement (re)setting the target on a ghostpad
26991         as described in the docs.
26992
26993 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
26994
26995         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
26996           Check whether GST_DEBUG_NO_COLOR environment variable is
26997           set and disable coloured debug output if that is the case.
26998
26999 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
27000
27001         * gst/base/gsttypefindhelper.c: (helper_find_peek),
27002         (gst_type_find_helper):
27003           The memory returned by gst_type_find_peek() needs to
27004           stay valid until the end of a typefind function, and
27005           typefind functions may keep results from different 
27006           offsets around, so we can't just unref the buffer from
27007           the previous _peek(), but have to save all buffers 
27008           returned by _peek() until typefinding is done and only
27009           free them then.
27010
27011 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
27012
27013         * docs/gst/gstreamer-sections.txt:
27014         * gst/gstutils.h:
27015           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
27016
27017 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27018
27019         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
27020           Fix a pretty good memleak.
27021
27022 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
27023
27024         * gst/gstiterator.h:
27025           Fix wrong include and 'make distcheck'.
27026
27027 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27028
27029         * gst/gstbin.c: (bin_bus_handler):
27030           Use gst_element_post_message() instead.
27031
27032 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
27033
27034         * gst/base/gstadapter.h:
27035         * gst/base/gstbasesink.h:
27036         * gst/base/gstbasesrc.h:
27037         * gst/base/gstbasetransform.h:
27038         * gst/base/gstcollectpads.h:
27039         * gst/base/gstpushsrc.h:
27040         * gst/gstiterator.h:
27041           Add padding to our base elements' class and instance structs and
27042           to GstIterator (you will need to rebuild all plugins and apps!)
27043
27044 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27045
27046         * gst/gstbin.c: (bin_bus_handler):
27047           Make default message forwarding from child->bus to bin->bus
27048           threadsafe and make it not emit warnings if the parent has no bus.
27049
27050 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27051
27052         * gst/gstelement.c: (activate_pads):
27053           On paused->ready, set pad->caps to NULL, as is the documented
27054           behaviour in this state change. Fixes playback of series of
27055           media files when visualization is enabled in Totem.
27056
27057 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27058
27059         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
27060           Allow NULL as filter-caps (which means "any").
27061
27062 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
27063
27064         * docs/libs/gstreamer-libs-sections.txt:
27065         * libs/gst/controller/gst-controller.c:
27066         * libs/gst/controller/gst-controller.h:
27067         * libs/gst/controller/gst-helper.c:
27068           adding more entries to the docs and fix small doc-bugs
27069
27070 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
27071
27072         * docs/gst/gstreamer-docs.sgml:
27073         * docs/gst/gstreamer-sections.txt:
27074         * docs/gst/gstreamer.types:
27075         * docs/gst/tmpl/gstbasesink.sgml:
27076         * docs/gst/tmpl/gstbasesrc.sgml:
27077         * docs/gst/tmpl/gstbasetransform.sgml:
27078         * docs/gst/tmpl/gstfakesrc.sgml:
27079         * gst/base/gstcollectpads.c:
27080         * gst/base/gstcollectpads.h:
27081         * libs/gst/controller/gst-controller.c:
27082         * libs/gst/controller/gst-controller.h:
27083         * libs/gst/controller/gst-helper.c:
27084         * libs/gst/controller/gst-interpolation.c:
27085         * libs/gst/controller/lib.c:
27086           added long/short desc for controller docs
27087           added collectpads base class docs
27088           added correct includes to base-class docs
27089
27090 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
27091
27092         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
27093         (gst_test_mono_source_set_property),
27094         (gst_test_mono_source_class_init), (GST_START_TEST),
27095         (gst_controller_suite):
27096         * docs/gst/gstreamer-docs.sgml:
27097         * docs/gst/gstreamer-sections.txt:
27098         * docs/gst/gstreamer.types:
27099         * docs/libs/gstreamer-libs-docs.sgml:
27100         * docs/libs/gstreamer-libs-sections.txt:
27101         * gst/base/gstadapter.c:
27102         * libs/gst/controller/gst-controller.c:
27103         (gst_controlled_property_new), (gst_controlled_property_free),
27104         (gst_controller_new_valist),
27105         (gst_controller_remove_properties_valist),
27106         (gst_controller_sink_values), (_gst_controller_finalize):
27107         * libs/gst/controller/gst-controller.h:
27108         * libs/gst/controller/gst-helper.c:
27109         (gst_object_control_properties), (gst_object_uncontrol_properties),
27110         (gst_object_get_controller), (gst_object_set_controller),
27111         (gst_object_sink_values), (gst_object_get_value_arrays),
27112         (gst_object_get_value_array):
27113           more tests (and fixes) for the controller
27114           more docs for the controller
27115           integrated companies docs for the adapter 
27116
27117 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
27118
27119         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
27120         (GST_START_TEST), (fakesrc_suite):
27121           add tests for sizetype
27122
27123 2005-08-04  Andy Wingo  <wingo@pobox.com>
27124
27125         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
27126         fixes buffer_alloc proxying among other things.
27127
27128         * gst/base/gstbasetransform.c:
27129         * gst/base/gstbasetransform.h:
27130         Revert patch to gstbasetransform from 7-28 removing
27131         delay_configure.
27132
27133         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
27134         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
27135         Semantics changed, should return not the size of the output buffer
27136         but the byte size of a buffer with a given caps.
27137
27138         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
27139         debug object.
27140         (gst_base_transform_configure_caps): Don't set out_size here: (in,
27141         out) are not the pad caps until setcaps finishes.
27142         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
27143         not-in-place case as well. Deal with changing from in-place to
27144         not-in-place within calling pad_alloc_buffer. Still a bit
27145         concerned about the overhead here...
27146
27147 2005-08-03  Andy Wingo  <wingo@pobox.com>
27148
27149         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
27150         fixating is an error.
27151
27152 2005-08-04  Edward Hervey  <edward@fluendo.com>
27153
27154         * gst/base/gstadapter.h: 
27155         Added gst_adapter_get_type() to the header
27156
27157 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
27158
27159         * check/Makefile.am:
27160         * check/gst-libs/controller.c:
27161         * libs/gst/controller/gst-controller.c:
27162         (gst_controller_new_valist):
27163           added check test suite for the controller
27164         * gst/base/gstpushsrc.c:
27165           fixed a doc typo
27166
27167 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
27168
27169         * docs/gst/Makefile.am:
27170         * docs/gst/gstreamer-docs.sgml:
27171         * docs/gst/gstreamer-sections.txt:
27172         * docs/gst/gstreamer.types:
27173         * docs/gst/tmpl/gstfakesrc.sgml:
27174         * gst/base/README:
27175         * gst/base/gstbasesink.c:
27176         * gst/base/gstbasesink.h:
27177         * gst/base/gstbasesrc.c:
27178         * gst/base/gstbasesrc.h:
27179         * gst/base/gstbasetransform.c:
27180         * gst/base/gstpushsrc.c:
27181         * gst/base/gstpushsrc.h:
27182           add short/long description docs to base classes
27183           add pushsrc to the docs
27184           remove consolidated doc fragments
27185
27186 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
27187
27188         * configure.ac:
27189         * docs/libs/Makefile.am:
27190         * docs/libs/gstreamer-libs-docs.sgml:
27191         * docs/libs/gstreamer-libs-sections.txt:
27192         * docs/libs/gstreamer-libs.types:
27193         * examples/Makefile.am:
27194         * examples/controller/.cvsignore:
27195         * examples/controller/Makefile.am:
27196         * examples/controller/audio-example.c: (main):
27197         * libs/gst/Makefile.am:
27198         * libs/gst/controller/.cvsignore:
27199         * libs/gst/controller/Makefile.am:
27200         * libs/gst/controller/gst-controller.c:
27201         (on_object_controlled_property_changed), (gst_timed_value_compare),
27202         (gst_timed_value_find),
27203         (gst_controlled_property_set_interpolation_mode),
27204         (gst_controlled_property_new), (gst_controlled_property_free),
27205         (gst_controller_find_controlled_property),
27206         (gst_controller_new_valist), (gst_controller_new),
27207         (gst_controller_remove_properties_valist),
27208         (gst_controller_remove_properties), (gst_controller_set),
27209         (gst_controller_set_from_list), (gst_controller_unset),
27210         (gst_controller_get), (gst_controller_get_all),
27211         (gst_controller_sink_values), (gst_controller_get_value_arrays),
27212         (gst_controller_get_value_array),
27213         (gst_controller_set_interpolation_mode),
27214         (_gst_controller_finalize), (_gst_controller_init),
27215         (_gst_controller_class_init), (gst_controller_get_type):
27216         * libs/gst/controller/gst-controller.h:
27217         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
27218         (g_object_uncontrol_properties), (g_object_get_controller),
27219         (g_object_set_controller), (g_object_sink_values),
27220         (g_object_get_value_arrays), (g_object_get_value_array):
27221         * libs/gst/controller/gst-interpolation.c:
27222         (gst_controlled_property_find_timed_value_node),
27223         (interpolate_none_get), (interpolate_trigger_get),
27224         (interpolate_trigger_get_value_array):
27225         * libs/gst/controller/lib.c: (gst_controller_init):
27226         * pkgconfig/Makefile.am:
27227         * pkgconfig/gstreamer-control-uninstalled.pc.in:
27228         * pkgconfig/gstreamer-control.pc.in:
27229         * testsuite/Makefile.am:
27230         * testsuite/controller/.cvsignore:
27231         * testsuite/controller/Makefile.am:
27232         * testsuite/controller/interpolator.c: (main):
27233           added controller code
27234           removed dparam pc files
27235
27236 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
27237         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
27238         (gst_collectpads_stop):
27239           Broadcast the condition when shutting down, to make sure we wake all
27240           threads up. Shut down pads on finalize, for safety.
27241
27242 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
27243         * gst/base/gstbasetransform.c: (gst_base_transform_init),
27244         (gst_base_transform_handle_buffer),
27245         (gst_base_transform_change_state):
27246           Handle PAUSED->READY->PAUSED transition after negotiation
27247           occurred already.
27248         * gst/gstmessage.c: (gst_message_init):
27249           Extra piece of debug for new messages.
27250
27251 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
27252
27253         * configure.ac:
27254         * docs/gst/tmpl/gstbasesrc.sgml:
27255         * docs/gst/tmpl/gstelement.sgml:
27256         * docs/gst/tmpl/gstevent.sgml:
27257         * docs/gst/tmpl/gstfakesrc.sgml:
27258         * docs/gst/tmpl/gstformat.sgml:
27259         * docs/gst/tmpl/gstghostpad.sgml:
27260         * docs/gst/tmpl/gstpad.sgml:
27261         * docs/gst/tmpl/gstquery.sgml:
27262         * docs/gst/tmpl/gststructure.sgml:
27263         * docs/gst/tmpl/gsttaglist.sgml:
27264         * docs/gst/tmpl/gstvalue.sgml:
27265         * docs/libs/gstreamer-libs-docs.sgml:
27266         * docs/libs/gstreamer-libs-sections.txt:
27267         * docs/libs/gstreamer-libs.types:
27268         * libs/gst/Makefile.am:
27269         * libs/gst/control/.cvsignore:
27270         * libs/gst/control/Makefile.am:
27271         * libs/gst/control/control.c:
27272         * libs/gst/control/control.h:
27273         * libs/gst/control/dparam.c:
27274         * libs/gst/control/dparam.h:
27275         * libs/gst/control/dparam_smooth.c:
27276         * libs/gst/control/dparam_smooth.h:
27277         * libs/gst/control/dparamcommon.h:
27278         * libs/gst/control/dparammanager.c:
27279         * libs/gst/control/dparammanager.h:
27280         * libs/gst/control/dplinearinterp.c:
27281         * libs/gst/control/dplinearinterp.h:
27282         * libs/gst/control/unitconvert.c:
27283         * libs/gst/control/unitconvert.h:
27284         * testsuite/Makefile.am:
27285         * testsuite/dynparams/.cvsignore:
27286         * testsuite/dynparams/Makefile.am:
27287         * testsuite/dynparams/dparamstest.c:
27288         * tools/Makefile.am:
27289         * tools/gst-inspect.c: (print_element_info), (main):
27290         * tools/gst-xmlinspect.c: (print_element_info), (main):
27291           deactivate and remove dparams (libgstcontrol)
27292
27293 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
27294
27295         * gst/elements/gsttypefindelement.c:
27296         (gst_type_find_element_have_type), (gst_type_find_element_init),
27297         (stop_typefinding), (gst_type_find_element_handle_event),
27298         (gst_type_find_element_chain), (gst_type_find_element_getrange):
27299         * gst/elements/gsttypefindelement.h:
27300           Set caps on all outgoing buffers, not just the first one.
27301
27302 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
27303
27304         * gst/elements/gsttypefindelement.c:
27305         (gst_type_find_element_have_type),
27306         (gst_type_find_element_check_set_buffer_caps),
27307         (gst_type_find_element_init), (stop_typefinding),
27308         (gst_type_find_element_handle_event),
27309         (gst_type_find_element_chain), (gst_type_find_element_getrange):
27310         * gst/elements/gsttypefindelement.h:
27311           Set caps on first outgoing buffer when we've found the type.
27312
27313 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
27314
27315         * docs/gst/gstreamer-docs.sgml:
27316         * docs/gst/gstreamer-sections.txt:
27317         * docs/gst/tmpl/gstscheduler.sgml:
27318         * docs/gst/tmpl/gstschedulerfactory.sgml:
27319           Remove some old cruft from docs.
27320
27321 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
27322
27323         * gst/gstpad.h:
27324           Fix inline docs for GstPadLinkReturn.
27325           
27326         * gst/gststructure.c: (gst_structure_has_name):
27327         * gst/gststructure.h:
27328         * docs/gst/gstreamer-sections.txt:
27329           New API: gst_structure_has_name().
27330
27331 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
27332
27333         * configure.ac:
27334           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
27335           and _LARGEFILE_SOURCE in config.h as required. Do not 
27336           export those flags in our .pc files any longer (#142209).
27337
27338           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
27339
27340         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
27341         (gst_file_sink_do_seek), (gst_file_sink_event),
27342         (gst_file_sink_get_current_offset), (gst_file_sink_render):
27343           Redo seek/tell calls with large file support in mind; add some
27344           debugging messages; add log message that tells us when large
27345           file support is unavailable or not enabled for some reason.
27346
27347         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
27348           Add log message that tells us when large file support 
27349           is unavailable or not enabled for some reason.
27350
27351 2005-07-29  Wim Taymans  <wim@fluendo.com>
27352
27353         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27354         Added test for removing an element with ghostpad from a bin.
27355         Fixed test as current implementation does the right thing.
27356
27357         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
27358         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
27359         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
27360         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
27361         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
27362         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
27363         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
27364         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
27365         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
27366         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
27367         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
27368         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
27369         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
27370         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
27371         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
27372         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
27373         * gst/gstghostpad.h:
27374         Clean up ghostpads, remove properties for internal stuff.
27375         Make threadsafe.
27376         Fix refcounting.
27377         Prepare for switching targets, not all use cases work yet.
27378
27379 2005-07-29  Wim Taymans  <wim@fluendo.com>
27380
27381         * docs/design/part-gstghostpad.txt:
27382         Small update.
27383
27384         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27385         (gst_bin_remove_func):
27386         Unlinking pads while holding the bin LOCK is not a good
27387         idea.
27388
27389         * gst/gstpad.c: (gst_pad_class_init),
27390         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
27391         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
27392         No prob setting template after creating the pad.
27393
27394 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
27395
27396         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
27397         (gst_bus_peek), (gst_bus_source_dispatch),
27398         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
27399         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
27400           gst_bus_poll may be called from other threads. Handle
27401           this nicely by not making poll_data disappear off the
27402           stack once gst_bus_poll returns.
27403           gst_bus_peek now increments the refcount on the returned
27404           message.
27405
27406 2005-07-29  Wim Taymans  <wim@fluendo.com>
27407
27408         * docs/design/part-gstghostpad.txt:
27409         Overview of current GhostPad datastructures and use
27410         cases for changing the target.
27411
27412 2005-07-28  Wim Taymans  <wim@fluendo.com>
27413
27414         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
27415         Added checks for hierarchy consistency whan adding linked
27416         elements to bins.
27417
27418         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
27419         Added check to test element scheduling without bin/pipeline.
27420
27421         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
27422         First add elements to bin, then link.
27423         
27424         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27425         (gst_bin_remove_func):
27426         Unlink pads from elements added/removed from bin to maintain
27427         hierarchy consistency.
27428
27429 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27430
27431         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
27432         (gst_base_transform_handle_buffer):
27433         * gst/base/gstbasetransform.h:
27434           Remove broken delay_configure (fixes renegotiation of software
27435           scaling pipelines); remove some leftover printf()s.
27436
27437 2005-07-28  Wim Taymans  <wim@fluendo.com>
27438
27439         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27440         Added some more tests for wrong hierarchy
27441
27442         * docs/design/part-overview.txt:
27443         Some updates.
27444
27445         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
27446         Cleanups.
27447
27448         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
27449         (gst_element_dispose):
27450         Some more cleanups.
27451
27452         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
27453         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
27454         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27455         (gst_pad_set_caps), (gst_pad_send_event):
27456         Check for correct hierarchy when linking pads. Moving to
27457         strict requirement for ghostpads when linking elements in
27458         different bins.
27459
27460         * gst/gstpad.h:
27461         Clean ups. Added WRONG_HIERARCHY return value.
27462
27463 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27464
27465         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
27466           Better debug if no transform is possible.
27467
27468 2005-07-27  Wim Taymans  <wim@fluendo.com>
27469
27470         * docs/random/wtay/network-transp:
27471         Some old doc I had.
27472
27473 2005-07-27  Wim Taymans  <wim@fluendo.com>
27474
27475         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27476         (gst_dp_event_from_packet):
27477         Fix serialization of seek events.
27478
27479 2005-07-27  Wim Taymans  <wim@fluendo.com>
27480
27481         * check/gst-libs/gdp.c: (GST_START_TEST):
27482         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27483         Fix compilation and fix event serialization.
27484
27485 2005-07-27  Wim Taymans  <wim@fluendo.com>
27486
27487         * CHANGES-0.9:
27488         * docs/design/part-TODO.txt:
27489         * docs/design/part-events.txt:
27490         Some docs updates
27491
27492         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27493         (gst_base_sink_event), (gst_base_sink_do_sync),
27494         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27495         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
27496         (gst_base_src_do_seek), (gst_base_src_event_handler),
27497         (gst_base_src_loop):
27498         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27499         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27500         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
27501         (gst_base_transform_event), (gst_base_transform_handle_buffer),
27502         (gst_base_transform_set_passthrough),
27503         (gst_base_transform_is_passthrough):
27504         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27505         * gst/elements/gstfilesink.c: (gst_file_sink_event):
27506         Event updates.
27507
27508         * gst/gstbuffer.h:
27509         Use faster casts.
27510
27511         * gst/gstelement.c: (gst_element_seek):
27512         * gst/gstelement.h:
27513         Update gst_element_seek.
27514
27515         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
27516         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
27517         (gst_event_new_flush_start), (gst_event_new_flush_stop),
27518         (gst_event_new_eos), (gst_event_new_newsegment),
27519         (gst_event_parse_newsegment), (gst_event_new_tag),
27520         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
27521         (gst_event_parse_qos), (gst_event_new_seek),
27522         (gst_event_parse_seek), (gst_event_new_navigation):
27523         * gst/gstevent.h:
27524         Make GstEvent use GstStructure. Add parsing code, make sure the
27525         API is sufficiently generic.
27526         Mark possible directions of events and serialization.
27527
27528         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
27529         (_gst_message_copy), (gst_message_new_segment_start),
27530         (gst_message_new_segment_done), (gst_message_new_custom),
27531         (gst_message_parse_segment_start),
27532         (gst_message_parse_segment_done):
27533         Small cleanups.
27534
27535         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27536         (gst_pad_set_caps), (gst_pad_send_event):
27537         Update for new events. 
27538         Catch events sent in wrong directions.
27539
27540         * gst/gstqueue.c: (gst_queue_link_src),
27541         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
27542         (gst_queue_handle_src_query):
27543         Event updates.
27544
27545         * gst/gsttag.c:
27546         * gst/gsttag.h:
27547         Remove event code from this file.
27548
27549         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27550         (gst_dp_event_from_packet):
27551         Event updates.
27552
27553 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27554
27555         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
27556         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27557         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
27558           Make debugging actually useful.
27559
27560 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27561
27562         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
27563         (gst_pad_fixate_caps):
27564           Implement default fixation once again, so that gst_pad_fixate()
27565           actually does anything at all. This probably needs to be some
27566           sort of a last resort, and use profile-based fixation first, but
27567           since that doesn't exist yet, this is the best we have. Fixes
27568           visualization in Totem.
27569
27570 2005-07-22  Wim Taymans  <wim@fluendo.com>
27571
27572         * docs/design/part-events.txt:
27573         Small update.
27574
27575         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27576         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
27577         (gst_base_sink_activate_pull):
27578         Some more comments.
27579
27580         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
27581         (gst_fake_src_create):
27582         Fix handoff marshall.
27583
27584         * gst/elements/gstidentity.c: (gst_identity_class_init),
27585         (gst_identity_transform_ip):
27586         We're a real inplace element.
27587
27588         * gst/gstbus.c: (gst_bus_post):
27589         Added some comments.
27590
27591         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
27592         * tests/muxing/case1.c: (main):
27593         * tests/sched/dynamic-pipeline.c: (main):
27594         * tests/sched/interrupt1.c: (main):
27595         * tests/sched/interrupt2.c: (main):
27596         * tests/sched/interrupt3.c: (main):
27597         * tests/sched/runxml.c: (main):
27598         * tests/sched/sched-stress.c: (main):
27599         * tests/seeking/seeking1.c: (event_received), (main):
27600         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
27601         (main):
27602         * tests/threadstate/threadstate3.c: (main):
27603         * tests/threadstate/threadstate4.c: (main):
27604         * tests/threadstate/threadstate5.c: (main):
27605         Fix the tests.
27606
27607 2005-07-21  Wim Taymans  <wim@fluendo.com>
27608
27609         * docs/design/part-seeking.txt:
27610         Some small additions.
27611
27612         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27613         (gst_base_sink_get_times), (gst_base_sink_do_sync),
27614         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27615         * gst/base/gstbasesink.h:
27616         discont values are gint64, handle the math correctly.
27617
27618         * gst/base/gstbasesrc.c: (gst_base_src_loop):
27619         Make the basesrc report error if the source pad is not linked.
27620
27621         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
27622         (gst_queue_loop), (gst_queue_handle_src_query),
27623         (gst_queue_src_activate_push):
27624         Make queue collect data even if the srcpad is not linked.
27625         Start pushing out data as soon as it is linked.
27626
27627         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
27628         * gst/gstutils.h:
27629         Added gst_flow_get_name() to ease error reporting.
27630
27631 2005-07-20  Wim Taymans  <wim@fluendo.com>
27632
27633         * gst/gstmessage.c: (gst_message_new_segment_start),
27634         (gst_message_new_segment_done), (gst_message_parse_segment_start),
27635         (gst_message_parse_segment_done):
27636         * gst/gstmessage.h:
27637         Added a bunch of messages for advanced seeking.
27638
27639         * gst/parse/grammar.y:
27640         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
27641         (gst_dpman_state_changed):
27642         Fix some new-pad -> pad-added signals
27643
27644 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27645
27646         * docs/manual/appendix-porting.xml:
27647         * docs/pwg/appendix-porting.xml:
27648           Document new-pad/state-change signal renames and the FixedList
27649           type rename.
27650
27651 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27652
27653         * docs/manual/advanced-autoplugging.xml:
27654         * docs/manual/basics-helloworld.xml:
27655         * docs/manual/basics-pads.xml:
27656         * docs/random/ds/0.9-suggested-changes:
27657         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
27658         * gst/gstelement.h:
27659         * gst/gstevent.h:
27660         * gst/gstformat.h:
27661         * gst/gstquery.h:
27662         * gst/gststructure.c: (gst_structure_value_get_generic_type),
27663         (gst_structure_parse_array), (gst_structure_parse_value):
27664         * gst/gstvalue.c: (gst_type_is_fixed),
27665         (gst_value_list_prepend_value), (gst_value_list_append_value),
27666         (gst_value_list_get_size), (gst_value_list_get_value),
27667         (gst_value_transform_array_string), (gst_value_serialize_array),
27668         (gst_value_deserialize_array), (gst_value_intersect_array),
27669         (gst_value_is_fixed), (_gst_value_initialize):
27670         * gst/gstvalue.h:
27671           GstElement::new-pad -> pad-added, GstElement::state-change ->
27672           state-changed, GstValueFixedList -> GstValueArray, add format and
27673           flags as their own arguments in gst_element_seek() (should improve
27674           "bindeability"), remove function generators since they don't work
27675           under a whole bunch of compilers (they were deprecated already
27676           anyway).
27677
27678 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27679
27680         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
27681         (_gst_debug_register_funcptr):
27682         * gst/gstinfo.h:
27683           Fix illegal cast on some platforms (#309253).
27684
27685 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27686
27687         * gst/gstmessage.c: (gst_message_new_custom):
27688         * gst/gstmessage.h:
27689           Add _new_custom, make _new_application a macro to _new_custom.
27690
27691 2005-07-20  Wim Taymans  <wim@fluendo.com>
27692
27693         * gst/base/gstbasesrc.c: (gst_base_src_init),
27694         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
27695         * gst/base/gstbasesrc.h:
27696         Add a gboolean to decide when to push out a discont.
27697
27698         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
27699         (gst_queue_loop), (gst_queue_handle_src_query),
27700         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
27701         (gst_queue_set_property), (gst_queue_get_property):
27702         Some cleanups.
27703
27704         * tests/threadstate/threadstate1.c: (main):
27705         Make a thread test compile and run... very silly..
27706
27707
27708 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27709
27710         * docs/manual/appendix-porting.xml:
27711           Mention removal of libgstgconf-0.9.la and existence of gconf
27712           elements.
27713
27714 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27715
27716         * docs/pwg/advanced-clock.xml:
27717         * docs/pwg/appendix-porting.xml:
27718         * docs/pwg/intro-preface.xml:
27719         * docs/pwg/other-base.xml:
27720         * docs/pwg/other-manager.xml:
27721         * docs/pwg/other-nton.xml:
27722         * docs/pwg/other-ntoone.xml:
27723         * docs/pwg/other-oneton.xml:
27724         * docs/pwg/pwg.xml:
27725           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
27726           demuxer), remove n-to-n (was never written), fix some code examples
27727           and links and update the porting section to include all this.
27728
27729 2005-07-19  Wim Taymans  <wim@fluendo.com>
27730
27731         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
27732         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
27733         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
27734         (gst_queue_src_activate_push), (gst_queue_change_state),
27735         (gst_queue_get_property):
27736         * gst/gstqueue.h:
27737         Propagate GstFlowReturn more intelligently upstream and output
27738         an ERROR/EOS when streaming stopped due to fatal error.
27739
27740 2005-07-19  Wim Taymans  <wim@fluendo.com>
27741
27742         * tools/gst-launch.c: (check_intr), (event_loop), (main):
27743         Don't block forever for the state change to complete, the
27744         pipeline already did with a sensible timeout.
27745
27746 2005-07-19  Wim Taymans  <wim@fluendo.com>
27747
27748         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
27749         Make sure we never call the create function is we
27750         got deactivated.
27751
27752 2005-07-19  Andy Wingo  <wingo@pobox.com>
27753
27754         * gst/parse/parse.l: Attempt to solve bug #172815.
27755
27756 2005-07-19  Wim Taymans  <wim@fluendo.com>
27757
27758         * docs/design/part-clocks.txt:
27759         * docs/design/part-events.txt:
27760         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
27761         Small docs updates.
27762         Only update the seeking values when we are not
27763         busy streaming.
27764
27765 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
27766
27767         * gst/base/gstbasesrc.c: (gst_base_src_loop):
27768           Oops, ignore the result of gst_pad_push_event here.
27769
27770 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
27771
27772         * gst/base/gstbasesrc.c: (gst_base_src_loop),
27773         (gst_base_src_activate_push):
27774           Send discont event from the loop function, as pads
27775           aren't activated yet in the activate_push handler.
27776
27777         * gst/gstbin.c: (bin_bus_handler):
27778           Don't leak element name.
27779
27780 2005-07-18  Andy Wingo  <wingo@pobox.com>
27781
27782         * configure.ac: Use AS_LIBTOOL_TAGS.
27783
27784 2005-07-18  Wim Taymans  <wim@fluendo.com>
27785
27786         * docs/gst/gstreamer.types:
27787         Remove deleted types.
27788
27789 2005-07-18  Wim Taymans  <wim@fluendo.com>
27790
27791         * check/elements/gstfakesrc.c: (GST_START_TEST):
27792         * configure.ac:
27793         * gst/Makefile.am:
27794         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
27795         (init_popt_callback):
27796         * gst/gst.h:
27797         * gst/gst_private.h:
27798         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
27799         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
27800         * gst/gstbin.h:
27801         * gst/gstbus.h:
27802         * gst/gstconfig.h.in:
27803         * gst/gstelement.c: (gst_element_class_init),
27804         (gst_element_set_base_time), (gst_element_get_base_time),
27805         (iterator_fold_with_resync), (gst_element_change_state),
27806         (gst_element_dispose), (gst_element_get_bus):
27807         * gst/gstelement.h:
27808         * gst/gstelementfactory.h:
27809         * gst/gsterror.c: (_gst_core_errors_init):
27810         * gst/gsterror.h:
27811         * gst/gstevent.h:
27812         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
27813         * gst/gstindex.c:
27814         * gst/gstinfo.c: (_gst_debug_init):
27815         * gst/gstmessage.c: (_gst_message_copy):
27816         * gst/gstmessage.h:
27817         * gst/gstminiobject.h:
27818         * gst/gstobject.c:
27819         * gst/gstobject.h:
27820         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27821         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
27822         * gst/gstpad.h:
27823         * gst/gstparse.h:
27824         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
27825         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
27826         (gst_pipeline_get_last_stream_time):
27827         * gst/gstpipeline.h:
27828         * gst/gstpluginfeature.h:
27829         * gst/gstquery.h:
27830         * gst/gstscheduler.c:
27831         * gst/gstscheduler.h:
27832         * gst/gststructure.h:
27833         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
27834         (gst_task_finalize), (gst_task_func), (gst_task_create),
27835         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
27836         (gst_task_stop), (gst_task_pause):
27837         * gst/gsttask.h:
27838         * gst/gsttypefind.h:
27839         * gst/gsttypes.h:
27840         * gst/registries/gstlibxmlregistry.c: (load_feature),
27841         (gst_xml_registry_load), (gst_xml_registry_save_feature):
27842         * gst/registries/gstxmlregistry.c:
27843         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
27844         * gst/schedulers/threadscheduler.c:
27845         * libs/gst/control/dparammanager.h:
27846         * tools/gst-inspect.c: (print_element_list),
27847         (print_plugin_features), (print_element_features):
27848         * tools/gst-xmlinspect.c: (print_element_list),
27849         (print_plugin_info), (main):
27850         Removed plugable schedulers.
27851         Removed Scheduler/Manager from elements.
27852         Removed gsttypes.h, rearranged includes.
27853         Removed dependency pad<->element, element<>pipeline, and
27854         various others,  fix includes.
27855         implement gst_pad_get_parent() with gst_object_get_parent()
27856         Make GstTask sefcontained.
27857         Fix _get_state() on GstBin, it did not return ASYNC with a 0
27858         timeout.
27859         Fix endless loop in iterator_fold_with_resync.
27860
27861
27862 2005-07-18  Wim Taymans  <wim@fluendo.com>
27863
27864         * gst/Makefile.am:
27865         * gst/gstarch.h:
27866         Remove old file.
27867
27868 2005-07-18  Wim Taymans  <wim@fluendo.com>
27869
27870         * gst/Makefile.am:
27871         No more cothreads.h
27872
27873 2005-07-18  Wim Taymans  <wim@fluendo.com>
27874
27875         * gst/cothreads.c:
27876         * gst/cothreads.h:
27877         Let's remove these.
27878
27879 2005-07-18  Wim Taymans  <wim@fluendo.com>
27880
27881         * docs/design/part-dynamic.txt:
27882         * docs/design/part-events.txt:
27883         * docs/design/part-seeking.txt:
27884         Some more docs in the works.
27885
27886         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27887         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
27888         (gst_base_transform_setcaps), (gst_base_transform_get_size),
27889         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
27890         (gst_base_transform_handle_buffer),
27891         (gst_base_transform_sink_activate_push),
27892         (gst_base_transform_src_activate_pull),
27893         (gst_base_transform_set_passthrough),
27894         (gst_base_transform_is_passthrough):
27895         Refcounting fixes.
27896
27897         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
27898         Cleanups.
27899
27900         * gst/gstevent.c: (gst_event_finalize):
27901         Set SRC to NULL.
27902
27903         * gst/gstutils.c: (gst_element_unlink),
27904         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
27905         (gst_pad_proxy_setcaps):
27906         * gst/gstutils.h:
27907         Add _get_parent_element() to get a pads parent as an element.
27908
27909 2005-07-18  Wim Taymans  <wim@fluendo.com>
27910
27911         * check/gst/gstbin.c: (GST_START_TEST):
27912         Remove bogus test.
27913
27914 2005-07-18  Wim Taymans  <wim@fluendo.com>
27915
27916         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
27917         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
27918         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
27919         (gst_base_sink_event), (gst_base_sink_do_sync),
27920         (gst_base_sink_chain), (gst_base_sink_loop),
27921         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
27922         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
27923         Refcounting fixes.
27924         Fix logic for returning ASYNC when not prerolled.
27925
27926 2005-07-18  Wim Taymans  <wim@fluendo.com>
27927
27928         * gst/gstqueue.c: (gst_queue_handle_sink_event):
27929         Fix nasty refcount bug.
27930
27931 2005-07-16 Philippe Khalaf <burger@speedy.org>
27932
27933         * gst/elements/gstfdsrc.c:
27934         * gst/elements/gstfdsrc.h:
27935         * gst/elements/gstelements.c:
27936         * gst/elements/Makefile.am:
27937         Ported fdsrc to 0.9.
27938
27939 2005-07-16  Wim Taymans  <wim@fluendo.com>
27940
27941         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27942         (gst_base_sink_do_sync):
27943         Fix compile error.
27944
27945 2005-07-16  Wim Taymans  <wim@fluendo.com>
27946
27947         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27948         (gst_base_sink_event), (gst_base_sink_get_times),
27949         (gst_base_sink_do_sync), (gst_base_sink_change_state):
27950         * gst/base/gstbasesink.h:
27951         Store and use discont values when syncing buffers as described
27952         in design docs.
27953         
27954         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
27955         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
27956         (gst_base_src_activate_push):
27957         Push discont event when starting.
27958
27959         * gst/elements/gstidentity.c: (gst_identity_transform):
27960         Small cleanups.
27961
27962         * gst/gstbin.c: (gst_bin_change_state):
27963         Small cleanups in base_time  distribution.
27964
27965         * gst/gstelement.c: (gst_element_set_base_time),
27966         (gst_element_get_base_time), (gst_element_change_state):
27967         * gst/gstelement.h:
27968         Added methods for the base_time of the element.
27969         Some MT fixes.
27970
27971         * gst/gstpipeline.c: (gst_pipeline_send_event),
27972         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
27973         (gst_pipeline_get_last_stream_time):
27974         * gst/gstpipeline.h:
27975         MT fixes.
27976         Handle seeking as described in design doc, remove stream_time
27977         hack.
27978         Cleanups clock and stream_time selection code. Added accessors
27979         for the stream_time.
27980         
27981
27982 2005-07-16  Andy Wingo  <wingo@pobox.com>
27983
27984         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
27985         (#305291).
27986
27987 2005-07-16  Wim Taymans  <wim@fluendo.com>
27988
27989         * check/gst/gstbin.c: (GST_START_TEST):
27990         Make elements silent as the deep_notify refs the
27991         parent, which might make the test fail.
27992
27993         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
27994         Don't hold the lock for too long.
27995
27996 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
27997
27998         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
27999           Don't unref the caps we passed to gst_caps_make_writable() after
28000           passing them. gst_caps_make_writable() will do that for us.
28001
28002 2005-07-15  Andy Wingo  <wingo@pobox.com>
28003
28004         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
28005         (#157311).
28006
28007         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
28008         own marshalling function for the handoff signal. Properly type the
28009         buffer as a buffer. Fixes some warnings. Should do a more general
28010         solution.
28011         (gst_identity_class_init): Plug into the right marshaller.
28012
28013 2005-07-15  Wim Taymans  <wim@fluendo.com>
28014
28015         * docs/design/part-TODO.txt:
28016         * docs/design/part-clocks.txt:
28017         * docs/design/part-element-sink.txt:
28018         * docs/design/part-events.txt:
28019         * docs/design/part-gstpipeline.txt:
28020         Updated docs, mostly DISCONT related.
28021
28022 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
28023
28024         * docs/pwg/building-pads.xml:
28025           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
28026
28027 2005-07-15  Andy Wingo  <wingo@pobox.com>
28028
28029         * tools/gst-typefind.c: Update, add copyright block.
28030
28031         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
28032         Normalize and truncate caps before fixation.
28033
28034         * gst/gstcaps.h:
28035         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
28036         discards all but the first structure from its argument.
28037
28038 2005-07-15  Wim Taymans  <wim@fluendo.com>
28039
28040         * gst/base/gstbasetransform.c: (gst_base_transform_init),
28041         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
28042         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
28043         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
28044         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
28045         (gst_base_transform_chain), (gst_base_transform_change_state),
28046         (gst_base_transform_set_passthrough),
28047         (gst_base_transform_is_passthrough):
28048         * gst/base/gstbasetransform.h:
28049         Make passthrough work using the bufferpools.
28050         Changed API a bit, subclasses have to write into a buffer
28051         provided by the base class.
28052         More debug info in nego functions.
28053         
28054         * gst/elements/gstidentity.c: (gst_identity_init),
28055         (gst_identity_transform):
28056         Port to new base class.
28057
28058 2005-07-15  Wim Taymans  <wim@fluendo.com>
28059
28060         * gst/gstmessage.c: (gst_message_new_state_changed):
28061         * tools/gst-launch.c: (event_loop), (main):
28062         Totally dump messages in -launch with the -m option.
28063         Fix message name for State messages,
28064
28065 2005-07-14  Wim Taymans  <wim@fluendo.com>
28066
28067         * gst/base/gstbasesrc.c: (gst_base_src_loop):
28068         Post error messages on errors.
28069
28070 2005-07-14  Wim Taymans  <wim@fluendo.com>
28071
28072         * gst/gstcaps.c: (gst_caps_do_simplify):
28073         Remove debug info.
28074
28075         * gst/gsterror.h:
28076         Define error for stream stopped.
28077
28078         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28079         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
28080         Do proper return values.
28081
28082         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
28083         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
28084         (gst_pad_get_range):
28085         Better return values.
28086
28087         * gst/gstpad.h:
28088         Reorganise return values, add macro to check for fatal errors.
28089
28090         * gst/gstqueue.c: (gst_queue_chain):
28091         Return proper GstFlowReturn values,
28092
28093 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
28094
28095         * docs/gst/gstreamer-sections.txt:
28096         * docs/gst/gstreamer.types:
28097         * docs/gst/tmpl/gst.sgml:
28098         * docs/gst/tmpl/gstbasesink.sgml:
28099         * docs/gst/tmpl/gstbasesrc.sgml:
28100         * docs/gst/tmpl/gstbasetransform.sgml:
28101         * docs/gst/tmpl/gstbin.sgml:
28102         * docs/gst/tmpl/gstbuffer.sgml:
28103         * docs/gst/tmpl/gstcaps.sgml:
28104         * docs/gst/tmpl/gstclock.sgml:
28105         * docs/gst/tmpl/gstcompat.sgml:
28106         * docs/gst/tmpl/gstconfig.sgml:
28107         * docs/gst/tmpl/gstelement.sgml:
28108         * docs/gst/tmpl/gstelementdetails.sgml:
28109         * docs/gst/tmpl/gstelementfactory.sgml:
28110         * docs/gst/tmpl/gstenumtypes.sgml:
28111         * docs/gst/tmpl/gsterror.sgml:
28112         * docs/gst/tmpl/gstevent.sgml:
28113         * docs/gst/tmpl/gstfakesink.sgml:
28114         * docs/gst/tmpl/gstfakesrc.sgml:
28115         * docs/gst/tmpl/gstfilesink.sgml:
28116         * docs/gst/tmpl/gstfilesrc.sgml:
28117         * docs/gst/tmpl/gstfilter.sgml:
28118         * docs/gst/tmpl/gstformat.sgml:
28119         * docs/gst/tmpl/gstghostpad.sgml:
28120         * docs/gst/tmpl/gstimplementsinterface.sgml:
28121         * docs/gst/tmpl/gstindex.sgml:
28122         * docs/gst/tmpl/gstindexfactory.sgml:
28123         * docs/gst/tmpl/gstinfo.sgml:
28124         * docs/gst/tmpl/gstiterator.sgml:
28125         * docs/gst/tmpl/gstmacros.sgml:
28126         * docs/gst/tmpl/gstmemchunk.sgml:
28127         * docs/gst/tmpl/gstminiobject.sgml:
28128         * docs/gst/tmpl/gstobject.sgml:
28129         * docs/gst/tmpl/gstpad.sgml:
28130         * docs/gst/tmpl/gstpadtemplate.sgml:
28131         * docs/gst/tmpl/gstparse.sgml:
28132         * docs/gst/tmpl/gstpipeline.sgml:
28133         * docs/gst/tmpl/gstplugin.sgml:
28134         * docs/gst/tmpl/gstpluginfeature.sgml:
28135         * docs/gst/tmpl/gstquery.sgml:
28136         * docs/gst/tmpl/gstqueue.sgml:
28137         * docs/gst/tmpl/gstregistry.sgml:
28138         * docs/gst/tmpl/gstregistrypool.sgml:
28139         * docs/gst/tmpl/gstscheduler.sgml:
28140         * docs/gst/tmpl/gstschedulerfactory.sgml:
28141         * docs/gst/tmpl/gststructure.sgml:
28142         * docs/gst/tmpl/gstsystemclock.sgml:
28143         * docs/gst/tmpl/gsttaglist.sgml:
28144         * docs/gst/tmpl/gsttagsetter.sgml:
28145         * docs/gst/tmpl/gsttrace.sgml:
28146         * docs/gst/tmpl/gsttrashstack.sgml:
28147         * docs/gst/tmpl/gsttypefind.sgml:
28148         * docs/gst/tmpl/gsttypefindfactory.sgml:
28149         * docs/gst/tmpl/gsttypes.sgml:
28150         * docs/gst/tmpl/gsturihandler.sgml:
28151         * docs/gst/tmpl/gsturitype.sgml:
28152         * docs/gst/tmpl/gstutils.sgml:
28153         * docs/gst/tmpl/gstvalue.sgml:
28154         * docs/gst/tmpl/gstversion.sgml:
28155         * docs/gst/tmpl/gstxml.sgml:
28156         * docs/libs/tmpl/gstcontrol.sgml:
28157         * docs/libs/tmpl/gstdataprotocol.sgml:
28158         * docs/libs/tmpl/gstdparam.sgml:
28159         * docs/libs/tmpl/gstdplinint.sgml:
28160         * docs/libs/tmpl/gstdpman.sgml:
28161         * docs/libs/tmpl/gstdpsmooth.sgml:
28162         * docs/libs/tmpl/gstgetbits.sgml:
28163         * docs/libs/tmpl/gstunitconvert.sgml:
28164         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
28165         (gst_push_src_base_init), (gst_push_src_class_init),
28166         (gst_push_src_init), (gst_push_src_create):
28167         * gst/base/gstpushsrc.h:
28168         * gst/elements/gstelements.c:
28169         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
28170         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
28171         (gst_fake_sink_init), (gst_fake_sink_set_property),
28172         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
28173         (gst_fake_sink_event), (gst_fake_sink_preroll),
28174         (gst_fake_sink_render), (gst_fake_sink_change_state):
28175         * gst/elements/gstfakesink.h:
28176         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
28177         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
28178         (gst_fake_src_base_init), (gst_fake_src_class_init),
28179         (gst_fake_src_init), (gst_fake_src_event_handler),
28180         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
28181         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
28182         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
28183         (gst_fake_src_create_buffer), (gst_fake_src_create),
28184         (gst_fake_src_start), (gst_fake_src_stop):
28185         * gst/elements/gstfakesrc.h:
28186         * gst/elements/gstfilesink.c: (_do_init),
28187         (gst_file_sink_base_init), (gst_file_sink_class_init),
28188         (gst_file_sink_init), (gst_file_sink_dispose),
28189         (gst_file_sink_set_location), (gst_file_sink_set_property),
28190         (gst_file_sink_get_property), (gst_file_sink_open_file),
28191         (gst_file_sink_close_file), (gst_file_sink_query),
28192         (gst_file_sink_event), (gst_file_sink_render),
28193         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
28194         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
28195         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
28196         * gst/elements/gstfilesink.h:
28197         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
28198         (gst_file_src_class_init), (gst_file_src_init),
28199         (gst_file_src_finalize), (gst_file_src_set_location),
28200         (gst_file_src_set_property), (gst_file_src_get_property),
28201         (gst_file_src_map_region), (gst_file_src_map_small_region),
28202         (gst_file_src_create_mmap), (gst_file_src_create_read),
28203         (gst_file_src_create), (gst_file_src_is_seekable),
28204         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
28205         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
28206         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
28207         (gst_file_src_uri_handler_init):
28208         * gst/elements/gstfilesrc.h:
28209           more autistic cleanliness in functions/names/defines
28210
28211 2005-07-13  Andy Wingo  <wingo@pobox.com>
28212
28213         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
28214         source couldn't negotiate.
28215
28216         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
28217         connections again.
28218
28219         * gst/gstutils.h:
28220         * gst/gstutils.c (gst_element_link_pads_filtered): New old
28221         function. I am channeling Hades. Put your boots on suckers!!!
28222
28223 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
28224
28225         * testsuite/caps/Makefile.am:
28226         * testsuite/caps/value_compare.c:
28227         * testsuite/caps/value_intersect.c:
28228         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
28229           move two testsuite apps over to the check dir
28230
28231 2005-07-12  Wim Taymans  <wim@fluendo.com>
28232
28233         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
28234         Added more debug info in the negotiate process.
28235
28236         * gst/gstmessage.h:
28237         Prepare for segment playback.
28238
28239         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
28240         Better debugging.
28241
28242         * gst/gstutils.c:
28243         Some more docs.
28244
28245         * tools/gst-launch.c: (main):
28246         NULL pipeline on errors.
28247
28248 2005-07-12  Andy Wingo  <wingo@pobox.com>
28249
28250         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
28251         not it comes from a malloc region. Make sure our copy gets freed.
28252
28253 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
28254
28255         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
28256         * check/gst/gstmessage.c: (GST_START_TEST):
28257         * check/gst/gststructure.c: (GST_START_TEST),
28258         (gst_structure_suite), (main):
28259           more testing
28260         * gst/gstelement.c: (gst_element_message_full):
28261           clean up GError and debug string now that they get copied
28262         * gst/gstmessage.c: (gst_message_new_error),
28263         (gst_message_new_warning), (gst_message_parse_error),
28264         (gst_message_parse_warning):
28265           use GST_TYPE_G_ERROR for structure_new, and take copies of
28266           arguments, so that we don't mess up refcounting
28267
28268 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
28269
28270         * check/Makefile.am:
28271           add per-test valgrind targets
28272         * check/gst-libs/gdp.c: (GST_START_TEST),
28273         (gst_data_protocol_suite), (main):
28274           clean up
28275
28276 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
28277
28278         * check/Makefile.am:
28279           instate more valgrindable tests
28280         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28281         (GST_START_TEST), (fakesrc_suite):
28282         * check/gst/gstpad.c: (GST_START_TEST):
28283         * check/gst/gststructure.c: (GST_START_TEST):
28284           fix test leaks
28285         * docs/gst/tmpl/gstminiobject.sgml:
28286         * gst/gstpad.c: (gst_pad_finalize):
28287           fix the static mutex leak
28288
28289 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28290
28291         * check/Makefile.am:
28292           add two more tests for valgrinding
28293         * check/gst/gstvalue.c: (GST_START_TEST):
28294           test refcount of deserialized buffer, found a leak
28295         * docs/gst/gstreamer-docs.sgml:
28296         * docs/gst/gstreamer-sections.txt:
28297         * docs/gst/gstreamer.types:
28298         * docs/gst/tmpl/gstminiobject.sgml:
28299           add miniobject to docs
28300         * gst/gstminiobject.c:
28301           add some docs
28302         * gst/gstvalue.c: (gst_value_deserialize_buffer),
28303         (gst_string_unwrap):
28304           fix a hard-to-find invalid write for one of the tests
28305           fix a leak for deserialized buffers
28306
28307 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28308
28309         * docs/pwg/advanced-events.xml:
28310         * docs/pwg/advanced-request.xml:
28311         * docs/pwg/advanced-scheduling.xml:
28312         * docs/pwg/appendix-porting.xml:
28313         * docs/pwg/building-boiler.xml:
28314         * docs/pwg/intro-preface.xml:
28315         * docs/pwg/other-ntoone.xml:
28316           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
28317           of example code and explanation for pad activation, loop() and
28318           getrange() functions and a bit more. Remove old comments pointing
28319           to loop-functions.
28320         * examples/pwg/Makefile.am:
28321           Add loop/getrange examples.
28322
28323 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28324
28325         * configure.ac:
28326           check for valgrind binary + some fixes
28327         * check/gst.supp:
28328           valgrind suppressions for the tests
28329         * check/Makefile.am:
28330           add a valgrind: target that valgrinds the unit tests
28331         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
28332         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
28333         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28334         * check/gst/gstghostpad.c:
28335           added some cleanup
28336         * check/gst/gstdata.c:
28337           removed
28338         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
28339         (thread_unref), (gst_mini_object_suite), (main):
28340           added
28341         * gst/gst.c: (gst_deinit):
28342         * gst/gst.h:
28343           add a method to clean up.
28344         * gst/gstsystemclock.c: (gst_system_clock_dispose),
28345         (gst_system_clock_obtain):
28346           allow for disposing the system clock.
28347         * tools/gst-launch.c: (main):
28348           deinit
28349
28350 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28351
28352         * docs/gst/tmpl/gstbasesrc.sgml:
28353         * docs/gst/tmpl/gstfakesrc.sgml:
28354         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28355         (gst_base_src_init), (gst_base_src_set_property),
28356         (gst_base_src_get_property), (gst_base_src_get_range),
28357         (gst_base_src_start):
28358         * gst/base/gstbasesrc.h:
28359           add num-buffers property
28360         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28361         (gst_fakesrc_init), (gst_fakesrc_set_property),
28362         (gst_fakesrc_get_property), (gst_fakesrc_create),
28363         (gst_fakesrc_start):
28364           remove num-buffers property
28365
28366 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28367
28368         * docs/gst/gstreamer-sections.txt:
28369         * docs/gst/tmpl/gstbasesink.sgml:
28370         * docs/gst/tmpl/gstbasesrc.sgml:
28371         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
28372         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
28373         (gst_base_sink_finalize), (gst_base_sink_set_clock),
28374         (gst_base_sink_set_property), (gst_base_sink_get_property),
28375         (gst_base_sink_handle_object), (gst_base_sink_event),
28376         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
28377         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
28378         (gst_base_sink_loop), (gst_base_sink_deactivate),
28379         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
28380         (gst_base_sink_change_state):
28381         * gst/base/gstbasesink.h:
28382         * gst/base/gstbasesrc.h:
28383         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
28384         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
28385         (gst_filesink_init):
28386           more macro splitting
28387
28388 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28389
28390         * gst/gstelement.c: (gst_element_get_bus):
28391           add debug
28392         * tools/gst-launch.c: (check_intr), (event_loop):
28393           fix bus leaks
28394
28395 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28396
28397         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
28398           fix a caps leak
28399
28400 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28401
28402         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28403         (gst_base_src_finalize):
28404           add finalize method and clean up properly
28405         * gst/gstpipeline.c: (gst_pipeline_dispose):
28406           add debug
28407
28408 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28409
28410         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
28411         (gst_bin_suite):
28412           add more things to check
28413         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
28414         * gst/gstelement.c:
28415           more debug
28416
28417 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28418
28419         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28420         (GST_START_TEST), (fakesrc_suite):
28421         * check/gst-libs/gdp.c: (GST_START_TEST):
28422         * check/gst/gst.c: (GST_START_TEST):
28423         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
28424         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28425         * check/gst/gstbus.c: (GST_START_TEST):
28426         * check/gst/gstcaps.c: (GST_START_TEST):
28427         * check/gst/gstdata.c: (GST_START_TEST):
28428         * check/gst/gstelement.c: (GST_START_TEST):
28429         * check/gst/gstghostpad.c: (GST_START_TEST):
28430         * check/gst/gstiterator.c: (GST_START_TEST):
28431         * check/gst/gstmessage.c: (GST_START_TEST):
28432         * check/gst/gstobject.c: (GST_START_TEST):
28433         * check/gst/gstpad.c: (GST_START_TEST):
28434         * check/gst/gststructure.c: (GST_START_TEST):
28435         * check/gst/gstsystemclock.c: (GST_START_TEST),
28436         (gst_systemclock_suite):
28437         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
28438         * check/gst/gstvalue.c: (GST_START_TEST):
28439         * check/pipelines/cleanup.c: (GST_START_TEST):
28440         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
28441         * check/states/sinks.c: (GST_START_TEST):
28442         * check/gstcheck.c: (gst_check_init):
28443         * check/gstcheck.h:
28444           add debugging category
28445           use GST_START_TEST now, so we add a debug line
28446
28447 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28448
28449         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
28450           add test for state change message on a bin
28451         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
28452           add another test
28453         * gst/gstbin.c: (gst_bin_init):
28454         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
28455         * gst/gstelement.c: (gst_element_post_message),
28456         (gst_element_set_state):
28457         * gst/gstelementfactory.c: (gst_element_factory_create):
28458         * gst/gstmessage.c: (gst_message_new):
28459         * gst/gstscheduler.c:
28460           various debugging additions and cleanups
28461
28462 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28463
28464         * check/Makefile.am:
28465         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
28466         (main):
28467           adding tests for elements
28468         * gst/gstelement.c: (gst_element_dispose):
28469
28470 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28471
28472         * gst/registries/gstlibxmlregistry.c: (load_feature):
28473           plug more leaks.  A simple gst_init() now is leakfree, yay.
28474
28475 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28476
28477         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
28478         (gst_xml_registry_load):
28479           plug another memleak
28480
28481 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28482
28483         * configure.ac:
28484           use GST_SET_ERROR_CFLAGS
28485         * docs/faq/cvs.xml:
28486           change to ERROR_CFLAGS
28487
28488 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28489
28490         * configure.ac:
28491           make GST_ERROR_CFLAGS overridable and re-enable Werror
28492         * docs/faq/cvs.xml:
28493           add a note about error CFLAGS
28494         * docs/gst/tmpl/gstfakesrc.sgml:
28495         * gst/elements/gstfakesrc.c:
28496           comment out some unused code
28497         * gst/gst.c: (split_and_iterate):
28498         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
28499         (load_feature):
28500           plug some memleaks
28501
28502 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
28503
28504         * common/Makefile.am:
28505         * common/gtk-doc.mak:
28506         * docs/gst/Makefile.am:
28507           factor out gtk-doc.mak
28508
28509 2005-07-07  Wim Taymans  <wim@fluendo.com>
28510
28511         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
28512         (gst_thread_scheduler_dispose):
28513         Unlock the STREAM_LOCK completely.
28514
28515 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
28516
28517         * check/Makefile.am:
28518         * check/elements/.cvsignore:
28519         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28520         (START_TEST), (fakesrc_suite), (main):
28521         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28522         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
28523         (gst_fakesrc_create), (gst_fakesrc_start):
28524         * gst/elements/gstfakesrc.h:
28525           adding a first element test
28526
28527 2005-07-07  Andy Wingo  <wingo@pobox.com>
28528
28529         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
28530         debug message.
28531
28532 2005-07-07  Wim Taymans  <wim@fluendo.com>
28533
28534         * gst/gstquery.c:
28535         * gst/gstquery.h:
28536         Remove old types
28537
28538 2005-07-07  Wim Taymans  <wim@fluendo.com>
28539
28540         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
28541         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
28542         Allow subclasses to implement their own negotiation.
28543
28544 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28545
28546         * docs/design/part-gstbin.txt:
28547         * docs/design/part-gstpipeline.txt:
28548           Update design notes to reflect the movement of
28549           responsibility for bus handling from GstPipeline to
28550           GstBin
28551
28552 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28553
28554         * configure.ac:
28555           Remove unnecessary queue2/3/4 examples.
28556
28557 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28558
28559         * examples/Makefile.am:
28560         * examples/helloworld/helloworld.c: (event_loop), (main):
28561         * examples/queue/queue.c: (event_loop), (main):
28562         * examples/queue2/queue2.c: (main):
28563           Update a couple of the examples to work again.
28564
28565         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28566         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
28567          Spelling corrections and extra debug.
28568         
28569         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
28570         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
28571         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
28572         * gst/gstbin.h:
28573         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
28574         (gst_pipeline_change_state):
28575         * gst/gstpipeline.h:
28576           Move the bus handler for children to the GstBin, and create a
28577           separate bus for receiving messages from children to the one the
28578           bus sends 'upwards' on.
28579
28580 2005-07-06  Wim Taymans  <wim@fluendo.com>
28581
28582         * gst/base/README:
28583         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28584         (gst_base_sink_handle_object), (gst_base_sink_loop),
28585         (gst_base_sink_change_state):
28586         * gst/base/gstbasesink.h:
28587         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28588         (gst_base_src_init), (gst_base_src_setcaps),
28589         (gst_base_src_getcaps), (gst_base_src_loop),
28590         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
28591         (gst_base_src_start), (gst_base_src_change_state):
28592         * gst/base/gstbasesrc.h:
28593         Make basesrc negotiate.
28594         Handle the case where preroll fails in basesink.
28595         Update README.
28596
28597 2005-07-06  Wim Taymans  <wim@fluendo.com>
28598
28599         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
28600         Implement the fixate function.
28601         Clean up acceptcaps.
28602
28603 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28604
28605         * docs/pwg/building-filterfactory.xml:
28606         * docs/pwg/pwg.xml:
28607           Remove never-written filter-factory chapter; I'll add the various
28608           base classes to part 4 ("other element types") later on.
28609
28610 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28611
28612         * docs/pwg/advanced-negotiation.xml:
28613         * docs/pwg/building-boiler.xml:
28614         * docs/pwg/building-pads.xml:
28615         * docs/pwg/pwg.xml:
28616         * examples/pwg/Makefile.am:
28617           Add a chapter on caps negotiation, simplify the original code
28618           samples a bit w.r.t. caps negotiation, add link to the advanced
28619           section. Add a bunch of examples showing different use cases of
28620           different types of caps negotiation. Upstream renegotiation isn't
28621           fully documented yet since nobody knows how that works.
28622
28623 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
28624
28625         * check/gst/gstpad.c:
28626         * check/gstcheck.c:
28627         * gst/gstpad.c: (gst_pad_get_internal_links_default):
28628           if pad has no parent, return NULL as list of internal links
28629
28630 2005-07-05  Andy Wingo  <wingo@pobox.com>
28631
28632         * gst/elements/gstfilesrc.c:
28633         * gst/elements/gstfakesrc.c: 
28634         * gst/base/gstpushsrc.c:
28635         * gst/base/gstbasesrc.h: 
28636         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
28637         
28638 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
28639
28640         * Makefile.am:
28641           better report generation target (lcov needs a patch)
28642
28643 2005-07-05  Andy Wingo  <wingo@pobox.com>
28644
28645         * gst/elements, testsuite: Null if we got it...
28646
28647 2005-07-05  Wim Taymans  <wim@fluendo.com>
28648
28649         * configure.ac:
28650         * libs/gst/dataprotocol/Makefile.am:
28651         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
28652         * libs/gst/dataprotocol/dataprotocol.h:
28653         * pkgconfig/Makefile.am:
28654         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
28655         * pkgconfig/gstreamer-dataprotocol.pc.in:
28656         Ported dataprotol to 0.9. 
28657         Added pkgconfig files.
28658
28659 2005-07-05  Andy Wingo  <wingo@pobox.com>
28660
28661         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
28662         Default to returning TRUE for the case when tranform_caps returns
28663         a fixed caps, like for identity or volume.
28664
28665         * check/gst/gstbus.c (pound_bus_with_messages): 
28666         * check/gst/gstmessage.c (START_TEST): 
28667         * check/pipelines/simple_launch_lines.c (got_handoff): Application
28668         message API change.
28669
28670         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
28671         logic weaks here: always run transform_caps, trying passthrough
28672         operation only if the original caps intersects with the transform.
28673
28674         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
28675         source and sink caps.
28676
28677         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
28678         Intersect the peer caps with the pad template before going into
28679         transform_caps.
28680         (gst_base_transform_transform_caps): More debugging.
28681
28682         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
28683         src argument.
28684
28685 2005-07-04  Edward Hervey  <edward@fluendo.com>
28686
28687         * gst/gstutils.c:
28688         * gst/gstutils.h:
28689         (gst_pad_add_*_probe): now returns the signal id for better wrapping
28690         in bindings.
28691
28692 2005-07-04  Andy Wingo  <wingo@pobox.com>
28693
28694         * check/gst/gstpad.c: Only set explicit caps on pads.
28695
28696 2005-07-01  Andy Wingo  <wingo@pobox.com>
28697
28698         * tests/network-clock.scm: Commentary update.
28699
28700         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
28701         Didn't really make sense, not implementable with basetransform,
28702         etc.
28703         (gst_identity_transform): Unref inbuf via make_writable. Feeble
28704         attempt at implementing the sync property, needs an unlock method.
28705
28706         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
28707         New func, by default returns the same caps (the identity
28708         transformation).
28709         (gst_base_transform_getcaps): Uses transform_caps to return
28710         something sensible.
28711         (gst_base_transform_setcaps): Complicated logic to get caps on
28712         both pads, even if they are different, and to call set_caps once
28713         for every time both pads get their caps set.
28714         (gst_base_transform_handle_buffer): Give the ref to the transform
28715         function. Allows in-place modification of the buffer.
28716
28717         * gst/base/gstbasetransform.h (transform_caps): New class method.
28718         Given caps on one side, what can I do on the other.
28719         (set_caps): Take two caps, one for each side of the element.
28720
28721         * gst/gstpad.h:
28722         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
28723         caps in place. This is safe because we can check the mutability of
28724         the caps, and a good idea because fixate functions are just called
28725         as a matter of last resort. (Not actually implemented.)
28726         (gst_pad_set_caps): If the caps we're setting is actually the same
28727         as the existing pad caps, just update the pointer without calling
28728         setcaps. Assert that caps is either NULL or fixed, as per the
28729         docs.
28730
28731         * gst/gstghostpad.c: Update for fixate changes.
28732
28733 2005-07-02  Andy Wingo  <wingo@pobox.com>
28734
28735         * gst/gstcaps.c:
28736         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
28737         two refcounts makes it immutable, which is enough. Doc more.
28738
28739 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
28740
28741         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
28742           Put the mini_object into GValue as a mini_object,
28743           not a gpointer, since that's how we declared
28744           the signal.
28745
28746 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28747
28748         * examples/pwg/Makefile.am:
28749           Fix buildbot again.
28750
28751 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28752
28753         * docs/pwg/building-testapp.xml:
28754           Add extra check.
28755         * examples/pwg/Makefile.am:
28756           Fix buildbot.
28757
28758 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28759
28760         * configure.ac:
28761         * examples/Makefile.am:
28762         * examples/pwg/Makefile.am:
28763         * examples/pwg/extract.pl:
28764           Enable building the PWG examples.
28765         * docs/pwg/advanced-interfaces.xml:
28766           Add URI interface stub.
28767         * docs/pwg/advanced-types.xml:
28768         * docs/pwg/other-autoplugger.xml:
28769         * docs/pwg/appendix-porting.xml:
28770         * docs/pwg/pwg.xml:
28771           Add porting guide (mostly stubs), remove autoplugging (see ADM).
28772         * docs/pwg/building-boiler.xml:
28773         * docs/pwg/building-chainfn.xml:
28774         * docs/pwg/building-pads.xml:
28775         * docs/pwg/building-props.xml:
28776         * docs/pwg/building-state.xml:
28777         * docs/pwg/building-testapp.xml:
28778           Update the building-*.xml parts for 0.9 changes. All examples
28779           code blocks compile in examples/pwg/*.
28780
28781 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28782
28783         * docs/manual/advanced-autoplugging.xml:
28784         * docs/manual/appendix-checklist.xml:
28785         * docs/manual/appendix-integration.xml:
28786         * docs/manual/highlevel-components.xml:
28787           Fix playbin/decodebin examples, update docs a bit, mention bus
28788           instead of signals in various places, mention kmplayer and
28789           kaffeine since they have a working GStreamer backend in the KDE
28790           section.
28791
28792 2005-06-30  Wim Taymans  <wim@fluendo.com>
28793
28794         * CHANGES-0.9:
28795         * docs/design/draft-ghostpads.txt:
28796         * docs/design/draft-push-pull.txt:
28797         * docs/design/draft-query.txt:
28798         * docs/design/part-TODO.txt:
28799         * docs/design/part-query.txt:
28800         Added CHANGES-0.9 doc, updated status of other docs.
28801         
28802         * gst/gstquery.h:
28803         Remove "hmm" macro
28804
28805 2005-06-30  Wim Taymans  <wim@fluendo.com>
28806
28807         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28808         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
28809         (gst_base_sink_change_state):
28810         * gst/base/gstbasesink.h:
28811         Some tweaks, only EOS and a buffer complete a preroll.
28812
28813 2005-06-30  Andy Wingo  <wingo@pobox.com>
28814
28815         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
28816         activate_push down to the internal pad as well.
28817
28818 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
28819
28820         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28821
28822         * gst/gsttaginterface.c:
28823           Some documentation fixes (#307394 and #307397).
28824
28825 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
28826
28827         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28828
28829         * gst/gstvalue.c: (gst_value_intersect_list):
28830           Fix memleak (#309125).
28831
28832 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28833
28834         * docs/manual/advanced-dataaccess.xml:
28835           Fix fakesrc example to compile; doesn't work, bug somewhere...?
28836         * docs/manual/basics-pads.xml:
28837           Add reference for filtered caps to above chapter.
28838
28839 2005-06-30  Wim Taymans  <wim@fluendo.com>
28840
28841         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
28842         (gst_bin_change_state):
28843         Probes are gone.
28844         Lame attempt at making the state change function a bit
28845         more readable.
28846
28847 2005-06-30  Wim Taymans  <wim@fluendo.com>
28848
28849         * docs/design/part-clocks.txt:
28850         * docs/design/part-element-sink.txt:
28851         * docs/design/part-events.txt:
28852         * docs/design/part-preroll.txt:
28853         * docs/design/part-states.txt:
28854         Some more tweeks and additions to the docs.
28855
28856 2005-06-30  Wim Taymans  <wim@fluendo.com>
28857
28858         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28859         (default_have_data), (gst_pad_class_init), (gst_pad_init),
28860         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
28861         (gst_pad_check_pull_range), (gst_pad_get_range),
28862         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
28863         * gst/gstpad.h:
28864         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
28865         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
28866         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
28867         (gst_pad_remove_buffer_probe):
28868         Removed atomic operations, use existing LOCK.
28869         Move exception handling out of main code path.
28870
28871 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28872
28873         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28874         (silly_return_true_function), (gst_pad_class_init),
28875         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
28876         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
28877         (gst_pad_send_event):
28878           Fix accumulator, add default value by using _emitv() instead
28879           of _emit() for signal emission.
28880
28881 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28882
28883         * docs/manual/advanced-dataaccess.xml:
28884         * examples/manual/Makefile.am:
28885           Add probe example.
28886         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
28887           Make work (??).
28888
28889 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
28890
28891         * gst/elements/gstfilesink.c: (gst_filesink_render):
28892           Simplify code so that we don't have to handle short
28893           writes and return GST_FLOW_ERROR if an error occured.
28894
28895 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28896
28897         * docs/gst/gstreamer-docs.sgml:
28898           Remove probes more.
28899
28900 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28901
28902         * docs/gst/gstreamer-sections.txt:
28903         * docs/gst/tmpl/gstpad.sgml:
28904         * docs/gst/tmpl/gstprobe.sgml:
28905         * gst/Makefile.am:
28906         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28907         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
28908         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
28909         (gst_pad_push_event), (gst_pad_send_event):
28910         * gst/gstpad.h:
28911         * gst/gstutils.c: (gst_pad_add_data_probe),
28912         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
28913         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
28914         (gst_pad_remove_buffer_probe):
28915         * gst/gstutils.h:
28916           Remove old probes, add new g-signal-based probes and some utility
28917           functions.
28918
28919 2005-06-29  Edward Hervey  <edward@fluendo.com>
28920
28921         * gst/gstelementfactory.c:
28922         * gst/gstutils.h:
28923         * gst/gstutils.c:
28924         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
28925         the definition to the header file.
28926
28927 2005-06-29  Andy Wingo  <wingo@pobox.com>
28928
28929         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
28930         plugins from the source directory.
28931
28932 2005-06-29  Wim Taymans  <wim@fluendo.com>
28933
28934         * docs/gst/tmpl/gstbuffer.sgml:
28935         * docs/gst/tmpl/gstclock.sgml:
28936         Some fixings for blantently wrong text.
28937
28938 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
28939
28940         * check/Makefile.am:
28941         * gst/gst.c: (add_path_func), (init_pre):
28942         * gst/gstregistry.c: (gst_registry_add_path):
28943           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
28944           only scan the GST_PLUGIN_PATH locations, and not add
28945           system locations
28946
28947 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
28948
28949         * docs/gst/gstreamer-sections.txt:
28950         * docs/gst/tmpl/gstbasesrc.sgml:
28951         * gst/gstelement.c:
28952         * gst/gstelement.h:
28953         * gst/gstevent.c:
28954         * gst/gstutils.c:
28955           doc fixes
28956
28957 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28958
28959         * docs/manual/advanced-autoplugging.xml:
28960           Fix autoplugging example.
28961
28962 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28963
28964         * docs/manual/advanced-autoplugging.xml:
28965         * docs/manual/mime-world.fig:
28966           Try to get autoplugging working, fix type detection. Fix text
28967           in hello-world image.
28968
28969 2005-06-29  Wim Taymans  <wim@fluendo.com>
28970
28971         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
28972         (gst_base_sink_change_state):
28973         Small debug line.
28974
28975         * gst/gstclock.h:
28976         map SIGNAL and BROADCAST to the right function.
28977
28978         * gst/gstobject.h:
28979         Remove redundant braces.
28980
28981         * gst/gstpad.c: (gst_pad_set_caps):
28982         Don't call setcaps function when reseting caps to NULL.
28983
28984         * gst/gstsystemclock.c: (gst_system_clock_dispose),
28985         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
28986         (gst_system_clock_id_unschedule):
28987         Use BROADCAST as this is what we do.
28988
28989 2005-06-29  Wim Taymans  <wim@fluendo.com>
28990
28991         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
28992         We are actually prerolling before commiting the state
28993         change. 
28994
28995 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28996
28997         * docs/manual/advanced-clocks.xml:
28998         * docs/manual/advanced-interfaces.xml:
28999         * docs/manual/advanced-metadata.xml:
29000         * docs/manual/advanced-position.xml:
29001         * docs/manual/advanced-schedulers.xml:
29002         * docs/manual/advanced-threads.xml:
29003         * docs/manual/appendix-porting.xml:
29004         * docs/manual/basics-bins.xml:
29005         * docs/manual/basics-bus.xml:
29006         * docs/manual/basics-elements.xml:
29007         * docs/manual/basics-helloworld.xml:
29008         * docs/manual/basics-pads.xml:
29009         * docs/manual/highlevel-components.xml:
29010         * docs/manual/manual.xml:
29011         * docs/manual/thread.fig:
29012           Update (until threads/scheduling) Application Development Manual;
29013           remove GstThread, add GstBus, add simple porting checklist, add
29014           documentation for tag writing, clocks, make all examples until this
29015           part compile and run.
29016         * examples/manual/Makefile.am:
29017           Update from changes to Application Development Manual; add bus
29018           example, remove thread example.
29019
29020 2005-06-28  Wim Taymans  <wim@fluendo.com>
29021
29022         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
29023         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
29024         (gst_bus_source_dispatch):
29025         Add debugging messages.
29026         Make internal methods static.
29027         Handle the case where the bus is flushed in the handler.
29028         
29029         * gst/gstelement.c: (gst_element_get_bus):
29030         Fix refcount in _get_bus();
29031
29032         * gst/gstpipeline.c: (gst_pipeline_change_state),
29033         (gst_pipeline_get_clock_func):
29034         Clock refcounting fixes.
29035         Handle the case where preroll timed out more gracefully.
29036         
29037         * gst/gstsystemclock.c: (gst_system_clock_dispose):
29038         Clean up the internal thread in dispose. This is needed
29039         for subclasses that actually get disposed.
29040         
29041         * gst/schedulers/threadscheduler.c:
29042         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
29043         (gst_thread_scheduler_dispose):
29044         Free thread pool in dispose.
29045
29046 2005-06-28  Andy Wingo  <wingo@pobox.com>
29047
29048         * tests/network-clock-utils.scm (debug, print-event): New utils.
29049
29050         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
29051         (*packet-loss*): Unified loss probability.
29052         (network-time): Report out-of-band events.
29053
29054         * tests/plot-data: Add support for out-of-band events. Hack it
29055         into this script instead of passing it down the pipe; should fix
29056         this later.
29057
29058 2005-06-28  Wim Taymans  <wim@fluendo.com>
29059
29060         * docs/gst/gstreamer.types:
29061         * docs/gst/tmpl/gstbasesrc.sgml:
29062         * docs/gst/tmpl/gstpad.sgml:
29063         Docs fixes.
29064
29065 2005-06-28  Wim Taymans  <wim@fluendo.com>
29066
29067         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29068         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
29069         (gst_proxy_pad_do_fixatecaps):
29070         Correctly proxy the check_pull_range function.
29071
29072 2005-06-28  Andy Wingo  <wingo@pobox.com>
29073
29074         * tests/network-clock.scm: Removed need for slib.
29075         
29076 2005-06-28  Wim Taymans  <wim@fluendo.com>
29077
29078         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
29079         (gst_basesink_preroll_queue_flush):
29080         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
29081         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
29082         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29083         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
29084         (gst_proxy_pad_set_property):
29085         * gst/gstpad.c:
29086         * gst/gstpad.h:
29087         * gst/gstqueue.c: (gst_queue_init):
29088         The deprecated pad loop function is removed now.
29089
29090 2005-06-28  Andy Wingo  <wingo@pobox.com>
29091
29092         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
29093         New parameters, simulate network packet loss.
29094
29095         * tests/network-clock-utils.scm: Initialize the RNG.
29096
29097 2005-06-28  Wim Taymans  <wim@fluendo.com>
29098
29099         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
29100         (gst_basesink_event), (gst_basesink_deactivate):
29101         Flushing the preroll queue always needs to unlock the waiters.
29102
29103 2005-06-28  Edward Hervey  <edward@fluendo.com>
29104
29105         * gst/gstpipeline.c: (gst_pipeline_send_event): 
29106         Wheen a seek was successful on a pipeline, set the stream_time to the
29107         seek offset in order to have a synchronized stream_time.
29108
29109 2005-06-28  Wim Taymans  <wim@fluendo.com>
29110
29111         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29112         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
29113         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
29114         (gst_proxy_pad_do_fixatecaps):
29115         Call wrapper function instead of just calling the function
29116         pointers. This takes care of any locking and whatmore.
29117
29118 2005-06-28  Wim Taymans  <wim@fluendo.com>
29119
29120         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
29121         (gst_pad_pull_range):
29122         * gst/gstpad.h:
29123         CONNECTED -> LINKED.
29124
29125 2005-06-28  Andy Wingo  <wingo@pobox.com>
29126
29127         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
29128         source-munging commit!!!
29129
29130         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
29131         (gst_object_sink): Take gpointer arguments, not GstObject --
29132         avoids casts. Like GLib.
29133
29134         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
29135         activate.
29136
29137 2005-06-27  Andy Wingo  <wingo@pobox.com>
29138
29139         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
29140         remaining buffer.
29141
29142         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
29143         returns a sorted copy of the trace list.
29144         (gst_alloc_trace_print_live): New API, only prints traces with
29145         live objects. Sort the list.
29146         (gst_alloc_trace_print_all): Sort the list.
29147         (gst_alloc_trace_print): Align columns.
29148
29149         * gst/elements/gstttypefindelement.c:
29150         * gst/elements/gsttee.c:
29151         * gst/base/gstbasesrc.c:
29152         * gst/base/gstbasesink.c:
29153         * gst/base/gstbasetransform.c:
29154         * gst/gstqueue.c: Adapt for pad activation changes.
29155
29156         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
29157         sched.
29158         (gst_pipeline_dispose): Drop ref on sched.
29159
29160         * gst/gstpad.c (gst_pad_init): Set the default activate func.
29161         (gst_pad_activate_default): Push mode by default.
29162         (pre_activate_switch, post_activate_switch): New stubs, things to
29163         do before and after switching activation modes on pads.
29164         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
29165         the pad's activate function to choose which mode to activate.
29166         Shortcut on deactivation and call the right function directly.
29167         (gst_pad_activate_pull): New API, (de)activates a pad in pull
29168         mode.
29169         (gst_pad_activate_push): New API, same for push mode.
29170         (gst_pad_set_activate_function) 
29171         (gst_pad_set_activatepull_function) 
29172         (gst_pad_set_activatepush_function): Setters for new API.
29173
29174         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
29175         Trace all miniobjects.
29176         (gst_mini_object_make_writable): Unref the arg if we copy, like
29177         gst_caps_make_writable.
29178
29179         * gst/gstmessage.c (_gst_message_initialize): No trace init.
29180
29181         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
29182         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
29183         Adapt for new pad API.
29184
29185         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
29186
29187         * gst/gstelement.h:
29188         * gst/gstelement.c (gst_element_iterate_src_pads) 
29189         (gst_element_iterate_sink_pads): New API functions.
29190         
29191         * gst/gstelement.c (iterator_fold_with_resync): New utility,
29192         should fold into gstiterator.c in some form.
29193         (gst_element_pads_activate): Simplified via use of fold and
29194         delegation of decisions to gstpad->activate.
29195
29196         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
29197         help in debugging.
29198
29199         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
29200         class once in init, like gstmessage. Didn't run into this issue
29201         but it seems correct. Don't initialize a trace, gstminiobject does
29202         that.
29203
29204         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
29205         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
29206         to the bus.
29207         (assert_live_count): New util function, uses alloc traces to check
29208         cleanup.
29209
29210         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
29211         To be modified when unlink drops the internal pad.
29212
29213 2005-06-27  Wim Taymans  <wim@fluendo.com>
29214
29215         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
29216         (gst_bin_change_state):
29217         Cleanup the get_state() function a little, make sure it
29218         iterates the same set of elements.
29219         Added stub iterate_state_order().
29220
29221 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
29222
29223         * docs/gst/gstreamer-docs.sgml:
29224         * docs/gst/gstreamer-sections.txt:
29225         * docs/gst/gstreamer.types:
29226         * docs/gst/tmpl/gstbasesink.sgml:
29227         * docs/gst/tmpl/gstbasesrc.sgml:
29228         * docs/gst/tmpl/gstbasetransform.sgml:
29229         * docs/gst/tmpl/gstelement.sgml:
29230         * docs/gst/tmpl/gstiterator.sgml:
29231         * gst/base/gstbasesrc.c:
29232         * gst/base/gstbasesrc.h:
29233         * gst/base/gstbasetransform.h:
29234         * gst/gstelement.c:
29235         * gst/gstiterator.h:
29236           adding basetransform and iterator docs
29237
29238 2005-06-27  Andy Wingo  <wingo@pobox.com>
29239
29240         * docs/design/part-activation.txt: Notes on how activation should
29241         work -- not quite implemented yet.
29242
29243 2005-06-25  Wim Taymans  <wim@fluendo.com>
29244
29245         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
29246         At least get the chain function correct, needs more
29247         fixing.
29248
29249 2005-06-25  Wim Taymans  <wim@fluendo.com>
29250
29251         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29252         (gst_basesink_handle_object), (gst_basesink_event),
29253         (gst_basesink_do_sync), (gst_basesink_handle_event),
29254         (gst_basesink_change_state):
29255         * gst/gsttask.h:
29256         Right, two problems here: ghostpads don't take locks and
29257         glib _rec_mutex_lock_full() with depth==0 still locks.
29258         Catch illegal locking and g_warn them.
29259
29260 2005-06-25  Wim Taymans  <wim@fluendo.com>
29261
29262         * check/states/sinks.c: (START_TEST), (gst_object_suite):
29263         Have to check for completion now...
29264
29265 2005-06-25  Wim Taymans  <wim@fluendo.com>
29266
29267         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29268         (gst_basesink_handle_object), (gst_basesink_event),
29269         (gst_basesink_do_sync), (gst_basesink_handle_event),
29270         (gst_basesink_change_state):
29271         * gst/gstpad.h:
29272         Unlock STREAM_LOCK whatever the recursion was.
29273
29274 2005-06-25  Wim Taymans  <wim@fluendo.com>
29275
29276         * gst/base/gstbasesink.c: (gst_basesink_set_property),
29277         (gst_basesink_preroll_queue_empty),
29278         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
29279         (gst_basesink_event), (gst_basesink_do_sync),
29280         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
29281         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
29282         (gst_basesink_change_state):
29283         Reworked the base sink, handle event and buffer serialisation
29284         correctly and removed possible deadlock.
29285         Handle EOS correctly.
29286
29287 2005-06-25  Wim Taymans  <wim@fluendo.com>
29288
29289         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
29290         (gst_pipeline_change_state):
29291         * tools/gst-launch.c: (check_intr), (event_loop), (main):
29292         Allow elements to post EOS in the state change function.
29293         Fix up -launch, make it exit the poll loop when the
29294         pipeline actually changed state.
29295         Fix up warning parsing in -launch.
29296
29297 2005-06-25  Wim Taymans  <wim@fluendo.com>
29298
29299         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
29300         (gst_tee_sink_activate):
29301         Core takes STREAM_LOCK for us now.
29302
29303 2005-06-25  Wim Taymans  <wim@fluendo.com>
29304
29305         * gst/gstelement.c: (gst_element_get_state_func),
29306         (gst_element_set_state):
29307         * gst/gstelement.h:
29308         * gst/gstmessage.c: (gst_message_parse_error),
29309         (gst_message_parse_warning):
29310         Keep track of current target state while performing a state
29311         change so that subclasses can do something interesting.
29312         Fix parsing of warning/error messages when GError is NULL.
29313
29314 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
29315
29316         * docs/gst/Makefile.am:
29317         * docs/gst/gstreamer-docs.sgml:
29318         * docs/gst/gstreamer-sections.txt:
29319         * docs/gst/gstreamer.types:
29320         * docs/gst/tmpl/gstbasesink.sgml:
29321         * docs/gst/tmpl/gstbasesrc.sgml:
29322         * docs/gst/tmpl/gstbin.sgml:
29323         * docs/gst/tmpl/gstcompat.sgml:
29324         * docs/gst/tmpl/gstfakesink.sgml:
29325         * docs/gst/tmpl/gstfakesrc.sgml:
29326         * docs/gst/tmpl/gstfilesink.sgml:
29327         * docs/gst/tmpl/gstfilesrc.sgml:
29328         * docs/gst/tmpl/gstindex.sgml:
29329         * docs/manual/appendix-quotes.xml:
29330         * gst/base/gstbasesrc.h:
29331         * gst/elements/gstfakesrc.h:
29332         * gst/gstmessage.h:
29333           start pulling in base classes and elements in our docs
29334
29335 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
29336
29337         * docs/gst/Makefile.am:
29338         * docs/libs/Makefile.am:
29339           fixed make distcheck with gtk-doc 1.3
29340
29341 2005-06-23  Wim Taymans  <wim@fluendo.com>
29342
29343         * gst/gstelement.c: (gst_element_get_state_func),
29344         (gst_element_set_state), (gst_element_change_state):
29345         When the state did not change, also report NO_PREROLL
29346         when it matters.
29347
29348 2005-06-23  Wim Taymans  <wim@fluendo.com>
29349
29350         * gst/gstpad.c: (gst_pad_event_default):
29351         * gst/gstqueue.c: (gst_queue_loop):
29352         No unsafe task pausing please.
29353
29354 2005-06-23  Wim Taymans  <wim@fluendo.com>
29355
29356         * gst/schedulers/threadscheduler.c:
29357         (gst_thread_scheduler_task_start),
29358         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
29359         Ref the task before pushing it on the threadpool. This
29360         makes sure that we have a ref when the threadfunction is
29361         actually called.
29362
29363 2005-06-23  Andy Wingo  <wingo@pobox.com>
29364
29365         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
29366         offset is greater than the file's size.
29367
29368         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
29369         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
29370         * gst/gstobject.c (gst_object_class_init): Make the class lock
29371         recursive. Wim won't let me drop deep_notify. Decodebin works
29372         again, whoopdy doo.
29373
29374         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
29375         internal pad, and hacks accordingly. Doesn't do it on the target
29376         pad because we change its caps. Probably catches all cases of
29377         interest tho.
29378         (gst_ghost_pad_set_property): Connect to notify::caps as
29379         appropritate.
29380
29381         * tests/network-clock.scm (plot-simulation): Pipe data to the
29382         elite python skript.
29383
29384         * tests/network-clock-utils.scm (define-parameter): New macro,
29385         defines a parameter that can be set via the command line.
29386         (set-parameter!, parse-parameter-arguments): Command line args
29387         parser.
29388
29389         * tests/plot-data: Simple matplotlib-based plotter, takes input on
29390         stdin.
29391
29392 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
29393
29394         * gst/elements/gsttypefindelement.c:
29395         (gst_type_find_element_handle_event):
29396           Don't restart typefinding on a discont.
29397         * gst/gstelement.c: (gst_element_set_state):
29398           Debug spelling fix.
29399         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
29400           Allow changing mode of an active pad.
29401           Debug output fixes.
29402         * gst/registries/gstlibxmlregistry.c: (load_feature):
29403           Don't cast a static pad template to a normal pad template.
29404
29405 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
29406
29407         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29408         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29409           remove gst_strtoll completely, since it didn't actually do
29410           anything more than what g_ascii_strtoull already does.
29411           check for range errors when deserializing
29412           do a cast for the unsigned cases; but further fixing needs
29413           a decision on what the interpretation of "(int)" and
29414           deserialization should be for values that fall outside the
29415           type's boundaries (ie, refuse, or interpret as casting)
29416
29417 2005-06-23  Wim Taymans  <wim@fluendo.com>
29418
29419         * check/Makefile.am:
29420         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
29421         * docs/design/part-live-source.txt:
29422         * docs/design/part-states.txt:
29423         * gst/base/gstbasesrc.c: (gst_basesrc_init),
29424         (gst_basesrc_set_live), (gst_basesrc_is_live),
29425         (gst_basesrc_get_range), (gst_basesrc_activate),
29426         (gst_basesrc_change_state):
29427         * gst/base/gstbasesrc.h:
29428         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
29429         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
29430         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
29431         * gst/gstelement.c: (gst_element_get_state_func),
29432         (gst_element_set_state):
29433         * gst/gstelement.h:
29434         * gst/gsttypes.h:
29435         * tools/gst-launch.c: (event_loop), (main):
29436         Added support for live sources and other elements that
29437         cannot do preroll.
29438         Updated design docs, added live-source design doc.
29439         Implemented live source functionality in basesrc
29440         Fix error condition in _bin_get_state()
29441         Implement live source handling in -launch.
29442         Added check for live sources.
29443         Fixed case in GstBin where elements were changed state
29444         multiple times.
29445
29446
29447 2005-06-23  Andy Wingo  <wingo@pobox.com>
29448
29449         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
29450         borken refcounting.
29451
29452         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
29453         gst_caps_replace takes care of this for us.
29454
29455         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
29456         gst_pad_set_caps on the target, not just its setcaps() function.
29457
29458         * tests/network-clock.scm: 
29459         * tests/network-clock-utils.scm: A network clock simulator.
29460         Something of an algorithmic testbed before doing something in C.
29461
29462 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29463
29464         * check/Makefile.am:
29465         * check/gst/capslist.h:
29466           copy over from 0.8, and add two with bitmasks specified with
29467           (int) 0xFF...
29468         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29469           add test to parse everything from capslist.h
29470         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
29471         (main):
29472           add test for structure deserialization
29473         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29474           add tests for deserialization of strings to int types
29475         * gst/gststructure.c: (gst_structure_nth_field_name):
29476         * gst/gststructure.h:
29477           add a way to get the name of a field referenced by index
29478         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29479           instead of checking if the resulting long long lies between
29480           min and max, we check if the long long would fit into
29481           a number of bytes for the final type.
29482           This fixes cases where a string represents 2^32 - 1, which
29483           when cast to int would be the (valid) -1, but is bigger than
29484           G_MAXINT
29485
29486 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29487
29488         * gst/parse/grammar.y:
29489           add a log line for type deserialization
29490
29491 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29492
29493         * check/gst/gstvalue.c: (START_TEST):
29494         * gst/gstvalue.c: (gst_value_deserialize):
29495           return long long, not int, so gint64 deserialization actually
29496           works.  Is there any flag that makes the compiler check this ?
29497           Fixes #308559
29498
29499 2005-06-22  Wim Taymans  <wim@fluendo.com>
29500
29501         * gst/gstbuffer.h:
29502         Added convenience macros for setting buffers in GValue.
29503
29504 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
29505
29506         * check/gst/.cvsignore:
29507         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29508           add a test deserializing int64, and comment part out because
29509           it fails, yay !
29510
29511 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
29512
29513         * check/Makefile.am:
29514         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
29515         * testsuite/Makefile.am:
29516         * testsuite/caps/Makefile.am:
29517         * testsuite/caps/value_serialize.c:
29518         * testsuite/test_gst_init.c:
29519           move a value_serialize test over
29520
29521 2005-06-20  Wim Taymans  <wim@fluendo.com>
29522
29523         * gst/gstpad.c:
29524         Small doc updates.
29525         
29526         * gst/gstvalue.c: (gst_value_compare_buffer),
29527         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
29528         (gst_value_compare_flags), (gst_value_serialize_flags),
29529         (gst_value_deserialize_flags), (_gst_value_initialize):
29530         Fix serialisation of buffers, they are not boxed types anymore
29531
29532 2005-06-20  Wim Taymans  <wim@fluendo.com>
29533
29534         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29535         Testcase to show error in buffer-on-caps serialisation.
29536
29537 2005-06-20  Andy Wingo  <wingo@pobox.com>
29538
29539         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
29540         will be adding to later.
29541
29542         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
29543         if its socks fill with rocks.
29544         (gst_system_clock_obtain): Set the name on object construction.
29545         Avoid double-checked locking.
29546
29547 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
29548
29549         * gst/gsturi.c: (gst_element_make_from_uri):
29550           Fix potential endless loop.
29551
29552 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29553
29554         * check/Makefile.am:
29555           add gsttag
29556         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
29557         (main):
29558           move over from testsuite dir and clean up
29559         * configure.ac:
29560         * gst/gsttag.c:
29561         * testsuite/Makefile.am:
29562         * testsuite/tags/.cvsignore:
29563         * testsuite/tags/Makefile.am:
29564         * testsuite/tags/merge.c:
29565           remove testsuite/tags
29566
29567 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29568
29569         * docs/gst/gstreamer-sections.txt:
29570         * docs/gst/tmpl/gstenumtypes.sgml:
29571         * win32/gstenumtypes.c:
29572           clean up documentation build a little
29573
29574 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29575
29576         * check/gstcheck.h:
29577           add macros for checking refcounts on objects and caps
29578         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
29579           add some more unit tests
29580         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
29581         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
29582           fix leaked refcounts (I hope :)) so unittest works
29583         * gst/gstpad.h:
29584           whitespace removal
29585
29586 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29587
29588         * configure.ac: back to HEAD
29589
29590 === release 0.9.1 ===
29591
29592 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
29593
29594         * NEWS:
29595         * RELEASE:
29596           updated
29597
29598 2005-06-17  Andy Wingo  <wingo@pobox.com>
29599
29600         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
29601         assert; it's always possible that the pad gets deactivated in
29602         between the checks in gstpad.c and the implementation. Rely on
29603         finish_preroll() to return a FLUSHING or similar instead of on the
29604         assert.
29605         
29606         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
29607         clock and post an EOS message if we come out of finish_preroll in
29608         the playing state.
29609
29610 2005-06-16  David Schleef  <ds@schleef.org>
29611
29612         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
29613         (gst_capsfilter_set_property): Allow NULL as possible value
29614         for filter_caps property, indicating GST_CAPS_ANY.
29615
29616 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
29617
29618         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
29619           fix debug output
29620         * gst/schedulers/Makefile.am:
29621           use libgst prefix
29622         * gstreamer.spec.in:
29623           fix spec for it
29624
29625 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
29626
29627         * gstreamer.spec.in:
29628           clean up
29629
29630 2005-06-08  Andy Wingo  <wingo@pobox.com>
29631
29632         * gst/gstutils.c: RPAD fixes all around.
29633         (gst_element_link_pads): Refcounting fixes.
29634
29635         * tools/gst-inspect.c:
29636         * tools/gst-xmlinspect.c:
29637         * parse/grammar.y:
29638         * gst/base/gsttypefindhelper.c:
29639         * gst/base/gstbasesink.c:
29640         * gst/gstqueue.c: RPAD fixes.
29641
29642         * gst/gstghostpad.h:
29643         * gst/gstghostpad.c: New ghost pad implementation as full proxy
29644         pads. The tricky thing is they provide both source and sink
29645         interfaces, since they proxy the internal pad for the external
29646         pad, and vice versa. Implement with lower-level ProxyPad objects,
29647         with the interior proxy pad as a child of the exterior ghost pad.
29648         Should write a doc on this.
29649         
29650         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
29651         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
29652         gst_object API.
29653         
29654         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
29655         pads are real pads. No ghost pads in this file. Not documenting
29656         the myriad s/RPAD/PAD/ and REALIZE fixes.
29657         (gst_pad_class_init): Add properties for "direction" and
29658         "template". Both are construct-only, so they can't change during
29659         the life of the pad. Fixes properly deriving from GstPad.
29660         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
29661         derived objects, just set properties when creating the objects via
29662         g_object_new.
29663         (gst_pad_get_parent): Implement as a function, return NULL if the
29664         parent is not an element.
29665         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
29666         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
29667         
29668         * gst/gstobject.c (gst_object_class_init): Make name a construct
29669         property. Don't set it in the object init.
29670
29671         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
29672         with UNKNOWN direction.
29673         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
29674         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
29675         (gst_element_remove_pad): Remove ghost-pad special cases.
29676         (gst_element_pads_activate): Remove rpad cruft.
29677
29678         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
29679         catch the pad's-parent-not-an-element case.
29680
29681         * gst/gst.h: Include gstghostpad.h.
29682
29683         * gst/gst.c (init_post): No more real, ghost pads.
29684
29685         * gst/Makefile.am: Add gstghostpad.[ch].
29686
29687         * check/Makefile.am:
29688         * check/gst/gstbin.c:
29689         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
29690         into a bin creates ghost pads, and that the refcounts are right.
29691         Partly moved from gstbin.c.
29692
29693 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29694
29695         * check/gst-libs/.cvsignore:
29696         * check/gst/.cvsignore:
29697         * check/pipelines/.cvsignore:
29698           ignore more
29699         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
29700         (START_TEST), (cleanup_suite), (main):
29701           add some tests related to cleanup after running pipelines
29702
29703 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29704
29705         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
29706           add a testsuite for GstBuffer
29707
29708 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29709
29710         * gst/gstminiobject.h:
29711           add defines for accessing the refcount
29712
29713 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
29714
29715         * Makefile.am: added support for html unit test coverage reports
29716
29717 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
29718
29719         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
29720           Free existing caps if the capsfilter changes. Add a FIXME about
29721           setting those caps on the pads.
29722
29723         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
29724           Before adding a ghost pad to a parent bin, check that there isn't
29725           already one for the element on the bin. Prevents infinite recursion
29726           when using decodebin in parse pipelines. Andy says he'll rewrite the
29727           way this works anyway, so ignore the hack.
29728
29729 2005-06-02  Andy Wingo  <wingo@pobox.com>
29730
29731         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
29732         file size, pass it on to the type find helper.
29733
29734         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
29735         segment_start and segment_end properly according to the seek
29736         method. Segment_end is still a bit flaky because offset can be
29737         negative for CUR and END cases, but it takes -1 as an "unset"
29738         value.
29739
29740 2005-06-02  Wim Taymans  <wim@fluendo.com>
29741
29742         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
29743         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
29744         (gst_basesink_activate):
29745         * gst/base/gstbasesink.h:
29746         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29747         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29748         (gst_pad_query), (gst_pad_start_task):
29749         * gst/gstpad.h:
29750         * gst/gstqueue.c: (gst_queue_bufferalloc),
29751         (gst_queue_handle_sink_event), (gst_queue_chain):
29752         Bufferalloc: return GstFlowReturn to more accuratly report
29753         why allocation failed.
29754
29755 2005-06-02  Wim Taymans  <wim@fluendo.com>
29756
29757         * gst/gstpipeline.c: (gst_pipeline_send_event):
29758         Take snapshot of state without blocking.
29759
29760 2005-06-02  Wim Taymans  <wim@fluendo.com>
29761
29762         * docs/design/part-TODO.txt:
29763         * docs/design/part-caps.txt:
29764         * docs/design/part-clocks.txt:
29765         * docs/design/part-negotiation.txt:
29766         * docs/design/part-preroll.txt:
29767         Small doc updates 
29768
29769 2005-05-30  Wim Taymans  <wim@fluendo.com>
29770
29771         * gst/elements/gstidentity.c: (gst_identity_event),
29772         (gst_identity_transform), (gst_identity_get_property):
29773         Protect last_message property as it is accessed from
29774         multiple threads.
29775
29776 2005-05-30  Wim Taymans  <wim@fluendo.com>
29777
29778         * gst/gstelement.c: (gst_element_init),
29779         (gst_element_pads_activate), (gst_element_change_state):
29780         Slicker pad activation code.
29781
29782 2005-05-30  Wim Taymans  <wim@fluendo.com>
29783
29784         * gst/Makefile.am:
29785         * gst/gstelement.h:
29786         * gst/gstelementfactory.h:
29787         * gst/gsttypes.h:
29788         Move elementfactory methods to separate .h file.
29789
29790 2005-05-30  Wim Taymans  <wim@fluendo.com>
29791
29792         * docs/design/part-overview.txt:
29793         * gst/gstsystemclock.h:
29794         Small typo fixes, doc updates.
29795
29796 2005-05-30  Wim Taymans  <wim@fluendo.com>
29797
29798         * gst/gst.c: (gst_init_get_popt_table), (init_post),
29799         (init_popt_callback):
29800         Remove cpu-opt flag.
29801
29802 2005-05-30  Wim Taymans  <wim@fluendo.com>
29803
29804         * gst/gstbuffer.c: (gst_subbuffer_finalize),
29805         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
29806         * gst/gstbuffer.h:
29807         Avoid typechecking in places where not needed.
29808         Added accessor for malloc_data.
29809
29810 2005-05-30  Wim Taymans  <wim@fluendo.com>
29811
29812         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
29813         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
29814         (gst_pad_configure_sink), (gst_pad_configure_src),
29815         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
29816         (gst_pad_start_task):
29817         Propagate errors from _set_caps() in configure_src/sink
29818         functions instead of returning TRUE.
29819         FLUSH events can travel up and downstream
29820
29821
29822 2005-05-30  Wim Taymans  <wim@fluendo.com>
29823
29824         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
29825         (gst_basesink_activate):
29826         Handle EOS in preroll.
29827
29828 2005-05-30  Wim Taymans  <wim@fluendo.com>
29829
29830         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
29831         (gst_queue_loop), (gst_queue_handle_src_event):
29832         Remove old pieces of code
29833         Flushing the queue in an upstream event is a very bad idea.
29834
29835 2005-05-26  Andy Wingo  <wingo@pobox.com>
29836
29837         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
29838         gst_value_set_mini_object so as to add a ref on the object (which
29839         will be removed when the value is unset).
29840
29841         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
29842         arg type in ::handoff.
29843
29844         * gst/gstelement.c (gst_element_change_state): Also deactivate
29845         pads in READY->NULL, just in case the element didn't make it to
29846         PAUSED. Wingo tested, Wim approved.
29847
29848 2005-05-26  Wim Taymans  <wim@fluendo.com>
29849
29850         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29851         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29852         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
29853         A flushing pad cannot be used to alloc_buffer from.
29854
29855 2005-05-26  Wim Taymans  <wim@fluendo.com>
29856
29857         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
29858         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
29859         (gst_bus_source_dispatch), (gst_bus_source_finalize),
29860         (gst_bus_create_watch), (gst_bus_add_watch_full):
29861         * gst/gstbus.h:
29862         Implement a real GSource and use g_main_context_wakeup() to
29863         signal new messages instead of the socketpair.
29864
29865 2005-05-25  Wim Taymans  <wim@fluendo.com>
29866
29867         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
29868         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
29869         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29870         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
29871         (gst_pad_send_event), (gst_pad_start_task):
29872         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
29873         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
29874         (gst_queue_sink_activate), (gst_queue_src_activate),
29875         (gst_queue_change_state):
29876         * gst/gstqueue.h:
29877         Fix state changes for non sinks. We now change sinks, then elements
29878         with unconnected srcpads, then the rest.
29879         More efficient queue unlocking in flush and state changes.
29880         Set the pad activate mode even if it does not have an activate
29881         function.
29882
29883 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29884
29885         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
29886           Don't go in pull mode for non-seekable sources.
29887         * gst/elements/gsttypefindelement.h:
29888         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
29889         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
29890         (free_entry), (stop_typefinding),
29891         (gst_type_find_element_handle_event), (find_peek),
29892         (gst_type_find_element_chain), (do_pull_typefind),
29893         (gst_type_find_element_change_state):
29894           Allow typefinding (w/o seeking) in push-mode, simplified version
29895           of what was in 0.8.
29896         * gst/gstutils.c: (gst_buffer_join):
29897         * gst/gstutils.h:
29898           gst_buffer_join() from 0.8.
29899
29900 2005-05-25  Wim Taymans  <wim@fluendo.com>
29901
29902         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29903         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
29904         (gst_pad_send_event), (gst_pad_start_task):
29905         Disable attempt at mode switching until it is figured out.
29906
29907 2005-05-25  Wim Taymans  <wim@fluendo.com>
29908
29909         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
29910         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
29911         (gst_basesink_finish_preroll), (gst_basesink_chain),
29912         (gst_basesink_loop), (gst_basesink_activate),
29913         (gst_basesink_change_state):
29914         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
29915         (gst_basesrc_get_range), (gst_basesrc_loop),
29916         (gst_basesrc_activate):
29917         * gst/elements/gsttee.c: (gst_tee_sink_activate):
29918         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
29919         (gst_real_pad_init), (gst_real_pad_set_property),
29920         (gst_real_pad_get_property), (gst_pad_set_active),
29921         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
29922         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
29923         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
29924         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
29925         (gst_pad_event_default_dispatch), (gst_pad_event_default),
29926         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
29927         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
29928         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
29929         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
29930         (gst_pad_stop_task):
29931         * gst/gstpad.h:
29932         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
29933         (gst_queue_loop), (gst_queue_src_activate):
29934         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
29935         (gst_task_get_state):
29936         * gst/gsttask.h:
29937         * gst/schedulers/threadscheduler.c:
29938         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
29939         Implement gst_pad_pause/start/stop_task(), take STREAM lock
29940         in task function.
29941         Remove ACTIVE pad flag, use FLUSHING everywhere
29942         Added _pad_chain(), _pad_get_range() to call chain/getrange 
29943         functions.
29944         Add locks around IS_FLUSHING when reading.
29945         Take STREAM lock in chain(), get_range() functions so plugins
29946         don't need to take it anymore.
29947         
29948
29949
29950 2005-05-25  Wim Taymans  <wim@fluendo.com>
29951
29952         * tools/gst-launch.c: (event_loop):
29953         Unref message after using its contents instead of
29954         before.
29955
29956 2005-05-24  Wim Taymans  <wim@fluendo.com>
29957
29958         * docs/design/draft-ghostpads.txt:
29959         * docs/design/draft-push-pull.txt:
29960         * docs/design/draft-query.txt:
29961         * docs/design/part-overview.txt:
29962         Docs updates, added general overview doc.
29963
29964 2005-05-21  David Schleef  <ds@schleef.org>
29965
29966         * docs/gst/tmpl/old/GstBin.sgml:
29967         * docs/gst/tmpl/old/GstBuffer.sgml:
29968         * docs/gst/tmpl/old/GstCaps.sgml:
29969         * docs/gst/tmpl/old/GstClock.sgml:
29970         * docs/gst/tmpl/old/GstCompat.sgml:
29971         * docs/gst/tmpl/old/GstData.sgml:
29972         * docs/gst/tmpl/old/GstElement.sgml:
29973         * docs/gst/tmpl/old/GstEvent.sgml:
29974         * docs/gst/tmpl/old/GstIndex.sgml:
29975         * docs/gst/tmpl/old/GstStructure.sgml:
29976         * docs/gst/tmpl/old/GstTag.sgml:
29977         * docs/gst/tmpl/old/cothreads.sgml:
29978         * docs/gst/tmpl/old/cothreads_compat.sgml:
29979         * docs/gst/tmpl/old/gettext.sgml:
29980         * docs/gst/tmpl/old/gobject2gtk.sgml:
29981         * docs/gst/tmpl/old/grammar.tab.sgml:
29982         * docs/gst/tmpl/old/gst-i18n-app.sgml:
29983         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
29984         * docs/gst/tmpl/old/gst_private.sgml:
29985         * docs/gst/tmpl/old/gstaggregator.sgml:
29986         * docs/gst/tmpl/old/gstarch.sgml:
29987         * docs/gst/tmpl/old/gstatomic_impl.sgml:
29988         * docs/gst/tmpl/old/gstbufferstore.sgml:
29989         * docs/gst/tmpl/old/gstdata_private.sgml:
29990         * docs/gst/tmpl/old/gstdisksink.sgml:
29991         * docs/gst/tmpl/old/gstdisksrc.sgml:
29992         * docs/gst/tmpl/old/gstelementfactory.sgml:
29993         * docs/gst/tmpl/old/gstextratypes.sgml:
29994         * docs/gst/tmpl/old/gstfakesink.sgml:
29995         * docs/gst/tmpl/old/gstfakesrc.sgml:
29996         * docs/gst/tmpl/old/gstfdsink.sgml:
29997         * docs/gst/tmpl/old/gstfdsrc.sgml:
29998         * docs/gst/tmpl/old/gstfilesink.sgml:
29999         * docs/gst/tmpl/old/gstfilesrc.sgml:
30000         * docs/gst/tmpl/old/gsthttpsrc.sgml:
30001         * docs/gst/tmpl/old/gstidentity.sgml:
30002         * docs/gst/tmpl/old/gstindexfactory.sgml:
30003         * docs/gst/tmpl/old/gstmarshal.sgml:
30004         * docs/gst/tmpl/old/gstmd5sink.sgml:
30005         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
30006         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
30007         * docs/gst/tmpl/old/gstpadtemplate.sgml:
30008         * docs/gst/tmpl/old/gstpipefilter.sgml:
30009         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
30010         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
30011         * docs/gst/tmpl/old/gstshaper.sgml:
30012         * docs/gst/tmpl/old/gstspider.sgml:
30013         * docs/gst/tmpl/old/gstspideridentity.sgml:
30014         * docs/gst/tmpl/old/gststatistics.sgml:
30015         * docs/gst/tmpl/old/gsttee.sgml:
30016         * docs/gst/tmpl/old/gsttimecache.sgml:
30017         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
30018         * docs/gst/tmpl/old/gstxmlregistry.sgml:
30019         * docs/gst/tmpl/old/gthread-cothreads.sgml:
30020         * docs/gst/tmpl/old/types.sgml:
30021           I didn't intend to add these or check them in.
30022
30023 2005-05-19  David Schleef  <ds@schleef.org>
30024
30025         * configure.ac: Use -no-common everywhere.  In a sane world, it
30026           would be the default in libtool, because without it, you can't
30027           build DLLs on Windows.
30028         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
30029         * docs/gst/gstreamer-sections.txt:
30030         * docs/gst/tmpl/gstcpu.sgml:
30031         * docs/gst/tmpl/gstdata.sgml:
30032         * docs/gst/tmpl/gstthread.sgml:
30033
30034 2005-05-19  David Schleef  <ds@schleef.org>
30035
30036         * gst/gstminiobject.c: (gst_value_set_mini_object),
30037         (gst_value_take_mini_object), (gst_value_get_mini_object):
30038         * gst/gstminiobject.h: Add GValue set/get functions.
30039
30040 2005-05-19  Wim Taymans  <wim@fluendo.com>
30041
30042         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
30043         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
30044         (gst_subbuffer_init), (gst_buffer_is_span_fast):
30045         * gst/gstbuffer.h:
30046         * gst/gstbus.c: (gst_bus_post):
30047         * gst/gstelement.c: (gst_element_get_random_pad):
30048         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
30049         Make subbufer unref the parent in finalize.
30050         some more debugging info.
30051
30052
30053 2005-05-19  Wim Taymans  <wim@fluendo.com>
30054
30055         * gst/base/gstbasesink.c: (gst_basesink_class_init),
30056         (gst_basesink_init), (gst_basesink_finalize),
30057         (gst_basesink_activate), (gst_basesink_change_state):
30058         Don't free preroll queue too early.
30059
30060 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30061
30062         * gst/Makefile.am:
30063         * gst/ROADMAP:
30064           Hi, I'm outdated. Please shoot me.
30065
30066 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30067
30068         * gst/gstpipeline.c: (gst_pipeline_send_event):
30069           Do not access variables after they have been deleted.
30070
30071 2005-05-19  Wim Taymans  <wim@fluendo.com>
30072
30073         * tools/gst-inspect.c: (print_plugin_features):
30074         A plugin feature does unfortunatly not use the
30075         object name yet...
30076
30077 2005-05-18  Wim Taymans  <wim@fluendo.com>
30078
30079         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
30080         Port _span() functions to new subbuffers.
30081
30082 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30083
30084         * gst/gstbin.c: (gst_bin_add_func):
30085           Fix clock settery in bins when adding kids after the clock has
30086           been selected.
30087
30088 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30089
30090         * gst/elements/gstidentity.c: (gst_identity_class_init):
30091           Workaround until signals support GstMiniObject.
30092
30093 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
30094
30095         * gst/gstbuffer.c:
30096         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
30097
30098 2005-05-18  Wim Taymans  <wim@fluendo.com>
30099
30100         * gst/base/Makefile.am:
30101         * gst/base/gstadapter.c: (gst_adapter_base_init),
30102         (gst_adapter_class_init), (gst_adapter_init),
30103         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
30104         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
30105         (gst_adapter_flush), (gst_adapter_available),
30106         (gst_adapter_available_fast):
30107         * gst/base/gstadapter.h:
30108         Ported and added adapter to the base classes.
30109
30110 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
30111
30112         * gst/gst.c:
30113         * gst/gstmessage.c:
30114           Make sure the class is reffed/unreffed once before threads can be
30115           used.  Fixes #304551.
30116
30117 2005-05-17  Wim Taymans  <wim@fluendo.com>
30118
30119         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
30120         (gst_basesink_chain_unlocked), (gst_basesink_activate):
30121         * gst/gstminiobject.c: (gst_mini_object_get_type),
30122         (gst_mini_object_free):
30123         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
30124         (gst_pad_push), (gst_pad_push_event):
30125         * gst/gstqueue.c: (gst_queue_change_state):
30126         Don't queue buffers in basesink when we are flushing.
30127         Unref buffer when flushing in basesink.
30128         Flush queue when going to READY
30129         Unref buffer when _push() returns an error.
30130         Don't free MiniObject instance when refcount is incremented
30131         in _finalize() so that we can recover objects.
30132
30133 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
30134
30135         * docs/manual/advanced-schedulers.xml:
30136         * docs/manual/appendix-checklist.xml:
30137         * docs/pwg/advanced-clock.xml:
30138         * docs/pwg/advanced-interfaces.xml:
30139         * docs/pwg/advanced-request.xml:
30140         * docs/pwg/advanced-types.xml:
30141         * docs/pwg/intro-preface.xml:
30142         * examples/plugins/example.c: (gst_example_get_type),
30143         (gst_example_class_init), (gst_example_chain),
30144         (gst_example_set_property), (gst_example_get_property),
30145         (gst_example_change_state), (plugin_init):
30146         * examples/plugins/example.h:
30147           small doc fixes
30148
30149 2005-05-17  Wim Taymans  <wim@fluendo.com>
30150
30151         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
30152         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
30153         * gst/gstqueue.c: (gst_queue_change_state):
30154         Clear queue when going to READY.
30155         Remove IN_SETCAPS flag too.
30156
30157 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
30158
30159         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
30160           Remove implicit cast from gboolean to GstElementStateReturn;
30161           make sure we still return failure in paused => ready case if
30162           the parent class fails to change state and our own stop 
30163           vfunc succeeds.
30164
30165 2005-05-17  Wim Taymans  <wim@fluendo.com>
30166
30167         * tools/gst-launch.c: (event_loop):
30168         Message was unreffed too soon.
30169
30170 2005-05-16  Andy Wingo  <wingo@pobox.com>
30171
30172         * gst/gstbin.c (sink_iterator_filter): Err... um...
30173
30174         * check/gst/gstbin.c (test_ghost_pads): New test for the
30175         ghosting-if-elements-not-in-same-bin behavior.
30176
30177 2005-05-16  David Schleef  <ds@schleef.org>
30178
30179         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
30180         accessing refcount directly.
30181
30182 2005-05-15  David Schleef  <ds@schleef.org>
30183
30184         * check/Makefile.am: remove GstData checks
30185         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
30186         * gst/Makefile.am: add miniobject, remove data
30187         * gst/gst.h: add miniobject, remove data
30188         * gst/gstdata.c: remove
30189         * gst/gstdata.h: remove
30190         * gst/gstdata_private.h: remove
30191         * gst/gsttypes.h: remove GstEvent and GstMessage
30192         * gst/gstelement.c: (gst_element_post_message): fix for API changes
30193         * gst/gstmarshal.list: change BOXED -> OBJECT
30194
30195         Implement GstMiniObject.
30196         * gst/gstminiobject.c:
30197         * gst/gstminiobject.h:
30198
30199         Modify to be subclasses of GstMiniObject.
30200         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
30201         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
30202         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
30203         (gst_subbuffer_get_type), (gst_subbuffer_init),
30204         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
30205         (gst_buffer_span):
30206         * gst/gstbuffer.h:
30207         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
30208         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
30209         (_gst_event_copy), (gst_event_new):
30210         * gst/gstevent.h:
30211         * gst/gstmessage.c: (_gst_message_initialize),
30212         (gst_message_get_type), (gst_message_class_init),
30213         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
30214         (gst_message_new), (gst_message_new_error),
30215         (gst_message_new_warning), (gst_message_new_tag),
30216         (gst_message_new_state_changed), (gst_message_new_application):
30217         * gst/gstmessage.h:
30218         * gst/gstprobe.c: (gst_probe_perform),
30219         (gst_probe_dispatcher_dispatch):
30220         * gst/gstprobe.h:
30221         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
30222         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
30223         (_gst_query_copy), (gst_query_new):
30224
30225         Update elements for GstData -> GstMiniObject changes
30226         * gst/gstquery.h:
30227         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
30228         (gst_queue_chain), (gst_queue_loop):
30229         * gst/elements/gstbufferstore.c:
30230         (gst_buffer_store_add_buffer_func),
30231         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
30232         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30233         (gst_fakesink_render):
30234         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
30235         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
30236         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
30237         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
30238         (gst_filesrc_create_read):
30239         * gst/elements/gstidentity.c: (gst_identity_class_init):
30240         * gst/elements/gsttypefindelement.c:
30241         (gst_type_find_element_src_event), (free_entry_buffers),
30242         (gst_type_find_element_handle_event):
30243         * libs/gst/dataprotocol/dataprotocol.c:
30244         (gst_dp_header_from_buffer):
30245         * libs/gst/dataprotocol/dataprotocol.h:
30246         * libs/gst/dataprotocol/dp-private.h:
30247
30248 2005-05-15  David Schleef  <ds@schleef.org>
30249
30250         * gst/elements/gstelements.c: Don't include headers that were
30251         just removed.
30252
30253 2005-05-15  David Schleef  <ds@schleef.org>
30254
30255         * gst/elements/Makefile.am: Remove some elements that don't
30256         need to be in the core (or even exist at all).
30257         * gst/elements/gstaggregator.c:
30258         * gst/elements/gstaggregator.h:
30259         * gst/elements/gstmd5sink.c:
30260         * gst/elements/gstmd5sink.h:
30261         * gst/elements/gstmultifilesrc.c:
30262         * gst/elements/gstmultifilesrc.h:
30263         * gst/elements/gstpipefilter.c:
30264         * gst/elements/gstpipefilter.h:
30265         * gst/elements/gstshaper.c:
30266         * gst/elements/gstshaper.h:
30267         * gst/elements/gststatistics.c:
30268         * gst/elements/gststatistics.h:
30269         * po/POTFILES.in: Remove above files.
30270
30271 2005-05-14  Andy Wingo  <wingo@pobox.com>
30272
30273         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
30274         so as to get the refs right.
30275         (sink_iterator_filter): New function, wraps bin_element_is_sink,
30276         unreffing objects that don't pass the filter.
30277
30278         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
30279         gst_element_set_bus.
30280         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
30281         normal cases, this will destroy the bus.
30282
30283         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
30284         object.
30285
30286         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
30287         has no sinks.
30288
30289 2005-05-13  Andy Wingo  <wingo@pobox.com>
30290
30291         * gst/gstutils.c (gst_element_link_pads): Instead of calling
30292         gst_pad_link, call pad_link_maybe_ghosting,
30293         (pad_link_maybe_ghosting): Links pads, making sure that the
30294         elements being linked are in the same bin.
30295         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
30296         Helpers for pad_link_maybe_ghosting.
30297
30298 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
30299
30300         * configure.ac:
30301           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
30302
30303 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
30304
30305         * docs/design/part-element-source.txt:
30306           Mention GstPushSrc
30307
30308 2005-05-12  Wim Taymans  <wim@fluendo.com>
30309
30310         * gst/base/gstbasesink.c: (gst_basesink_init),
30311         (gst_basesink_activate):
30312         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
30313         (gst_basesrc_is_seekable):
30314         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
30315         (bin_element_is_sink), (gst_bin_change_state):
30316         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30317         * gst/gstelement.h:
30318         Identify sinks by their flag to avoid overly complicated
30319         checks (fow now).
30320         Do state changes even for elements not reachable from the
30321         sinks.
30322         BaseSink is a sink now :)
30323         Some more debugging info in the basesrc.
30324
30325
30326 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30327
30328         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
30329           Implement _query on a bin, similar to _send_event.
30330
30331 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
30332
30333         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
30334           Discont event offset format should be GST_FORMAT_BYTES,
30335           not GST_FORMAT_TIME.
30336
30337 2005-05-12  Wim Taymans  <wim@fluendo.com>
30338
30339         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
30340         Same fix as Ronald's but without the signal. 
30341
30342 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30343
30344         * gst/gstutils.c: (gst_element_query_position):
30345           No, an element is not a pad.
30346
30347 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30348
30349         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
30350         (gst_bin_get_state):
30351           If a child is removed from a bin while we remove the child from
30352           the bin and while we're retrieving its state, signal this to the
30353           get_state function so we abort the wait (instead of waiting for
30354           a timeout) and can immediately re-iterate over all other elements.
30355
30356 2005-05-12  Wim Taymans  <wim@fluendo.com>
30357
30358         * gst/base/Makefile.am:
30359         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
30360         (gst_basesrc_start):
30361         * gst/base/gstbasesrc.h:
30362         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
30363         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
30364         (gst_pushsrc_init), (gst_pushsrc_create):
30365         * gst/base/gstpushsrc.h:
30366         Added is_seekable to BaseSrc
30367         Added simple PushSrc.
30368
30369 2005-05-11  Wim Taymans  <wim@fluendo.com>
30370
30371         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30372         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30373         (gst_element_link_pads), (gst_element_query_position),
30374         (gst_element_query_convert), (intersect_caps_func),
30375         (gst_pad_query_position), (gst_pad_query_convert):
30376         Fix refcounting in utils function.
30377         No point in trying to activate a pad when it's added, it could
30378         be added from the state change function and then we deadlock, the
30379         element has to decide what to do.
30380
30381 2005-05-10  Andy Wingo  <wingo@pobox.com>
30382
30383         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
30384         *all* the arguments.
30385
30386         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
30387         stream lock if it's a FLUSH_DONE; normal flushes don't get the
30388         lock (according to the docs -- if this is wrong change the docs).
30389
30390         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
30391         flush messages in the NULL state.
30392
30393         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
30394         message immediately and return.
30395         (gst_bus_set_flushing): New function. If a bus is flushing, it
30396         flushes out any queued messages and immediately unrefs new
30397         messages. This is so when an element goes to NULL, all of the
30398         unhandled messages coming from it can be freed, and their
30399         references to the element dropped. In other words: message source
30400         ref considered harmful :P
30401
30402         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
30403         we're finished with it.
30404
30405         * gst/gstmessage.c (gst_message_new_state_changed): 
30406
30407 2005-05-10  Wim Taymans  <wim@fluendo.com>
30408
30409         * gst/gstvalue.c: (gst_value_compare_flags),
30410         (gst_value_serialize_flags), (gst_value_deserialize_flags),
30411         (_gst_value_initialize):
30412         Added flags serialize/deserialize/compare code.
30413
30414 2005-05-09  Andy Wingo  <wingo@pobox.com>
30415
30416         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
30417         Intersect the peer's caps with our caps.
30418
30419 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30420
30421         * gst/base/gsttypefindhelper.c: (helper_find_peek):
30422         * gst/elements/gsttypefindelement.c: (find_peek):
30423           Handle negative offsets better. Fixes decodebin.
30424
30425 2005-05-09  Wim Taymans  <wim@fluendo.com>
30426
30427         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
30428         (gst_base_transform_event):
30429         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
30430         Implement accept_caps.
30431         Fix silly lock/unlock mismatch in base class.
30432
30433 2005-05-09  Wim Taymans  <wim@fluendo.com>
30434
30435         * docs/design/draft-push-pull.txt:
30436         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
30437         * gst/elements/gstfilesink.c: (gst_filesink_init),
30438         (gst_filesink_query):
30439         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
30440         (gst_type_find_handle_src_query), (find_element_get_length):
30441         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
30442         * gst/gstelement.h:
30443         * gst/gstmessage.c:
30444         * gst/gstmessage.h:
30445         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
30446         (gst_real_pad_get_caps_unlocked),
30447         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
30448         (gst_pad_event_default_dispatch), (gst_pad_event_default),
30449         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
30450         (gst_real_pad_dispose), (gst_real_pad_finalize),
30451         (gst_pad_load_and_link), (gst_pad_save_thyself),
30452         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
30453         (gst_pad_check_pull_range), (gst_pad_pull_range),
30454         (gst_pad_template_get_type), (gst_pad_template_class_init),
30455         (gst_pad_template_init), (gst_pad_template_dispose),
30456         (name_is_valid), (gst_static_pad_template_get),
30457         (gst_pad_template_new), (gst_static_pad_template_get_caps),
30458         (gst_pad_template_get_caps), (gst_pad_set_element_private),
30459         (gst_pad_get_element_private), (gst_pad_start_task),
30460         (gst_pad_pause_task), (gst_pad_stop_task),
30461         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
30462         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
30463         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
30464         (gst_ghost_pad_new):
30465         * gst/gstpad.h:
30466         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
30467         (gst_query_new_position), (gst_query_set_position),
30468         (gst_query_parse_position), (gst_query_new_convert),
30469         (gst_query_set_convert), (gst_query_parse_convert):
30470         * gst/gstquery.h:
30471         * gst/gstqueryutils.c:
30472         * gst/gstqueryutils.h:
30473         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30474         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30475         (gst_queue_handle_src_query):
30476         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30477         (gst_element_query_position), (gst_element_query_convert),
30478         (intersect_caps_func), (gst_pad_query_position),
30479         (gst_pad_query_convert):
30480         * gst/gstutils.h:
30481         * tools/gst-inspect.c: (print_pad_info):
30482         * tools/gst-xmlinspect.c: (print_element_info):
30483         Remove old query functions. Ported old code.
30484         Added position/convert helper functions to gstutils.
30485         Reordered gstpad.c code, grouping relevant things.
30486         Remove gst_message_new(), always need to speficy a specific
30487         message.
30488
30489
30490 2005-05-09  Andy Wingo  <wingo@pobox.com>
30491
30492         * gst/gstiterator.h: Add some includes.
30493
30494         * gst/gstqueryutils.h: Include more headers.
30495
30496         * gst/gstpad.h:
30497         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
30498         some uses of gst_pad_query.
30499
30500         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
30501         NULL out parameters.
30502         (gst_query_new_position): New proc, allocates a new position
30503         query.
30504
30505         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
30506         gstqueryutils.c to the build.
30507
30508         * gst/gststructure.c (gst_structure_set_valist): Implement with
30509         the generic G_VALUE_COLLECT.
30510         
30511 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
30512
30513         * gst/Makefile.am: (gst_headers):
30514         Added gstqueryutils.h to the list of headers to install, that was
30515         a 'nachty' move wingo :)
30516
30517 2005-05-06  Andy Wingo  <wingo@pobox.com>
30518
30519         * gst/gstquery.h
30520         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
30521         GstData, init a memchunk.
30522         (standard_definitions): Add a few query types, deprecate a few.
30523         (gst_query_get_type): New proc.
30524         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
30525         implementation.
30526         (gst_query_new_application, gst_query_get_structure): New public
30527         procs.
30528
30529         * docs/design/draft-query.txt: Removed LINKS from the query types,
30530         because all the rest can be dispatched to other pads -- seemed
30531         ugly to have a query that couldn't be dispatched. internal_links
30532         is fine as a pad method.
30533
30534         * gst/gstpad.h: Add query2 as a pad method, add the new functions
30535         in gstpad.c, but maintain binary compatibility for the moment.
30536         Will fix before 0.9 is out.
30537
30538         * gst/gstqueryutils.c: 
30539         * gst/gstqueryutils.h: New files, implement 3 methods for each
30540         query type: parse_query, parse_response, and set. Probably need an
30541         allocator as well.
30542
30543         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
30544
30545         * gst/elements/gstfilesink.c (gst_filesink_query2):
30546         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
30547         query_types, and formats methods.
30548
30549         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
30550         (gst_pad_set_query2_function): New functions.
30551         (gst_real_pad_init): Set query2_default as the default query2
30552         function. Basically just dispatches to internally linked pads.
30553
30554         Needs review!
30555         
30556         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
30557         without using the atomic operations. Only one thread can possibly
30558         be accessing the data at this point. Changed so as to avoid
30559         gst_atomic operations.
30560
30561 2005-05-06  Wim Taymans  <wim@fluendo.com>
30562
30563         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
30564         Also set caps if we use the fallback buffer alloc.
30565
30566 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
30567
30568         * docs/gst/Makefile.am:
30569         * docs/gst/gstreamer-docs.sgml:
30570         * docs/gst/gstreamer-sections.txt:
30571         * docs/gst/tmpl/gstatomic.sgml:
30572         * docs/gst/tmpl/gstmemchunk.sgml:
30573         * testsuite/elements/struct_i386.h:
30574         * win32/GStreamer.vcproj:
30575         * win32/Makefile:
30576           Purge GstAtomic stuff from docs and win32 makefiles as well
30577
30578 2005-05-06  Wim Taymans  <wim@fluendo.com>
30579
30580         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
30581         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
30582         * gst/gstpad.c: (gst_pad_peer_get_caps):
30583         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30584         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30585         (gst_queue_src_activate), (gst_queue_change_state):
30586         * gst/gstqueue.h:
30587         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30588         (intersect_caps_func):
30589         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
30590         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
30591         Some fixes for the peer_get_caps() change.
30592
30593 2005-05-06  Wim Taymans  <wim@fluendo.com>
30594
30595         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
30596         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
30597         (gst_basesink_activate):
30598         Actually do something with error codes returned from the push
30599         functions.
30600
30601 2005-05-06  Wim Taymans  <wim@fluendo.com>
30602
30603         * docs/design/part-element-sink.txt:
30604         * docs/design/part-element-source.txt:
30605         * gst/base/gstbasesink.c: (gst_basesink_class_init),
30606         (gst_basesink_event), (gst_basesink_activate):
30607         * gst/base/gstbasesink.h:
30608         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
30609         (gst_basesrc_activate):
30610         * gst/base/gstbasesrc.h:
30611         * gst/gstelement.c: (gst_element_pads_activate):
30612         Some more documentation.
30613         Fixed scheduling decision in _pads_activate().
30614
30615 2005-05-05  Andy Wingo  <wingo@pobox.com>
30616
30617         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
30618         the test suite.
30619
30620 2005-05-05  Wim Taymans  <wim@fluendo.com>
30621
30622         * gst/base/Makefile.am:
30623         * gst/base/gstbasesink.h:
30624         * gst/base/gstbasesrc.c: (gst_basesrc_init),
30625         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
30626         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
30627         (gst_collectpads_class_init), (gst_collectpads_init),
30628         (gst_collectpads_finalize), (gst_collectpads_new),
30629         (gst_collectpads_set_function), (gst_collectpads_add_pad),
30630         (find_pad), (gst_collectpads_remove_pad),
30631         (gst_collectpads_is_active), (gst_collectpads_collect),
30632         (gst_collectpads_collect_range), (gst_collectpads_start),
30633         (gst_collectpads_stop), (gst_collectpads_peek),
30634         (gst_collectpads_pop), (gst_collectpads_available),
30635         (gst_collectpads_read), (gst_collectpads_flush),
30636         (gst_collectpads_chain):
30637         * gst/base/gstcollectpads.h:
30638         * gst/elements/Makefile.am:
30639         * gst/elements/gstelements.c:
30640         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30641         (gst_fakesink_get_times), (gst_fakesink_event),
30642         (gst_fakesink_preroll), (gst_fakesink_render):
30643         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
30644         (gst_filesink_init), (gst_filesink_set_location),
30645         (gst_filesink_open_file), (gst_filesink_close_file),
30646         (gst_filesink_pad_query), (gst_filesink_event),
30647         (gst_filesink_render), (gst_filesink_change_state):
30648         * gst/elements/gstfilesink.h:
30649         Added object to help in making collect pad based elements.
30650         Ported filesink.
30651         Make event function in sink baseclass return gboolean.
30652
30653 2005-05-05  Wim Taymans  <wim@fluendo.com>
30654
30655         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
30656         (gst_bin_get_by_name):
30657         * gst/gstbuffer.h:
30658         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
30659         (gst_clock_finalize):
30660         * gst/gstdata.c: (gst_data_replace):
30661         * gst/gstdata.h:
30662         * gst/gstelement.c: (gst_element_request_pad),
30663         (gst_element_pads_activate):
30664         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
30665         (gst_object_unref):
30666         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30667         (gst_pad_set_checkgetrange_function),
30668         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
30669         (gst_pad_check_pull_range), (gst_pad_pull_range),
30670         (gst_static_pad_template_get_caps), (gst_pad_start_task),
30671         (gst_pad_pause_task), (gst_pad_stop_task):
30672         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30673         (gst_element_request_pad), (gst_pad_proxy_getcaps):
30674         Fix name lookup in GstBin.
30675         Added _data_replace() function and _buffer_replace()
30676         Use finalize method to clean up clock.
30677         Fix refcounting on request pads.
30678         Fix pad schedule mode error.
30679         Some more object refcounting debug info,
30680
30681
30682 2005-05-04  Andy Wingo <wingo@pobox.com>
30683
30684         * check/Makefile.am:
30685         * docs/gst/tmpl/gstatomic.sgml:
30686         * docs/gst/tmpl/gstplugin.sgml:
30687         * gst/base/gstbasesink.c: (gst_basesink_activate):
30688         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
30689         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
30690         (gst_basesrc_query), (gst_basesrc_set_property),
30691         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
30692         (gst_basesrc_activate):
30693         * gst/base/gstbasesrc.h:
30694         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
30695         (gst_base_transform_src_activate):
30696         * gst/elements/gstelements.c:
30697         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
30698         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
30699         * gst/elements/gsttee.c: (gst_tee_sink_activate):
30700         * gst/elements/gsttypefindelement.c: (find_element_get_length),
30701         (gst_type_find_element_checkgetrange),
30702         (gst_type_find_element_activate):
30703         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
30704         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
30705         (gst_caps_load_thyself):
30706         * gst/gstelement.c: (gst_element_pads_activate),
30707         (gst_element_save_thyself), (gst_element_restore_thyself):
30708         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
30709         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
30710         * gst/gstpad.h:
30711         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
30712         (gst_xml_parse_file), (gst_xml_parse_memory),
30713         (gst_xml_get_element), (gst_xml_make_element):
30714         * gst/indexers/gstfileindex.c: (gst_file_index_load),
30715         (_file_index_id_save_xml), (gst_file_index_commit):
30716         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
30717         (read_enum), (load_pad_template), (load_feature), (load_plugin),
30718         (load_paths):
30719         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
30720         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
30721         * tools/gst-complete.c: (main):
30722         * tools/gst-compprep.c: (main):
30723         * tools/gst-inspect.c: (print_element_properties_info):
30724         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
30725         * tools/gst-xmlinspect.c: (print_element_properties):
30726         GCC 4 fixen.
30727         
30728 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
30729
30730         * gst/gstplugin.c: (gst_plugin_check_module),
30731         (gst_plugin_check_file), (gst_plugin_load_file):
30732             apply patch from #172526 to make register work on MacOSX
30733
30734 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30735
30736         * docs/gst/tmpl/gstconfig.sgml:
30737         * gst/gstconfig.h.in:
30738           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
30739         * testsuite/debug/printf_extension.c: (main):
30740           Do not use GST_PTR_FORMAT on pointers to types with
30741           sizeof < sizeof(gpointer).  Fixes test on 64-bit
30742         * testsuite/elements/property.h:
30743           use correct printf format
30744
30745 2005-05-02  Wim Taymans  <wim@fluendo.com>
30746
30747         * docs/design/draft-push-pull.txt:
30748         * docs/design/draft-query.txt:
30749         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
30750         (gst_basesrc_start):
30751         Added draft for new query API.
30752         Added draft for better selecting scheduling methods.
30753         Make basesrc ignore length if the subclass does not support
30754         it.
30755
30756 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30757
30758         * gst/Makefile.am:
30759           possible fixes for automake-1.5 - _LIBADD is reserved
30760
30761 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30762
30763         * docs/faq/Makefile.am:
30764         * docs/manual/Makefile.am:
30765         * docs/manuals.mak:
30766         * docs/pwg/Makefile.am:
30767         * gst/Makefile.am:
30768           possible fixes for automake-1.5
30769
30770 2005-04-28  Wim Taymans  <wim@fluendo.com>
30771
30772         * gst/base/gstbasesink.c: (gst_basesink_base_init),
30773         (gst_basesink_pad_getcaps), (gst_basesink_init),
30774         (gst_basesink_do_sync):
30775         * gst/gstclock.c: (gst_clock_entry_new):
30776         * gst/gstevent.c: (gst_event_discont_get_value):
30777         * gst/gstpipeline.c: (pipeline_bus_handler),
30778         (gst_pipeline_change_state):
30779         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
30780         Better debugging of clocking info.
30781         Allow NULL values when getting discont values.
30782
30783 2005-04-27  Wim Taymans  <wim@fluendo.com>
30784
30785         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
30786         * check/gst/gstpad.c: (gst_pad_suite):
30787         Increase timeout for checks.
30788
30789 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
30790
30791         * check/Makefile.am:
30792           fix the broken rule for cleanup.  Apparently this rule is
30793           only needed on FC2, so maybe this warrants further autotool
30794           inspection.
30795
30796 2005-04-26  Wim Taymans  <wim@fluendo.com>
30797
30798         * gst/gsttrashstack.h:
30799         Ooohh. a nasty one! After having a failed pop() from the stack,
30800         it's possible that the stack is empty. In that case, don't
30801         follow the NULL pointer.
30802
30803 2005-04-25  Wim Taymans  <wim@fluendo.com>
30804
30805         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30806         (gst_pad_set_checkgetrange_function),
30807         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
30808         (gst_pad_check_pull_range), (gst_pad_pull_range),
30809         (gst_static_pad_template_get_caps), (gst_pad_start_task),
30810         (gst_pad_pause_task), (gst_pad_stop_task):
30811         * gst/gstplugin.c: (gst_plugin_load):
30812         * gst/gstplugin.h:
30813         Remove gst_library_load as it does more harm than good with
30814         the new g_module flags.
30815         Revert bogus caps template check in pad linking, pad caps
30816         are important when linking not the template, which is more
30817         general than the current caps.
30818
30819 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30820
30821         * gst/autoplug/.cvsignore:
30822         * gst/autoplug/Makefile.am:
30823         * gst/autoplug/gstsearchfuncs.c:
30824         * gst/autoplug/gstsearchfuncs.h:
30825         * gst/autoplug/gstspider.c:
30826         * gst/autoplug/gstspider.h:
30827         * gst/autoplug/gstspideridentity.c:
30828         * gst/autoplug/gstspideridentity.h:
30829         * gst/autoplug/spidertest.c:
30830           Die, spider, die.
30831
30832 2005-04-25  Wim Taymans  <wim@fluendo.com>
30833
30834         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30835         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
30836         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
30837         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
30838         * gst/gstpad.h:
30839         Added stubs for unimplemented functions. 
30840
30841 2005-04-24  David Schleef  <ds@schleef.org>
30842
30843         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
30844         please fix.
30845
30846 2005-04-24  David Schleef  <ds@schleef.org>
30847
30848         Convert everything from GstAtomicInt to g_atomic_int_*, and
30849         remove gstatomic.
30850         * gst/Makefile.am:
30851         * gst/gstatomic.c:
30852         * gst/gstatomic.h:
30853         * gst/gstatomic_impl.h:
30854         * gst/gstbuffer.c:
30855         * gst/gstcaps.c:
30856         * gst/gstcaps.h:
30857         * gst/gstclock.c:
30858         * gst/gstclock.h:
30859         * gst/gstdata.c:
30860         * gst/gstdata.h:
30861         * gst/gstdata_private.h:
30862         * gst/gstevent.c:
30863         * gst/gstinfo.c:
30864         * gst/gstinfo.h:
30865         * gst/gstmessage.c:
30866         * gst/gstobject.c:
30867         * gst/gstobject.h:
30868         * gst/gststructure.c:
30869         * gst/gststructure.h:
30870         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
30871         * gst/gstutils.h:
30872
30873 2005-04-24  David Schleef  <ds@schleef.org>
30874
30875         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
30876         make the regressions tests work.  Remove some code that is no
30877         longer true.
30878         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
30879         Disable warning for pads without templates.
30880
30881 2005-04-24  David Schleef  <ds@schleef.org>
30882
30883         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
30884         functions that handle filtered links.
30885         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
30886         removed functions.
30887         * gst/gstutils.c: Fix/remove utility functions that handle
30888         filtered caps.
30889         * gst/gstutils.h:
30890         * gst/gstvalue.c: Add serialization/deserialization of caps
30891         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
30892         requires fixing so that the filter caps notation creates
30893         a capsfilter element and sets the filter_caps property.  I
30894         think everyone probably wants to keep the shorthand notation.
30895         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
30896         * docs/gst/tmpl/gstpad.sgml:
30897
30898         * gst/elements/gstelements.c: Register capsfilter element.
30899         * gst/Makefile.am: fix spacing
30900         * docs/random/ds/0.9-suggested-changes: random
30901
30902 2005-04-23  David Schleef  <ds@schleef.org>
30903
30904         * gst/elements/Makefile.am:
30905         * gst/elements/gstcapsfilter.c: New element that acts like an
30906         identity, but filters caps.  Will eventually replace filtered
30907         caps in pad linking.
30908         * gst/gstutils.c: (gst_element_create_all_pads): New function
30909         to create all the ALWAYS pads that are registered with an
30910         element class.  This functionality should eventually be
30911         merged in with GstElement initialization.
30912         * gst/gstutils.h:
30913         * testsuite/trigger/README: part of trigger test code that should
30914         have been checked in a long time ago.
30915
30916 2005-04-23  David Schleef  <ds@schleef.org>
30917
30918         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
30919         needed with new versions of libtool (nobody will confirm this),
30920         and hard to carry around.
30921         * gst/autoplug/Makefile.am:
30922         * gst/base/Makefile.am:
30923         * gst/elements/Makefile.am:
30924         * gst/indexers/Makefile.am:
30925         * gst/schedulers/Makefile.am:
30926         * libs/gst/bytestream/Makefile.am:
30927         * libs/gst/control/Makefile.am:
30928         * libs/gst/dataprotocol/Makefile.am:
30929         * libs/gst/getbits/Makefile.am:
30930
30931 2005-04-21  Wim Taymans  <wim@fluendo.com>
30932
30933         * docs/design/draft-push-pull.txt:
30934         * docs/design/part-MT-refcounting.txt:
30935         * docs/design/part-TODO.txt:
30936         * docs/design/part-caps.txt:
30937         * docs/design/part-events.txt:
30938         * docs/design/part-gstbus.txt:
30939         * docs/design/part-gstpipeline.txt:
30940         * docs/design/part-messages.txt:
30941         * docs/design/part-push-pull.txt:
30942         * docs/design/part-query.txt:
30943         Some more docs.
30944
30945 2005-04-21  Wim Taymans  <wim@fluendo.com>
30946
30947         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
30948         (gst_message_new), (gst_message_new_error),
30949         (gst_message_new_warning), (gst_message_new_tag),
30950         (gst_message_new_state_changed), (gst_message_new_application),
30951         (gst_message_get_structure):
30952         * gst/gstmessage.h:
30953         * gst/gststructure.c: (gst_structure_set_parent_refcount),
30954         (gst_structure_copy_conditional):
30955         Use parent refcount in GstMessage to ensure GstStructure
30956         consistency.
30957         Cleaned up headers a bit.
30958         
30959
30960 2005-04-20  Wim Taymans  <wim@fluendo.com>
30961
30962         * gst/base/gstbasesink.c: (gst_basesink_base_init),
30963         (gst_basesink_pad_getcaps), (gst_basesink_init),
30964         (gst_basesink_chain_unlocked):
30965         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
30966         (gst_type_find_helper):
30967         * gst/elements/gsttypefindelement.c:
30968         (gst_type_find_element_have_type), (gst_type_find_element_init),
30969         (stop_typefinding), (gst_type_find_element_handle_event),
30970         (find_suggest), (gst_type_find_element_chain),
30971         (gst_type_find_element_checkgetrange),
30972         (gst_type_find_element_getrange), (do_typefind),
30973         (gst_type_find_element_activate):
30974         * gst/gstbuffer.c: (_gst_buffer_sub_free),
30975         (gst_buffer_default_free), (gst_buffer_default_copy),
30976         (gst_buffer_set_caps):
30977         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
30978         (gst_caps_replace):
30979         * gst/gstmessage.c: (gst_message_new),
30980         (gst_message_new_state_changed):
30981         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30982         (gst_pad_set_checkgetrange_function),
30983         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
30984         (gst_pad_set_caps), (gst_pad_check_pull_range),
30985         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
30986         * gst/gstpad.h:
30987         * gst/gsttypefind.c: (gst_type_find_register):
30988         Make gst_caps_replace() work like other _replace() functions.
30989         Use _caps_replace() where possible.
30990         Make sure _message_new() initialises its field.
30991         Add gst_static_pad_template_get_caps()
30992
30993
30994 2005-04-18  Andy Wingo  <wingo@pobox.com>
30995
30996         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
30997         on the peer, not the pad. I think that was a typo. Pass an extra
30998         arg to see if random access is possible. Activate the pads as
30999         PULL_RANGE if possible.
31000
31001         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
31002
31003         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
31004         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
31005         to PROP_....
31006
31007 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31008
31009         * docs/faq/using.xml:
31010           Add note on gstreamer-properties (#154996).
31011
31012 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31013
31014         * docs/random/bbb/optional-properties:
31015           Some analysis on optional properties.
31016
31017 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31018
31019         * docs/gst/tmpl/gstelementfactory.sgml:
31020         * gst/gstelement.h:
31021         * gst/gstelementfactory.c: (gst_element_factory_init),
31022         (gst_element_factory_cleanup), (gst_element_register),
31023         (__gst_element_factory_add_static_pad_template),
31024         (gst_element_factory_get_static_pad_templates),
31025         (gst_element_factory_can_src_caps),
31026         (gst_element_factory_can_sink_caps):
31027         * gst/registries/Makefile.am:
31028         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
31029         (gst_xml_registry_class_init), (gst_xml_registry_init),
31030         (gst_xml_registry_new), (gst_xml_registry_set_property),
31031         (gst_xml_registry_get_property), (get_time), (make_dir),
31032         (gst_xml_registry_get_perms_func),
31033         (plugin_times_older_than_recurse), (plugin_times_older_than),
31034         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
31035         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
31036         (add_to_char_array), (read_string), (read_uint), (read_enum),
31037         (load_pad_template), (load_feature), (load_plugin), (load_paths),
31038         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
31039         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
31040         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
31041         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
31042         (gst_xml_registry_rebuild):
31043         * gst/registries/gstlibxmlregistry.h:
31044         * tools/gst-compprep.c: (main):
31045         * tools/gst-inspect.c: (print_pad_templates_info):
31046         * tools/gst-xmlinspect.c: (print_element_info):
31047           Use libxml2 for registry parsing, use staticpadtemplates in
31048           elementfactories. Makes gst_init() +/- 10x faster.
31049
31050 2005-04-12  Wim Taymans  <wim@fluendo.com>
31051
31052         * gst/base/Makefile.am:
31053         * gst/base/gstbasesink.c: (gst_basesink_base_init),
31054         (gst_basesink_pad_getcaps), (gst_basesink_init),
31055         (gst_basesink_event), (gst_basesink_change_state):
31056         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31057         (gst_basesrc_init), (gst_basesrc_query),
31058         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
31059         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
31060         (gst_basesrc_check_get_range), (gst_basesrc_loop),
31061         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
31062         (gst_basesrc_stop), (gst_basesrc_activate),
31063         (gst_basesrc_change_state):
31064         * gst/base/gsttypefindhelper.c: (helper_find_peek),
31065         (helper_find_suggest), (gst_type_find_helper):
31066         * gst/base/gsttypefindhelper.h:
31067         * gst/elements/Makefile.am:
31068         * gst/elements/gstelements.c:
31069         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
31070         (gst_fakesink_get_times), (gst_fakesink_event),
31071         (gst_fakesink_preroll), (gst_fakesink_render):
31072         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
31073         (gst_fakesrc_init), (gst_fakesrc_event_handler),
31074         (gst_fakesrc_get_property), (gst_fakesrc_create),
31075         (gst_fakesrc_start), (gst_fakesrc_stop):
31076         * gst/elements/gstfakesrc.h:
31077         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
31078         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
31079         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
31080         (gst_filesrc_create_read), (gst_filesrc_create),
31081         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
31082         (gst_filesrc_start):
31083         * gst/elements/gsttypefindelement.c:
31084         (gst_type_find_element_have_type), (gst_type_find_element_init),
31085         (start_typefinding), (stop_typefinding), (push_buffer_store),
31086         (gst_type_find_element_handle_event),
31087         (gst_type_find_element_chain),
31088         (gst_type_find_element_checkgetrange),
31089         (gst_type_find_element_getrange), (do_typefind),
31090         (gst_type_find_element_activate),
31091         (gst_type_find_element_change_state):
31092         * gst/elements/gsttypefindelement.h:
31093         * gst/gstpipeline.c: (pipeline_bus_handler):
31094         Added typefind helper.
31095         Small preroll fix in the base sink.
31096         Disable typefind code in basesrc.
31097         Crude port of typefindelement.
31098         Fakesrc cleanups.
31099
31100
31101 2005-04-11  Wim Taymans  <wim@fluendo.com>
31102
31103         * check/gst/gstbus.c: (gstbus_suite):
31104         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
31105         * check/gstcheck.h:
31106           Fix up the timeout so that the test does not fail.
31107
31108 2005-04-06  Wim Taymans  <wim@fluendo.com>
31109
31110         * gst/base/README:
31111         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31112         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
31113         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
31114         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
31115         (gst_basesrc_check_get_range), (gst_basesrc_loop),
31116         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
31117         (gst_basesrc_stop), (gst_basesrc_activate),
31118         (gst_basesrc_change_state), (basesrc_find_peek),
31119         (basesrc_find_suggest), (gst_basesrc_type_find):
31120         * gst/base/gstbasesrc.h:
31121         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
31122         (gst_filesrc_class_init), (gst_filesrc_init),
31123         (gst_filesrc_finalize), (gst_filesrc_set_location),
31124         (gst_filesrc_set_property), (gst_filesrc_get_property),
31125         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
31126         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
31127         (gst_filesrc_create_read), (gst_filesrc_create),
31128         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
31129         * gst/elements/gstfilesrc.h:
31130         * gst/gstelement.c: (gst_element_get_state_func),
31131         (gst_element_lost_state), (gst_element_pads_activate):
31132         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31133         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
31134         (gst_pad_pull_range):
31135         * gst/gstpad.h:
31136         More work on the generic source base class, implement seeking,
31137         query.
31138         Make filesrc extend the base source class.
31139         Added gst_pad_set_checkgetrange_function to GstPad.
31140
31141 2005-04-06  Andy Wingo  <wingo@pobox.com>
31142
31143         * pkgconfig/gstreamer-base.pc.in:
31144         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
31145
31146         * pkgconfig/Makefile.am:
31147         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
31148
31149 2005-04-04  Wim Taymans  <wim@fluendo.com>
31150
31151         * gst/base/Makefile.am:
31152         * gst/base/README:
31153         * gst/base/gstbasesink.c: (gst_basesink_base_init),
31154         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
31155         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
31156         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
31157         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31158         (gst_basesrc_base_init), (gst_basesrc_class_init),
31159         (gst_basesrc_init), (gst_basesrc_get_formats),
31160         (gst_basesrc_get_query_types), (gst_basesrc_query),
31161         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
31162         (gst_basesrc_set_property), (gst_basesrc_get_property),
31163         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
31164         (gst_basesrc_loop), (gst_basesrc_activate),
31165         (gst_basesrc_change_state):
31166         * gst/base/gstbasesrc.h:
31167         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
31168         (gst_fakesrc_class_init), (gst_fakesrc_init),
31169         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
31170         (gst_fakesrc_get_property), (gst_fakesrc_create):
31171         * gst/elements/gstfakesrc.h:
31172         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
31173         (gst_filesrc_open_file), (gst_filesrc_loop),
31174         (gst_filesrc_activate), (filesrc_find_peek),
31175         (gst_filesrc_type_find):
31176         Made base source class, make fakesrc extend it.
31177         Add comments to basesink class.
31178         Some filesrc cleanup.
31179
31180 2005-03-31  David Schleef  <ds@schleef.org>
31181
31182         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
31183         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
31184         expected to link against libgstreamer.
31185         * gst/base/Makefile.am: link against libgstreamer
31186         * gst/elements/Makefile.am: same
31187
31188 2005-03-31  Andy Wingo  <wingo@pobox.com>
31189
31190         * tests/instantiate/Makefile.am:
31191         * tests/instantiate/caps.c: Add test to test speed of caps copy
31192         and free.
31193
31194         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
31195         GMemChunk to be fair.
31196
31197         * gst/gsttrashstack.h: Remove warning about using the fallback
31198         trash stack implementation, it's still faster than malloc.
31199
31200 2005-03-30  Andy Wingo  <wingo@pobox.com>
31201
31202         * tests/complexity.c: Add a copyright.
31203
31204 2005-03-31  Wim Taymans  <wim@fluendo.com>
31205
31206         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
31207         (gst_base_transform_class_init), (gst_base_transform_init),
31208         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
31209         (gst_base_transform_get_property),
31210         (gst_base_transform_sink_activate),
31211         (gst_base_transform_src_activate),
31212         (gst_base_transform_change_state):
31213         * gst/base/gstbasetransform.h:
31214         * gst/elements/gstidentity.c: (gst_identity_class_init),
31215         (gst_identity_event), (gst_identity_check_perfect),
31216         (gst_identity_transform), (gst_identity_start),
31217         (gst_identity_stop):
31218         Added start/stop methods to transform base class so subclasses 
31219         don't need to deal with state changes even.
31220
31221 2005-03-31  Wim Taymans  <wim@fluendo.com>
31222
31223         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
31224         (gst_event_new_discontinuous), (gst_event_discont_get_value):
31225         * gst/gstevent.h:
31226         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31227         (gst_pad_pull_range):
31228         Added rate to the discont event to prepare for variable speed
31229         and reverse playback.
31230
31231 2005-03-29  David Schleef  <ds@schleef.org>
31232
31233         * configure.ac:
31234         * testsuite/trigger/Makefile.am:
31235         * testsuite/trigger/trigger.c: A little example program to show
31236         how trigger-based elements can work.
31237
31238 2005-03-29  Wim Taymans  <wim@fluendo.com>
31239
31240         * gst/base/Makefile.am:
31241         * gst/base/README:
31242         * gst/base/gstbasesink.c: (gst_basesink_get_type),
31243         (gst_basesink_base_init), (gst_basesink_class_init),
31244         (gst_basesink_pad_getcaps), (gst_basesink_init),
31245         (gst_basesink_activate), (gst_basesink_change_state):
31246         * gst/base/gstbasesink.h:
31247         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
31248         (gst_base_transform_base_init), (gst_base_transform_finalize),
31249         (gst_base_transform_class_init), (gst_base_transform_init),
31250         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
31251         (gst_base_transform_event), (gst_base_transform_getrange),
31252         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
31253         (gst_base_transform_set_property),
31254         (gst_base_transform_get_property),
31255         (gst_base_transform_sink_activate),
31256         (gst_base_transform_src_activate),
31257         (gst_base_transform_change_state):
31258         * gst/base/gstbasetransform.h:
31259         * gst/elements/gstidentity.c: (gst_identity_finalize),
31260         (gst_identity_class_init), (gst_identity_init),
31261         (gst_identity_event), (gst_identity_check_perfect),
31262         (gst_identity_transform), (gst_identity_set_property),
31263         (gst_identity_get_property), (gst_identity_change_state):
31264         * gst/elements/gstidentity.h:
31265         * gst/gstelement.c: (gst_element_get_state_func),
31266         (gst_element_lost_state), (gst_element_pads_activate):
31267         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31268         (gst_pad_check_pull_range), (gst_pad_pull_range):
31269         * gst/gstpad.h:
31270         Simplify pad activation.
31271         Added function to check if pull_range can be performed.
31272         Error out when pulling inactive or flushing pads.
31273         Removed const from refcounted types as it does not make sense.
31274         Simplify pad templates in basesink
31275         Added base class for simple 1-to-1 transforms.
31276         Make identity subclass the base transform.
31277
31278 2005-03-29  Andy Wingo  <wingo@pobox.com>
31279
31280         * docs/libs/gstreamer-libs-overrides.txt: 
31281         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
31282         really don't understand what's going on, but like whatever. I want
31283         green buildbot!
31284
31285         * docs/gst/Makefile.am:
31286         * docs/libs/Makefile.am: Dist the overrides files.
31287
31288         * check/Makefile.am (clean-local): Remove .libs directories.
31289
31290         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
31291         elements to EXTRA_DIST, so po/ files are happy.
31292
31293         * po/POTFILES.in: Er, remove it here.
31294
31295         * po/POTFILES: Remove gstspider.c.
31296
31297         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
31298
31299         * docs/libs/gstreamer-libs-docs.sgml: 
31300         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
31301         bytestream.
31302
31303         * tests/complexity.c (main): Set the length of the preroll queue
31304         on the sinks to prevent a lockup.
31305
31306         * libs/gst/dataprotocol/Makefile.am: 
31307         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
31308         the same as the one in check/gst-libs/gdp.c.
31309
31310         * po/, docs/gst/: Commit automatic changes to docs and po files.
31311
31312         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
31313         the versioned libgstbase.
31314
31315         * check/Makefile.am: Depend on an unversioned gst-register, seems
31316         to make autoconf happier.
31317
31318         * gst/base/Makefile.am: Make libgstbase a versioned lib.
31319
31320 2005-03-28  Wim Taymans  <wim@fluendo.com>
31321
31322         * configure.ac:
31323         * docs/design/part-gstelement.txt:
31324         * docs/design/part-negotiation.txt:
31325         * docs/design/part-preroll.txt:
31326         * docs/design/part-scheduling.txt:
31327         * docs/design/part-states.txt:
31328         * gst/Makefile.am:
31329         * gst/base/Makefile.am:
31330         * gst/base/README:
31331         * gst/base/gstbasesink.c: (gst_basesink_get_template),
31332         (gst_basesink_base_init), (gst_basesink_class_init),
31333         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
31334         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
31335         (gst_basesink_set_pad_functions),
31336         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
31337         (gst_basesink_set_property), (gst_basesink_get_property),
31338         (gst_base_sink_get_template), (gst_base_sink_get_caps),
31339         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
31340         (gst_basesink_preroll_queue_push),
31341         (gst_basesink_preroll_queue_empty),
31342         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
31343         (gst_basesink_event), (gst_basesink_get_times),
31344         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
31345         (gst_basesink_chain_unlocked), (gst_basesink_chain),
31346         (gst_basesink_loop), (gst_basesink_activate),
31347         (gst_basesink_change_state):
31348         * gst/base/gstbasesink.h:
31349         * gst/elements/Makefile.am:
31350         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
31351         (gst_fakesink_class_init), (gst_fakesink_init),
31352         (gst_fakesink_set_property), (gst_fakesink_get_property),
31353         (gst_fakesink_get_times), (gst_fakesink_event),
31354         (gst_fakesink_preroll), (gst_fakesink_render),
31355         (gst_fakesink_change_state):
31356         * gst/elements/gstfakesink.h:
31357         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31358         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
31359         * gst/gstelement.c: (gst_element_add_pad),
31360         (gst_element_get_state_func), (gst_element_abort_state),
31361         (gst_element_commit_state), (gst_element_lost_state),
31362         (gst_element_set_state), (gst_element_pads_activate):
31363         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
31364         * gst/gstpipeline.c: (gst_pipeline_send_event),
31365         (gst_pipeline_change_state):
31366         Added state change code.
31367         Added/updated docs.
31368         Added sink base class, make fakesink extend the base class.
31369         Small cleanups in GstPipeline.
31370
31371 2005-03-26  David Schleef  <ds@schleef.org>
31372
31373         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
31374         is broken and should be implemented in a different library.
31375         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
31376         * gst/gst.h: remove gstcpu.h
31377         * gst/gstcpu.c: remove
31378         * gst/gstcpu.h: remove
31379         * gst/Makefile.am.future: Remove this file.  It's ancient.
31380
31381 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31382
31383         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31384         (gst_bin_send_event):
31385           Add default event/set_manager handlers. The set_manager handler
31386           takes care that the manager is distributed over kids that were
31387           already in the bin before the manager was set. The event handler
31388           is a utility virtual function that sends the event over all sinks,
31389           so that gst_element_send_event (bin, event); has the expected
31390           behaviour.
31391         * gst/gstpad.c: (gst_pad_event_default):
31392           Re-install default event handling for discontinuities, so that
31393           seeking works without requiring hacks in applications or extra
31394           code in sinks.
31395         * gst/gstpipeline.c: (gst_pipeline_class_init),
31396         (gst_pipeline_send_event):
31397           Half hack, half utility: set a pipeline to PAUSED for seek events,
31398           since that is the only way we can guarantee a/v sync. Means that
31399           you can do gst_element_seek (pipeline, method, pos); on a pipeline
31400           and it "just works".
31401
31402 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31403
31404         * gst/gstpipeline.c: (gst_pipeline_use_clock):
31405           Lock/unlock mismatch.
31406
31407 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
31408
31409         * docs/faq/gst-uninstalled:
31410           add gst-plugins-base
31411         * docs/gst/Makefile.am:
31412           don't error out until docs are fixed
31413         * docs/gst/gstreamer.types:
31414           remove thread
31415
31416 2005-03-22  Wim Taymans  <wim@fluendo.com>
31417
31418         * check/Makefile.am:
31419         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
31420         * gst/gststructure.c: (gst_structure_set_valist),
31421         (gst_structure_copy_conditional):
31422         Activated more tests.
31423         Added message test.
31424         Added G_TYPE_POINTER to GstStructure.
31425         
31426
31427 2005-03-22  Wim Taymans  <wim@fluendo.com>
31428
31429         * docs/design/part-TODO.txt:
31430         * docs/design/part-events.txt:
31431         * docs/design/part-gstbin.txt:
31432         * docs/design/part-gstbus.txt:
31433         * docs/design/part-gstpipeline.txt:
31434         * docs/design/part-messages.txt:
31435         * gst/gstbus.c:
31436         * gst/gstmessage.c:
31437         Docs updates
31438
31439 2005-03-21  Wim Taymans  <wim@fluendo.com>
31440
31441         * gst/gstbus.c: (gst_bus_post):
31442         Fix copy-and-paste error.
31443
31444 2005-03-21  Wim Taymans  <wim@fluendo.com>
31445
31446         * check/Makefile.am:
31447         * gst/Makefile.am:
31448         * gst/elements/Makefile.am:
31449         * gst/elements/gstelements.c:
31450         * gst/elements/gstfakesink.c: (gst_fakesink_init),
31451         (gst_fakesink_event), (gst_fakesink_chain):
31452         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
31453         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
31454         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
31455         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
31456         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
31457         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
31458         (gst_fakesrc_loop), (gst_fakesrc_activate),
31459         (gst_fakesrc_change_state):
31460         * gst/elements/gstfakesrc.h:
31461         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
31462         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
31463         (gst_filesrc_open_file), (gst_filesrc_loop),
31464         (gst_filesrc_activate), (gst_filesrc_change_state),
31465         (filesrc_find_peek), (filesrc_find_suggest),
31466         (gst_filesrc_type_find):
31467         * gst/elements/gstidentity.c: (gst_identity_finalize),
31468         (gst_identity_class_init), (gst_identity_init),
31469         (gst_identity_proxy_getcaps), (identity_queue_push),
31470         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
31471         (gst_identity_getrange), (gst_identity_chain),
31472         (gst_identity_sink_loop), (gst_identity_src_loop),
31473         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
31474         (gst_identity_set_property), (gst_identity_get_property),
31475         (gst_identity_change_state):
31476         * gst/elements/gstidentity.h:
31477         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
31478         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
31479         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
31480         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
31481         (gst_tee_sink_activate):
31482         * gst/elements/gsttee.h:
31483         * gst/gst.c: (gst_register_core_elements), (init_post):
31484         * gst/gst.h:
31485         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
31486         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
31487         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
31488         (gst_bin_change_state):
31489         * gst/gstbin.h:
31490         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
31491         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
31492         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
31493         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
31494         (gst_bus_set_sync_handler), (gst_bus_create_watch),
31495         (bus_watch_callback), (bus_watch_destroy),
31496         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
31497         (poll_timeout), (gst_bus_poll):
31498         * gst/gstbus.h:
31499         * gst/gstcaps.h:
31500         * gst/gstdata.h:
31501         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
31502         (gst_element_post_message), (gst_element_message_full),
31503         (gst_element_get_state_func), (gst_element_get_state),
31504         (gst_element_abort_state), (gst_element_commit_state),
31505         (gst_element_lost_state), (gst_element_set_state),
31506         (gst_element_pads_activate), (gst_element_change_state),
31507         (gst_element_dispose), (gst_element_set_manager_func),
31508         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
31509         (gst_element_set_manager), (gst_element_get_manager),
31510         (gst_element_set_bus), (gst_element_get_bus),
31511         (gst_element_set_scheduler), (gst_element_get_scheduler):
31512         * gst/gstelement.h:
31513         * gst/gstevent.c: (gst_event_new_segment_seek),
31514         (gst_event_new_flush):
31515         * gst/gstevent.h:
31516         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
31517         (_gst_message_free), (gst_message_get_type), (gst_message_new),
31518         (gst_message_new_eos), (gst_message_new_error),
31519         (gst_message_new_warning), (gst_message_new_tag),
31520         (gst_message_new_state_changed), (gst_message_new_application),
31521         (gst_message_get_structure), (gst_message_parse_tag),
31522         (gst_message_parse_state_changed), (gst_message_parse_error),
31523         (gst_message_parse_warning):
31524         * gst/gstmessage.h:
31525         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
31526         (gst_real_pad_set_property), (gst_pad_set_active),
31527         (gst_pad_is_active), (gst_pad_set_blocked_async),
31528         (gst_pad_set_blocked), (gst_pad_is_blocked),
31529         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
31530         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
31531         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
31532         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
31533         (gst_pad_link_filtered), (gst_pad_relink_filtered),
31534         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
31535         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
31536         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
31537         (gst_pad_set_caps), (gst_pad_configure_sink),
31538         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
31539         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
31540         (gst_real_pad_dispose), (gst_real_pad_finalize),
31541         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
31542         (gst_pad_event_default_dispatch), (gst_pad_event_default),
31543         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
31544         * gst/gstpad.h:
31545         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
31546         (pipeline_bus_handler), (gst_pipeline_change_state),
31547         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
31548         * gst/gstpipeline.h:
31549         * gst/gstprobe.h:
31550         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
31551         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
31552         (gst_queue_link_src), (gst_queue_bufferalloc),
31553         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
31554         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
31555         (gst_queue_loop), (gst_queue_handle_src_event),
31556         (gst_queue_handle_src_query), (gst_queue_src_activate),
31557         (gst_queue_change_state):
31558         * gst/gstqueue.h:
31559         * gst/gstscheduler.c: (gst_scheduler_init),
31560         (gst_scheduler_dispose), (gst_scheduler_create_task),
31561         (gst_scheduler_factory_create):
31562         * gst/gstscheduler.h:
31563         * gst/gststructure.c: (gst_structure_get_type),
31564         (gst_structure_copy_conditional):
31565         * gst/gststructure.h:
31566         * gst/gsttaginterface.h:
31567         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
31568         (gst_task_init), (gst_task_dispose), (gst_task_create),
31569         (gst_task_get_state), (gst_task_start), (gst_task_stop),
31570         (gst_task_pause):
31571         * gst/gsttask.h:
31572         * gst/gstthread.c:
31573         * gst/gstthread.h:
31574         * gst/gsttypes.h:
31575         * gst/schedulers/Makefile.am:
31576         * gst/schedulers/cothreads_compat.h:
31577         * gst/schedulers/entryscheduler.c:
31578         * gst/schedulers/faircothreads.c:
31579         * gst/schedulers/faircothreads.h:
31580         * gst/schedulers/fairscheduler.c:
31581         * gst/schedulers/gstbasicscheduler.c:
31582         * gst/schedulers/gstoptimalscheduler.c:
31583         * gst/schedulers/gthread-cothreads.h:
31584         * gst/schedulers/threadscheduler.c:
31585         (gst_thread_scheduler_task_get_type),
31586         (gst_thread_scheduler_task_class_init),
31587         (gst_thread_scheduler_task_init),
31588         (gst_thread_scheduler_task_start),
31589         (gst_thread_scheduler_task_stop),
31590         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
31591         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
31592         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
31593         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
31594         (plugin_init):
31595         * libs/gst/Makefile.am:
31596         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
31597         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
31598         (gst_file_pad_parent_set):
31599         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
31600         (gst_dp_event_from_packet):
31601         * tests/complexity.c: (main):
31602         * tests/mass_elements.c: (main):
31603         * testsuite/states/locked.c: (message_received), (main):
31604         * testsuite/states/parent.c: (main):
31605         * tools/gst-inspect.c: (print_element_flag_info),
31606         (print_implementation_info), (print_pad_info):
31607         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
31608         (main):
31609         * tools/gst-md5sum.c: (event_loop), (main):
31610         * tools/gst-typefind.c: (main):
31611         * tools/gst-xmlinspect.c: (print_element_info):
31612         Next big merge.
31613         Added GstBus for mainloop integration.
31614         Added GstMessage for sending notifications on the bus.
31615         Added GstTask as an abstraction for pipeline entry points.
31616         Removed GstThread.
31617         Removed Schedulers.
31618         Simplified GstQueue for multithreaded core.
31619         Made _link threadsafe, removed old capsnego.
31620         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
31621         Added pad blocking functions.
31622         Reworked scheduling functions in GstPad to prepare for
31623         scheduling updates soon.
31624         Moved events out of data stream.
31625         Simplified GstEvent types.
31626         Added return values to push/pull.
31627         Removed clocking from GstElement.
31628         Added prototypes for state change function for next merge.
31629         Removed iterate from bins and state change management.
31630         Fixed some elements, disabled others for now.
31631         Fixed -inspect and -launch.
31632         Added check for GstBus.
31633
31634 2005-03-10  Wim Taymans  <wim@fluendo.com>
31635
31636         * docs/design/part-MT-refcounting.txt:
31637         * docs/design/part-clocks.txt:
31638         * docs/design/part-gstelement.txt:
31639         * docs/design/part-gstobject.txt:
31640         * docs/design/part-standards.txt:
31641         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31642         (gst_bin_remove_func), (gst_bin_remove):
31643         * gst/gstbin.h:
31644         * gst/gstbuffer.c:
31645         * gst/gstcaps.h:
31646         * testsuite/clock/clock1.c: (main):
31647         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
31648         (main):
31649         * testsuite/dlopen/loadgst.c: (do_test):
31650         * testsuite/refcounting/bin.c: (add_remove_test1),
31651         (add_remove_test2), (main):
31652         * testsuite/refcounting/element.c: (main):
31653         * testsuite/refcounting/element_pad.c: (main):
31654         * testsuite/refcounting/pad.c: (main):
31655         * tools/gst-launch.c: (sigint_handler_sighandler):
31656         * tools/gst-typefind.c: (main):
31657         Doc updates.
31658         Added doc about clock.
31659         removed gst_bin_iterate_recurse_up(), marked methods
31660         for removal.
31661         Fix more testsuites.
31662
31663 2005-03-09  Wim Taymans  <wim@fluendo.com>
31664
31665         * gst/gstpad.c: (gst_pad_get_direction),
31666         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
31667         (gst_pad_collect_valist):
31668         * testsuite/bins/interface.c: (main):
31669         * testsuite/caps/audioscale.c: (test_caps):
31670         * testsuite/caps/caps.c: (test1), (test2), (test3):
31671         * testsuite/caps/deserialize.c: (main):
31672         * testsuite/caps/enumcaps.c: (main):
31673         * testsuite/caps/filtercaps.c: (main):
31674         * testsuite/caps/intersect2.c: (main):
31675         * testsuite/caps/random.c: (main):
31676         * testsuite/caps/renegotiate.c: (my_fixate), (main):
31677         * testsuite/caps/sets.c: (check_caps):
31678         * testsuite/caps/simplify.c: (check_caps), (main):
31679         * testsuite/caps/subtract.c: (check_caps):
31680         Fix _pad_get_direction wrt ghostpads.
31681         Fix caps testsuite.
31682
31683 2005-03-09  Wim Taymans  <wim@fluendo.com>
31684
31685         * check/Makefile.am:
31686         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
31687         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
31688         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
31689         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
31690         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
31691         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
31692         (gst_bin_remove), (gst_bin_iterate_recurse_up),
31693         (bin_element_is_sink), (gst_bin_iterate_sinks),
31694         (gst_bin_iterate_all_by_interface):
31695         * gst/gstbin.h:
31696         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
31697         (gst_element_change_state), (gst_element_dispose),
31698         (gst_element_finalize), (gst_element_set_loop_function):
31699         * gst/gstelement.h:
31700         * gst/gstiterator.c: (find_custom_fold_func):
31701         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31702         (gst_pad_collectv), (gst_pad_collect_valist),
31703         (gst_pad_template_new):
31704         * gst/gstpipeline.c: (gst_pipeline_class_init),
31705         (gst_pipeline_dispose), (gst_pipeline_set_property),
31706         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
31707         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
31708         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
31709         * gst/gstutils.h:
31710         * gst/schedulers/entryscheduler.c:
31711         * gst/schedulers/gstbasicscheduler.c:
31712         (gst_basic_scheduler_cothreaded_chain),
31713         (gst_basic_scheduler_chain_add_element):
31714         * testsuite/bins/interface.c: (main):
31715         Added GstBin test.
31716         Added GstSystemClock test.
31717         Implemented clock distribution code in GstBin.
31718         Implemented iterate sinks method for future use.
31719         Rearranged gstelement.h
31720         Fix GstIterator comparison bug.
31721         Moved some code to GstPipeline, mostly clocking related.
31722
31723 2005-03-09  Wim Taymans  <wim@fluendo.com>
31724
31725         * configure.ac:
31726         * gst/gst_private.h:
31727         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31728         (gst_bin_remove_func), (gst_bin_remove),
31729         (gst_bin_get_by_name_recurse_up):
31730         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
31731         (gst_clock_id_compare_func), (gst_clock_id_wait),
31732         (gst_clock_id_wait_async), (gst_clock_init),
31733         (gst_clock_adjust_unlocked), (gst_clock_get_time):
31734         * gst/gstelement.h:
31735         * gst/gstinfo.c: (_gst_debug_init):
31736         * gst/gstobject.h:
31737         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31738         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
31739         * gst/gstpad.h:
31740         Bump version number, we're now 0.9.0
31741         Add future debugging category.
31742         Fix NULL _unref() in _get_by_name_recurse_up
31743         Rearrange gstpad.h.
31744         Update some docs.
31745
31746 2005-03-08  Wim Taymans  <wim@fluendo.com>
31747
31748         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
31749         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
31750         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
31751         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
31752         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
31753         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
31754         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
31755         * gst/elements/gstidentity.c: (gst_identity_class_init):
31756         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
31757         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
31758         * gst/elements/gstshaper.c: (gst_shaper_class_init):
31759         * gst/elements/gststatistics.c: (gst_statistics_class_init):
31760         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
31761         (gst_tee_link):
31762         * gst/gstelement.c: (gst_element_class_init),
31763         (gst_element_base_class_init), (gst_element_init),
31764         (gst_element_get_random_pad), (gst_element_wait_state_change),
31765         (gst_element_change_state), (gst_element_dispose),
31766         (gst_element_finalize), (gst_element_set_loop_function):
31767         * gst/gstelement.h:
31768         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
31769         * gst/gstthread.c: (gst_thread_class_init),
31770         (gst_thread_release_children_locks), (gst_thread_change_state):
31771         * gst/schedulers/gstbasicscheduler.c:
31772         (gst_basic_scheduler_loopfunc_wrapper),
31773         (gst_basic_scheduler_chain_wrapper),
31774         (gst_basic_scheduler_src_wrapper),
31775         (gst_basic_scheduler_remove_element):
31776         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
31777         Remove threadsafe properties. Fix elements because GObject
31778         complains when installing a property before declaring a
31779         set/get_property handler.
31780         Rearrange gstelement.h file, use STATE macros for state locks.
31781         Free mutexes in the finalize method instead of dispose.
31782
31783 2005-03-08  Wim Taymans  <wim@fluendo.com>
31784
31785         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
31786         * gst/gstthread.c: (gst_thread_release_children_locks):
31787         Added parentage check.
31788         Fix build og GstThread again.
31789
31790 2005-03-08  Wim Taymans  <wim@fluendo.com>
31791
31792         * docs/design/part-MT-refcounting.txt:
31793         * docs/design/part-conventions.txt:
31794         * docs/design/part-gstobject.txt:
31795         * docs/design/part-relations.txt:
31796         * docs/design/part-standards.txt:
31797         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31798         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
31799         (gst_bin_get_by_name), (gst_bin_get_by_interface),
31800         (gst_bin_iterate_all_by_interface):
31801         * gst/gstbuffer.h:
31802         * gst/gstclock.h:
31803         * gst/gstelement.c: (gst_element_class_init),
31804         (gst_element_change_state), (gst_element_set_loop_function):
31805         * gst/gstelement.h:
31806         * gst/gstiterator.c:
31807         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
31808         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
31809         (gst_object_dispatch_properties_changed), (gst_object_set_name),
31810         (gst_object_set_parent), (gst_object_unparent),
31811         (gst_object_check_uniqueness):
31812         * gst/gstobject.h:
31813         Docs updates, clean up some headers.
31814
31815 2005-03-07  Wim Taymans  <wim@fluendo.com>
31816
31817         * check/.cvsignore:
31818         * check/Makefile.am:
31819         * check/gst-libs/.cvsignore:
31820         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
31821         * check/gst/.cvsignore:
31822         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
31823         (START_TEST), (gstbus_suite), (main):
31824         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
31825         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
31826         (gst_data_suite), (main):
31827         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
31828         (add_fold_func), (gstiterator_suite), (main):
31829         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
31830         (thread_name_object), (thread_name_object_default),
31831         (gst_object_name_compare), (gst_object_suite), (main):
31832         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
31833         (gst_pad_suite), (main):
31834         * check/gstcheck.c: (gst_check_log_message_func),
31835         (gst_check_log_critical_func), (gst_check_init):
31836         * check/gstcheck.h:
31837         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
31838         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
31839         Added checks.
31840
31841 2005-03-07  Wim Taymans  <wim@fluendo.com>
31842
31843         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
31844         (gst_list_iterator_next), (gst_list_iterator_resync),
31845         (gst_list_iterator_free), (gst_iterator_new_list),
31846         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
31847         (gst_iterator_free), (gst_iterator_push), (filter_next),
31848         (filter_resync), (filter_uninit), (filter_free),
31849         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
31850         (gst_iterator_foreach), (find_custom_fold_func),
31851         (gst_iterator_find_custom):
31852         * gst/gstiterator.h:
31853         Added missing files.
31854
31855 2005-03-07  Wim Taymans  <wim@fluendo.com>
31856
31857         * Makefile.am:
31858         * configure.ac:
31859         * docs/design/part-MT-refcounting.txt:
31860         * docs/design/part-conventions.txt:
31861         * docs/design/part-gstobject.txt:
31862         * docs/design/part-relations.txt:
31863         * examples/mixer/mixer.c: (main):
31864         * examples/thread/thread.c: (eos), (main):
31865         * gst/Makefile.am:
31866         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
31867         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
31868         (gst_spider_plug_from_srcpad):
31869         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
31870         (gst_spider_identity_change_state),
31871         (gst_spider_identity_sink_loop_type_finding):
31872         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
31873         * gst/elements/gstidentity.c: (gst_identity_init):
31874         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
31875         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
31876         * gst/elements/gsttypefindelement.c: (free_entry):
31877         * gst/gst.c:
31878         * gst/gst.h:
31879         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
31880         (gst_bin_set_clock_func), (gst_bin_auto_clock),
31881         (gst_bin_set_index), (gst_bin_set_element_sched),
31882         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
31883         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
31884         (gst_bin_iterate_elements), (iterate_child_recurse),
31885         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
31886         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
31887         (compare_interface), (gst_bin_get_by_interface),
31888         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
31889         * gst/gstbin.h:
31890         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
31891         (gst_buffer_default_free), (gst_buffer_default_copy),
31892         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
31893         (gst_buffer_create_sub):
31894         * gst/gstbuffer.h:
31895         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
31896         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
31897         (gst_caps_unref), (gst_static_caps_get),
31898         (gst_caps_remove_and_get_structure), (gst_caps_append),
31899         (gst_caps_append_structure), (gst_caps_remove_structure),
31900         (gst_caps_copy_nth), (gst_caps_set_simple),
31901         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
31902         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
31903         (gst_caps_structure_intersect_field), (gst_caps_intersect),
31904         (gst_caps_structure_subtract_field), (gst_caps_subtract),
31905         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
31906         (gst_caps_structure_figure_out_union),
31907         (gst_caps_switch_structures), (gst_caps_do_simplify),
31908         (gst_caps_replace), (gst_caps_from_string),
31909         (gst_caps_copy_conditional):
31910         * gst/gstcaps.h:
31911         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
31912         (_gst_clock_id_free), (gst_clock_id_unref),
31913         (gst_clock_id_compare_func), (gst_clock_id_wait),
31914         (gst_clock_id_wait_async), (gst_clock_class_init),
31915         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
31916         (gst_clock_get_time), (gst_clock_set_time_adjust),
31917         (gst_clock_set_property), (gst_clock_get_property):
31918         * gst/gstclock.h:
31919         * gst/gstcompat.h:
31920         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
31921         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
31922         * gst/gstdata.h:
31923         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
31924         (gst_element_requires_clock), (gst_element_provides_clock),
31925         (gst_element_set_clock), (gst_element_clock_wait),
31926         (gst_element_wait), (gst_element_set_time_delay),
31927         (gst_element_is_indexable), (gst_element_add_pad),
31928         (gst_element_add_ghost_pad), (gst_element_remove_pad),
31929         (pad_compare_name), (gst_element_get_static_pad),
31930         (gst_element_request_pad), (gst_element_get_request_pad),
31931         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
31932         (gst_element_class_get_pad_template_list),
31933         (gst_element_class_get_pad_template), (gst_element_error_func),
31934         (gst_element_get_random_pad), (gst_element_get_event_masks),
31935         (gst_element_send_event), (gst_element_seek),
31936         (gst_element_get_query_types), (gst_element_query),
31937         (gst_element_get_formats), (gst_element_convert),
31938         (gst_element_is_locked_state), (gst_element_set_locked_state),
31939         (gst_element_sync_state_with_parent), (gst_element_change_state),
31940         (gst_element_finalize), (gst_element_yield),
31941         (gst_element_interrupt), (gst_element_set_scheduler),
31942         (gst_element_get_scheduler), (gst_element_set_loop_function):
31943         * gst/gstelement.h:
31944         * gst/gstevent.h:
31945         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
31946         (gst_format_get_by_nick), (gst_format_get_details),
31947         (gst_format_iterate_definitions):
31948         * gst/gstformat.h:
31949         * gst/gstindex.c: (gst_index_gtype_resolver):
31950         * gst/gstinfo.c:
31951         * gst/gstinfo.h:
31952         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
31953         (gst_mem_chunk_free):
31954         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
31955         (gst_object_ref), (gst_object_unref), (gst_object_sink),
31956         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
31957         (gst_object_dispatch_properties_changed),
31958         (gst_object_set_name_default), (gst_object_set_name),
31959         (gst_object_get_name), (gst_object_set_name_prefix),
31960         (gst_object_get_name_prefix), (gst_object_set_parent),
31961         (gst_object_get_parent), (gst_object_unparent),
31962         (gst_object_check_uniqueness), (gst_object_save_thyself),
31963         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
31964         (gst_object_set_property), (gst_object_get_property),
31965         (gst_object_get_path_string):
31966         * gst/gstobject.h:
31967         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
31968         (gst_real_pad_init), (gst_real_pad_get_property),
31969         (gst_pad_custom_new), (gst_pad_get_direction),
31970         (gst_pad_set_active), (gst_pad_is_active),
31971         (gst_pad_set_event_function), (gst_pad_is_linked),
31972         (gst_pad_link_free), (gst_pad_link_intersect),
31973         (gst_pad_link_fixate), (gst_pad_set_caps),
31974         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
31975         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
31976         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
31977         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
31978         (gst_pad_get_caps), (gst_pad_peer_get_caps),
31979         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
31980         (gst_pad_realize), (gst_pad_get_allowed_caps),
31981         (gst_real_pad_dispose), (gst_real_pad_finalize),
31982         (gst_pad_collectv), (gst_pad_collect_valist),
31983         (gst_pad_template_dispose), (gst_pad_template_new),
31984         (gst_pad_get_internal_links):
31985         * gst/gstpad.h:
31986         * gst/gstpipeline.c: (gst_pipeline_dispose),
31987         (gst_pipeline_change_state):
31988         * gst/gstpipeline.h:
31989         * gst/gstplugin.c:
31990         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
31991         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
31992         * gst/gstpluginfeature.h:
31993         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
31994         * gst/gstquery.c: (_gst_query_type_initialize),
31995         (gst_query_type_register), (gst_query_type_get_by_nick),
31996         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
31997         * gst/gstquery.h:
31998         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
31999         * gst/gstscheduler.c: (gst_scheduler_add_element),
32000         (gst_scheduler_factory_create):
32001         * gst/gststructure.c: (gst_structure_set_parent_refcount),
32002         (gst_structure_free), (gst_structure_set_name),
32003         (gst_structure_id_set_value), (gst_structure_set_value),
32004         (gst_structure_set_valist), (gst_structure_remove_field),
32005         (gst_structure_remove_fields),
32006         (gst_structure_remove_fields_valist),
32007         (gst_structure_remove_all_fields), (gst_structure_foreach),
32008         (gst_structure_map_in_place),
32009         (gst_caps_structure_fixate_field_nearest_int),
32010         (gst_caps_structure_fixate_field_nearest_double):
32011         * gst/gststructure.h:
32012         * gst/gstsystemclock.c: (gst_system_clock_class_init),
32013         (gst_system_clock_init), (gst_system_clock_dispose),
32014         (gst_system_clock_async_thread),
32015         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
32016         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
32017         * gst/gstsystemclock.h:
32018         * gst/gsttag.c: (gst_tag_list_add_value_internal),
32019         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
32020         * gst/gsttaginterface.c:
32021         * gst/gstthread.c: (gst_thread_dispose),
32022         (gst_thread_release_children_locks), (gst_thread_change_state),
32023         (gst_thread_main_loop):
32024         * gst/gsttrashstack.h:
32025         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
32026         * gst/gsttypes.h:
32027         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
32028         (gst_element_request_pad), (gst_element_get_pad_from_template),
32029         (gst_element_request_compatible_pad),
32030         (gst_element_get_compatible_pad_filtered),
32031         (gst_element_get_compatible_pad), (gst_element_state_get_name),
32032         (gst_element_link_pads_filtered), (gst_element_link_filtered),
32033         (gst_element_link_many), (gst_element_link),
32034         (gst_element_link_pads), (gst_element_unlink_pads),
32035         (gst_element_unlink_many), (gst_element_unlink),
32036         (gst_pad_can_link_filtered), (gst_pad_can_link),
32037         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
32038         (gst_object_default_error), (gst_bin_add_many),
32039         (gst_bin_remove_many), (gst_element_populate_std_props),
32040         (gst_element_class_install_std_props), (gst_buffer_merge),
32041         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
32042         (link_fold_func), (gst_pad_proxy_setcaps):
32043         * gst/gstutils.h:
32044         * gst/gstvalue.c: (gst_value_deserialize_string):
32045         * gst/parse/grammar.y:
32046         * gst/schedulers/gstbasicscheduler.c:
32047         (gst_basic_scheduler_cothreaded_chain),
32048         (gst_basic_scheduler_chain_recursive_add),
32049         (gst_basic_scheduler_pad_link):
32050         * gst/schedulers/gstoptimalscheduler.c:
32051         (get_group_schedule_function),
32052         (gst_opt_scheduler_state_transition),
32053         (gst_opt_scheduler_add_element), (element_get_reachables_func):
32054         * libs/gst/bytestream/bytestream.c:
32055         * libs/gst/dataprotocol/dataprotocol.c:
32056         (gst_dp_header_from_buffer):
32057         * po/nb.po:
32058         * po/ru.po:
32059         * tests/threadstate/threadstate2.c: (eos):
32060         * tools/gst-compprep.c: (main):
32061         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
32062         (print_pad_info), (print_children_info):
32063         * tools/gst-launch.c: (idle_func), (main):
32064         * tools/gst-md5sum.c: (idle_func), (main):
32065         * tools/gst-xmlinspect.c: (print_element_info):
32066         First THREADED backport attempt, focusing on adding locks and
32067         making sure the API is threadsafe. Needs more work. More docs
32068         follow this week.
32069
32070 2005-02-24  Andy Wingo  <wingo@pobox.com>
32071
32072         * tests/bench-complexity.scm:
32073         * tests/complexity.gnuplot: New files, good for running complexity
32074         benchmarks.
32075
32076         * tests/Makefile.am:
32077         * tests/complexity.c: New test, sets up N elements, at each level
32078         teeing into M streams per element. Eeeenteresting.
32079
32080         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
32081         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
32082         running bench-mass_elements.scm.
32083
32084         * tests/bench-mass_elements.scm: New script, runs mass_elements
32085         for various numbers of identities, outputting the results to a
32086         file. Requires guile 1.6. Just for testing.
32087
32088 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
32089
32090         * gst/schedulers/fairscheduler.c:
32091           compile with debug disabled
32092
32093 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
32094
32095         * configure.ac:
32096           hunting season on 0.9 is now OPEN