gst/gstregistry.c: Reduce the number of stat() calls for every file from three times...
[platform/upstream/gstreamer.git] / ChangeLog
1 2008-11-24  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2
3         Patch by: Simon Holm Thøgersen <odie at cs dot aau dot dk>
4
5         * gst/gstregistry.c: (gst_registry_scan_path_level):
6         Reduce the number of stat() calls for every file from three times
7         to one time. Fixes bug #560360.
8
9 2008-11-22  Wim Taymans  <wim.taymans@collabora.co.uk>
10
11         * libs/gst/base/gstbasetransform.c:
12         (gst_base_transform_acceptcaps):
13         Rename a variable to make the code clearer.
14
15 2008-11-21  Stefan Kost  <ensonic@users.sf.net>
16
17         * plugins/elements/gstidentity.c:
18         Don't warning on offset==-1. Taken from _check_imperfect_offset().
19
20 2008-11-21  Michael Smith <msmith@songbirdnest.com>
21
22         * plugins/elements/gstfilesrc.c:
23           Check for localhost in URI was backwards, fix it. Fixes unit test.
24
25 2008-11-21  Wim Taymans  <wim.taymans@collabora.co.uk>
26
27         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
28         (gst_base_transform_getcaps), (gst_base_transform_find_transform),
29         (gst_base_transform_acceptcaps), (gst_base_transform_getrange):
30         Add beginnings of a more optimized acceptcaps function than the default
31         core one.
32
33 2008-11-21  Wim Taymans  <wim.taymans@collabora.co.uk>
34
35         * gst/gstpad.c: (gst_pad_accept_caps):
36         Avoid getting the acceptcaps function too early.
37
38 2008-11-21  Wim Taymans  <wim.taymans@collabora.co.uk>
39
40         * tools/gst-launch.c: (event_loop):
41         Make gst-launch handle LATENCY messages and make it recalculate the
42         latency.
43
44 2008-11-20  Michael Smith <msmith@songbirdnest.com>
45
46         * plugins/elements/gstfilesrc.c:
47           Use g_filename_from_uri() for URI parsing in filesrc rather than rolling
48           out own slightly incorrect version. Fixes use of some paths on
49           win32.
50
51 2008-11-20  Michael Smith <msmith@songbirdnest.com>
52
53         * gst/gstregistrybinary.c:
54           In win32 codepath, if we fail to write the registry, create the
55           directory for it and try again, matching the behaviour in non-win32
56           codepaths.
57
58 2008-11-20  Wim Taymans  <wim.taymans@collabora.co.uk>
59
60         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_render_delay):
61         Changing the render delay changes the latency and so we must post a
62         latency message.
63
64 2008-11-20  Wim Taymans  <wim.taymans@collabora.co.uk>
65
66         * gst/gstquery.c:
67         * gst/gstquery.h:
68         Add GstQueryType for custom queries instead of having to use the
69         not-so-very-convenient registration infrastructure to register new
70         types.
71
72 2008-11-19  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
73
74         Patch by: Andrew Feren <acferen at yahoo dot com>
75
76         * gst/gstobject.c: (gst_object_default_deep_notify):
77         Unref the GEnumClass after usage again. Fixes bug #561501.
78
79 2008-11-19  Wim Taymans  <wim.taymans@collabora.co.uk>
80
81         * gst/gstbin.c: (_gst_boolean_accumulator), (gst_bin_class_init),
82         (gst_bin_recalculate_latency), (gst_bin_do_latency_func),
83         (gst_bin_change_state_func):
84         * gst/gstbin.h:
85         Add do-latency signal with the old default fallback implementation. This
86         allows for custom latency calculations for when the default is not
87         sufficient.
88         API: GstBin::do-latency signal.
89
90 2008-11-18  Wim Taymans  <wim.taymans@collabora.co.uk>
91
92         * win32/common/libgstreamer.def:
93         Add new symbols to .def file.
94
95 2008-11-18  Wim Taymans  <wim.taymans@collabora.co.uk>
96
97         * docs/gst/gstreamer-sections.txt:
98         * gst/gstbin.c: (gst_bin_recalculate_latency),
99         (gst_bin_change_state_func):
100         * gst/gstbin.h:
101         Add method to recalculate and redistribute the latency on a bin.
102         API: gst_bin_recalculate_latency().
103
104 2008-11-18  Wim Taymans  <wim.taymans@collabora.co.uk>
105
106         * gst/gstbuffer.h:
107         Document the free_func.
108
109 2008-11-17  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
110
111         * libs/gst/controller/gstinterpolation.c:
112         * libs/gst/controller/gstlfocontrolsource.c:
113         Use gst_guint64_to_gdouble instead of gst_util_guint64_to_gdouble
114         as it is mapped to a cast on non-win32 platforms.
115
116 2008-11-17  Stefan Kost  <ensonic@users.sf.net>
117
118         * libs/gst/controller/gstcontroller.c:
119         * libs/gst/controller/gstcontrollerprivate.h:
120           Keep last-value and only call set_property if value has changed. This
121           supresses all the g_object_notifies we would trigger otherwise. It
122           also allows the user to chage the value while there is no controller
123           change.
124
125 2008-11-17  Stefan Kost  <ensonic@users.sf.net>
126
127         * gst/gstvalue.c:
128           Don't crash if either of the string GValues is empty.
129
130 2008-11-17  Andy Wingo  <wingo@pobox.com>
131
132         * tools/gst-inspect.c (print_all_uri_handlers): New function,
133         prints a summary of what URI schemes are supported by what
134         elements.
135         (main): Plumb in support for --uri-handlers or -u, and fix the
136         argc check for -a and -u.
137
138 2008-11-17  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
139
140         * gst/gstutils.h:
141         Add G_GNUC_PURE to gst_util_uint64_scale* and the double<->uint64
142         conversion functions.
143
144 2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>
145
146         * gst/gstbuffer.c: (gst_buffer_finalize):
147         Avoid costly typechecking for trivially correct pointers.
148
149         * gst/gstpoll.c: (gst_poll_wait):
150         Add some G_LIKELY here and there.
151
152         * libs/gst/base/gstadapter.c: (gst_adapter_push):
153         Add some debug info.
154
155 2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>
156
157         * docs/random/wtay/poll-timeout:
158         Small tweaks.
159
160 2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>
161
162         * tests/old/testsuite/caps/intersection.c: (main):
163         * tests/old/testsuite/plugin/loading.c: (main):
164         Remove references to deprecated API g_mem_chunk*.
165         Fixes #560442.
166
167 2008-11-12  Wim Taymans  <wim.taymans@collabora.co.uk>
168
169         * tools/gst-inspect.c: (main):
170         Add --plugin option. Fixes #560301.
171
172 2008-11-12  Wim Taymans  <wim.taymans@collabora.co.uk>
173
174         * docs/random/wtay/poll-timeout:
175         Quick braindump for a possible (not totally verified) atomic case.
176
177 2008-11-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
178
179         * gst/gstregistrybinary.c: (gst_registry_binary_write_chunk),
180         (gst_registry_binary_initialize_magic),
181         (gst_registry_binary_write_cache),
182         (gst_registry_binary_check_magic):
183         * gst/gstregistrybinary.h:
184         Don't write and check a CRC for the binary registry file. It's
185         guaranteed that the registry is completely written (it's first written
186         to a temporary file and then moved) and if the registry was corrupted
187         by some hardware failure we would have bigger problems.
188
189         Bump binary registry version to 0.10.21.1 for this as it's an
190         incompatible change and to ensure that the registry gets rebuild
191         after the update.
192
193         This saves some milliseconds for reading/writing the registry.
194         Fixes bug #560399.
195
196 2008-11-11  Wim Taymans  <wim.taymans@collabora.co.uk>
197
198         * docs/random/wtay/poll-timeout:
199         Some pseudo code for how we could implement clock timeouts with GstPoll.
200
201 2008-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
202
203         * plugins/elements/gstfilesink.c:
204           Update Author string to match others.
205
206 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
207
208         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
209         Reorganize some more, be more conservative with the GST_TYPE_ARRAY not
210         being fixed and inline the trivial check.
211
212 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
213
214         * gst/gstcaps.c: (gst_caps_copy), (_gst_caps_free),
215         (gst_caps_merge_structure), (gst_caps_get_structure),
216         (gst_caps_copy_nth), (gst_caps_set_simple),
217         (gst_caps_set_simple_valist), (gst_caps_is_fixed),
218         (gst_caps_is_equal_fixed), (gst_caps_intersect),
219         (gst_caps_subtract), (gst_caps_normalize), (gst_caps_do_simplify),
220         (gst_caps_to_string):
221         Callgrind micro optimisations.
222         Avoid array bounds checks and force inline of trivial function.
223
224         * gst/gstobject.c: (gst_object_set_name_default):
225         -1 is equivalent to letting glib to the strlen but then there is more
226         room for optimisations and it's not our fault.
227
228         * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
229         no need to clear the array, we're cool.
230
231         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
232         The most common _is_fixed() check is done on fundamental glib base
233         types so we check this first instead of doing a huge amount of
234         useless GST_TYPE_ARRAY calls.
235
236 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
237
238         * gst/gstevent.h:
239         Add a SKIP seek flag for use with advanced trickmodes.
240         API: GstSeekFlags::GST_SEEK_FLAG_SKIP
241
242 2008-11-05  Wim Taymans  <wim.taymans@collabora.co.uk>
243
244         * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
245         No need to memset, we can clear the value ourselves.
246
247         * gst/gstvalue.c: (gst_type_is_fixed),
248         (gst_value_get_compare_func):
249         Some optimisations from a few callgrind sessions:
250         When checking if a type is fixed, check for trivial fundamental types
251         first before checking types for which we need to get the type followed
252         by the heavy duty type checks, this reduces the amount of
253         g_type_fundamental() calls a lot.
254         When getting the compare function, first check for our registered types.
255         If that fails, do the heavy duty g_type_is_a() checks, reduces the
256         amount of g_type_is_a() considerably.
257
258 2008-11-05  Wim Taymans  <wim.taymans@collabora.co.uk>
259
260         * docs/design/part-TODO.txt:
261         Mumble something about removing GstXML.
262
263 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
264
265         * gst/gstbin.c: (gst_bin_handle_message_func):
266         Get the seqnum before we dispose the message.
267
268 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
269
270         * docs/design/part-TODO.txt:
271         Refer to the framestepping document.
272
273 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
274
275         * gst/gstbin.c: (bin_handle_async_start),
276         (gst_bin_handle_message_func), (gst_bin_query):
277         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
278         (gst_base_sink_event), (gst_base_sink_change_state):
279         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
280         (gst_base_src_loop), (gst_base_src_change_state):
281         Copy seqnums from events to messages so that they can all be related
282         back to eachother.
283
284 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
285
286         * tools/gst-launch.c: (event_loop):
287         Print the message seqnums.
288
289 2008-11-04  Andy Wingo  <wingo@pobox.com>
290
291         * gst/gstutils.c (gst_util_seqnum_next): Refactor for clarity.
292
293 2008-11-04  Andy Wingo  <wingo@pobox.com>
294
295         Add sequence numbers to events and messages. See #559250.
296
297         * gst/gstutils.c (gst_util_seqnum_next, gst_util_seqnum_compare):
298         API: New functions.
299
300         * gst/gstevent.h:
301         * gst/gstevent.c (_gst_event_copy, gst_event_new): Initialize new
302         events with a new sequence number, and copy it when copying.
303         (gst_event_get_seqnum, gst_event_set_seqnum): API: Accessors for
304         an event's sequence number.
305
306         * gst/gstmessage.h:
307         * gst/gstmessage.c (_gst_message_copy, gst_message_new_custom):
308         (gst_event_get_seqnum, gst_event_set_seqnum): API: As with events,
309         so with messages.
310
311         * docs/gst/gstreamer-sections.txt: Add new functions to the docs.
312
313 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
314
315         * docs/manual/advanced-position.xml:
316         * docs/manual/basics-bins.xml:
317         * docs/manual/basics-bus.xml:
318         * docs/manual/basics-pads.xml:
319         * docs/manual/intro-gstreamer.xml:
320         * docs/manual/intro-preface.xml:
321         Some Application Development Manual fixes thanks to
322         Andrew Feren. Fixes #558459.
323
324 2008-11-03  Stefan Kost  <ensonic@users.sf.net>
325
326         * gst/gstregistrybinary.c:
327           Don't bother with the GTimer if we don't output the results.
328
329 2008-11-03  Wim Taymans  <wim.taymans@collabora.co.uk>
330
331         Patch by: David Schleef  <ds@schleef.org>
332
333         * libs/gst/net/Makefile.am:
334         Add WIN32_LIBS to libgstnet LIBADD. Fixes #557300.
335
336 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
337
338         * gst/gstregistrybinary.c:
339           Oh my, studip, stupid me. Remove double stat() call.
340
341 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
342
343         * gst/gstpreset.c:
344           Use g_unlink instead of unlink.
345
346         * gst/gststructure.c:
347           Use glib type.
348
349         * gst/gstutils.c:
350           Add a FIXME:.
351
352         * gst/gsttaglist.c:
353         * gst/gsttypefind.c:
354         * gst/gstvalue.c:
355           Formatting & whitespaces.
356
357 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
358
359         * plugins/elements/gstidentity.c:
360           Doc typo. Use return value of parent_class->event.
361   
362         * plugins/elements/gsttypefindelement.c:
363           Chain up at the end for consistency.
364   
365 2008-10-30  Stefan Kost  <ensonic@users.sf.net>
366
367         * docs/Makefile.am:
368         * docs/gst/gstreamer-docs.sgml:
369         * docs/gst/gstreamer-sections.txt:
370         * docs/gst/running.xml:
371         * docs/libs/gstreamer-libs-docs.sgml:
372           Change to xinclude based build - its faster and easier to maintain.
373
374 2008-10-30  Stefan Kost  <ensonic@users.sf.net>
375
376         * gst/gstregistrybinary.c:
377         * gst/gstregistryxml.c:
378           Use g_unlink() as none of these are directories.
379
380 2008-10-29  Wim Taymans  <wim.taymans@collabora.co.uk>
381
382         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func):
383         Some more comments.
384
385 2008-10-27  Wim Taymans  <wim.taymans@collabora.co.uk>
386
387         * libs/gst/base/gstbasetransform.c:
388         (gst_base_transform_find_transform), (gst_base_transform_getrange):
389         If we have a fixate function, call it even if we already have fixed caps
390         because the subclass might add some caps. Makes audioconvert add a
391         default channel layout.
392
393 2008-10-24  Wim Taymans  <wim.taymans@collabora.co.uk>
394
395         * libs/gst/base/gstbasetransform.c:
396         (gst_base_transform_prepare_output_buffer),
397         (gst_base_transform_getrange):
398         Clear the output buffer variable.
399         Cleanups to the error path in the getrange function.
400         Fixes #557649.
401
402 2008-10-23  Sebastian Dröge  <slomo@circular-chaos.org>
403
404         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
405         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
406         Use gst_buffer_try_new_and_alloc() and handle errors instead of
407         using gst_buffer_new_and_alloc() which aborts if the buffer couldn't
408         be allocated.
409
410 2008-10-23  Wim Taymans  <wim.taymans@collabora.co.uk>
411
412         * gst/gstsegment.c: (gst_segment_set_newsegment_full):
413         Set the last_stop to a more meaningful position when configuring the
414         segment. ie. the start/stop of the segment or clipped against the
415         updated segment boundaries.
416
417         * tests/check/gst/gstsegment.c: (GST_START_TEST):
418         Add some unit tests for the last_stop.
419
420 2008-10-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
421
422         * libs/gst/base/gstbytereader.c:
423         Use GST_(READ|WRITE)_(FLOAT|DOUBLE)_(LE|BE) instead of our own
424         copies of them.
425
426 2008-10-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
427
428         * docs/gst/gstreamer-sections.txt:
429         * gst/gstutils.h:
430         API: Move float endianness conversion macros from libgstfloatcast
431         to core as it's useful in general, even in core. Fixes bug #555196.
432         This adds GDOUBLE_FROM_BE, GDOUBLE_FROM_LE, GDOUBLE_TO_BE,
433         GDOUBLE_TO_LE, GDOUBLE_SWAP_LE_BE, GFLOAT_FROM_BE, GFLOAT_FROM_LE,
434         GFLOAT_TO_BE, GFLOAT_TO_LE, GFLOAT_SWAP_LE_BE.
435
436         Also add GST_READ_ and GST_WRITE_ macros for floats and doubles:
437         GST_READ_FLOAT_LE, GST_READ_FLOAT_BE, GST_READ_DOUBLE_LE,
438         GST_READ_DOUBLE_BE, GST_WRITE_FLOAT_LE, GST_WRITE_FLOAT_BE,
439         GST_WRITE_DOUBLE_LE, GST_WRITE_DOUBLE_BE.
440
441 2008-10-22  Sebastian Dröge  <slomo@circular-chaos.org>
442
443         * docs/libs/gstreamer-libs-sections.txt:
444         * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_data),
445         (gst_byte_reader_peek_data):
446         * libs/gst/base/gstbytereader.h:
447         * win32/common/libgstbase.def:
448         API: Add gst_byte_reader_get_data and gst_byte_reader_peek_data
449         to get a pointer to the data at the current position and have
450         a guaranteed size.
451
452 2008-10-22  Jan Schmidt  <jan.schmidt@sun.com>
453
454         * configure.ac:
455         Fix a bug in the output of the configure script summary
456         when --gst-disable-registry is supplied
457
458 2008-10-22  Jan Schmidt  <jan.schmidt@sun.com>
459
460         * libs/gst/base/gstbitreader.c:
461         * libs/gst/base/gstbytereader.c:
462         Fix the names of 2 functions in the docs strings.
463
464 2008-10-21  Wim Taymans  <wim.taymans@collabora.co.uk>
465
466         * libs/gst/base/gstbasetransform.c:
467         (gst_base_transform_prepare_output_buffer),
468         (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
469         Protect sink_alloc caps with the sinkpad lock to avoid nasty caps
470         refcount problems as seen in banshee and maybe also in farsight2.
471         Remove atomic int now that we need to take the lock anyways.
472
473 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
474
475         * libs/gst/base/gstbasesink.c: (gst_base_sink_default_do_seek),
476         (gst_base_sink_default_prepare_seek_segment),
477         (gst_base_sink_perform_seek), (gst_base_sink_get_position_last),
478         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
479         (gst_base_sink_query):
480         Implement more seeking in pull mode.
481         Use pad convert functions to convert position to the requested format.
482         Fix position/duration reporting in pull mode.
483         Implement position and duration reporting in other formats than time.
484
485         * libs/gst/base/gstbasesink.h:
486         Add member to keep track of when the segment is playing.
487
488 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
489
490         * gst/gstpad.c: (gst_pad_configure_src):
491         When we use gst_pad_alloc_buffer() without wanting to set the caps we
492         also don't need to check if the caps are compatible because the caller
493         presumably is going to perform its own custom checks. Fixes some cases
494         where basetransform elements would error out when it was not needed.
495
496 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
497
498         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
499         Update comment.
500
501         * libs/gst/base/gstbasetransform.c:
502         (gst_base_transform_handle_buffer),
503         (gst_base_transform_reconfigure):
504         Add some debug info.
505
506         * win32/common/libgstbase.def:
507         Add new method.
508
509 2008-10-19  Stefan Kost  <ensonic@users.sf.net>
510
511         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek);
512           Remove duplicated assignment and log a message in failure case.
513
514 2008-10-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
515
516         Patch by: Dig Ge <dig.ge.cn at gmail com>
517
518         * tests/examples/helloworld/helloworld.c: (main):
519           Fix copy'n'paste bug in hello world example (#556900).
520
521 2008-10-17  Wim Taymans  <wim.taymans@collabora.co.uk>
522
523         * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate_pull),
524         (gst_base_sink_query):
525         Query the total number of bytes when activating the pad in pull mode.
526         Implement duration query in pull mode by using the installed pad convert
527         function to convert from bytes to the requested format.
528
529 2008-10-16  Wim Taymans  <wim.taymans@collabora.co.uk>
530
531         * docs/libs/gstreamer-libs-sections.txt:
532         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_preroll),
533         (gst_base_sink_flush_start), (gst_base_sink_flush_stop),
534         (gst_base_sink_event), (gst_base_sink_perform_seek),
535         (gst_base_sink_loop), (gst_base_sink_pad_activate_pull),
536         (gst_base_sink_send_event), (gst_base_sink_change_state):
537         * libs/gst/base/gstbasesink.h:
538         Add method to commit the state in subclasses.
539         Refactor the flush_start and flush_stop code because we need it for
540         flushing while seeking too.
541         Implement the beginnings of seeking in pull mode.
542         Use the segment last_stop field for the pulling offset.
543         Fix the pause method in pull mode.
544         Configure the segment to BYTES for pull mode.
545         API: GstBaseSink::gst_base_sink_do_preroll()
546
547 2008-10-16  Wim Taymans  <wim.taymans@collabora.co.uk>
548
549         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
550         Update some docs.
551
552 2008-10-14  Tim-Philipp Müller  <tim.muller at collabora co uk>
553
554         * gst/gstquark.c: (_priv_gst_quarks_initialize):
555           Fix printf format warning.
556
557 2008-10-14  Sebastian Dröge  <slomo@circular-chaos.org>
558
559         * plugins/elements/gsttee.c: (gst_tee_handle_buffer):
560         Fix flow aggregation of tee. Error out immediately for all flow returns
561         except OK and NOT_LINKED, return NOT_LINKED if all pads are not linked
562         and return OK if at least one pad is linked.
563
564         Before we errored out on "fatal" flow returns (i.e. not for WRONG_STATE)
565         and otherwise returned the flow return of the last pad, which is wrong.
566         
567         * tests/check/elements/tee.c: (_fake_chain), (_fake_chain_error),
568         (GST_START_TEST), (tee_suite):
569         Add unit tests for the flow aggregation.
570
571 2008-10-13  Wim Taymans  <wim.taymans@collabora.co.uk>
572
573         * docs/design/part-TODO.txt:
574         Remove item from the todo list because it was fixed with the latency
575         state change rewrites.
576
577         * docs/design/part-seeking.txt:
578         * docs/design/part-segments.txt:
579         Update some docs.
580
581         * gst/gstevent.c: (gst_event_new_new_segment_full),
582         (gst_event_parse_new_segment_full), (gst_event_new_buffer_size),
583         (gst_event_parse_buffer_size), (gst_event_new_qos),
584         (gst_event_parse_qos), (gst_event_new_seek),
585         (gst_event_parse_seek), (gst_event_new_latency),
586         (gst_event_parse_latency):
587         Use quarks to construct and parse events.
588
589         * gst/gstquark.c: (_priv_gst_quarks_initialize):
590         * gst/gstquark.h:
591         Add some more quarks to the table.
592         Emit a warning when the quark tables are not in sync.
593
594         * tests/check/gst/gstbus.c: (GST_START_TEST):
595         Add an assert.
596
597 2008-10-13  Stefan Kost  <ensonic@users.sf.net>
598
599         * plugins/elements/Makefile.am:
600         * plugins/indexers/Makefile.am:
601           Don't install static libs for plugins. Fixes #550851 for core.
602
603 2008-10-13  Wim Taymans  <wim.taymans@collabora.co.uk>
604
605         * gst/gstbus.c: (gst_bus_source_finalize),
606         (gst_bus_add_watch_full_unlocked), (gst_bus_add_watch_full),
607         (gst_bus_enable_sync_message_emission),
608         (gst_bus_disable_sync_message_emission),
609         (gst_bus_add_signal_watch_full), (gst_bus_remove_signal_watch):
610         Fix deadlock, g_source_get_id() cannot be called in finalize.
611         Keep track of the watch source by keeping a pointer to the source object
612         instead.
613         Use the bus lock to protect access to the pointer to the current
614         watch source.
615
616 2008-10-13  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
617
618         Base on Patch by: Olivier Crete <tester at tester dot ca>
619
620         * gst/gstbus.c: (gst_bus_source_finalize),
621         (gst_bus_add_watch_full), (gst_bus_add_signal_watch_full):
622         Only allow one bus watch to be set at a time. This is necessary
623         because the dispatcher pops the message from the bus and the second
624         watcher will then get NULL or the next message (and the first won't
625         get this next message then, etc). If more than one "watcher" is
626         required signal watches should be used. Fixes bug #526044.
627
628 2008-10-12  Jan Schmidt  <jan.schmidt@sun.com>
629
630         * tools/gst-launch.c:
631         Change the printing of the 'buffering...' output to avoid putting
632         a \r in a translateable string (flagged by the TP).
633
634 2008-10-10  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
635
636         * gst/gstxml.c:
637         Clarify that the save_thyself() and restore_thyself() virtual
638         functions of GstObject need to be overriden, not
639         gst_object_(save|restore)_thyself() which is impossible.
640         Fixes bug #555700.
641
642 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
643
644         * gst/gstpad.c: (gst_pad_get_range), (gst_pad_pull_range):
645         Revert a patch from 21 months ago that broke caps negotiation in pull
646         mode. Basically, having a buffer pass over a pad will trigger the
647         setcaps function when caps change, just like in push mode.
648
649 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
650
651         * docs/design/part-negotiation.txt:
652         Update the docs some more.
653
654         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
655         If we pull a buffer with non-trivial caps, suggest those caps with the
656         max probability.
657
658 2008-10-10  Edward Hervey  <edward.hervey@collabora.co.uk>
659
660         * docs/design/part-TODO.txt:
661         Add another limitation of pad-blocking with segment seeks not pushing
662         EOS events.
663
664 2008-10-10  Jan Schmidt  <jan.schmidt@sun.com>
665
666         * win32/common/libgstbase.def:
667         * win32/common/libgstreamer.def:
668         Add new symbols to the win32 defs files
669
670 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
671
672         * gst/gstbin.c: (gst_bin_remove_func), (update_degree),
673         (gst_bin_handle_message_func):
674         The message src can be NULL, don't try to print the object names in that
675         case.
676
677         * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate):
678         Add some more debug info.
679
680         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline),
681         (GST_START_TEST):
682         Add some debug.
683         Fix the test, pull based sinks go ASYNC to PAUSED, just like other
684         scheduling modes.
685
686 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
687
688         * docs/design/part-negotiation.txt:
689         Small doc update.
690
691         * docs/libs/gstreamer-libs-sections.txt:
692         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
693         (gst_base_sink_pad_getcaps), (gst_base_sink_pad_setcaps),
694         (gst_base_sink_init), (gst_base_sink_set_blocksize),
695         (gst_base_sink_get_blocksize), (gst_base_sink_set_property),
696         (gst_base_sink_get_property), (gst_base_sink_needs_preroll),
697         (gst_base_sink_loop), (gst_base_sink_pad_activate),
698         (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
699         (gst_base_sink_change_state):
700         * libs/gst/base/gstbasesink.h:
701         Add blocksize property and methods to control the amount of data
702         to pull.
703         Negotiate first before activating upstream in pull mode so that they can
704         negotiate themselves.
705         When we operate in pull mode, we only accept the caps that we
706         negotiated.
707         Make the sink go ASYNC to PAUSED, like all other sinks.
708         API: GstBaseSink::gst_base_sink_set_blocksize()
709         API: GstBaseSink::gst_base_sink_get_blocksize()
710         API: GstBaseSink::blocksize
711
712         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
713         (gst_base_src_set_live), (gst_base_src_is_live),
714         (gst_base_src_set_format), (gst_base_src_query_latency),
715         (gst_base_src_set_blocksize), (gst_base_src_get_blocksize),
716         (gst_base_src_set_do_timestamp), (gst_base_src_get_do_timestamp),
717         (gst_base_src_set_property), (gst_base_src_get_property):
718         * libs/gst/base/gstbasesrc.h:
719         Add typechecking in public API functions.
720         Add methods to control the blocksize in subclasses.
721         API: GstBaseSrc::gst_base_src_set_blocksize()
722         API: GstBaseSrc::gst_base_src_get_blocksize()
723
724 2008-10-10  Edward Hervey  <edward.hervey@collabora.co.uk>
725
726         * tests/check/gst/gstutils.c: (probe_do_nothing), (data_probe),
727         (buffer_probe), (event_probe), (GST_START_TEST):
728         We now see 3 events go through our pad, since basesink now sends
729         upstream latency events.
730
731 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
732
733         * gst/gstpipeline.c: (gst_pipeline_change_state):
734         Release the object lock before trying to flush the bus.
735
736 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
737
738         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
739         Forward LATENCY events upstreams so that elements know about the total
740         pipeline latency. Fixes #555307.
741
742 2008-10-08  Jan Schmidt  <jan.schmidt@sun.com>
743
744         * plugins/elements/gstqueue.c:
745         Allow through queries when we don't know how
746         to adjust them (not TIME or BYTES), as otherwise it's
747         not possible to query the current position in order
748         to seek in other formats at all.
749
750 2008-10-08  Andy Wingo  <wingo@pobox.com>
751
752         * docs/gst/gstreamer-sections.txt: Placate doc pendants.
753
754 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
755
756         * gst/gstghostpad.c:
757         * gst/gstghostpad.h:
758         Unbreak -good build, private is a reserved c++ keyword.
759
760 2008-10-08  Andy Wingo  <wingo@pobox.com>
761
762         * gst/gstghostpad.h (GST_GHOST_PAD_CAST):
763         * gst/gstghostpad.c (GST_GHOST_PAD_CAST): Fix unintended API
764         removal: re-add GST_GHOST_PAD_CAST to the header.
765
766         * gst/gstghostpad.h (GstProxyPad, GstProxyPadClass, GstGhostPad)
767         (GstGhostPadClass): Publically expose these structures so as to
768         allow easy subclassing from C. Hide the member data behind a
769         private opaque data pointer.
770
771         * gst/gstghostpad.c: Adapt to store instance data in the type
772         instance's private data region, not in the public struct.
773
774 2008-10-08  Andy Wingo  <wingo@pobox.com>
775
776         * gst/gstghostpad.c (gst_ghost_pad_construct): If we got a
777         template via g_object_get(), be sure to unref it.
778
779         * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): Fix incorrect doc.
780
781 2008-10-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
782
783         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
784         If we can't get a cache file don't try to save something to it.
785         Dereferencing NULL pointers usually isn't a good idea.
786
787 2008-10-07  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
788
789         * tests/check/Makefile.am:
790         * tests/check/gst/gstabi.c:
791         * tests/check/gst/struct_sparc.h:
792         * tests/check/libs/libsabi.c:
793         * tests/check/libs/struct_sparc.h:
794         Add Sparc ABI checks
795
796         * tests/check/gst/gstvalue.c: (GST_START_TEST):
797         Cast signed integer to unsigned to avoid a compiler warning.
798
799 2008-10-07  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
800
801         * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_uint24_le),
802         (gst_byte_reader_get_uint24_be), (gst_byte_reader_get_int24_le),
803         (gst_byte_reader_get_int24_be), (gst_byte_reader_peek_uint24_le),
804         (gst_byte_reader_peek_uint24_be), (gst_byte_reader_peek_int24_le),
805         (gst_byte_reader_peek_int24_be):
806         Use new GST_READ_UINT24_(LE|BE) macros.
807
808 2008-10-07  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
809
810         * docs/gst/gstreamer-sections.txt:
811         * gst/gstutils.h:
812         Always use the unaligned variants of GST_READ_UINT* and GST_WRITE_UINT*
813         as it's too easy to break the ISO C strict aliasing rules with simple
814         casts to the corresponding type and this would introduce hard to debug
815         bugs. Fixes bug #545714.
816
817         API: Add GST_READ_UINT24_(LE|BE) and GST_WRITE_UINT24_(LE|BE).
818
819 2008-10-07  Tim-Philipp Müller  <tim.muller at collabora co uk>
820
821         * gst/gstbuffer.h: (GST_BUFFER_FREE_FUNC):
822         * gst/gstghostpad.c: (gst_ghost_pad_construct):
823           Add 'Since' bits to gtk-doc chunks for new API.
824
825 2008-10-06  Thijs Vermeir  <thijsvermeir@gmail.com>
826
827         * docs/gst/gstreamer-sections.txt:
828         Fix documentation
829
830 2008-10-06  Andy Wingo  <wingo@pobox.com>
831
832         * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): New API, a free function
833         that will be called on the malloc_data to free it. Basically a way
834         to avoid subclassing when all you need is a different free
835         function, i.e. free() instead of g_free().
836
837         * gst/gstbuffer.c (gst_buffer_finalize): Free malloc_data via
838         calling the free function.
839         (gst_buffer_init): Initialize the free function to g_free.
840
841 2008-10-06  Andy Wingo  <wingo@pobox.com>
842
843         * gst/gstghostpad.h:
844         * gst/gstghostpad.c (gst_ghost_pad_construct): New function,
845         finishes the initialization of ghost pad. Useful for language
846         bindings and subclassers of GstGhostPad. Fixes #539108.
847         (gst_ghost_pad_new_full): Use the new constructor.
848
849 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
850
851         Base on Patch by: Olivier Crete <tester at tester dot ca>
852
853         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
854         (gst_bin_remove_func), (update_degree),
855         (gst_bin_sort_iterator_new), (gst_bin_handle_message_func):
856         Keep track of pads that are being linked/unlinked and resync the state
857         changes.
858
859         * gst/gstpad.c: (gst_pad_get_direction),
860         (gst_pad_set_chain_function), (gst_pad_set_getrange_function),
861         (gst_pad_set_checkgetrange_function), (gst_pad_unlink),
862         (gst_pad_link_prepare), (gst_pad_link),
863         (gst_pad_event_default_dispatch), (gst_pad_chain), (gst_pad_push),
864         (gst_pad_check_pull_range), (gst_pad_get_range),
865         (gst_pad_pull_range):
866         Some code cleanups, use macros to check pad direction.
867         Don't need to take the lock on the pad direction.
868         Post structure change when pads are linked/unlinked.
869         Change some checks into _return_if_fail().
870
871         * tests/check/gst/gstbin.c:
872         (test_link_structure_change_state_changed_sync_cb),
873         (GST_START_TEST), (gst_bin_suite):
874         Add testcase for pad link/unlinke resync during a state change.
875         Fixes #510354.
876
877 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
878
879         * docs/gst/gstreamer-sections.txt:
880         * gst/gstmessage.c: (gst_message_new_structure_change),
881         (gst_message_parse_structure_change):
882         * gst/gstmessage.h:
883         Implement STRUCTURE_CHANGED messages. These messages will be used to
884         signal the parent bin of link/unlink operations that could require a
885         resync when doing a state change. See ##510354.
886         API: gst_message_new_structure_change()
887         API: gst_message_parse_structure_change()
888
889 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
890
891         * gst/gstquark.c:
892         * gst/gstquark.h:
893         Add some more quarks for new message. See #510354.
894
895 2008-10-06  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
896
897         * docs/libs/gstreamer-libs-docs.sgml:
898         * docs/libs/gstreamer-libs-sections.txt:
899         * libs/gst/base/Makefile.am:
900         * libs/gst/base/gstbitreader.c: (gst_bit_reader_new),
901         (gst_bit_reader_new_from_buffer), (gst_bit_reader_free),
902         (gst_bit_reader_init), (gst_bit_reader_init_from_buffer),
903         (gst_bit_reader_set_pos), (gst_bit_reader_get_pos),
904         (gst_bit_reader_get_remaining), (gst_bit_reader_skip),
905         (gst_bit_reader_skip_to_byte):
906         * libs/gst/base/gstbitreader.h:
907         * libs/gst/base/gstbytereader.c: (GDOUBLE_SWAP_LE_BE),
908         (GFLOAT_SWAP_LE_BE), (gst_byte_reader_new),
909         (gst_byte_reader_new_from_buffer), (gst_byte_reader_free),
910         (gst_byte_reader_init), (gst_byte_reader_init_from_buffer),
911         (gst_byte_reader_set_pos), (gst_byte_reader_get_pos),
912         (gst_byte_reader_get_remaining), (gst_byte_reader_skip),
913         (gst_byte_reader_get_uint8), (gst_byte_reader_get_int8),
914         (gst_byte_reader_peek_uint8), (gst_byte_reader_peek_int8),
915         (gst_byte_reader_get_uint24_le), (gst_byte_reader_get_uint24_be),
916         (gst_byte_reader_get_int24_le), (gst_byte_reader_get_int24_be),
917         (gst_byte_reader_peek_uint24_le), (gst_byte_reader_peek_uint24_be),
918         (gst_byte_reader_peek_int24_le), (gst_byte_reader_peek_int24_be):
919         * libs/gst/base/gstbytereader.h:
920         * tests/check/Makefile.am:
921         * tests/check/libs/bitreader.c: (GST_START_TEST),
922         (gst_bit_reader_suite):
923         * tests/check/libs/bytereader.c: (GST_START_TEST),
924         (gst_byte_reader_suite):
925         API: Add bit reader and byte reader classes, including documentation
926         and an extensive unit test suite. Fixes bug #553554.
927
928 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
929
930         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position),
931         (gst_base_sink_query):
932         Improve position reporting while flushing and other intermediate state
933         changes. Fixes #553874.
934
935 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
936
937         Patch by: Antoine Tremblay <hexa00 at gmail dot com>
938
939         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
940         Original patch by : Simon Descaries
941         Fix small refount leak in caps compatibility check.
942         Fixes #551676.
943
944 2008-10-06  Stefan Kost  <ensonic@users.sf.net>
945
946         * docs/pwg/advanced-request.xml:
947           Fix 0.8 api usage in example. Fixes #554561
948
949         * docs/pwg/appendix-porting.xml:
950           Change 0.9 to 0.10 here.
951
952 2008-10-06  Stefan Kost  <ensonic@users.sf.net>
953
954         * docs/manual/basics-data.xml:
955           Change "event-event interaction" to "element-element interaction".
956           Fixes #552448. Also fix sample code for seeking and do more 0.8->0.10
957           updates.
958
959 2008-10-05  Jan Schmidt  <jan.schmidt@sun.com>
960
961         * configure.ac:
962         Back to development -> 0.10.21.1
963
964 === release 0.10.21 ===
965
966 2008-10-02  Jan Schmidt <jan.schmidt@sun.com>
967
968         * configure.ac:
969           releasing 0.10.21, "Take These Things From Me"
970
971 2008-09-28  Jan Schmidt  <jan.schmidt@sun.com>
972
973         * configure.ac:
974         0.10.20.4 pre-release
975
976 2008-09-28  Jan Schmidt  <jan.schmidt@sun.com>
977
978         * libs/gst/base/gstbasetransform.c:
979         * plugins/elements/gstcapsfilter.c:
980         * tests/check/Makefile.am:
981         * tests/check/elements/.cvsignore:
982         * tests/check/elements/capsfilter.c:
983         Fix assertion in basetransform when the subclass chooses not to
984         allocate a buffer in prepare_buffer(), and make capsfilter error out
985         cleanly if requested to apply caps that don't completely specify the
986         buffer. Fixes #551509
987
988 2008-09-24  Wim Taymans  <wim.taymans@collabora.co.uk>
989
990         * libs/gst/base/gstbasetransform.c:
991         (gst_base_transform_prepare_output_buffer):
992         Take new caps ref because our old one might have been gone when the
993         subclass performs a gst_pad_set_caps() on the srcpad. See #548764.
994
995 2008-09-15  Stefan Kost  <ensonic@users.sf.net>
996
997         * configure.ac:
998           Do not probe availability of check unit test library when cross
999           compiling, as test would not work anyway. Also cleanup verbose output
1000           of the check test. Fixes #551952.
1001
1002 2008-09-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1003
1004         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
1005
1006         * gst/gstelement.c: (gst_element_sync_state_with_parent):
1007         Avoid leaking the parent ref when we fail changing the state of the
1008         element using gst_element_sync_state_with_parent(). Fixes #551978.
1009
1010 2008-09-11  Tim-Philipp Müller  <tim.muller at collabora co uk>
1011
1012         * docs/manual/intro-motivation.xml::
1013           Remove some bits that no longer apply, update others (#551642).
1014
1015 2008-09-10  Jan Schmidt  <jan.schmidt@sun.com>
1016
1017         * configure.ac:
1018         0.10.20.2 pre-release
1019
1020         * po/LINGUAS:
1021         * po/id.po:
1022         * po/pt_BR.po:
1023
1024         New translations.
1025
1026 2008-09-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
1027
1028         * win32/common/config.h.in:
1029           Add GST_DATADIR, hard-code cpu to x86.
1030
1031         * win32/common/libgstreamer.def:
1032           Spaces to tabs.
1033
1034 2008-09-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
1035
1036         * gst/gsttaglist.h:
1037           Fix Since: markers for new geo tags.
1038
1039 2008-09-02  Stefan Kost  <ensonic@users.sf.net>
1040
1041         * gst/gsttaglist.h:
1042           Fix actual tag name define after renaming from altitude to elevation.
1043
1044 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1045
1046         * gst/gstpad.c: (add_unref_pad_to_list),
1047         (gst_pad_get_internal_links_default):
1048         Add fallback when calling the deprecated function on an element that
1049         implements the new internal_link handler.
1050
1051 2008-09-01  Stefan Kost  <ensonic@users.sf.net>
1052
1053         * docs/gst/gstreamer-sections.txt:
1054         * gst/gsttaglist.c:
1055         * gst/gsttaglist.h:
1056           Add new tags for geo location and clarify purpose of existing location
1057           tag. Fixes #481169
1058
1059 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1060
1061         Patch by: Olivier Crete <tester at tester dot ca>
1062
1063         * gst/gstpad.c: (gst_pad_iterate_internal_links_default),
1064         (gst_pad_event_default_dispatch), (gst_pad_dispatcher):
1065         Use thread-safe internal links iterator. Fixes #549504.
1066
1067 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1068
1069         Based on patch by: Olivier Crete <tester at tester dot ca>
1070
1071         * docs/gst/gstreamer-sections.txt:
1072         * win32/common/libgstreamer.def:
1073         * gst/gstpad.c: (gst_pad_init),
1074         (gst_pad_set_iterate_internal_links_function),
1075         (int_link_iter_data_free), (iterate_pad),
1076         (gst_pad_iterate_internal_links_default),
1077         (gst_pad_iterate_internal_links), (gst_pad_get_internal_links):
1078         * gst/gstpad.h:
1079         Add threadsafe replacement functions for getting internal links of an
1080         element. Deprecate the old internal links functions.
1081         API:GstPad::gst_pad_set_iterate_internal_links_function()
1082         API:GstPad::GstPadIterIntLinkFunction
1083         API:GstPad::gst_pad_iterate_internal_links()
1084         API:GstPad::gst_pad_iterate_internal_links_default()
1085
1086         * gst/gstghostpad.c: (gst_proxy_pad_do_iterate_internal_links),
1087         (gst_proxy_pad_init):
1088         Implement threadsafe internal links.
1089
1090         * tests/check/elements/tee.c: (GST_START_TEST), (tee_suite):
1091         Unit test for internal links on tee. See #549504.
1092
1093 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
1094
1095         * tests/check/Makefile.am:
1096         libs/transform1 test requires libs/test_transform.c
1097
1098 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
1099
1100         * gst/gstpad.c: (gst_pad_get_internal_links_default):
1101         Die evil deadlock, die !
1102
1103 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
1104
1105         * gst/gstutils.c: (gst_element_get_compatible_pad):
1106         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1107         * tests/check/gst/gstpad.c: (name_is_valid), (GST_START_TEST):
1108         Fix all leaks due to the bug in gst_pad_template_new() by which it does
1109         not steal the refcount of the given caps as stated.
1110
1111         REVERT THIS COMMIT ONCE FIXED !
1112         REVERT THIS COMMIT ONCE FIXED !
1113         REVERT THIS COMMIT ONCE FIXED !
1114         REVERT THIS COMMIT ONCE FIXED !
1115         REVERT THIS COMMIT ONCE FIXED !
1116         REVERT THIS COMMIT ONCE FIXED !
1117
1118 2008-08-29  Wim Taymans  <wim.taymans@collabora.co.uk>
1119
1120         * gst/gstiterator.c:
1121         * gst/gstiterator.h:
1122         After 3 years it's about time to revise the documentation of the
1123         iterator objects.
1124
1125 2008-08-29  Wim Taymans  <wim.taymans@collabora.co.uk>
1126
1127         * gst/gstpad.c: (gst_pad_get_internal_links_default):
1128         Make the internal links function less thread-unsafe and add some
1129         comments, dunno why.
1130
1131 2008-08-29  Tim-Philipp Müller  <tim.muller at collabora co uk>
1132
1133         * gst/gst_private.h:
1134           Include gstinfo.h even if GST_DISABLE_GST_DEBUG is defined. Fixes
1135           build with --disable-gst-debug.
1136
1137 2008-08-28  David Schleef  <ds@schleef.org>
1138
1139         * gst/gstpadtemplate.c: Revert last change, since it breaks
1140           a few plugins, ffmpeg, alaw, and mulaw.  Code is correct,
1141           but shouldn't be enabled until we've released fixed versions
1142           of -good and -ffmpeg.
1143
1144 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
1145
1146         * gst/gstobject.c:
1147           Put the gst_object_get_name() back in.
1148
1149 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
1150
1151         * gst/gstpadtemplate.c:
1152           The old behaviour was that gst_pad_template_new() takes ownership of
1153           the caps. As we now call g_object_new() which calls g_object_set() and
1154           which copies the caps, we have to unref them to not leak them. Fixes
1155           make valgrid for me.
1156
1157 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
1158
1159         * gst/gsturi.c:
1160           Don't segfault on input like "tel:+1-123-555-1234".
1161
1162 2008-08-27  Stefan Kost  <ensonic@users.sf.net>
1163
1164         * gst/gstobject.c:
1165           Due to popular request also include ObjectType in
1166           gst_object_get_path_string(). Makes gst-launch -v bit more useful.
1167
1168 2008-08-26  David Schleef  <ds@schleef.org>
1169
1170         * gst/gstutils.c: Remove check in gst_pad_query_convert() that
1171           src_val must be positive, because that's not a requirement.
1172           This causes problems with converting negative granulepos
1173           values for Dirac.
1174         * gst/gstquery.c: Same, gst_query_new_convert().
1175
1176 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1177
1178         * gst/gstclock.c: (gst_clock_add_observation):
1179         Add some more debugging to the clock slaving code.
1180
1181         * win32/common/libgstbase.def:
1182         Add new basetransform method.
1183
1184 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1185
1186         * gst/gstbin.c: (gst_bin_element_set_state):
1187         Take the (recursive) state lock between getting the locked state of an
1188         element and changing the element state. This allows the application to
1189         lock an element's state and then change its state without races.
1190
1191 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1192
1193         * gst/gstbin.c: (gst_bin_element_set_state):
1194         When an element is in the locked state we still want to update the
1195         base_time of the element.
1196
1197 2008-08-21  Wim Taymans  <wim.taymans@collabora.co.uk>
1198
1199         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1200         Use the result from gst_pad_set_caps() instead of assuming the element
1201         always accepted the caps computed by the default negotiate function.
1202
1203 2008-08-20  Wim Taymans  <wim.taymans@collabora.co.uk>
1204
1205         * docs/libs/gstreamer-libs-sections.txt:
1206         * libs/gst/base/gstbasetransform.c:
1207         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1208         (gst_base_transform_chain), (gst_base_transform_suggest),
1209         (gst_base_transform_reconfigure):
1210         * libs/gst/base/gstbasetransform.h:
1211         Implement method for reconfiguring basetransform.
1212         API: GstBaseTransform::gst_base_transform_reconfigure()
1213
1214 2008-08-20  Stefan Kost  <ensonic@users.sf.net>
1215
1216         patch by: Murray Cumming <murrayc@murrayc.com>
1217
1218         * gst/gstutils.c:
1219           Mention that this is just like gst_buffer_merge() but with extra
1220           unreffing for C coders. Advise language bindings not to wrap it.
1221           Fixes Bug #533856.
1222           
1223           Also fix file comment.
1224
1225 2008-08-20  Stefan Kost  <ensonic@users.sf.net>
1226
1227         reviewed by: Wim Taymans <wim.taymans@collabora.co.uk>
1228
1229         * plugins/elements/gstfakesink.c:
1230         * plugins/elements/gstfakesrc.c:
1231           Call super::event() when not handling it. Fixes #544855.
1232
1233 2008-08-19  Michael Smith <msmith@songbirdnest.com>
1234
1235         Patch by: Alessandro Decina <alessandro@nnva.org>
1236         * plugins/elements/gstfilesrc.c:
1237           Use 64 bit variants of stat functions on win32, to enable support
1238           of large files there.
1239           Fixes #547277.
1240
1241 2008-08-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1242
1243         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
1244         (gst_base_sink_event), (gst_base_sink_chain_unlocked),
1245         (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
1246         (gst_base_sink_get_position), (gst_base_sink_change_state):
1247         Improve position reporting in the flushing state.
1248         Also report the position when we are not yet prerolled but we
1249         have a newsegment event. Fixes #543444.
1250         Improve the pull-based negotiation code.
1251
1252         * tests/check/elements/fakesink.c: (GST_START_TEST),
1253         (fakesink_suite):
1254         Add testcase for position reporting while flushing in PAUSED and
1255         PLAYING.
1256
1257         * tests/check/generic/sinks.c: (GST_START_TEST):
1258         Update unit-test, we can now query the position as soon as we receive a
1259         NEWSEGMENT event.
1260
1261 2008-08-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1262
1263         Based on patch by: Jason Zhao <e3423c at motorola dot com>
1264
1265         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object):
1266         When the subclass event handler releases the PREROLL_LOCK, we could be
1267         in the flushing state and we have to ignore the event. Fixes #548394.
1268
1269 2008-08-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
1270
1271         * tools/gst-launch.1.in:
1272           Document GST_REGISTRY_UPDATE environment variable.
1273
1274 2008-08-18  Wim Taymans  <wim.taymans@collabora.co.uk>
1275
1276         * libs/gst/base/gstbasetransform.c:
1277         (gst_base_transform_prepare_output_buffer):
1278         If the element is configured in passthrough mode but the
1279         prepare_output_buffer gave us a new output buffer, discard that buffer
1280         and reuse the input buffer.
1281
1282 2008-08-15  Wim Taymans  <wim.taymans@collabora.co.uk>
1283
1284         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
1285
1286         * plugins/elements/gsttee.c: (gst_tee_finalize), (gst_tee_init),
1287         (gst_tee_request_new_pad), (gst_tee_release_pad),
1288         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc):
1289         * plugins/elements/gsttee.h:
1290         Protect pad_alloc with a new lock so that we can be sure that nothing is
1291         performing a pad_alloc when removing the pad. Fixes #547835.
1292
1293         * tests/check/elements/tee.c: (buffer_alloc_harness_setup),
1294         (buffer_alloc_harness_teardown), (app_thread_func),
1295         (final_sinkpad_bufferalloc), (GST_START_TEST), (tee_suite):
1296         Added testcase for shutdown race.
1297
1298 2008-08-14  Thijs Vermeir  <thijsvermeir@gmail.com>
1299
1300         * gst/gstpad.h:
1301         Add doc
1302
1303 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1304
1305         * libs/gst/base/gstbasetransform.c:
1306         (gst_base_transform_prepare_output_buffer),
1307         (gst_base_transform_buffer_alloc):
1308         Go over the buffer_alloc function again and make sure we always end up
1309         allocating a buffer.
1310         Add some more docs.
1311         Avoid doing pad alloc when we have a pending suggestion because we
1312         cannot yet deal with changing caps in that case. Fixes #547728
1313
1314 2008-08-14  Stefan Kost  <ensonic@users.sf.net>
1315
1316         patch by: Luc Pionchon <luc.pionchon@nokia.com>
1317
1318         * docs/manual/advanced-clocks.xml:
1319         * docs/manual/clocks.png:
1320         * docs/manual/diagrams-clocks.svg:
1321           Add one more image showing different times together with a describing
1322           paragraph. Fixes #547729.
1323
1324 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1325
1326         * win32/common/libgstbase.def:
1327         Add new method.
1328
1329 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1330
1331         * libs/gst/base/gstbasetransform.c:
1332         (gst_base_transform_transform_caps),
1333         (gst_base_transform_prepare_output_buffer),
1334         (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
1335         Don't overwrite the outsize when calculating the expected size of a new
1336         buffer because we still need it in case we cannot process the new
1337         buffer.
1338         When converting the size of the new buffer to an upstream size, actually
1339         use the expected size of the buffer, not some other random value.
1340         Use an atomic int to signal that a new upstream caps suggestion is
1341         available.
1342         When we can convert the current buffer to a new format, check if the
1343         buffer size is of the expected size and allocate a new buffer of the
1344         expected size when this is not the case. Fixes #546883.
1345
1346         * tests/check/libs/transform1.c: (GST_START_TEST):
1347         remove ifdeffed code from the unit test.
1348
1349 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1350
1351         * pkgconfig/gstreamer-uninstalled.pc.in:
1352         * pkgconfig/gstreamer.pc.in:
1353           Remove -lgstcontrol-0.10 which never worked anyway as the lib is
1354           called gstcontroller-0.10.
1355
1356 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1357
1358         * gst/gstchildproxy.h:
1359         * gst/gstpreset.h:
1360           Remove double interface from doc-string.        
1361
1362 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1363
1364         * libs/gst/base/gstbasesrc.c:
1365         * libs/gst/base/gstbasetransform.c:
1366           Fix headings in docs and gtk-doc warnings.
1367
1368 2008-08-11  Michael Smith <msmith@songbirdnest.com>
1369
1370         * gst/gstregistrybinary.c:
1371           Don't use g_mkstmp() on win32, it's unsafe if glib is using a different
1372           libc.
1373           Fixes #544776.
1374
1375 2008-08-11  Edward Hervey  <edward.hervey@collabora.co.uk>
1376
1377         * libs/gst/base/gstbasetransform.c:
1378         (gst_base_transform_buffer_alloc):
1379         Fix a "may be used unitialized" warning.
1380
1381 2008-08-11  Stefan Kost  <ensonic@users.sf.net>
1382
1383         * docs/gst/gstreamer-sections.txt:
1384         * gst/gstpreset.h:
1385           Document preset-iface vmethods.
1386
1387 2008-08-11  Stefan Kost  <ensonic@users.sf.net>
1388
1389         * docs/manual/advanced-interfaces.xml:
1390           Turn thoughts about HAL into a note-tag. Remove mentioning that is
1391           only used to discover devices.
1392
1393 2008-08-07  Tim-Philipp Müller  <tim.muller at collabora co uk>
1394
1395         Patch by: Frederic Crozat <fcrozat@mandriva.org>
1396
1397         * gst/gst.c: (init_pre):
1398         Make sure gettext returns translations in UTF-8 encoding rather
1399         than in the current locale encoding (#546822).
1400
1401 2008-08-07  Wim Taymans  <wim.taymans@collabora.co.uk>
1402
1403         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
1404         Fix subset test.
1405
1406         * tests/check/gst/gstcaps.c: (GST_START_TEST):
1407         Improve unit test subset tests and add a testcase for the subset failure
1408         cases.
1409
1410         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1411         Improve subtraction unit test.
1412
1413 2008-08-07  Stefan Kost  <ensonic@users.sf.net>
1414
1415         * plugins/elements/gsttee.c:
1416           Unlock, instead of locking again.
1417
1418 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1419
1420         * gst/gstpad.h:
1421         Clarify the docs a bit more.
1422
1423 2008-08-05  Stefan Kost  <ensonic@users.sf.net>
1424
1425         * tests/examples/metadata/read-metadata.c:
1426           Don't leak old taglist.
1427
1428 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1429
1430         Patch by: Olivier Crete <tester at tester dot ca>
1431
1432         * gst/gststructure.c:
1433         (gst_structure_fixate_field_nearest_fraction):
1434         Avoid overflows in fixation code when dealing with MAXINT values, which
1435         v4l2src seems to do.
1436         Fixes #546328.
1437
1438         * tests/check/gst/gststructure.c: (GST_START_TEST):
1439         Make a unit test to check the fix. 
1440
1441 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1442
1443         * plugins/elements/gstcapsfilter.c: (copy_func),
1444         (gst_capsfilter_set_property):
1445         Use new caps suggestion feature of basetransform to request a caps
1446         negotiation upstream.
1447
1448 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1449
1450         * docs/libs/gstreamer-libs-sections.txt:
1451         Add new function:
1452         API: GstBaseTransform::gst_base_transform_suggest()
1453
1454         * libs/gst/base/gstbasetransform.c: (gst_base_transform_finalize),
1455         (gst_base_transform_init), (gst_base_transform_transform_caps),
1456         (gst_base_transform_transform_size),
1457         (gst_base_transform_configure_caps),
1458         (gst_base_transform_can_transform),
1459         (gst_base_transform_find_transform), (gst_base_transform_setcaps),
1460         (gst_base_transform_prepare_output_buffer),
1461         (gst_base_transform_buffer_alloc),
1462         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1463         (gst_base_transform_chain), (gst_base_transform_activate),
1464         (gst_base_transform_set_passthrough),
1465         (gst_base_transform_is_passthrough),
1466         (gst_base_transform_set_in_place),
1467         (gst_base_transform_is_in_place), (gst_base_transform_update_qos),
1468         (gst_base_transform_set_qos_enabled),
1469         (gst_base_transform_is_qos_enabled),
1470         (gst_base_transform_set_gap_aware), (gst_base_transform_suggest),
1471         (gst_base_transform_reconfigure):
1472         * libs/gst/base/gstbasetransform.h:
1473         Rewrite of basetransform to perform negotiation outside of the
1474         buffer_alloc functions.  Fixes #545853.
1475
1476         * tests/check/libs/transform1.c: (GST_START_TEST),
1477         (buffer_alloc_ct2):
1478         Update unit test.
1479
1480 2008-08-05  Stefan Kost  <ensonic@users.sf.net>
1481
1482         * tests/check/gst/gstpreset.c:
1483           Only run preset tests when $HOME is writable. Preliminary fix for
1484           #545433.
1485
1486 2008-08-04  Wim Taymans  <wim.taymans@collabora.co.uk>
1487
1488         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1489         (gst_bin_change_state_func), (bin_handle_async_done),
1490         (gst_bin_handle_message_func):
1491         Fix race for bins that simulate ASYNC state changes by inserting
1492         ASYNC_START and ASYNC_DONE messages in their bus. We need to check for
1493         pending ASYNC messages even when the bin does not have ASYNC children.
1494         We note detect this behaviour because we will receive an ASYNC message
1495         that is originating from the bin itself. 
1496         Fixes races with decodebin2 state changes.
1497
1498         * tests/check/gst/gstbin.c: (GST_START_TEST):
1499         Add some more debug.
1500
1501 2008-08-04  Tim-Philipp Müller  <tim.muller at collabora co uk>
1502
1503         * gst/gsttaglist.c: (_gst_tag_initialize):
1504           Fix typo.
1505
1506 2008-08-04  Stefan Kost  <ensonic@users.sf.net>
1507
1508         * gst/gsttaglist.c:
1509           Argh. actually save the text before committing. Now adds
1510           gst_tag_merge_strings_with_comma() to gst_tag_register().
1511
1512 2008-08-04  Stefan Kost  <ensonic@users.sf.net>
1513
1514         * gst/gsttaglist.c:
1515         * gst/gsttaglist.h:
1516           Do as tim pointed out and actually register the new tag. Also improve
1517           te docs and use gst_tag_merge_strings_with_comma() method to allow
1518           retriving all keywords merged in one list.
1519
1520 2008-08-01  Stefan Kost  <ensonic@users.sf.net>
1521
1522         * configure.ac:
1523         * docs/gst/gstreamer.types:
1524           Revert 'accidential' change of the configure option removal. We still
1525           need to generate the types file in configure --disable-load-save.
1526
1527 2008-08-01  Stefan Kost  <ensonic@users.sf.net>
1528
1529         * docs/gst/gstreamer-sections.txt:
1530         * gst/gsttaglist.h:
1531           Add new taglist item GST_TAG_KEYWORDS, needed for #520694 .
1532
1533 2008-08-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
1534
1535         * gst/gstpadtemplate.c:
1536           (gst_pad_template_class_init), (gst_static_pad_template_get),
1537           (gst_pad_template_new), (gst_pad_template_pad_created),
1538           (gst_pad_template_set_property), (gst_pad_template_get_property):
1539           Add "name-template", "direction", "presence" and "caps" properties,
1540           so that gst_pad_template_new() is just a thin wrapper around
1541           g_object_new(), which is better for bindings. (Fixes: #539772)
1542
1543 2008-07-31  Michael Smith <msmith@songbirdnest.com>
1544
1545         * gst/gsturi.c:
1546           Be more liberal in what URIs we accept.
1547           Do not unescape bits of the URI for no apparent reason before passing to
1548           the element. Fixes #545352.
1549
1550 2008-07-31  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1551
1552         Patch by: Robert Schwebel <r.schwebel@pengutronix.de>
1553
1554         * gst/gst.c:
1555         Include gstconfig.h as macros from it are used. Fixes bug #545607.
1556
1557 2008-07-31  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1558
1559         * configure.ac:
1560         * docs/gst/gstreamer-sections.txt:
1561         * docs/gst/gstreamer.types:
1562         * docs/gst/gstreamer.types.in:
1563         * gst/Makefile.am:
1564         * gst/gst.c:
1565         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func):
1566         * gst/gstconfig.h.in:
1567         * gst/gstelement.c: (gst_element_get_index):
1568         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
1569         (gst_registry_binary_load_feature),
1570         (gst_registry_binary_read_cache):
1571         * gst/gstregistryxml.c: (load_feature),
1572         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
1573         * plugins/Makefile.am:
1574         * tools/gst-indent:
1575         * tools/gst-inspect.c: (print_index_info), (print_element_list),
1576         (print_plugin_features), (print_element_features):
1577         * tools/gst-xmlinspect.c: (print_event_masks),
1578         (print_element_info):
1579         * win32/common/gstconfig.h:
1580         Remove GST_DISABLE_(ENUMTYPES|INDEX|URI) everywhere.
1581
1582         Disabling the indexers and URI handler code will only reduce the
1583         required amount of memory by a very small amount but on the other hand
1584         requires much more maintaince work. Apart from that many places of
1585         code are broken when disabling them.
1586
1587         Disabling the enum types doesn't reduce the required amount of memory
1588         by more than a few bytes and makes it hard to fix bugs like #539772,
1589         i.e. use the enums as GObject properties.
1590
1591 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1592
1593         * docs/design/part-TODO.txt:
1594         Add some thoughts and problems with upstream renegotiation.
1595
1596 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1597
1598         * gst/gstpad.c: (gst_pad_acceptcaps_default),
1599         (gst_pad_configure_src), (gst_pad_alloc_buffer_full):
1600         Remove silly redundant debug.
1601         Add some more debug info.
1602         Clarify the docs regarding new caps received from pad_alloc.
1603
1604 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1605
1606         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_set_property),
1607         (gst_capsfilter_get_property), (gst_capsfilter_transform_caps):
1608         Make setting the caps more threadsafe.
1609
1610 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1611
1612         * docs/design/part-element-transform.txt:
1613         Update docs.
1614
1615 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1616
1617         * plugins/elements/gstqueue.c: (gst_queue_init),
1618         (gst_queue_acceptcaps):
1619         Add and use a custom acceptcaps function instead of falling back to the
1620         potentially less optimized default implementation.
1621
1622 2008-07-29  Tim-Philipp Müller  <tim.muller at collabora co uk>
1623
1624         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
1625           Only sanity-check the buffer size if requested_caps == buffer_caps
1626           (ie. don't take pad caps into account, they're not relevant here)
1627
1628 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1629
1630         * plugins/elements/gsttee.c:
1631         * plugins/elements/gsttee.h:
1632           Reverting as not everything is clear yet. Needs some general design
1633           work.
1634
1635 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1636
1637         * ChangeLog:
1638           ChangeLog surgery for tee commit.
1639
1640 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1641
1642         * docs/gst/gstreamer-sections.txt:
1643           Cleanup section-file.
1644
1645 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1646
1647         * plugins/elements/gsttee.c:
1648         * plugins/elements/gsttee.h:
1649           Relay tag events in tee. Fixes parts of #474016.
1650           Downgrades 3 reoccurring debugs to log.
1651
1652 2008-07-28  Michael Smith <msmith@songbirdnest.com>
1653
1654         * configure.ac:
1655         * libs/gst/Makefile.am:
1656           Build the net library if we have winsock2.
1657
1658 2008-07-26  Stefan Kost  <ensonic@users.sf.net>
1659
1660         patch by: Luc Pionchon <luc.pionchon@nokia.com>
1661
1662         * docs/manual/advanced-threads.xml:
1663         * docs/manual/diagrams-pipelines.svg:
1664         * docs/manual/hello-world.png:
1665         * docs/manual/linked-elements.png:
1666         * docs/manual/mime-world.png:
1667         * docs/manual/queue.png:
1668         * docs/manual/thread-buffering.png:
1669         * docs/manual/thread-synchronizing.png:
1670           Replace one diagram with two separate ones and updates others.
1671           Fixes #542401.
1672
1673 2008-07-25  Thijs Vermeir  <thijsvermeir@gmail.com>
1674
1675         * gst/gstelement.h:
1676         Fix link in documentation.
1677
1678 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
1679
1680         * gst/gstmessage.c:
1681         Fix confusing documentation.
1682
1683 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
1684
1685         * libs/gst/base/gstbasesrc.h:
1686         revert the changes to the header file for the ABI.
1687
1688 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
1689
1690         * libs/gst/base/gstbasesrc.c:
1691         * libs/gst/base/gstbasesrc.h:
1692         Don't cache the seekable status.
1693         Fixes bug #544174
1694
1695 2008-07-24  Rene Stadler  <mail@renestadler.de>
1696
1697         * docs/manual/advanced-autoplugging.xml: Add fakesink to example
1698         code to close the pipeline graph.  This prevents the program from
1699         printing internal data flow errors.
1700
1701 2008-07-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1702
1703         * docs/manual/basics-bus.xml:
1704         Correct typo. Fixes bug #544320.
1705
1706 2008-07-22  Michael Smith <msmith@songbirdnest.com>
1707
1708         * configure.ac:
1709           Remove AC_ISC_POSIX macro; it's broken on some platforms and not needed.
1710           Add check (taken from -base) for winsock, adds WIN32_LIBS
1711         * gst/Makefile.am:
1712           Add WIN32_LIBS to LIBADD for libgstreamer. Needed now that gstpoll uses
1713           winsock.
1714           Define GST_EXPORTS when building libgstreamer (only used on win32)
1715         * gst/gst_private.h:
1716         * gst/gstinfo.h:
1717           Use GST_EXPORT instead of locally-defined (and incorrect IMPORT_SYMBOL)
1718           for symbols that we need to export in both these files.
1719         * gst/gstpoll.c:
1720           Include gst_private.h higher up to avoid some compile problems on win32.
1721
1722 2008-07-22  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1723
1724         * gst/gstvalue.c:
1725         Fix typos.
1726
1727 2008-07-22  Thijs Vermeir  <thijsvermeir@gmail.com>
1728
1729         * gst/gstcaps.c:
1730         Previous commit was wrong NULL caps does not exist
1731         and indicate an error, so also add a FIXME to
1732         gst_caps_is_equal where NULL caps are accepted.
1733
1734 2008-07-22  Thijs Vermeir  <thijsvermeir@gmail.com>
1735
1736         * gst/gstcaps.c:
1737         Allow passing of NULL to gst_caps_union
1738
1739 2008-07-21  Thijs Vermeir  <thijsvermeir@gmail.com>
1740
1741         * gst/gstghostpad.c:
1742         Add in doc that gst_ghost_pad_set_target can accept
1743         NULL to clear target
1744
1745 2008-07-15  Michael Smith <msmith@songbirdnest.com>
1746
1747         * gst/gstplugin.c:
1748         * gst/gstregistry.c:
1749           GstRegistryPool doesn't exist; don't refer to it in docs.
1750           Don't refer to functions that don't exist in docs, it's
1751           unhelpful.
1752
1753 2008-07-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1754
1755         * gst/gst.c:
1756         Fix scanning of paths given via --gst-plugin-path. Fixes bug #542175.
1757
1758 2008-07-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1759
1760         Patch by: Tristan Matthews <le dot businessman at gmail dot com>
1761
1762         * docs/pwg/building-testapp.xml:
1763         Don't use an undeclared variable in the example program.
1764         Fixes bug #542573.
1765
1766 2008-07-12  Stefan Kost  <ensonic@users.sf.net>
1767
1768         * gst/gstdebugutils.c:
1769           Squeeze ghost-pad links and remove <> from classname labels to save
1770           more horizontal space.
1771
1772 2008-07-11  Stefan Kost  <ensonic@users.sf.net>
1773
1774         * gst/gstdebugutils.c:
1775           Give request and sometimes pads a different shpe style. Condense the
1776           graphs a little more.
1777
1778 2008-07-09  Michael Smith <msmith@songbirdnest.com>
1779
1780         * configure.ac:
1781           Don't require flex and bison if the parser is disabled.
1782
1783 2008-07-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1784
1785         * libs/gst/controller/gstinterpolationcontrolsource.c:
1786         (_list_find_sorted_custom):
1787         Don't use declarations after statements.
1788
1789 2008-07-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1790
1791         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
1792         Add FIXMEs for 0.11 to use GST_TYPE_OBJECT in the signature
1793         of the the child-added / -removed signals as GstChildProxy
1794         only supports GstObjects.
1795
1796 2008-07-07  Thijs Vermeir  <thijsvermeir@gmail.com>
1797
1798         * gst/gstdebugutils.c:
1799         Fix memleak
1800
1801 2008-07-06  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1802
1803         Patch by: Alessandro Decina <alessandro at nnva dot org>
1804
1805         * gst/gstpoll.c:
1806         Fix "ignored return value" compiler warning with newer glibc.
1807
1808 2008-07-05  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1809
1810         * gst/gstchildproxy.c:
1811         Fix copy&paste error in gst_child_proxy_removed() documentation.
1812
1813 2008-07-02  Tim-Philipp Müller  <tim.muller at collabora co uk>
1814
1815         * gst/gstplugin.c: (CHECK_PLUGIN_DESC_FIELD), (gst_plugin_load_file):
1816           Print error debug message if plugin description fields that should
1817           be set are NULL.
1818
1819         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string):
1820           Don't crash if the string to serialise is NULL (it really should
1821           not be, but apparently this used to work with the xml registry ...).
1822
1823 2008-07-02  Thijs Vermeir  <thijsvermeir@gmail.com>
1824
1825         * tools/gst-plot-timeline.py:
1826         Fix parsing of log messages
1827
1828 2008-07-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
1829
1830         * win32/common/libgstbase.def::
1831           Sort alphabetically so make check-exports doesn't barf.
1832
1833 2008-07-01  Stefan Kost  <ensonic@users.sf.net>
1834
1835         * gst/gstevent.c:
1836           Use gst_format_get_name() to improve debug output.
1837
1838         * gst/gstpreset.c:
1839           Remove #ifdef'ed code. Add TODO comment.
1840
1841         * gst/gstsegment.c:
1842           Add debug output to ease spotting format != segment.format assertions.
1843
1844 2008-06-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1845
1846         * tests/check/libs/gdp.c: (gst_dp_suite):
1847         Also enable the GDP unit test again on PPC now that the bug
1848         is fixed.
1849
1850 2008-06-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1851
1852         * libs/gst/dataprotocol/dataprotocol.c:
1853         Don't write to the same region of memory as a uint64 and uint16
1854         as this breaks strict aliasing rules and apparantly breaks on PPC
1855         and s390. Thanks to Sjoerd Simons for analysing. Fixes bug #348114.
1856
1857 2008-06-29  Stefan Kost  <ensonic@users.sf.net>
1858
1859         * libs/gst/controller/gstinterpolationcontrolsource.c:
1860           Optimize list handling. Use own find function. Exploit that fact that
1861           the list is sorted. Also pass back the node before, so that we can
1862           insert quickly. Have a fast path for append.
1863
1864 2008-06-29  Stefan Kost  <ensonic@users.sf.net>
1865
1866         * docs/design/draft-framestep.txt:
1867         * docs/design/part-negotiation.txt:
1868           Fix two typos.
1869
1870 2008-06-27  Stefan Kost  <ensonic@users.sf.net>
1871
1872         * configure.ac:
1873           Show configuration sumary after configure run. Based on patch by
1874           Luc Pionchon <luc.pionchon@nokia.com>. Fixes: #540134
1875
1876 2008-06-27  Stefan Kost  <ensonic@users.sf.net>
1877
1878         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
1879
1880         * docs/manual/advanced-autoplugging.xml:
1881         * docs/manual/advanced-threads.xml:
1882         * docs/manual/basics-bins.xml:
1883         * docs/manual/basics-elements.xml:
1884         * docs/manual/basics-helloworld.xml:
1885         * docs/manual/basics-pads.xml:
1886           Add scale factor for pdf output.
1887
1888         * docs/manual/intro-basics.xml:
1889           Switched sections "pads" and "bins" and added a pipeline diagram.
1890
1891         * docs/manual/intro-gstreamer.xml:
1892           Added more info on gstreamer.
1893
1894         * docs/manual/intro-motivation.xml:
1895           Commented out the whole section "current problem", which sounds
1896           historical and somehow osolete; it could be turned in a positive
1897           way and reused to improve the design principles.
1898
1899         * docs/manual/intro-preface.xml:
1900           - Update URLs to library.gnome.org. 
1901           - Do not mention GTK+ in preliminary reading (irrelevant). 
1902           - Mention Plugin Writer's Manual and further reading only in the
1903             previous section.
1904           - Added a list of most relevant GObject/glib topics.
1905
1906         * docs/manual/Makefile.am:
1907         * docs/manual/bin-element-ghost.fig:
1908         * docs/manual/bin-element-ghost.png:
1909         * docs/manual/bin-element-noghost.fig:
1910         * docs/manual/bin-element-noghost.png:
1911         * docs/manual/bin-element.fig:
1912         * docs/manual/bin-element.png:
1913         * docs/manual/filter-element-multi.fig:
1914         * docs/manual/filter-element-multi.png:
1915         * docs/manual/filter-element.fig:
1916         * docs/manual/filter-element.png:
1917         * docs/manual/gstreamer-overview.png:
1918         * docs/manual/hello-world.fig:
1919         * docs/manual/hello-world.png:
1920         * docs/manual/linked-elements.fig:
1921         * docs/manual/linked-elements.png:
1922         * docs/manual/mime-world.fig:
1923         * docs/manual/mime-world.png:
1924         * docs/manual/queue.fig:
1925         * docs/manual/queue.png:
1926         * docs/manual/simple-player.png:
1927         * docs/manual/sink-element.fig:
1928         * docs/manual/sink-element.png:
1929         * docs/manual/src-element.fig:
1930         * docs/manual/src-element.png:
1931         * docs/manual/diagrams-general.svg:
1932         * docs/manual/diagrams-pipelines.svg:
1933           Removed .fig, added .png counterpart.
1934           
1935           Fixes: #539137
1936
1937 2008-06-26  Thijs Vermeir  <thijsvermeir@gmail.com>
1938
1939         * plugins/elements/gstmultiqueue.c:
1940         * plugins/elements/gstmultiqueue.h:
1941         revert extra-size-buffers stuff, caused some race conditions
1942         and extra-size-buffers is not used anymore. Docs needs some updates
1943
1944 2008-06-26  Tim-Philipp Müller  <tim.muller at collabora co uk>
1945
1946         * win32/common/config.h:
1947         * win32/common/gstenumtypes.c:
1948         * win32/common/gstenumtypes.h:
1949         * win32/common/gstversion.h:
1950           Update win32 files.
1951
1952 2008-06-26  Tim-Philipp Müller  <tim.muller at collabora co uk>
1953
1954         * gst/gstdebugutils.h: (GstDebugGraphDetails),
1955           (GST_DEBUG_BIN_TO_DOT_FILE):
1956           Add missing Since' markers to gtk-doc blurbs.
1957
1958 2008-06-26  Wim Taymans  <wim.taymans@collabora.co.uk>
1959
1960         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
1961         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
1962         (set_caps_1), (set_caps_ct1), (transform_ct1),
1963         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
1964         (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
1965         (transform_size_ct2), (buffer_alloc_ct2):
1966         Add some more tests with switching caps in buffer_alloc.
1967
1968 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1969
1970         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
1971         (gst_test_trans_class_init), (result_sink_chain),
1972         (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
1973         (gst_test_trans_push), (gst_test_trans_pop):
1974         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
1975         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
1976         (set_caps_1), (set_caps_ct1), (transform_ct1),
1977         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
1978         (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
1979         (transform_size_ct2), (buffer_alloc_ct2),
1980         (gst_basetransform_suite):
1981         More tests, prepare for tests with switching caps in buffer_alloc.
1982
1983 2008-06-25  Thijs Vermeir  <thijsvermeir@gmail.com>
1984
1985         * plugins/elements/gstmultiqueue.c:
1986         * plugins/elements/gstmultiqueue.h:
1987         Fix dead-lock in underrun_cb
1988
1989 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1990
1991         * docs/design/part-states.txt:
1992         Fix device open/close docs.
1993
1994 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
1995
1996         * ChangeLog:
1997           Mention bugnumber for last commit.
1998
1999 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2000
2001         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
2002
2003         * docs/manual/manual.xml:
2004         - Reorganised the previous "introduction" bundle into Foreword,
2005         Introduction, and About GStreamer. The two first are <preface>
2006         docbook elements. The later is the first part of the book.
2007         - added intro-gstreamer.xml (content partially from
2008         intro-preface.xml)
2009         - moved appendix-win32.xml into appendix-integration.xml
2010
2011         * docs/manual/intro-preface.xml: gstreamer section moved...
2012         * docs/manual/intro-gstreamer.xml: ...here. new file.
2013
2014         * docs/manual/appendix-win32.xml: removed file. Content moved...
2015         * docs/manual/appendix-integration.xml: ...here.
2016         
2017         * docs/manual/highlevel-components.xml: section about GstEditor moved...
2018         * docs/manual/appendix-checklist.xml: ...here.
2019         
2020         Fixes: 538764
2021
2022 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2023
2024         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
2025
2026         * docs/manual/basics-helloworld.xml:
2027         * docs/manual/hello-world.fig:
2028           - Explicitely include glib.h.
2029           - Do not use global variables.
2030           - Use g_printerr() instead of g_print().
2031           - Minor formating/renaming to increase readibility.
2032           - Renamed new_pad() to on_pad_added()
2033           - Improved explenatory comments.
2034           - renamed ogg parser to ogg demuxer
2035           - Use "autoaudiosink" instead of "alsasink".
2036           Fixes: #538619
2037
2038 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2039
2040         * ChangeLog:
2041           Remove cvs conflict marker.
2042
2043 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2044
2045         * docs/README:
2046           Document that for plgin-docs we extraxt he short-desc from the element
2047           details.
2048
2049         * docs/design/part-states.txt:
2050           Tell that devices should be closed in PAUSED -> READY.
2051
2052         * docs/manual/README:
2053           Document how tests in the manual are handled.
2054
2055         * docs/manuals.mak:
2056           Typo in comment.
2057
2058 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2059
2060         * gst/gstbin.c: (bin_query_latency_fold):
2061         Only care about latency min and max when the sink is actually a live
2062         sink.
2063
2064 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2065
2066         * docs/design/part-block.txt:
2067         Fix typo.
2068
2069         * docs/design/part-element-transform.txt:
2070         Add notes about why transform needs to know input/output sizes.
2071         Add some issues that need to be solved.
2072         Add some more use cases.
2073
2074         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2075         (gst_test_trans_class_init), (result_sink_chain),
2076         (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
2077         (gst_test_trans_push), (gst_test_trans_pop):
2078         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2079         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2080         (set_caps_1), (set_caps_ct1), (transform_ct1),
2081         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2082         (gst_basetransform_suite):
2083         Add suport for different pad templates and buffer-alloc.
2084         Add more checks for caps and buffer-alloc.
2085         Add checks for proxy buffer alloc.
2086         Add unit test for copy transform.
2087
2088 2008-06-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2089
2090         Patch by: Luc Pionchon  <luc.pionchon@nokia.com>
2091
2092         * docs/manual/appendix-integration.xml:
2093         * docs/manual/appendix-licensing.xml:
2094         * docs/manual/basics-elements.xml:
2095         * docs/manual/basics-helloworld.xml:
2096         * docs/manual/basics-pads.xml:
2097         * docs/manual/highlevel-components.xml:
2098         * docs/manual/highlevel-xml.xml:
2099         * docs/manual/intro-basics.xml:
2100         * docs/manual/intro-preface.xml:
2101           Typo and formatting fixes (#538594).
2102
2103 2008-06-24  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2104
2105         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2106         Fix some memory leaks and uses of object instances that we don't
2107         actually own.
2108
2109 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
2110
2111         * plugins/elements/gstmultiqueue.c:
2112         Add functionality to extra-size-buffers property.
2113
2114 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
2115
2116         * plugins/elements/gstmultiqueue.c:
2117         Don't update the cur_time on GST_CLOCK_TIME_NONE (#537804) and don't
2118         activate the pads if they are added in STATE_NULL.
2119
2120 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
2121
2122         * docs/libs/gstreamer-libs-sections.txt:
2123         Add new API to doc
2124         * libs/gst/check/gstcheck.c:
2125         * libs/gst/check/gstcheck.h:
2126         API: gst_check_teardown_pad_by_name
2127
2128 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
2129
2130         * libs/gst/check/gstcheck.c:
2131         * libs/gst/check/gstcheck.h:
2132         Also setup request pads and allow setup pads by name (#537812)
2133         API: gst_check_setup_src_pad_by_name
2134         API: gst_check_setup_sink_pad_by_name
2135
2136 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2137
2138         * tests/check/gst/gstbuffer.c:
2139         * tests/check/pipelines/parse-launch.c:
2140           Use HAVE_VALGRIND_H some more.
2141
2142 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2143
2144         * scripts/cvs-update.sh:
2145           Pass arguments to make.
2146           Run autoregen.sh if Makefile is not there.
2147
2148 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2149
2150         * configure.ac:
2151         * gst/gstinfo.c:
2152           Don't assume that <valgrind/valgrind.h> exists just because
2153           the binary is there.
2154
2155 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2156
2157         * tests/check/Makefile.am:
2158         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2159         (gst_test_trans_class_init), (gst_test_trans_init),
2160         (gst_test_trans_set_data), (result_sink_chain),
2161         (gst_test_trans_new), (gst_test_trans_free), (gst_test_trans_push),
2162         (gst_test_trans_pop):
2163         * tests/check/libs/transform1.c: (GST_START_TEST),
2164         (transform_ip_1), (set_caps_1), (gst_basetransform_suite):
2165         Add some test basetransform element and the beginnings of various
2166         unit tests for it.
2167
2168 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2169
2170         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
2171         Increase code readability.
2172         Don't try to compare buffer offsets when ther are invalid.
2173
2174 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
2175
2176         * docs/design/Makefile.am:
2177           Dist some more design docs.
2178
2179         * docs/random/moving-plugins:
2180           Small addition: good plugins mustn't have functional code
2181           within assertion macros.
2182
2183 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2184
2185         * docs/design/draft-framestep.txt:
2186         Some ideas about a framestep API
2187
2188         * docs/design/part-element-transform.txt:
2189         Start design and use cases for basetransform in order to get it
2190         fixed soon.
2191
2192 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
2193
2194         * gst/gsttaglist.h:
2195           In GST_TAG_ATTACHEMENT docs, mention that the file name needs to
2196           be in UTF-8 encoding.
2197
2198 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
2199
2200         * gst/gstbus.c:
2201           Make it known that gst_bus_poll() is pure evil (fixes #538810).
2202
2203 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2204
2205         * plugins/elements/gstcapsfilter.c:
2206         * plugins/elements/gstfakesink.c:
2207         * plugins/elements/gstfakesrc.c:
2208         * plugins/elements/gstfdsink.c:
2209         * plugins/elements/gstfdsrc.c:
2210         * plugins/elements/gstfilesink.c:
2211         * plugins/elements/gstfilesrc.c:
2212         * plugins/elements/gstidentity.c:
2213         * plugins/elements/gstmultiqueue.c:
2214         * plugins/elements/gstqueue.c:
2215         * plugins/elements/gsttee.c:
2216         * plugins/elements/gsttypefindelement.c:
2217           Remove short_description. Add basic docs for gsttypefindelement.
2218           Simplify markup for fakesrc/fdsrc.
2219
2220 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2221
2222         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
2223         Added Since doc.
2224
2225 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2226
2227         Patch by: Joel Larsson <tilljoel at gmail dot com>
2228
2229         * docs/plugins/gstreamer-plugins.args:
2230         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
2231         (gst_fd_src_init), (gst_fd_src_update_fd),
2232         (gst_fd_src_set_property), (gst_fd_src_get_property),
2233         (gst_fd_src_create):
2234         * plugins/elements/gstfdsrc.h:
2235         Add timeout property like udpsrc. Fixes #538628.
2236         Add some more docs and example pipelines.
2237
2238 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2239
2240         * docs/libs/gstreamer-libs-sections.txt:
2241         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2242         (gst_base_sink_query_latency), (gst_base_sink_set_render_delay),
2243         (gst_base_sink_get_render_delay), (gst_base_sink_wait_eos),
2244         (gst_base_sink_do_sync):
2245         * libs/gst/base/gstbasesink.h:
2246         * win32/common/libgstbase.def:
2247         Add method to allow sinks to specify additional delay between the sync
2248         times and the actual rendering of the data.
2249         API: gst_base_sink_set_render_delay()
2250         API: gst_base_sink_get_render_delay()
2251
2252 2008-06-20  Jan Schmidt  <jan.schmidt@sun.com>
2253
2254         * configure.ac:
2255         Bump version number back to dev -> 0.10.20.1
2256
2257 2008-06-20  Sebastian Dröge  <slomo@circular-chaos.org>
2258
2259         * docs/gst/gstreamer-sections.txt:
2260         * gst/gsttaglist.c: (_gst_tag_initialize):
2261         * gst/gsttaglist.h:
2262         API: Add GST_TAG_ATTACHMENT for generic file attachments to streams.
2263         Fixes bug #538568.
2264
2265 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2266
2267         * libs/gst/controller/gstcontroller.c:
2268           Revert one change, that make ret value possible uninitialized.
2269
2270 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2271
2272         * libs/gst/controller/gstcontroller.c:
2273           Use freeze/thaw notify to sync notify emission a bit (its also more
2274           efficient). Move debug output to LOG (is called a lot in a loop).
2275           Always unset g_values if the have been initialized.
2276
2277 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2278
2279         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2280         (gst_base_sink_wait_eos), (gst_base_sink_event):
2281         If we have not seen a buffer before EOS, use the segment values to
2282         report the current position instead of invalid positions.
2283
2284 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2285
2286         * docs/plugins/tmpl/.cvsignore:
2287         * tests/check/gst/.cvsignore:
2288           Ignore more.
2289
2290 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2291
2292         * libs/gst/controller/gstinterpolation.c:
2293         * libs/gst/controller/gstinterpolationcontrolsource.c:
2294         * tests/check/libs/controller.c:
2295           Rewrite handling of default values. Fix overflow with unsigned types
2296           in linear interpolation. Remove now obsolete _first_value() function.
2297           Add more tests. Fixes #538201.
2298
2299 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2300
2301         * libs/gst/base/gstbasetransform.c:
2302         (gst_base_transform_class_init), (gst_base_transform_init),
2303         (gst_base_transform_transform_caps),
2304         (gst_base_transform_prepare_output_buffer):
2305         Add debug info.
2306         When a buffer is writable, its metadata is also writable so we don't
2307         need to subbuffer (which then makes the buffer not-writable anymore).
2308
2309 === release 0.10.20 ===
2310
2311 2008-06-18  Jan Schmidt <jan.schmidt@sun.com>
2312
2313         * configure.ac:
2314           releasing 0.10.20, "You Crazy Diamond"
2315
2316 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
2317
2318         * configure.ac:
2319         0.10.19.3 pre-release
2320
2321 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
2322
2323         * configure.ac:
2324         * gst/gstpreset.c:
2325         Rename DATADIR to GST_DATADIR to avoid build problems
2326         on win32. Patch By: David Schleef <ds@schleef.org>
2327         Fixes: #536857
2328
2329 2008-06-05  Sebastian Dröge  <slomo@circular-chaos.org>
2330
2331         * configure.ac:
2332         Explicitely link with -ldl if dladdr() is found there. Before it was
2333         implicitely linked by the gmodule pkgconfig file but in glib 2.17.0
2334         -ldl has moved from Libs to Libs.private. Fixes bug #536744.
2335
2336 2008-06-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
2337
2338         * gst/gsterror.c: (_gst_stream_errors_init):
2339           Fix typo (spotted by Fabricio Godoy, #536723).
2340
2341 2008-06-05  Jan Schmidt  <jan.schmidt@sun.com>
2342
2343         * configure.ac:
2344         0.10.19.2 pre-release
2345
2346 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
2347
2348         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_async_enabled),
2349         (gst_base_sink_set_ts_offset), (gst_base_sink_perform_qos):
2350         Add some debug.
2351         Make sure we don't generate invalid QoS messages.
2352
2353 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
2354
2355         * gst/gstevent.c: (gst_event_new_qos):
2356         Add some assert and docs for invalid input to the qos function.
2357
2358 2008-05-30  Wim Taymans  <wim.taymans@collabora.co.uk>
2359
2360         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2361         (gst_base_sink_get_position):
2362         The reported position must always be smaller than the last seen
2363         timestamps (or timestamp + duration for reverse).
2364
2365 2008-05-30  Sebastian Dröge  <slomo@circular-chaos.org>
2366
2367         Patch by: Rob Bradford <rob at robster dot org dot uk>
2368
2369         * gst/gstregistry.c: (gst_registry_scan_path_level):
2370         Don't recurse into .debug directories as some distros install
2371         the debugging symbols next to the plugins in .debug directories
2372         and dlopen() crashes on them sometimes. Fixes bug #508070.
2373
2374         Add FIXME for 0.11 to not recurse into directories at all because
2375         it's very inconsistent to the behaviour of other PATH environment
2376         variables.
2377
2378 2008-05-29  Wim Taymans  <wim.taymans@collabora.co.uk>
2379
2380         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2381         (gst_base_sink_get_position_last), (gst_base_sink_get_position):
2382         Fix position query range checks in reverse playback.
2383
2384 2008-05-29  Sebastian Dröge  <slomo@circular-chaos.org>
2385
2386         * gst/gstelement.c:
2387         * gst/gstelement.h:
2388         Deprecated gst_element_get_pad() as it can't be used sanely. It's not
2389         clear of the reference to the resulting pad must be released later
2390         or not, resulting in possible leaks. Fixes bug #533865.
2391
2392 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
2393
2394         Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
2395
2396         * gst/gstelementfactory.c:
2397         Small doc fix. Fixes #535285.
2398
2399 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
2400
2401         Based on patch by: Bjarne Rosengren <bjarne at axis dot com>
2402
2403         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
2404         (gst_base_src_get_range), (gst_base_src_pad_get_range),
2405         (gst_base_src_loop), (gst_base_src_set_flushing),
2406         (gst_base_src_change_state):
2407         Make sending an EOS event to the basesrc non-blocking even if the
2408         implementation does blocking waits in the create function. This is done
2409         by unlocking the create function when EOS is sent.
2410         Fixes #535218.
2411
2412 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
2413
2414         * tools/gst-inspect.c: (print_element_properties_info):
2415         If possible print the element type of GValueArray properties.
2416
2417 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
2418
2419         * gst/gstiterator.c:
2420         Remove an unused field from the private GstListIterator struct.
2421
2422 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2423
2424         * libs/gst/controller/gstcontroller.c:
2425           Add parameter guards.
2426
2427 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2428
2429         * tests/check/gst/gstpipeline.c:
2430           Revert test change and add comment why it should not work.
2431
2432 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2433
2434         * tests/check/gst/gstpipeline.c:
2435           Extending the test a little to verify that we also get the NULL state-
2436           change message.
2437
2438 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
2439
2440         * gst/gstpreset.c: (gst_preset_default_get_meta),
2441           (gst_preset_get_preset_names), (gst_preset_get_property_names),
2442           (gst_preset_load_preset), (gst_preset_save_preset),
2443           (gst_preset_rename_preset), (gst_preset_delete_preset),
2444           (gst_preset_set_meta):
2445           Add Since: markers to docs blurbs.
2446
2447         * win32/common/libgstreamer.def:
2448           Add recently-added API.
2449
2450 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2451
2452         Patch by: Stefan Kost  <ensonic@users.sf.net>
2453
2454         * configure.ac:
2455         Add DATADIR for storing presets.
2456
2457         * docs/gst/gstreamer-docs.sgml:
2458         * docs/gst/gstreamer-sections.txt:
2459         * docs/gst/gstreamer.types.in:
2460         Add GstPreset to docs.
2461
2462         * gst/Makefile.am:
2463         * gst/gst.h:
2464         * gst/gstpreset.c: (preset_get_paths), (preset_skip_property),
2465         (preset_open_and_parse_header), (preset_parse_version),
2466         (preset_merge), (preset_get_keyfile),
2467         (gst_preset_default_get_preset_names),
2468         (gst_preset_default_get_property_names),
2469         (gst_preset_default_load_preset),
2470         (gst_preset_default_save_presets_file),
2471         (gst_preset_default_save_preset),
2472         (gst_preset_default_rename_preset),
2473         (gst_preset_default_delete_preset), (gst_preset_default_set_meta),
2474         (gst_preset_default_get_meta), (gst_preset_default_randomize),
2475         (gst_preset_default_reset), (gst_preset_get_preset_names),
2476         (gst_preset_get_property_names), (gst_preset_load_preset),
2477         (gst_preset_save_preset), (gst_preset_rename_preset),
2478         (gst_preset_delete_preset), (gst_preset_set_meta),
2479         (gst_preset_get_meta), (gst_preset_class_init),
2480         (gst_preset_base_init), (gst_preset_get_type):
2481         * gst/gstpreset.h:
2482         Add GstPreset to core. Fixes #396779
2483
2484         * tests/check/Makefile.am:
2485         * tests/check/gst/gstpreset.c: (gst_preset_test_get_property),
2486         (gst_preset_test_set_property), (gst_preset_test_class_init),
2487         (gst_preset_test_base_init), (gst_preset_test_get_type),
2488         (gst_preset_test_plugin_init), (GST_START_TEST),
2489         (remove_preset_file), (test_setup), (test_teardown),
2490         (gst_preset_suite):
2491         Add GstPreset unit tests.
2492
2493 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2494
2495         * gst/gstpad.c: (gst_pad_event_default_dispatch):
2496         The default event function on a sinkpad should return TRUE when
2497         there are no internal links but should collect the return values from
2498         the internal links otherwise.
2499
2500 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2501
2502         * plugins/elements/gsttypefindelement.c:
2503         (gst_type_find_element_src_event),
2504         (gst_type_find_element_handle_event):
2505         Use faster and safer _pad_push_event().
2506
2507 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
2508
2509         * docs/gst/gstreamer-sections.txt:
2510         * gst/gstutils.c: (element_find_unlinked_pad),
2511           (gst_bin_find_unlinked_pad), (gst_bin_find_unconnected_pad),
2512         * gst/gstutils.h:
2513           API: add gst_bin_find_unlinked_pad()
2514           API: deprecate gst_bin_find_unconnected_pad() (#401456)
2515
2516 2008-05-26  Peter Kjellerstedt  <pkj@axis.com>
2517
2518         * gst/gstclock.c:
2519         * gst/gstclock.h:
2520         * gst/gsttask.c:
2521         * gst/gsttask.h:
2522         Fixed a bunch of typos.
2523
2524 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2525
2526         * gst/gstpad.h:
2527         * gst/gstutils.c: (gst_element_unlink), (element_find_unlinked_pad),
2528           (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description),
2529           (gst_parse_bin_from_description_full):
2530         * gst/gstutils.h:
2531           'unconnected pad' -> 'unlinked pad' for consistency (#401456).
2532
2533 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2534
2535         * docs/pwg/advanced-tagging.xml:
2536           Small docs update, can't be bothered to rewrite the nonsensical
2537           examples right now.
2538
2539 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2540
2541         * gst/gstevent.h:
2542           Clarify docs for GST_SEEK_TYPE_CUR (#534505).
2543
2544 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2545
2546         * gst/parse/grammar.y:
2547           Remove unneeded casts.
2548
2549 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2550
2551         * gst/parse/grammar.y:
2552         * tests/check/pipelines/parse-launch.c:
2553           Get all missing elements from a parse launch string if possible
2554           (ie. if the FATAL_ERRORS flag has been specified). Fixes #528178.
2555
2556 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2557
2558         * tests/check/Makefile.am:
2559         * tests/check/pipelines/parse-launch.c:
2560           Add some unit tests for the new gst_parse_launch*_full() API.
2561           (Exposes a previously-existing memory leak in the error code
2562           path, so adding to VALGRIND_TO_FIX for now).
2563
2564 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2565
2566         * docs/gst/gstreamer-sections.txt:
2567         * gst/gst.c: (init_post):
2568         * gst/gst_private.h: (_GstParseContext):
2569         * gst/gstparse.c: (gst_parse_error_quark), (gst_parse_context_new),
2570           (gst_parse_context_free), (gst_parse_context_get_missing_elements),
2571           (gst_parse_launchv), (gst_parse_launchv_full), (gst_parse_launch),
2572           (gst_parse_launch_full):
2573         * gst/gstparse.h: (GST_PARSE_FLAG_NONE), (GST_PARSE_FLAG_FATAL_ERRORS),
2574           (GstParseFlags), (GstParseContext):
2575         * gst/gstutils.c: (gst_parse_bin_from_description),
2576           (gst_parse_bin_from_description_full):
2577         * gst/gstutils.h:
2578         * gst/parse/grammar.y:
2579         * gst/parse/types.h:
2580         * win32/common/libgstreamer.def:
2581           Add new gst_parse_*_full API (#528178):
2582           API: gst_parse_launch_full()
2583           API: gst_parse_launchv_full()
2584           API: gst_parse_bin_from_description_full()
2585           API: gst_parse_context_new()
2586           API: gst_parse_context_free()
2587           API: gst_parse_context_get_missing_elements()
2588
2589 2008-05-23  Stefan Kost  <ensonic@users.sf.net>
2590
2591         patch by: Suresh Kumar P <sureshkumar.pp@gmail.com>
2592
2593         * docs/faq/gst-uninstalled:
2594           Also support ffmpeg in gst-uninstalled.
2595
2596 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
2597
2598         * configure.ac:
2599         After discussion on IRC use the binary registry as default
2600         but allow to disable it with --disable-binary-registry.
2601
2602         * win32/common/libgstreamer.def:
2603         Add the two new symbols for the binary registry.
2604
2605 2008-05-22  Tim-Philipp Müller  <tim.muller at collabora co uk>
2606
2607         * gst/gstparse.c: (_gst_parse_escape), (gst_parse_launchv):
2608         * gst/gstutils.c: (gst_parse_bin_from_description):
2609         * gst/parse/grammar.y: (graph):
2610           More guards against bad input; typo fix; some minor clean-ups.
2611
2612 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
2613
2614         Patch by: Sjoerd Simons <sjoerd at luon dot net>
2615
2616         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2617         If nothing else can be used, use the last buffer's start time as
2618         the segment's last stop. Fixes bug #534258.
2619
2620 2008-05-21  Tim-Philipp Müller  <tim.muller at collabora co uk>
2621
2622         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
2623           Move size sanity check to the right place: downstream may return
2624           a buffer with a smaller size if the buffer caps are different than
2625           the requested ones, as may happen when doing reverse negotiation.
2626
2627 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2628
2629         * plugins/elements/gstfilesink.c: (gst_file_sink_set_location),
2630         (gst_file_sink_render):
2631         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location),
2632         (gst_file_src_start):
2633         Small cleanups. Add note adbout g_fopen() on windows and why we don't
2634         use it yet.
2635
2636 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2637
2638         * gst/gstpad.c: (gst_pad_load_and_link):
2639         * gst/gstutils.c: (gst_element_link_pads),
2640         (gst_element_unlink_pads):
2641         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2642         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
2643         (gst_check_teardown_sink_pad),
2644         (gst_check_element_push_buffer_list):
2645         * tests/check/elements/fakesink.c: (GST_START_TEST):
2646         * tests/check/elements/filesink.c:
2647         * tests/check/elements/filesrc.c: (GST_START_TEST):
2648         * tests/check/elements/multiqueue.c: (setup_multiqueue),
2649         (mq_sinkpad_to_srcpad):
2650         * tests/check/elements/tee.c: (GST_START_TEST):
2651         * tests/check/generic/sinks.c: (GST_START_TEST):
2652         * tests/check/gst/gstbin.c: (GST_START_TEST):
2653         * tests/check/gst/gstevent.c: (GST_START_TEST):
2654         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2655         * tests/check/gst/gstpipeline.c: (GST_START_TEST):
2656         * tests/check/gst/gstquery.c: (GST_START_TEST):
2657         * tests/check/gst/gstutils.c: (GST_START_TEST):
2658         * tests/check/libs/basesrc.c: (GST_START_TEST):
2659         * tests/check/pipelines/parse-launch.c: (run_delayed_test),
2660         (gst_parse_test_element_change_state):
2661         Don't use gst_element_get_pad().
2662
2663 2008-05-21  Felipe Contreras  <felipe.contreras@gmail.com>
2664
2665         * docs/Makefile.am:
2666         Fix installing plugin documentation when gtk-doc is disabled.
2667
2668 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2669
2670         * docs/manual/advanced-autoplugging.xml:
2671         * docs/manual/basics-helloworld.xml:
2672         * docs/manual/basics-pads.xml:
2673         * docs/manual/highlevel-components.xml:
2674         Avoid using a bad function in the example code.
2675
2676 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2677
2678         * gst/gstclock.c: (gst_clock_set_calibration):
2679         Fix debug of the new clock rate.
2680
2681 2008-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
2682
2683         * win32/common/libgstbase.def:
2684         Add gst_base_sink_wait_clock() to the exported symbols.
2685
2686 2008-05-20  Sebastian Dröge  <slomo@circular-chaos.org>
2687
2688         Patch by: Tim-Philipp Müller  <tim.muller at collabora co uk>
2689
2690         * libs/gst/base/gstbasetransform.c:
2691         (gst_base_transform_sink_event):
2692         Unref events that the GstBaseTransform::event vfunc didn't want to
2693         have forwarded by the base class. Closes a leak in identity.
2694         Fixes bug #446763.
2695
2696 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2697
2698         * docs/libs/gstreamer-libs-sections.txt:
2699         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock):
2700         * libs/gst/base/gstbasesink.h:
2701         Expose a method that was previously used internally to synchronize
2702         against the clock because it can be useful for subclasses too.
2703         API: GstBaseSink::gst_base_sink_wait_clock()
2704
2705 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
2706
2707         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
2708           Add sanity check to make sure we don't get smaller buffers
2709           than requested (and fallback to normal buffer alloc if we do).
2710
2711 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2712
2713         * libs/gst/base/gstbasesink.c: (gst_base_sink_adjust_time),
2714         (gst_base_sink_wait_clock), (gst_base_sink_wait_eos),
2715         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked):
2716         Refactor adjusting the running_time with latency and offset into a
2717         separate method.
2718         When doing clipping, we still want to use the subclass get_times method,
2719         just in case the DURATION or TIMESTAMP are not set.
2720
2721 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
2722
2723         * docs/gst/gstreamer-sections.txt:
2724         * gst/gsttypefind.c: (gst_type_find_suggest_simple):
2725         * gst/gsttypefind.h:
2726         * win32/common/libgstreamer.def:
2727           API: add gst_type_find_suggest_simple(), #533740.
2728
2729 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
2730
2731         * libs/gst/base/gstbasesrc.c: (gst_base_src_start):
2732           Use right error code when typefinding fails, so we can use
2733           the default (translated) error messages.
2734
2735 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2736
2737         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
2738         (gst_base_src_start):
2739         When the subclass did not set caps on outgoing buffers, configure the
2740         caps we negotiated on the source pad.
2741         When the typefind helper does not find caps, error out properly instead
2742         of doing things with NULL caps.
2743
2744 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
2745
2746         * gst/gsttypefind.h:
2747           Tabs to spaces, oh yes!
2748
2749 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
2750
2751         * tests/check/gst/gstcaps.c: (test_intersect2), (gst_caps_suite):
2752           Add David's and Benjamin's tests for array intersection to the
2753           unit test suite (#147931).
2754
2755 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
2756
2757         * gst/gstevent.c:
2758           Document that gst_event_new_tag() and gst_event_new_navigation()
2759           take ownership of the taglist/structure passed to them. (#533635).
2760
2761 2008-05-17  Jan Schmidt  <jan.schmidt@sun.com>
2762
2763         * docs/Makefile.am:
2764         Don't descend into the plugins dir if plugin docs building
2765         is disabled.
2766
2767         * docs/README:
2768         Add a note about the new type:GTypeName syntax for the plugin
2769         documentation .types file.
2770
2771 2008-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
2772
2773         * gst/gstmessage.c: (gst_message_new_error),
2774         (gst_message_new_warning), (gst_message_new_info):
2775         * gst/gstmessage.h:
2776         Mark the debug string parameters as const. Fixes bug #533490.
2777
2778 2008-05-16  Sebastian Dröge  <slomo@circular-chaos.org>
2779
2780         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
2781         Sort buffer cache list by end offsets. This makes sure that we don't
2782         stop to search for a cached buffer that contains the requested data
2783         too early.
2784         Also read a minimum of 4k bytes instead of 512 bytes as this is a bit
2785         more efficient. Fixes bug #459862.
2786
2787 2008-05-14  Stefan Kost  <ensonic@users.sf.net>
2788
2789         * gst/gstinfo.c:
2790           Explain why we copy the list.
2791
2792         * gst/gstpipeline.c:
2793           Improve docs.
2794
2795         * gst/gstutils.c:
2796           Add one debug-log statement to help tracing probelms with linking pads.
2797
2798 2008-05-12  Stefan Kost  <ensonic@users.sf.net>
2799
2800         * tests/check/gst/gstinfo.c:
2801         Add a test for removing the default log handler. Seems to fail under
2802         windows.
2803
2804 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
2805
2806         * gst/gstpad.c: (gst_pad_peer_accept_caps):
2807         Release pad lock before calling out to avoid a possible deadlock.
2808
2809 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
2810
2811         * gst/parse/grammar.y:
2812         Remove unneeded value unset.
2813
2814         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2815         Add unit test for de/serialization of caps.
2816
2817 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2818
2819         * plugins/elements/gstfakesink.c:
2820         (marshal_VOID__MINIOBJECT_OBJECT), (gst_fake_sink_class_init):
2821         * plugins/elements/gstfakesrc.c: (marshal_VOID__MINIOBJECT_OBJECT),
2822         (gst_fake_src_class_init):
2823         Use custom marshalers that take GstMiniObject as first parameter.
2824         Using OBJECT as parameter while a GstMiniObject is given will lead
2825         to assertions if built with G_ENABLE_DEBUG. Fixes bug #525532.
2826
2827 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2828
2829         * plugins/elements/gsttypefindelement.c:
2830         (gst_type_find_element_handle_event),
2831         (gst_type_find_element_send_cached_events),
2832         (gst_type_find_element_change_state):
2833         Clean up on FLUSH_STOP and not FLUSH_START. Forward both events
2834         immediately.
2835
2836 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2837
2838         * plugins/elements/gsttypefindelement.c:
2839         (gst_type_find_handle_src_query), (stop_typefinding),
2840         (gst_type_find_element_handle_event),
2841         (gst_type_find_element_send_cached_events),
2842         (gst_type_find_element_change_state):
2843         Forward FLUSH_START events immediately and clean up instead of
2844         caching them.
2845
2846 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2847
2848         Patch by: Sjoerd Simons <sjoerd at luon dot net>
2849
2850         * libs/gst/base/gstbasetransform.c:
2851         (gst_base_transform_buffer_alloc):
2852         Check the caps of the buffer returned by gst_pad_alloc_buffer() and
2853         fall back to default negotiation in the chain function if the caps
2854         are different from what was requested. Fixes bug #526768.
2855
2856 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
2857
2858         * gst/gstsegment.c:
2859         * tests/check/gst/gstsegment.c:
2860           No, let's not use g_slice_{dup|copy} here, since they only exist
2861           since GLib 2.14 and we still depend only on >= 2.12. Also add
2862           unit test for gst_segment_copy().
2863
2864 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
2865
2866         * gst/gstutils.h: (GST_BOILERPLATE_FULL):
2867           Try to fix 'dereferencing type-punned pointer will break strict
2868           aliasing rules' warnings with C++ compilers and GLib >= 2.14.0: GLib
2869           changed the default GType typedef from gulong to gsize at some point,
2870           but kept GType typedef'ed to gulong for C++ for ABI reasons; the
2871           g_once_* functions all take a gsize * though, so work around the type
2872           mismatch for C++ by doing everything in gsize and casting to GType
2873           later.
2874
2875 2008-05-09  Jan Schmidt  <jan.schmidt@sun.com>
2876
2877         * plugins/elements/gstmultiqueue.c:
2878         Add documentation for the signals to push our core plugin docs
2879         coverage back up to 100%.
2880
2881 2008-05-08  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
2882
2883         * gst/gstinfo.h (GST_FUNCTION):
2884           Reverted GST_FUNCTION to the old version as we don't want the
2885           full signature in C++ code. Also added support for MSVC.
2886
2887 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
2888
2889         * gst/gstutils.h:
2890         Intern the type name string, similar to what G_DEFINE_TYPE does.
2891
2892 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
2893
2894         * gst/gstutils.h:
2895         Make GST_BOILERPLATE thread-safe if building with GLib 2.14 or newer.
2896
2897 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
2898
2899         Based on a patch by: Sjoerd Simons <sjoerd at luon dot net>
2900
2901         * libs/gst/base/gstbasetransform.c:
2902         (gst_base_transform_buffer_alloc):
2903         Don't passthrough buffer allocation too easily if the caps change.
2904         This breaks when working in passthrough mode and upstream changes
2905         it's caps. Fixes bug #526768.
2906
2907 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
2908
2909         * gst/gstinfo.c (gst_debug_log_valist):
2910           Improved the __FILE__ part of debug output for MSVC.
2911
2912 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
2913
2914         * libs/gst/base/gstbasesrc.c (gst_base_src_default_query):
2915           Declaration after statement fix for compilers like MSVC.
2916
2917 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
2918
2919         * win32/common/config.h.in:
2920           Don't define GST_FUNCTION, if GLib supports MSVC we'd much rather
2921           use the real thing than having "???" unconditionally.
2922
2923 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
2924
2925         * gst/gstinfo.h (GST_FUNCTION):
2926           Made GST_FUNCTION an alias for G_STRFUNC to avoid duplication.
2927
2928 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
2929
2930         * libs/gst/base/gstadapter.c: (gst_adapter_available_fast):
2931         Small code cleanup.
2932
2933         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
2934         (gst_base_sink_set_flushing):
2935         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
2936         Fix some comments.
2937
2938 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
2939
2940         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2941         (gst_fake_src_init), (gst_fake_src_set_property),
2942         (gst_fake_src_get_property), (gst_fake_src_start):
2943         * plugins/elements/gstfakesrc.h:
2944         Added format property to control the format of the newsegment events.
2945         API: GstFakeSrc:format
2946
2947 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
2948
2949         * win32/common/libgstreamer.def:
2950         Add gst_pad_has_name() to the exported symbols.
2951
2952 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
2953
2954         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
2955         * libs/gst/base/gstbasetransform.c:
2956         (gst_base_transform_prepare_output_buffer):
2957         Don't allow negative sizes when allocating new buffers.
2958         Fixes bug #461253.
2959
2960 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
2961
2962         Patch by: Sjoerd Simons <sjoerd at luon net>
2963
2964         * gst/gstbus.c: (gst_bus_source_dispatch):
2965           Don't print a warning if the queue is empty when we try to pop
2966           here. That could happen if another thread or callback set the
2967           bus to flushing between the source's check/prepare and the
2968           dispatch being called (#531538).
2969
2970 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
2971
2972         * plugins/elements/gstmultiqueue.c:
2973           Small docs fix.
2974         
2975 2008-05-05  Sebastian Dröge  <slomo@circular-chaos.org>
2976
2977         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2978         Add unit test for deserializing uint64s and check some really large
2979         numbers in the int64 test.
2980
2981 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
2982
2983         * tools/gst-inspect.c: (n_print), (print_hierarchy),
2984         (print_interfaces), (print_element_properties_info),
2985         (print_signal_info):
2986         Use "%s" as format string instead of printing strings directly.
2987
2988 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
2989
2990         * gst/gstclock.c: (gst_clock_set_calibration):
2991         Make some checks actually useful.
2992
2993         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
2994         Remove some unused code. Unsigned integers tend to be >= 0.
2995
2996 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
2997
2998         * gst/gstminiobject.c: (gst_value_get_mini_object):
2999           Fix 'Since:' version in gst_value_dup_mini_object() docs blurb: this
3000           function was not in the unscheduled 0.10.19 release.
3001
3002 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3003
3004         * gst/gstregistry.c: (gst_registry_scan_path_level):
3005           Only print one log message per non-plugin file.
3006
3007 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3008
3009         * gst/gstinfo.c: (gst_debug_log_default):
3010           Fix alignment of debug log columns on 64-bit.
3011
3012 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3013
3014         * docs/libs/Makefile.am:
3015         * docs/libs/gstreamer-libs-sections.txt:
3016           Ignore private controller headers for docs.
3017
3018 2008-05-03  Sebastian Dröge  <slomo@circular-chaos.org>
3019
3020         * libs/gst/controller/gstcontrollerprivate.h:
3021         * libs/gst/controller/gsthelper.c:
3022         * libs/gst/controller/gstinterpolation.c:
3023         * libs/gst/controller/gstinterpolationcontrolsource.c:
3024         (gst_interpolation_control_source_set_interpolation_mode):
3025         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
3026         * libs/gst/controller/lib.c:
3027         Move some private declarations into private headers.
3028
3029 2008-05-02  Sebastian Dröge  <slomo@circular-chaos.org>
3030
3031         * gst/gstdebugutils.c: (debug_dump_element_pad):
3032         Remove some code that is unused after Stefan's refactoring and uses
3033         uninitialized variables now, resulting in a compiler warning.
3034
3035 2008-05-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
3036
3037         * gst/gstregistry.c: (gst_registry_scan_path_level):
3038           Run g_str_has_suffix() only on the file name, not the
3039           entire file path.
3040
3041 2008-04-30  Tim-Philipp Müller  <tim.muller at collabora co uk>
3042
3043         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream):
3044           Since we're not called only from the chain function any longer,
3045           we can't assume that there's always data in the queue, so move
3046           the is_full check to the beginning of the loop (otherwise we'd
3047           hit the assert when changing the limit properties while the
3048           queue is empty or not running yet).
3049           Also, only set a discont if items were actually removed from
3050           the queue.
3051
3052         * tests/check/elements/queue.c: (test_leaky_downstream):
3053           Test case for the above.
3054
3055 2008-04-30  Wim Taymans  <wim.taymans@collabora.co.uk>
3056
3057         Patch by: Jonas Holmberg <jonas dot holmberg at axis dot com>
3058
3059         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream),
3060         (gst_queue_chain), (queue_capacity_change),
3061         (gst_queue_set_property):
3062         When changing thr max capacity of a leaky queue, immediatly drop buffers
3063         instead of waiting for a push on the sinkpad. Fixes #530637.
3064
3065 2008-04-30  Stefan Kost  <ensonic@users.sf.net>
3066
3067         * gst/gstdebugutils.c:
3068           Refactor code and fix handling of ghostpads and their proxypads.
3069
3070 2008-04-29  Wim Taymans  <wim.taymans@collabora.co.uk>
3071
3072         * docs/gst/gstreamer-sections.txt:
3073         * gst/gstevent.c: (gst_event_has_name):
3074         * gst/gstevent.h:
3075         * tests/check/gst/gstevent.c: (GST_START_TEST):
3076         Add method to conveniently check the name of a custom event with
3077         gst_event_has_name().
3078         Reformat the event docs so that related methods are put together instead
3079         of the default alphabetical sort.
3080         Update unit test with new method.
3081         API: GstEvent::gst_event_has_name()
3082
3083 2008-04-28  Michael Smith <msmith@songbirdnest.com>
3084
3085         * libs/gst/check/Makefile.am:
3086           Don't add an explicit link to libgstreamer-0.10.la; it's already
3087           included in GST_OBJ_LIBS.
3088
3089 2008-04-28  Sebastian Dröge  <slomo@circular-chaos.org>
3090
3091         * gst/gst.c:
3092         Register GstClock type from a type-safe context. Fixes bug #530317.
3093
3094 2008-04-25  Michael Smith <msmith@songbirdnest.com>
3095
3096         Patch by Edward Hervey <edward.hervey@collabora.co.uk>
3097         * tools/gst-run.c:
3098           Include <unistd.h> conditionally on HAVE_UNISTD_H as elsewhere.
3099
3100 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
3101
3102         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
3103         (gst_bin_dispose):
3104         Use the GLib stuff to create a private structure.
3105         Add some locking around some dispose methods to make them a little
3106         safer, see #529723. Patch by: Antoine Tremblay <hexa00 at gmail dot com>
3107
3108 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
3109
3110         * libs/gst/base/gstbasesink.h:
3111         * libs/gst/base/gstbasesrc.h:
3112         * libs/gst/base/gstbasetransform.h:
3113         * libs/gst/base/gstcollectpads.h:
3114           Fix doc typos and unify caps a bit.
3115
3116 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
3117
3118         * tools/gst-launch.1.in:
3119           Forgot to also add the envvar docs here.
3120
3121 2008-04-25  Tim-Philipp Müller  <tim at centricular dot net>
3122
3123         * gst/gst.c: (init_post), (gst_deinit):
3124         * tests/check/gst/gstpipeline.c: (GST_START_TEST), (pipeline_thread),
3125           (test_concurrent_create), (gst_pipeline_suite):
3126           Ref some more classes in gst_init() to work around thread-safety
3127           issues in pre-2.16 GLibs, and add basic unit test.
3128
3129 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
3130
3131         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3132         (gst_base_sink_send_event):
3133         Rearrange the latency query code. We always want to do the upstream
3134         query, even if we are not live so that the upstream elements can get the
3135         latency results too. If we fail doing the query and we are live, we
3136         return TRUE afterwards.
3137
3138 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
3139
3140         patch by: Jason Zhao <e3423c@motorola.com>
3141
3142         * docs/gst/running.xml:
3143         * gst/gst.c:
3144           Enable/disable scan_and_update_registry() based on commandline switch
3145           or environment variable. Fixes #520468.
3146           
3147         * ChangeLog:
3148           Fix typo in my previous commit.
3149
3150 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
3151
3152         * gst/gstregistrybinary.c:
3153           Add a warning if we hit unhandled factories when saving.
3154           More debug logging detail, but move to LOG category.
3155
3156 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
3157
3158         * gst/gstregistry.c:
3159           Tell the *truth* when improving the documentation.
3160
3161 2008-04-23  Sebastian Dröge  <slomo@circular-chaos.org>
3162
3163         * gst/gstelementfactory.c: (gst_element_factory_make):
3164         Unref the factory after it was used the last time, not before.
3165
3166         * gst/gstindexfactory.c: (gst_index_factory_make):
3167         Improve debugging a bit and don't leak a ref to the index factory with
3168         each call.
3169
3170 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3171
3172         * gst/gstregistry.c:
3173           Improve the documentation.
3174
3175 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3176
3177         * gst/gstsegment.c:
3178           The glib macro seems to be borked. Use g_slice_copy directly and cast
3179           in the hope that this fixes the warning on 64bit.
3180
3181 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3182
3183         * gst/gstsegment.c:
3184           Document the new function. Use g_slice_dup() (no need for
3185           gst_segment_init()).    
3186
3187 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3188
3189         * docs/gst/gstreamer-sections.txt:
3190           Move GParamSepc macros to standart section.
3191   
3192         * gst/gstbin.c:
3193           Dn't document _get_type - its in private section in docs anyway and
3194           this doc-blob was incomplete.
3195
3196         * gst/gstclock.h:
3197           Fix wrong symbol names in docs.
3198
3199         * gst/gstmacros.h:
3200           Add once doc sentence.
3201
3202         * tests/check/gst/.cvsignore:
3203           Ignore more.
3204
3205 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
3206
3207         * docs/gst/Makefile.am:
3208           And remove those libs here.
3209
3210 2008-04-21  Tim-Philipp Müller  <tim at centricular dot net>
3211
3212         * docs/libs/Makefile.am:
3213           Fix docs build again by adding libgstnet-0.10.so to SCANOBJ_DEPS.
3214
3215 2008-04-21  Wim Taymans  <wim.taymans@collabora.co.uk>
3216
3217         Patch by: Olivier Crete <tester at tester dot ca>
3218
3219         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
3220         Add the min-threshold to the min latency if possible. Fixes #529148.
3221
3222 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
3223
3224         * docs/gst/gstreamer.types.in:
3225           Stupid editor, I removed that line as it should go in yet.
3226
3227 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
3228
3229         * docs/gst/gstreamer.types.in:
3230         * docs/libs/gstreamer-libs.types:
3231           Remove library types fro core docs and have them in libs docs.
3232           Reformat and cleanup. Add comment for miniobject types.
3233
3234 2008-04-20  Tim-Philipp Müller  <tim at centricular dot net>
3235
3236         * gst/gsturi.c: (gst_uri_get_protocol):
3237           Fix leak: g_strdown operates on the string in place, while
3238           g_ascii_strdown() returns a newly-allocated string.
3239
3240 2008-04-20  Sebastian Dröge  <slomo@circular-chaos.org>
3241
3242         * tools/gst-inspect.c: (print_uri_handler_info),
3243         (print_element_info):
3244         Print the URI protocols and the URI type supported by the element.
3245
3246 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3247
3248         * gst/gsttaglist.c: (gst_tag_merge_strings_with_comma):
3249         Use g_value_take_string() instead of the deprecated
3250         g_value_set_string_take_ownership().
3251
3252 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3253
3254         * gst/gstregistrybinary.c: (_gst_crc32):
3255         Return the old CRC instead of 0 if we give a NULL buffer
3256         or a buffer with a length of 0.
3257
3258 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3259
3260         * gst/gsturi.c: (gst_uri_protocol_check_internal),
3261         (gst_uri_get_protocol), (gst_uri_has_protocol),
3262         (gst_uri_construct), (gst_uri_handler_set_uri):
3263         A valid URI scheme can also include '+', '-' and '.' additional
3264         to alphanumeric characters as per RFC 3986 Section 3.1.
3265
3266         Handle URI schemes case insensitive in all places and convert
3267         to lower-case when constructing an URI or setting an URI with
3268         the GstURIHandler interface. Fixes bug #528868.
3269         All elements can still assume (as before) that they will
3270         get passed URIs with a lower-case URI scheme by the GstURIHandler
3271         interface.
3272
3273 2008-04-17  Tim-Philipp Müller  <tim at centricular dot net>
3274
3275         * gst/gstcaps.c: (gst_static_caps_get):
3276         * gst/gstclock.c: (gst_clock_entry_new):
3277           Don't use g_atomic_set_int where it's not needed.
3278
3279 2008-04-17  Wim Taymans  <wim.taymans@collabora.co.uk>
3280
3281         * gst/gstvalue.c: (gst_value_deserialize_caps):
3282         * gst/parse/grammar.y:
3283         Fix 2 caps leaks.
3284
3285 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
3286
3287         * gst/gstutils.c: (gst_atomic_int_set):
3288         Use g_atomic_int_set() here too instead of assignment +
3289         g_atomic_int_get().
3290
3291 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
3292         
3293         * gst/gstutils.c:
3294         * gst/gstutils.h:
3295         API: Deprecate gst_atomic_int_set(), g_atomic_int_set() should be used
3296         now that we depend on new enough GLib.
3297
3298         * gst/gstcaps.c: (gst_static_caps_get):
3299         * gst/gstclock.c: (gst_clock_entry_new):
3300         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_set_colored),
3301         (gst_debug_set_default_threshold), (_gst_debug_category_new),
3302         (gst_debug_category_set_threshold):
3303         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3304         (gst_base_sink_set_qos_enabled):
3305         * libs/gst/net/gstnettimeprovider.c:
3306         (gst_net_time_provider_set_property):
3307         Use g_atomic_int_set() instead of gst_atomic_int_set().
3308
3309 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3310
3311         * gst/gstquery.c:
3312           Also use G_GINT64_CONSTANT for the queries.
3313
3314 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3315
3316         * gst/gstmessage.c:
3317           Use G_GINT64_CONSTANT in varargs function.
3318
3319 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3320
3321         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic):
3322         Initialize the registry magic with zeroes.
3323
3324 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3325
3326         * gst/gstregistrybinary.c: (_gst_crc32),
3327         (gst_registry_binary_write),
3328         (gst_registry_binary_initialize_magic),
3329         (gst_registry_binary_write_cache),
3330         (gst_registry_binary_check_magic),
3331         (gst_registry_binary_read_cache):
3332         * gst/gstregistrybinary.h:
3333         Add crc32 checksum to the binary registry file and check this before
3334         accepting a registry file.
3335
3336         Also free the data list when writing to the registry file fails.
3337
3338 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3339
3340         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
3341         (gst_registry_binary_load_feature),
3342         (gst_registry_binary_load_plugin):
3343         If an element supports the Uri interface, returns a valid pointer
3344         to the supported URI protocols but this pointer contains nothing
3345         don't try to save that as it will corrupt the registry.
3346
3347         Don't unref the plugin if we added it to the registry already but
3348         fail to load a feature as gst_registry_add_plugin() takes ownership
3349         of the plugin.
3350
3351         Improve debugging a bit.
3352
3353 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3354
3355         * gst/gsttaglist.h:
3356           Clarify some tag item docs after discussion on irc.
3357
3358 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3359
3360         * docs/gst/gstreamer-docs.sgml:
3361           Remove commented out plugins (they have their own docs). Update
3362           comments.
3363
3364 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3365
3366         * docs/gst/gstreamer-docs.sgml:
3367         * docs/gst/gstreamer-sections.txt:
3368         * gst/gstparamspecs.c:
3369         * gst/gstparamspecs.h:
3370           Add GST_PARAM_CONTROLLABLE and GST_PARAM_USER_SHIFT. Move paramspec
3371           docs to own section.
3372
3373         * gst/gstvalue.c:
3374           This now only documents GValue.
3375           
3376         * docs/libs/gstreamer-libs-sections.txt:
3377         * libs/gst/controller/gstcontroller.h:
3378           Remove GST_PARAM_CONTROLLABLE.
3379
3380 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3381
3382         * docs/README:
3383           Correct file path. Tell about how to use -overrides.txt.
3384         * docs/design/draft-tagreading.txt:
3385           Small design update.
3386
3387 2008-04-14  Sebastian Dröge  <slomo@circular-chaos.org>
3388
3389         * gst/gstregistrybinary.c: (gst_registry_binary_load_feature),
3390         (gst_registry_binary_load_plugin):
3391         Fix a typo in a debug message and revert change from yesterday as
3392         gst_registry_add_plugin() will only fail if something is really wrong
3393         already and we can't survive it anyway.
3394
3395 2008-04-14  Tim-Philipp Müller  <tim at centricular dot net>
3396
3397         * gst/gst.c: (init_post), (gst_deinit):
3398           Pre-register GstGError GType from a thread-safe context
3399           (fixes #527967); unref enum type classes in deinit.
3400
3401 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3402
3403         Patch by: Rene Stadler <mail at renestadler de>
3404
3405         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
3406           Merging an empty list with another list in KEEP_ALL mode should
3407           yield an empty list as result and not the second list (#512578).
3408
3409         * tests/check/gst/gsttagsetter.c:
3410           Add unit test for tag merge modes and the aforementioned bug.
3411
3412 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3413
3414         Patch by: Rene Stadler <mail at renestadler de>
3415
3416         * gst/gsttaglist.h:
3417           Fix description to match the order in the table (#512577).
3418   
3419 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3420
3421         Patch by: Kwang Yul Seo  <kwangyul.seo gmail com>
3422
3423         * libs/gst/net/gstnettimepacket.h:
3424         * docs/libs/gstreamer-libs-sections.txt:
3425           Define socklen_t as int if it's not defined yet. Fixes compilation
3426           with MSVC6 and other versions where socklen_t is not defined in
3427           the windows headers (#518022).
3428
3429 2008-04-13  Sebastian Dröge  <slomo@circular-chaos.org>
3430
3431         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
3432         If gst_registry_add_plugin() fails our reference to the plugin is
3433         invalid so don't try to use it anymore and instead error out.
3434
3435 2008-04-12  Tim-Philipp Müller  <tim at centricular dot net>
3436
3437         * tools/gst-xmlinspect.c: (print_element_info), (main):
3438           De-cruft a bit. If no argument is specified, print all elements in
3439           XML syntax rather than a freestyle list of elements like gst-inspect.
3440           Also, don't print XML header chunk unless we actually have something
3441           to print (ie. don't print it before an error message); print error
3442           message to stderr not stdout. Remove support for printing plugin
3443           info (it would just output something freestyle along the lines of
3444           gst-inspect so far), which fixes #514507. Also add license header.
3445
3446 2008-04-11  Julien Moutte  <julien@fluendo.com>
3447
3448         Mac OS X love...
3449         * configure.ac: Merge platform specific defines, introduce a new
3450         define on OS X to remember that forking when updating registry is
3451         unsafe.
3452         * docs/faq/gst-uninstalled: Updated to include gst-libs in the bad
3453         module.
3454         * gst/gst.c: Don't fork when updating registry if GST_HAVE_UNSAFE_FORK
3455         is defined.
3456         * gst/gstregistry.c: (gst_registry_scan_path_level): Fixed a bogus
3457         condition that leads to absolutely no plugins being registered on
3458         OS X.
3459
3460 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
3461
3462         Based on patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
3463
3464         * gst/gstutils.c: (gst_pad_add_data_probe),
3465           (gst_pad_add_data_probe_full), (gst_pad_add_event_probe),
3466           (gst_pad_add_event_probe_full), (gst_pad_add_buffer_probe),
3467           (gst_pad_add_buffer_probe_full):
3468         * gst/gstutils.h:
3469         * docs/gst/gstreamer-sections.txt:
3470         * win32/common/libgstreamer.def:
3471           Add gst_pad_add_*_probe_full() functions with a notify callback that
3472           lets the caller free the data it passes to the probe functions. This
3473           is useful for bindings such as gst-python or gstreamermm (#526814).
3474           API: gst_pad_add_data_probe_full
3475           API: gst_pad_add_buffer_probe_full
3476           API: gst_pad_add_event_probe_full
3477
3478         * tests/check/gst/gstutils.c:
3479           Add minimal unit test to make sure freeing the data actually works
3480           as expected.
3481
3482         * tests/benchmarks/.cvsignore:
3483           Random cvsignore addendum.
3484
3485 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
3486
3487         * gst/gstdebugutils.h: (GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS),
3488           (GST_DEBUG_BIN_TO_DOT_FILE):
3489           Mention GstDebugGraphDetails enum type in doc blurb so we get a link
3490           to it in the docs (since these are macros the types of the arguments
3491           won't be shown in the docs otherwise).
3492
3493 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
3494
3495         * gst/gstpad.c:
3496           Do not abort on out of memory for pad_alloc_buffer.
3497
3498 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
3499
3500         * libs/gst/check/gstcheck.c:
3501           Remove blank line between symbol name ad parameters to fix gtkdoc
3502           warning.
3503
3504 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3505
3506         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
3507
3508         * docs/gst/gstreamer-sections.txt:
3509         * gst/gstsegment.c:
3510         * gst/gstsegment.h:
3511         * win32/common/libgstreamer.def:
3512           Expose gst_segment_copy() to make things easier for the c++ bindings.
3513           Fixes #518932.
3514           API: gst_segment_copy()
3515
3516 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3517
3518         * gst/gst.c: (gst_init_get_option_group), (init_post):
3519           Fix const position; ref GType classes for enum types to work
3520           around thread-safety issues in GLib versions < 2.16.
3521
3522 2008-04-09  Wim Taymans  <wim.taymans@collabora.co.uk>
3523
3524         * docs/design/part-buffering.txt:
3525         Fix some typos and set the estimated total for push mode to -1.
3526
3527         * gst/gstquery.c: (gst_query_new_buffering):
3528         Set buffering-left to 0 as we're not buffering by default.
3529
3530         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
3531         Implement BUFFERING query.
3532
3533 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3534
3535         Based on patch by: Milosz Derezynski <internalerror gmail com>
3536
3537         * gst/gsterror.c: (_gst_stream_errors_init):
3538         * gst/gsterror.h:
3539           Add two new error codes for encrypted content. Fixes #524659.
3540           API: GST_STREAM_ERROR_DECRYPT
3541           API: GST_STREAM_ERROR_DECRYPT_NOKEY
3542
3543 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3544
3545         * gst/gstquery.h:
3546           Fix typo.
3547
3548         * win32/common/libgstreamer.def:
3549           Add new functions.
3550
3551 2008-04-09  Sebastian Dröge  <slomo@circular-chaos.org>
3552
3553         * plugins/elements/gstidentity.c: (gst_identity_event),
3554         (gst_identity_start):
3555         Fix imperfect timestamp/offset checks when we get another NEWSEGMENT
3556         event after processing some data. Fixes bug #526042.
3557
3558 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3559
3560         * docs/gst/gstreamer-sections.txt:
3561         * gst/gstquery.c: (gst_query_parse_latency),
3562         (gst_query_set_buffering_percent),
3563         (gst_query_parse_buffering_percent),
3564         (gst_query_set_buffering_range), (gst_query_parse_buffering_range):
3565         * gst/gstquery.h:
3566         Rename _avail -> _range
3567         API: gst_query_set_buffering_range
3568         API: gst_query_parse_buffering_range
3569
3570 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3571
3572         * docs/design/part-buffering.txt:
3573         * gst/gstquark.c:
3574         * gst/gstquark.h:
3575         * gst/gstquery.c: (gst_query_parse_latency),
3576         (gst_query_new_buffering), (gst_query_set_buffering_percent),
3577         (gst_query_parse_buffering_percent):
3578         * gst/gstquery.h:
3579         Add busy field and quark for the buffering query so that the app can
3580         only use the query to see if buffering is in progress.
3581
3582 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3583
3584         * docs/gst/gstreamer-sections.txt:
3585         * gst/gstmessage.c: (gst_message_set_buffering_stats),
3586         (gst_message_parse_buffering_stats):
3587         * gst/gstmessage.h:
3588         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
3589         (gst_query_parse_latency), (gst_query_new_buffering),
3590         (gst_query_set_buffering_percent),
3591         (gst_query_parse_buffering_percent),
3592         (gst_query_set_buffering_stats), (gst_query_parse_buffering_stats),
3593         (gst_query_set_buffering_avail), (gst_query_parse_buffering_avail):
3594         * gst/gstquery.h:
3595         Reorder the message docs and headers for clarity.
3596         Add aditional buffering stats API for messages.
3597         Add buffering query.
3598         Convert some leftover queries to use GstQuark.
3599         API: gst_message_set_buffering_stats
3600         API: gst_message_parse_buffering_stats
3601         API: GST_QUERY_BUFFERING
3602         API: GstBufferingMode
3603         API: gst_query_new_buffering
3604         API: gst_query_set_buffering_percent
3605         API: gst_query_parse_buffering_percent
3606         API: gst_query_set_buffering_stats
3607         API: gst_query_parse_buffering_stats
3608
3609 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3610
3611         * gst/gstmessage.c: (gst_message_new_error),
3612         (gst_message_new_warning), (gst_message_new_info),
3613         (gst_message_new_buffering), (gst_message_new_state_changed),
3614         (gst_message_new_clock_provide), (gst_message_new_clock_lost),
3615         (gst_message_new_new_clock), (gst_message_new_segment_start),
3616         (gst_message_new_segment_done), (gst_message_new_duration),
3617         (gst_message_new_async_start), (gst_message_parse_buffering),
3618         (gst_message_parse_state_changed),
3619         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
3620         (gst_message_parse_new_clock), (gst_message_parse_error),
3621         (gst_message_parse_warning), (gst_message_parse_info),
3622         (gst_message_parse_segment_start),
3623         (gst_message_parse_segment_done), (gst_message_parse_duration),
3624         (gst_message_parse_async_start):
3625         Use GstQuark for messages.
3626
3627 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3628
3629         * gst/gstquark.c: (_priv_gst_quarks_initialize):
3630         * gst/gstquark.h:
3631         Add some more quarks needed for messages and queries.
3632
3633 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3634
3635         * docs/design/part-buffering.txt:
3636         Remove the "none" buffering mode, STREAM is a good default.
3637         Move estimated-time to the avail query, that's when it will be needed.
3638         Other small typo fixes and updates.
3639
3640 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
3641
3642         * gst/gstindex.c: (gst_index_resolver_get_type):
3643           Don't put descriptions into the nick field of a GEnumValue: it's not
3644           meant for that and some language bindings rely on the nick field to
3645           construct constants and the like. Fixes #526705.
3646
3647 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
3648
3649         * NEWS:
3650         * RELEASE:
3651         * gstreamer.doap:
3652           Merge other changes from 0.10.19 release branch.
3653
3654 2008-04-06  Sebastian Dröge  <slomo@circular-chaos.org>
3655
3656         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3657
3658         * configure.ac:
3659         Actually build dlls when cross-compiling with mingw32.
3660         Fixes bug #526247.
3661
3662 2008-04-05  Sebastian Dröge  <slomo@circular-chaos.org>
3663
3664         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3665
3666         * gst/gstpoll.c:
3667         Fix compilation of GstPoll with mingw32. Fixes bug #526236.
3668
3669 2008-04-04  Wim Taymans  <wim.taymans@collabora.co.uk>
3670
3671         * docs/design/draft-latency.txt:
3672         Fix typo.
3673
3674         * docs/design/part-buffering.txt:
3675         Update design docs with more buffering ideas.
3676
3677 2008-04-03  Tim-Philipp Müller  <tim at centricular dot net>
3678
3679         * configure.ac:
3680           Bump version to 0.10.19.1 after the unscheduled 0.10.19 release.
3681
3682 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
3683
3684         * configure.ac:
3685           Revert part that belongs to the preset patch.
3686
3687 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
3688
3689         * configure.ac:
3690           Add qoutes to the define. Fixes # 525961.
3691
3692 2008-04-03  Sebastian Dröge  <slomo@circular-chaos.org>
3693
3694         * plugins/indexers/gstfileindex.c: (_file_index_id_free),
3695         (gst_file_index_load), (gst_file_index_add_id),
3696         (gst_file_index_get_assoc_entry):
3697         * plugins/indexers/gstmemindex.c: (gst_mem_index_free_format),
3698         (gst_mem_index_free_id), (gst_mem_index_add_id),
3699         (gst_mem_index_index_format):
3700         Use GSlice when possible.
3701
3702 2008-04-02  Sebastian Dröge  <slomo@circular-chaos.org>
3703
3704         * libs/gst/controller/gstinterpolationcontrolsource.c:
3705         (gst_control_point_free),
3706         (gst_interpolation_control_source_set_internal):
3707         Use GSlice for allocating the control points.
3708
3709 2008-04-02  Wim Taymans  <wim.taymans@collabora.co.uk>
3710
3711         * plugins/elements/gsttypefindelement.c:
3712         (gst_type_find_element_class_init),
3713         (gst_type_find_element_set_property),
3714         (gst_type_find_element_get_property),
3715         (gst_type_find_element_activate):
3716         * plugins/elements/gsttypefindelement.h:
3717         Cleanup properties.
3718         Fix pad leak when peer query fails.
3719         We can still typefind when the peer returns -1.
3720         Add property to force caps and bypass typefinding. This will be used in
3721         uridecodebin.
3722         API::force-caps
3723
3724 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
3725
3726         * configure.ac:
3727         Require GLib 2.12.
3728
3729         * gst/glib-compat-private.h:
3730         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free):
3731         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
3732         Unconditionally use GSlice for allocation.
3733
3734         * gst/gstpoll.c: (gst_poll_new), (gst_poll_free):
3735         * gst/gstsegment.c: (gst_segment_new), (gst_segment_free):
3736         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
3737         (gst_structure_free):
3738         Use GSlice for allocation.
3739
3740 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
3741
3742         * gst/parse/Makefile.am:
3743         * gst/parse/grammar.tab.pre.c:
3744         * gst/parse/grammar.tab.pre.h:
3745         * gst/parse/lex._gst_parse_yy.pre.c:
3746         Require a new enough flex and bison and remove the parser hacks to use
3747         a pre-regenerated version.
3748
3749 2008-04-01  Julien Moutte  <julien@fluendo.com>
3750
3751         patch by: Jason Zhao <E3423C@motorola.com>
3752
3753         * configure.ac: Add a configure switch to disable option parsing
3754         in gst_init.
3755         Fixes #522882.
3756
3757 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
3758
3759         * configure.ac:
3760         * gst/gstregistry.c:
3761           MacOS has plugins under .so or under .dylib. Add detection for MacOS
3762           and handle this case.
3763
3764         * gst/gst.c:
3765           Add a comment here describing, why we stat each plugin and not try to
3766           be smart.
3767
3768 2008-03-31  Sebastian Dröge  <slomo@circular-chaos.org>
3769
3770         * libs/gst/base/gstbasetransform.c:
3771         (gst_base_transform_prepare_output_buffer):
3772         Also unset the GAP flag on buffers if we're working inplace but
3773         the element is not GAP-aware.
3774
3775         Mark a comment as FIXME 0.11.
3776
3777 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
3778
3779         * gst/gst.c:
3780           Fix type in log message and add one to ease seeing how long registry
3781           cache verification takes.
3782
3783         * gst/gstregistry.c:
3784           Only test plugin filenames against G_MODULE_SUFFIX.
3785
3786 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
3787
3788         * gst/gstdebugutils.c:
3789           Improve handling ghost/proxy pads.
3790
3791 2008-03-27  Stefan Kost  <ensonic@users.sf.net>
3792
3793         * docs/gst/gstreamer-sections.txt:
3794         * gst/gstpad.c:
3795         * gst/gstpad.h:
3796           Expose macro to docs and fix link to it.
3797
3798 2008-03-27  Michael Smith <msmith@fluendo.com>
3799
3800         * libs/gst/dataprotocol/dataprotocol.c:
3801         (gst_dp_packet_from_event_1_0):
3802           When calculating GDP body CRC, use the correct pointer. 
3803           Fixes part of #522401.
3804
3805 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3806
3807         Patch by: Mark Nauwelaerts <manauw at skynet be>
3808
3809         * plugins/elements/gstidentity.c: (gst_identity_class_init),
3810         (gst_identity_init), (gst_identity_prepare_output_buffer):
3811         Identity is not always a passthrough element, it can modify the buffer
3812         timestamps when it has a datarate and operates in single-segment mode.
3813         We therefore make it an in_place filter with a custom buffer prepare
3814         function that conditionally makes the input buffer metadata writable
3815         when needed.  Fixes #523985.
3816
3817 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3818
3819         Patch by: Mark Nauwelaerts <manauw at skynet be>
3820
3821         * gst/gstclock.h:
3822         * libs/gst/base/gstbasesrc.h:
3823         * libs/gst/base/gstbasetransform.c:
3824         * libs/gst/check/gstcheck.c:
3825         Small documentation fixes. Fixes #523978.
3826
3827 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3828
3829         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
3830         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
3831         Also retry our poll_wait when we get EAGAIN. Fixes #524041.
3832
3833 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3834
3835         * plugins/elements/gstmultiqueue.c: (single_queue_overrun_cb),
3836         (single_queue_underrun_cb):
3837         When trying to make room in the queue, bump the max allowed buffers
3838         bigger than the current amount of buffers in the queue. this fixes some
3839         nasty deadlocks in multiqueue when dynamically changing the limits of
3840         the queue.
3841
3842 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3843
3844         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
3845
3846         * gst/gstcaps.c: (gst_caps_set_simple),
3847         (gst_caps_set_simple_valist), (gst_caps_intersect):
3848         * gst/gstcaps.h:
3849         Constify the field gchar * params in set_simple and friends.
3850         Fixes #522326.
3851
3852 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3853
3854         * gst/gstvalue.c: (gst_value_transform_object_string):
3855         Transform a GstObject to a more meaningfull string that includes the
3856         object type in addition to its name.
3857
3858 2008-03-23  Stefan Kost  <ensonic@users.sf.net>
3859
3860         * ChangeLog:
3861           ChangeLog surgery to add bugnumber to commit.
3862
3863 2008-03-23  Rene Stadler  <mail@renestadler.de>
3864
3865         * libs/gst/base/gstbasetransform.c:
3866         (gst_base_transform_set_gap_aware): Fix confusing documentation.
3867
3868 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
3869
3870         * gst/gstregistrybinary.c: (gst_registry_binary_write):
3871         Rename constant everywhere and don't forget one occurence.
3872
3873 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
3874
3875         * gst/gstregistrybinary.c: (gst_registry_binary_write):
3876         Align memory to the pointer size even if the architecture allows
3877         unaligned memory access. Unaligned memory access usually comes with
3878         performance penality.
3879
3880 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
3881
3882         * gst/gstregistrybinary.c: (gst_registry_binary_write),
3883         (gst_registry_binary_check_magic),
3884         (gst_registry_binary_load_pad_template),
3885         (gst_registry_binary_load_feature),
3886         (gst_registry_binary_load_plugin):
3887         Align memory to the pointer size instead of always 32 bit. Fixes
3888         unaligned memory accesses on ia64 and friends.
3889
3890         * gst/gstregistrybinary.h:
3891         Bump binary registry format version for this as it changes the
3892         format on those architectures that don't have unaligned access
3893         and 64 bit pointers.
3894
3895 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
3896
3897         * docs/pwg/advanced-dparams.xml:
3898         * docs/pwg/building-props.xml:
3899         * docs/pwg/other-source.xml:
3900         * gst/glib-compat.h:
3901         * gst/gstbin.c: (gst_bin_class_init):
3902         * gst/gstclock.c: (gst_clock_class_init):
3903         * gst/gstindex.c: (gst_index_class_init):
3904         * gst/gstobject.c: (gst_object_class_init):
3905         * gst/gstpad.c: (gst_pad_class_init):
3906         * gst/gstpipeline.c: (gst_pipeline_class_init):
3907         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
3908         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
3909         * libs/gst/base/gstbasetransform.c:
3910         (gst_base_transform_class_init):
3911         * libs/gst/base/gstdataqueue.c: (gst_data_queue_class_init):
3912         * libs/gst/check/gstcheck.c: (_gst_check_fault_handler_restore),
3913         (_gst_check_fault_handler_sighandler),
3914         (_gst_check_fault_handler_setup), (gst_check_init):
3915         * libs/gst/controller/gstcontroller.c:
3916         (_gst_controller_class_init):
3917         * libs/gst/controller/gstlfocontrolsource.c:
3918         (gst_lfo_control_source_class_init):
3919         * libs/gst/net/gstnetclientclock.c:
3920         (gst_net_client_clock_class_init):
3921         * libs/gst/net/gstnettimeprovider.c:
3922         (gst_net_time_provider_class_init):
3923         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
3924         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
3925         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
3926         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
3927         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
3928         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
3929         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
3930         * plugins/elements/gstidentity.c: (gst_identity_class_init):
3931         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_class_init):
3932         * plugins/elements/gstqueue.c: (gst_queue_class_init):
3933         * plugins/elements/gsttee.c: (gst_tee_class_init):
3934         * plugins/elements/gsttypefindelement.c:
3935         (gst_type_find_element_class_init):
3936         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
3937         Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and
3938         use it everywhere for GParamSpecs that use static strings (i.e. all).
3939         This gives us less memory usage, fewer allocations and thus less
3940         memory defragmentation. Fixes bug #523806.
3941
3942 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
3943
3944         * gst/gstminiobject.c: (gst_value_dup_mini_object),
3945         (gst_param_spec_mini_object):
3946         * gst/gstminiobject.h:
3947         * win32/common/libgstreamer.def:
3948         * docs/gst/gstreamer-sections.txt:
3949         API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
3950         GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object. Also move
3951         GstParamSpecMiniObject into a public header for this.
3952
3953         This make GstMiniObject a bit more consistent with GObject and makes
3954         it possible to extend the param specs.
3955
3956         gst_value_dup_mini_object is mainly useful for set_property methods.
3957
3958         Fixes bug #523798.
3959
3960         * tools/gst-inspect.c: (print_element_properties_info):
3961         Print something useful for GstMiniObject properties and not just
3962         "unknown type".
3963
3964 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
3965
3966         * docs/gst/gstreamer-sections.txt:
3967         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
3968         (gst_registry_binary_check_magic):
3969         * gst/gstregistrybinary.h:
3970         Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent
3971         and add it to the (private part) of the docs to fix the build.
3972
3973 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
3974
3975         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
3976         (gst_registry_binary_check_magic),
3977         (gst_registry_binary_read_cache):
3978         * gst/gstregistrybinary.h:
3979         Don't use GST_MAJORMINOR for the binary registry version. Instead
3980         hardcode a value that must be changed whenever the format changes
3981         in an incompatible way.
3982         Also don't GST_ERROR when there is a version mismatch, just
3983         regenerate the registry silently.
3984
3985 2008-03-21  Jan Schmidt  <jan.schmidt@sun.com>
3986
3987         * configure.ac:
3988         Back to development - 0.10.18.1
3989
3990 === release 0.10.18 ===
3991
3992 2008-03-20  Jan Schmidt <jan.schmidt@sun.com>
3993
3994         * configure.ac:
3995           releasing 0.10.18, "So far away"
3996
3997 2008-03-18  Jan Schmidt  <jan.schmidt@sun.com>
3998
3999         * configure.ac:
4000         * win32/common/config.h:
4001         0.10.17.4 pre-release
4002
4003 2008-03-18  Wim Taymans  <wim.taymans@collabora.co.uk>
4004
4005         Patch by: Ole André Vadla Ravnås
4006             <ole dot andre dot ravnas at tandberg dot com>
4007
4008         * docs/gst/gstreamer-sections.txt:
4009         * gst/gstpoll.c: (gst_poll_winsock_error_to_errno),
4010         (gst_poll_update_winsock_event_mask),
4011         (gst_poll_prepare_winsock_active_sets),
4012         (gst_poll_collect_winsock_events), (gst_poll_new), (gst_poll_free),
4013         (gst_poll_add_fd_unlocked), (gst_poll_fd_ctl_write),
4014         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ignored),
4015         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
4016         (gst_poll_check_ctrl_commands), (gst_poll_wait):
4017         * gst/gstpoll.h:
4018         * win32/common/libgstreamer.def:
4019         Add new function gst_poll_fd_ignored() for improved Windows
4020         compatibility.
4021         Various minor fixes and cleanups. See #520808.
4022
4023 2008-03-17  Tim-Philipp Müller  <tim at centricular dot net>
4024
4025         * gst/gstindex.c: (gst_index_entry_free):
4026         * gst/gstindex.h:
4027           Don't free key strings which we don't own. Fixes crash in
4028           gst_index_entry_free() (#522741).
4029
4030         * tests/check/Makefile.am:
4031         * tests/check/gst/.cvsignore:
4032         * tests/check/gst/gstindex.c: (test_index_entries),
4033           (gst_index_suite), (gst_index):
4034           Add unit test for the above.
4035
4036 2008-03-11  Sebastian Dröge  <slomo@circular-chaos.org>
4037
4038         * win32/common/libgstreamer.def:
4039         Remove symbols that were removed recently. Fixes bug #521740.
4040
4041 2008-03-11  Jan Schmidt  <jan.schmidt@sun.com>
4042
4043         * configure.ac:
4044         * win32/common/config.h:
4045         0.10.17.3 pre-release
4046
4047 2008-03-07  Wim Taymans  <wim.taymans@collabora.co.uk>
4048
4049         Patch by: Ole André Vadla Ravnås
4050             <ole dot andre dot ravnas at tandberg dot com>
4051
4052         * docs/gst/gstreamer-sections.txt:
4053         * gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event),
4054         (gst_poll_update_winsock_event_mask), (gst_poll_new),
4055         (gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked),
4056         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
4057         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed),
4058         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
4059         (gst_poll_fd_can_write), (gst_poll_wait),
4060         (gst_poll_set_controllable), (gst_poll_restart),
4061         (gst_poll_set_flushing):
4062         * gst/gstpoll.h:
4063         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
4064         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start),
4065         (gst_net_time_provider_new):
4066         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
4067         * plugins/elements/gstfdsrc.c: (gst_fd_src_start):
4068         * tests/benchmarks/gstpollstress.c: (main):
4069         * tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite):
4070         Remove GstPollMode from the API, it does not make sense to let the
4071         application control this.
4072         Add support for Win32.
4073         Fix the testsuite. Fixes #520671.
4074
4075 2008-03-07  Sebastian Dröge  <slomo@circular-chaos.org>
4076
4077         Patch by: Ole André Vadla Ravnås
4078             <ole dot andre dot ravnas at tandberg dot com>
4079
4080         * gst/gstregistrybinary.c:
4081         Include io.h for write() and close() when building with MSVC. Fixes
4082         bug #520877.
4083
4084 2008-03-07  Stefan Kost  <ensonic@users.sf.net>
4085
4086         * configure.ac:
4087         * gst/gst_private.h:
4088         * gst/gstconfig.h.in:
4089         * gst/gstregistry.h:
4090         * gst/gstregistrybinary.c:
4091         * win32/common/gstconfig.h:
4092           Move registry backend API to private headers where we can. Add
4093           fixme-0.11 comments for the others. Add stubs for the xml backend when
4094           using the binary to ensure they functions exists (they should not be
4095           used though). Fixes #520756.
4096
4097 2008-03-04  Jan Schmidt  <jan.schmidt@sun.com>
4098
4099         * configure.ac:
4100         * win32/common/config.h:
4101         0.10.17.2 prelease
4102
4103 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
4104
4105         * gst/gstregistrybinary.c: (gst_registry_binary_write),
4106         (gst_registry_binary_read_cache):
4107         * gst/gstregistryxml.c: (gst_registry_save):
4108         * gst/gsturi.c: (unescape_string), (gst_uri_has_protocol):
4109         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file):
4110         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4111         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
4112         Switch to using portabl gsize/gssize instead of size_t/ssize_t
4113         Fixes #520152
4114
4115 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
4116
4117         * gst/gstminiobject.c:
4118         Import gst_private.h before any other header that might include other
4119         glib headers. This fixes the build on windows using native compilers.
4120
4121 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
4122
4123         * win32/common/gstconfig.h:
4124           Add here too, just for completeness.
4125
4126 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
4127
4128         * configure.ac:
4129         * gst/gstconfig.h.in:
4130         * gst/gstregistry.h:
4131           Fix broken use of config.h-defined preprocessor directive in a public
4132           header file. Add a corresponding define to gstconfig.h, since we can't
4133           really remove those function declarations from the header file now
4134           (or can we? and why are they there in the first place?).
4135
4136 2008-03-03  Andy Wingo  <wingo@pobox.com>
4137
4138         * tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
4139         the new warning.
4140
4141         * gst/gststructure.c (gst_structure_from_string): Warn if
4142         structure_from_string didn't consume the whole string, but the
4143         caller did not provide an end pointer.
4144
4145 2008-03-01  Tim-Philipp Müller  <tim at centricular dot net>
4146
4147         Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it>
4148
4149         * gst/gstregistryxml.c: (read_string), (load_feature):
4150           Strings allocated by libxml2 should be freed with xmlFree(), not
4151           with g_free(). Fixes issues on windows in certain contexts (#519698).
4152
4153 2008-02-29  Tim-Philipp Müller  <tim at centricular dot net>
4154
4155         * gst/gstinterface.c: (gst_element_implements_interface):
4156           Don't crash if the element supports the interface queried, but does
4157           not implement GstImplementsInterface. Fixes #519584.
4158
4159         * tests/check/Makefile.am:
4160         * tests/check/gst/.cvsignore:
4161         * tests/check/gst/gstinterface.c:
4162           Add unit test for the above.
4163
4164 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4165
4166         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4167         Small doc update.
4168
4169 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4170
4171         * gst/gstsegment.c: (gst_segment_set_seek),
4172         (gst_segment_to_stream_time):
4173         Improve some comment.
4174         Update variables where it makes more sense.
4175
4176 2008-02-29  Rene Stadler  <mail@renestadler.de>
4177
4178         * gst/gsturi.c: (gst_uri_handler_get_protocols):
4179         Use the get_protocols_full vfunc if get_protocols is NULL.  Fixes
4180         URIHandlers implemented using language bindings.
4181
4182 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4183
4184         * gst/gstelementfactory.h:
4185         * tests/check/elements/fakesink.c:
4186         * tests/check/elements/fakesrc.c: (setup_fakesrc):
4187         * tests/check/elements/fdsrc.c: (setup_fdsrc):
4188         * tests/check/elements/filesink.c: (setup_filesink):
4189         * tests/check/elements/filesrc.c: (setup_filesrc):
4190         * tests/check/elements/identity.c: (setup_identity):
4191         * tests/check/elements/tee.c:
4192         * tests/check/generic/sinks.c:
4193         * tests/check/generic/states.c: (setup), (teardown):
4194         * tests/check/gst/gst.c:
4195         * tests/check/gst/gstabi.c:
4196         * tests/check/gst/gstbin.c:
4197         * tests/check/gst/gstbus.c: (pull_messages):
4198         * tests/check/gst/gstcaps.c:
4199         * tests/check/gst/gstelement.c:
4200         * tests/check/gst/gstevent.c:
4201         * tests/check/gst/gstghostpad.c:
4202         * tests/check/gst/gstiterator.c:
4203         * tests/check/gst/gstmessage.c:
4204         * tests/check/gst/gstminiobject.c: (my_foo_init):
4205         * tests/check/gst/gstobject.c: (thread_name_object),
4206         (gst_object_suite):
4207         * tests/check/gst/gstpad.c:
4208         * tests/check/gst/gstplugin.c:
4209         * tests/check/gst/gstpoll.c:
4210         * tests/check/gst/gstquery.c:
4211         * tests/check/gst/gstsegment.c:
4212         * tests/check/gst/gststructure.c:
4213         * tests/check/gst/gstsystemclock.c:
4214         * tests/check/gst/gsttask.c:
4215         * tests/check/gst/gstutils.c:
4216         * tests/check/gst/gstvalue.c:
4217         * tests/check/gst/struct_hppa.h:
4218         * tests/check/gst/struct_i386.h:
4219         * tests/check/gst/struct_ppc32.h:
4220         * tests/check/gst/struct_ppc64.h:
4221         * tests/check/gst/struct_x86_64.h:
4222         * tests/check/libs/adapter.c: (create_and_fill_adapter):
4223         * tests/check/libs/basesrc.c:
4224         * tests/check/libs/controller.c: (GST_START_TEST):
4225         * tests/check/libs/gdp.c:
4226         * tests/check/libs/gstnetclientclock.c:
4227         * tests/check/libs/gstnettimeprovider.c:
4228         * tests/check/libs/libsabi.c:
4229         * tests/check/libs/struct_hppa.h:
4230         * tests/check/libs/struct_i386.h:
4231         * tests/check/libs/struct_ppc32.h:
4232         * tests/check/libs/struct_ppc64.h:
4233         * tests/check/libs/struct_x86_64.h:
4234         * tests/check/pipelines/cleanup.c:
4235         * tests/check/pipelines/simple-launch-lines.c:
4236         * tests/check/pipelines/stress.c:
4237         And correct even more valid sparse warnings.
4238
4239         * win32/common/libgstreamer.def:
4240         Add gst_poll_fd_init to the list of symbols.
4241
4242 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4243
4244         * gst/gstconfig.h.in:
4245         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
4246         * libs/gst/check/gstcheck.c: (gst_check_log_message_func),
4247         (gst_check_log_critical_func), (gst_check_drop_buffers),
4248         (gst_check_element_push_buffer_list):
4249         * libs/gst/controller/gstcontroller.c: (gst_controller_get),
4250         (gst_controller_get_type):
4251         * libs/gst/controller/gsthelper.c: (gst_object_control_properties),
4252         (gst_object_get_controller), (gst_object_get_control_source):
4253         * libs/gst/controller/gstinterpolationcontrolsource.c:
4254         (gst_interpolation_control_source_new):
4255         * libs/gst/controller/gstlfocontrolsource.c:
4256         (gst_lfo_control_source_new):
4257         * libs/gst/dataprotocol/dataprotocol.c:
4258         (gst_dp_event_from_packet_0_2):
4259         * plugins/elements/gstfdsrc.c:
4260         * plugins/elements/gstmultiqueue.c:
4261         * plugins/elements/gsttee.c:
4262         * plugins/elements/gsttypefindelement.c:
4263         * plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
4264         (gst_file_index_add_association):
4265         * plugins/indexers/gstmemindex.c:
4266         * tests/benchmarks/gstpollstress.c: (mess_some_more):
4267         * tests/check/elements/queue.c: (setup_queue):
4268         * tests/check/gst/gstpipeline.c:
4269         * tests/check/libs/collectpads.c: (setup), (teardown),
4270         (gst_collect_pads_suite):
4271         * tests/examples/adapter/adapter_test.c:
4272         * tests/examples/metadata/read-metadata.c: (make_pipeline):
4273         * tests/examples/xml/createxml.c:
4274         * tests/examples/xml/runxml.c:
4275         * tools/gst-inspect.c:
4276         * tools/gst-run.c:
4277         Correct all relevant warnings found by the sparse semantic code
4278         analyzer. This include marking several symbols static, using
4279         NULL instead of 0 for pointers, not using variable sized arrays
4280         on the stack, moving variable declarations to the beginning of
4281         a block and using "foo (void)" instead of "foo ()" for declarations.
4282
4283 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4284
4285         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4286         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4287         Don't reset GstPollFDs, this is not necessary at all.
4288
4289         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4290         (delayed_restart), (delayed_control):
4291         Use GST_POLL_FD_INIT.
4292
4293 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4294
4295         * gst/gstpoll.c: (gst_poll_fd_init):
4296         * gst/gstpoll.h:
4297         Added Since tags.
4298
4299         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4300         Use some more init macros.
4301
4302 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4303
4304         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
4305         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4306         Use init macros and functions.
4307
4308 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4309
4310         * docs/gst/gstreamer-sections.txt:
4311         * gst/gstpoll.c: (gst_poll_fd_init):
4312         * gst/gstpoll.h:
4313         Add INIT macro and _init method for initializing the GstPollFD.
4314
4315 2008-02-28  Sebastian Dröge  <slomo@circular-chaos.org>
4316
4317         * plugins/elements/gstfdsink.c: (gst_fd_sink_start),
4318         (gst_fd_sink_update_fd):
4319         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4320         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4321         (delayed_restart), (delayed_control):
4322         Initialize some uninitialized variables as spotted by valgrind.
4323
4324 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
4325
4326         * tests/benchmarks/Makefile.am:
4327         * tests/benchmarks/gstpollstress.c: (mess_some_more), (run_test),
4328         (main):
4329         Add poll stress test.
4330
4331 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
4332
4333         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4334
4335         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
4336         (gst_fd_sink_start), (gst_fd_sink_stop), (gst_fd_sink_unlock),
4337         (gst_fd_sink_unlock_stop), (gst_fd_sink_update_fd):
4338         * plugins/elements/gstfdsink.h:
4339         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
4340         (gst_fd_src_start), (gst_fd_src_stop), (gst_fd_src_unlock),
4341         (gst_fd_src_unlock_stop), (gst_fd_src_create),
4342         (gst_fd_src_uri_set_uri):
4343         * plugins/elements/gstfdsrc.h:
4344         Port to GstPoll. See #505417.
4345
4346 2008-02-27  Jan Schmidt  <jan.schmidt@sun.com>
4347
4348         * win32/common/libgstreamer.def:
4349         Add new gst_poll_ symbols to win32 defs.
4350
4351 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4352
4353         * docs/libs/gstreamer-libs-sections.txt:
4354         * libs/gst/net/gstnetclientclock.c:
4355         (gst_net_client_clock_class_init), (gst_net_client_clock_init),
4356         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4357         (gst_net_client_clock_thread), (gst_net_client_clock_start),
4358         (gst_net_client_clock_stop), (gst_net_client_clock_new):
4359         * libs/gst/net/gstnetclientclock.h:
4360         * libs/gst/net/gstnettimeprovider.c:
4361         (gst_net_time_provider_class_init), (gst_net_time_provider_init),
4362         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4363         (gst_net_time_provider_start), (gst_net_time_provider_stop),
4364         (gst_net_time_provider_new):
4365         * libs/gst/net/gstnettimeprovider.h:
4366         Use a private stuct to not break ABI.
4367
4368 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4369
4370         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4371
4372         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_init),
4373         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4374         (gst_net_client_clock_thread), (gst_net_client_clock_start),
4375         (gst_net_client_clock_stop), (gst_net_client_clock_new):
4376         * libs/gst/net/gstnetclientclock.h:
4377         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_init),
4378         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4379         (gst_net_time_provider_start), (gst_net_time_provider_stop),
4380         (gst_net_time_provider_new):
4381         * libs/gst/net/gstnettimeprovider.h:
4382         Massive code removal and cleanups because of GstPoll.
4383         Fixes #505417.
4384
4385 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4386
4387         * configure.ac:
4388         Add checks for poll, ppoll and pselect.
4389
4390         * docs/gst/gstreamer-docs.sgml:
4391         * docs/gst/gstreamer-sections.txt:
4392         Add docs for GstPoll.
4393
4394         * gst/Makefile.am:
4395         * gst/gst.h:
4396         * gst/gstpoll.c: (find_index), (selectable_fds),
4397         (pollable_timeout), (choose_mode), (pollfd_to_fd_set),
4398         (fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
4399         (gst_poll_set_mode), (gst_poll_get_mode),
4400         (gst_poll_add_fd_unlocked), (gst_poll_add_fd),
4401         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
4402         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
4403         (gst_poll_fd_has_closed), (gst_poll_fd_has_error),
4404         (gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
4405         (gst_poll_fd_can_write), (gst_poll_wait),
4406         (gst_poll_set_controllable), (gst_poll_restart),
4407         (gst_poll_set_flushing):
4408         * gst/gstpoll.h:
4409         Add generic poll abstraction. We ideally don't want to have this in core
4410         here but in glib intead...
4411         This code will be used in various network elements and ultimately for
4412         the nanosecond precision monotonic clock (that's why it's here in core).
4413         It'll allow us to implement cancelable socket operations for windows too.
4414
4415         * tests/check/Makefile.am:
4416         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4417         (delayed_stop), (delayed_restart), (delayed_flush),
4418         (delayed_control), (gst_poll_suite):
4419         Add GstPoll unit test.
4420
4421 2008-02-25  Tim-Philipp Müller  <tim at centricular dot net>
4422
4423         * gst/gstfilter.c:
4424           Improve documentation of gst_filter_run(). Fixes #518627.
4425
4426 2008-02-23  Tim-Philipp Müller  <tim at centricular dot net>
4427
4428         * docs/README:
4429           Add a few lines about the new 'check-inspected-versions' target.
4430
4431 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
4432
4433         * tests/check/gst/gstevent.c:
4434           Add qos to the event test. Rename tcase/tsuite; is not only about
4435           custom events.
4436
4437 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
4438
4439         * plugins/elements/gstqueue.c:
4440           Ensure that buffer metadata is writeable, before modifying. Spotted by
4441           Mike.
4442
4443 2008-02-20  Stefan Kost  <ensonic@users.sf.net>
4444
4445         * plugins/elements/gstqueue.c:
4446         * plugins/elements/gstqueue.h:
4447           When dropping buffers in leaky modes, mark next buffers we sent as
4448           DISCONT.
4449
4450 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
4451
4452         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region):
4453           Also, if mmap() fails that would be a READ error, not OPEN_READ.
4454
4455 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
4456
4457         * plugins/elements/Makefile.am:
4458         * plugins/elements/gstbufferstore.c:
4459         * plugins/elements/gstbufferstore.h:
4460         * plugins/elements/gsttypefindelement.h:
4461           Remove GstBufferStore, no idea why we were still building it.
4462           It's not used anywhere and superseded by GstAdapter.
4463
4464         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4465           (gst_file_src_create_mmap):
4466         * plugins/indexers/gstfileindex.c: (gst_file_index_add_association):
4467           Printf format fixes for 64-bit integers.
4468
4469 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4470
4471         * configure.ac:
4472         Don't set GST_CACHE_DIR and allow to set it by a configure parameter.
4473         We're not in 0.8 times anymore.
4474
4475 2008-02-19  Jan Schmidt  <Jan.Schmidt@sun.com>
4476
4477         * libs/gst/check/gstcheck.c: (gst_check_drop_buffers),
4478         (gst_check_element_push_buffer_list):
4479         * libs/gst/check/gstcheck.h:
4480         Make the declaration in the header for
4481         gst_check_element_push_buffer_list match the implementation.
4482
4483         Fix up spelling, grammar and wording of the documentation in a few
4484         places, and add the Since keyword to new API functions.
4485         Use g_list_delete_link instead of g_list_remove in
4486         gst_check_drop_buffers, since it's immeasurably more efficient.
4487
4488         * tests/check/elements/fakesrc.c: (GST_START_TEST):
4489         Use new gst_check_drop_buffers function where appropriate.
4490
4491         * win32/common/libgstbase.def:
4492         * win32/common/libgstreamer.def:
4493         Add new symbols gst_collect_pads_take_buffer, 
4494         gst_collect_pads_read_buffer, gst_index_set_resolver_full to the
4495         exports
4496
4497         Changelog surgery to add API keyword to new gst_check API.
4498
4499 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4500
4501         * gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer),
4502         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra):
4503         Update pre-generated flex files with flex 2.3.34.
4504
4505 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4506
4507         * gst/gstminiobject.c:
4508           Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
4509           friendly to subclasses and not require them to know all internals
4510           of their parent class.
4511
4512 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
4513
4514         * docs/libs/gstreamer-libs-sections.txt:
4515         * libs/gst/base/gstcollectpads.c:
4516         * libs/gst/base/gstcollectpads.h:
4517           Add sub-buffer functions to collectpads. Fixes #516187.
4518           API: gst_collect_pads_take_buffer(), gst_collect_pads_read_buffer()
4519
4520 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
4521
4522         * gst/gstbuffer.c:
4523           Copy selected buffer-flags when creating subbuffers.
4524           Fixes #516395.
4525
4526 2008-02-12  Sebastian Dröge  <slomo@circular-chaos.org>
4527
4528         * gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
4529         * gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
4530         * gst/gstmessage.c: (gst_message_class_init),
4531         (gst_message_finalize):
4532         * gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
4533         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
4534         (gst_mmap_buffer_finalize):
4535         Properly chain up finalize functions to the parent class.
4536
4537 2008-02-11  Wim Taymans  <wim.taymans@collabora.co.uk>
4538
4539         Patch by: Siavash Safi <siavash dot safi at gmail dot com>
4540
4541         * gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
4542         (gst_index_set_resolver_full):
4543         * gst/gstindex.h:
4544         Add new function with option to dispose of user_data in resolver.
4545         Actually call the dispose function when finalizing the object and not
4546         just when changing the resolver/filter.
4547         API: GstIndex::gst_index_set_resolver_full()
4548
4549         * docs/gst/gstreamer-sections.txt:
4550         Add new function to docs. Fixes #515469.
4551
4552 2008-02-11  Sebastian Dröge  <slomo@circular-chaos.org>
4553
4554         * gst/gstindex.c: (gst_index_finalize):
4555         Chain up finalize to the parent class. Fixes leaking the GstObject
4556         name and other things.
4557
4558 2008-02-08  Jan Schmidt  <jan.schmidt@sun.com>
4559
4560         * configure.ac:
4561         Make DISABLE_DEPRECATED defined *only* during CVS, not during
4562         pre-releases or releases.
4563
4564         * docs/faq/gst-uninstalled:
4565         Add gst-plugins-gl
4566
4567         * docs/random/release:
4568         Change one of the steps - we only upload core & base to Gnome FTP
4569
4570 2008-02-06  Stefan Kost  <ensonic@users.sf.net>
4571
4572         * gst/gstconfig.h.in:
4573           Add 'id' for example.
4574
4575         * gst/gstpad.c:
4576         * gst/gstutils.c:
4577         * plugins/elements/gstfdsink.c:
4578           Link to signals. Doc and comment fixes.
4579
4580 2008-02-05  Tim-Philipp Müller  <tim at centricular dot net>
4581
4582         * gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
4583         * gst/gstpluginfeature.h: (GstPluginFeatureClass):
4584           Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
4585           unused and unimplemented; finally, it is plugin features, not
4586           plugins, that have ranks.
4587           
4588 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
4589
4590         * gst/gstpluginfeature.h:
4591           Clarify GstRank range docs.
4592
4593 2008-02-05  David Schleef  <ds@schleef.org>
4594
4595         * gst/gst.c: Add a separate gst_deinitialized that prevents
4596           gst_init() from being called after gst_deinit().  Fixes #509559
4597
4598 2008-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
4599
4600         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
4601         (gst_bin_class_init):
4602         * gst/gstelement.c: (gst_element_base_class_init),
4603         (gst_element_class_add_pad_template):
4604         * gst/gstpadtemplate.c: (gst_pad_template_init):
4605         * gst/gstpipeline.c: (gst_pipeline_get_type),
4606         (gst_pipeline_base_init), (gst_pipeline_class_init):
4607         * libs/gst/base/gstbasesink.c:
4608         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4609         (gst_base_src_base_init), (gst_base_src_class_init):
4610         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4611         (gst_capsfilter_class_init):
4612         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4613         (gst_fake_sink_class_init):
4614         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4615         (gst_fake_src_class_init):
4616         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4617         (gst_fd_sink_class_init):
4618         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4619         (gst_fd_src_class_init):
4620         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4621         (gst_file_sink_class_init):
4622         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4623         (gst_file_src_class_init):
4624         * plugins/elements/gstidentity.c: (gst_identity_base_init),
4625         (gst_identity_class_init):
4626         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4627         (gst_multi_queue_class_init):
4628         * plugins/elements/gstqueue.c: (gst_queue_base_init),
4629         (gst_queue_class_init):
4630         * plugins/elements/gsttee.c: (gst_tee_base_init),
4631         (gst_tee_class_init):
4632         * plugins/elements/gsttypefindelement.c:
4633         (gst_type_find_element_base_init),
4634         (gst_type_find_element_class_init):
4635         * tests/check/gst/gstelement.c: (gst_element_suite):
4636         Revert previous changes to the behaviour of GstPadTemplates, etc
4637         and the possiblity to call them in class_init as it breaks too
4638         many elements. Reopens bug #491501.
4639
4640         Should be applied again for 0.11, thus added a few FIXME 0.11 at
4641         several places.
4642
4643 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
4644
4645         * tools/gst-launch.c:
4646         Dump one graph per pipeline state-change and state change name
4647         (if GST_DEBUG_DUMP_DOT_DIR is set).
4648
4649 2008-02-04  Thijs Vermeir  <thijsvermeir@gmail.com>
4650
4651         * gst/gstpad.c:
4652         * tests/check/gst/gstpad.c:
4653         Be sure that we have a new copy of the caps and not
4654         reffed caps from a template
4655
4656 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
4657
4658         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
4659         * gst/gstpipeline.c: (gst_pipeline_get_type),
4660         (gst_pipeline_class_init):
4661         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
4662         (gst_base_sink_class_init):
4663         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4664         (gst_base_src_class_init):
4665         * libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
4666         (gst_base_transform_class_init):
4667         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4668         (gst_collect_pads_class_init):
4669         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
4670         * libs/gst/net/gstnettimeprovider.c:
4671         (gst_net_time_provider_base_init),
4672         (gst_net_time_provider_class_init):
4673         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4674         (gst_capsfilter_class_init):
4675         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4676         (gst_fake_sink_class_init):
4677         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4678         (gst_fake_src_class_init):
4679         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4680         (gst_fd_sink_class_init):
4681         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4682         (gst_fd_src_class_init):
4683         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4684         (gst_file_sink_class_init):
4685         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4686         (gst_file_src_class_init):
4687         * plugins/elements/gstidentity.c: (gst_identity_base_init),
4688         (gst_identity_class_init):
4689         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4690         (gst_multi_queue_class_init):
4691         * plugins/elements/gstqueue.c: (gst_queue_base_init),
4692         (gst_queue_class_init):
4693         * plugins/elements/gsttee.c: (gst_tee_base_init),
4694         (gst_tee_class_init):
4695         * plugins/elements/gsttypefindelement.c:
4696         (gst_type_find_element_base_init),
4697         (gst_type_find_element_class_init):
4698         Don't use base_init where not absolutely necessary. For example it's
4699         not necessary anymore for adding pad templates or setting element
4700         details.
4701
4702         Leave empty base_init functions in several places as GST_BOILERPLATE
4703         still defines and uses them.
4704
4705 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
4706
4707         * gst/gstelement.c: (gst_element_base_class_init),
4708         (gst_element_class_add_pad_template):
4709         * gst/gstpadtemplate.c:
4710         Make it possible (and recommended) to set element details and add
4711         pad templates in the class_init functions by copying the details/pad
4712         templates in GstElement's base_init.
4713
4714         Also make it possible to replace existing pad templates by adding
4715         a new one with the same name. This was done in a hackish fashion
4716         in same elements before already.
4717
4718         Don't reference pad templates that are added a second time. A
4719         new pad template has a refcount of one and is not floating anymore
4720         and to be owned by the element's class. Make this more explicit by
4721         mentioning it in the docs of gst_element_class_add_pad_template().
4722
4723         These changes are backwards compatible. Fixes bug #491501.
4724
4725         * tests/check/gst/gstelement.c:
4726         Add unit test for setting element details, adding pad templates and
4727         replacing them in a subclass.
4728
4729 2008-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
4730
4731         * tools/gst-inspect.c: (print_interfaces),
4732         (print_element_properties_info), (print_pad_info),
4733         (print_signal_info), (print_element_info):
4734         Fix a few memory leaks.
4735
4736 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
4737
4738         * docs/libs/gstreamer-libs-sections.txt:
4739         * libs/gst/check/gstcheck.c:
4740         * libs/gst/check/gstcheck.h:
4741         Add more functions for unit testing: gst_check_drop_buffers,
4742         gst_check_caps_equal, gst_check_element_push_buffer_list,
4743         gst_check_element_push_buffer
4744         API: gst_check_drop_buffers
4745         API: gst_check_caps_equal
4746         API: gst_check_element_push_buffer_list
4747         API: gst_check_element_push_buffer
4748
4749 2008-02-01  Julien Moutte  <julien@fluendo.com>
4750
4751         * docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
4752         * gst/gstindex.c: (gst_index_class_init), (gst_index_free_writer),
4753         (gst_index_finalize), (gst_index_entry_free),
4754         (gst_index_add_association): Fix memory leaks.
4755         * gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
4756         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
4757         (gst_mem_index_free_format), (gst_mem_index_free_id),
4758         (gst_mem_index_finalize): Fix memory leaks.
4759         * win32/common/config.h: Updated to CVS HEAD.
4760
4761 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
4762
4763         * docs/README:
4764           Some more details about how the plugin docs works.
4765
4766         * docs/plugins/gstreamer-plugins-sections.txt:
4767           Whitespace cleanup.
4768
4769 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
4770
4771         * gst/parse/grammar.tab.pre.c:
4772         * gst/parse/grammar.tab.pre.h:
4773         * gst/parse/grammar.y:
4774         * gst/parse/lex._gst_parse_yy.pre.c:
4775           Add delayed set-property. This allows to set properties on dynamicaly
4776           created objects (pads in videomxer). Fixes #509391.
4777
4778 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
4779
4780         * gst/gstutils.c:
4781         Check if caps are not NULL (fix bug #510194)
4782
4783 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
4784
4785         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop),
4786         (gst_base_sink_get_position_paused):
4787         Add fixme regarding EOS in pull mode.
4788         Fix position reporting in PAUSED for negative rates.
4789
4790 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
4791
4792         * gst/gstminiobject.c: (gst_mini_object_replace):
4793         When replacing a miniobject, do a quick equality check first so that we
4794         can avoid a ref/unref pair.
4795
4796 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
4797
4798         * docs/design/part-synchronisation.txt:
4799         Update some docs.
4800
4801         * docs/plugins/Makefile.am:
4802         * docs/plugins/gstreamer-plugins-docs.sgml:
4803         * docs/plugins/gstreamer-plugins-sections.txt:
4804         * plugins/elements/gstmultiqueue.c:
4805         Add multiqueue to the docs.
4806
4807 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4808
4809         * configure.ac:
4810           Back to CVS
4811
4812 === release 0.10.17 ===
4813
4814 2008-01-30  Jan Schmidt <jan.schmidt@sun.com>
4815
4816         * configure.ac:
4817           releasing 0.10.17, "Due Negligence"
4818
4819 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4820
4821         * gst/gstutils.c:
4822         Revert caps != NULL check temporarily for 0.10.17 release.
4823
4824 2008-01-30  Thijs Vermeir  <thijsvermeir@gmail.com>
4825
4826         * gst/gstutils.c:
4827         Check if caps are not NULL (fix bug #510194)
4828
4829 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4830
4831         * gst/gstutils.c:
4832         Fix compilation on systems that have posix timers but no
4833         monotonic clock.
4834         Fixes: #512715
4835         Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
4836         dot net>
4837
4838 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4839
4840         * tools/gst-inspect.c:
4841         Revert previous commit in preparation for an impromptu 0.10.17 release
4842
4843 2008-01-29  Sebastian Dröge  <slomo@circular-chaos.org>
4844
4845         * tools/gst-inspect.c: (print_interfaces),
4846         (print_element_properties_info), (print_pad_info),
4847         (print_signal_info), (print_element_info):
4848         Fix a few memory leaks.
4849
4850 2008-01-28  Jan Schmidt  <jan.schmidt@sun.com>
4851
4852         * configure.ac:
4853         Back to CVS
4854
4855 === release 0.10.16 ===
4856
4857 2008-01-28  Jan Schmidt <thaytan@noraisin.net>
4858
4859         * configure.ac:
4860           releasing 0.10.16, "Special Dispensation"
4861
4862 2008-01-24  Tim-Philipp Müller  <tim at centricular dot net>
4863
4864         * configure.ac:
4865           Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for
4866           _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes configure
4867           not fail when trying to crosscompile on OpenEmbedded (#511750).
4868
4869 2008-01-20  Sebastian Dröge  <slomo@circular-chaos.org>
4870
4871         * docs/manuals.mak:
4872         Use $(MAKE) instead of make to fix the build if GNU make is
4873         called different. Fixes bug #510747.
4874
4875 2008-01-20  Tim-Philipp Müller  <tim at centricular dot net>
4876
4877         * gst/gstplugin.c: (_gst_plugin_initialize):
4878           Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
4879           again, which I broke two commits ago when changing the API
4880           of gst_plugin_register_static(): the g_list_foreach() in
4881           _gst_plugin_register_static still assumed the old function
4882           signature and would therefore fail (re-fixes #510187).
4883
4884         * gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
4885           (_gst_plugin_register_static), (gst_plugin_register_static):
4886           Revert the (technically correct) change to call g_thread_init() from
4887           the pre-main() constructor. This will break programs which call
4888           g_thread_init() without an if (!g_thread_supported()) guard in their
4889           main function. We could just blame it on GLib or the application, but
4890           it's probably best to just avoid this altogether and simply not use
4891           any GLib functions here and use plain old malloc() with a simple
4892           array to store the plugins to register later when gst_init() is
4893           finally called (re-fixes #510187).
4894
4895         * tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
4896           (GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
4897           (plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
4898           (GST_START_TEST), (gst_plugin_suite):
4899           Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
4900           works.
4901
4902 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
4903
4904         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
4905           Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
4906           This makes gtk-doc complain, but results in slightly better
4907           compiler errors. The old _gst_plugin_register_static() is
4908           still guarded, so there'll be a compiler warning about that
4909           instead. Fixes #510187 too.
4910
4911 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
4912
4913         * gst/gst.c: (init_post):
4914         * gst/gstplugin.c: (_gst_plugin_register_static),
4915           (gst_plugin_register_static), (_gst_plugin_initialize):
4916         * gst/gstplugin.h: (GstPluginFilter):
4917           Change API of gst_plugin_register_static() to not take
4918           a GstPluginDesc, but rather just take all the arguments
4919           in a GstPluginDesc directly. This is more intuitive and
4920           avoids certain mistakes when porting code from
4921           GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
4922           Fixes #510187.
4923
4924         * tests/check/gst/gstplugin.c:
4925           Fix up for changed API.
4926
4927 2008-01-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4928
4929         * docs/faq/legal.xml:
4930           Update FAQ, Totem actually has an exception these days.
4931
4932 2008-01-14  Jan Schmidt  <jan.schmidt@sun.com>
4933
4934         * win32/common/libgstreamer.def:
4935         Add new API declarations
4936
4937 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
4938
4939         * gst/gstminiobject.c:
4940           Spelling fixes for the API docs.
4941
4942 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
4943
4944         * libs/gst/base/gstbasetransform.c:
4945           Fix long property description for QoS.
4946
4947 2008-01-12  Jan Schmidt  <Jan.Schmidt@sun.com>
4948
4949         * gst/gst.c:
4950         _gst_trace_on is already provided by gsttrace.h, no need to declare
4951         it ourselves.
4952
4953         * docs/libs/gstreamer-libs-sections.txt:
4954         Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
4955         and remove strange tcase_add_test which is outputting a warning.
4956
4957         * libs/gst/check/gstcheck.c:
4958         * libs/gst/check/gstcheck.h:
4959         Properly declare 'buffers', 'check_cond', 'check_mutex' extern
4960         and define them in gstcheck.c instead of having every .c file whcih
4961         includes gstcheck.h be defining its own copy and relying on symbol
4962         interposing to marry them all, which doesn't work on Solaris.
4963
4964         * tests/check/elements/identity.c: (GST_START_TEST):
4965         Don't define 'buffers' locally, it comes from libgstcheck.
4966
4967         * tests/check/generic/sinks.c: (send_buffer):
4968         Fix type of variable (GstFlowReturn, not GstStateChangeReturn)
4969
4970         * tests/check/gst/gststructure.c: (GST_START_TEST):
4971         * tests/check/gst/gstsystemclock.c: (GST_START_TEST):
4972         * tests/check/gst/gstutils.c: (GST_START_TEST):
4973         * tests/check/gst/gstvalue.c: (GST_START_TEST):
4974         Add a bunch of casts to make various constants fit the types
4975         they're being assigned to.
4976
4977 2008-01-10  Stefan Kost  <ensonic@users.sf.net>
4978
4979         * gst/gstchildproxy.c:
4980           Improve docs and add some ideas for making this more general-purpose.
4981
4982 2008-01-10  Tim-Philipp Müller  <tim at centricular dot net>
4983
4984         * gst/gst_private.h: (GST_CAT_TYPES):
4985           Add GST_CAT_TYPES, for consistency, and so that the other
4986           debug categories don't make fun of it. Spotted by Saur on IRC.
4987
4988 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
4989
4990         * gst/parse/Makefile.am:
4991           Move types.h from EXTRA_DIST to noinst_HEADERS.
4992
4993 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
4994
4995         * autogen.sh:
4996           Add -Wno-portability to the automake parameters to stop warnings
4997           about GNU make extensions being used. We require GNU make in almost
4998           every Makefile anyway.
4999
5000         * configure.ac:
5001           Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
5002           at the same time is required for per target flags.
5003
5004 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5005
5006         * gst/gstmacros.h:
5007           Include glib/gmacros.h for G_BEGIN_DECLS. Check if
5008           __GNUC__ is defined before using it.
5009
5010 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5011
5012         * docs/gst/gstreamer-sections.txt:
5013         * gst/gst.c: (init_post):
5014         * gst/gstplugin.c: (_gst_plugin_register_static),
5015           (gst_plugin_register_static), (_gst_plugin_initialize),
5016           (gst_plugin_register_func):
5017         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
5018           API: add gst_plugin_register_static() and deprecate
5019           GST_PLUGIN_DEFINE_STATIC, since it's not portable
5020           (#498924).
5021           Also, in _gst_plugin_register_static(), make sure to call
5022           g_thread_init() before calling GLib functions such as
5023           g_list_append() if we're not initialised yet, since that
5024           may lead to random crashes with older GSlice/GLib versions.
5025
5026         * tests/check/gst/gstplugin.c:
5027           Adapt unit test to above changes.
5028
5029 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5030
5031         * gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
5032         * gst/gstcaps.c: (gst_caps_to_string):
5033         * gst/gststructure.c: (GST_ASCII_IS_STRING),
5034           (priv_gst_structure_append_to_gstring), (gst_structure_to_string):
5035           Yet another gratuitous GString micro-optimisation: add a (private)
5036           function that serialises a structure appending to an existing
5037           GString, so that when we serialise caps we don't need to alloc+free
5038           a throwaway GString for each structure (each of which also entailing
5039           multiple reallocs on the way); also use g_string_sized_new() in
5040           various places with an approximate string length to avoid reallocs
5041           within GString. See #500143.
5042
5043 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5044
5045         * gst/gststructure.c: (gst_structure_id_set_value):
5046           Always check UTF-8 conformance of structure strings and not only
5047           if the debugging system is enabled; reasoning: the behaviour of
5048           the actual code shouldn't really change depending on whether the
5049           debugging system is enabled or not (#508291).
5050
5051 2008-01-09  Stefan Kost  <ensonic@users.sf.net>
5052
5053         * Makefile.am:
5054           Remove old coverage target in favour of "make lcov".
5055
5056 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
5057
5058         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
5059         (gst_base_src_loop):
5060         The start segment for reverse playback goes from start to last_stop.
5061
5062 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
5063
5064         Patch by: Peter Kjellerstedt <pkj axis com>
5065
5066         * gst/gstclock.h:
5067         Cast the results from the timeval/spec_to_time macros to what the
5068         docs say it casts to, a GstClockTime. fixes #508175.
5069
5070 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
5071
5072         * gst/gstbuffer.c:
5073         Update some comments.
5074
5075         * tools/gst-inspect.c: (print_element_properties_info):
5076         Improve printing of flags.
5077
5078 2008-01-08  Tim-Philipp Müller  <tim at centricular dot net>
5079
5080         * libs/gst/base/gstbasetransform.c:
5081           (gst_base_transform_transform_size):
5082           Print element name with g_warning() if there's a problem
5083           with the unit size.
5084
5085 2008-01-07  David Schleef  <ds@schleef.org>
5086
5087         Patch by: Damien Lespiau <damien.lespiau@gmail.com>
5088
5089         * libs/gst/controller/gstcontroller.h:
5090         * libs/gst/controller/gstcontrolsource.h:
5091         * libs/gst/controller/gstinterpolationcontrolsource.h:
5092         * libs/gst/controller/gstlfocontrolsource.h:
5093         * libs/gst/dataprotocol/dataprotocol.h:
5094           Fix empty prototypes.  Fixes bug #507957.
5095
5096 2008-01-07  David Schleef  <ds@schleef.org>
5097
5098         * docs/faq/dependencies.xml: Fix typo.
5099
5100 2008-01-07  Wim Taymans  <wim.taymans@collabora.co.uk>
5101
5102         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek),
5103         (gst_base_src_loop):
5104         Don't update the last_stop position in do_seek, that's the position we
5105         did a seek to.
5106         Read backwards when we have a negative rate.
5107
5108         * tests/check/elements/filesrc.c: (event_func), (wait_eos),
5109         (setup_filesrc), (cleanup_filesrc), (GST_START_TEST),
5110         (filesrc_suite):
5111         Add check for reverse reading.
5112
5113 2008-01-07  Tim-Philipp Müller  <tim at centricular dot net>
5114
5115         Patch by: Alexis Ballier <aballier at gentoo org>
5116
5117         * tests/check/gst/gstabi.c:
5118         * tests/check/gst/struct_ppc64.h:
5119         * tests/check/libs/libsabi.c:
5120         * tests/check/libs/struct_ppc64.h:
5121           Decide which header to include based on the userland ABI target
5122           and not the kernel/cpu. Fix up structure sizes of ppc64 header
5123           for 64-bit userland (#503590).  Might need something similar for
5124           x86 too.
5125
5126 2008-01-05  Tim-Philipp Müller  <tim at centricular dot net>
5127
5128         * gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
5129           Log the reason why fopen fails in addition to the fact that it failed.
5130           
5131 2008-01-04  Sebastian Dröge  <slomo@circular-chaos.org>
5132
5133         * gst/parse/parse.l:
5134         Use "%option never-interactive" to prevent useless calls to isatty()
5135         on every input when parsing. Also use "%option noinput" to not define
5136         the static input/yyinput functions which we don't use anyway. This
5137         removes a compiler warning with gcc 4.3 and saves some bytes in the
5138         library.
5139         
5140         * gst/parse/lex._gst_parse_yy.pre.c:
5141         Regenerated for the above change.
5142
5143 2008-01-04  Wim Taymans  <wim.taymans@collabora.co.uk>
5144
5145         * gst/gstpad.c: (fixate_value):
5146         Don't crash when trying to fixate and empty list.
5147         Fixes #506643.
5148
5149 2008-01-03  Sebastian Dröge  <slomo@circular-chaos.org>
5150
5151         * docs/faq/gst-uninstalled:
5152         Clarify the comments to make the usage of this script and what it
5153         does easier to understand.
5154
5155 2008-01-01  Thijs Vermeir  <thijsvermeir@gmail.com>
5156
5157         * tools/gst-plot-timeline.py:
5158         Add more options to gst-plot-timeline
5159
5160 2007-12-31  Wim Taymans  <wim.taymans@collabora.co.uk>
5161
5162         * docs/design/part-synchronisation.txt:
5163         Some more info on how the stream_time in GstBaseSink is done.
5164
5165 2007-12-30  Tim-Philipp Müller  <tim at centricular dot net>
5166
5167         * tests/check/generic/sinks.c: (gst_sinks_suite):
5168           Put back the tcase_set_timeout(), apparently it's needed after
5169           all; fix it up in a way that makes things work with valgrind too.
5170
5171 2007-12-30  Thijs Vermeir  <thijsvermeir@gmail.com>
5172
5173         * gst/gstdebugutils.c:
5174           Add warning when failed to open file for writing.
5175
5176 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
5177
5178         Based on patch by: Laurent Glayal  <spglegle yahoo fr>
5179
5180         * gst/gstvalue.c: (gst_value_is_fixed):
5181           Optimisation: bail out of the loop as early as possible (#500143).
5182
5183 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
5184
5185         * gst/gstcaps.c: (gst_caps_to_string):
5186         * gst/gstinfo.c: (gst_debug_construct_term_color):
5187         * gst/gstparse.c: (gst_parse_launchv):
5188         * gst/gstutils.c: (gst_util_dump_mem):
5189         * gst/gstvalue.c: (gst_value_serialize_any_list),
5190           (gst_value_transform_any_list_string):
5191           Bunch of gratuitous nano-optimisations.
5192
5193 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
5194
5195         * tests/check/generic/sinks.c: (async_done_func),
5196           (async_done_eos_func):
5197           Fix leak in unit test (bus sync handler must unref the message
5198           if it returns GST_BUS_DROP). Don't fiddle with the default test
5199           timeout, this is smaller than the current preconfigured value
5200           via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
5201           because it overrides the value specified in CK_DEFAULT_TIMEOUT.
5202
5203 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
5204
5205         Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5206
5207         * configure.ac:
5208         Check for stdio_ext.h for the filesink changes.
5209
5210         * plugins/elements/gstfilesink.c: (buffer_mode_get_type),
5211         (gst_file_sink_class_init), (gst_file_sink_init),
5212         (gst_file_sink_dispose), (gst_file_sink_set_property),
5213         (gst_file_sink_get_property), (gst_file_sink_open_file),
5214         (gst_file_sink_close_file):
5215         * plugins/elements/gstfilesink.h:
5216         Add two properties to control the buffering mode and size.
5217         API: GstFileSink::buffer-mode
5218         API: GstFileSink::buffer-size
5219         Fixes #500150.
5220
5221 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
5222
5223         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
5224         Add some more docs to explain why a FIXME was wrongly added. 
5225
5226 2007-12-22  Sebastian Dröge  <slomo@circular-chaos.org>
5227
5228         * gst/gstobject.c:
5229           Fix typo in the gst_object_{ref,unref} documentation.
5230
5231 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
5232
5233         * tests/check/libs/controller.c:
5234         * tests/check/libs/typefindhelper.c:
5235         * tests/check/pipelines/parse-launch.c:
5236           Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
5237           going to be deprecated (see #498924).
5238
5239 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
5240
5241         * gst/gsttypefind.c: (gst_type_find_register):
5242           Make gst_type_find_register work for static typefind functions,
5243           ie. allow passing plugin == NULL (prerequisite for #498924).
5244
5245         * gst/gstelementfactory.c: (gst_element_register):
5246           Small docs addition.
5247
5248 2007-12-21  Wim Taymans  <wim.taymans@collabora.co.uk>
5249
5250         * gst/gstpad.c: (gst_pad_dispose):
5251         Really unlink the peer pad instead of setting the peer pointer to NULL
5252         when we dispose the pad.
5253         This correctly calls the unlink functions and makes sure that the peer
5254         does not have a handle to invalid memory. See #504671.
5255
5256         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
5257         Add testsuite for above case.
5258
5259 2007-12-20  Tim-Philipp Müller  <tim at centricular dot net>
5260
5261         Patch by: Peter Kjellerstedt <pkj axis com>
5262
5263         * libs/gst/check/gstcheck.h:
5264           Fix detection of the check version we're compiling against (would
5265           otherwise break if check goes v0.10.0); correctly report the
5266           name of the failed test again in case of failure, instead of
5267           just 'tf' (fixes #504499).
5268
5269 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
5270
5271         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
5272         (gst_base_src_get_range), (gst_base_src_pad_get_range),
5273         (gst_base_src_loop), (gst_base_src_set_flushing),
5274         (gst_base_src_change_state):
5275         Allow sending EOS to the source to make it send out an EOS event from
5276         the streaming thread.
5277         Update docs and deprecate the old NULL/READY shutdown method.
5278
5279         * tests/check/libs/basesrc.c: (GST_START_TEST),
5280         (gst_basesrc_suite):
5281         Add unit test for controlled shutdown.
5282
5283 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
5284
5285         * docs/design/part-synchronisation.txt:
5286         Small updates.
5287
5288         * gst/gstsegment.c: (gst_segment_set_seek),
5289         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
5290         (gst_segment_to_running_time):
5291         The seek format can be different from the segment format when the start
5292         and stop values are not to be updated, when we only do a rate change for
5293         example.
5294
5295         * tests/check/gst/gstsegment.c: (GST_START_TEST),
5296         (gst_segment_suite):
5297         Add a testcase for the rate-only seeks, checking that the format is
5298         correctly ignored when start and stop are not updated.
5299
5300 2007-12-18  Sebastian Dröge  <slomo@circular-chaos.org>
5301
5302         Patch by: Matthias Bolte <photon at mail dot upb dot de>
5303
5304         * win32/vs8/grammar.vcproj:
5305         * win32/vs8/libgstcontroller.vcproj:
5306         * win32/vs8/libgstreamer.vcproj:
5307         Fix compilation with VS8 and include some missing files.
5308
5309 2007-12-18  Tim-Philipp Müller  <tim at centricular dot net>
5310
5311         * gst/gsttaglist.c:
5312           Small docs addition: mention that the strings returned by
5313           gst_tag_list_get_string*() are in UTF-8 encoding.
5314
5315 2007-12-17  Tim-Philipp Müller  <tim at centricular dot net>
5316
5317         * Makefile.am:
5318           The check-exports stuff moved to common/win32.mak, so include that.
5319
5320 2007-12-17  Wim Taymans  <wim.taymans@collabora.co.uk>
5321
5322         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
5323         (gst_base_src_perform_seek), (gst_base_src_get_range),
5324         (gst_base_src_set_playing), (gst_base_src_change_state):
5325         Make _wait_playing() not check any variables so that we can call this
5326         function from subclasses. Move the checks elsewhere similar to
5327         _wait_preroll() in basesink.
5328         Add some debugging.
5329         Only signal the LIVE cond when we are going back to PLAYING.
5330
5331 2007-12-16  Tim-Philipp Müller  <tim at centricular dot net>
5332
5333         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
5334           Use g_remove() and g_rename(). Check result of g_rename(), and
5335           don't leak the open file descriptor if we error out when writing.
5336
5337         * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
5338           Must check the return value of close() after writing out the new
5339           registry file.  Sometimes write problems such as out-of-diskspace
5340           are only reported when the file is closed and not already during
5341           the write.  This may have caused partial/broken registry files in
5342           some rare circumstances. Should fix #503675.
5343
5344 2007-12-16  Edward Hervey  <edward.hervey@collabora.co.uk>
5345
5346         * docs/gst/.cvsignore:
5347         * docs/libs/.cvsignore:
5348         * docs/plugins/.cvsignore:
5349         Ignore files generated by new common/* modifications
5350
5351 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5352
5353         * win32/common/libgstbase.def:
5354           Yes, you can also have a <TAB> if you want.
5355
5356 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5357
5358         * win32/common/libgstbase.def:
5359           Add new basetransform API to win export file.
5360
5361 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5362
5363         * tests/check/gst/gstbin.c:
5364           Adjust the test to the refcount change two days ago.
5365
5366 2007-12-14  David Schleef  <ds@schleef.org>
5367
5368         * docs/faq/getting.xml: Fix typo.
5369
5370 2007-12-14  Sebastian Dröge  <slomo@circular-chaos.org>
5371
5372         * docs/libs/gstreamer-libs-sections.txt:
5373         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
5374           (gst_base_transform_prepare_output_buffer),
5375           (gst_base_transform_set_gap_aware):
5376         * libs/gst/base/gstbasetransform.h:
5377           API: Add gst_base_transform_set_gap_aware() to control whether
5378           the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
5379           get buffers with this flag at all. Fixes #503231.
5380
5381 2007-12-13  Stefan Kost  <ensonic@users.sf.net>
5382
5383         * libs/gst/base/gstbasesink.c:
5384         * libs/gst/base/gstbasesrc.c:
5385         * libs/gst/base/gstbasetransform.c:
5386           Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
5387           thread. Correct log message in gstbasesrc.c.
5388
5389 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
5390
5391         * gst/gstutils.c: (element_find_unconnected_pad):
5392           Fix possible compiler warning (#503417).
5393
5394 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
5395
5396         * gst/gstobject.c: (gst_object_dispatch_properties_changed):
5397           Don't use GST_CAT_EVENT here for logging, it makes no sense.
5398
5399 2007-12-13  Sebastian Dröge  <slomo@circular-chaos.org>
5400
5401         * tools/gst-inspect.c: (print_element_properties_info):
5402           Add support for GstFraction properties.
5403
5404 2007-12-12  Tim-Philipp Müller  <tim at centricular dot net>
5405
5406         * Makefile.am:
5407           Add check-exports target and run it as part of 'make check'
5408           (see #499140 and #493983).
5409
5410         * gst/gst_private.h:
5411         * gst/gstelementfactory.h:
5412         * gst/gstghostpad.c: (gst_proxy_pad_class_init):
5413         * gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
5414           (_priv_gst_in_valgrind):
5415         * gst/gstinfo.h: (GstLogFunction):
5416         * gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
5417           (gst_type_find_register):
5418         * gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
5419           (gst_type_find_factory_get_type):
5420         * libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
5421           (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
5422           (gst_controller_new_valist), (gst_controller_new_list),
5423           (_gst_controller_dispose), (_gst_controller_class_init):
5424         * libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
5425         * libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
5426           (GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
5427           (gst_object_get_controller), (gst_object_set_controller),
5428           (gst_object_suggest_next_sync), (gst_object_sync_values),
5429           (gst_object_set_control_source), (gst_object_get_control_source),
5430           (gst_object_get_value_arrays), (gst_object_get_value_array),
5431           (gst_object_get_control_rate), (gst_object_set_control_rate):
5432         * libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
5433         * libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
5434           Make some functions that should be static static; rename some
5435           private symbols so that they don't get exported; add some FIXME
5436           comments so we can move accidentally exported functions into
5437           our private section in 0.11.
5438
5439         * win32/common/libgstreamer.def:
5440           Add gst_utils_get_timestamp().
5441
5442 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
5443
5444         * gst/gstvalue.c:
5445         * gst/gstvalue.h:
5446           Add more missing "Since:" tags to docs.
5447
5448 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
5449
5450         * gst/gstutils.c:
5451           Add mising "Since:" to docs.
5452
5453 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5454
5455         * gst/gstplugin.c:
5456           Include "glib-compat-private.h" to fix the build on system with
5457           glib < 2.10. Fixes #503131.
5458
5459 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5460
5461         * gst/gstutils.c:
5462         * gst/gstutils.h:
5463           Actually its not PURE as it gets the time from elsewhere.
5464
5465 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5466
5467         * docs/gst/gstreamer-sections.txt:
5468         * gst/gstclock.h:
5469         * gst/gstdebugutils.c:
5470         * gst/gstinfo.c:
5471         * gst/gstutils.c:
5472         * gst/gstutils.h:
5473         * libs/gst/base/gstbasesink.c:
5474         * tools/gst-launch.c:
5475           Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
5476           uses as we don't have HAVE_POSIX_TIMERS in public headers.
5477           Thanks Tim for spotting.
5478           API: gst_util_get_timestamp
5479
5480 2007-12-09  Sebastian Dröge  <slomo@circular-chaos.org>
5481
5482         * configure.ac:
5483           Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.
5484
5485 2007-12-08  Tim-Philipp Müller  <tim at centricular dot net>
5486
5487         * gst/gststructure.c: (gst_structure_validate_name),
5488           (gst_structure_new_valist), (gst_structure_parse_value),
5489           (gst_structure_from_string):
5490           Don't crash in _from_string() if the structure name is not valid
5491           (fixes #501560).  Allow structure names to start with a number
5492           again (this apparently broke the ubuntu codec installer).
5493
5494         * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
5495           (GST_START_TEST):
5496           Add unit test for the crash; update unit tests for new behaviour.
5497
5498 2007-12-03  Wim Taymans  <wim.taymans@gmail.com>
5499
5500         * gst/gstutils.c:
5501         Clarify gst_element_get_compatible_pad() documentation.
5502         Fixes #500919.
5503
5504 2007-12-02  Sebastian Dröge  <slomo@circular-chaos.org>
5505
5506         * tests/check/Makefile.am:
5507           Don't forget to dist {gst,libs}/struct_hppa.h.
5508
5509 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5510
5511         * libs/gst/base/gstbasesink.c:
5512           Use new API to get elapsed time.
5513
5514 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5515
5516         * gst/gstdebugutils.c:
5517         * gst/gstinfo.c:
5518           Fix wrong order of args in GST_CLOCK_DIFF() usage.
5519
5520         * tools/gst-launch.c:
5521           Use new API to get elapsed time.
5522
5523 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5524
5525         * docs/gst/gstreamer-sections.txt:
5526         * gst/gstclock.h:
5527         * gst/gstdebugutils.c:
5528         * gst/gstinfo.c:
5529           Rename new API + ChangeLog surgery to remove old name from last entry..
5530
5531 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5532
5533         * docs/gst/gstreamer-sections.txt:
5534         * gst/gstclock.h:
5535         * gst/gstdebugutils.c:
5536         * gst/gstinfo.c:
5537           Now hide the different clock stuff behind a macro.
5538
5539 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5540
5541         * configure.ac:
5542         * gst/gstdebugutils.c:
5543         * gst/gstinfo.c:
5544           Apply the posix-timer check from #361155. Conditionally use the posix
5545           timer for logging. This gives better timestamp precission, less
5546           overhead and no ntp jitter.
5547
5548 2007-11-28  Sebastian Dröge  <slomo@circular-chaos.org>
5549
5550         * gst/gstminiobject.c: (gst_mini_object_get_type),
5551         (gst_mini_object_class_init), (gst_mini_object_copy_default),
5552         (gst_mini_object_finalize), (gst_mini_object_copy),
5553         (gst_mini_object_is_writable), (gst_mini_object_make_writable),
5554         (gst_mini_object_replace), (param_mini_object_validate),
5555         (gst_param_spec_mini_object_get_type):
5556         Some cleanup and checking against invalid function parameters.
5557
5558 2007-11-28  Wim Taymans  <wim.taymans@gmail.com>
5559
5560         * docs/gst/gstreamer-sections.txt:
5561         * gst/gstclock.h:
5562         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
5563         (gst_systemclock_suite):
5564         Start merging in the easy bits of #361155, the monotonic clock patch.
5565         This one adds a few handy macros with docs and a testsuite.
5566
5567 2007-11-27  Wim Taymans  <wim.taymans@gmail.com>
5568
5569         * plugins/elements/gstfilesink.c: (gst_file_sink_event):
5570         Be a bit smarter when seeking, like, don't try to do a seek when it's
5571         not needed. This avoids errors when the file is not seekable.
5572         Fixes #499771.
5573
5574 2007-11-26  Stefan Kost  <ensonic@users.sf.net>
5575
5576         * docs/gst/gstreamer-docs.sgml:
5577         * docs/gst/gstreamer-sections.txt:
5578         * docs/gst/gstreamer.types.in:
5579         * gst/Makefile.am:
5580         * gst/gst.h:
5581         * gst/gstpreset.c:
5582         * gst/gstpreset.h:
5583         * plugins/elements/gstqueue.c:
5584           Due to popular request remove preset interface again. :-(.
5585
5586 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5587
5588         * tools/gst-inspect.c:
5589           Print 'default value' for enums and flags too.
5590
5591 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5592
5593         * docs/random/ensonic/profiling.txt:
5594           More ideas.
5595
5596         * gst/gstbin.c:
5597           Fix typo and give better log output.
5598
5599         * gst/gstdebugutils.c:
5600         * gst/gstdebugutils.h:
5601           More ideas, make graphs a bit smaller and fix param name in macro.
5602
5603 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5604
5605         * gst/gstpreset.c:
5606           Try harder to use the return value from fgets().
5607
5608 2007-11-21  Stefan Kost  <ensonic@users.sf.net>
5609
5610         * gst/gstpreset.c:
5611           For theses two fgets we handle the error below.
5612
5613 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
5614
5615         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
5616         Only send upstream events upstream. Fixes #498746.
5617
5618 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
5619
5620         Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5621
5622         * plugins/elements/gstidentity.c: (gst_identity_class_init),
5623         (gst_identity_init), (gst_identity_transform_ip),
5624         (gst_identity_set_property), (gst_identity_get_property):
5625         * plugins/elements/gstidentity.h:
5626         Add property to disable handoff signal emission. Fixes #498694.
5627         API: GstIdentity::signal-handoffs
5628
5629 2007-11-21  Julien Moutte  <julien@fluendo.com>
5630
5631         * docs/faq/gst-uninstalled: Yet another missing library for the
5632         uninstalled script (fft)
5633
5634 2007-11-21  Jan Schmidt  <jan.schmidt@sun.com>
5635
5636         * docs/faq/developing.xml:
5637         Add a question about how to submit new translations.
5638
5639         * docs/random/release:
5640         Update the contact email address for the Translation Project
5641
5642         * plugins/elements/gstfdsrc.c:
5643         The parent_class for fdsrc is pushsrc, not GstElement.
5644
5645 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
5646
5647         * gst/gstpreset.c:
5648           Plug a leak and fix saving.
5649
5650 2007-11-20  Sebastian Dröge  <slomo@circular-chaos.org>
5651
5652         * docs/gst/gstreamer-sections.txt:
5653         Add new gst_preset__get_property_names() function to the docs
5654         to fix the build.
5655
5656 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
5657
5658         * gst/gstpreset.c:
5659         * gst/gstpreset.h:
5660           Change _get_preset_names API to return a strv with copies. Add
5661           _get_property_names to allow implementations to filter and provide
5662           good default implementation.
5663
5664 2007-11-20  Julien MOUTTE  <julien@moutte.net>
5665
5666         * docs/faq/gst-uninstalled: Add another library to the uninstalled
5667         script (sdp).
5668
5669 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
5670
5671         * gst/gstpreset.c:
5672           More cleanups, docs, and TODOs from comments that now slowly come in.
5673
5674 2007-11-19  Julien MOUTTE  <julien@moutte.net>
5675
5676         * docs/faq/gst-uninstalled: Add new base libraries in the LD 
5677         search path.
5678
5679 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
5680
5681         * gst/gstpreset.c:
5682           Fix bogus warning and make the property type specific code more
5683           similar.
5684
5685 2007-11-19  Julien MOUTTE  <julien@moutte.net>
5686
5687         * gst/gstpreset.c: (gst_preset_default_create_preset): Make
5688         it build on OS X.
5689
5690 2007-11-19  Wim Taymans  <wim.taymans@gmail.com>
5691
5692         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5693         (gst_bin_add_func), (gst_bin_remove_func),
5694         (gst_bin_change_state_func), (gst_bin_continue_func):
5695         Change email, cleanups add some more debug and comments.
5696         Also set bus and clock on new elements when the pipeline was in error.
5697
5698 2007-11-18  Stefan Kost  <ensonic@users.sf.net>
5699
5700         * gst/gstbin.c:
5701         * gst/gstdebugutils.c:
5702           Fix build with --disable-gst-debug. Fixes #497859.
5703           Spotted by Sameer Naik.
5704
5705 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
5706
5707         * gst/gstevent.c:
5708           Little documentation improvment.
5709
5710         * gst/gstpreset.c:
5711           More TODO cleanups. Remove c++ comments.
5712
5713         * libs/gst/controller/gstcontroller.c:
5714           Add TODO and use quark from static string.
5715
5716         * tests/check/gst/gstmessage.c:
5717         * tests/check/gst/gststructure.c:
5718           Use quark from static string.
5719
5720 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
5721
5722         * gst/gstpreset.c:
5723           Add some comments and TODOs.
5724
5725         * gst/gstpreset.h:
5726           Add padding for future changes.
5727
5728         * plugins/elements/gstqueue.c:
5729           Implement the iface.    
5730
5731 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
5732
5733         * docs/gst/gstreamer-docs.sgml:
5734         * docs/gst/gstreamer-sections.txt:
5735         * docs/gst/gstreamer.types.in:
5736         * gst/Makefile.am:
5737         * gst/gst.h:
5738         * gst/gstpreset.c:
5739         * gst/gstpreset.h:
5740           Add the preset interface (Fixes #396779). Do some doc cleanups along.
5741
5742 2007-11-16  Jan Schmidt  <jan.schmidt@sun.com>
5743
5744         * configure.ac:
5745
5746         Back to CVS
5747
5748 === release 0.10.15 ===
5749
5750 2007-11-15  Jan Schmidt <jan.schmidt@sun.com>
5751
5752         * configure.ac:
5753           releasing 0.10.15, "October"
5754
5755 2007-11-14  Jan Schmidt  <jan.schmidt@sun.com>
5756
5757         * win32/vs6/libgstreamer.dsp:
5758         Convert line endings back to DOS.
5759
5760 2007-11-13  Stefan Kost  <ensonic@users.sf.net>
5761
5762         * docs/design/draft-tagreading.txt:
5763         * docs/random/ensonic/profiling.txt:
5764         Update fast tagreading draft and performance profiling ideas.
5765
5766 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
5767
5768         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
5769         Don't hold the object lock when unreffing a buffer because it could
5770         cause a deadlock when the finalize function wants to grab the object
5771         lock too. Fixes #495133.
5772
5773 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
5774
5775         * gst/gstsegment.c: (gst_segment_set_newsegment_full),
5776         (gst_segment_to_stream_time), (gst_segment_to_running_time):
5777         Also accumulate time correctly when doing reverse playback. Fixes
5778         #488201,
5779         When converting to running and stream time, use default values for
5780         start/stop/time/accum when comparing different formats. Fixes #494245.
5781
5782         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
5783         Do running/stream time in TIME format.
5784
5785         * tests/check/gst/gstsegment.c: (GST_START_TEST),
5786         (gst_segment_suite):
5787         2 new unit tests for segment accumulation.
5788
5789 2007-11-07  Tim-Philipp Müller  <tim at centricular dot net>
5790
5791         * gst/gst.c: (init_pre):
5792         * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
5793           (_gst_debug_bin_to_dot_file):
5794           Move getenv() back into gst_init, so everyone can live happily
5795           ever after. Make sure the symbol isn't exported though.
5796
5797 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5798
5799         Patch by: Sebastien Moutte  <sebastien moutte net>
5800
5801         * win32/common/gstenumtypes.c:
5802         * win32/common/gstenumtypes.h:
5803           Update enum types.
5804
5805         * win32/vs6/libgstreamer.dsp:
5806           Update vs6 project files (#494343).
5807
5808 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5809
5810         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
5811         (gst_base_src_perform_seek), (gst_base_src_default_event),
5812         (gst_base_src_set_flushing), (gst_base_src_activate_push),
5813         (gst_base_src_activate_pull):
5814         Unify flushing code, remove some old unlock code that is no longer used.
5815         Take the streaming lock when seeking to avoid races. Fixes #492729.
5816         Added some more comments.
5817
5818 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5819
5820         * gst/gst.c: (_gst_disable_segtrap):
5821           Make  _gst_disable_segtrap static, it's only used in gstplugin.c and
5822           we can use gst_segtrap_is_enabled() there now that we have that API.
5823           Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
5824           to do the getenv here (and export the variable).
5825
5826         * gst/gstdebugutils.c: (debug_dump_element),
5827           (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
5828           Don't use VLAs which is a C99ism and throws off MSVC (#493983).
5829
5830         * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
5831           (gst_debug_log_default):
5832           Rename _gst_info_start_time to priv_gst_info_start_time so it
5833           doesn't get exported (was never in any header).
5834
5835         * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
5836           (gst_plugin_loading_mutex):
5837           Make static mutex gst_plugin_loading_mutex really static (was never
5838           in any header), and use gst_segtrap_is_enabled() instead of
5839           _gst_disable_segtrap.
5840
5841         * gst/gsttrace.c: (_gst_trace_default):
5842           Make local _gst_trace_default static (was never in any header).
5843
5844 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5845
5846         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
5847
5848         * win32/common/libgstbase.def:
5849         * win32/common/libgstcontroller.def:
5850         * win32/common/libgstdataprotocol.def:
5851         * win32/common/libgstnet.def:
5852         * win32/common/libgstreamer.def:
5853           Add more missing symbols, remove some duplicates, and sort
5854           as the 'sort' command sorts it (partially fixes #493983).
5855
5856 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5857
5858         * gst/gstelement.c: (gst_element_set_state_func):
5859         Only change the state cookie if a different state was set on the
5860         element. See #492729.
5861
5862 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5863
5864         * gst/gstvalue.c:
5865           Remove unused and uninitialised type variables that were still
5866           exported for some reason (they were never in any header files
5867           though).
5868
5869 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5870
5871         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
5872         (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
5873         (gst_base_sink_event), (gst_base_sink_get_position_last),
5874         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
5875         (gst_base_sink_change_state):
5876         Don't try to report a 0 position when we don't know, return -1 and FALSE
5877         instead. This mostly happens when we are prerolling.
5878         Make sure we can report the right position before we post the ASYNC_DONE
5879         message so that a message handler can query position without races.
5880
5881         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
5882         (async_done_handoff), (async_done_func), (send_buffer),
5883         (async_done_eos_func), (gst_sinks_suite):
5884         Add two tests for the above.
5885
5886 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5887
5888         * MAINTAINERS:
5889         Update with new email address.
5890
5891         * docs/design/part-TODO.txt:
5892         Add some more info about future pad-block and negotiation changes.
5893
5894         * docs/design/part-buffering.txt:
5895         Add some ideas about buffering reporting.
5896
5897 2007-11-06  Jan Schmidt  <jan.schmidt@sun.com>
5898
5899         * tests/check/gst/gstobject.c:
5900         Disable silly racy test that always fails on this combination of CPU
5901         and kernel.
5902
5903 2007-11-03  Tim-Philipp Müller  <tim at centricular dot net>
5904
5905         Patch by: Murray Cumming  <murrayc@murrayc.com>
5906
5907         * gst/gstobject.c:
5908           Corrected the registration of the parent-set and parent-unset
5909           signals: The parameter is a GstObject, not a GObject (#493134).
5910
5911 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
5912
5913         * gst/gst_private.h:
5914         * gst/gstbuffer.h:
5915         * gst/gstevent.h:
5916         * gst/gstformat.h:
5917         * gst/gstmessage.h:
5918         * gst/gstplugin.h:
5919         * gst/gstquery.h:
5920         * gst/gsttaglist.h:
5921         * gst/gstvalue.h:
5922           Move declaration of private _gst_foo_initialize() functions into
5923           our private header file where they should have been all along.
5924
5925 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
5926
5927         * docs/plugins/gstreamer-plugins-sections.txt:
5928         * gst/gstdebugutils.h:
5929         * gst/gstxml.h:
5930         * plugins/elements/gstqueue.c:
5931           gtk-doc fixes; trailing-comma-in-enum fix.
5932
5933 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
5934
5935         * gst/gst.c: (gst_deinit):
5936           Clean up on deinit (not the external ones though, doesn't seem to be
5937           needed for some reason).
5938
5939 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
5940
5941         * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
5942           Remove __declspec(dllimport) for MSVC that was copied over into core
5943           from a plugin, obviously without ever having been tested (note the
5944           single underscore in _declspec in the initial commit), and that doesn't
5945           really make sense.  See #492077.
5946
5947 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
5948
5949         * gst/gst.c: (init_post):
5950         * gst/gstevent.c: (_gst_event_initialize):
5951         * gst/gstquery.c: (_gst_query_initialize):
5952         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
5953           g_type_class_ref() other types as well, see #349410 and #64764.
5954
5955         * gst/gstbuffer.c: (_gst_buffer_initialize):
5956         * gst/gstmessage.c: (_gst_message_initialize):
5957           Simplify existing g_type_class_ref().
5958
5959 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
5960
5961         * gst/gstformat.c: (_gst_format_initialize):
5962           g_type_class_ref() our GstFormat type to make sure we avoid the
5963           thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
5964           bug #64764. Should fix intermittent tee unit test failures (#474823).
5965
5966 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
5967
5968         * tests/check/elements/tee.c: (test_num_buffers):
5969           Simplify, simplify, simplify - or not.  Rewrite unit test
5970           not to use gst_parse_launch(); allow N sub-streams. Increasing
5971           the number of sub-streams seems to reproduce #474823 more easily.
5972
5973 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
5974
5975         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
5976
5977         * gst/gsttrace.c:
5978         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
5979         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
5980         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
5981           Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
5982           starting with 2.14.0, GLib won't provide a pipe() macro any longer,
5983           so use _pipe() directly (#492077).
5984
5985         * win32/common/dirent.c: (_treaddir):
5986           Add a couple of casts to make it build without warnings with MSVC.
5987
5988         * win32/common/libgstreamer.def:
5989           Add some more symbols that need to be exported.
5990
5991 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
5992
5993         * tests/examples/metadata/read-metadata.c: (message_loop):
5994           Use _KEEP as merge mode rather than _KEEP_ALL, so tags
5995           arriving in a second or third tag message are added to
5996           the tag list as well.
5997
5998 2007-10-31  Stefan Kost  <ensonic@users.sf.net>
5999
6000         * libs/gst/base/gstbasesrc.c:
6001           Its "Since:" and not "@Since:". And remove an superflous cast.
6002
6003 2007-10-30  Wim Taymans  <wim.taymans@gmail.com>
6004
6005         * docs/libs/gstreamer-libs-sections.txt:
6006         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6007         (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
6008         (gst_base_sink_get_property), (gst_base_sink_render_object),
6009         (gst_base_sink_preroll_object),
6010         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
6011         (gst_base_sink_change_state):
6012         * libs/gst/base/gstbasesink.h:
6013         Add a new last-buffer property that contains the last buffer used in
6014         basesink for preroll or rendering. useful for making snapshots.
6015         API: gst_base_sink_get_last_buffer()
6016         API: GstBaseSink::last-buffer
6017
6018 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
6019
6020         * docs/gst/running.xml:
6021         * gst/gst.c:
6022         * gst/gstdebugutils.c:
6023         * gst/gstdebugutils.h:
6024         * tools/gst-launch.c:
6025           Improve bin graph dumping, by using the envvar to specify a path.
6026           Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
6027
6028 2007-10-29  Tim-Philipp Müller  <tim at centricular dot net>
6029
6030         * plugins/elements/gsttypefindelement.c:
6031           (gst_type_find_element_handle_event),
6032           (gst_type_find_element_activate):
6033           Post special error message if we can't determine the type of a stream
6034           because it's empty.
6035
6036 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
6037
6038         * docs/gst/running.xml:
6039         * gst/gstdebugutils.c:
6040           Document new env-var. Add one log-line after dumpng a graph.
6041
6042 2007-10-26  Tim-Philipp Müller  <tim at centricular dot net>
6043
6044         * configure.ac:
6045           Ugly hack to put the (recently removed and non-portable, apparently)
6046           -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
6047           GNU ld, because without that 'make check' fails miserably on my debian
6048           stable box.  Someone with more knowledge of linker intricacies and
6049           portability issues than me fix this properly please.
6050
6051 2007-10-25  Wim Taymans  <wim.taymans@gmail.com>
6052
6053         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
6054         Reset last seen position after flushing so that we don't report the old
6055         position anymore.
6056
6057 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
6058
6059         * gst/gstelementfactory.c: (gst_element_register):
6060         * gst/gsturi.h:
6061         Patch from Alessandro Decina adding get_type_full and
6062         get_protocols_full private vfuncs to the URIHandler interface
6063         to allow bindings to support creating URI handlers. 
6064         Partially fixes: #339279
6065         API: GstURIHandlerInterface::get_type_full
6066         API: GstURIHandlerInterface::get_protocols_full
6067
6068 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
6069
6070         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
6071         (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
6072         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
6073         Make it so that pads are considered linked until a buffer is pushed
6074         and discovered otherwise. This avoids problems with decodebin2 hanging
6075         after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
6076         case.
6077
6078         Make sure we lock the multiqueue when updating the max-size properties.
6079         
6080         Fix a crash on Solaris in a debug statement in get_request_pad that
6081         passes a NULL string to GST_DEBUG. 
6082
6083         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
6084         (run_output_order_test):
6085         Fix the test to allow the first buffer on not-linked pads to come out
6086         of sequence while multiqueue discovers that they are not-linked.
6087
6088 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
6089
6090         * configure.ac:
6091         * libs/gst/check/Makefile.am:
6092         Use a custom export symbol regex for libgstcheck, as it needs
6093         to export symbols that don't match the standard GStreamer gst_*
6094         pattern, and  --export-dynamic is not portable (only works on 
6095         GNU ld)
6096
6097         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
6098         (gst_check_setup_sink_pad):
6099         Make sure to pass a message parameter to the fail_* macros.
6100
6101         * tests/check/gst/gstinfo.c: (GST_START_TEST):
6102         Fix some compiler warnings.
6103
6104 2007-10-25  Tim-Philipp Müller  <tim at centricular dot net>
6105
6106         * tests/check/gst/gststructure.c: (test_to_string):
6107           Disable test that checks that white spaces are not allowed
6108           in structure names or field names, since we need to
6109           support that for now for backwards compatibility reasons.
6110
6111 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
6112
6113         * docs/gst/gstreamer-sections.txt:
6114         * gst/gsttaglist.c:
6115         * gst/gsttaglist.h:
6116           API: add GST_TAG_ARTIST_SORTNAME
6117           API: add GST_TAG_ALBUM_SORTNAME
6118           API: add GST_TAG_TITLE_SORTNAME
6119           Add tag variants for sorting (#414539).
6120
6121 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
6122
6123         * gst/gststructure.c:
6124           Also allow white space for names so we don't break
6125           backwards compatibility.
6126
6127 2007-10-22  Wim Taymans  <wim.taymans@gmail.com>
6128
6129         * docs/design/part-TODO.txt:
6130         * docs/design/part-segments.txt:
6131         * docs/design/part-streams.txt:
6132         Small updates.
6133
6134 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
6135
6136         * docs/gst/gstreamer-sections.txt:
6137          Fixed documentation from my previous commit (added new API add
6138          gst_value_set_structure(), add gst_value_get_structure() and
6139          GST_VALUE_HOLDS_STRUCTURE).
6140
6141 2007-10-22  Stefan Kost  <ensonic@users.sf.net>
6142
6143         * gst/gstdebugutils.c:
6144           Reflow code to fix uninitialized variable warning.
6145
6146 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
6147
6148         * gst/gstcaps.c: (gst_caps_to_string),
6149         (gst_caps_from_string_inplace):
6150         * gst/gststructure.c: (gst_structure_get_abbrs),
6151         (gst_structure_to_string), (gst_structure_from_string):
6152         * gst/gstvalue.c: (gst_value_set_structure),
6153         (gst_value_get_structure), (gst_value_serialize_structure),
6154         (gst_value_deserialize_structure), (_gst_value_initialize):
6155         * gst/gstvalue.h:
6156         * tests/check/gst/gststructure.c: (GST_START_TEST),
6157         (gst_structure_suite):
6158         * tests/check/gst/gstvalue.c: (GST_START_TEST):
6159          Added GstStructure to gst_value_table and its related functions.
6160          Changed gst_structure_to_string to print ';' in the end.
6161          Changed gst_caps_to_string to not print ';' beteween its
6162          fields (structures) anymore and remove the lastes ';' from latest
6163          structure. Now it is possible to have nested structures.
6164          In addition, backward compatibilty is assured by accepting '\0' as
6165          end delimiter. Fixes: #487969.
6166          API: add gst_value_set_structure()
6167          API: add gst_value_get_structure()
6168          API: add GST_VALUE_HOLDS_STRUCTURE
6169
6170 2007-10-19  Tim-Philipp Müller  <tim at centricular dot net>
6171
6172         * gst/gstbus.c:
6173           When no GSource callback has been set up, tell developer
6174           to use a function that actually exists.
6175
6176 2007-10-17  Stefan Kost  <ensonic@users.sf.net>
6177
6178         * docs/gst/gstreamer-sections.txt:
6179         * gst/Makefile.am:
6180         * gst/gst.c:
6181         * gst/gst.h:
6182         * gst/gstdebugutils.c:
6183         * gst/gstdebugutils.h:
6184         * gst/gstinfo.c:
6185         * gst/gstinfo.h:
6186         * tools/gst-launch.c:
6187           Allow dumping pipelines as dot graphs. Fixes #456573.
6188
6189 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6190
6191         * gst/gststructure.c:
6192           Allow '+' as well, it can be part of media or mime types
6193           such as image/svg+xml.
6194
6195 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6196
6197         * docs/gst/gstreamer-sections.txt:
6198         * gst/gstbus.c:
6199         * gst/gstbus.h:
6200           API: add gst_bus_pop_filtered
6201           API: add gst_bus_timed_pop_filtered
6202           Two new functions for waiting for specific message types on the
6203           bus for a specified amount of time without iterating any main
6204           loops or main contexts.
6205
6206         * tests/check/gst/gstbus.c:
6207           Some tests for the new functions.
6208
6209 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6210
6211         * docs/libs/gstreamer-libs-sections.txt:
6212           Make gtk-doc ignore stuff it should ignore.
6213
6214 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6215
6216         * libs/gst/check/gstcheck.c:
6217         * libs/gst/check/gstcheck.h:
6218           Allow runtime selection of unit tests to run via the GST_CHECKS
6219           environment variable (test case function names, comma-separated).
6220
6221 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
6222
6223         * gst/gststructure.c:
6224         * tests/check/gst/gststructure.c:
6225           Revert serialisation change and constrain structure-names after
6226           consensus on irc. Update api documentation to reflect the change.
6227
6228 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
6229
6230         * gst/gststructure.c:
6231           Improve serialization and fix tests.
6232
6233         * tests/check/gst/gststructure.c:
6234           Add another test that covers why I actually did the previous structure
6235           change.
6236
6237 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
6238
6239         * tools/gst-inspect.c: (print_element_info):
6240         Don't crash when inspecting an element.
6241
6242 2007-10-15  Tim-Philipp Müller  <tim at centricular dot net>
6243
6244         * tests/check/gst/gststructure.c:
6245           Add unit test for escaping of structure name when serialising
6246           and deserialising to/from strings.
6247
6248 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
6249
6250         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
6251         (gst_single_queue_new):
6252         * plugins/elements/gstqueue.c: (gst_queue_init),
6253         (gst_queue_push_one):
6254         Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
6255         upstream is tricked into thinking it can suggest a format downstream
6256         while downstream does not support that format. The real problem is that
6257         core calls acceptcaps when pushing a buffer with new caps, for which we
6258         do a little workaround by setting the caps on the srcpad ourselves
6259         before pushing the buffer (until this is figured out). Fixes #486758.
6260
6261 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6262
6263         * gst/gststructure.c:
6264         * gst/gstvalue.c:
6265           Add some more comments and debug output. Quote structure name to fix
6266           deserialisation of some strings.
6267
6268 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6269
6270         * gst/gstbuffer.h:
6271           Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
6272           on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
6273
6274 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6275
6276         * tools/gst-inspect.c:
6277           Save approx. 400 1 byte allocs when printing. Use API to acces element
6278           details.
6279
6280         * tools/gst-run.c:
6281           Avoid a strdup.
6282
6283         * tools/gst-xmlinspect.c:
6284           Use API to acces element details.
6285
6286 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6287
6288         * gst/gstinfo.c:
6289           Fix some spelling errors.
6290
6291 2007-10-14  Wim Taymans  <wim.taymans@gmail.com>
6292
6293         * gst/gstbin.c: (bin_handle_async_done):
6294         Correctly set the next state if all of our async children commited their
6295         state. This makes sure we can actually cancel the state change in
6296         progress. Fixes a regression in Rhythmbox when seeking.
6297
6298 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
6299
6300         * gst/gstbin.c:
6301           Don't shadow local variable.
6302
6303         * gst/gstinfo.c:
6304           Don't shadow global function name.
6305
6306 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
6307
6308         * gst/gstelementfactory.c:
6309         * gst/gstpluginfeature.c:
6310         * gst/gstpluginfeature.h:
6311         * gst/gstregistrybinary.c:
6312         * gst/gstregistryxml.c:
6313         * gst/gsttypefind.c:
6314           Use already-interned string for the private GstPluginFeature
6315           plugin_name field.
6316
6317 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6318
6319         * docs/libs/gstreamer-libs-sections.txt:
6320           Add new API to docs; fixes the build.
6321
6322 2007-10-10  Wim Taymans  <wim.taymans@gmail.com>
6323         
6324         Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
6325
6326         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
6327         (gst_base_sink_event):
6328         * libs/gst/base/gstbasesink.h:
6329         Add function to wait for EOS, subclasses can use this to correctly wait
6330         for devices to drain before performing the EOS logic. Fixes #485343.
6331         API: gst_base_sink_wait_eos()
6332
6333 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6334
6335         * gst/gstplugin.h:
6336           Cast description string constants in GST_PLUGIN_DEFINE macros
6337           to a (gchar*) to make C++ code using these macros compile
6338           without warning with g++-4.2 (see #462737).  Even if slightly
6339           ugly, this seems preferable to putting the description strings
6340           into the GLib quark table or making the structure member a
6341           const gchar * and doing casts in core code that allocs and
6342           frees these strings, or requiring a cast in the C++ code.
6343
6344 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6345
6346         * gst/gstinfo.h:
6347           Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
6348           to print the entire class/function signature into the log
6349           file for C++ code.  This only affects C++ code, for C code
6350           everything remains the same.
6351
6352 2007-10-09  Wim Taymans  <wim.taymans@gmail.com>
6353
6354         * gst/gstbin.c: (remove_from_queue):
6355         Work around a problem with pipelines containing (semi)loops until a
6356         proper, more complicated solution is ready. See #475455.
6357
6358 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6359
6360         * gst/gstplugin.c:
6361         * gst/gstplugin.h:
6362         * gst/gstregistrybinary.c:
6363         * gst/gstregistryxml.c:
6364           Put more strings into the GLib quark table. No need to keep
6365           a hundred-something copies of identical version strings,
6366           license strings, package name strings and package origin
6367           strings around. 
6368
6369 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6370
6371         * docs/manual/advanced-dataaccess.xml:
6372           Don't imply that it's okay to unconditionally change
6373           buffer data or buffer metadata in a pad probe callback,
6374           and a bunch of other comments. Fixes #430031.
6375
6376 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6377
6378         * win32/common/gstenumtypes.c:
6379         * win32/common/gstenumtypes.h:
6380         * win32/common/gstversion.h:
6381           Update generated files.
6382
6383 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6384
6385         * docs/manual/advanced-autoplugging.xml:
6386           Prefix section with broken code with a warning (see #342432).
6387
6388 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6389
6390         * docs/manual/appendix-integration.xml:
6391         * docs/manual/basics-init.xml:
6392           Call g_thread_init() before g_option_context_new() to
6393           avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
6394
6395 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6396
6397         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6398         (gst_base_sink_queue_object_unlocked),
6399         (gst_base_sink_queue_object), (gst_base_sink_event),
6400         (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
6401         When we received EOS and are waiting for when to post the EOS message,
6402         our state is prerolled and we should not return ASYNC.
6403         Reorganize some code paths to implement this behavior.
6404
6405         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
6406         (gst_sinks_suite):
6407         Add unit test to verify above EOS fix.
6408
6409 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6410
6411         * plugins/elements/gsttypefindelement.c:
6412         (gst_type_find_element_have_type), (gst_type_find_element_init),
6413         (gst_type_find_element_setcaps), (gst_type_find_element_chain):
6414         Move detecting the input caps of the sinkpad to the setcaps function.
6415         This allows us to update the output caps when we receive new input caps
6416         instead of always using the first detected caps.
6417
6418 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6419
6420         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
6421         (gst_base_sink_get_position):
6422         Don't try to preroll non-async elements after a flush.
6423         Subtract latency form clock times when reporting position.
6424
6425 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6426
6427         * gst/gstpad.c: (gst_pad_pause_task):
6428         * gst/gstutils.c:
6429         Small comment and documentation update.
6430
6431 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6432
6433         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
6434         (gst_base_src_set_live), (gst_base_src_is_live),
6435         (gst_base_src_query_latency), (gst_base_src_perform_seek),
6436         (gst_base_src_default_event), (gst_base_src_wait),
6437         (gst_base_src_do_sync), (gst_base_src_get_range),
6438         (gst_base_src_pad_get_range), (gst_base_src_loop),
6439         (gst_base_src_unlock), (gst_base_src_unlock_stop),
6440         (gst_base_src_set_flushing), (gst_base_src_set_playing),
6441         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6442         (gst_base_src_change_state):
6443         Rework the locking of basesrc in a similar fashion to basesink. We
6444         basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
6445         us to handle live sources and semi live ones much better.
6446         Simplify flushing.
6447         Fix unlocking when seeking, shutting down and pausing in live sources.
6448
6449 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6450
6451         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
6452         Fix compilation again.
6453
6454 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6455
6456         * gst/gstelement.c:
6457           Use meaningful categories for the logs to clean the default one.
6458
6459 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6460
6461         * tests/check/pipelines/cleanup.c:
6462           Print message name and not just number.
6463
6464 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6465
6466         * docs/design/draft-tagreading.txt:
6467           Add some more thoughts.
6468
6469 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6470
6471         * tests/check/pipelines/simple-launch-lines.c:
6472           Print message name and not just number.
6473
6474 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6475
6476         * libs/gst/base/gsttypefindhelper.c:
6477           Speedup typefinding. This is work in progress (see #459862).
6478
6479 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6480
6481         * gst/gstplugin.c:
6482           Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
6483           Spotted by Josep Torra Valles <josep@fluendo.com>.
6484
6485 2007-10-03  Tim-Philipp Müller  <tim at centricular dot net>
6486
6487         * gst/gstclock.h:
6488           Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
6489           field has moved to GstObject.
6490
6491 2007-10-02  Wim Taymans  <wim.taymans@gmail.com>
6492
6493         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
6494         (gst_base_src_get_range), (gst_base_src_change_state):
6495         Call unlock for live sources so that they can't get stuck in _create and
6496         produce a buffer before they are set back to PLAYING.
6497
6498 2007-10-02  Edward Hervey  <bilboed@bilboed.com>
6499
6500         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6501         (gst_queue_locked_dequeue):
6502         Comment the segment-related code... in the PROPER function.
6503         See #482147 and my commit from yesterday.
6504
6505 2007-10-01  Wim Taymans  <wim.taymans@gmail.com>
6506
6507         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
6508         Also initialize the counter that calculates the first timestamp on a
6509         buffer correctly for non-live sources.
6510
6511 2007-10-01  Edward Hervey  <bilboed@bilboed.com>
6512
6513         * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
6514         Disable code that's breaking the current-time-level reporting.
6515         See #482147
6516
6517 2007-09-30  Sebastian Dröge  <slomo@circular-chaos.org>
6518
6519         * docs/gst/gstreamer-sections.txt:
6520         Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
6521         as they shouldn't show up. Fixes the docs build.
6522
6523 2007-09-29  Sebastien Moutte  <sebastien@moutte.net>
6524         
6525         * gst/gstinfo.h:
6526         Add an explicit variable importation needed on VS6 (only for MSC_VER)
6527         Define M_PI which is used in files which are including gstinfo.h. 
6528         VS6 includes doesn't define it.
6529         * win32/common/libgstbase.def:
6530         * win32/common/libgstcontroller.def:
6531         * win32/common/libgstreamer.def:
6532         Add new exported functions and variables.
6533         * win32/vs6/libgstcontroller.dsp:
6534         * win32/vs6/libgstreamer.dsp:
6535         Update the list of files to build.
6536         
6537 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
6538
6539         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6540
6541         * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
6542         (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
6543         (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
6544         Improve debugging. Fixes #480858.
6545
6546 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
6547
6548         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6549
6550         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
6551         First patch of code cleanups, use the macros and right arguments in the
6552         macros to signal and lock the queue. See #480858.
6553
6554 2007-09-26  Wim Taymans  <wim.taymans@gmail.com>
6555
6556         * gst/gstbus.c: (poll_func):
6557         Improve debugging when dealing with _poll().
6558
6559 2007-09-26  Tim-Philipp Müller  <tim at centricular dot net>
6560
6561         * gst/gstregistryxml.c:
6562           Fix memory leak I introduced a few days ago.
6563
6564 2007-09-26  Michael Smith <msmith@fluendo.com>
6565
6566         * gst/gstbuffer.c: (gst_buffer_finalize):
6567           Make it once again possible to free GstBuffers in the default
6568           build.
6569           The poisoning scribbles on parts of the miniobject we need in
6570           order to free it.
6571           Fixes #480341
6572
6573 2007-09-25  Tim-Philipp Müller  <tim at centricular dot net>
6574
6575         * docs/gst/gstreamer-sections.txt:
6576         * gst/gsttaglist.c:
6577         * gst/gsttaglist.h:
6578         API: add GST_TAG_COMPOSER, fixes #459809.
6579
6580 2007-09-24  Sebastian Dröge  <slomo@circular-chaos.org>
6581
6582         * gst/gstplugin.c:
6583         * gst/gstplugin.h:
6584         Add the 3-clause BSD license and the MIT/X11 license to the license
6585         list. Fixes #479784.
6586
6587 2007-09-24  Tim-Philipp Müller  <tim at centricular dot net>
6588
6589         * docs/faq/getting.xml:
6590           Add Q+A about different GStreamer versions (#364056).
6591
6592 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6593
6594         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6595         (gst_base_sink_event), (gst_base_sink_change_state):
6596         Return correct gboolean from query function.
6597
6598 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6599
6600         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6601         (gst_base_sink_event), (gst_base_sink_query),
6602         (gst_base_sink_change_state):
6603         Simplify latency query.
6604         When not synchronizing, we can report latency without querying the peer
6605         element.
6606
6607 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6608
6609         * gst/gstobject.h:
6610         * gst/gstvalue.c:
6611         Fix small typos in the docs.
6612
6613 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6614
6615         * docs/design/draft-latency.txt:
6616         * docs/design/draft-push-pull.txt:
6617         * docs/design/draft-tagreading.txt:
6618         * docs/design/part-MT-refcounting.txt:
6619         * docs/design/part-activation.txt:
6620         * docs/design/part-block.txt:
6621         * docs/design/part-element-source.txt:
6622         * docs/design/part-events.txt:
6623         * docs/design/part-gstbin.txt:
6624         * docs/design/part-gstelement.txt:
6625         * docs/design/part-gstobject.txt:
6626         * docs/design/part-gstpipeline.txt:
6627         * docs/design/part-messages.txt:
6628         * docs/design/part-preroll.txt:
6629         * docs/design/part-push-pull.txt:
6630         * docs/design/part-qos.txt:
6631         * docs/design/part-query.txt:
6632         * docs/design/part-scheduling.txt:
6633         * docs/design/part-seeking.txt:
6634         * docs/design/part-segments.txt:
6635         * docs/design/part-states.txt:
6636         Documentation updates and typo fixes.
6637
6638 2007-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6639
6640         * plugins/elements/gstfakesink.c:
6641           Add some debug text to error message to indicate that
6642           we errored out on request.
6643
6644         * tools/gst-launch.c:
6645           When the state change to PLAYING fails, check for an
6646           error message on the bus and print it.
6647
6648 2007-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6649
6650         translated by: Jorge González González <aloriel@gmail.com>
6651
6652         * po/LINGUAS:
6653         * po/es.po:
6654           Added Spanish translation.
6655
6656 2007-09-21  Wim Taymans  <wim.taymans@gmail.com>
6657
6658         * plugins/elements/gstqueue.c: (gst_queue_push_one):
6659         Fix printf arguments.
6660
6661 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
6662
6663         * tests/check/generic/states.c:
6664           Improved state change unit test.
6665
6666 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
6667
6668         * gst/gstbin.h:
6669           Move priv to the right place.
6670
6671         * gst/gstsystemclock.c:
6672           Add FIXME: and improve log.
6673
6674         * tests/check/Makefile.am:
6675         * tests/examples/manual/Makefile.am:
6676           Work with all types of registries.
6677
6678 2007-09-19  Wim Taymans  <wim.taymans@gmail.com>
6679
6680         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6681         Don't unref the event after pushing it. Fixes #478401.
6682
6683 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
6684
6685         * .cvsignore:
6686         * tests/examples/manual/.cvsignore:
6687           Ignore registries in any format.
6688
6689 2007-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6690
6691         * gst/glib-compat-private.h:
6692           Add compatibility macro for g_intern_string() for
6693           GLib-2.8 (any reason we can't just bump the
6694           requirement to at least 2.10?)
6695
6696         * gst/gstpadtemplate.h:
6697         * gst/gstelementfactory.c:
6698         * gst/gstregistryxml.c:
6699         * gst/gstregistrybinary.c:
6700           Make GstStaticPadTemplate's templ_name field a const gchar * and fix
6701           up the internal code accordingly.  This shouldn't be a problem, since
6702           there is no reason external code could ever assume the string in such
6703           a structure is dynamically allocated unless it did that itself;  the
6704           use of g_strdup() is private to element factories.  The new code also
6705           saves some memory by putting pad template name strings into the GLib
6706           quark table instead of allocating them dynamically.
6707           Declaring this field constant fixes warnings with g++-4.2 when using
6708           the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
6709
6710 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
6711
6712         * gst/gstelementfactory.c:
6713           Release static caps. Fixes #475723.
6714
6715 2007-09-18  Tim-Philipp Müller  <tim at centricular dot net>
6716
6717         * gst/gstinfo.c:
6718         * gst/gstinfo.h:
6719           Make some internal API take const gchar * instead of just
6720           gchar * to avoid compiler warnings with g++-4.2.2 when
6721           passing string constants (partially fixes #478092).
6722
6723 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
6724
6725         * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
6726         A latency query fails when one of the sinks fail.
6727
6728         * gst/gstelement.c: (gst_element_set_base_time):
6729         Improve debugging.
6730
6731 2007-09-17  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
6732
6733         * gst/gstbin.c: (gst_bin_continue_func):
6734         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
6735         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
6736         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
6737
6738         Fix minor compilation warnings shown with Forte.
6739
6740 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
6741
6742         * plugins/elements/gstqueue.c: (apply_buffer),
6743         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
6744         Measure queue level based on the diff between head and tail timestamps
6745         even when pushing the first buffer.
6746
6747 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
6748
6749         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6750         (gst_base_sink_event), (gst_base_sink_change_state):
6751         Sinks that don't preroll can always be queried for the latency.
6752         Don't post ASYNC start when we are not async.
6753
6754 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
6755
6756         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6757         (gst_queue_handle_sink_event), (gst_queue_chain),
6758         (gst_queue_push_one), (gst_queue_handle_src_query),
6759         (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
6760         * plugins/elements/gstqueue.h:
6761         When downstream returns UNEXPECTED from pushing a buffer, don't try to
6762         push more buffers but allow pushing of EOS and NEWSEGMENT.
6763         Add some more debug info here and there. Fixes #476514.
6764
6765 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
6766
6767         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
6768         (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
6769         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
6770         (gst_base_sink_set_flushing), (gst_base_sink_query),
6771         (gst_base_sink_change_state):
6772         Latency query is allowed after we are prerolled. Introduce a new flag
6773         for this and stop abusing other variables.
6774
6775 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6776
6777         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6778         Push OOB events downstream when we get them in send_event. This allows
6779         the application to insert events in the pipeline.
6780         Add some more comments.
6781
6782 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6783
6784         * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
6785         (do_bin_latency), (gst_bin_change_state_func):
6786         * gst/gstpipeline.c: (gst_pipeline_change_state):
6787         Move latency query from GstPipeline to GstBin so that we can also
6788         use it when async-handling is enabled on bins.
6789
6790 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6791
6792         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
6793         (gst_base_src_do_sync), (gst_base_src_change_state):
6794         Update docs.
6795         Clean up the timestamping and syncing code for pseudo live sources.
6796
6797 2007-09-13  Tim-Philipp Müller  <tim at centricular dot net>
6798
6799         Patch by: Steve Fink  <sphink gmail com>
6800
6801         * docs/manual/appendix-checklist.xml:
6802           Mention less -R switch in the section about debug output (#474055).
6803
6804 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6805
6806         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
6807         Queue can latency to the pipeline up to the configured max size in time.
6808         Report this fact in the latency query.
6809
6810 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
6811
6812         Patch by: Sebastien Moutte <sebastien at moutte dot net>
6813
6814         * libs/gst/controller/gstinterpolation.c:
6815         * libs/gst/controller/gstlfocontrolsource.c:
6816         Use gst_guint64_to_gdouble() when converting from a uint64 or
6817         GstClockTime to double to fix the build on win32. Fixes #474371.
6818
6819 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
6820
6821         * gst/gstbuffer.c: (gst_buffer_finalize):
6822         Implement poisoning for GstBuffer if --enable-poisoning is specified.
6823         When finalizing a buffer the complete struct is filled with 0xff,
6824         thus making a use of the buffer after the final unref impossible.
6825
6826 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
6827
6828         * tests/check/libs/controller.c: (GST_START_TEST):
6829         Use fail_unless_equals_int(a, b) instead of
6830         fail_unless_equals (a == b) to get better output on failures.
6831
6832 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
6833
6834         * tests/check/gst/gsturi.c:
6835           Also check for the other file URI variant on win32.
6836
6837 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
6838
6839         * gst/gsturi.c: (gst_uri_get_location):
6840           If there's no hostname, we want to return 'c:/foo/bar.txt'
6841           and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
6842
6843         * tests/check/gst/gsturi.c:
6844           Unit test for the above and a few more things.
6845
6846 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
6847
6848         * docs/design/part-live-source.txt:
6849         Add docs on how live sources should timestamp.
6850
6851         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
6852         Add some more debug info.
6853         For subclasses that are live and like to sync, add aditional startup
6854         latency to sync time and timestamps so that we timstamp according to the
6855         design doc.
6856
6857 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
6858
6859         * gst/gstbuffer.c:
6860           Also do a g_type_class_ref() for the subbuffer type in
6861           the init function.
6862
6863 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
6864
6865         * docs/gst/gstreamer-sections.txt:
6866         * gst/gstpad.c: (gst_pad_peer_query):
6867         * gst/gstpad.h:
6868         Add function to perform a query on the peer of a pad.
6869         API: gst_pad_peer_query()
6870
6871 2007-09-11  Stefan Kost  <ensonic@users.sf.net>
6872
6873         * tests/check/gst/gstsystemclock.c:
6874           Cleanup the test a little (use gst-logging and not g_message). Improve
6875           test to check if a wait reached the target.
6876
6877 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
6878
6879         * docs/libs/gstreamer-libs-sections.txt:
6880           Add new API to docs and fix the build.
6881
6882 2007-09-10  Wim Taymans  <wim.taymans@gmail.com>
6883
6884         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6885         (gst_base_src_init), (gst_base_src_set_do_timestamp),
6886         (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
6887         (gst_base_src_get_property), (gst_base_src_do_sync):
6888         * libs/gst/base/gstbasesrc.h:
6889         Add property to make the basesrc timestamp buffers based on the current
6890         running time.
6891         API: GstBaseSrc::do-timestamp
6892         API: gst_base_src_set_do_timestamp()
6893         API: gst_base_src_get_do_timestamp()
6894
6895 2007-09-08  Tim-Philipp Müller  <tim at centricular dot net>
6896
6897         * docs/random/release:
6898           Really make sure translations are up-to-date before
6899           a release (#465010).
6900
6901 2007-09-07  Sebastian Dröge  <slomo@circular-chaos.org>
6902
6903         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
6904         Always destroy the timer, also in error cases.
6905
6906 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
6907
6908         * docs/manual/highlevel-xml.xml:
6909         Fix XML example code. Fixes #472714.
6910
6911 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
6912
6913         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6914         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
6915         (gst_base_sink_query):
6916         Protect eos and have_preroll with the OBJECT lock so we don't need to
6917         take the PREROLL lock when querying the latency. Fixes #473846.
6918
6919 2007-09-05  Stefan Kost  <ensonic@users.sf.net>
6920
6921         * gst/gstelement.c:
6922           Give some log-messages a category.
6923
6924 2007-09-04  Wim Taymans  <wim.taymans@gmail.com>
6925
6926         * gst/gststructure.c:
6927         (gst_structure_fixate_field_nearest_fraction):
6928         Fix fraction list fixation code. Take the fraction with the smallest
6929         difference with the target instead of the first one in the list.
6930
6931         * tests/check/gst/gststructure.c: (GST_START_TEST),
6932         (gst_structure_suite):
6933         Added test to verify correct fraction list fixation behaviour.
6934
6935 2007-09-02  Tim-Philipp Müller  <tim at centricular dot net>
6936
6937         * win32/common/libgstreamer.def:
6938           Export gst_bus_add_signal_watch too.
6939
6940 2007-08-30  Wim Taymans  <wim.taymans@gmail.com>
6941
6942         * docs/libs/gstreamer-libs-sections.txt:
6943         Add new methods to docs.
6944
6945         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6946         (gst_base_sink_init), (gst_base_sink_set_ts_offset),
6947         (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
6948         (gst_base_sink_get_property), (gst_base_sink_wait_clock):
6949         * libs/gst/base/gstbasesink.h:
6950         Add ts-offset property to fine-tune the synchronisation.
6951         API: GstBaseSink::ts-offset property
6952         API: gst_base_sink_set_ts_offset()
6953         API: gst_base_sink_get_ts_offset()
6954
6955 2007-08-29  Wim Taymans  <wim.taymans@gmail.com>
6956
6957         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6958         (gst_base_sink_init), (gst_base_sink_set_sync),
6959         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
6960         (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
6961         (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
6962         (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
6963         (gst_base_sink_get_property), (gst_base_sink_change_state):
6964         * libs/gst/base/gstbasesink.h:
6965         Add async property to instruct the sink never to inform the parent about
6966         ASYNC state changes, update docs.
6967         Check argument with g_return_* for the public functions.
6968         API: GstBaseSink::async property
6969         API: gst_base_sink_set_async_enabled()
6970         API: gst_base_sink_is_async_enabled()
6971
6972 2007-08-28  Wim Taymans  <wim.taymans@gmail.com>
6973
6974         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
6975         Improve debugging.
6976
6977         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
6978         (gst_base_src_default_query), (gst_base_src_wait),
6979         (gst_base_src_do_sync), (gst_base_src_change_state):
6980         Rearrange some code so that we can add support for measuring the 
6981         startup latency.
6982
6983 2007-08-27  Stefan Kost  <ensonic@users.sf.net>
6984
6985         * docs/random/ensonic/dynlink.txt:
6986           More thoughs on this.
6987
6988         * plugins/elements/gstcapsfilter.c:
6989           Add bugzilla ticket number to FIXME comment.
6990
6991 2007-08-24  Wim Taymans  <wim.taymans@gmail.com>
6992
6993         * docs/design/part-TODO.txt:
6994         * docs/design/part-block.txt:
6995         Update some docs.
6996
6997 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6998
6999         * gst/Makefile.am:
7000           Revert patch which uses $(gst_headers) instead of $^ because it
7001           breaks make dist.
7002
7003 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7004
7005         * tests/check/gst/gstbin.c: (GST_START_TEST):
7006           Fix leaks in the new unit test.
7007
7008 2007-08-23  Tim-Philipp Müller  <tim at centricular dot net>
7009
7010         * gst/gst.c:
7011           Don't use GST_INFO before the debug system is actually initialised
7012           (shouldn't do any harm, but won't print anything either, so we can
7013           just as well remove it).
7014
7015         * gst/gstinfo.h:
7016           GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
7017           compilers that don't support variadic macros (such as MSVC), should
7018           check for debug_level <= __gst_debug_min as well, since that's the
7019           function called from all the level-specific GST_CAT_*_LOG_OBJECT()
7020           inline helper functions. Should improve performance a bit, but also
7021           makes sure uses of GST_INFO et.al are ignored if the debugging
7022           system isn't initialised yet (instead of printing an assertion
7023           failure).
7024
7025 2007-08-23  Stefan Kost  <ensonic@users.sf.net>
7026
7027         patch by: David Nečas <yeti@physics.muni.cz>
7028
7029         * gst/Makefile.am:
7030           Replace some non portable makefile constructs.
7031
7032 2007-08-21  Stefan Kost  <ensonic@users.sf.net>
7033
7034         * common/gtk-doc-plugins.mak:
7035           Grrrrr. Don't remove the types file on make clean.
7036
7037 2007-08-20  Wim Taymans  <wim.taymans@gmail.com>
7038
7039         * tools/gst-launch.1.in:
7040         Add colorspace to example pipeline. Fixes #458274.
7041
7042 2007-08-20  Tim-Philipp Müller  <tim at centricular dot net>
7043
7044         * docs/random/release:
7045           The release manager should run 'make download-po' before making a
7046           release to make sure translations are up-to-date.
7047
7048         * po/LINGUAS:
7049         * po/be.po:
7050         * po/pl.po:
7051         * po/rw.po:
7052           Add some new translations.
7053
7054 2007-08-17  Wim Taymans  <wim.taymans@gmail.com>
7055
7056         * tools/gst-launch.c: (event_loop), (main):
7057         Don´t try to do any state management when a live pipeline posts
7058         buffering messages.
7059         Also make the buffering string translatable.
7060
7061 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
7062
7063         * gst/gstbin.c: (is_eos), (gst_bin_add_func),
7064         (bin_handle_async_start), (gst_bin_handle_message_func):
7065         Improve debugging.
7066         When adding elements, insert messages into the bus of the newly added
7067         element and make sure the element is the source of the message. This
7068         allows the parent bin to intercept the message and do the
7069         right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
7070         messages to the app (which is not allowed).
7071         Update some docs.
7072
7073         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
7074         Fix testsuite so that is does not work around messages that should not
7075         have been posted in the first place.
7076
7077 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
7078
7079         * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
7080         (update_degree), (gst_bin_sort_iterator_next):
7081         Fix annoying bug in the sorted iterator where a sink that is not really
7082         a sink (when it has downstream links) screwed up the iterator.
7083
7084         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7085         Unit test to verify the fix.
7086
7087 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
7088
7089         * gst/gstmessage.h:
7090         Add some more docs for the messages.
7091
7092         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7093         (gst_base_sink_query):
7094         Add some more debugging.
7095
7096         * tools/gst-launch.c: (event_loop):
7097         When interrupting, don't try to set pipeline to PAUSED twice.
7098
7099 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
7100
7101         
7102         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
7103         (bin_handle_async_start), (gst_bin_handle_message_func):
7104         Move ASYNC_START message posting to where it belongs, similar to
7105         async_done. 
7106         Don't post ASYNC_START when we are in error. 
7107         Post ASYNC_START when we added an async element to a bin.
7108
7109 2007-08-14  Julien MOUTTE  <julien@moutte.net>
7110
7111         * gst/gstindex.c: (gst_index_add_association): Fix index entry
7112         generation from vargs. Fixes #466595.
7113
7114 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
7115
7116         * gst/gstbin.c: (gst_bin_element_set_state):
7117         Always change the state of a NO_PREROLL element even if it has ASYNC
7118         elements inside (in case of a bin).
7119
7120         * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
7121         Unit test for this case.
7122
7123 2007-08-13  Stefan Kost  <ensonic@users.sf.net>
7124
7125         * libs/gst/check/gstbufferstraw.c:
7126         * libs/gst/check/gstcheck.h:
7127         * libs/gst/controller/gstcontroller.c:
7128         * libs/gst/controller/gstcontrolsource.h:
7129         * libs/gst/controller/gstlfocontrolsource.h:
7130         * plugins/elements/gstcapsfilter.h:
7131         * plugins/elements/gstfdsink.h:
7132         * plugins/elements/gstfdsrc.h:
7133           Add more missing docs.
7134
7135 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
7136
7137         * gst/gststructure.c:
7138         Add Since tag to docs.
7139
7140 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
7141
7142         * docs/gst/gstreamer-sections.txt:
7143         * gst/gststructure.c: (gst_structure_get_uint):
7144         * gst/gststructure.h:
7145         Add function to get uint from a structure.
7146         API: gst_structure_get_uint()
7147
7148 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
7149
7150         * gst/gstcaps.c: (gst_caps_set_simple_valist),
7151         (gst_caps_intersect):
7152         Fix proper check for simple caps.
7153
7154 2007-08-10  Stefan Kost  <ensonic@users.sf.net>
7155
7156         * docs/gst/Makefile.am:
7157         * docs/libs/Makefile.am:
7158           Remove cruft and do some cleanups.
7159
7160         * docs/gst/gstreamer-docs.sgml:
7161         * docs/libs/gstreamer-libs-docs.sgml:
7162           Prepare for comming gtkdoc features (rebase against online docs).
7163
7164 2007-08-10  Michael Smith <msmith@fluendo.com>
7165
7166         * docs/gst/gstreamer-sections.txt:
7167           Add gst_registry_add_path to docs.
7168
7169 2007-08-10  Michael Smith <msmith@fluendo.com>
7170
7171         * gst/gstregistry.h:
7172           Add gst_registry_add_path, which was missing from this header.
7173
7174 2007-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7175
7176         * libs/gst/controller/gstlfocontrolsource.c:
7177           Printf format fix.
7178
7179 2007-08-09  Philippe Kalaf <philippe.kalaf@collabora.co.uk>
7180
7181         * libs/gst/base/gstbasesink.c:
7182           Don't send an async_start message during downwards state change if 
7183           target state is less than READY
7184
7185 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7186
7187         translated by: Gabor Kelemen <kelemeng@gnome.hu>
7188
7189         * po/LINGUAS:
7190         * po/hu.po:
7191           Added Hungarian translation.
7192
7193 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7194
7195         * po/fi.po:
7196         * po/it.po:
7197         * po/nl.po:
7198         * po/sv.po:
7199         * po/uk.po:
7200           Updated translations.
7201
7202 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
7203
7204         * libs/gst/controller/Makefile.am:
7205         Dist gstlfocontrolsourceprivate.h
7206
7207 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
7208
7209         * docs/libs/gstreamer-libs.types:
7210         Don't register the enum type gst_lfo_waveform_get_type() in the
7211         .types file - only GObject derived types belong.
7212
7213 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
7214
7215         Patch by: <arenevier at fdn dot fr>
7216
7217         * gst/gstbuffer.h:
7218         Remove comma from last element in enum to avoid compile errors when
7219         using -pendantic. Fixes #464366.
7220
7221 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
7222
7223         * docs/design/part-TODO.txt:
7224         Add some more TODO items
7225
7226         * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
7227         Improve debugging.
7228
7229         * gst/gstcaps.c: (gst_caps_intersect):
7230         Optimize trivial intersection case between identical caps pointers.
7231
7232         * gst/gstelement.c: (gst_element_continue_state),
7233         (gst_element_set_state_func):
7234         * gst/gstpad.c:
7235         Fix spelling and grammar mistakes.
7236
7237 2007-08-05  Stefan Kost  <ensonic@users.sf.net>
7238
7239         * po/POTFILES.in:
7240         * po/POTFILES.skip:
7241           Update POTFILES. Fixes #461599.
7242
7243 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
7244
7245         * gst/gst.c:
7246         Fix confusing typo in debug output.
7247
7248 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
7249
7250         reviewed by: Stefan Kost <ensonic@users.sf.net>
7251
7252         * libs/gst/controller/Makefile.am:
7253         * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
7254         (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
7255         (gst_lfo_control_source_new),
7256         (gst_lfo_control_source_set_waveform),
7257         (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
7258         (gst_lfo_control_source_finalize),
7259         (gst_lfo_control_source_dispose),
7260         (gst_lfo_control_source_set_property),
7261         (gst_lfo_control_source_get_property),
7262         (gst_lfo_control_source_class_init):
7263         * libs/gst/controller/gstlfocontrolsource.h:
7264         * libs/gst/controller/gstlfocontrolsourceprivate.h:
7265         API: Add GstLFOControlSource, a control source that gives values
7266         for specific timestamps based on several periodic waveforms.
7267         Fixes #459717.
7268
7269         * tests/check/libs/controller.c: (GST_START_TEST),
7270         (gst_controller_suite):
7271         * docs/libs/gstreamer-libs-docs.sgml:
7272         * docs/libs/gstreamer-libs-sections.txt:
7273         * docs/libs/gstreamer-libs.types:
7274         Add documentation and unit tests for GstLFOControlSource.
7275
7276 2007-08-03  Jan Schmidt  <thaytan@mad.scientist.com>
7277
7278         * configure.ac:
7279         Back to CVS
7280
7281 === release 0.10.14 ===
7282
7283 2007-08-03  Jan Schmidt <thaytan@mad.scientist.com>
7284
7285         * configure.ac:
7286           releasing 0.10.14, "Breathing Vacuum"
7287
7288 2007-08-02  Tim-Philipp Müller  <tim at centricular dot net>
7289
7290         * gst/gstelement.c: (gst_element_class_set_details_simple):
7291         * gst/gstelement.h:
7292           Make strings passed to gst_element_class_set_details_simple()
7293           constant, as they should be (#462752).
7294
7295 2007-08-02  Wim Taymans  <wim.taymans@gmail.com>
7296
7297         * gst/gstbin.c: (gst_bin_change_state_func),
7298         (bin_handle_async_done), (gst_bin_handle_message_func):
7299         Don't forget about the fact that some element went ASYNC even after a
7300         resync. This makes us post the ASYNC_DONE message correctly.
7301         Fixes #462558.
7302
7303 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
7304
7305         * gst/gstregistry.c: (gst_registry_add_feature):
7306         When replacing an existing feature in the registry, make sure to
7307         continue holding a reference until we've replaced the name string
7308         within our feature hash table. Make sure to use g_hash_table_replace
7309         instead of g_hash_table_insert to ensure the new name string is used
7310         as a key instead of the old one that we're about to free.
7311         Fixes: #462085
7312
7313 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
7314
7315         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7316         (gst_plugin_feature_set_name):
7317         Revert patch from #459466 until after the release and we can work
7318         out exactly what the problem is (if any).
7319
7320 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
7321
7322         * docs/gst/gstreamer-sections.txt:
7323         * gst/gsttaglist.c:
7324         * gst/gsttaglist.h:
7325           API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
7326
7327 2007-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
7328
7329         * docs/libs/Makefile.am:
7330         Include our build-prefix libs and includes before the generic ones to
7331         avoid linking against the installed libs when we want the build-tree
7332         ones.
7333
7334 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
7335
7336         Patch by: Steve Fink  <sphink gmail com>
7337
7338         * docs/pwg/building-testapp.xml:
7339           Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
7340           if people try to build or install the example from the plugin
7341           template against a GStreamer from package using the configure
7342           defaults.
7343
7344 2007-07-25  Tim-Philipp Müller  <tim at centricular dot net>
7345
7346         Patch by: Steve Fink  <sphink gmail com>
7347
7348         * tools/gst-inspect.1.in:
7349           Document --print-all and --print-plugin-auto-install-info command
7350           line options in man page.
7351
7352 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
7353
7354         * docs/gst/gstreamer-sections.txt:
7355         Add docs for new api function.
7356
7357 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
7358
7359         * gst/gstelementfactory.c: (gst_element_factory_has_interface):
7360         * gst/gstelementfactory.h:
7361         API: gst_element_factory_has_interface()
7362         Added method to check if an element factory implements a named
7363         interface.
7364
7365 2007-07-25  Stefan Kost  <ensonic@users.sf.net>
7366
7367         * configure.ac:
7368         * docs/gst/gstreamer.types.in:
7369           Another conditional doc check.
7370
7371         * gst/gstmessage.c:
7372         * gst/gstparamspecs.h:
7373         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7374         * gst/gstvalue.c:
7375         * gst/gstxml.h:
7376           API-doc fixes.
7377
7378 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7379
7380         * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
7381         (gst_registry_binary_load_feature),
7382         (gst_registry_binary_load_plugin),
7383         (gst_registry_binary_read_cache):
7384           Print error just once and with additional info.
7385
7386 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7387
7388         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
7389         (helper_find_suggest), (helper_find_get_length),
7390         (gst_type_find_helper_get_range), (buf_helper_find_suggest),
7391         (gst_type_find_helper_for_buffer):
7392           Cleanup the typefindhelper code and add private doc comments.
7393
7394 2007-07-24  Edward Hervey  <bilboed@bilboed.com>
7395
7396         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7397         (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
7398         Fix capsfilter for cases where the caps set on capsfilter will provide
7399         additional information.
7400         Fixes #449197
7401
7402 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7403
7404         * gst/gsttypefindfactory.c:
7405           Fix docs that recommened wrong function to use.
7406
7407 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7408
7409         * tools/gst-inspect.c: (print_plugin_features):
7410           Also give media-type for typefinders in element output.
7411
7412 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7413
7414         * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
7415         (gst_registry_remove_features_for_plugin_unlocked),
7416         (gst_registry_add_feature), (gst_registry_remove_feature),
7417         (gst_registry_lookup_feature_locked):
7418         * gst/gstregistry.h:
7419           Speed up gst_registry_lookup_feature_locked() by using a hashmap.
7420           Fixes #459501.
7421
7422 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7423
7424         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7425         (gst_plugin_feature_set_name):
7426           Avoid double memory usage for pluginfeature names. Fixes #459466.
7427
7428 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
7429
7430         * gst/gstpad.h:
7431           Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
7432           driving the pipeline may need to explicitly check for NOT_LINKED as
7433           well, since IS_FATAL doesn't cover that.
7434
7435 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
7436
7437         * docs/pwg/advanced-types.xml:
7438           Fix typo and duplicate entry in video formats list.
7439
7440 2007-07-22  Sebastian Dröge  <slomo@circular-chaos.org>
7441
7442         * libs/gst/controller/gstinterpolation.c:
7443         Also round to the nearest int when using cubic interpolation.
7444
7445 2007-07-19  Jan Schmidt  <thaytan@noraisin.net>
7446
7447         * libs/gst/controller/gstinterpolation.c:
7448         When linearly interpolating integer types, round to the nearest int
7449         by adding 0.5. Don't do it for float/double types.
7450         Fixes the failing controller test on my machine, which is somehow
7451         rounding differently than on the buildbots.
7452
7453 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7454
7455         * tools/gst-plot-timeline.py:
7456           Better log parsing (categories can have -). Adjust text vs. lines, so
7457           that they span the same y-range.        
7458
7459 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7460
7461         * docs/random/ensonic/audiobaseclasses.txt:
7462         * docs/random/ensonic/dynlink.txt:
7463         * docs/random/ensonic/profiling.txt:
7464           Save my thoughts.
7465
7466         * docs/random/moving-plugins:
7467           Add note to use g_assert type macros.
7468
7469 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7470
7471         * configure.ac:
7472         * libs/gst/check/Makefile.am:
7473           Add libm check as we use in for plugins.
7474
7475 2007-07-18  Jan Schmidt  <thaytan@noraisin.net>
7476
7477         * gst/gstbin.c: (gst_bin_continue_func):
7478         Check that the state_cookie hasn't changed since the continue_func
7479         was scheduled. Avoids problems where the state changes back to
7480         something it shouldn't be because it was changed in the meantime.
7481
7482 2007-07-17  Stefan Kost  <ensonic@users.sf.net>
7483
7484         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
7485         (gst_registry_binary_save_string),
7486         (gst_registry_binary_save_pad_template),
7487         (gst_registry_binary_save_feature),
7488         (gst_registry_binary_save_plugin),
7489         (gst_registry_binary_load_feature),
7490         (gst_registry_binary_load_plugin),
7491         (gst_registry_binary_read_cache):
7492           Fix memory leak. Be less verbose in the log.
7493
7494 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7495
7496         * tests/check/elements/.cvsignore:
7497         Add file to cvsignore as commanded.
7498
7499 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7500
7501         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
7502         (mq_dummypad_event), (run_output_order_test):
7503         Use a GStaticMutex to protect all cases where libcheck
7504         fail_if/fail_unless macros might be called from multiple threads
7505         simultaneously to avoid errors like:
7506           "check_pack.c:107: :-1081725400:Bad message type arg"
7507
7508 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7509
7510         * tests/check/pipelines/stress.c: (GST_START_TEST):
7511         Make sure we set the pipeline back to the NULL state before
7512         dropping our final reference.
7513
7514 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7515
7516         * tests/check/elements/tee.c: (GST_START_TEST):
7517         Make the tee stress-test a little less stressful so it doesn't just
7518         time out on slow-machines, and remove a small race when it's starting 
7519         up by adding a get_state() call.
7520
7521 2007-07-16  Stefan Kost  <ensonic@users.sf.net>
7522
7523         * gst/gst.c:
7524           Avoid reading registry twice on startup. Fixes #457322.
7525
7526 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
7527
7528         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7529         * pkgconfig/gstreamer-check.pc.in:
7530         Substitute the CFLAGS for libcheck into our .pc file too so that
7531         dependent modules will pick it up properly if libcheck is installed
7532         into some other prefix.
7533
7534 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
7535
7536         * configure.ac:
7537         Revert the pkg-config check for libcheck, since it pulls in the
7538         wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
7539         a proper solution, either from the check project, or something else.
7540
7541 2007-07-12  Stefan Kost  <ensonic@users.sf.net>
7542
7543         * configure.ac:
7544           Use pkg-config to locate check.
7545
7546 2007-07-10  Stefan Kost  <ensonic@users.sf.net>
7547
7548         * gst/gsttaglist.c:
7549           Fix doc syntax.
7550
7551         * gst/gstutils.c:
7552         * gst/gstutils.h:
7553           Add deprecation guards.
7554
7555         * libs/gst/base/gstcollectpads.h:
7556           Don't document object (this is implicitly private).
7557
7558 2007-07-08  Tim-Philipp Müller  <tim at centricular dot net>
7559
7560         * gst/gststructure.c: (gst_structure_parse_value):
7561           When deserialising foo=bar without a type cast, check if it's a
7562           boolean before falling back to a string type, otherwise things like
7563           audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
7564           because the filtercaps end up having a signed=(string)true field,
7565           which causes problems later when intersection caps.
7566
7567         * tests/check/gst/gststructure.c: (GST_START_TEST):
7568           Add a unit test for this.
7569
7570 2007-07-06  Sebastian Dröge  <slomo@circular-chaos.org>
7571
7572         Reviewed by: Stefan Kost <ensonic@users.sf.net>
7573
7574         * libs/gst/controller/Makefile.am:
7575         * libs/gst/controller/gstcontroller.c:
7576         (gst_controlled_property_add_interpolation_control_source),
7577         (gst_controlled_property_new), (gst_controlled_property_free),
7578         (gst_controller_find_controlled_property),
7579         (gst_controller_new_valist), (gst_controller_new_list),
7580         (gst_controller_new), (gst_controller_remove_properties_valist),
7581         (gst_controller_remove_properties_list),
7582         (gst_controller_remove_properties),
7583         (gst_controller_set_property_disabled),
7584         (gst_controller_set_disabled), (gst_controller_set_control_source),
7585         (gst_controller_get_control_source), (gst_controller_get),
7586         (gst_controller_sync_values), (gst_controller_get_value_array),
7587         (_gst_controller_dispose), (gst_controller_get_type),
7588         (gst_controlled_property_set_interpolation_mode),
7589         (gst_controller_set), (gst_controller_set_from_list),
7590         (gst_controller_unset), (gst_controller_unset_all),
7591         (gst_controller_get_all), (gst_controller_set_interpolation_mode):
7592         * libs/gst/controller/gstcontroller.h:
7593         * libs/gst/controller/gstcontrollerprivate.h:
7594         * libs/gst/controller/gstcontrolsource.c:
7595         (gst_control_source_class_init), (gst_control_source_init),
7596         (gst_control_source_get_value),
7597         (gst_control_source_get_value_array), (gst_control_source_bind):
7598         * libs/gst/controller/gstcontrolsource.h:
7599         * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
7600         (gst_object_get_control_source):
7601         * libs/gst/controller/gstinterpolation.c:
7602         (gst_interpolation_control_source_find_control_point_node),
7603         (gst_interpolation_control_source_get_first_value),
7604         (_interpolate_none_get), (interpolate_none_get),
7605         (interpolate_none_get_boolean_value_array),
7606         (interpolate_none_get_enum_value_array),
7607         (interpolate_none_get_string_value_array),
7608         (_interpolate_trigger_get), (interpolate_trigger_get),
7609         (interpolate_trigger_get_boolean_value_array),
7610         (interpolate_trigger_get_enum_value_array),
7611         (interpolate_trigger_get_string_value_array):
7612         * libs/gst/controller/gstinterpolationcontrolsource.c:
7613         (gst_control_point_free), (gst_interpolation_control_source_reset),
7614         (gst_interpolation_control_source_new),
7615         (gst_interpolation_control_source_set_interpolation_mode),
7616         (gst_interpolation_control_source_bind),
7617         (gst_control_point_compare), (gst_control_point_find),
7618         (gst_interpolation_control_source_set_internal),
7619         (gst_interpolation_control_source_set),
7620         (gst_interpolation_control_source_set_from_list),
7621         (gst_interpolation_control_source_unset),
7622         (gst_interpolation_control_source_unset_all),
7623         (gst_interpolation_control_source_get_all),
7624         (gst_interpolation_control_source_get_count),
7625         (gst_interpolation_control_source_init),
7626         (gst_interpolation_control_source_finalize),
7627         (gst_interpolation_control_source_dispose),
7628         (gst_interpolation_control_source_class_init):
7629         * libs/gst/controller/gstinterpolationcontrolsource.h:
7630         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
7631         API: Refactor GstController into the core controller which can take
7632         a GstControlSource for providing actual values for timestamps.
7633         Implement a interpolation control source and use this for backward
7634         compatibility, deprecate a bunch of functions that are now handled
7635         by GstControlSource or GstInterpolationControlSource.
7636         Make it possible to disable the controller completely or only for
7637         specific properties. Fixes #450711.
7638         * docs/libs/gstreamer-libs-docs.sgml:
7639         * docs/libs/gstreamer-libs-sections.txt:
7640         * docs/libs/gstreamer-libs.types:
7641         Add new functions and classes to the docs.
7642         * tests/check/libs/controller.c: (GST_START_TEST),
7643         (gst_controller_suite):
7644         * tests/examples/controller/audio-example.c: (main):
7645         Port unit test and example to the new API and add some new
7646         unit tests.
7647
7648 2007-07-05  Wim Taymans  <wim.taymans@gmail.com>
7649
7650         Patch by: Mark Nauwelaerts <manauw at skynet be>
7651
7652         * plugins/elements/gstmultiqueue.c:
7653         (gst_multi_queue_get_internal_links), (apply_buffer),
7654         (single_queue_overrun_cb), (gst_single_queue_new):
7655         Implement non-default GstPadIntLinkFunction for multiqueue pads so that
7656         the pipeline layout can be tracked correctly. Fixes #453732.
7657
7658 2007-07-05  Stefan Kost  <ensonic@users.sf.net>
7659
7660         * docs/gst/Makefile.am:
7661         * docs/libs/Makefile.am:
7662         * docs/plugins/Makefile.am:
7663           Simplify --extra-dir as gtkdoc scans recursively.
7664
7665 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
7666
7667         * tools/gst-launch.c: (main):
7668         When we got an error, there is no point in waiting for preroll when
7669         shutting down.
7670
7671 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
7672
7673         * plugins/elements/gsttee.c: (gst_tee_base_init),
7674         (gst_tee_request_new_pad), (gst_tee_release_pad),
7675         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
7676         (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
7677         (gst_tee_chain):
7678         Be a lot smarter when deciding what srcpad to use for proxying
7679         the buffer_alloc. Also handle pad added/removed when doing so.
7680         Fixes #357959.
7681         Keep track of what pads we already pushed on in case we have pads
7682         added/removed while pushing. Fixes #374639 
7683
7684         * tests/check/Makefile.am:
7685         * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
7686         (tee_suite):
7687         Added unit test for pad resync.
7688
7689 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7690
7691         * po/nl.po:
7692         * po/sv.po:
7693           Updated translations.
7694
7695 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7696
7697         translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
7698
7699         * po/LINGUAS:
7700         * po/fi.po:
7701           Added new Finnish translation.
7702
7703 2007-06-28  Wim Taymans  <wim@fluendo.com>
7704
7705         * plugins/elements/gstmultiqueue.c: (apply_buffer),
7706         (single_queue_overrun_cb):
7707         When figuring out when a queue is filled, use our internal time estimate
7708         based on segments, just like check_full does.
7709
7710 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
7711
7712         * gst/gstminiobject.c: (gst_mini_object_get_type):
7713           Remove 3 do-nothing methods.
7714
7715 2007-06-27  Wim Taymans  <wim@fluendo.com>
7716
7717         Patch by: Tim Angus <tim at ngus dot net>
7718
7719         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7720         (gst_capsfilter_set_property):
7721         Take a reference instead of a copy when setting "caps".
7722         Fix documentation to clarify this behaviour. Fixes #449414.
7723
7724 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
7725
7726         * gst/gstindexfactory.c: (gst_index_factory_get_type):
7727         * gst/gstplugin.c: (gst_plugin_init):
7728         * gst/gstpluginfeature.c: (gst_plugin_feature_init):
7729         * gst/gstquery.c: (gst_query_get_type):
7730         * gst/gstregistry.c: (gst_registry_init):
7731         * gst/gsturi.c: (gst_uri_handler_base_init):
7732           Remove empty instance_init() functions to save relocs and lessen the
7733           noise. Remove some of the function prototypes that are doubled by
7734           G_DEFINE_TYPE.
7735           
7736 2007-06-27  Wim Taymans  <wim@fluendo.com>
7737
7738         Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
7739
7740         * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
7741         Add peer and direction in the XML serialisation of ghostpads.
7742         Fixes #449226.
7743
7744 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
7745
7746         * configure.ac:
7747           Preserve useful information, thanks Tim.
7748
7749 2007-06-26  Jan Schmidt  <thaytan@noraisin.net>
7750
7751         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
7752         (gst_single_queue_flush), (apply_segment), (apply_buffer),
7753         (gst_single_queue_push_one), (gst_multi_queue_loop),
7754         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
7755         (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
7756         (compute_high_id), (gst_single_queue_new):
7757         * plugins/elements/gstmultiqueue.h:
7758         Take the multiqueue lock when updating the fill level so we don't get
7759         confused. 
7760
7761         After applying a buffer or event on the src pad segment, make sure to
7762         call gst_data_queue_limits_changed() to get the data queue to unblock
7763         and check the filled state again.
7764         
7765         Rework the not-linked pad handling so the logic is that not-linked 
7766         pads can push as fast as they like, but only so they never get 
7767         ahead of any linked pads.
7768
7769         * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
7770         (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
7771         (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
7772
7773         Add a test to check that not-linked pads always stay behind
7774         linked pads.
7775
7776         Fixes: #430682
7777
7778 2007-06-26  Jan Schmidt  <thaytan@mad.scientist.com>
7779
7780         * docs/random/release:
7781           Some updates to the release procedure.
7782
7783 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
7784
7785         * gst/gstelementfactory.c: (__gst_element_details_clear):
7786           Microoptimization that saves stunning 80 bytes.
7787
7788 2007-06-25  Stefan Kost  <ensonic@users.sf.net>
7789
7790         * docs/plugins/gstreamer-plugins.args:
7791         * docs/plugins/inspect/plugin-coreelements.xml:
7792         * docs/plugins/inspect/plugin-coreindexers.xml:
7793           Update docs with caps info.
7794
7795 2007-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7796
7797         * po/it.po:
7798           Updated Italian translation.
7799
7800 2007-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7801
7802         * ChangeLog:
7803         * po/vi.po:
7804           Update Vietnamese translations.
7805
7806 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
7807
7808         * libs/gst/base/gstbasesink.c:
7809           Remove unused signal enum.
7810
7811 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
7812
7813         * docs/gst/gstreamer-sections.txt:
7814         * gst/gstelement.c:
7815         * gst/gstutils.c: (gst_type_register_static_full):
7816         Beef up and include the docs for gst_type_register_static_full and
7817         gst_element_class_set_details_simple and add the API keyword
7818         in the ChangeLog.
7819
7820 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
7821
7822         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
7823         (update_time_level), (gst_single_queue_push_one),
7824         (gst_multi_queue_chain), (gst_multi_queue_sink_event),
7825         (single_queue_overrun_cb), (single_queue_underrun_cb),
7826         (single_queue_check_full):
7827         Fix setting max-* properties after adding queues.
7828         Use IS_FILLED for checking visible items.
7829         Signal overrun if multiple queues overrun.
7830         Add extra debug output.
7831         Patch by: Wim Taymans <wim@fluendo.com>
7832
7833 2007-06-21  Stefan Kost  <ensonic@users.sf.net>
7834
7835         * gst/gstelement.c: (gst_element_class_set_details_simple):
7836         * gst/gstelement.h:
7837         * gst/gstutils.c: (gst_type_register_static_full):
7838         * gst/gstutils.h:
7839         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
7840         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
7841         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
7842         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
7843         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
7844         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
7845         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
7846         * plugins/elements/gstidentity.c: (gst_identity_base_init):
7847         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
7848         * plugins/elements/gstqueue.c: (gst_queue_base_init),
7849         (apply_buffer), (gst_queue_chain):
7850         * plugins/elements/gsttee.c: (gst_tee_base_init):
7851         * plugins/elements/gsttypefindelement.c:
7852         (gst_type_find_element_base_init),
7853         (gst_type_find_element_class_init):
7854           Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
7855           API: add gst_type_register_static_full
7856           API: add gst_element_class_set_details_simple
7857
7858 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
7859
7860         * docs/pwg/advanced-types.xml:
7861           Fix typo in iana.org URI.
7862
7863 2007-06-19  Andy Wingo  <wingo@pobox.com>
7864
7865         * tests/check/pipelines/simple-launch-lines.c
7866         (test_state_change_returns): Enable pull-mode tests now that
7867         basesink has been fixed.
7868
7869         * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
7870         Changed from gst_base_sink_is_prerolled, reversing the sense of
7871         the return value. Returns FALSE also if the sink is in pull mode,
7872         in which case it needs no preroll.
7873         (gst_base_sink_query, gst_base_sink_change_state): Update for
7874         needs_preroll change.
7875         (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
7876         chaining up, in which we return SUCCESS directly if we activated
7877         in pull mode instead of ASYNC. Involves countering an async_start
7878         message sent before chaining up; not sure if this is correct, in
7879         an ideal world we only send async-start when activating in push
7880         mode.
7881
7882         * tests/check/pipelines/simple-launch-lines.c
7883         (test_state_change_returns): New test, partially disabled until
7884         basesink is fixed.
7885
7886 2007-06-19  Wim Taymans  <wim@fluendo.com>
7887
7888         * plugins/elements/gstmultiqueue.c: (apply_buffer),
7889         (gst_multi_queue_sink_event):
7890         Fix event leak.
7891
7892 2007-06-19  Wim Taymans  <wim@fluendo.com>
7893
7894         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
7895         (gst_bin_change_state_func), (bin_push_state_continue),
7896         (bin_handle_async_start), (bin_handle_async_done),
7897         (gst_bin_handle_message_func):
7898         Move the common code for posting state-change messages into
7899         one function.
7900         Broadcast the state signal after we posted the messages.
7901         Mark the bin as busy when it's doing a state-change.
7902         Make sure async-start/done messages don't interfere with the bin's
7903         state when it's busy.
7904         After the state change, let the bin check which elements completed the
7905         state change while it was busy so that it can update its state.
7906
7907 2007-06-19  Jan Schmidt  <thaytan@mad.scientist.com>
7908
7909         * docs/random/release:
7910         Add a note about updating the doap file to the release checklist
7911
7912 2007-06-18  Wim Taymans  <wim@fluendo.com>
7913
7914         * plugins/elements/gstmultiqueue.c: (apply_buffer),
7915         (gst_single_queue_push_one), (gst_multi_queue_chain),
7916         (gst_multi_queue_sink_event):
7917         Make sure we don't reference the buffer/event after we have given away
7918         ownership in the queue.
7919
7920 2007-06-18  Wim Taymans  <wim@fluendo.com>
7921
7922         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
7923         (gst_multi_queue_chain), (gst_multi_queue_sink_event):
7924         Update queue state _after_ adding the item in the queue because else we
7925         could end up being full without the element added yet.
7926
7927 2007-06-18  Wim Taymans  <wim@fluendo.com>
7928
7929         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
7930         (gst_bin_remove_func), (gst_bin_get_state_func),
7931         (gst_bin_element_set_state), (gst_bin_continue_func),
7932         (bin_push_state_continue), (bin_handle_async_start),
7933         (bin_handle_async_done), (gst_bin_handle_message_func):
7934         * gst/gstbin.h:
7935         Immediatly commit the toplevel bin state when receiving an async-done
7936         message. This enables us to avoid spawning a thread to commit the state
7937         in some common cases and it also avoids some races.
7938         Avoid spawning a state thread when adding/removing async elements to a
7939         toplevel bin. Instead we immediatly update the bin state.
7940         Get rid of iterating all the children when getting the state in the bin
7941         because it is now always up-to-date.
7942         Fix bug where locked elements would always return _SUCCESS even it they
7943         returned NO_PREROLL before being locked.
7944         Fix the order of the state_change, async-start/done messages that was
7945         sometimes incorrect.
7946         Mark the state_dirty field as deprecated, we don't need it anymore as we
7947         are always up-to-date.
7948
7949         * gst/gstelement.c: (gst_element_get_state_func),
7950         (gst_element_continue_state):
7951         Small debug inprovements.
7952         Return the previous element state return when nothing is pending instead
7953         of blindly returning SUCCESS.
7954
7955         * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
7956         (gst_sinks_suite):
7957         Add a whole bunch of new testcases.
7958
7959 2007-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
7960
7961         * po/uk.po:
7962         * po/vi.po:
7963           Update translations.
7964
7965 2007-06-15  Jan Schmidt  <thaytan@mad.scientist.com>
7966
7967         * gst/gstpad.c:
7968         Fix typo in the docs.
7969
7970 2007-06-15  Wim Taymans  <wim@fluendo.com>
7971
7972         * docs/libs/gstreamer-libs-sections.txt:
7973         Add docs for new methods.
7974
7975 2007-06-15  Wim Taymans  <wim@fluendo.com>
7976
7977         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
7978         (gst_multi_queue_item_new):
7979         Don't use GSlice because we don't depend on >= 2.10 yet.
7980
7981 2007-06-15  Wim Taymans  <wim@fluendo.com>
7982
7983         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
7984         (update_time_level), (apply_segment), (apply_buffer),
7985         (gst_single_queue_push_one), (gst_multi_queue_item_new),
7986         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
7987         (gst_multi_queue_sink_event), (single_queue_overrun_cb),
7988         (single_queue_underrun_cb), (single_queue_check_full):
7989         Remove debug printf.
7990
7991 2007-06-15  Wim Taymans  <wim@fluendo.com>
7992
7993         * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
7994         (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
7995         (gst_data_queue_set_flushing), (gst_data_queue_push),
7996         (gst_data_queue_pop), (gst_data_queue_drop_head),
7997         (gst_data_queue_limits_changed), (gst_data_queue_get_level):
7998         * libs/gst/base/gstdataqueue.h:
7999         Various cleanups.
8000         Added methods to get the current levels and to inform the queue that the
8001         'full' limits changed.
8002
8003         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
8004         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
8005         (gst_single_queue_flush), (update_time_level), (apply_segment),
8006         (apply_buffer), (gst_single_queue_push_one),
8007         (gst_multi_queue_item_steal_object),
8008         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
8009         (gst_multi_queue_loop), (gst_multi_queue_chain),
8010         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
8011         (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
8012         (gst_multi_queue_src_query), (single_queue_overrun_cb),
8013         (single_queue_underrun_cb), (single_queue_check_full),
8014         (gst_single_queue_new):
8015         Keep track of time in the queue by measuring the difference between
8016         running_time on input and output. This gives more accurate results and
8017         can compensate for segments correctly.
8018         Make a queue by default only 5 buffers deep. We will now increase the
8019         buffer size depending on the filledness of the other queues.
8020         Factor out commong flush code.
8021         Make sure we don't add additional refcounts to buffers when we can avoid
8022         it.
8023         Propagate GstFlowReturn differently.
8024         Use GSlice for intermediate GstMultiQueueItems.
8025         Keep track of EOS.
8026         Resize queues on over and underruns based on filled level of other
8027         queues.
8028         When checking if the queue is filled, prefer to measure in time if we
8029         can and fall back to bytes when no time is known.
8030
8031         * plugins/elements/gstqueue.c:
8032         Fix return value.
8033
8034 2007-06-15  Wim Taymans  <wim@fluendo.com>
8035
8036         * libs/gst/base/gstbasetransform.c:
8037         (gst_base_transform_sink_event):
8038         Work around the brokenness of the event vmethod in basetransform. Prefer
8039         to return TRUE when the subclass returned FALSE (meaning don't forward
8040         the event). 
8041
8042         * libs/gst/base/gstbasetransform.h:
8043         Clarify the docs.
8044
8045 2007-06-15  Wim Taymans  <wim@fluendo.com>
8046
8047         * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
8048         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
8049         (gst_base_src_default_query), (gst_base_src_get_range),
8050         (gst_base_src_start):
8051         * tests/check/pipelines/parse-launch.c: (setup_pipeline):
8052         Improve debugging.
8053
8054 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
8055
8056         * docs/pwg/advanced-types.xml:
8057           Added more formats to caps table.
8058
8059 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
8060
8061         * tools/gst-launch.c: (main):
8062           Remove crufy code. GOption does not need this workaround.
8063
8064 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
8065
8066         * libs/gst/controller/gstcontroller.c:
8067         (gst_controlled_property_set_interpolation_mode):
8068           Fix wrong getter for enums in controller.
8069
8070 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8071
8072         * libs/gst/check/gstcheck.c: (gst_check_init):
8073           Intercept criticals and warnings in the Gst-Phonon log domain, so
8074           ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
8075           well.
8076         
8077 2007-06-14  Edward Hervey  <edward@fluendo.com>
8078
8079         * gst/gstparamspecs.c: (_gst_param_fraction_validate):
8080         Since this file doesn't include "gst.h" it will not go through the
8081         macros that disable GST_LOG if debugging was disabled.
8082
8083 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8084
8085         * libs/gst/check/Makefile.am:
8086         * libs/gst/check/gstcheck.h:
8087         * pkgconfig/gstreamer-check-uninstalled.pc.in:
8088         * pkgconfig/gstreamer-check.pc.in:
8089           Ugly 'fix' for the controller unit test on the p5 bot: in
8090           fail_unless_equals_float() check whether the values are 'almost
8091           equal' by allowing a small absolute error, which should be good
8092           enough for our use cases (normal numbers and values close to 0).
8093           Proper fixage left to floating point arithmetic aficionados.
8094
8095 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
8096
8097         * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
8098         (gst_base_sink_render_object), (gst_base_sink_get_position):
8099           Add two breaks thats where missing.
8100
8101 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8102
8103         * docs/libs/gstreamer-libs-sections.txt:
8104         * libs/gst/check/gstcheck.h:
8105           API: add fail_unless_equals_float() and assert_equals_float().
8106           Add documentation for some of the macros.
8107
8108         * tests/check/libs/controller.c: (GST_START_TEST):
8109           Use newly-added asserts.
8110
8111 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
8112
8113         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
8114           Show the caps change in the log to help spotting the case of not
8115           exactly matching caps.
8116
8117 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8118
8119         * docs/pwg/building-boiler.xml:
8120           Fix typos, spotted by Thijs Vermeir (#447190).
8121
8122 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8123
8124         * docs/plugins/tmpl/.cvsignore:
8125         Ignore file to keep the buildbots happy
8126
8127 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8128
8129         * docs/plugins/Makefile.am:
8130         * docs/plugins/gstreamer-plugins-docs.sgml:
8131         * docs/plugins/gstreamer-plugins-sections.txt:
8132         Pull fdsink into the docs too.
8133
8134 2007-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
8135
8136         * libs/gst/controller/gstinterpolation.c:
8137         Actually use the new functions with min/max checks for the trigger and
8138         none interpolation modes for get() and get_value_array() instead of
8139         just the latter.
8140
8141 2007-06-10  Sebastian Dröge  <slomo@circular-chaos.org>
8142
8143         * libs/gst/controller/gstcontroller.c:
8144         (gst_controlled_property_free):
8145         Unset the minimum and maximum GValues when freeing the corresponding
8146         GstControllerProperty struct.
8147
8148 2007-06-09  Sebastian Dröge  <slomo@circular-chaos.org>
8149
8150         * libs/gst/controller/gstcontroller.c:
8151         (gst_controlled_property_new):
8152         * libs/gst/controller/gstcontrollerprivate.h:
8153         * libs/gst/controller/gstinterpolation.c:
8154         (gst_controlled_property_find_control_point_node),
8155         (interpolate_none_get), (interpolate_none_get_enum_value_array),
8156         (interpolate_none_get_string_value_array),
8157         (interpolate_trigger_get),
8158         (interpolate_trigger_get_enum_value_array),
8159         (interpolate_trigger_get_string_value_array):
8160         Protect against values larger or smaller than the minimum or maximum
8161         allowed value for the property when using values that can be compared.
8162
8163         Optimize trigger interpolator a bit by taking the last requested value
8164         into account instead of always looping through the complete list.
8165
8166         Fix coding style a bit, everywhere else we use "return foo" instead
8167         of "return (foo)".
8168         
8169         * tests/check/libs/controller.c: (GST_START_TEST),
8170         (gst_controller_suite):
8171         Add unit test for the protection against too large or too small
8172         values.
8173
8174 2007-06-08  Sebastian Dröge  <slomo@circular-chaos.org>
8175
8176         * docs/random/slomo/controller.txt:
8177         Add some thoughts about the future of the controller.
8178
8179 2007-06-08  Wim Taymans  <wim@fluendo.com>
8180
8181         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
8182         Don't overflow in retimestamping code.
8183
8184 2007-06-07  Sebastien Moutte  <sebastien@moutte.net>
8185
8186         * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
8187         Use gst_util_guint64_to_gdouble for conversions.
8188         * win32/common/libgstreamer.def:
8189         Add new exported functions.
8190
8191 2007-06-07  Tim-Philipp Müller  <tim at centricular dot net>
8192
8193         * gst/gstutils.c:
8194           Small docs addition.
8195
8196 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8197
8198         * README:
8199           Remove that test line again.
8200
8201 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8202
8203         * README:
8204           Test commit mail sending.
8205
8206 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8207
8208         * configure.ac:
8209           Fix typo and test commit mail sending.
8210
8211 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8212
8213         * tests/examples/controller/audio-example.c:
8214           Improve comment and test commit mail sending.
8215
8216 2007-06-07  Wim Taymans  <wim@fluendo.com>
8217
8218         * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
8219         (gst_bin_remove_func), (gst_bin_element_set_state),
8220         (bin_handle_async_start), (bin_handle_async_done),
8221         (gst_bin_handle_message_func):
8222         Add helper function to find messages.
8223         Generate the async-done messages together with the state change
8224         messages.
8225         Small cleanups in handling toplevel bins.
8226
8227 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8228
8229         * libs/gst/base/gstdataqueue.c:
8230         * libs/gst/base/gstdataqueue.h:
8231         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
8232         (gst_multi_queue_item_new), (gst_multi_queue_chain),
8233         (gst_multi_queue_sink_event):
8234         * tests/check/elements/multiqueue.c: (multiqueue_suite):
8235           Fix multiqueue leaking buffers and events when downstream or the
8236           queue are flushing. Make refcounting assumptions explicit and
8237           document them (shouldn't break existing code that uses it other than
8238           maybe leak miniobjects, but that already happens anyway). Add unit
8239           test for the most common flushing case. Fixes #423700.
8240           
8241 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
8242
8243         * libs/gst/controller/gstcontroller.c:
8244         Clarify docs: The get_all, get_value_array(s) functions
8245         don't modify the GObject properties.
8246
8247 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
8248
8249         * libs/gst/controller/gstcontroller.c:
8250         (gst_controlled_property_set_interpolation_mode),
8251         (gst_controlled_property_prepend_default),
8252         (gst_controlled_property_new), (gst_controller_set_unlocked),
8253         (gst_controller_set), (gst_controller_set_from_list),
8254         (gst_controller_unset), (gst_controller_unset_all):
8255         * libs/gst/controller/gstcontrollerprivate.h:
8256         * libs/gst/controller/gstinterpolation.c:
8257         Factor out the 'set' logic into gst_controller_set_unlocked for the
8258         gst_controller_set and gst_controller_set_from_list functions.
8259
8260         To make life of the interpolators easier always add a control point
8261         at timestamp zero with the default value.
8262
8263         In the linear interpolator make things more obvious by better variable
8264         naming (slope).
8265
8266         Implement cubic interpolation mode (by using a natural cubic spline)
8267         and map the quadratic interpolation mode to this too (as quadratic
8268         doesn't make much sense, see discussion on the list).
8269
8270         * tests/check/libs/controller.c: (GST_START_TEST),
8271         (gst_controller_suite):
8272         Add unit test for the cubic interpolation mode and check everywhere
8273         if the interpolation mode could be set as expected.
8274
8275 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8276
8277         * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
8278           Don't use GLib-2.10 functions, we still depend on
8279           GLib-how-old-is-it-again-2.8.
8280
8281 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8282
8283         * docs/gst/gstreamer-sections.txt:
8284         * gst/Makefile.am:
8285         * gst/gst.c:
8286         * gst/gst.h:
8287         * gst/gstparamspecs.c: (_gst_param_fraction_init),
8288         (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
8289         (_gst_param_fraction_values_cmp),
8290         (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
8291         * gst/gstparamspecs.h:
8292         * gst/gstvalue.c:
8293         * tests/check/Makefile.am:
8294         * tests/check/gst/.cvsignore:
8295         * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
8296         (gst_dummy_obj_class_init), (gst_dummy_obj_init),
8297         (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
8298         (GST_START_TEST), (gst_param_spec_suite):
8299           API: add GstParamSpecFraction, so elements can have fraction
8300           properties without lots of painful string parsing (#444648).
8301
8302 2007-06-05  Wim Taymans  <wim@fluendo.com>
8303
8304         * gst/gstobject.c: (gst_object_class_init):
8305         Fix signal signature.
8306
8307         * gst/gstsegment.c:
8308         Add small clarification in the api docs.
8309
8310         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
8311         States are protected with object lock.
8312
8313 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
8314
8315         * AUTHORS:
8316         I should probably be listed as an author by now.
8317
8318         * docs/random/release:
8319         Update the release doc
8320
8321 2007-06-05  Tim-Philipp Müller  <tim at centricular dot net>
8322
8323         * gst/gstvalue.c:
8324           Make docs for gst_value_compare() mention return enums that
8325           actually exist.
8326
8327 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
8328
8329         * configure.ac:
8330           Back to CVS
8331
8332 === release 0.10.13 ===
8333
8334 2007-06-05  Jan Schmidt <thaytan@mad.scientist.com>
8335
8336         * configure.ac:
8337           releasing 0.10.13, "With or without you"
8338
8339 2007-05-25  Wim Taymans  <wim@fluendo.com>
8340
8341         * gst/gstbin.c: (bin_handle_async_done):
8342         Make sure that the child bin stops after completing the async state
8343         change so that the parent can continue the state change to PLAYING.
8344         Fixes #441159.
8345
8346 2007-05-25  Wim Taymans  <wim@fluendo.com>
8347
8348         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8349         (unref_data), (gst_collect_pads_remove_pad),
8350         (gst_collect_pads_check_pads):
8351         Use additional refcounting to avoid crashes when dynamically adding and
8352         removing pads. Fixes #420206.
8353
8354 2007-05-24  Wim Taymans  <wim@fluendo.com>
8355
8356         * tools/gst-launch.c: (event_loop):
8357         When buffering goes from a two digit to a single digit number, make sure
8358         to remove the old second digit by writing a blank over it.
8359
8360 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
8361
8362         * libs/gst/base/gstdataqueue.c:
8363           Eliminate tabs and trailing comma in enum list; fix some typos.
8364
8365 2007-05-24  Wim Taymans  <wim@fluendo.com>
8366
8367         * tests/check/gst/gstbin.c: (GST_START_TEST):
8368         Allow refcount of 3 and 4 because some state thread might still be busy
8369         with it.
8370
8371 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
8372
8373         * plugins/elements/Makefile.am:
8374         * plugins/elements/gstmultiqueue.h:
8375         * plugins/elements/gstqueue.h:
8376           These are not installed headers, no need for padding.
8377
8378 2007-05-24  Wim Taymans  <wim@fluendo.com>
8379
8380         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
8381         (gst_bin_continue_func):
8382         Enable latency for next release.
8383         Restore STATE_LOCK around recalc_state that was left out during the
8384         rewrite and could result in racy behaviour when _get_state and
8385         recalc_state are run concurrently. See #440463.
8386
8387 2007-05-23  Wim Taymans  <wim@fluendo.com>
8388
8389         * tests/check/gst/gstsystemclock.c: (store_callback),
8390         (GST_START_TEST):
8391         Improve test_async_order to also work when both timers are already
8392         expired when we get scheduled to check it.
8393
8394 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8395
8396         * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
8397         (gst_bin_set_property), (gst_bin_get_property),
8398         (gst_bin_remove_func), (gst_bin_handle_message_func):
8399         * gst/gstbin.h:
8400           'private' is a c++ keyword, let's not use that in header files,
8401           otherwise c++ compilers will throw a tantrum.
8402
8403 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8404
8405         * plugins/elements/gstelements.c:
8406         * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
8407         (gst_file_sink_get_current_offset):
8408         * plugins/indexers/gstindexers.c: (plugin_init):
8409           Use #ifdef for HAVE_XYZ for consistency.
8410
8411         * tests/check/Makefile.am:
8412         * tests/check/elements/.cvsignore:
8413         * tests/check/elements/filesink.c: (setup_filesink),
8414         (cleanup_filesink), (GST_START_TEST), (filesink_suite):
8415           Add some unit tests for filesink.
8416
8417 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8418
8419         Patch by: Mark Nauwelaerts <manauw at skynet be>
8420
8421         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
8422         (gst_file_sink_query), (gst_file_sink_do_seek),
8423         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8424         * plugins/elements/gstfilesink.h:
8425           Fix position reporting; rename data_written member to current_pos to
8426           reflect its real meaning (fixes #412648).
8427
8428 2007-05-22  Edward Hervey  <edward@fluendo.com>
8429
8430         * docs/gst/gstreamer-sections.txt:
8431         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
8432         (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
8433         (gst_bin_remove_func), (gst_bin_handle_message_func):
8434         * gst/gstbin.h:
8435         Add a property for bins that handle the state change of their childs.
8436         Fixes #435880
8437
8438 2007-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
8439
8440         * libs/gst/controller/gstinterpolation.c:
8441         Use an array of the correct type when using _get_value_array with
8442         linear interpolation.
8443
8444 2007-05-22  Stefan Kost  <ensonic@users.sf.net>
8445
8446         * gst/gstelement.c (gst_element_requires_clock,
8447           gst_element_provides_clock, gst_element_request_pad,
8448           gst_element_class_set_details, gst_element_class_set_details_simple,
8449           gst_element_default_send_event, gst_element_abort_state,
8450           gst_element_continue_state, gst_element_set_state,
8451           gst_element_set_state_func, iterator_activate_fold_with_resync):
8452         * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
8453           gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
8454           gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
8455           gst_pad_get_range, gst_pad_pull_range):
8456         * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
8457           GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
8458           GstPadActivateModeFunction, GstPadChainFunction,
8459           GstPadGetCapsFunction, GstPadAcceptCapsFunction,
8460           GstPadFixateCapsFunction, GstPadTemplate):
8461         * gst/gstpipeline.c (gst_pipeline_change_state,
8462           gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
8463           gst_pipeline_set_clock, gst_pipeline_auto_clock,
8464           gst_pipeline_get_delay):
8465           Whitespace and docs fixes.
8466
8467 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8468
8469         * libs/gst/controller/gstinterpolation.c:
8470         (interpolate_trigger_get_enum_value_array),
8471         (interpolate_trigger_get_string_value_array):
8472         Add support for retrieving value arrays when using the trigger
8473         interpolation mode. 
8474
8475 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8476
8477         * libs/gst/controller/gstcontroller.c:
8478         (gst_controller_get_value_array):
8479         * libs/gst/controller/gstcontroller.h:
8480         Clarify the docs of gst_controller_get_value_array(): The array where
8481         the values should be written to must be allocated as there seems to be
8482         no way to get the size of a random GType. This doesn't change any
8483         behaviour. Also fix some typos all over the place and remove an unused,
8484         commented function that is not necessary as g_object_set() could be
8485         used instead.
8486         * tests/check/libs/controller.c: (GST_START_TEST),
8487         (gst_controller_suite):
8488         Add unit test for gst_controller_get_value_array().
8489
8490 2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>
8491
8492         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
8493
8494         Disable part of the gst_buffer_try_new_and_alloc test, because
8495         it can happily succeed on 64-bit systems where there's more address
8496         space available.
8497
8498 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8499
8500         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
8501         Add unit test for the improved caps checking from bug #421543.
8502
8503 2007-05-21  Wim Taymans  <wim@fluendo.com>
8504
8505         * docs/design/part-synchronisation.txt:
8506         Small addition.
8507
8508         * gst/gstbin.c: (gst_bin_query):
8509         * plugins/elements/gstqueue.c: (apply_segment):
8510         Improve debugging.
8511
8512         * gst/gstmessage.h:
8513         Improve docs.
8514
8515 2007-05-21  Wim Taymans  <wim@fluendo.com>
8516
8517         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
8518         (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
8519         (gst_pad_configure_src):
8520         Added simple version of improved caps checking. It was previously
8521         assumed that a setcaps function would check the validity of the caps but
8522         people prefer us to check caps against the template automatically. 
8523         Fixes #421543.
8524
8525 2007-05-21  Wim Taymans  <wim@fluendo.com>
8526
8527         * libs/gst/base/gstbasetransform.h:
8528         Fix macro for locking/unlocking the transform lock.
8529
8530 2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
8531
8532         * docs/plugins/tmpl/.cvsignore:
8533           Ignore more.
8534
8535 2007-05-18  Edward Hervey  <edward@fluendo.com>
8536
8537         * plugins/elements/gstqueue.c: (gst_queue_loop):
8538         Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
8539         for the subtle art of warning a potentially blocking thread that it
8540         should check the source pad return value, and relay the information
8541         upstream.
8542
8543 2007-05-18  Edward Hervey  <edward@fluendo.com>
8544
8545         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
8546         Release the queue lock !
8547
8548 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8549
8550         * docs/libs/gstreamer-libs-sections.txt:
8551         Add the two new controller functions to the appropiate places.
8552
8553 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8554
8555         reviewed by: Stefan Kost <ensonic@users.sf.net>
8556
8557         * libs/gst/controller/gstcontroller.c:
8558         (gst_controller_suggest_next_sync), (gst_controller_sync_values),
8559         (_gst_controller_get_property), (_gst_controller_set_property),
8560         (_gst_controller_init), (_gst_controller_class_init):
8561         * libs/gst/controller/gstcontroller.h:
8562         * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
8563         (gst_object_get_control_rate), (gst_object_set_control_rate):
8564         API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
8565         Add API that provides sync suggestion timestamps for elements that
8566         call gst_object_sync_values() from which those elements can subdivide
8567         their processing loop to get the best results for the controlled
8568         properties. For now it just suggests last_sync + control_rate as
8569         new timestamp but this will be improved in the future.
8570
8571         While doing that change the control-rate property to a GstClockTime
8572         from guint and change it's meaning from samples to nanoseconds as
8573         the GstController doesn't know anything about sampling rate. Strictly
8574         speaking this breaks ABI but as the control-rate property didn't do
8575         anything in the past and as such couldn't be used this should be no
8576         problem.        
8577
8578 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8579
8580         reviewed by: Stefan Kost <ensonic@users.sf.net>
8581
8582         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
8583         (gst_controller_unset_all):
8584         * libs/gst/controller/gstcontrollerprivate.h:
8585         * libs/gst/controller/gstinterpolation.c:
8586         (gst_controlled_property_find_control_point_node):
8587         Save last synced value from the list to continue searching from there
8588         in future syncs. This speeds everything up a bit.
8589         
8590 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8591
8592         reviewed by: Stefan Kost <ensonic@users.sf.net>
8593
8594         * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
8595         (gst_control_point_find), (gst_controlled_property_new),
8596         (gst_control_point_free), (gst_controlled_property_free),
8597         (gst_controller_set), (gst_controller_set_from_list),
8598         (gst_controller_unset), (gst_controller_unset_all),
8599         (gst_controller_sync_values):
8600         * libs/gst/controller/gstcontroller.h:
8601         * libs/gst/controller/gstcontrollerprivate.h:
8602         * libs/gst/controller/gstinterpolation.c:
8603         (gst_controlled_property_find_control_point_node),
8604         (interpolate_none_get), (interpolate_trigger_get):
8605         Add a new private GstControlPoint struct which "inherits" from
8606         GstTimedValue to allow different interpolators to store internal
8607         values next to each control point. From the outside everything is
8608         still a GstControlPoint so we don't loose binary compatibility.
8609         Also fixup all the GValue handling to not leak GValues or list nodes.
8610         * tests/check/libs/controller.c: (GST_START_TEST):
8611         Free the list nodes and GValues in the controller_misc test.
8612
8613 2007-05-17  Edward Hervey  <edward@fluendo.com>
8614
8615         * gst/gstsegment.c:
8616         Small doc fix.
8617
8618 2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
8619
8620         * gst/gstplugin.c: (gst_plugin_load_file):
8621           If we fail to load a plugin because of unresolved symbols or missing
8622           libraries and spew a warning to stderr, we may just as well mention
8623           which plugin it was that failed to load.
8624
8625 2007-05-13  David Schleef  <ds@schleef.org>
8626
8627         * docs/Makefile.am: the gtk-doc makefile snippet correctly
8628           handles the case when ENABLE_GTK_DOC is false, and installs
8629           the prebuilt documentation.  So gtk-doc subdirs are 
8630           unconditionally enabled.  Fixes: #349099.
8631
8632 2007-05-13  David Schleef  <ds@schleef.org>
8633
8634         * gst/gstutils.h: Reword some documentation.
8635
8636 2007-05-12  David Schleef  <ds@schleef.org>
8637
8638         * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
8639           do anything with the passed "module" parameter, so remove it.
8640           Allows removal of additional vestigal code.
8641
8642 2007-05-12  David Schleef  <ds@schleef.org>
8643
8644         * gst/gstplugin.c:
8645           Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
8646           Switch to using g_stat() because it's more portable.
8647
8648 2007-05-12  David Schleef  <ds@schleef.org>
8649
8650         * gst/gst.c:
8651           Add GST_DISABLE_OPTION_PARSING, in order to disable option
8652           parsing for embedded systems.
8653         * gst/gstelementfactory.c:
8654           Allow gst_element_register() to be called with plugin==NULL.
8655           Did nobody notice that static elements were broken?
8656
8657 2007-05-12  Wim Taymans  <wim@fluendo.com>
8658
8659         * tools/gst-launch.c: (event_loop):
8660         Give more interesting info when buffering starts and stops.
8661         Fix case where buffering starts but we fail to update the buffering flag
8662         because the target state is not PLAYING.
8663
8664 2007-05-12  Wim Taymans  <wim@fluendo.com>
8665
8666         * plugins/elements/gstqueue.c: (gst_queue_init),
8667         (gst_queue_finalize), (update_time_level), (apply_segment),
8668         (apply_buffer), (gst_queue_locked_flush),
8669         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
8670         (gst_queue_handle_sink_event), (gst_queue_chain),
8671         (gst_queue_push_one), (gst_queue_loop):
8672         * plugins/elements/gstqueue.h:
8673         Refactor an cleanup queue a bit.
8674         Do better time level calculations that also work when the srcpad is not
8675         yet running.
8676         Remove some unneeded debug lines.
8677
8678         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
8679         Added testcase for time level measurement.
8680         Try to make some stuff more racefree.
8681
8682 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
8683
8684         * gst/gsturi.c: (gst_element_make_from_uri):
8685           Don't leak plugin feature.
8686
8687         * tests/check/Makefile.am:
8688         * tests/check/gst/.cvsignore:
8689         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
8690           Add brain-dead unit test.
8691
8692 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
8693
8694         Patch by: Jeroen Wouters <woutersj at gmail com>
8695
8696         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
8697           Treat protocol strings in a case-insensitive way (#437563).
8698
8699 2007-05-11  Michael Smith <msmith@fluendo.com>
8700
8701         * gst/gstplugin.c: (gst_plugin_load_file):
8702         * gst/gstregistry.c: (gst_registry_scan_path_level):
8703           Don't print a g_warning for any failure to load a shared object.
8704           Instead, push this down into gstplugin.c, and warn _only_ if we
8705           failed to open the module (i.e. failure to link).
8706           Avoids warnings on normal, working, non-plugin .so files.
8707
8708 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
8709
8710         * gst/gstplugin.c (gst_plugin_load_file):
8711         * gst/gstregistry.c (GST_CAT_DEFAULT,
8712           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
8713           Print a g_warning if there was an error when loading a plugins during
8714           registry scan. The shuld help beginners starting with gst-plugin
8715           template.
8716
8717 2007-05-10  Wim Taymans  <wim@fluendo.com>
8718
8719         * plugins/elements/gstqueue.c: (gst_queue_class_init),
8720         (update_time_level), (gst_queue_locked_flush),
8721         (gst_queue_handle_sink_event), (gst_queue_chain),
8722         (gst_queue_push_one), (gst_queue_loop):
8723         * plugins/elements/gstqueue.h:
8724         Be smarter when calculating the current amount of data in the queue by
8725         measuring the difference between start and end timestamps (in running
8726         time) inside the queue. Fixes #432876.
8727         API: GstQueue::pushing to notify elements that we are pushing data again
8728         since the running signal is rather broken for this purpose.
8729
8730 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
8731
8732         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
8733           gst_queue_base_init, gst_queue_init):
8734           use GST_BOILERPLATE
8735
8736 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
8737
8738         * win32/common/libgstreamer.def:
8739         Add new exported functions.
8740         * win32/vs6/grammar.dsp:
8741         Use grammar pre-generated files.
8742
8743 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
8744
8745         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
8746
8747         * gst/Makefile.am:
8748         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
8749         * gst/gstparse.h:
8750         * gst/gstutils.c: (gst_parse_bin_from_description):
8751         * gst/gstutils.h:
8752           Maintain API and ABI when --disable-parse is used. Now that
8753           we have an appropriate error code, we can just return NULL and the
8754           appropriate error when gst_parse_launch() is used despite it having
8755           been disabled (#342564).
8756
8757         * tests/check/Makefile.am:
8758         * tests/check/pipelines/.cvsignore:
8759         * tests/check/pipelines/parse-disabled.c:
8760           Make sure these functions exist and return NULL plus a GError when
8761           --disable-parse is used.
8762
8763 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
8764
8765         * tests/benchmarks/complexity.c: (main):
8766         * tests/benchmarks/mass-elements.c: (main):
8767           Set a good example and don't leak messages.
8768
8769 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
8770
8771         * docs/gst/Makefile.am:
8772         * docs/libs/Makefile.am:
8773           Correct fixxrefs options.
8774
8775         * docs/plugins/Makefile.am:
8776         * docs/plugins/gstreamer-plugins-docs.sgml:
8777         * docs/plugins/gstreamer-plugins-sections.txt:
8778         * plugins/elements/Makefile.am:
8779         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
8780         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
8781           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
8782           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
8783           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
8784           _GstCapsFilterClass, trans_class):
8785         * plugins/elements/gstelements.c (name, rank, type, _elements):
8786         * plugins/elements/gstidentity.c
8787           (gst_identity_check_imperfect_timestamp,
8788           gst_identity_check_imperfect_offset):
8789           Document capsfilter and add doc-blurb to identity.
8790
8791 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
8792
8793         * libs/gst/controller/gstcontroller.c:
8794         (gst_controlled_property_set_interpolation_mode):
8795         * libs/gst/controller/gstinterpolation.c:
8796           Don't crash if someone tries to set an interpolation mode that
8797           is invalid or that isn't supported yet. Fixes #422295.
8798
8799         * tests/check/libs/controller.c: (GST_START_TEST),
8800         (gst_controller_suite):
8801           Add a test case for the above.
8802
8803 2007-05-03  Edward Hervey  <edward@fluendo.com>
8804
8805         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
8806         Properly set the last_stop position on GstSegment. This will only happen
8807         if there is a buffer to push out.
8808
8809 2007-05-03  Wim Taymans  <wim@fluendo.com>
8810
8811         * libs/gst/base/gstbasetransform.c:
8812         (gst_base_transform_buffer_alloc):
8813         always_in_place does not mean that the sink and source caps are the
8814         same! Make sure we don't blindly proxy the buffer_alloc in this case.
8815
8816 2007-05-03  Wim Taymans  <wim@fluendo.com>
8817
8818         * docs/libs/gstreamer-libs-sections.txt:
8819         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
8820         (gst_base_src_default_query), (gst_base_src_get_range):
8821         * libs/gst/base/gstbasesrc.h:
8822         API: gst_base_src_query_latency(). Added method so that subclasses can
8823         easily get the latency values of the base source class.
8824
8825 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
8826
8827         * tools/gst-inspect.c (print_implementation_info):
8828         Remove 0.8 cruft.
8829
8830 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
8831
8832         * tools/Makefile.am:
8833         * tools/gst-launch.1.in:
8834           Don't create a customised man page based on the host architecture,
8835           describe the default registry path generically. That way the man
8836           page is the same for all architectures and packagers have one
8837           multilib issue less to deal with. Fixes #434926.
8838
8839 2007-05-02  Wim Taymans  <wim@fluendo.com>
8840
8841         * gst/gstpad.c:
8842         Fix documentation as spotted by rg on IRC. 
8843
8844 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
8845
8846         * gst/gstutils.c:
8847           Improve docs for gst_element_{link,unlink}.
8848
8849 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
8850
8851         * docs/design/part-events.txt:
8852         * docs/design/part-overview.txt:
8853         * gst/gstevent.c:
8854         * gst/gsturi.c:
8855         * gst/gsturi.h:
8856         * libs/gst/base/gstbasesink.c:
8857           Typo fixes; minor docs addition.
8858
8859 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
8860
8861         * docs/gst/gstreamer-sections.txt:
8862         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
8863         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
8864         * gst/gsturi.h:
8865         API: Add gst_uri_protocol_is_supported(), which checks if a sink
8866         or src that supports a given URI protocol exists.
8867
8868 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
8869
8870         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
8871         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
8872         Set the location to NULL if "file://" is set as URI. Otherwise
8873         some random previous URI would still be set if "file://" is
8874         set on an already used filesink/filesrc.
8875
8876 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
8877
8878         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
8879         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
8880         Special case the "file://" URI as as this is used by some
8881         applications to test with gst_element_make_from_uri if there's
8882         an element that supports the URI protocol.
8883         Also move the g_path_is_absolute() check for the location part
8884         of the URI to also check this for "file://localhost/bla" URIs.
8885
8886 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
8887
8888         * docs/gst/gstreamer-sections.txt:
8889         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
8890         * gst/gstbuffer.h:
8891         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
8892         (gst_buffer_suite):
8893           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
8894
8895 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
8896
8897         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
8898         (gst_registry_binary_load_pad_template),
8899         (gst_registry_binary_load_plugin),
8900         (gst_registry_binary_read_cache):
8901         * gst/gstregistrybinary.h:
8902           Implement no-mmap alternative for registry reading. Do code cleanups.
8903           Add more comments about avoiding strdups for all text data. Comments
8904           welcome.
8905
8906 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
8907
8908         * gst/gstregistrybinary.h (GstBinaryPluginElement,
8909           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
8910           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
8911           Comment structs and reformat to fix the build (that stuff should go
8912           into a priv. header).
8913
8914 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
8915
8916         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
8917         (gst_registry_binary_load_feature):
8918         * gst/gstregistrybinary.h:
8919           Refactor so that we can implement multiple features. Add support for
8920           TypeFindFactory features.
8921
8922 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
8923
8924         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
8925
8926         * configure.ac:
8927           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
8928
8929 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
8930
8931         * gst/gstbin.c: (gst_bin_element_set_state),
8932         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
8933         (bin_handle_async_done), (gst_bin_handle_message_func):
8934           Fix build with --gst-disable-gst-debug
8935
8936 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
8937
8938         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
8939           Make sure streaming has finished before calling the ::stop() vfunc,
8940           since that vfunc might clear state which is being used in the
8941           streaming thread. This fixes a race that caused crashes in
8942           audioresample when shutting down a pipeline (#420106).
8943
8944 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
8945
8946         * docs/gst/gstreamer-sections.txt:
8947           That was one byte missing.
8948
8949 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
8950
8951         * configure.ac:
8952         * docs/gst/gstreamer-sections.txt:
8953         * gst/Makefile.am:
8954         * gst/gstconfig.h.in:
8955         * gst/gstobject.c: (gst_object_class_init),
8956         (gst_signal_object_class_init):
8957         * gst/gstobject.h:
8958           2nd attempt to have a xml-less build as a joined effort of #413123
8959           and #421480.
8960
8961 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
8962
8963         * docs/design/draft-tagreading.txt:
8964           Added open issues/thoughts to draft.
8965
8966 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
8967
8968         * gst/parse/grammar.tab.pre.c:
8969         * gst/parse/grammar.tab.pre.h:
8970         * gst/parse/lex._gst_parse_yy.pre.c:
8971         Update the prebuild parser sources.
8972
8973 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
8974
8975         * gst/parse/Makefile.am:
8976         And now fix the building of the flex sources. Now everything should
8977         work as expected.
8978
8979 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
8980
8981         * gst/parse/Makefile.am:
8982         Now hopefully fix the build failures by setting proper rule
8983         dependencies and moving instead of copying.
8984
8985 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
8986
8987         * tests/benchmarks/complexity.gnuplot:
8988         * tests/benchmarks/complexity.scm:
8989         * tests/benchmarks/mass-elements.gnuplot:
8990         * tests/benchmarks/mass-elements.scm:
8991           Total licensification.
8992
8993 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
8994
8995         * gst/parse/Makefile.am:
8996           Fix the build by correcting the rule that gave wrong files to flex.
8997
8998 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
8999
9000         * tests/benchmarks/complexity.c:
9001         * tests/benchmarks/mass-elements.c:
9002           Change licence to LGPL as granted by Benjamin and Andy.
9003
9004 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
9005
9006         * gst/parse/Makefile.am:
9007         Add correct grammar.tab.h dependency if compiling without new enough
9008         flex. Fixes #431150.
9009
9010 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
9011
9012         * gst/parse/Makefile.am:
9013         Fix typo and use outdated sources if the flex/bison sources are newer
9014         than the pregenerated ones but flex is too old. Print a warning in
9015         that case. This should fix the build on the build bot.
9016
9017 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
9018
9019         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
9020         * gst/parse/Makefile.am:
9021         * gst/parse/grammar.y:
9022         * gst/parse/parse.l:
9023         Make the parser reentrant and recursively callable. This requires flex
9024         >= 2.5.31, for older versions pregenerated sources are used as we
9025         can't bump the build dependency. Finally fixes #349180.
9026
9027         * gst/gstparse.c: (gst_parse_launch):
9028         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
9029         now anyway.
9030
9031         * docs/gst/Makefile.am:
9032         * docs/gst/Makefile.am:
9033         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
9034         (__gst_parse_strfree), (__gst_parse_link_new),
9035         (__gst_parse_link_free), (__gst_parse_chain_new),
9036         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
9037         (gst_parse_element_set), (gst_parse_free_link),
9038         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
9039         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
9040         (_gst_parse_launch):
9041         * gst/parse/grammar.tab.pre.h:
9042         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
9043         (yy_get_previous_state), (yy_try_NUL_trans), (input),
9044         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
9045         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
9046         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
9047         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
9048         (_gst_parse_yypop_buffer_state),
9049         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
9050         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
9051         (yy_fatal_error), (_gst_parse_yyget_extra),
9052         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
9053         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
9054         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
9055         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
9056         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
9057         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
9058         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
9059         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
9060         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
9061         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
9062         (_gst_parse_yyfree):
9063         If the installed flex version is too old use pre-generated parser
9064         sources. These pre-generated parser sources are always updated when
9065         the actual flex/bison sources change but require everybody who wants
9066         to change something in the parser to have flex >= 2.5.31 installed.
9067
9068 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
9069
9070         * common/m4/gst-gettext.m4:
9071         * gst/gst-i18n-lib.h:
9072           Make --disable-nls to work
9073
9074 2007-04-17  Wim Taymans  <wim@fluendo.com>
9075
9076         * gst/gstconfig.h.in:
9077         Revert previous change that broke the build.
9078
9079 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
9080
9081         * configure.ac:
9082         * gst/Makefile.am:
9083         * gst/gstconfig.h.in:
9084           Drop libxml2 dependency when building with 
9085           --enable-binary-registry --disable-loadsave
9086
9087 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
9088
9089         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
9090         (gst_registry_binary_read_cache):
9091         * gst/gstregistrybinary.h:
9092           Remove unnecessary <sys/mman.h> include which broke the win32 build
9093           with MingW; move includes from header file to .c file, even if the
9094           header file isn't installed; use g_strerror() where UTF-8 strings
9095           are expected, such as in GST_DEBUG messages.
9096
9097 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9098
9099         * docs/libs/gstreamer-libs-sections.txt:
9100         Remove bogus addition for API I didn't end up keeping.
9101
9102         * libs/gst/base/gstbasesrc.h:
9103         Mention Since: 0.10.13 in the documentation.
9104
9105         Add the API keyword to the previous ChangeLog entry.
9106
9107 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9108
9109         * docs/libs/gstreamer-libs-sections.txt:
9110         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9111         (gst_base_src_default_prepare_seek_segment),
9112         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
9113         * libs/gst/base/gstbasesrc.h:
9114         Allow basesrc derived classes to execute seeks in other formats
9115         by providing a prepare_seek_segment vmethod. Sub-classes can choose
9116         to prepare the GstSegment in any format that their perform_seek method
9117         will be able to understand. The default implementation provides the
9118         old behaviour of attempting to convert the seek offsets to the 
9119         configured native format.
9120
9121         API: basesrc::prepare_seek_segment vmethod.
9122
9123 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9124
9125         * gst/gstelement.c: (gst_element_get_state_func):
9126         Don't output the same debug statement twice.
9127
9128         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
9129         (gst_adapter_peek), (gst_adapter_take_buffer):
9130         Optimise the case where we have buffers at the head of the queue that
9131         can be joined quickly (because they're contiguous sub-buffers) by
9132         merging them together rather than copying data out into new memory.
9133
9134         * gst/parse/grammar.y:
9135         * tests/check/pipelines/parse-launch.c:
9136         Fix a leak in an error path for parse_launch, and add a check 
9137         for it to the testsuite.
9138
9139 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9140
9141         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
9142           Don't deadlock when releasing a pad - gst_pad_set_active may try
9143           and take the multiqueue lock too.
9144
9145 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
9146
9147         * gst/gsterror.c: (_gst_core_errors_init):
9148         * gst/gsterror.h:
9149           API: add GST_CORE_ERROR_DISABLED (#392804).
9150
9151 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9152
9153         * docs/faq/gst-uninstalled:
9154           don't get empty paths on the PATH variables
9155         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
9156           Don't format for the uncommon terminal width of 84 characters.
9157
9158 2007-04-06  Wim Taymans  <wim@fluendo.com>
9159
9160         * gst/gstpipeline.c: (reset_stream_time),
9161         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
9162         Only try to select a different pipeline clock when we went back to
9163         PAUSED and not when we merely got flushed.
9164
9165 2007-04-05  Michael Smith  <msmith@fluendo.com>
9166
9167         * tools/gst-launch.1.in:
9168           fractions are better supported in gstreamer than ractions, so
9169           suggest using those.
9170
9171 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9172
9173         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
9174
9175         * po/LINGUAS:
9176         * po/da.po:
9177           Added Danish translation.
9178
9179 2007-04-05  Wim Taymans  <wim@fluendo.com>
9180
9181         * libs/gst/base/gstbasesink.c:
9182         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
9183         Fix leak caused when refusing newsegment after EOS.
9184
9185         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
9186         (gst_fake_sink_init), (gst_fake_sink_set_property),
9187         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
9188         (gst_fake_sink_render), (gst_fake_sink_change_state):
9189         * plugins/elements/gstfakesink.h:
9190         Add num-buffers property to make the element generate EOS after a
9191         configurable amount of buffers.
9192         API: fakesink::num-buffers property.
9193
9194         * tests/check/elements/fakesink.c: (GST_START_TEST),
9195         (fakesink_suite):
9196         Fix GstBus leak in test.
9197         Test for fakesink num-buffers.
9198
9199 2007-04-05  Wim Taymans  <wim@fluendo.com>
9200
9201         * libs/gst/base/gstbasesink.c:
9202         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
9203         (gst_base_sink_change_state):
9204         Don't accept anything after an EOS, return UNEXPECTED instead.
9205
9206         * tests/check/elements/fakesink.c: (GST_START_TEST),
9207         (fakesink_suite):
9208         Unit test for new EOS behaviour.
9209
9210 2007-04-05  Wim Taymans  <wim@fluendo.com>
9211
9212         * gst/gstelement.c: (gst_element_get_request_pad):
9213         Make padtemplates also work when they don't contain %s or %d.
9214
9215 2007-04-05  Wim Taymans  <wim@fluendo.com>
9216
9217         * docs/gst/gstreamer-sections.txt:
9218         * gst/gstclock.c: (gst_clock_adjust_unlocked),
9219         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
9220         * gst/gstclock.h:
9221         Improve _adjust_unlocked() so that it overflows less.
9222         Add gst_clock_unadjust_unlocked to convert from external time to
9223         internal time based on calibration.
9224         Add some more debug.
9225         API: GstClock::gst_clock_unadjust_unlocked()
9226
9227 2007-04-03  Wim Taymans  <wim@fluendo.com>
9228
9229         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
9230
9231         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
9232         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
9233         when releasing sink pad. Fixes #425400.
9234
9235 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
9236
9237         * docs/random/ensonic/dynlink.txt:
9238           More work on proposal for new core api.
9239
9240         * docs/libs/gstreamer-libs-sections.txt:
9241         * libs/gst/base/gstbasetransform.h:
9242           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
9243           
9244         * libs/gst/controller/gstcontroller.c:
9245         (on_object_controlled_property_changed),
9246         (gst_controller_sync_values),
9247         (gst_controller_set_interpolation_mode):
9248         * libs/gst/controller/gstcontroller.h:
9249           Less verbose logging add docs for unimplemented parts and correctly
9250           return when using unavailable parts.
9251
9252 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
9253
9254         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
9255         Move all the debug to the CLOCK category, and associate it with
9256         the clock object.
9257
9258 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
9259
9260         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
9261         Make take_buffer a bit quicker by removing redundant checks
9262         caused by calling gst_adapter_take.
9263
9264 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
9265
9266         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
9267           Don't leak GCond.
9268
9269         * tests/check/Makefile.am:
9270         * tests/check/elements/.cvsignore:
9271         * tests/check/elements/multiqueue.c: (setup_multiqueue),
9272         (GST_START_TEST), (multiqueue_suite):
9273           Add some dead simple unit tests for the 'multiqueue' element
9274           (some bits don't work yet and are disabled for now).
9275
9276 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
9277
9278         * gst/gstelement.c: (gst_element_get_request_pad),
9279         (gst_element_class_get_request_pad_template):
9280           Make gst_element_get_request_pad() create request pads only for
9281           request pad templates and not for, say, sometimes pad templates.
9282
9283 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
9284
9285         * docs/design/draft-klass.txt:
9286           Add example that needs more thinking.
9287         
9288         * docs/design/draft-missing-plugins.txt:
9289           More thoughts about wrapper plugins.
9290         
9291         * docs/random/ensonic/embedded.txt:
9292         * docs/random/ensonic/profiling.txt:
9293           More design work.
9294
9295 2007-03-25  Wim Taymans  <wim@fluendo.com>
9296
9297         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
9298         (gst_base_src_loop):
9299         Only push the segment events in the PLAYING state for live sources.
9300
9301 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
9302
9303         * gst/gstpipeline.c: (gst_pipeline_change_state):
9304         Modify the clock distribution path in PAUSED->PLAYING so that we 
9305         never attempt to choose a new clock unless we're actually leaving
9306         the PAUSED state for the first time. This prevents choosing a
9307         different clock when the state_change gets called for a 2nd time due
9308         to some element doing an async state change.
9309
9310 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
9311
9312         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
9313         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
9314         (gst_pad_chain_unchecked), (gst_pad_push):
9315         Revert last commit. This needs some more thoughts.
9316
9317 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
9318
9319         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
9320         (gst_pad_chain_unchecked), (gst_pad_push):
9321         Check in set_caps if the caps are compatible with the pad and remove
9322         two functions that are redundant now. Fixes #421543.
9323
9324 2007-03-22  Wim Taymans  <wim@fluendo.com>
9325
9326         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
9327         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
9328         Unref some more to make valgrind happy.
9329
9330 2007-03-22  Wim Taymans  <wim@fluendo.com>
9331
9332         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
9333         (gst_system_clock_id_wait_jitter),
9334         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
9335         Fix anoying regression that survived a few releases. When adding an
9336         async entry while blocking on a sync entry, the sync entry will unblock
9337         but still be busy, so it should continue to wait instead of returning
9338         _BUSY to the app.
9339         Add some comments here and there.
9340
9341         * tests/check/gst/gstsystemclock.c: (mixed_thread),
9342         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
9343         Add testcase for this.
9344
9345 2007-03-22  Wim Taymans  <wim@fluendo.com>
9346
9347         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
9348         Handle errors from the clock sync better, only UNSCHEDULED indicates a
9349         WRONG_STATE and can silently pause the task. All other cases should
9350         error out.
9351
9352 2007-03-22  Wim Taymans  <wim@fluendo.com>
9353
9354         Patch by: Ville Syrjala <syrjala at sci dot fi>
9355
9356         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
9357         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
9358         Improve debugging.
9359
9360 2007-03-21  Michael Smith  <msmith@fluendo.com>
9361
9362         * docs/pwg/advanced-types.xml:
9363           Fix some errors in the typefinding docs pointed out on irc.
9364
9365 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
9366
9367         * libs/gst/base/gstbasesrc.c:
9368         Clarify FIXME comment in the face of having added unlock_stop()
9369
9370 2007-03-21  Wim Taymans  <wim@fluendo.com>
9371
9372         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
9373         Prepare for release where we warn against possible app breakage in the
9374         case of live pipelines along with an env var to enable/disable live
9375         preroll mode (GST_COMPAT=[no-]live-preroll).
9376
9377 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9378
9379         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
9380         So we should use correct constants for checking for None offset.
9381
9382 2007-03-20  Wim Taymans  <wim@fluendo.com>
9383
9384         * docs/design/part-block.txt:
9385         Mention the fact that the newly switched element should be set to at
9386         least PAUSED.
9387
9388 2007-03-20  Wim Taymans  <wim@fluendo.com>
9389
9390         * gst/gst.c:
9391         Fix compilation with registry disabled as spotted by Saur.
9392
9393 2007-03-20  Wim Taymans  <wim@fluendo.com>
9394
9395         Patch by: Olivier Crete <tester at tester dot ca>
9396
9397         * gst/gstelement.c: (gst_element_sync_state_with_parent):
9398         Look at the pending state too when syncing the element state to the
9399         parent. Fixes #420133.
9400
9401 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
9402
9403         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
9404         (gst_base_sink_change_state):
9405         * libs/gst/base/gstbasesink.h:
9406         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
9407         (gst_base_src_default_event), (gst_base_src_unlock_stop),
9408         (gst_base_src_deactivate):
9409         * libs/gst/base/gstbasesrc.h:
9410         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
9411         for sub-classes to correctly clear any state they set trying to
9412         unlock, such as clearing out unlock commands from a command fd.
9413         API: basesrc::unlock_stop
9414         API: basesink::unlock_stop
9415
9416         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
9417         (gst_fd_sink_render), (gst_fd_sink_unlock),
9418         (gst_fd_sink_unlock_stop):
9419         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
9420         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
9421         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
9422
9423         Implement unlock_stop in fdsrc and fdsink.
9424         Implement seeking in fdsrc when a seekable fd is passed, as in
9425         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
9426
9427 2007-03-19  Wim Taymans  <wim@fluendo.com>
9428
9429         Patch by: Evan Nemerson <evan at coeus dash group dot com>
9430
9431         * gst/gstelement.c: (gst_element_class_init):
9432         Fix pad-added and pad-removed signal signatures so that the pad type is
9433         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
9434
9435 2007-03-19  Wim Taymans  <wim@fluendo.com>
9436
9437         * docs/gst/gstreamer-sections.txt:
9438         Add new element field and method.
9439
9440         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
9441         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
9442         (gst_bin_recalc_state), (gst_bin_get_state_func),
9443         (gst_bin_element_set_state), (gst_bin_change_state_func),
9444         (gst_bin_continue_func), (bin_bus_handler),
9445         (bin_push_state_continue), (bin_handle_async_start),
9446         (bin_handle_async_done), (gst_bin_handle_message_func):
9447         Make async state changes a bit smarter by using new ASYNC_START and
9448         ASYNC_DONE messages. This reduces the number of times we run the state
9449         recalculation thread.
9450         Don't change state of element with a pending ASYNC_START message.
9451         Deprecate STATE_DIRTY messages.
9452         
9453         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
9454         (gst_element_get_state_func), (gst_element_continue_state),
9455         (gst_element_lost_state), (gst_element_set_state_func),
9456         (gst_element_change_state):
9457         * gst/gstelement.h:
9458         Keep the state that was last set by the app in a new element field.
9459         Don't allow state changes when handling an element event.
9460         Post ASYNC_START and ASYNC_DONE messages.
9461         Change lost_state so that we go to PAUSED and wait for the parent to set
9462         us to PLAYING again (so latency calculation can be performed)
9463         Export gst_element_change_state() method so that subclasses can use it.
9464         API: gst_element_change_state()
9465         API: GST_STATE_TARGET
9466
9467         * gst/gstpipeline.c: (gst_pipeline_class_init),
9468         (reset_stream_time), (gst_pipeline_change_state),
9469         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
9470         Using the new ASYNC_START message we can reset the base_time when
9471         needed. This can then be used to implement base_time redistribution in
9472         flushing seeks so that we can remove the explicit seek handling.
9473         Perform latency query and configuration when going to PLAYING.
9474
9475         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9476         (gst_base_sink_query), (gst_base_sink_change_state):
9477         Post new ASYNC_START/ASYNC_DONE messages.
9478
9479         * tests/check/generic/sinks.c: (GST_START_TEST):
9480         Fix test because the bin will not set the async element to PLAYING right
9481         away.
9482
9483         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
9484         Make the message check a little stronger.
9485         Handle ASYNC messages.
9486
9487         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
9488         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
9489         Expect ASYNC_DONE messages.
9490
9491 2007-03-19  Wim Taymans  <wim@fluendo.com>
9492
9493         * docs/gst/gstreamer-sections.txt:
9494         * gst/gstmessage.c: (gst_message_new_async_start),
9495         (gst_message_new_async_done), (gst_message_parse_info),
9496         (gst_message_parse_async_start):
9497         * gst/gstmessage.h:
9498         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
9499         support.
9500
9501 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
9502
9503         * tools/gst-inspect.c:
9504         (print_plugin_automatic_install_info_codecs):
9505           Now that we don't check for the 'Codec' keyword any longer in the
9506           klass, we shouldn't spew a warning if the klass isn't a decoder or
9507           encoder (since it might be a Source/Network, for example).
9508
9509 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
9510
9511         * tools/gst-inspect.c:
9512         (print_plugin_automatic_install_info_codecs):
9513           Don't require decoder/demuxer/depayloader elements or
9514           encoder/muxer/paylader elements to have 'Codec' as part of their
9515           factory class string when introspecting a plugin's capabilities.
9516           draft-klass.txt mentions that it might be removed in future, and
9517           flump3dec doesn't have it as part of its class string, so chances
9518           are others might also not have it.
9519
9520 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9521
9522         * po/af.po:
9523         * po/az.po:
9524         * po/bg.po:
9525         * po/ca.po:
9526         * po/cs.po:
9527         * po/de.po:
9528         * po/en_GB.po:
9529         * po/fr.po:
9530         * po/it.po:
9531         * po/nb.po:
9532         * po/nl.po:
9533         * po/ru.po:
9534         * po/sq.po:
9535         * po/sr.po:
9536         * po/sv.po:
9537         * po/tr.po:
9538         * po/uk.po:
9539         * po/vi.po:
9540         * po/zh_CN.po:
9541         * po/zh_TW.po:
9542           Update translations from translation project
9543
9544 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
9545
9546         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
9547         (gst_child_proxy_set_property):
9548           Invert precondition check to be alike the ones in the mimiced gobject
9549           api.
9550
9551 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
9552
9553         * docs/design/draft-tagreading.txt:
9554         * docs/random/ensonic/audiobaseclasses.txt:
9555           Do some Architect work.
9556
9557         * gst/gstobject.c: (gst_object_set_name):
9558           Add a WARNING.
9559
9560         * gst/gstpad.c:
9561           Add docs that point from gst_pad_get_range to gst_pad_pull_range
9562
9563 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
9564
9565         * gst/gstsystemclock.c: (gst_system_clock_init),
9566         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
9567         Defer starting the async system clock thread until the first async
9568         wait is scheduled. Fixes #414986.
9569
9570 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
9571
9572         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
9573         (gst_single_queue_free):
9574           Fix small leak (free GstSingleQueue structure too, not only contents).
9575
9576 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
9577
9578         * gst/gstbin.c:(gst_bin_add):
9579         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
9580         * win32/common/libgstbase.def:
9581         * win32/common/libgstreamer.def:
9582         Add new exported functions.
9583
9584 2007-03-09  Wim Taymans  <wim@fluendo.com>
9585
9586         * docs/plugins/gstreamer-plugins-sections.txt:
9587         Fix GstTee docs.
9588
9589 2007-03-09  Wim Taymans  <wim@fluendo.com>
9590
9591         * docs/gst/gstreamer-sections.txt:
9592         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
9593         * gst/gstbuffer.h:
9594         Add metadata copy functions. Fixes #393099.
9595         API: gst_buffer_copy_metadata()
9596
9597         * gst/gstutils.c: (gst_buffer_stamp):
9598         * libs/gst/base/gstbasetransform.c:
9599         (gst_base_transform_prepare_output_buffer):
9600         Use new metadata copy functions.
9601
9602 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9603
9604         * plugins/elements/gstidentity.c: (gst_identity_class_init),
9605         (gst_identity_init), (gst_identity_check_perfect),
9606         (gst_identity_check_imperfect_timestamp),
9607         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
9608         (gst_identity_set_property), (gst_identity_get_property):
9609         * plugins/elements/gstidentity.h:
9610         Separate out check-imperfect-timestamp and check-imperfect-offset.
9611         Put back check-perfect as it was to keep compatibility.
9612
9613 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
9614
9615         * gst/gstelement.c: (gst_element_dispose):
9616         There's no need to warn if VOID_PENDING is not NONE here, as
9617         long as the state is NULL it's ok, and that's checked immediately
9618         above.
9619
9620 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9621
9622         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9623         Fix check for perfect stream to ignore buffers with -1 
9624         offsets/offset ends when checking data contiguity.
9625
9626 2007-03-08  Wim Taymans  <wim@fluendo.com>
9627
9628         * tools/gst-launch.c: (event_loop):
9629         Print INFO messages.
9630
9631 2007-03-08  Wim Taymans  <wim@fluendo.com>
9632
9633         * libs/gst/base/gstbasetransform.c:
9634         (gst_base_transform_sink_eventfunc),
9635         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
9636         (gst_base_transform_activate):
9637         * libs/gst/base/gstbasetransform.h:
9638         Add support for dropping buffers with custom GstFlowReturn.
9639         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
9640         buffers or dropped buffers.
9641
9642         * docs/libs/gstreamer-libs-sections.txt:
9643         docs for new custom return code.
9644
9645         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
9646         Use drop support in base class to implement drop-probability.
9647
9648 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
9649
9650         * gst/gst.c: (load_plugin_func):
9651         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
9652         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
9653         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
9654           Remove newlines at end of debug log strings.
9655
9656 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9657
9658         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9659         Only post bus message at max, once per buffer received.
9660
9661 2007-03-07  Wim Taymans  <wim@fluendo.com>
9662
9663         * docs/design/Makefile.am:
9664         * docs/design/part-synchronisation.txt:
9665         Add doc about synchronisation
9666
9667         * docs/design/draft-latency.txt:
9668         * docs/design/part-TODO.txt:
9669         * docs/design/part-clocks.txt:
9670         * docs/design/part-events.txt:
9671         * docs/design/part-gstbus.txt:
9672         * docs/design/part-gstpipeline.txt:
9673         * docs/design/part-live-source.txt:
9674         * docs/design/part-messages.txt:
9675         * docs/design/part-overview.txt:
9676         * docs/design/part-streams.txt:
9677         * docs/design/part-trickmodes.txt:
9678         Documentation updates.
9679
9680 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
9681
9682         * gstreamer.doap:
9683         Update the doap file.
9684
9685 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9686
9687         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9688         Rename non-perfect to imperfect for Mike and for the sanctity of the
9689         language.
9690         Also make sure bus message gets emitted for data-incontiguities.
9691
9692 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9693
9694         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
9695         (gst_identity_start):
9696         * plugins/elements/gstidentity.h:
9697         Emit bus message if check-perfect is true and we encounter a
9698         non-perfect stream between 2 consecutive buffers.
9699         Fixes #415394.
9700
9701 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
9702
9703         * configure.ac:
9704         Back to CVS
9705
9706 === release 0.10.12 ===
9707
9708 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
9709
9710         * configure.ac:
9711           releasing 0.10.12, "Inevitable Demise"
9712
9713 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
9714
9715         * configure.ac:
9716          Version 0.10.11.2 (0.10.12 pre-release)
9717          Bump libtool versioning.
9718
9719 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
9720
9721         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
9722           Log flow-names and not numbers.
9723
9724 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9725
9726         * configure.ac:
9727           Convert to new AG_GST style.
9728
9729 2007-02-28  Wim Taymans  <wim@fluendo.com>
9730
9731         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
9732         Don't unref query twice.
9733
9734 2007-02-28  Wim Taymans  <wim@fluendo.com>
9735
9736         * gst/gstvalue.c: (gst_value_transform_object_string),
9737         (_gst_value_initialize):
9738         Implement GstObject -> string transform so we print object names
9739         when serializing GValues containing GstObjects.
9740
9741 2007-02-28  Wim Taymans  <wim@fluendo.com>
9742
9743         * docs/gst/gstreamer-sections.txt:
9744         Add new stuff to docs.
9745
9746 2007-02-28  Wim Taymans  <wim@fluendo.com>
9747
9748         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
9749         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
9750         (gst_base_sink_change_state):
9751         Improve latency query code.
9752         Don't leak latency events.
9753
9754         * tests/check/gst/gstbin.c: (GST_START_TEST):
9755         Improve debugging.
9756
9757 2007-02-28  Wim Taymans  <wim@fluendo.com>
9758
9759         * gst/gstelement.c: (gst_element_message_full),
9760         (gst_element_get_state_func):
9761         * gst/gstelement.h:
9762         Improve docs a little. Added Since: for new macro.
9763
9764         * gst/gstobject.c: (gst_object_sink):
9765         * gst/gstpipeline.c: (gst_pipeline_change_state),
9766         (gst_pipeline_set_new_stream_time):
9767         * gst/gstpipeline.h:
9768         Improve debugging and docs.
9769
9770         * gst/gstutils.c: (gst_element_state_change_return_get_name):
9771         Improve debugging.
9772
9773 2007-02-28  Wim Taymans  <wim@fluendo.com>
9774
9775         * gst/gstelement.c: (gst_element_message_full),
9776         (gst_element_set_locked_state), (gst_element_get_state_func),
9777         (gst_element_change_state):
9778         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
9779         Documentation updates.
9780         Small code cleanups.
9781
9782         * gst/gstmessage.c: (gst_message_new_info),
9783         (gst_message_parse_info):
9784         * gst/gstmessage.h:
9785         API: gst_message_new_info()
9786         API: gst_message_parse_info()
9787         Add INFO message create and parse code.
9788
9789 2007-02-28  Wim Taymans  <wim@fluendo.com>
9790
9791         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
9792         (bin_query_latency_done):
9793         Also report the live parameter of a latency query.
9794
9795 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9796
9797         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
9798           Copy the current generic/states example from -base and adapt so
9799           we can use the exact same code everywhere.
9800           Check a STATES_IGNORE_ELEMENTS env var which can be used
9801           to ignore certain element factories for this test, which is
9802           what is being done in -base
9803         * tests/check/Makefile.am:
9804           Mention this environment variable.
9805
9806 2007-02-27  Wim Taymans  <wim@fluendo.com>
9807
9808         * docs/gst/gstreamer-sections.txt:
9809         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
9810         (gst_bus_timed_pop), (gst_bus_pop):
9811         * gst/gstbus.h:
9812         API: gst_bus_timed_pop()
9813         Implement gst_bus_timed_pop() to do a blocking timed wait for a
9814         message to arrive on the bus.
9815
9816         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
9817         (gst_bus_suite):
9818         Two unit tests for new _timed_pop() function.
9819
9820 2007-02-23  Wim Taymans  <wim@fluendo.com>
9821
9822         * gst/gstpipeline.c: (gst_pipeline_change_state),
9823         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
9824         Don't ref a NULL clock in _provide_clock_func().
9825         Don't allow an INVALID delay.
9826         Don't try to calculate base_time with an invalid start_time.
9827         Also distribute and notify a NULL clock when it was selected.
9828
9829         * tools/gst-launch.c: (event_loop):
9830         Don't crash when a NULL clock was selected in the pipeline.
9831
9832 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
9833
9834         * docs/design/Makefile.am:
9835         * docs/design/draft-missing-plugins.txt:
9836         * docs/random/draft-missing-plugins.txt:
9837           Some small updates: update plugin system identifier prefix
9838           ('gstreamer.net' to 'gstreamer'), mention our new install
9839           API in libgstbaseutils rather than libgimme-codec, add
9840           reference to the online docs.
9841
9842 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9843
9844         * win32/common/config.h:
9845           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
9846           use moap cl ci to only check in what is mentioned in the ChangeLog.
9847
9848 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9849
9850         * docs/gst/gstreamer-sections.txt:
9851         * gst/gstelement.h:
9852           Fix up documentation to link to the correct GstGError section.
9853           Add GST_ELEMENT_INFO macro since someone else added a Info message.
9854
9855 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9856
9857         * tools/gst-launch.c: (event_loop):
9858           Make sure that we actually show the important message part of a
9859           warning message.
9860           No need to check if the gerror is not NULL to free; first of all
9861           g_free accepts NULL; and second the default error handler would
9862           segfault if gerror was NULL.
9863
9864 2007-02-21  Wim Taymans  <wim@fluendo.com>
9865
9866         * docs/gst/gstreamer-sections.txt:
9867         Removed docs as well.
9868
9869 2007-02-21  Wim Taymans  <wim@fluendo.com>
9870
9871         * gst/gstmessage.c: (gst_message_parse_duration):
9872         * gst/gstmessage.h:
9873         Remove new messages for release.
9874
9875 2007-02-20  Wim Taymans  <wim@fluendo.com>
9876
9877         * docs/design/part-gstghostpad.txt:
9878         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
9879         (gst_ghost_pad_new_full):
9880         Make the ghostpad a parent of the internal pad again for better backward
9881         compatibility. Don't write code that relies on this however.
9882
9883         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
9884         (gst_pad_link_check_hierarchy):
9885         Require that parents should be GstElements in the hierarchy check.
9886
9887 2007-02-20  Wim Taymans  <wim@fluendo.com>
9888
9889         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
9890         (gst_bin_change_state_func), (bin_query_min_max_init),
9891         (bin_query_latency_fold), (bin_query_latency_done),
9892         (gst_bin_query):
9893         Improve debug info.
9894         Implement latency query.
9895
9896 2007-02-20  Wim Taymans  <wim@fluendo.com>
9897
9898         * docs/design/part-gstghostpad.txt:
9899         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
9900         (gst_ghost_pad_internal_do_activate_push),
9901         (gst_ghost_pad_internal_do_activate_pull),
9902         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
9903         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
9904         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
9905         Do not set the internal pad as a parent anymore so we can avoid
9906         hierarchy linking errors when the ghostpad has no parent yet. This also
9907         fixes failed activation because of unlinked internal pads, which in
9908         turn fixes the impossible case where you have to activate a pad before
9909         you can add it to a running element.
9910         Also fix the docs.
9911
9912         * gst/gstpad.c: (pre_activate), (post_activate),
9913         (gst_pad_set_active), (gst_pad_activate_pull),
9914         (gst_pad_activate_push), (gst_pad_check_pull_range):
9915         Add some more debug info.
9916         Mark activation mode in pre_activate so that we don't try to activate in
9917         endless loops. Fixes #385084.
9918
9919 2007-02-19  Wim Taymans  <wim@fluendo.com>
9920
9921         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
9922         (gst_base_transform_check_get_range):
9923         Implement a checkgetrange function instead of relying on the default
9924         core behaviour that assumes we can operate in pull mode if we have a
9925         getrange function. First step at fixing #385084.
9926
9927 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
9928
9929         * gst/gstchildproxy.h:
9930         * libs/gst/base/gstbasesink.h:
9931         * libs/gst/base/gstbasesrc.h:
9932         * libs/gst/base/gstbasetransform.h:
9933         More docs coverage and some ChangeLog surgery (add missing names)
9934
9935 2007-02-15  Wim Taymans  <wim@fluendo.com>
9936
9937         * docs/design/part-TODO.txt:
9938         * docs/design/part-activation.txt:
9939         * docs/design/part-block.txt:
9940         * docs/design/part-buffering.txt:
9941         * docs/design/part-clocks.txt:
9942         * docs/design/part-element-source.txt:
9943         * docs/design/part-events.txt:
9944         * docs/design/part-gstbin.txt:
9945         * docs/design/part-gstbus.txt:
9946         * docs/design/part-gstpipeline.txt:
9947         * docs/design/part-live-source.txt:
9948         * docs/design/part-messages.txt:
9949         * docs/design/part-overview.txt:
9950         * docs/design/part-qos.txt:
9951         * docs/design/part-query.txt:
9952         * docs/design/part-states.txt:
9953         * docs/design/part-trickmodes.txt:
9954         Some doc updates. Start renaming from stream_time to running_time where
9955         it was used wrongly.
9956
9957 2007-02-15  Wim Taymans  <wim@fluendo.com>
9958
9959         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
9960         Answer LATENCY query.
9961
9962 2007-02-15  Wim Taymans  <wim@fluendo.com>
9963
9964         * tests/check/gst/gstevent.c: (event_probe), (test_event),
9965         (GST_START_TEST):
9966         Improve debugging.
9967
9968 2007-02-15  Wim Taymans  <wim@fluendo.com>
9969
9970         * gst/gstpad.c: (gst_pad_get_internal_links_default),
9971         (gst_pad_dispatcher):
9972         Improve debugging of default pad dispatcher and query functions.
9973
9974 2007-02-15  Wim Taymans  <wim@fluendo.com>
9975
9976         * docs/gst/gstreamer-sections.txt:
9977         Remove old unused method.
9978
9979 2007-02-13  Wim Taymans  <wim@fluendo.com>
9980
9981         * tests/check/gst/gstsegment.c: (GST_START_TEST):
9982         Fix check
9983
9984 2007-02-13  Wim Taymans  <wim@fluendo.com>
9985
9986         * docs/design/part-seeking.txt:
9987         Some small update.
9988
9989         * gst/gstsegment.c: (gst_segment_set_seek):
9990         Revert old bogus change that should make seeking work again.
9991
9992 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
9993
9994         * docs/random/ensonic/dynlink.txt:
9995         * docs/random/ensonic/interfaces.txt:
9996         * docs/random/ensonic/receipies.txt:
9997           Possible dynamic reconnection api, plus some type fixes the other two
9998           docs.
9999
10000 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
10001
10002         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
10003         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
10004         Also check for an absolute path following file:// in the filesrc
10005         element. Remove redundant check and call g_path_is_absolute() on the
10006         unescaped location.
10007
10008 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
10009
10010         * docs/design/draft-klass.txt:
10011           Add existing category analysis.
10012           
10013         * gst/gstcaps.c:
10014           Fix doc example, framerate is a fraction.
10015
10016 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
10017
10018         * configure.ac:
10019         * docs/gst/Makefile.am:
10020         * docs/gst/gstreamer-sections.txt:
10021         * docs/libs/Makefile.am:
10022           Erm, forgot a bunch of --extra-dir.
10023
10024 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
10025
10026         * configure.ac:
10027         * docs/gst/Makefile.am:
10028         * docs/libs/Makefile.am:
10029         * docs/plugins/Makefile.am:
10030           Add crossreferences to glib/gobject docs.
10031
10032 2007-02-12  Wim Taymans  <wim@fluendo.com>
10033
10034         * docs/design/draft-latency.txt:
10035         Small update.
10036
10037         * docs/libs/gstreamer-libs-sections.txt:
10038         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
10039         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
10040         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
10041         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
10042         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
10043         (gst_base_sink_get_position), (gst_base_sink_query),
10044         (gst_base_sink_change_state):
10045         * libs/gst/base/gstbasesink.h:
10046         API: gst_base_sink_query_latency() to let subclasses query the upstream
10047         latency.
10048         API: gst_base_sink_get_latency() to let subclasses query the configured
10049         latency in the sink.
10050         Implement query and set latency.
10051         Update some docs.
10052         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
10053         don't continue preroll when we are flushing. Fixes #405284.
10054
10055         * tests/check/pipelines/stress.c: (change_state_timeout),
10056         (quit_timeout), (GST_START_TEST), (stress_suite):
10057         Test for #405284.
10058
10059 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
10060
10061         Patch by: René Stadler <mail at renestadler de>
10062
10063         * docs/gst/gstreamer-sections.txt:
10064         * gst/gsttaglist.c: (_gst_tag_initialize):
10065         * gst/gsttaglist.h:
10066           API: add GST_TAG_REFERENCE_LEVEL (#403597).
10067
10068 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
10069
10070         * docs/libs/Makefile.am:
10071           Fix path to core docs.
10072
10073         * gst/gstbin.c: (gst_bin_get_by_interface),
10074         (gst_bin_iterate_all_by_interface):
10075           Refix docs by also renaming 'interface' to 'iface' in implementation.
10076
10077         * docs/gst/gstreamer-sections.txt:
10078         * gst/gstcaps.c:
10079         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
10080         * gst/gstchildproxy.h:
10081         * gst/gstelementfactory.c:
10082         * gst/gstpadtemplate.h:
10083         * libs/gst/controller/gstcontroller.c:
10084         (gst_controlled_property_new):
10085           Document more.
10086
10087 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
10088
10089         * gst/gstbin.h:(gst_bin_get_by_interface),
10090         (gst_bin_iterate_all_by_interface):
10091         Replace interface parameter name by iface as interface is 
10092         a reserved keyword in Visual Studio for C++ projects so it removes
10093         a build error for application developpers using VS.
10094         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
10095         Fix a bug on Windows in uri format check. Now the prefix checked
10096         is file:// and next we check if the path after file:// is absolute.
10097         * win32/common/libgstbase.def:
10098         * win32/common/libgstdataprotocol.def:
10099         * win32/common/libgstgstreamer.def:
10100         Add new exported functions.
10101
10102 2007-02-09  Andy Wingo  <wingo@pobox.com>
10103
10104         * tests/check/pipelines/simple-launch-lines.c
10105         (simple_launch_lines_suite, test_tee): Disable tee test until I
10106         have time to fix it :-(
10107
10108         * tests/check/Makefile.am (noinst_HEADERS): 
10109         * tests/check/libs/libsabi.c: 
10110         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
10111         * tests/check/gst/gstabi.c: 
10112         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
10113
10114         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
10115         tests for push and pull tee behavior.
10116
10117         * plugins/elements/gsttee.h: 
10118         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
10119         mark as deprecated as well as unimplemented. It was a crack idea.
10120         Add support for tee operating in pull mode, off by default.
10121
10122         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
10123         normal-case logs down to LOG, raise errors to WARNING.
10124         (gst_registry_xml_read_cache): Don't log before calling a function
10125         that logs.
10126
10127         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
10128         exit (registry finalize).
10129         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
10130         DEBUG log when we emit signals that people don't even have the
10131         chance to connect to.
10132         (gst_registry_scan_path_level): Less logging in the normal case.
10133
10134 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
10135
10136         Patch by: Michal Benes <michal dot benes at itonis dot tv>
10137
10138         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
10139         Correctly generate EOS for non-seekable files. We don't have a total
10140         length for them and would get an unexpected end of file if we only
10141         special-cased for regular files. (Fixes: #404569)
10142
10143 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
10144
10145         * tests/check/elements/filesrc.c: (GST_START_TEST),
10146         (filesrc_suite):
10147         Add unit test for the GstURIHandler interface in filesrc. This also
10148         tests the newly added file://localhost/foo/bar support.
10149
10150 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
10151
10152         * gst/gstelementfactory.h:
10153           The klass string is not a hierarchy. Add reference to the design doc
10154           for more information and common types.
10155
10156 2007-02-02  Wim Taymans  <wim@fluendo.com>
10157
10158         * gst/gstquery.c: (gst_query_new_latency):
10159         Remove old structure field.
10160
10161 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
10162
10163         * tools/gst-launch.1.in:
10164           Give example for network streaming (#351998)
10165
10166 2007-02-02  Wim Taymans  <wim@fluendo.com>
10167
10168         * docs/gst/gstreamer-sections.txt:
10169         Add docs for new methods.
10170
10171         * gst/gstevent.c: (gst_event_new_latency),
10172         (gst_event_parse_latency):
10173         * gst/gstevent.h:
10174         Add new LATENCY event to configure latency in a pipeline.
10175         API: gst_event_new_latency
10176         API: gst_event_parse_latency
10177
10178         * gst/gstmessage.c: (gst_message_new_buffering),
10179         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
10180         (gst_message_new_latency), (gst_message_parse_buffering),
10181         (gst_message_parse_lost_preroll):
10182         * gst/gstmessage.h:
10183         Added messages used in draft-latency.
10184         API: gst_message_new_lost_preroll
10185         API: gst_message_parse_lost_preroll
10186         API: gst_message_new_prerolled
10187         API: gst_message_new_latency
10188
10189         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
10190         (gst_query_parse_latency):
10191         * gst/gstquery.h:
10192         Implemented new latency query as in design doc.
10193         API: gst_query_new_latency
10194         API: gst_query_set_latency
10195         API: gst_query_parse_latency
10196
10197 2007-02-02  Wim Taymans  <wim@fluendo.com>
10198
10199         * docs/design/draft-latency.txt:
10200         Slight redesign to allow for dynamic latency adjustments.
10201
10202         * docs/design/part-negotiation.txt:
10203         Fix some typos.
10204
10205 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
10206
10207         reviewed by: Wim Taymans <wim@fluendo.com>
10208
10209         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
10210         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
10211         Allow file://localhost/foo/bar URLs and correctly fail for every other
10212         hostname that one sets. This was gnomevfssrc is linked for those if
10213         installed as it can handle it (#403172)
10214
10215 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
10216
10217         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
10218
10219         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10220         (unref_data), (gst_collect_pads_add_pad_full):
10221         * libs/gst/base/gstcollectpads.h:
10222         Don't put the previously added destroy notify in the GstCollectData
10223         struct as all it's padding is already used and we don't want to break
10224         ABI. Instead put in the pad's GObject data for now. This should be
10225         cleaned up for 0.11 (#402393).
10226
10227 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
10228
10229         reviewed by: Wim Taymans <wim@fluendo.com>
10230
10231         * docs/libs/gstreamer-libs-sections.txt:
10232         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10233         (unref_data), (gst_collect_pads_add_pad),
10234         (gst_collect_pads_add_pad_full):
10235         * libs/gst/base/gstcollectpads.h:
10236         API: Add function to specify a destroy notification for custom
10237         GstCollectData when adding new pads in GstCollectPads (#402393).
10238
10239 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
10240
10241         * po/sv.po:
10242           Update Swedish translation (#378255).
10243
10244 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
10245
10246         * docs/design/draft-klass.txt:
10247           Fix the previous change, this is a list of categories and not a hierarchy.
10248
10249 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
10250
10251         * docs/design/draft-klass.txt:
10252           Add info about how to get a list of used classes.
10253
10254 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
10255
10256         * plugins/elements/gsttypefindelement.c:
10257         (gst_type_find_element_chain_do_typefinding),
10258         (gst_type_find_element_change_state):
10259           Don't leak found caps in chain function (no idea why that never
10260           showed up as a leak anywhere).
10261
10262 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
10263
10264         * gst/gstplugin.h:
10265           Fix and expand GstPluginDesc API docs.
10266
10267 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
10268
10269         * gst/gstcaps.c:
10270         * gst/gstelementfactory.c:
10271         * gst/gstpadtemplate.h:
10272           api doc fixes
10273
10274         * libs/gst/controller/gstcontroller.c:
10275         (gst_controlled_property_new):
10276         * tests/examples/controller/audio-example.c:
10277           comment fixes
10278
10279 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
10280
10281         * configure.ac:
10282           comment about refining the xml deps
10283
10284         * docs/manuals.mak:
10285           comments about moving away from jade for docs
10286         
10287         * gst/gst.c:
10288           recommit the ifdefs to use the binary registry
10289         
10290         * gst/gstbin.c: (gst_bin_change_state_func):
10291           this break is obsolete
10292
10293         * gst/gstelementfactory.h:
10294           better GST_ELEMENT_DETAILS docs, add comment about translation
10295
10296         * gst/gstinfo.h:
10297           remove eol slash
10298
10299         * gst/gstobject.c: (gst_signal_object_get_type):
10300           add G_UNLIKELY as usual
10301
10302         * gst/gstpad.c: (gst_pad_event_default):
10303           add fall trhu comment
10304
10305         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10306         (gst_registry_binary_initialize_magic),
10307         (gst_registry_binary_save_string),
10308         (gst_registry_binary_save_pad_template),
10309         (gst_registry_binary_save_feature),
10310         (gst_registry_binary_save_plugin),
10311         (gst_registry_binary_write_cache),
10312         (gst_registry_binary_check_magic),
10313         (gst_registry_binary_load_pad_template),
10314         (gst_registry_binary_load_feature),
10315         (gst_registry_binary_load_plugin),
10316         (gst_registry_binary_read_cache):
10317           comment typo and formatting
10318
10319         * gst/gstutils.c: (gst_element_state_get_name),
10320         (gst_element_state_change_return_get_name):
10321           remove obsolete breaks
10322
10323         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
10324           add FIXME 0.11 and remove cpp comment
10325
10326 2007-01-29  Edward Hervey  <edward@fluendo.com>
10327
10328         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10329         Fix print statement in an even more portable way.
10330
10331 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
10332
10333         * docs/gst/gstreamer-sections.txt:
10334         * gst/gstutils.h:
10335           API: add GST_ROUND_DOWN_* macros (#401781).
10336
10337 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
10338
10339         * docs/gst/gstreamer.types.in:
10340         * gst/gstregistry.c: (gst_registry_class_init):
10341           Document registry signals and make gtk-doc pick them up (#401381).
10342
10343 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
10344
10345         * docs/pwg/building-testapp.xml:
10346           Add some audioconverts and audioresample to the pipeline, and some
10347           more comments and error handling.
10348
10349 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
10350
10351         * docs/manual/manual.xml:
10352         * docs/pwg/pwg.xml:
10353           Fix typo (#400987).
10354
10355 2007-01-26  Wim Taymans  <wim@fluendo.com>
10356
10357         * gst/gstcaps.c: (gst_static_caps_get):
10358         Init caps flags too.
10359
10360 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
10361
10362         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
10363
10364         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
10365         If not using mmap'ed files try to seek to the end instead of the
10366         start to determine whether we can seek at all. This fixes the case
10367         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
10368         seeks for everything afterwards fail. Fixes #400656
10369
10370 2007-01-25  Wim Taymans  <wim@fluendo.com>
10371
10372         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
10373         Add some refcount debugging.
10374         Make gst_static_caps_get threadsafe, which is needed when autoplugging
10375         in multiple streaming threads.
10376
10377 2007-01-25  Wim Taymans  <wim@fluendo.com>
10378
10379         Patch by: David Schleef <ds at schleef dot org>
10380
10381         * docs/libs/gstreamer-libs-sections.txt:
10382         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
10383         * libs/gst/base/gstadapter.h:
10384         API: gst_adapter_copy() that can reduce the amount of memcpy when
10385         getting data from the adapter. Fixes #388201.
10386
10387 2007-01-25  Edward Hervey  <edward@fluendo.com>
10388
10389         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10390         In print statements, "%x" is for guint. Fixes build on macosx.
10391
10392 2007-01-24  Edward Hervey  <edward@fluendo.com>
10393
10394         * plugins/elements/gstmultiqueue.c:
10395         (gst_multi_queue_loop):
10396         Small fix.
10397         (single_queue_overrun_cb), (single_queue_underrun_cb),
10398         (single_queue_check_full), (gst_single_queue_new):
10399         Implement single queue growth system.
10400         This uses the extra-size properties, and will grow single queues by
10401         that much if one goes full whereas there are others empty. This is
10402         called extra-mode in the code.
10403         When a single queue's levels go back below the initial max-size
10404         limits, it is no longer in extra-mode. This is to ensure we don't
10405         consume too much memory.
10406         Fixes #399875
10407
10408 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
10409
10410         * gst/gst.c: (gst_init_get_option_group):
10411           Make warning about late g_thread_init() calls a bit more explicit,
10412           so that it's more obvious to application developers what they need
10413           to do if a user files a bug against their application.
10414
10415 2007-01-22  Edward Hervey  <edward@fluendo.com>
10416
10417         * plugins/elements/gstmultiqueue.c:
10418         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
10419         Remove previous hack of unsetting the flushing flag for the source pad
10420         instead of activating it. Instead, fix the source pad activate function
10421         so that it no longer depends on having a parent set or not.
10422
10423 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
10424
10425         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
10426
10427         * docs/manual/basics-bus.xml:
10428           Fix example code, gst_element_unref() doesn't exist any longer.
10429
10430 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
10431
10432         Patch by: Mark Nauwelaerts <manauw at skynet be>
10433
10434         * gst/gstpad.c:
10435           Fix two docs typoes (#399094).
10436
10437 2007-01-19  Edward Hervey  <edward@fluendo.com>
10438
10439         * docs/faq/gst-uninstalled:
10440         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
10441         depending on libgstbaseutils can work in uninstalled environment.
10442
10443 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
10444
10445         * gst/gsttaglist.h:
10446         * gst/gsttagsetter.c:
10447         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
10448         statement for new tag.
10449
10450 2007-01-17  Edward Hervey  <edward@fluendo.com>
10451
10452         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
10453         When dynamically creating single queues, activate sinkpad before adding
10454         it.
10455         We should be doing the same thing for the source pad, but we can't
10456         since it would call a method which needs the parent to be set in order
10457         to work propertly. Instead of activating the source pad, we just unset
10458         the flushing flag, which is the minimal requirement for adding a pad
10459         to an element in a state greater than READY.
10460
10461 2007-01-17  Edward Hervey  <edward@fluendo.com>
10462
10463         * docs/faq/gst-uninstalled:
10464         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
10465         Mac OS X.
10466
10467 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
10468
10469         * tests/check/gst/gstabi.c:
10470         * tests/check/gst/struct_hppa.h:
10471         * tests/check/libs/libsabi.c:
10472         * tests/check/libs/struct_hppa.h:
10473           Add ABI structs for HPPA (see #393796).
10474
10475 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
10476
10477         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
10478           Actually write ABI structs to the file specified in the GST_ABI
10479           environment variable, as the message we print claims we would.
10480
10481 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10482
10483         * tests/check/gst/gsttask.c:
10484           Fix header comment.
10485
10486 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10487
10488         * gst/gsttaglist.c: (_gst_tag_initialize):
10489           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
10490           previous two entries.
10491
10492 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10493
10494         * docs/gst/gstreamer-sections.txt:
10495         * gst/gsttaglist.c: (_gst_tag_initialize):
10496         * gst/gsttaglist.h:
10497           Add tag support for beat-per-minute.
10498
10499 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10500
10501         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10502         (gst_registry_binary_initialize_magic),
10503         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
10504         (gst_registry_binary_save_pad_template),
10505         (gst_registry_binary_save_feature),
10506         (gst_registry_binary_save_plugin),
10507         (gst_registry_binary_write_cache),
10508         (gst_registry_binary_check_magic),
10509         (gst_registry_binary_load_pad_template),
10510         (gst_registry_binary_load_feature),
10511         (gst_registry_binary_load_plugin),
10512         (gst_registry_binary_read_cache):
10513         * gst/gstregistrybinary.h:
10514           Use glib types, cleanup comments, impement interfaces and uri-types.
10515
10516 2007-01-13  Andy Wingo  <wingo@pobox.com>
10517
10518         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
10519         getrange() to return buffers with other caps, while we fix
10520         demuxers and typefind, or otherwise change part-negotiation.txt.
10521
10522 2007-01-12  Andy Wingo  <wingo@pobox.com>
10523
10524         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
10525         Factor start/stop into this private function instead of partially
10526         in activate functions and partially in the change_state function.
10527         Fixes setup before the element has changed from READY->PAUSED, as
10528         is the case in pull-mode pipelines.
10529         (gst_base_transform_sink_activate_push)
10530         (gst_base_transform_src_activate_pull): Refactor to use
10531         gst_base_transform_activate().
10532         (gst_base_transform_change_state): Removed, not needed any more.
10533
10534         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10535         Truncate before fixating.
10536         
10537         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10538         Don't set_caps() if the result of fixating is ANY, as it's not
10539         supported, and not necessary in the case of a link with no
10540         template caps on either side. Fixes tests/check/libs/basesrc in
10541         some pull-mode tests.
10542
10543         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
10544         (gst_base_transform_init, gst_base_transform_sink_activate_push)
10545         (gst_base_transform_src_activate_pull): 
10546         Track the activation mode.
10547         (gst_base_transform_setcaps): In pull mode, when activating the
10548         src pad, after activating the sink pad, activate the sink pad's
10549         peer, as discussed in part-negotiation.txt.
10550
10551         * libs/gst/base/gstbasesrc.h: 
10552         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
10553         vmethod, as in basesink.
10554
10555         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
10556
10557         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
10558         mode, first proxy the setcaps to the peer pad.
10559         (gst_base_sink_pad_fixate): Add a fixate function that calls the
10560         new fixate vmethod.
10561         (gst_base_sink_default_activate_pull): Rename from
10562         gst_base_sink_activate_pull.
10563         (gst_base_sink_negotiate_pull): New function, performs negotiation
10564         in pull mode before calling ::activate_pull().
10565         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
10566         vmethod instead of the default implementation. I have no idea how
10567         this worked before. Negotiate before calling activate_pull.
10568
10569         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
10570         sink pads in pull mode. In addition to being correct, fixes
10571         filesrc ! decodebin ! identity ! fakesink.
10572         (gst_pad_get_range, gst_pad_pull_range): Don't call
10573         gst_pad_set_caps() if the caps changes; instead error out with
10574         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
10575
10576 2007-01-12  Andy Wingo  <wingo@pobox.com>
10577
10578         * docs/design/part-negotiation.txt: Update with more policy.
10579
10580 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10581
10582         * libs/gst/check/gstbufferstraw.h:
10583         * libs/gst/check/gstcheck.h:
10584           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
10585           belongs.
10586
10587 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10588
10589         * tests/check/Makefile.am:
10590         * tests/check/gst/.cvsignore:
10591         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
10592         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
10593         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
10594         (GST_START_TEST), (gst_tag_setter_suite):
10595           Add minimal unit test for beforementioned GstTagSetter bug.
10596
10597 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10598
10599         Patch by: René Stadler <mail at renestadler dot de>
10600
10601         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
10602           gst_tag_list_merge() returns a new list, so it's not the best idea
10603           to ingore its return value. Effectively meant that tags could only
10604           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
10605           Also add function guard to require a non-NULL taglist as input (has
10606           always been so due to gst_tag_list_copy(), just making it explicit).
10607
10608 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10609
10610         * docs/random/draft-missing-plugins.txt:
10611           Some additions: mention new API that is supposed to be used at the
10612           various stages; short blob about new gst-inspect introspection
10613           option; mention potential future problem with plugins that have
10614           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
10615
10616 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10617
10618         * tools/gst-inspect.c:
10619         (print_plugin_automatic_install_info_codecs),
10620         (print_plugin_automatic_install_info_protocols),
10621         (print_plugin_automatic_install_info), (main):
10622         Add --print-plugin-auto-install-info option to gst-inspect, so we can
10623         introspect plugin files and get machine-parsable output that corresponds
10624         to the last bit of the missing-plugin installer string (small gotcha:
10625         doesn't take into account ranks).
10626
10627 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
10628
10629         * configure.ac:
10630         * docs/gst/gstreamer-sections.txt:
10631         * gst/Makefile.am:
10632         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
10633         (gst_registry_lookup_locked):
10634         * gst/gstregistry.h:
10635         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10636         (gst_registry_binary_initialize_magic),
10637         (gst_registry_binary_save_string),
10638         (gst_registry_binary_save_pad_template),
10639         (gst_registry_binary_save_feature),
10640         (gst_registry_binary_save_plugin),
10641         (gst_registry_binary_write_cache),
10642         (gst_registry_binary_check_magic),
10643         (gst_registry_binary_load_pad_template),
10644         (gst_registry_binary_load_feature),
10645         (gst_registry_binary_load_plugin),
10646         (gst_registry_binary_read_cache):
10647         * gst/gstregistrybinary.h:
10648         * gst/gstregistryxml.c: (load_feature),
10649         (gst_registry_xml_read_cache):
10650           commit binary registry (disabled by default, see #359653)
10651
10652 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10653
10654         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
10655           Fix 'make check' too.
10656
10657 2007-01-10  Andy Wingo  <wingo@pobox.com>
10658
10659         * docs/design/part-negotiation.txt: Fix a typo, add a couple
10660         notes.
10661         
10662         * docs/design/part-negotiation.txt: Update with, um, one way that
10663         pull-mode negotiation might work?
10664
10665         * gst/gstpad.h: 
10666         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
10667         that the pad must be a src pad; makes sense to call it the other
10668         way in pull mode, and the logic is symmetric anyway.
10669
10670 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
10671
10672         * plugins/elements/gstfilesink.c:
10673           Include <stdio.h> for fseeko().
10674
10675 2007-01-10  Wim Taymans  <wim@fluendo.com>
10676
10677         * gst/gstevent.c:
10678         * gst/gstevent.h:
10679         Reserve LATENCY event.
10680
10681 2007-01-09  Wim Taymans  <wim@fluendo.com>
10682
10683         * docs/design/draft-latency.txt:
10684         Updates.
10685
10686 2007-01-09  Wim Taymans  <wim@fluendo.com>
10687
10688         * docs/design/draft-latency.txt:
10689         Updates.
10690
10691         * gst/gstelement.h:
10692         * gst/gststructure.c:
10693         * gst/gsttrace.c:
10694         Small typo fixes.
10695
10696 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
10697
10698         * tests/check/.cvsignore:
10699           Ignore test-registry.xml as well.
10700
10701 2007-01-09  Wim Taymans  <wim@fluendo.com>
10702
10703         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
10704         unref data at the end when we are done with the pad.
10705
10706 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
10707
10708         * docs/gst/gstreamer-sections.txt:
10709         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
10710         (init_post), (gst_deinit), (gst_update_registry):
10711         * gst/gst.h:
10712           API: add gst_update_registry() (#391296).
10713
10714         * tests/check/Makefile.am:
10715         * tests/check/gst/gstregistry.c:
10716         * tests/check/gst/.cvsignore:
10717           Simple unit test for the above.
10718
10719 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
10720
10721         * gst/gstregistry.c: (gst_registry_scan_path_level):
10722           Plugin extension on HP-UX is .sl, add that to the list of approved
10723           plugin extensions (see #393796).
10724
10725         * tests/check/gst/gstpad.c: (GST_START_TEST):
10726           ulong => gulong. Fixes compilation with HP-UX compiler.
10727
10728         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
10729           Fix compilation if valgrind headers are not available.
10730
10731 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
10732
10733         * win32/common/libgstreamer.def: 
10734           Add new exported function.
10735         * win32/vs6/libgstbase.dsp: 
10736           Add gstdataqueue.c to the build.
10737         * win32/vs6/libgstcoreelements.dsp:
10738           Add gstmultiqueue.c to the build.
10739         
10740 2007-01-06  Andy Wingo  <wingo@pobox.com>
10741
10742         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
10743         activate_pull(), providing for a way to specialize the process of
10744         spawning a thread to pull on the sink pad. There is a default
10745         implementation.
10746
10747         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
10748         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
10749         (gst_base_sink_init): Renamed pad activation functions (inserting
10750         "_pad" in their names). Refactor to use the new activate_pull
10751         vmethod, as appropriate.
10752         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
10753         default activate_pull function to start a task pulling from the
10754         sink pad, as before.
10755
10756         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
10757         on the pads if necessary, as in push()/chain(). Update docs.
10758         Shouldn't affect existing pull() usage as it is currently only
10759         being used on buffers without caps.
10760
10761 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10762
10763         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
10764         (init_pre):
10765           Call g_thread_init() first thing in gst_init() / gst_check_init().
10766           When initialisation is done via gst_init_get_option_group() and
10767           GOption parsing, issue a warning if the GLib thread system has not
10768           been initialised yet by the time gst_init_get_option_group() is
10769           called, as it's quite likely other GLib functions such as
10770           g_option_context_new() have been called already then, and
10771           g_thread_init() must be called before any other GLib function. The
10772           application in question must be fixed in that case, since memory
10773           corruption might happen otherwise.
10774           We issue the warning because even if the GLib folks decide to work
10775           around the problem on their end in future, this is still an issue
10776           with all GLib versions >= 2.10.0, so we should warn until we depend
10777           on a GLib version we know to be safe.
10778           Update documentation as well.
10779           Closes bug #391278.
10780
10781 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10782
10783         * tools/gst-inspect.c: (main):
10784         * tools/gst-launch.c: (main):
10785         * tools/gst-typefind.c: (main):
10786         * tools/gst-xmlinspect.c: (main):
10787           Call g_thread_init() really really early, before any other GLib
10788           function (see #342564 and recent discussion on gtk-devel-list).
10789
10790 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10791
10792         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
10793
10794         * gst/gst_private.h:
10795         * gst/gstconfig.h.in:
10796         * gst/gstinfo.h:
10797           On win32, all the __declspec stuff for symbol exporting is
10798           apparently only needed with MSVC, but doesn't work with MingW.
10799           Fixes compilation with MingW and #391909.
10800
10801 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10802
10803         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
10804           Change some GST_ERROR_OBJECT that aren't really errors to
10805           GST_WARNING_OBJECT in order to reduce terminal spam.
10806
10807 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
10808
10809         * tests/check/Makefile.am:
10810           disable test again, as there seem to be still race problems
10811
10812 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
10813
10814         * tests/check/Makefile.am:
10815         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10816         (GST_START_TEST), (queue_suite):
10817           enable queue test again, add tests for the leaky behaviour
10818
10819 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
10820
10821         * configure.ac:
10822         * tests/examples/Makefile.am:
10823           Compile adapter test/example only if the required headers are
10824           available (fixes #391915).
10825
10826 2007-01-01  David Schleef  <ds@schleef.org>
10827
10828         * gst/gstplugin.c:
10829           Restore the previous signal handler for SIGSEGV instead of
10830           setting to default, since we may have stolen it away from
10831           someone.  (i.e., Mono)
10832
10833 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
10834
10835         * docs/random/draft-missing-plugins.txt:
10836           Some small additions and clarifications.
10837
10838 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
10839
10840         * gst/gstregistryxml.c: (gst_registry_save_escaped):
10841           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
10842           since that can lead to random memory corruptions and crashes
10843           (may or may not be related to #383244, #386711, and #386711).
10844
10845 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10846
10847         * tests/check/.cvsignore:
10848         * tests/check/Makefile.am:
10849           sync .cvsignome and CLEANFILES
10850
10851 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10852
10853         * tests/check/Makefile.am:
10854           fix distcheck
10855
10856 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10857
10858         * docs/design/part-states.txt:
10859           two tiny additional comments
10860         
10861         * gst/gststructure.c:
10862           doc fixing
10863
10864         * tests/check/Makefile.am:
10865         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10866         (GST_START_TEST):
10867           disable test for now, unless it gets fixed
10868
10869 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10870
10871         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10872         (GST_START_TEST):
10873           fix race in underrun test
10874
10875 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10876
10877         * tests/check/elements/.cvsignore:
10878           ignore more
10879
10880         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10881         (GST_START_TEST):
10882           try to narrow test failure
10883
10884 2006-12-21  David Schleef  <ds@schleef.org>
10885
10886         * plugins/elements/gstfakesrc.c:
10887           Use g_random_int_range(), since it produces better random
10888           numbers in a range than almost-correct floating point code.
10889
10890 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10891
10892         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
10893         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
10894         (gst_check_teardown_sink_pad):
10895           do not automatically (de)activate pads
10896
10897         * tests/check/Makefile.am:
10898         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10899         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
10900           add new, yet simple tests for queue
10901
10902         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
10903         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
10904         * tests/check/elements/filesrc.c: (cleanup_filesrc),
10905         (GST_START_TEST):
10906         * tests/check/elements/identity.c: (cleanup_identity):
10907           consistent pad (de)activation
10908
10909 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
10910
10911         Patch by: Sebastian Dröge  <slomo ubuntu com>
10912
10913         * libs/gst/base/gstcollectpads.c:
10914           Fix two doc typos (#387866).
10915
10916 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
10917
10918         * docs/manual/advanced-dparams.xml:
10919           Fix typo (g_object_control_properties() doesn't exist).
10920
10921 2006-12-19  Edward Hervey  <edward@fluendo.com>
10922
10923         * gst/gstsegment.c: (gst_segment_set_seek):
10924         Fine tune the cases where the segment start/stop values are really
10925         updated.
10926         * tests/check/gst/gstsegment.c: (GST_START_TEST):
10927         Add tests for the return values of gst_segment_set_seek().
10928
10929 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
10930
10931         * gst/gst.c:
10932           Docs typo fix.
10933
10934         * plugins/elements/gstqueue.c: (gst_queue_class_init),
10935         (gst_queue_init):
10936           Fix incorrect documentation and flesh it out a bit more.
10937           Set default values for the max properties on the GParamSpec as well,
10938           so it shows up correctly in gst-inspect.
10939
10940 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
10941
10942         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
10943           Correct docs of queue, add more detail and crosslink it more.
10944
10945 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
10946
10947         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
10948           Print additional debug info when the stream isn't perfectly
10949           timestamped; don't try to use invalid durations.
10950
10951 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
10952
10953         * docs/design/Makefile.am:
10954           Dist new design docs.
10955
10956 2006-12-16  Wim Taymans  <wim@fluendo.com>
10957
10958         Patch by: Sjoerd Simons <sjoerd at luon dot net>
10959
10960         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
10961         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
10962         (gst_collect_pads_stop), (gst_collect_pads_event),
10963         (gst_collect_pads_chain):
10964         * libs/gst/base/gstcollectpads.h:
10965         Add refcounting to the collectpads data so we can track when it's safe
10966         to free the data. Fixes #383382.
10967
10968 2006-12-15  Wim Taymans  <wim@fluendo.com>
10969
10970         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
10971         (gst_collect_pads_remove_pad):
10972         Automatically activate/deactivate pads when they are added to a
10973         started/stoped collectpads.
10974
10975 2006-12-15  Wim Taymans  <wim@fluendo.com>
10976
10977         * gst/gstelement.c: (gst_element_add_pad):
10978         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
10979         * gst/gstpad.c: (gst_pad_init):
10980         Set pads to FLUSHING when they are created. Check, warn and fix when a
10981         demuxer adds an inactive pad to itself when running. Fixes #339326.
10982
10983 2006-12-15  Wim Taymans  <wim@fluendo.com>
10984
10985         * gst/gstelement.c: (gst_element_class_init),
10986         (gst_element_default_send_event), (gst_element_send_event),
10987         (gst_element_default_query), (gst_element_query):
10988         Expose default element send_event and query handling as vmethods that
10989         subclasses can chain up to.
10990
10991 2006-12-15  Wim Taymans  <wim@fluendo.com>
10992
10993         * gst/gstelement.c: (gst_element_set_state_func):
10994         Small documentation fixes.
10995
10996 2006-12-15  Wim Taymans  <wim@fluendo.com>
10997
10998         * docs/design/draft-latency.txt:
10999         Checked in draft for handling latency in pipelines.
11000
11001 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11002
11003         * Makefile.am:
11004         * gstreamer.doap:
11005         * gstreamer.spec.in:
11006           adding .doap file
11007
11008 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
11009
11010         * gst/gst.c: (init_pre), (init_post):
11011           init_pre() and init_post() might be called via our GOptionGroup or
11012           from gst_init(), and we should skip both of them if we've already
11013           been initialised, otherwise we will init some things twice or add
11014           two default log functions.
11015
11016 2006-12-13  Edward Hervey  <edward@fluendo.com>
11017
11018         * docs/manual/basics-bus.xml:
11019         No, gst_main_loop does not exist. Its g_main_loop.
11020         Discovered by somebody who abused the copy-paste technique of coding :)
11021
11022 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
11023
11024         * gst/gstghostpad.c:
11025           Log ghostpad debug stuff to the GST_PADS category as well rather
11026           than just to the default category.
11027
11028 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
11029
11030         * configure.ac:
11031         * gst/gst.c: (init_pre):
11032           Add some basic system details such as OS and architecture
11033           to the debug output if possible, courtesy of uname().
11034
11035 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
11036
11037         * docs/gst/running.xml:
11038           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
11039           environment variables.
11040
11041 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
11042
11043         * tests/check/gst/gstbin.c: (GST_START_TEST):
11044         It is acceptable to have a refcount of 2 or 3 at this point in the
11045         test, because the pipeline might be just posting its state_change
11046         message. The next line then waits for that message to appear using
11047         bus_poll, so that should be fine too.
11048
11049 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
11050
11051         * gst/gst.c: (ensure_current_registry_forking):
11052         Ignore EINTR when reading from the child registry pipe.
11053         Explicitly ignore the return value from close, since it makes no
11054         difference.
11055
11056         * gst/gstminiobject.c: (gst_mini_object_ref),
11057         (gst_mini_object_unref):
11058         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
11059
11060         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
11061         When removing cached plugins, remove their features too, so they're
11062         not visible after they've disappeared.
11063
11064         * gst/gstutils.c: (prepare_link_maybe_ghosting):
11065         In the unlikely case that we are linking pads with no parents, don't
11066         crash trying to get the non-existent parent bin.
11067
11068         * gst/parse/grammar.y:
11069         Output debug in the PIPELINE category
11070
11071 2005-03-08  Wim Taymans  <wim@fluendo.com>
11072
11073         Patch by: René Stadler <mail at renestadler dot de>
11074
11075         * gst/gstclock.c: (gst_clock_new_periodic_id):
11076         Reject invalid clock times for interval of periodic ids.
11077         Fixes ##383506.
11078
11079 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
11080
11081         * gst/gstelementfactory.c: (gst_element_factory_create):
11082         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
11083         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
11084         * tools/gst-inspect.c: (print_element_info):
11085         Fix refcounting of gst_plugin_feature_load to match the docs. 
11086         Fixes: #380129
11087
11088 2006-12-07  Wim Taymans  <wim@fluendo.com>
11089
11090         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
11091         (gst_base_sink_get_position):
11092         Improve debugging of events.
11093
11094 2006-12-07  Wim Taymans  <wim@fluendo.com>
11095
11096         Patch by: René Stadler <mail at renestadler dot de>
11097
11098         * gst/gstclock.c: (gst_clock_id_wait):
11099         Make period ids add the interval to the origial requested time instead
11100         of the possibly updated time which can be wrong when there are multiple
11101         waiters for the same id. Fixes #382592.
11102
11103         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
11104         (gst_system_clock_id_wait_jitter_unlocked),
11105         (gst_system_clock_id_wait_jitter):
11106         Fix restart in the async notify thread when an async entry is added to
11107         the front of the list. Fixes #381492. 
11108
11109         * tests/check/gst/gstsystemclock.c: (store_callback),
11110         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
11111         Added test for multiple async waits.
11112         Added test for async wait order.
11113
11114 2006-12-07  Wim Taymans  <wim@fluendo.com>
11115
11116         * gst/gstbin.c: (gst_bin_query):
11117         Add some more docs about the POSITION query.
11118
11119 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
11120
11121         * configure.ac:
11122         Bump version nano - back to CVS.
11123
11124 === release 0.10.11 ===
11125
11126 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
11127
11128         * configure.ac:
11129           releasing 0.10.11, "Love never runs on time"
11130
11131 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
11132
11133         * win32/common/libgstbase.def:
11134         * win32/common/libgstreamer.def:
11135         * win32/vs8/libgstbase.vcproj:
11136         * win32/vs8/libgstcoreelements.vcproj:
11137         * win32/vs8/libgstreamer.vcproj:
11138         Fix compilation on win32 under VS8
11139         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11140         Partially fixes #381175
11141
11142 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
11143
11144         * gst/gstvalue.c: (gst_value_compare_fraction):
11145         If someone is foolish enough to compare 2 fractions with denominator =
11146         0, return UNORDERED rather than aborting.
11147
11148 2006-11-28  Edward Hervey  <edward@fluendo.com>
11149
11150         * libs/gst/base/Makefile.am:
11151         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
11152         (gst_data_queue_base_init), (gst_data_queue_class_init),
11153         (gst_data_queue_init), (gst_data_queue_new),
11154         (gst_data_queue_cleanup), (gst_data_queue_finalize),
11155         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
11156         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
11157         (gst_data_queue_is_empty), (gst_data_queue_is_full),
11158         (gst_data_queue_set_flushing), (gst_data_queue_push),
11159         (gst_data_queue_pop), (gst_data_queue_drop_head),
11160         (gst_data_queue_set_property), (gst_data_queue_get_property):
11161         * libs/gst/base/gstdataqueue.h:
11162         New GstDataQueue object for threadsafe queueing. Most useful for
11163         elements that need some queueing functionnality.
11164         * docs/libs/gstreamer-libs-docs.sgml:
11165         * docs/libs/gstreamer-libs-sections.txt:
11166         Insert documentation for GstDataQueue
11167         * plugins/elements/Makefile.am:
11168         * plugins/elements/gstelements.c:
11169         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
11170         (gst_multi_queue_class_init), (gst_multi_queue_init),
11171         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
11172         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
11173         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
11174         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
11175         (gst_multi_queue_loop), (gst_multi_queue_chain),
11176         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
11177         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
11178         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
11179         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
11180         (wake_up_next_non_linked), (compute_next_non_linked),
11181         (single_queue_overrun_cb), (single_queue_underrun_cb),
11182         (single_queue_check_full), (gst_single_queue_new):
11183         * plugins/elements/gstmultiqueue.h:
11184         New multiqueue element, using GstDataQueue. Used for queuing multiple
11185         streams.
11186         Closes #344639 and #347785
11187
11188 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
11189
11190         * docs/pwg/advanced-types.xml:
11191           add more missing type details
11192
11193         * tools/gst-run.c: (main):
11194           remove unused variable
11195
11196 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
11197
11198         * docs/libs/Makefile.am:
11199         * docs/libs/gstreamer-libs.types:
11200           add types of base classes to enable gobject specific stuff in the docs
11201
11202         * docs/random/ensonic/embedded.txt:
11203           more ideas about isolating platform specific things
11204
11205 2006-11-20  Wim Taymans  <wim@fluendo.com>
11206
11207         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
11208
11209         * libs/gst/check/gstcheck.h:
11210         Fix compilation and running against 0.9.4. Fixes #377332.
11211
11212 2006-11-20  Wim Taymans  <wim@fluendo.com>
11213
11214         * gst/gstsegment.c: (gst_segment_set_seek),
11215         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
11216         (gst_segment_to_running_time):
11217         Fix boundary checking in to_running_time() and to_stream_time().
11218         Fixes #377183.
11219
11220         * tests/check/gst/gstsegment.c: (GST_START_TEST):
11221         stream and running time can now be calculated for the complete
11222         clipped segment.
11223
11224 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
11225
11226         * gst/gstpad.c: (gst_pad_push_event):
11227           Can't access event structure after giving away ownership of
11228           the event.
11229
11230 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
11231
11232         * docs/random/ensonic/embedded.txt:
11233         * docs/random/ensonic/profiling.txt:
11234         * docs/random/ensonic/receipies.txt:
11235           more thinking
11236
11237 2006-11-13  Wim Taymans  <wim@fluendo.com>
11238
11239         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11240
11241         * gst/gstpad.c:
11242         Fix documentation for gst_pad_dispatcher. Fixes #374475.
11243
11244 2006-11-13  Wim Taymans  <wim@fluendo.com>
11245
11246         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
11247
11248         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
11249         Store new length in segment duration so we don't keep on calling the
11250         potentially expensize get_size() call. Fixes #370865.
11251
11252 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
11253
11254         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
11255
11256         * win32/common/libgstreamer.def:
11257           Add two missing symbols (#366492).
11258
11259 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
11260
11261         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
11262         (gst_adapter_take_buffer):
11263         Fix format string to use all its arguments.
11264         Remove useless >= check on a guint
11265
11266 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11267
11268         * tests/examples/adapter/.cvsignore:
11269         Ignore build file as commanded by the build-bot
11270
11271 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11272
11273         * tests/examples/adapter/Makefile.am:
11274         * tests/examples/adapter/adapter_test.c: (run_test_take),
11275         (run_test_take_buffer), (run_tests), (main):
11276
11277         Add new files from the previous commit
11278
11279 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11280
11281         * Makefile.am:
11282         * configure.ac:
11283         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
11284         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
11285         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
11286         * libs/gst/base/gstadapter.h:
11287         * tests/check/libs/adapter.c: (create_and_fill_adapter),
11288         (GST_START_TEST), (gst_adapter_suite):
11289         * tests/examples/Makefile.am:
11290         Do some optimisation work in GstAdapter to avoid copies in more cases.
11291         It could still do slightly better by merging buffers when
11292         gst_buffer_is_span_fast is true, but is already faster. 
11293
11294         Also, avoid traversing a single-linked list to append each incoming 
11295         buffer inside the adapter.
11296
11297         Add simple test app that times the adapter behaviour in different
11298         situations, and extend the unit test to check that bytes enter and
11299         exit the adapter in their original order.
11300
11301 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
11302
11303         * docs/random/draft-missing-plugins.txt:
11304           Update: use element message instead of adding a new message
11305           type to the core; don't provide GStreamer API to initiate the
11306           plugin download, just provide API to compose the strings needed
11307           and let an external libgimmestuff handle the rest.
11308
11309 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
11310
11311         * tools/gst-inspect.c: (print_element_properties_info):
11312         Print a string instead of 'unknown type' for GValueArray properties
11313
11314 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
11315
11316         * docs/random/draft-missing-plugins.txt:
11317         More small fixes.
11318
11319 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
11320
11321         * tests/examples/typefind/typefind.c: (type_found), (main):
11322           Make typefind element example work again (#371894); add a
11323           license header.
11324
11325 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
11326
11327         * docs/random/draft-missing-plugins.txt:
11328           Commit initial draft about how to deal with missing plugins,
11329           needs work (API too).
11330
11331 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
11332
11333         * docs/pwg/advanced-types.xml:
11334           documents the new caps elements (see #363118)
11335
11336 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
11337
11338         * gst/gstplugin.c: (gst_plugin_load_file):
11339         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
11340         (gst_file_src_map_region), (gst_file_src_start):
11341         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
11342         (gst_file_index_commit):
11343           Use g_strerror() instead of strerror() - we want UTF-8.
11344
11345 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
11346
11347         Patch by: Peter Kjellerstedt <pkj at axis com>
11348
11349         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11350           Another printf fix (#371493).
11351
11352 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11353
11354         * tests/check/gst/gsttag.c:
11355           relicence (okay with author=company)
11356
11357 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11358
11359         * gst/gstpad.c: (gst_pad_event_default_dispatch),
11360         (gst_pad_push_event):
11361           Enhance debug and improve docs
11362         
11363         * gst/gsturi.c:
11364           Fix docs
11365
11366 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11367
11368         * docs/random/ensonic/distributed.txt:
11369         * docs/random/ensonic/profiling.txt:
11370           more ideas
11371
11372 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11373
11374         * docs/gst/gstreamer-sections.txt:
11375           add new API and fix the build
11376           
11377         * gst/gstbin.c: (gst_bin_recalc_state):
11378         * gst/gstelement.c: (gst_element_message_full),
11379         (gst_element_get_state_func), (gst_element_set_state_func):
11380           use new API and improve logging
11381         
11382         * gst/gstutils.c: (gst_element_state_change_return_get_name):
11383         * gst/gstutils.h:
11384           API: add function to get StateChangereturn names to improve logs 
11385
11386 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11387
11388         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
11389           I'm considering shooting the next person to put strerror stuff
11390           in the translateable part of the message.
11391
11392 2006-11-03  Wim Taymans  <wim@fluendo.com>
11393
11394         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11395         Get the type and printf conversion specifiers right.
11396
11397 2006-11-03  Wim Taymans  <wim@fluendo.com>
11398
11399         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11400
11401         * gst/gstpad.c: (gst_pad_init), (pre_activate),
11402         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
11403         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
11404         Some small cleanups. Improve debugging.
11405         * gst/gstpad.h:
11406         Signal all waiting threads with a broadcast instead of just one.
11407         Fixes #369942.
11408
11409 2006-11-03  Wim Taymans  <wim@fluendo.com>
11410
11411         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
11412         (gst_fd_src_create):
11413         Add some debugging. 
11414         Only update fd when it's different from the old.
11415
11416 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
11417
11418         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
11419           Printf fixes for PPC/OSX, take two (#369366).
11420
11421 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
11422
11423         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
11424
11425         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
11426         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
11427         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
11428           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
11429           don't cast to long long for portability reasons, but use
11430           GLib's types instead.
11431
11432 2006-10-30  Michael Smith  <msmith@fluendo.com>
11433
11434         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
11435           Get the arguments to lseek() the right way around.
11436           Fixes 367677.
11437
11438 2006-10-30  Wim Taymans  <wim@fluendo.com>
11439
11440         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
11441
11442         * gst/gstinfo.h:
11443         _declspec should be __declspec (two underscores, not one). Fixes 366572.
11444
11445 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
11446
11447         Patch by: Kjartan Maraas  <kmaraas at gnome org>
11448
11449         * docs/design/part-MT-refcounting.txt:
11450         * docs/random/wtay/capsnego2-docs:
11451         * gst/gstclock.c:
11452         * gst/gstxml.c:
11453           Typo fixes (#366212).
11454
11455 2006-10-28  Wim Taymans  <wim@fluendo.com>
11456
11457         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11458
11459         * gst/gst.c:
11460         * win32/common/libgstbase.def:
11461         * win32/common/libgstreamer.def:
11462         * win32/vs8/libgstbase.vcproj:
11463         * win32/vs8/libgstcontroller.vcproj:
11464         Add needed entries in .def files.
11465         Use HAVE_UNISTD_H.
11466         Rearrange def files in vs8 solutions. Fixes #366286.
11467
11468 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
11469
11470         * win32/common/gstconfig.h:
11471           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
11472           hand-made win32 gstconfig.h. Fixes #366321.
11473
11474 2006-10-27  Wim Taymans  <wim@fluendo.com>
11475
11476         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
11477         (gst_ghost_pad_new_full):
11478         Make acceptcaps return TRUE when we don't have a target, just like
11479         setcaps does.
11480
11481 2006-10-27  Wim Taymans  <wim@fluendo.com>
11482
11483         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11484         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
11485
11486 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
11487
11488         * gst/gststructure.c: (gst_structure_id_set_value):
11489           If someone tries to set a non-UTF8 string field on a structure,
11490           don't just print a warning, but also ignore the request and do
11491           not change/add that field to the structure.
11492
11493         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11494           Test for the above.
11495
11496 2006-10-25  David Schleef  <ds@schleef.org>
11497
11498         * gst/gstinfo.c:
11499           g_hash_table_insert() needs a cast to a non-const pointer duh.
11500
11501 2006-10-25  David Schleef  <ds@schleef.org>
11502
11503         * gst/gstinfo.c:
11504         * gst/gstinfo.h:
11505           Change name parameter of _gst_debug_register_funcptr to const
11506           to reflect the constness of its use in the function as well
11507           as to quiet a gcc warning.
11508
11509 2006-10-25  Edward Hervey  <edward@fluendo.com>
11510
11511         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11512         Don't push the buffer if it's empty.
11513         Closes #363095
11514
11515 2006-10-24  Wim Taymans  <wim@fluendo.com>
11516
11517         * gst/gstevent.h:
11518         Add small comment.
11519
11520         * libs/gst/base/gstbasetransform.c:
11521         (gst_base_transform_sink_eventfunc):
11522         Debug segment values *after* updating them as this is more
11523         interesting.
11524
11525 2006-10-23  Wim Taymans  <wim@fluendo.com>
11526
11527         * docs/design/part-events.txt:
11528         Update some docs.
11529
11530         * docs/design/part-block.txt:
11531         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
11532         (gst_pad_push_event):
11533         Revert BLOCKING patch, it tries to be smart without really having a
11534         clear idea what or how. So, now we discard all FLUSHING events again on
11535         a blocking pad. Should fix gnonlin again.
11536
11537 2006-10-23  Wim Taymans  <wim@fluendo.com>
11538
11539         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11540
11541         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
11542         (gst_base_src_start), (gst_base_src_activate_push):
11543         Make sure size is always initialized. Fixes #364388.
11544
11545 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
11546
11547         * docs/random/ensonic/distributed.txt:
11548           add some ideas about doing distributed processing
11549
11550         * docs/random/ensonic/profiling.txt:
11551           get_rusage look promising
11552
11553 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
11554
11555         * docs/manual/basics-helloworld.xml:
11556           Add a cast in example to fix compile warning
11557
11558 2006-10-18  Wim Taymans  <wim@fluendo.com>
11559
11560         * gst/gstsegment.c: (gst_segment_set_last_stop),
11561         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11562         Relax arg checking again, -1 is allowed.
11563
11564 2006-10-18  Wim Taymans  <wim@fluendo.com>
11565
11566         * gst/gstsegment.c: (gst_segment_set_last_stop),
11567         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11568         _set_last_stop() must be with a value != -1
11569         A _TYPE_SET to -1 means seek to 0.
11570         Calc last_stop correctly for negative rates.
11571         Make sure we work with positive durations when updating a segment.
11572
11573 2006-10-18  Wim Taymans  <wim@fluendo.com>
11574
11575         * docs/design/part-live-source.txt:
11576         * gst/gstclock.h:
11577         Small docs fixes.
11578
11579 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
11580
11581         * gst/gstbuffer.h:
11582           Add an explicit cast to GstBuffer** to keep old code that added an
11583           explicit cast to GstMiniObject** for gst_mini_object_replace()
11584           compiling without warning.
11585
11586 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
11587
11588         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
11589           check for validity of dates
11590
11591 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11592
11593         * docs/gst/gstreamer-sections.txt:
11594           Forgot this one, makes gtk-doc shut up.
11595
11596 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11597
11598         Patch by: Peter Kjellerstedt <pkj at axis com>
11599
11600         * gst/gstobject.h:
11601           Don't define xmlNodePtr to gpointer if the core was built with
11602           --disable-loadsave and --disable-registry, this will break
11603           applications that want to use libxml2 but are buildling against a
11604           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
11605           instead so we don't have to mess with the libxml2 namespace
11606           (#361675).
11607
11608 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11609
11610         * gst/gstbuffer.h:
11611           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
11612           type-punned pointer warnings.
11613
11614 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
11615
11616         * gst/gstelement.h:
11617           Add casts to the correct return type to state <=> state transition
11618           macros.
11619
11620 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
11621
11622         * docs/design/part-live-source.txt:
11623           describe howto handle latency
11624         
11625         * docs/random/ensonic/profiling.txt:
11626           more ideas
11627
11628         * tools/gst-plot-timeline.py:
11629           fix log parsing for solaris, remove unused function
11630
11631 2006-10-16  Wim Taymans  <wim@fluendo.com>
11632
11633         * docs/design/part-trickmodes.txt:
11634         * gst/gstevent.c:
11635         Update some docs regarding reverse playback.
11636
11637 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
11638
11639         Patch by: Marcus Granado  <mrc dot gran at gmail com>
11640
11641         * win32/vs8/grammar.vcproj:
11642           Error out with a warning if glib-genmarshal.exe is not in path,
11643           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
11644
11645 2006-10-13  Wim Taymans  <wim@fluendo.com>
11646
11647         * gst/gstsegment.c: (gst_segment_set_seek):
11648         When seeking to stop -1, set last_stop (current position) to the
11649         duration of the segment.
11650
11651 2006-10-13  Wim Taymans  <wim@fluendo.com>
11652
11653         * gst/gstelement.h:
11654         Clarify _NO_PREROLL a bit more.
11655
11656         * gst/gstevent.c:
11657         Fix docs.
11658
11659         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
11660         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
11661         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
11662         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
11663         due to wrong locking order. Fixes #361769.
11664         Remove some redundant/misplaced checks in pad_block.
11665
11666         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
11667         For negative rates, count backwards from the duration.
11668
11669 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
11670
11671         * gst/gsterror.c: (_gst_library_errors_init):
11672           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
11673           up with something better).
11674
11675 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
11676
11677         * win32/vs6/libgstreamer.dsp:
11678         * win32/vs7/libgstreamer.vcproj:
11679         * win32/vs8/libgstreamer.vcproj:
11680           Don't reference glib-compat.c which is currently not used and not
11681           disted; add gstquark.c which was recently added. Fixes #361730.
11682
11683 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
11684
11685         * win32/common/libgstbase.def:
11686         * win32/common/libgstcontroller.def:
11687         * win32/common/libgstreamer.def:
11688           Add gst_caps_merge() and a bunch of other recently-added functions.
11689           Fixes #361732.
11690
11691 2006-10-11  Wim Taymans  <wim@fluendo.com>
11692
11693         * docs/plugins/gstreamer-plugins.args:
11694         * docs/plugins/inspect/plugin-coreelements.xml:
11695         * docs/plugins/inspect/plugin-coreindexers.xml:
11696         Update element args.
11697
11698         * gst/gstsystemclock.c:
11699         Small comment update.
11700
11701         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
11702         (gst_tee_request_new_pad), (gst_tee_release_pad),
11703         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
11704         (gst_tee_sink_activate_pull):
11705         * plugins/elements/gsttee.h:
11706         Some tee loving:
11707         Add default property defines.
11708         Implement release pad function.
11709         Give properties better blubs etc.
11710         Activate pads before adding them to a running tee.
11711         Do simple buffer_alloc on the first requested pad.
11712         Post error when activation fails.
11713
11714 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
11715
11716         * gst/gst.c: (ensure_current_registry_forking):
11717           Check return value of write() to make compiler happy.
11718
11719 2006-10-11  Wim Taymans  <wim@fluendo.com>
11720
11721         Patch by: Sjoerd Simons <sjoerd at luon dot net>
11722
11723         * plugins/elements/gstqueue.c: (gst_queue_chain):
11724         Recheck queue filledness after signalling the overrun when we're about
11725         to leak downstream because we released the lock when emitting the signal
11726         and the queue could be empty again. Fixes #352345.
11727
11728 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
11729
11730         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
11731           Fix refcounting here too, just like we did for _new_valist() a few
11732           days ago (#357180) (thanks to René Stadler). Also remove all those
11733           'Since: 0.9' from the gtk-doc blobs.
11734
11735         * tests/check/libs/controller.c: (controller_refcount_new_list),
11736         (gst_controller_suite):
11737           Unit test for the above.
11738
11739 2006-10-10  Wim Taymans  <wim@fluendo.com>
11740
11741         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
11742
11743         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
11744         (gst_pad_save_thyself):
11745         Update some docs.
11746         Write pad direction in XML output. Fixes #345496.
11747
11748 2006-10-10  Wim Taymans  <wim@fluendo.com>
11749
11750         Patch by: René Stadler <mail at renestadler dot de>
11751
11752         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
11753         (gst_controller_new_list), (_gst_controller_dispose),
11754         (_gst_controller_finalize), (_gst_controller_class_init):
11755         Take ref to controlled object so that it cannot disappear. 
11756         Fixes #357432.
11757
11758 2006-10-10  Wim Taymans  <wim@fluendo.com>
11759
11760         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
11761         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
11762         (gst_check_teardown_sink_pad):
11763         Activate/deactivate pads in setup/teardown respectively.
11764
11765 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11766
11767         Patch by: Josep Torra Valles <josep@fluendo.com>
11768
11769         * gst/Makefile.am:
11770         Cast values when making gstenumtypes.h.  This pacifies Forte
11771         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
11772         in the enumeration.
11773
11774 2006-10-09  Wim Taymans  <wim@fluendo.com>
11775
11776         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
11777         Rename some more @cur to @start to fix docs. 
11778
11779         * gst/gstsegment.c: (gst_segment_set_seek):
11780         Fix typo.
11781         time and start must always stay in sync as defined in design doc.
11782
11783         * gst/gsttaglist.c: (gst_tag_list_is_empty):
11784         Rename param to fix docs.
11785
11786         * tests/check/gst/gstsegment.c: (GST_START_TEST):
11787         Check that start and time are in sync.
11788
11789         * tests/check/pipelines/parse-launch.c:
11790         (gst_parse_test_element_change_state):
11791         Activate pad before adding to the element.
11792
11793 2006-10-09  Wim Taymans  <wim@fluendo.com>
11794
11795         * docs/design/part-qos.txt:
11796         Fix typo.
11797
11798         * gst/gstevent.c:
11799         * gst/gstevent.h:
11800         Update seek event docs regarding negative rates.
11801         Rename @cur to @start. 
11802
11803         * gst/gstsegment.c: (gst_segment_set_seek):
11804         * gst/gstsegment.h:
11805         Update set_seek docs regarding negative rates.
11806         Correctly update last_stop to @stop when dealing with negative
11807         rates.
11808         Rename @cur to @start. 
11809
11810         * tests/check/gst/gstpad.c: (GST_START_TEST):
11811         Activate pads before trying to use them.
11812
11813         * tests/check/gst/gstsegment.c: (GST_START_TEST),
11814         (gst_segment_suite):
11815         Add simple check for segments and negative rates.
11816
11817 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
11818
11819         * gst/gsttaglist.c: (gst_tag_list_is_empty):
11820         * gst/gsttaglist.h:
11821         * docs/gst/gstreamer-sections.txt:
11822           API: add gst_tag_list_is_empty() (#360467).
11823
11824         * tests/check/gst/gsttag.c: (GST_START_TEST):
11825           And a test case.
11826
11827 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11828
11829         * gst/gstmessage.h:
11830         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
11831         a value that doesn't fit on enumeration.
11832
11833 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11834
11835         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11836         Remove local debugging system and use Gstreamer's instead.
11837
11838 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11839
11840         Patch by: Josep Torra Valles <josep@fluendo.com>
11841
11842         * common/m4/gst-error.m4:
11843         Disable warning of statement not reached on Forte.
11844         * gst/gstmessage.h:
11845         Fix warning on Forte (value doesn't fit on enumeration).
11846         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
11847         Fix warning on Forte (value doesn't fit on enumeration).
11848         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11849         DEBUG macro says it takes minimum of 2 args and so Forte
11850         complains about the use with just 1 arg.
11851         * plugins/elements/gstfdsink.c:
11852         * plugins/elements/gstfdsrc.c:
11853         * plugins/elements/gstfilesink.c:
11854         * plugins/elements/gstfilesrc.c:
11855         Use correct return type for the uri handler implementations.
11856
11857         All these fix warnings in Forte.  Fixes bug #360860.
11858
11859 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
11860
11861         * gst/gstelement.h:
11862           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
11863           format string, so don't use G_GNUC_PRINTF for those versions.
11864
11865 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
11866
11867         * gst/gsttaglist.c: (gst_is_tag_list):
11868         * gst/gsttaglist.h:
11869           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
11870
11871         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11872           Small test for the above.
11873
11874 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
11875
11876         * gst/gsttaglist.h:
11877           Less tabs, more spaces.
11878
11879 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
11880
11881         * gst/gstinfo.h:
11882           Those two function declarations do actually belong there, revert
11883           commit from yesterday that turned them intro macros.
11884
11885 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11886
11887         Patch by: Josep Torra Valles <josep@fluendo.com>
11888
11889         * gst/gst.c: (gst_init_get_option_group):
11890         Fix empty declaration and type mismatch.
11891         * gst/gstbin.c: (gst_bin_change_state_func):
11892         Fix type mismatch.
11893         * gst/gstelement.c: (gst_element_continue_state),
11894         (gst_element_set_state_func), (gst_element_change_state),
11895         (gst_element_change_state_func):
11896         Fix type mismatches.
11897         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
11898         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
11899         Cast as appropriate.
11900         * gst/gstobject.c: (gst_class_signal_connect):
11901         Cast as appropriate.  The function pointer parameter really
11902         has the wrong type but would break API if we change it.
11903         * gst/gstquery.c:
11904         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
11905         order of including string.h.
11906         * gst/gstutils.c: (gst_element_state_get_name):
11907         Remove unreachable line.
11908         * gst/gstxml.c: (gst_xml_parse_doc):
11909         Fix type mismatch.
11910         All these caught by Forte.
11911
11912 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11913
11914         Patch by: Josep Torra Valles <josep@fluendo.com>
11915
11916         * common/m4/gst-error.m4:
11917         Fixed bug #360151.
11918         We need to disable warnings on Forte for empty declarations
11919         due to gst-indent adding ;s to lines that just use macros
11920         where the macro actually doesn't need a ; at end to end
11921         statement.
11922
11923 2006-10-06  Wim Taymans  <wim@fluendo.com>
11924
11925         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
11926         (gst_file_sink_close_file), (gst_file_sink_event),
11927         (gst_file_sink_render):
11928         Add some FIXME for the NEWSEGMENT handling.
11929
11930 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11931
11932         * gst/parse/grammar.y:
11933         Remove static function gst_parse_element_lock as all it does
11934         is return.  Looks like cruft from 0.8.
11935
11936 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11937
11938         Patch by: Josep Torra Valles <josep@fluendo.com>
11939
11940         * common/m4/gst-error.m4:
11941         * configure.ac:
11942         * libs/gst/net/Makefile.am:
11943         Fix a compilation issue with Forte on Solaris.  inet_aton is in
11944         libresolv.
11945
11946 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
11947
11948         * gst/gstpad.c: (pre_activate):
11949         * gst/gstregistry.c: (gst_registry_scan_path_level):
11950         * gst/gstregistryxml.c: (load_plugin):
11951         * libs/gst/controller/gstcontroller.c:
11952         (gst_controlled_property_set_interpolation_mode):
11953         * libs/gst/dataprotocol/dataprotocol.c:
11954         (gst_dp_packet_from_event_1_0):
11955         * libs/gst/net/gstnetclientclock.c:
11956         (gst_net_client_clock_observe_times):
11957         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11958           Printf fixes.
11959
11960 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
11961
11962         * configure.ac:
11963         * docs/gst/gstreamer-sections.txt:
11964         * gst/gstconfig.h.in:
11965         * gst/gstelement.h:
11966         * gst/gstinfo.h:
11967           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
11968           whether we can use G_GNUC_PRINTF in other header files and at
11969           least check the printf format/arguments of debug messages and
11970           GST_ELEMENT_ERROR messages when the printf extension is not
11971           being used.
11972           Replace more tabs with spaces in gstinfo.h and remove two spurious
11973           function declarations in GST_DISABLE_DEBUG part with macros.
11974
11975 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
11976
11977         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
11978           More docs for the sync-message signal (mention that it is not
11979           emitted by default); log message structures of messages posted on
11980           the bus as well.
11981
11982 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
11983
11984         * gst/gst.c: (ensure_current_registry_forking):
11985         Use a pipe pair to receive status results from the forked child, and
11986         ignore the result from waitpid. Fixes #355499
11987
11988 2006-10-02  Wim Taymans  <wim@fluendo.com>
11989
11990         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
11991         (gst_ghost_pad_suite):
11992         Fix leak in check.
11993
11994 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
11995
11996         * gst/gstpad.c:
11997           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
11998
11999 2006-10-02  Edward Hervey  <edward@fluendo.com>
12000
12001         * docs/design/part-block.txt:
12002         Further explain the use of flushing on blocked pads.
12003         * docs/gst/gstreamer-sections.txt:
12004         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
12005         (gst_pad_push_event):
12006         * gst/gstpad.h:
12007         Added new GstPadFlag : GST_PAD_BLOCKING.
12008         Adds the notion of pads really blocking, which enables to properly
12009         handle FLUSH_START/FLUSH_STOP events on blocked pads.
12010         Fixes #358999
12011         API: gst_pad_is_blocking()
12012         API: GST_PAD_IS_BLOCKING() macro
12013         API: GST_PAD_BLOCKING GstPadFlag
12014         
12015 2006-10-02  Wim Taymans  <wim@fluendo.com>
12016
12017         Patch by: mrcgran <mrc.gran at gmail dot com>
12018
12019         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
12020         Filter the proxied caps against the padtemplate if we have one.
12021
12022         * gst/gstquery.c: (gst_query_new_segment):
12023         Add include for gstinfo.h so that compilation with
12024         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
12025
12026 2006-10-02  Wim Taymans  <wim@fluendo.com>
12027
12028         Patch by: Alessandro Decina  <alessandro at nnva org>
12029
12030         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
12031         (gst_file_sink_set_location), (gst_file_sink_open_file),
12032         (gst_file_sink_close_file), (gst_file_sink_event),
12033         (gst_file_sink_render):
12034         Set file to NULL when closing filesink so that we can set a new filename
12035         in READY. Fixes #358613.
12036
12037 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
12038
12039         Patch by: Alessandro Decina  <alessandro at nnva org>
12040
12041         * gst/gstevent.c: (_gst_event_copy):
12042           Fix gst_mini_object_make_writable() and gst_event_copy() for events
12043           with event structures by setting the parent refcount address of the
12044           copied structure to the address of the refcount member of the newly
12045           copied event rather than the address of the refcount member of the
12046           original event. Fixes #358737.
12047
12048         * tests/check/gst/gstevent.c: (GST_START_TEST):
12049           Unit test for the above.
12050
12051 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
12052
12053         * docs/design/Makefile.am:
12054           Dist some more files.
12055
12056 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
12057
12058         * tests/check/libs/controller.c: (GST_START_TEST),
12059         (gst_controller_suite):
12060           Add test for the previous fix; add some more tests
12061           for correct refcounting behaviour; fix a few leaks
12062           in test cases; call gst_controller_init() at start
12063           of all tests.
12064
12065 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
12066
12067         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12068         (gst_controller_set_from_list):
12069           Don't g_return_val_if_fail() on timed values with invalid timestamps
12070           inside a critical section without unlocking the mutex. Spotted by
12071           René Stadler. (#357617)
12072           Also, fix up refcounting properly: when returning an existing
12073           controller, we should increase the reference only once and not
12074           once per property and when trying to control a property again
12075           we should also increase the refcount.
12076
12077 2006-09-29  Wim Taymans  <wim@fluendo.com>
12078
12079         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
12080         * libs/gst/net/gstnettimeprovider.c:
12081         (gst_net_time_provider_thread):
12082         Stop reading commands when EOF as well.
12083
12084         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
12085         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
12086         * plugins/elements/gstidentity.c: (gst_identity_class_init):
12087         Unify description of the dump property.
12088
12089 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12090
12091         * tests/examples/manual/.cvsignore:
12092         OK, so it's actually cvsignore that needs changing. Stop laughing.
12093
12094 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12095
12096         * tests/examples/manual/Makefile.am:
12097         Gah, declare vars *before* using them
12098
12099 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12100
12101         * gst/gst.c: (init_pre), (scan_and_update_registry),
12102         (ensure_current_registry_nonforking),
12103         (ensure_current_registry_forking), (ensure_current_registry),
12104         (init_post), (gst_debug_help), (gst_deinit):
12105         * gst/gst_private.h:
12106         * gst/gstregistry.c: (gst_registry_finalize),
12107         (gst_registry_remove_features_for_plugin_unlocked),
12108         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12109         (gst_registry_scan_path),
12110         (_priv_gst_registry_remove_cache_plugins),
12111         (_priv_gst_registry_cleanup):
12112         * gst/gstregistry.h:
12113         Re-commit the registry changes, along with an extra fix:
12114           When a cached plugin is encountered at a different file path,
12115           update the stored path in the registry cache so that the parent
12116           process knows where it actually is now when it re-reads the registry
12117           cache. Fixes the thing that broke distcheck with the previous commit.
12118
12119         * tests/check/Makefile.am:
12120         Clean up files named 'core' too when running make clean.
12121
12122         * tests/examples/manual/Makefile.am:
12123         Set up a registry path for running these tests, and clean it properly
12124         for distcheck.
12125
12126 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12127
12128         * configure.ac:
12129         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
12130         want gmodule-no-export-2.0.pc instead so that we don't drag in
12131         --export-dynamic on every project that links to GStreamer.
12132
12133         Also, make our export regex only match the start of symbols, rather 
12134         than any symbol that contains '_gst' somewhere.
12135
12136         * libs/gst/check/Makefile.am:
12137         The libgstcheck we build does however need export-dynamic, as it
12138         produces some symbols that don't match our _gst... style regex.
12139         Fixes: #318031
12140
12141 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
12142
12143         * gst/gst.c: (init_pre), (scan_and_update_registry),
12144         (ensure_current_registry_nonforking),
12145         (ensure_current_registry_forking), (ensure_current_registry),
12146         (init_post), (gst_debug_help), (gst_deinit):
12147         * gst/gst_private.h:
12148         * gst/gstregistry.c: (gst_registry_finalize),
12149         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12150         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
12151         (_gst_registry_cleanup):
12152         * gst/gstregistry.h:
12153           Revert previous change until I figure out why it breaks distcheck.
12154
12155 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
12156
12157         * gst/gst.c: (init_pre), (scan_and_update_registry),
12158         (ensure_current_registry_nonforking),
12159         (ensure_current_registry_forking), (ensure_current_registry),
12160         (init_post), (gst_debug_help), (gst_deinit):
12161
12162           Make init_pre and init_post take the full complement of GOptionFunc
12163           args so they can return useful GErrors. Make the registry updating
12164           functions do so.
12165
12166           Call _priv_gst_registry_remove_cache_plugins after scanning files to
12167           ensure that the registry we're about to write out doesn't contain
12168           stale information about old-deleted plugin files.
12169
12170           Make _priv_gst_registry_remove_cache_plugins return a boolean so
12171           that deletion of plugin files is considered a registry change.
12172
12173         * gst/gst_private.h:
12174         * gst/gstregistry.c: (gst_registry_finalize),
12175         (gst_registry_remove_features_for_plugin_unlocked),
12176         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12177         (gst_registry_scan_path),
12178         (_priv_gst_registry_remove_cache_plugins),
12179         (_priv_gst_registry_cleanup):
12180         * gst/gstregistry.h:
12181         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
12182         by adding _priv prefix, so that they won't appear in the global
12183         symbol table. They still do atm though because of #318031. Move the
12184         prototypes to gst_private.h
12185
12186         When removing a plugin, remove all features for that plugin too. 
12187         Fixes #340878.
12188
12189 2006-09-27  Wim Taymans  <wim@fluendo.com>
12190
12191         * docs/random/moving-plugins:
12192         Make it clear that the "compiled-in descriptions" really mean
12193         the element details.
12194
12195         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12196         (gst_base_sink_wait_preroll):
12197         Update docs.
12198
12199         * docs/libs/gstreamer-libs-sections.txt:
12200         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
12201         (gst_base_src_get_range), (gst_base_src_activate_push):
12202         * libs/gst/base/gstbasesrc.h:
12203         Added function to block while waiting for PLAYING, this function
12204         is used by live sources that block on the clock.
12205         API: gst_base_src_wait_playing()
12206
12207 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12208
12209         Patch by: Peter Kjellerstedt <pkj at axis com>
12210
12211         * Makefile.am:
12212           gst-element-check.m4 is generated and should therefore be
12213           copied from the build dir rather than the source dir (#357593).
12214           'make distcheck' hasn't noticed this because we were disting
12215           the file as well, so stop doing that.
12216
12217 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12218
12219         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12220           Add some tests for gst_caps_intersect().
12221
12222         * tools/gst-launch.c: (event_loop):
12223           Print all buffering percentages we get, even the 100% one.
12224
12225 2006-09-26  Wim Taymans  <wim@fluendo.com>
12226
12227         * tools/gst-inspect.c: (print_element_properties_info),
12228         (print_signal_info):
12229         Fix printing of flags to match the look of enums.
12230
12231 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12232
12233         * gst/gstelementfactory.c:
12234           Fix typo in docs blurb.
12235
12236 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12237
12238         * gst/gsturi.c: (search_by_entry):
12239           Don't assert/crash here if a uri handler doesn't return any
12240           supported protocols. The list of protocols could be generated
12241           dynamically at runtime or at plugin registration, and an error
12242           in the underlying library shouldn't be fatal (#353301).
12243
12244 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12245
12246         * gst/gstinfo.c:
12247           Fix warning if HAVE_PRINTF_EXTENSION is undefined
12248           (spotted by Peter Kjellerstedt).
12249
12250 2006-09-23  Wim Taymans  <wim@fluendo.com>
12251
12252         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
12253
12254         * libs/gst/base/gstbasesrc.c:
12255         (gst_base_src_default_check_get_range), (gst_base_src_start),
12256         (gst_base_src_activate_push), (gst_base_src_activate_pull),
12257         (gst_base_src_change_state):
12258         Match _start/_stop calls in the activate functions. Remove redundant
12259         _stop call from the state change function. Fixes #356910.
12260         Turn failure DEBUG into ERROR. 
12261
12262 2006-09-22  Wim Taymans  <wim@fluendo.com>
12263
12264         * docs/design/part-buffering.txt:
12265         * gst/gstmessage.c: (gst_message_new_buffering),
12266         (gst_message_parse_buffering):
12267         Update docs about buffering.
12268
12269         * docs/design/part-trickmodes.txt:
12270         Fix typo.
12271
12272 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
12273
12274         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12275         (gst_controller_new_list):
12276           Ref instances when returning them again (fixes #357180)
12277
12278 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
12279
12280         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
12281           Don't forget to release proxy lock when there's an error.
12282
12283 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
12284
12285         * gst/gstcaps.h:
12286           Add extra initialisers for Caps things, to fix some plugin warnings
12287           when using -Wextra
12288
12289 2006-09-18  Wim Taymans  <wim@fluendo.com>
12290
12291         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
12292           Also set template on the internal pad so that a getcaps from the 
12293           target pad returns the template caps.
12294
12295 2006-09-18  Wim Taymans  <wim@fluendo.com>
12296
12297         * gst/gstelement.c: (gst_element_post_message),
12298         (gst_element_dispose):
12299         Use _DEBUG_OBJECT some more.
12300
12301         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
12302         Avoid typechecks.
12303
12304         * tools/gst-launch.c: (main):
12305         If the toplevel element is not a GstPipeline, it must be put in a
12306         pipeline so that a bus and clock is selected.
12307
12308 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
12309
12310         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
12311           JITTER, RATE, and LATENCY query should be handled by the
12312           default case and not by the CONVERT query code.
12313
12314 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
12315
12316         * gst/gstformat.c: (gst_format_register):
12317           Fix locking order (must take lock before using n_values).
12318
12319         * gst/gstvalue.c: (gst_value_serialize_enum),
12320         (gst_value_deserialize_enum_iter_cmp),
12321         (gst_value_deserialize_enum):
12322           Fix serialisation/deserialisation of custom registered GstFormats.
12323
12324         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12325           Unit test for custom format serialisation/deserialisation.
12326
12327 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
12328
12329         * docs/pwg/building-boiler.xml:
12330         * plugins/elements/gstcapsfilter.c:
12331         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
12332         section.
12333
12334 2006-09-16  Edward Hervey  <edward@fluendo.com>
12335
12336         * libs/gst/base/gstbasetransform.c:
12337         (gst_base_transform_buffer_alloc):
12338         Check if requested caps are the same as the sinks caps IF
12339         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
12340         is FALSE.
12341         This fixes the renegotiation issues stated in #352827.
12342
12343 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12344
12345         * configure.ac:
12346         * docs/manual/advanced-autoplugging.xml:
12347         * tests/examples/Makefile.am:
12348         * tests/examples/manual/.cvsignore:
12349         * tests/examples/manual/Makefile.am:
12350         * tests/examples/manual/extract.pl:
12351           Extract the manual examples again like we used to do.
12352           Fix one of them.
12353
12354 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12355
12356         * win32/common/config.h:
12357           update for version
12358
12359 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
12360
12361         * gst/gsterror.c:
12362           Documents how to receive errors.
12363
12364 2006-09-15  Wim Taymans  <wim@fluendo.com>
12365
12366         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
12367         (event_loop), (main):
12368         Added some comments here and there.
12369         Post an application message when an interrupt is caught instead of doing
12370         an uncontrolled state change.
12371         Clean up the event loop.
12372         Handle buffering messages, pause/resume the pipeline.
12373         Make shutdown because of an interrupt more reliable.
12374
12375 2006-09-15  Wim Taymans  <wim@fluendo.com>
12376
12377         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12378         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
12379         (gst_base_sink_preroll_object):
12380         Make sure that our internal state is correct when we commit our state
12381         asynchronously. This solves a race where a state change to PLAYING
12382         could cause the sink to remain blocked in preroll in some situations.
12383
12384 2006-09-15  Wim Taymans  <wim@fluendo.com>
12385
12386         * tools/gst-inspect.c: (print_element_properties_info),
12387         (print_signal_info):
12388         List flags as hex so it's easier to deal with.
12389
12390 2006-09-15  Wim Taymans  <wim@fluendo.com>
12391
12392         * docs/libs/gstreamer-libs-sections.txt:
12393         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
12394         (gst_base_sink_do_sync):
12395         * libs/gst/base/gstbasesink.h:
12396         Expose logic to wait for preroll so that subclasses such as audiosink
12397         can also use this method.
12398         API: gst_base_sink_wait_preroll()
12399
12400 2006-09-15  Wim Taymans  <wim@fluendo.com>
12401
12402         * gst/gstobject.c: (gst_object_set_parent):
12403         * gst/gstpipeline.c: (do_pipeline_seek):
12404         Small cleanups in docs and code.
12405
12406         * gst/gstsegment.c: (gst_segment_clip):
12407         * tests/check/gst/gstsegment.c: (GST_START_TEST):
12408         if stop == start and start is in the segment, no clipping should be
12409         done. Also add a test for this.
12410
12411 2006-09-15  Wim Taymans  <wim@fluendo.com>
12412
12413         * docs/design/part-buffering.txt:
12414         * docs/gst/gstreamer-sections.txt:
12415         * gst/gstmessage.c: (gst_message_new_buffering),
12416         (gst_message_parse_buffering):
12417         * gst/gstmessage.h:
12418         Added methods to create and parse BUFFERING messages.
12419         Added preliminary docs about buffering.
12420         API: gst_message_new_buffering
12421         API: gst_message_parse_buffering
12422
12423 2006-09-06  Wim Taymans  <wim@fluendo.com>
12424
12425         * gst/gstbin.c:
12426         Update documentation.
12427
12428         * gst/gstelement.c: (gst_element_class_init),
12429         (gst_element_release_request_pad), (gst_element_set_clock),
12430         (gst_element_get_index), (gst_element_add_pad),
12431         (gst_element_remove_pad), (gst_element_get_random_pad),
12432         (gst_element_send_event), (gst_element_get_query_types),
12433         (gst_element_query), (gst_element_post_message),
12434         (gst_element_message_full), (gst_element_continue_state),
12435         (gst_element_lost_state), (gst_element_save_thyself),
12436         (gst_element_restore_thyself):
12437         Documentation updates.
12438         Rename last bit of the new-pad -> pad-added signal rename.
12439         Fix the case where an element query would only work if the source
12440         pad was linked.
12441         Avoid some useless type checking in message handling.
12442
12443         * gst/gstevent.c:
12444         * gst/gstevent.h:
12445         * gst/gstutils.c:
12446         Documentation updates.
12447
12448 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12449
12450         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
12451           add an INFO line for when we actually update the fd
12452
12453 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12454
12455         * configure.ac:
12456           back to TRUNK
12457
12458 === release 0.10.10 ===
12459
12460 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
12461
12462         * configure.ac:
12463           releasing 0.10.10, "Pais"
12464
12465 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
12466
12467         * docs/manual/advanced-position.xml:
12468           Fix typo in sample code.
12469
12470 2006-09-05  Wim Taymans  <wim@fluendo.com>
12471
12472         * libs/gst/net/gstnetclientclock.c: (inet_aton),
12473         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
12474         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
12475         * libs/gst/net/gstnetclientclock.h:
12476         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
12477         * libs/gst/net/gstnettimepacket.h:
12478         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
12479         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
12480         (gst_net_time_provider_thread), (gst_net_time_provider_new):
12481         * libs/gst/net/gstnettimeprovider.h:
12482         Make stuff compile on windows. Fixes #345295.
12483
12484 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
12485
12486         * gst/gst.c: (ensure_current_registry_forking):
12487           Print better details when child was terminated by signal.
12488
12489 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
12490
12491         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
12492           Print a warning rather than g_assert() if a plugin feature
12493           is a URI handler but returns no protocols (#353976).
12494
12495 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
12496
12497         * docs/random/moving-plugins:
12498         Fix two typos.         
12499
12500 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
12501
12502         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
12503           Fix locking order, handle NULL function values properly.
12504
12505         * gst/gstinfo.h:
12506           Fix docs.
12507
12508         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
12509           Initialise variable before using it and fix debug statement to
12510           print the address of the function rather than the address of the
12511           variable on the stack holding the address of the function.
12512
12513 2006-09-01  Wim Taymans  <wim@fluendo.com>
12514
12515         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
12516         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
12517         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
12518         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
12519         (gst_ghost_pad_parent_unset),
12520         (gst_ghost_pad_internal_do_activate_push),
12521         (gst_ghost_pad_internal_do_activate_pull),
12522         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12523         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12524         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
12525         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
12526         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
12527         (gst_ghost_pad_new_no_target_from_template),
12528         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
12529         More cleanups.
12530         Avoid needless typechecking in macros.
12531         Since the internal pad is always present and never changes, there is
12532         no need to locking or ref when retrieving it.
12533         Improve debugging a bit.
12534         Handle link errors when setting the target. Fixes #341029.
12535
12536 2006-09-01  Wim Taymans  <wim@fluendo.com>
12537
12538         * docs/libs/gstreamer-libs-sections.txt:
12539         * docs/plugins/gstreamer-plugins-sections.txt:
12540         Fix docs some more.
12541
12542         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
12543         (gst_collect_pads_event):
12544         * libs/gst/base/gstcollectpads.h:
12545         Documentation updates.
12546         Free queued buffer when removing a pad.
12547
12548 2006-08-31  Michael Smith  <msmith@fluendo.com>
12549
12550         * gst/gstutils.c: (gst_element_link_pads),
12551         (gst_element_link_pads_filtered):
12552           Ensure that we set a capsfilter to NULL if we failed to link it
12553           when doing filtered linking, to avoid criticals.
12554
12555           No need to check for unreffing srcpad, which is explicly NULLed
12556           above (a trivial code cleanup).
12557
12558 2006-08-31  Wim Taymans  <wim@fluendo.com>
12559
12560         * docs/design/part-gstghostpad.txt:
12561         Update ascii art in documentation.
12562
12563         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
12564         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
12565         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
12566         (gst_ghost_pad_internal_do_activate_push),
12567         (gst_ghost_pad_internal_do_activate_pull),
12568         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12569         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12570         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
12571         (gst_ghost_pad_set_target):
12572         Small cleanups and leak fixes.
12573         Remove some checks now that the internal pad is never NULL.
12574         Fix the case where linking pads without a target would create nasty
12575         criticals. Fixes #341029.
12576         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
12577         value of _set_target().
12578
12579         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12580         (gst_ghost_pad_suite):
12581         Some more tests for creating and linking untargeted ghostpads.
12582
12583 2006-08-31  Edward Hervey  <edward@fluendo.com>
12584
12585         * docs/gst/gstreamer-sections.txt:
12586         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
12587         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
12588         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
12589         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
12590         (gst_ghost_pad_new_from_template),
12591         (gst_ghost_pad_new_no_target_from_template):
12592         * gst/gstghostpad.h:
12593         Refactored *_new() functions.
12594         Templates are now used as a g_object_new() parameter.
12595         Use template in _do_getcaps() if we don't have a target.
12596         Small documentation cleanups.
12597         Added two new constructors:
12598         gst_ghost_pad_new_from_template()
12599         gst_ghost_pad_new_no_target_from_template()
12600         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12601         (gst_ghost_pad_suite):
12602         Added tests for new ghostpad instanciation functions.
12603
12604         API additions: gst_ghost_pad_new_from_template,
12605         gst_ghost_pad_new_no_target_from_template
12606
12607 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
12608
12609         * docs/random/ensonic/profiling.txt:
12610           Ideas about qos profiling.
12611
12612 2006-08-29  Wim Taymans  <wim@fluendo.com>
12613
12614         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
12615         Code cleanups.
12616         Fix memleak.
12617
12618 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
12619
12620         * gst/gstxml.c:
12621           Improve and detypofy docs.
12622
12623         * tests/check/Makefile.am:
12624         * tests/check/gst/.cvsignore:
12625         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
12626           Add a basic test suite for GstXML.
12627
12628 2006-08-29  Wim Taymans  <wim@fluendo.com>
12629
12630         * gst/gstelement.c: (activate_pads), (clear_caps),
12631         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
12632         Clear the pad caps when the element shut down all of the pads and
12633         is not streaming data that could modify the caps. 
12634         Fixes #352958.
12635
12636 2006-08-28  Michael Smith  <msmith@fluendo.com>
12637
12638         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12639           Revert previous change; I misunderstood single-segment mode.
12640
12641 2006-08-28  Michael Smith  <msmith@fluendo.com>
12642
12643         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12644           Unset DISCONT on buffers when using single-segment mode.
12645
12646 2006-08-28  Wim Taymans  <wim@fluendo.com>
12647
12648         * gst/gstcaps.c: (gst_caps_merge_structure):
12649         * gst/gstcaps.h:
12650         Fix docs and indentation again.
12651
12652         * tests/check/gst/gstquery.c: (GST_START_TEST):
12653         Fix leak in tests and add some more tests.
12654
12655 2006-08-28  Edward Hervey  <edward@fluendo.com>
12656
12657         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
12658         Inform GstSegment of the last stop position in order for the current
12659         segment to have a proper duration if it doesn't have a specific stop
12660         position from which a duration could be calculated.
12661         This bug was noticeable when a non-flushing, non-update new segment was
12662         followed by another segment (all buffers from the new segment were being
12663         dropped).
12664
12665 2006-08-28  Wim Taymans  <wim@fluendo.com>
12666
12667         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
12668         Small comment update.
12669
12670         * plugins/elements/gstidentity.c: (gst_identity_class_init),
12671         (gst_identity_transform_ip):
12672         Drop-probability is broken, mention this in the code with a 
12673         FIXME and also in the property description.
12674         Make silent also be silent about the drop messages.
12675
12676 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
12677
12678         * docs/manual/appendix-win32.xml:
12679           Remove mention of popt, we don't depend on that any
12680           longer (#353136). Add some comments pointing out that
12681           this section is slightly outdated.
12682
12683 2006-08-28  Wim Taymans  <wim@fluendo.com>
12684
12685         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12686
12687         * gst/gstquery.c: (gst_query_new_segment):
12688         * tests/check/gst/gstquery.c: (GST_START_TEST):
12689         Initialize variables when creating a new segment query.
12690         Fixes #353121.
12691
12692 2006-08-28  Wim Taymans  <wim@fluendo.com>
12693
12694         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12695
12696         * gst/gstelement.c: (gst_element_get_bus):
12697         * tests/check/gst/gstelement.c: (GST_START_TEST):
12698         Check for NULL before _reffing the bus. Fixes #353122.
12699
12700 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
12701
12702         * docs/manual/basics-bus.xml:
12703           Docs update: fix wrong callback return value explanation; add
12704           some lines about the implicit relationship between main loop
12705           and main context; remove duplicate main loop variable declaration.
12706
12707 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
12708
12709         * tests/check/gst/gstcaps.c: (GST_START_TEST):
12710           Don't leak caps in unit test; add a few more simple
12711           checks. 
12712
12713 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
12714
12715         * docs/gst/gstreamer-sections.txt:
12716         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
12717         (gst_caps_structure_is_subset), (gst_caps_merge),
12718         (gst_caps_merge_structure):
12719         * gst/gstcaps.h:
12720         * libs/gst/base/gstbasetransform.c:
12721         (gst_base_transform_transform_caps):
12722         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12723           implement caps merging (fixes #352580)
12724
12725 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
12726
12727         * tools/Makefile.am:
12728         * tools/gst-plot-timeline.py:
12729           add debug-log plotting developer tool (#340674)
12730
12731 2006-08-23  Wim Taymans  <wim@fluendo.com>
12732
12733         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
12734         (gst_pad_stop_task):
12735         Improve debugging for task functions.
12736
12737         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
12738         (gst_task_start), (gst_task_pause), (gst_task_join):
12739         Make sure that the task function started and finished after a 
12740         join(). 
12741         Don't try to push the task function on the threadpool multiple
12742         times.
12743         Improve the g_warning message with some useful suggestions
12744         about how to fix the problem. 
12745
12746 2006-08-23  Wim Taymans  <wim@fluendo.com>
12747
12748         * gst/gstutils.c: (gst_pad_proxy_getcaps):
12749         Handle RESYNC correctly in _proxy_getcaps.
12750
12751 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
12752
12753         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
12754         (gst_xml_parse_memory), (gst_xml_get_element):
12755           Chain up to parent class in dispose function and also
12756           unref the elements in the toplevel_elements GList.
12757           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
12758           Always return a reference in gst_xml_get_element() rather
12759           than only sometimes.
12760
12761         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12762           Don't leak GstXml object.
12763
12764 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
12765
12766         * docs/gst/gstreamer-sections.txt:
12767         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
12768         (gst_caps_merge):
12769         * gst/gstcaps.h:
12770         * libs/gst/base/gstbasetransform.c:
12771         (gst_base_transform_transform_caps):
12772           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
12773           in a better way
12774
12775 2006-08-21  Edward Hervey  <edward@fluendo.com>
12776
12777         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
12778         Implement GObject::dispose virtual method in GstXML so we can free the
12779         top_elements GList.
12780
12781 2006-08-21  Wim Taymans  <wim@fluendo.com>
12782
12783         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
12784         (gst_buffer_create_sub):
12785         Copy duration/offset_end/caps when creating a subbuffer of the
12786         complete parent.
12787         Make the subbuffer read-only when we make the metadata writable for
12788         now. Fixes #351768.
12789
12790         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
12791         Added check for metadata copy when creating subbuffers.
12792
12793 2006-08-21  Edward Hervey  <edward@fluendo.com>
12794
12795         * libs/gst/base/gstbasetransform.c:
12796         (gst_base_transform_buffer_alloc):
12797         Only call downstream buffer_alloc if transform element is passthrough
12798         or always_in_place. Closes #350449.
12799
12800 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12801
12802         * ChangeLog:
12803           ChangeLog surgery to add comments to previous changes
12804
12805 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12806
12807         * gst/gst.c:
12808           Add comments
12809
12810         * gst/gstpad.c: (gst_pad_set_active):
12811           Be more verbose in the log
12812
12813         * libs/gst/base/gstbasetransform.c:
12814         (gst_base_transform_transform_caps):
12815           Simplify caps to get rid of duplicates, fixes #345444
12816
12817 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12818
12819         * gst/gstvalue.c:
12820         * gst/gstvalue.h:
12821           Use these optimizations only internally.
12822
12823 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12824
12825         * gst/gstvalue.c: (gst_value_compare_list),
12826         (gst_value_compare_fraction_range),
12827         (gst_value_intersect_fraction_fraction_range),
12828         (gst_value_intersect_fraction_range_fraction_range),
12829         (gst_value_subtract_fraction_fraction_range),
12830         (gst_value_subtract_fraction_range_fraction_range),
12831         (gst_value_get_compare_func), (gst_value_compare),
12832         (gst_value_compare_with_func):
12833         * gst/gstvalue.h:
12834           Saves the expensive lookup of the compare function in many cases
12835          (#345444)
12836
12837 2006-08-18  Edward Hervey  <edward@fluendo.com>
12838
12839         * tests/check/gst/gstinfo.c: (gst_info_suite):
12840         Disable test that require gstdebug if it wasn't built in core.
12841
12842 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
12843
12844         * docs/random/ensonic/logging.txt:
12845           update ideas
12846           
12847         * gst/gstinfo.c: (gst_debug_log_default):
12848           reorder fields, save some columns, add optional color codes for log
12849           levels
12850
12851 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
12852
12853         * docs/random/ensonic/logging.txt:
12854           add ideas about making the logs a bit more useful
12855
12856 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
12857
12858         * docs/pwg/advanced-events.xml:
12859         * docs/pwg/titlepage.xml:
12860           Update for 0.10 API (#340627). Add myself
12861           to authors list.
12862
12863 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
12864
12865         * docs/libs/gstreamer-libs-docs.sgml:
12866         * docs/libs/gstreamer-libs-sections.txt:
12867         * libs/gst/check/gstbufferstraw.c:
12868           Make gstcheck stuff show up in docs (still needs to
12869           be documented properly though).
12870
12871 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
12872
12873         * docs/gst/gstreamer-sections.txt:
12874         * gst/Makefile.am:
12875         * gst/gst.c: (init_post):
12876         * gst/gst_private.h:
12877         * gst/gstquark.c: (_priv_gst_quarks_initialize):
12878         * gst/gstquark.h:
12879         * gst/gstquery.c: (gst_query_new_position),
12880         (gst_query_set_position), (gst_query_parse_position),
12881         (gst_query_new_duration), (gst_query_set_duration),
12882         (gst_query_parse_duration), (gst_query_new_convert),
12883         (gst_query_set_convert), (gst_query_parse_convert),
12884         (gst_query_new_segment), (gst_query_set_segment),
12885         (gst_query_parse_segment), (gst_query_new_seeking),
12886         (gst_query_set_seeking), (gst_query_parse_seeking):
12887         Add internal helpers for pre-registering quarks from static strings
12888         and using the quark values directly instead of looking them up when
12889         creating and parsing queries. Can be used for event construction too.
12890         Closes #350432.
12891
12892 2006-08-16  Wim Taymans  <wim@fluendo.com>
12893
12894         * gst/gstbin.c:
12895         Fix bogus docs.
12896
12897 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
12898
12899         * gst/gstutils.c: (gst_util_set_value_from_string):
12900           Fix memleak (#351502).
12901
12902         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
12903           Add unit test for most of gst_util_set_value_from_string()
12904           (not that one would want to encourage use of this function).
12905
12906 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
12907
12908         * libs/gst/check/gstcheck.h:
12909           Use const gchar * variables in fail_unless_equals_string
12910           macro to avoid compiler warnings (and don't use tabs for
12911           indenting).
12912
12913 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
12914
12915         * tools/gst-launch.c: (print_tag):
12916           More space on the left for the tag names, to cater
12917           for the 'extended comment' tag (not touching the
12918           string for the first line since it's translated).
12919
12920 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
12921
12922         * libs/gst/check/gstcheck.h:
12923           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
12924           print something when they fail.
12925
12926 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
12927
12928         * docs/gst/gstreamer-sections.txt:
12929         * gst/gsttaglist.c: (_gst_tag_initialize):
12930         * gst/gsttaglist.h:
12931           API: add GST_TAG_EXTENDED_COMMENT (#350935).
12932           Also change merge function for GST_TAG_COMMENT to
12933           use_first.
12934
12935 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
12936
12937         * gst/gstinfo.c: (gst_debug_print_object):
12938           Make GST_PTR_FORMAT print messages as well.
12939
12940         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
12941         (GST_START_TEST), (gst_info_suite):
12942           More tests.
12943
12944 2006-08-14  Edward Hervey  <edward@fluendo.com>
12945
12946         * gst/gstelementfactory.c: (gst_element_register):
12947         If the GstElementClass doesn't have a GstElementDetails with all fields
12948         filled up correctly (longname, description AND author), then error out
12949         nicely instead of crashing.
12950
12951 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
12952
12953         * gst/gststructure.c:
12954           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
12955
12956         * gst/gstvalue.h:
12957           Expand on the difference between arrays and lists as we use them.
12958           
12959 2006-08-14  Wim Taymans  <wim@fluendo.com>
12960
12961         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
12962         If the parent state change function failed, don't assume we can safely
12963         stop the source, this will be done when the pads are deactivated.
12964
12965 2006-08-14  Wim Taymans  <wim@fluendo.com>
12966
12967         * gst/gstbuffer.c:
12968         * gst/gsttask.c: (gst_task_join):
12969         Small doc updates.
12970
12971         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
12972         (gst_pad_stop_task):
12973         When pad (de)activation failed for some reason, restore the old
12974         activation mode and set the pad to flushing instead of assuming the
12975         pad is deactivated.
12976         If the _task_join() failed, reinstall the task on the pad so that it can
12977         be stopped later and return an error.
12978
12979 2006-08-11  Andy Wingo  <wingo@pobox.com>
12980
12981         * configure.ac:
12982         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
12983         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
12984         is only for users of API that don't want to see deprecated
12985         functions in the headers; people that want to compile out
12986         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
12987         CFLAGS. Fixes the build of multifdsink, or will soon..
12988
12989 2006-08-11  Wim Taymans  <wim@fluendo.com>
12990
12991         * docs/gst/gstreamer-sections.txt:
12992         Add GstClockClass vmethod docs.
12993
12994         * gst/gstcaps.h:
12995         Mark #endif with comment for associated #if
12996
12997         * gst/gstclock.c: (gst_clock_id_wait):
12998         * gst/gstclock.h:
12999         Add vmethod wait_jitter to avoid an unneeded _get_time() for
13000         most clock implementations.
13001         Document vmethods.
13002         Flesh out docs about resolution methods.
13003         API: GstClockClass::wait_jitter
13004
13005         * gst/gstsystemclock.c: (gst_system_clock_class_init),
13006         (gst_system_clock_async_thread),
13007         (gst_system_clock_id_wait_jitter_unlocked),
13008         (gst_system_clock_id_wait_jitter):
13009         Use base class wait_jitter variant for improved performance
13010         due to less clock polling.
13011
13012 2006-08-11  Edward Hervey  <edward@fluendo.com>
13013
13014         * gst/gst.c: (gst_init_check), (init_post):
13015         Set gst as being initialized before scanning/updating the registry,
13016         since there might be my python plugin loader that calls gst_init() and
13017         we don't want to loop back in.
13018         Closes #350879
13019
13020 2006-08-11  Wim Taymans  <wim@fluendo.com>
13021
13022         * docs/design/part-qos.txt:
13023         Bring docs in line with the code. Mostly the sign of the jitter was
13024         wrong in the docs. Fixes #349943.
13025
13026         * gst/gstclock.c:
13027         Fix the docs for the jitter.
13028
13029         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
13030         (gst_event_parse_tag), (gst_event_new_buffer_size),
13031         (gst_event_parse_buffer_size), (gst_event_parse_qos),
13032         (gst_event_new_seek), (gst_event_parse_seek),
13033         (gst_event_new_navigation):
13034         Make sure the GstStructure has no parent when creating custom
13035         events.
13036         Add some more argument checking so that we avoid 0.0 rates.
13037         Flesh out the docs for the QoS event some more.
13038
13039 2006-08-11  Wim Taymans  <wim@fluendo.com>
13040
13041         * docs/gst/gstreamer-sections.txt:
13042         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
13043         (ensure_current_registry_forking), (ensure_current_registry),
13044         (parse_one_option), (parse_goption_arg), (gst_deinit),
13045         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
13046         * gst/gst.h:
13047         Doc updates.
13048         Added API and command line option to disable registry forking in
13049         addition to the environment variable.
13050         Constify some static arrays.
13051         Added some more debug.
13052         Don't deinit twice.
13053         API: gst_registry_fork_is_enabled()
13054         API: gst_registry_fork_set_enabled()
13055         API: --gst-disable-registry-fork command line option
13056         Fixes #348918.
13057
13058 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
13059
13060         * gst/gst.c: (gst_init):
13061           Fix typo in error message.
13062
13063 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
13064
13065         * libs/gst/controller/gstcontroller.h:
13066           fix ABI size-correction
13067
13068         * tests/check/libs/gdp.c: (gst_dp_suite):
13069           make tests that use deprecated API conditional
13070
13071 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
13072
13073         * docs/libs/gstreamer-libs-sections.txt:
13074         * libs/gst/controller/gstcontroller.c:
13075         (_gst_controller_get_property), (_gst_controller_set_property),
13076         (_gst_controller_init), (_gst_controller_class_init):
13077         * libs/gst/controller/gstcontroller.h:
13078         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
13079         (gst_object_set_control_rate):
13080           API: add gst_object_{s,g}et_control_rate(), add private data section,
13081           fix docs
13082
13083         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
13084         * libs/gst/dataprotocol/dataprotocol.h:
13085           add deprecation guards to make gtk-doc happy and allow disabling cruft
13086
13087 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
13088
13089         * tests/check/Makefile.am:
13090         * tests/check/gst/.cvsignore:
13091           Let's enable the new unit test as well.
13092
13093 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
13094
13095         * configure.ac:
13096         * docs/gst/gstreamer-sections.txt:
13097         * gst/gstconfig.h.in:
13098         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
13099         (_gst_info_printf_extension_ptr),
13100         (_gst_info_printf_extension_segment):
13101           API: add GST_SEGMENT_FORMAT, which is a printf extension we
13102           register that lets us easily dump GstSegments into debug
13103           logs (#350419).
13104
13105         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
13106         (info_segment_format_printf_extension), (gst_info_suite):
13107           Add simple unit test that logs a bunch of different segments (not
13108           valgrinded at the moment because of leaks in
13109           gst_debug_add_log_function).
13110
13111 2006-08-09  Edward Hervey  <edward@fluendo.com>
13112
13113         * libs/gst/base/gstbasetransform.c:
13114         (gst_base_transform_buffer_alloc):
13115         Even if we can't figure out the proper format to request downstream,
13116         call buffer_alloc() downstream with the input parameters without setting
13117         the caps on the srcpad. This will force negotiation in the chain
13118         function.
13119         Closes #350449
13120
13121 2006-08-08  Edward Hervey  <edward@fluendo.com>
13122
13123         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
13124         Unlinking from a pad without a target is now a perfectly valid case
13125         which should NOT raise an assertion.
13126         This case would happen if a linked ghostpad its target set to NULL after
13127         it was previously linked.
13128
13129 2006-08-08  Edward Hervey  <edward@fluendo.com>
13130
13131         * tests/check/libs/gdp.c:
13132         Also comment out the test (see below).
13133
13134 2006-08-08  Edward Hervey  <edward@fluendo.com>
13135
13136         * tests/check/libs/gdp.c: (gst_dp_suite):
13137         Use the architecture information from config.h and not gcc macros
13138         in order to properly disable a test that fails on PPC64.
13139
13140 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
13141
13142         * gst/gstelement.c: (gst_element_remove_pad):
13143           Don't crash printing the warning if the pad has no parent.
13144
13145 2006-08-02  Wim Taymans  <wim@fluendo.com>
13146
13147         * libs/gst/dataprotocol/dataprotocol.c:
13148         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
13149         (gst_dp_crc), (gst_dp_header_payload_length),
13150         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
13151         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
13152         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
13153         (gst_dp_event_from_packet), (gst_dp_validate_header),
13154         (gst_dp_validate_payload):
13155         Make debug category static
13156         Constify the crc table.
13157         Do some more arg checking in public functions.
13158         Fix some docs and do some small cleanups.
13159
13160         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
13161         Add some more checks to see if GDP deals with bogus input.
13162
13163 2006-07-31  Wim Taymans  <wim@fluendo.com>
13164
13165         * gst/gstvalue.c: (gst_value_compare_list):
13166         Fix GstValueList comparison code. Fixes #347293.
13167
13168         * tests/check/gst/gstvalue.c: (GST_START_TEST):
13169         Check to test GstValueList comparison.
13170
13171 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
13172
13173         * gst/gstelementfactory.c: (gst_element_factory_create):
13174         Remove unnecessary ref/unref pair
13175
13176         * gst/parse/grammar.y:
13177         Make sure to free the parse buffer on all code paths.
13178         Move a g_free up to the error handler where it's easier to see.
13179
13180         * tests/check/gst/gstevent.c: (test_event):
13181         Extending timeout for downstream travelling events to 10 seconds to
13182         hopefully avoid intermittent failure on the buildbots.
13183
13184         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
13185         Don't manually set the state of the src element - it will happen as a
13186         natural consequence of the pipeline changing state, and that way it
13187         will do it in the right order too.
13188
13189 2006-07-31  Wim Taymans  <wim@fluendo.com>
13190
13191         * libs/gst/base/gstbasetransform.c:
13192         (gst_base_transform_buffer_alloc):
13193         Use OBJECT_LOCK and refcounting to get the pad caps in the
13194         buffer_alloc function because the caps could change while we are
13195         busy with them. Fixes #349105
13196
13197 2006-07-31  Wim Taymans  <wim@fluendo.com>
13198
13199         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
13200         Protect _PAD_CAPS with OBJECT_LOCK.
13201
13202 2006-07-31  Wim Taymans  <wim@fluendo.com>
13203
13204         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
13205         (gst_pad_get_property), (gst_pad_activate_pull),
13206         (gst_pad_activate_push), (gst_pad_set_blocked_async),
13207         (gst_pad_set_activate_function),
13208         (gst_pad_set_activatepull_function),
13209         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
13210         (gst_pad_set_getrange_function),
13211         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
13212         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
13213         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
13214         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
13215         (gst_pad_set_acceptcaps_function),
13216         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
13217         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
13218         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
13219         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
13220         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
13221         (gst_pad_configure_sink), (gst_pad_configure_src),
13222         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
13223         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
13224         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
13225         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
13226         (gst_pad_send_event):
13227         Use _DEBUG_OBJECT when it makes sense.
13228         Protect GST_PAD_CAPS with the OBJECT_LOCK.
13229         Small cleanups and code reflows.
13230         Avoid caps refcounting in _accept_caps.
13231         Refactor alloc_buffer so that the code performed on the peer is in a
13232         separate function. Also if the pad does not implement a buffer alloc
13233         function, we should still check if the pad is flushing before falling
13234         back to the default allocator.
13235
13236 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
13237
13238         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13239         Make all uses of identity and fakesink have silent=true to avoid
13240         serialising every passing data structure, which is breaking tests
13241         on FC4 for some unknown reason.
13242
13243 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
13244
13245         * gst/parse/Makefile.am:
13246         * gst/parse/grammar.y:
13247         * gst/parse/parse.l:
13248           Reverted previous patch as it required to bump the flex dependency to
13249           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
13250
13251 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
13252
13253         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
13254
13255         * gst/parse/Makefile.am:
13256         * gst/parse/grammar.y:
13257         * gst/parse/parse.l:
13258           push & pop the state of the lexer for reentrant use case
13259           Fixes #349180
13260
13261 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
13262
13263         * libs/gst/base/gstbasesrc.h:
13264           Note in the docs that the ::newsegment vfunc is not actually used by
13265           GstBaseSrc.
13266
13267 2006-07-28  Wim Taymans  <wim@fluendo.com>
13268
13269         * libs/gst/base/gstcollectpads.c:
13270         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
13271         (gst_collect_pads_clear), (gst_collect_pads_flush),
13272         (gst_collect_pads_event), (gst_collect_pads_chain):
13273         When flushing a pad, also clear the queued buffer so that we don't
13274         accidentally use it when we shouldn't.
13275         Fix leaks by inreffing incomming buffer.
13276         Flush out queued buffers in case of errors.
13277         Fixes #347452.
13278
13279 2006-07-28  Wim Taymans  <wim@fluendo.com>
13280
13281         * docs/random/phonon-gst:
13282         Random notes about a Phonon backend.
13283
13284 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
13285
13286         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13287         Extra debug output
13288         * tests/check/libs/gdp.c: (gst_dp_suite):
13289         Take a whack at fixing the ppc compile using a different define to
13290         disable the broken test.
13291
13292         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13293         Remove excess g_print()
13294
13295 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
13296
13297         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
13298         Oops, meant to uncomment this line too to dampen the noise a bit.
13299
13300 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
13301
13302         * gst/parse/grammar.y:
13303         * gst/parse/parse.l:
13304         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13305         (GST_START_TEST), (parse_suite):
13306         Fix some of the leaks exposed by extending the parse-launch testsuite,
13307         and move the 3 I can't figure out into a separate test that won't run
13308         the pipelines unless the appropriate line is uncommented.
13309
13310 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
13311
13312         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13313           Requesting 0 bytes before the end of the file should result in
13314           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
13315           unit test.
13316
13317 2006-07-27  Wim Taymans  <wim@fluendo.com>
13318
13319         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
13320         Fix useless assert, a uint is always positive.
13321
13322         * gst/gststructure.c: (gst_structure_nth_field_name),
13323         (gst_structure_foreach), (gst_structure_map_in_place):
13324         Check input arguments for public functions to avoid obvious crashes.
13325
13326         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
13327         * plugins/elements/gstfakesink.h:
13328         Do less useless typechecking.
13329
13330 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
13331
13332         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
13333           Do not use mmap() by default since there are a number of error
13334           conditions that we would like to handle in a non-fatal way that
13335           will result in a SIGBUS if we use mmap(). Examples: external
13336           devices (USB harddrive, portable music player) being unplugged
13337           while in use; file on mounted CD/DVD that can't be read because
13338           the medium is partly damaged. Fixes #348455 and #348475.
13339
13340 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
13341
13342         * gst/gstquery.h:
13343         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
13344         rates are a gdouble
13345
13346 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
13347
13348         * gst/gstregistry.c:
13349           Move big documentation comment into class section header, so that it
13350           appears in the API docs.
13351
13352 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13353
13354         * docs/gst/gstreamer-sections.txt:
13355         Oops. Commit the docs additions too for new API.
13356         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
13357
13358 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13359
13360         * gst/gststructure.c: (gst_structure_id_set),
13361         (gst_structure_id_set_valist):
13362         * gst/gststructure.h:
13363         Add API for setting values into structures without performing
13364         a quark lookup, if the appropriate quark is already known.
13365
13366         API: gst_structure_id_set
13367         API: gst_structure_id_set_valist
13368
13369         * gst/parse/grammar.y:
13370         * gst/parse/parse.l:
13371         Remove some dead code shown by the coverage information.
13372         Don't throw a critical g_warning when encountering a syntax error,
13373         just warn and let the normal error path handle it.
13374
13375         * plugins/elements/gstelements.c:
13376         Bump the rank of filesink up to PRIMARY so that it is preferred over
13377         gnomevfssink for file:// sink uri's
13378
13379         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13380         (GST_START_TEST), (run_delayed_test),
13381         (gst_parse_test_element_base_init),
13382         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
13383         (gst_parse_test_element_change_state),
13384         (gst_register_parse_element), (parse_suite):
13385         Beef up the tests for parse syntax to check that more error cases
13386         fail as they are supposed to. Increases the test coverage a bit.
13387
13388 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
13389
13390         * docs/manual/basics-elements.xml:
13391           Fix gst_element_link() example.
13392
13393         * gst/gstutils.c:
13394           Mention in API docs that one should usually gst_bin_add()
13395           elements to a bin or pipeline before doing the linking.
13396           
13397 2006-07-26  Wim Taymans  <wim@fluendo.com>
13398
13399         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
13400         (gst_subbuffer_get_type), (gst_buffer_create_sub):
13401         Avoid function call for known types by keeping the buffer and
13402         subbuffer GType global.
13403
13404         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13405         Random silly optimisations in read() path.
13406
13407 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13408
13409         * tools/gst-launch.c: (main):
13410           If the top-level of the parse is a normal bin, it doesn't do the
13411           right logic to run as a top-level element, so place it inside a
13412           pipeline.
13413
13414 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
13415
13416         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
13417           Remove superfluous g_object_notify() calls, GObject does
13418           that for us automatically.
13419
13420 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
13421
13422         * gst/gstinfo.h:
13423           on Win32, use dllspec to export the debug category symbols
13424
13425 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
13426
13427         * gst/gsttaglist.c: (_gst_tag_initialize):
13428           Allow more than one GST_TAG_IMAGE per taglist.
13429
13430 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13431
13432         * gst/gstminiobject.c:
13433           update docs
13434         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
13435         (gst_fd_src_create):
13436           log recurring events at LOG level
13437           add more debug for when the fd gets set
13438
13439 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
13440
13441         * gst/gstparse.c: (gst_parse_launch):
13442           Also remove reentrance checks if flex is MT safe (#348179)
13443          Fix my empty ChangeLog entry below
13444
13445 2006-07-21  Andy Wingo  <wingo@pobox.com>
13446
13447         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
13448
13449         * libs/gst/check/Makefile.am
13450         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
13451         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
13452         * libs/gst/check/gstbufferstraw.h:
13453         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
13454         functions, thus proving I am still a GStreamer haxor. OK I wrote
13455         them a long time ago, but anyways.
13456
13457 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
13458
13459         * configure.ac:
13460         * gst/gstparse.c: (gst_parse_launch):
13461           Check for flex version and omit mutex if we have a MT save flex
13462           (fixes #348179)
13463
13464 2006-07-21  Wim Taymans  <wim@fluendo.com>
13465
13466         * gst/gstparse.c: (gst_parse_launch):
13467         Protect recursive calls to _parse with a recursive mutex
13468         and busy flag.
13469
13470 2006-07-21  Wim Taymans  <wim@fluendo.com>
13471
13472         * tests/check/gst/gstpad.c: (GST_START_TEST):
13473         Fix leak in test.
13474
13475 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
13476
13477         * gst/gstparse.c: (gst_parse_launch):
13478           Do not hang on recursive usage of gst_parse_launch()
13479
13480 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
13481
13482         * gst/gsttaglist.c:
13483           Add some more docs, comments and FIXME 0.11s here and there
13484           and also fix some typos.
13485
13486 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
13487
13488         * gst/gstsegment.h:
13489           Convert tabs to spaces for better readability. 
13490
13491 2006-07-20  Edward Hervey  <edward@fluendo.com>
13492
13493         * tests/check/libs/gdp.c: (gst_dp_suite):
13494         the test_buffer test fails at line 140 on ppc64 at the following
13495         check:
13496         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
13497                 GST_BUFFER_FLAG_IN_CAPS),
13498                 "GST_BUFFER_IN_CAPS flag should have been copied !");
13499         See bug #348114 for more details.
13500
13501 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
13502
13503         * docs/pwg/advanced-scheduling.xml:
13504         * gst/gstpad.c:
13505           Fix typos (#348000).
13506
13507 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
13508
13509         * docs/pwg/intro-basics.xml:
13510           Fix wrong links (#347927).
13511
13512 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
13513
13514         * gst/gstregistry.h:
13515         * gst/gstregistryxml.c: (load_feature),
13516         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
13517         * win32/common/config.h:
13518           make --disable-index work (#342564)
13519
13520 2006-07-18  Wim Taymans  <wim@fluendo.com>
13521
13522         Patch by: Peter Kjellerstedt <pkj at axis dot com>
13523
13524         * gst/Makefile.am:
13525         * gst/gsttrace.h:
13526         The attached patch adds two missing defines to gsttrace.h when tracing
13527         is disabled.  It also corrects one existing define.
13528         Fixes #347756.
13529
13530 2006-07-17  Wim Taymans  <wim@fluendo.com>
13531
13532         * docs/gst/gstreamer-sections.txt:
13533         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
13534         * gst/gst.h:
13535         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
13536         Add two functions to check and change the SIGSEGV behaviour
13537         when loading plugins.
13538         Don't mess with the SIGSEGV handler when we were told not to.
13539         Fixes #347794.
13540         API: gst_segtrap_is_enabled
13541         API: gst_segtrap_set_enabled
13542
13543 2006-07-14  Wim Taymans  <wim@fluendo.com>
13544
13545         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13546         * tests/check/elements/filesrc.c: (GST_START_TEST):
13547         Revert fix for regression in #347408 after release.
13548
13549 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
13550
13551         Patch by: Antoine Tremblay <hexa00 at gmail com>
13552
13553         * gst/gstutils.c: (gst_element_unlink):
13554           Free iterator when done (#347311).
13555
13556         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13557           And add a test case for this.
13558
13559 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
13560
13561         * configure.ac:
13562         Bump nano back to CVS
13563
13564 === release 0.10.9 ===
13565
13566 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
13567
13568         * configure.ac:
13569           releasing 0.10.9, "On the road again"
13570
13571 2006-07-13  Wim Taymans  <wim@fluendo.com>
13572
13573         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13574         * tests/check/elements/filesrc.c: (GST_START_TEST):
13575         Revert pull-0 fix for release. Disable check. Fixes #347408.
13576
13577 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13578
13579         * libs/gst/dataprotocol/dataprotocol.c:
13580         (gst_dp_event_from_packet_1_0):
13581           Fixes #347337: failure to deserialize event packets with
13582           empty payload (only event type)
13583
13584 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13585
13586         * gst/Makefile.am:
13587           do not install a .c file in the header directory
13588
13589 2006-07-13  Edward Hervey  <edward@fluendo.com>
13590
13591         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
13592         GhostPad no longer implicitely use the padtemplates of the targets.
13593         Fixes #347384
13594
13595 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
13596
13597         * gst/gstvalue.c: (gst_value_compare_list),
13598         (gst_value_compare_array), (_gst_value_initialize):
13599         * tests/check/gst/gstvalue.c: (GST_START_TEST):
13600         Make GstValueArray comparison be order dependent as designed.
13601         Add checks for value lists and value array comparisons.
13602         Fixes #347221
13603
13604 2006-07-11  Edward Hervey  <edward@fluendo.com>
13605
13606         * gst/gstbin.c: (activate_pads),
13607         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
13608         (gst_bin_change_state_func):
13609         (de)activate src pads before calling state_change on the childs.
13610         This is to avoid the case where a src ghostpad is blocked (holding the
13611         stream lock), which would block the deactivation of the ghostpad's
13612         target pad.
13613         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
13614         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
13615         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
13616         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
13617         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
13618         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13619         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
13620         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
13621         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
13622         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
13623         (gst_ghost_pad_class_init),
13624         (gst_ghost_pad_internal_do_activate_push),
13625         (gst_ghost_pad_internal_do_activate_pull),
13626         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
13627         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
13628         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
13629         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
13630         GhostPads now create their internal GstProxyPad at creation (and not
13631         when they're linked, as it was being done previously).
13632         The internal and target pads are linked straight away.
13633         The data will also travel through the other pad in order to make
13634         pad blocking and probes non-hackish (the probe/block now really happens
13635         on the GhostPad and not on the target).
13636         * gst/gstpad.c: (gst_pad_set_blocked_async),
13637         (gst_pad_link_prepare), (gst_pad_push_event):
13638         Remove previous ghostpad cruft.
13639         * gst/gstutils.c: (gst_pad_add_data_probe),
13640         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
13641         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
13642         (gst_pad_remove_buffer_probe):
13643         Remove previous ghost pad cruft.
13644         Added more detailed debug statements.
13645         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
13646         Fix the testsuite for refcounting changes.
13647         The comments about who has references were correct, but the refcount
13648         being checked wasn't the same (!?!).
13649
13650         Fixes #341029
13651
13652 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
13653
13654         * docs/gst/gstreamer-sections.txt:
13655         * gst/gstconfig.h.in:
13656         More docs for configuration options, add docs to gtk-doc.
13657
13658 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
13659
13660         * gst/Makefile.am:
13661         * gst/gstconfig.h.in:
13662         * win32/common/config.h:
13663         Fix build when disabling tracing (fixes #344016). Also start to document
13664         the defines that disable the sub-systems.
13665
13666 2006-07-10  Edward Hervey  <edward@fluendo.com>
13667
13668         * gst/gst.c: (ensure_current_registry_forking):
13669         let's make valgrind happy...
13670
13671 2006-07-09  Wim Taymans  <wim@fluendo.com>
13672
13673         * gst/gstelement.c: (activate_pads),
13674         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
13675         Better pad activation code: Reset the collect value too on resync.
13676         Add some comments.
13677
13678 2006-07-09  Wim Taymans  <wim@fluendo.com>
13679
13680         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
13681         (gst_pad_activate_push):
13682         Use some more macros where it makes sense.
13683         Allow pad mode switching instead of asserting. When a pad
13684         is activated in one mode and we activate it in another, 
13685         deactivate it first before activating it in a different mode.
13686         Fixes #329198.
13687
13688 2006-07-08  Andy Wingo  <wingo@pobox.com>
13689
13690         * tools/gst-launch.c (main): Handle err == NULL.
13691
13692         * gst/gst.c (init_post, ensure_current_registry)
13693         (ensure_current_registry_forking)
13694         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
13695         factoring out the registry scanning into separate functions. Don't
13696         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
13697         Better environment var name/interface suggestions accepted.
13698
13699 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13700
13701         * gst/gstobject.c: (gst_object_set_name_default),
13702         (gst_object_set_name):
13703           Random micro-optimisation: don't use a hash table
13704           with strings as keys and the usual strdup/strcmp
13705           involved, but rather just use the GQuark of the
13706           type name as key, since it needs to be looked up
13707           anyway to get the type name string.
13708
13709         * tests/check/gst/gstobject.c: (GST_START_TEST):
13710           Fix various leaks.
13711
13712 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13713
13714         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
13715         (gst_bin_iterate_all_by_interface):
13716           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
13717           GTypes are gulongs and thus the top 4 bytes might be cut
13718           off on some platforms when doing GPOINTER_TO_INT, leading
13719           to invalid GTypes and bad things happening (see RH bug #179654).
13720           Also add a check to make sure the type passed in is really
13721           an interface type.
13722
13723 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13724
13725         * .cvsignore:
13726           Ignore more.
13727
13728 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13729
13730         * Makefile.am:
13731         * configure.ac:
13732         * gst-element-check.m4:
13733         * gst-element-check.m4.in:
13734           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
13735           instead of the unversioned gst-inspect (#324176, #168659).
13736
13737 2006-07-06  Wim Taymans  <wim@fluendo.com>
13738
13739         * gst/gstmessage.h:
13740         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
13741         warnings.
13742
13743 2006-07-06  Wim Taymans  <wim@fluendo.com>
13744
13745         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
13746         (gst_base_src_wait), (gst_base_src_update_length),
13747         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
13748         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
13749         (gst_base_src_loop), (gst_base_src_start),
13750         (gst_base_src_activate_pull):
13751         Update docs.
13752         blocksize == 0 now means the default blocksize when working in push
13753         based mode.
13754         Remove some pointless asserts in _wait function.
13755         Fix offset/length calculations and EOS handling. We can now pull 0
13756         bytes as well, which is allowed.
13757         use _check_get_range() to decide if we can operate in _pull based
13758         mode.
13759         Fix refcounting leak when check_get_range function was not 
13760         implemented.
13761         API GstBaseSrc::blocksize range can be 0 too now (default)
13762
13763         * tests/check/elements/filesrc.c: (GST_START_TEST),
13764         (filesrc_suite):
13765         Added check to test _get_range() behaviour.
13766
13767 2006-07-06  Wim Taymans  <wim@fluendo.com>
13768
13769         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
13770         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
13771         (gst_pad_pull_range):
13772         * gst/gstpad.h:
13773         Lots of comments and docs added to the pad functions.
13774         Flesh out the expected behaviour of the get_range() functions.
13775
13776 2006-07-06  Wim Taymans  <wim@fluendo.com>
13777
13778         * gst/gstbus.h:
13779         * gst/gstclock.h:
13780         * gst/gstevent.h:
13781         * gst/gstiterator.h:
13782         * gst/gstpad.h:
13783         * gst/gstplugin.h:
13784         * gst/gsttask.h:
13785         Remove comma at end of enumerator list. 
13786
13787 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
13788
13789         * win32/common/libgstbase.def:
13790         * win32/common/libgstdataprotocol.def:
13791         * win32/common/libsgtreamer.def:
13792         Add new exported functions.
13793
13794 2006-07-05  Wim Taymans  <wim@fluendo.com>
13795
13796         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
13797         Add some more docs here and there.
13798
13799 2006-07-05  Wim Taymans  <wim@fluendo.com>
13800
13801         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
13802         (gst_base_sink_loop), (gst_base_sink_get_position):
13803         When operating in pull mode update the offset so that we
13804         read sequentially.
13805
13806 2006-07-05  Wim Taymans  <wim@fluendo.com>
13807
13808         * gst/gstregistryxml.c: (read_string):
13809         Avoid strdup. (will happen in libxml, but hey!)
13810
13811         * gst/gsturi.c:
13812         Add some more docs.
13813
13814 2006-07-05  Wim Taymans  <wim@fluendo.com>
13815
13816         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
13817         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
13818         (gst_buffer_suite):
13819         No point in checking if the size of the subbuffer > 0, the
13820         code handles it correclty as demonstrated by unit test.
13821         Also add a unit test for the zero sized _new_and_alloc and
13822         _copy. Fixes #346663.
13823
13824 2006-07-05  Wim Taymans  <wim@fluendo.com>
13825
13826         * libs/gst/base/gstbasetransform.c:
13827         (gst_base_transform_prepare_output_buffer),
13828         (gst_base_transform_buffer_alloc),
13829         (gst_base_transform_handle_buffer):
13830         Make sure the buffer we pass to transform_ip has a refcount of
13831         1 and thus is writable. Fixes #343196
13832
13833 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
13834
13835         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
13836         (gst_file_src_init), (gst_file_src_set_property),
13837         (gst_file_src_get_property), (gst_file_src_map_region):
13838         * plugins/elements/gstfilesrc.h:
13839         Add "sequential" property, off by default, to use madvise and hint
13840         to the kernel that sequential access is desired.
13841         Touch all retrieved pages by default to ensure they are pulled
13842         into memory. (Closes #345720)
13843
13844 2006-07-03  Wim Taymans  <wim@fluendo.com>
13845
13846         * docs/design/part-block.txt:
13847         * docs/design/part-dynamic.txt:
13848         Small docs updates.
13849
13850 2006-07-03  Wim Taymans  <wim@fluendo.com>
13851
13852         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
13853         (gst_caps_unref), (gst_static_caps_get),
13854         (gst_caps_append_structure):
13855         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
13856         Use GSlice when the glib we build against is >= 2.10
13857
13858 2006-07-03  Wim Taymans  <wim@fluendo.com>
13859
13860         * gst/gstelement.c: (gst_element_pads_activate):
13861         Small cleanup in pad activation code.
13862
13863 2006-07-03  Wim Taymans  <wim@fluendo.com>
13864
13865         Patch by: Peter Kjellerstedt <pkj at axis dot com>
13866
13867         * gst/gst-i18n-app.h:
13868         * gst/gst-i18n-lib.h:
13869         * tools/gst-inspect.c: (print_signal_info):
13870         The attached patch will make the inclusion of gettext.h unconditional in
13871         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
13872         libintl.h in tools/gst-inspect.c.
13873         This allows use of --disable-nls again and fixes #344642.
13874
13875 2006-07-03  Edward Hervey  <edward@fluendo.com>
13876
13877         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
13878         Implement pad blocking on events according to part-block.txt.
13879         More comments on behaviour.
13880         * tests/check/gst/gstevent.c: (test_event):
13881         Send event to peer pad of blocked pad (else it will block).
13882
13883 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13884
13885         * libs/gst/check/gstcheck.c: (gst_check_message_error),
13886         (gst_check_run_suite):
13887           if we get the wrong message, give us the types as string
13888         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
13889           Fix a translatable
13890         * tests/check/elements/filesrc.c: (GST_START_TEST):
13891           add a test for trying to open a non-existing file
13892
13893 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13894
13895         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
13896           add a test for adding self
13897
13898 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13899
13900         * libs/gst/check/gstcheck.h:
13901           add some assert_ as alias for fail_unless_*
13902         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
13903           increase test coverage
13904
13905 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13906
13907         * Makefile.am:
13908           include lcov.mak for lcov coverage generation
13909         * tools/Makefile.am:
13910           add to CLEANFILES
13911
13912 2006-07-02  Edward Hervey  <edward@fluendo.com>
13913
13914         * tests/check/elements/.cvsignore:
13915         moaping
13916
13917 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13918
13919         * configure.ac:
13920           don't set CFLAGS and friends for gcov, done from GST_GCOV now
13921         * tests/check/Makefile.am:
13922           clean up gcov files
13923
13924 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13925
13926         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
13927           remove gst_caps_simplify; it was not declared and not used
13928           and deprecated in 0.8
13929
13930 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13931
13932         * docs/faq/gst-uninstalled:
13933           don't put empty paths on PYTHONPATH
13934         * docs/gst/gstreamer-sections.txt:
13935           remove some symbols that are not there
13936
13937 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13938
13939         * gst/gstcaps.c: (gst_caps_compare_structures):
13940           whitespace fixes
13941         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
13942         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
13943           add more tests
13944
13945 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13946
13947         * libs/gst/dataprotocol/Makefile.am:
13948           build dataprotocol test by linking to the lib, instead of
13949           compiling the source, so we get coverage
13950         * tests/check/Makefile.am:
13951         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
13952         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
13953           add a test for filesrc
13954
13955 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13956
13957         * tests/check/gst/gststructure.c: (GST_START_TEST),
13958         (gst_structure_suite):
13959           Push coverage from 59.04% to 70.00%
13960
13961 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13962
13963         * tests/check/Makefile.am:
13964           gst-inspect every element; this makes sure that we also get
13965           coverage on element's get/set functions
13966
13967 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13968
13969         * configure.ac:
13970           set CFLAGS and friends to -O0 if gcov is being used
13971           add GCOV LIBS
13972         * gst/Makefile.am:
13973         * libs/gst/base/Makefile.am:
13974         * libs/gst/check/Makefile.am:
13975         * libs/gst/controller/Makefile.am:
13976         * libs/gst/dataprotocol/Makefile.am:
13977         * libs/gst/net/Makefile.am:
13978         * plugins/elements/Makefile.am:
13979         * plugins/indexers/Makefile.am:
13980           add makefile rules to generate gcov data and clean up
13981         * tests/check/Makefile.am:
13982           add a coverage target that generates an html overview
13983           of coverage data
13984
13985 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
13986
13987         * tests/check/elements/fakesink.c:
13988         * tests/check/elements/fakesrc.c:
13989         * tests/check/elements/fdsrc.c:
13990         * tests/check/elements/identity.c:
13991         * tests/check/generic/sinks.c: (gst_sinks_suite):
13992         * tests/check/generic/states.c:
13993         * tests/check/gst/gst.c:
13994         * tests/check/gst/gstabi.c:
13995         * tests/check/gst/gstbin.c:
13996         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
13997         * tests/check/gst/gstbus.c: (gst_bus_suite):
13998         * tests/check/gst/gstcaps.c: (GST_START_TEST):
13999         * tests/check/gst/gstelement.c:
14000         * tests/check/gst/gstevent.c: (gst_event_suite):
14001         * tests/check/gst/gstghostpad.c:
14002         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
14003         * tests/check/gst/gstmessage.c: (gst_message_suite):
14004         * tests/check/gst/gstminiobject.c:
14005         * tests/check/gst/gstobject.c:
14006         * tests/check/gst/gstpad.c:
14007         * tests/check/gst/gstpipeline.c:
14008         * tests/check/gst/gstplugin.c:
14009         * tests/check/gst/gstquery.c: (gst_query_suite):
14010         * tests/check/gst/gstsegment.c: (gst_segment_suite):
14011         * tests/check/gst/gststructure.c:
14012         * tests/check/gst/gstsystemclock.c:
14013         * tests/check/gst/gsttag.c:
14014         * tests/check/gst/gsttask.c: (gst_task_suite):
14015         * tests/check/gst/gstutils.c:
14016         * tests/check/gst/gstvalue.c:
14017         * tests/check/libs/adapter.c:
14018         * tests/check/libs/basesrc.c:
14019         * tests/check/libs/collectpads.c:
14020         * tests/check/libs/controller.c:
14021         * tests/check/libs/gdp.c: (gst_dp_suite):
14022         * tests/check/libs/gstnetclientclock.c:
14023         * tests/check/libs/gstnettimeprovider.c:
14024         * tests/check/libs/libsabi.c: (libsabi_suite):
14025         * tests/check/libs/typefindhelper.c:
14026         * tests/check/pipelines/cleanup.c:
14027         * tests/check/pipelines/parse-launch.c:
14028         * tests/check/pipelines/simple-launch-lines.c:
14029         * tests/check/pipelines/stress.c: (stress_suite):
14030           use the new macro
14031
14032 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14033
14034         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
14035         * libs/gst/check/gstcheck.h:
14036           create a macro and function so that the simple unit test
14037           case can be just one macro to create main()
14038
14039 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
14040
14041         * gst/gstbin.c: (gst_bin_restore_thyself):
14042         * gst/gstxml.c: (gst_xml_make_element):
14043           Fix deserialisation from XML. Set parent manually
14044           instead of using gst_bin_add(), since gst_bin_add()
14045           will unlink all pads of the element being added.
14046           Fixes #341667.
14047
14048 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
14049
14050         Patch by: Peter Kjellerstedt <pkj at axis com>
14051
14052         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
14053           Fix missing g_strdup() and double free when using the
14054           --gst-plugin-load command line option (#346097).
14055
14056 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
14057
14058         * gst/gstinfo.c:
14059           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
14060
14061         * libs/gst/net/gstnetclientclock.c:
14062         * libs/gst/net/gstnettimeprovider.c:
14063           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
14064
14065 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
14066
14067         * docs/manual/advanced-dataaccess.xml:
14068           Fix buffer probe example compilation in
14069           ADM (#345708).
14070         
14071 2006-06-22  Edward Hervey  <edward@fluendo.com>
14072
14073         * gst/gstelement.c: (gst_element_pads_activate):
14074         We need to deactivate src pads first and then sink pads.
14075         The reason is the src pads might be blocking while holding the streaming
14076         lock, so we need to deactivate them first so that deactivating the sink
14077         pads doesn't block (since it will require the streaming lock).
14078
14079 2006-06-22  Wim Taymans  <wim@fluendo.com>
14080
14081         * libs/gst/base/gstbasetransform.c:
14082         (gst_base_transform_buffer_alloc):
14083         Forgot to remove two unneeded unrefs.
14084         Simplify a check _is_equal allready checks the obvious case.
14085
14086 2006-06-22  Wim Taymans  <wim@fluendo.com>
14087
14088         * docs/design/part-block.txt:
14089         Some docs about what pad_block should do.
14090
14091 2006-06-22  Wim Taymans  <wim@fluendo.com>
14092
14093         * gst/gstcaps.c: (gst_caps_replace):
14094         Fix crasher when passed NULL. Doc clarification.
14095         Optimize for the trivial case.
14096
14097         * gst/gstpipeline.c: (gst_pipeline_change_state):
14098         Small cleanups.
14099
14100         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
14101         Small documentation cleanup.
14102
14103         * libs/gst/base/gstbasetransform.c:
14104         (gst_base_transform_buffer_alloc):
14105         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
14106         is what we need and it avoids a whole lot of redundant 
14107         refcount operations.
14108
14109 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
14110
14111         Patch by: Philip Jägenstedt  <philip at lysator liu se>
14112
14113         * docs/manual/advanced-dataaccess.xml:
14114           Fix 'Embedding static elements' section to use
14115           GST_PLUGIN_DEFINE_STATIC (#345607).
14116
14117 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
14118
14119         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
14120           Attempt to 'fix' spuriously failing test case: it seems like the
14121           timeout of half a second is simply too small when the system is under
14122           load otherwise, and the timeout doesn't really seem to serve any
14123           particular purpose here. Give the pipeline a few seconds to preroll
14124           first, and then give it another half a second to go from PAUSED to
14125           PLAYING and marshal the message into the main thread.
14126
14127 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
14128
14129         * tools/gst-feedback-m.m:
14130           Don't only use unversioned tools, try versioned tools as well
14131           (#345086).
14132
14133 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
14134
14135         * gst/gstbus.c: (gst_bus_class_init):
14136           Fix some typos, make docs more explicit.
14137
14138 2006-06-20  Wim Taymans  <wim@fluendo.com>
14139
14140         * tests/check/gst/gstghostpad.c: (block_callback),
14141         (GST_START_TEST), (gst_ghost_pad_suite):
14142         Added some more ghostpad tests, mainly blocking
14143         and probes.
14144
14145 2006-06-16  Wim Taymans  <wim@fluendo.com>
14146
14147         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
14148         (gst_file_sink_close_file), (gst_file_sink_do_seek),
14149         (gst_file_sink_event), (gst_file_sink_render):
14150         * plugins/elements/gstfilesink.h:
14151         Check if we can seek in the file instead of assuming
14152         we always can. Post an error when we are asked to seek in a
14153         non-seekable file (like a fifo). Fixes #343312.
14154         Some cleanups.
14155
14156 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
14157
14158         * tools/gst-launch.1.in:
14159           Un-garble (fourcc) bit in filtered caps section.
14160
14161 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
14162
14163         * docs/manual/advanced-autoplugging.xml:
14164         * docs/manual/basics-helloworld.xml:
14165         * docs/manual/highlevel-components.xml:
14166           Don't leak bus reference in sample code.
14167
14168 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
14169
14170         * autogen.sh:
14171           Add default for new --enable-plugin-docs switch.
14172
14173         * configure.ac:
14174           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
14175           Fixes #344039.
14176
14177         * docs/Makefile.am:
14178           Use new ENABLE_PLUGIN_DOCS conditional.
14179
14180 2006-06-14  Wim Taymans  <wim@fluendo.com>
14181
14182         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
14183         Make it clear with a FIXME and a real define what the #if 0
14184         previously disabled.
14185
14186 2006-06-14  Wim Taymans  <wim@fluendo.com>
14187
14188         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
14189         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14190         * libs/gst/base/gstbasetransform.c:
14191         (gst_base_transform_sink_eventfunc):
14192         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
14193         Don't randomly and silently reset a segment when the format 
14194         changes as this is a bug somewhere upstream. Fixes #330379.
14195
14196 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
14197
14198         Patch by: Wouter Paesen  <wouter at kangaroot net>
14199
14200         * libs/gst/controller/gstcontroller.c:
14201         (gst_controlled_property_new):
14202           Fix controlling of float properties (#344849).
14203
14204         * tests/check/libs/controller.c:
14205         (gst_test_mono_source_get_property),
14206         (gst_test_mono_source_set_property),
14207         (gst_test_mono_source_class_init), (GST_START_TEST):
14208           While we're at it, add some float stuff to unit test.
14209
14210 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14211
14212         * docs/README:
14213         * docs/images/gdp-header.svg:
14214           add a gdp image
14215         * docs/libs/Makefile.am:
14216         * docs/libs/gdp-header.png:
14217         * libs/gst/dataprotocol/dataprotocol.c:
14218           add it to the API docs
14219         * docs/manual/intro-motivation.xml:
14220           fix typo
14221
14222 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
14223
14224         * gst/gst.c: (scan_and_update_registry), (init_post):
14225           If the fork()'ed child process can't write the updated registry cache
14226           file to disk for some reason, make it exit with a failure exit code,
14227           so that the parent can then re-scan the plugins itself and update the
14228           registry structures in memory and work with that (rather than failing
14229           when creating elements because seemingly no plugins are available).
14230           Refactor registry scanning code into separate function for this and
14231           also separate fork() and non-fork() code paths. Fixes #344748.
14232
14233 2006-06-13  Wim Taymans  <wim@fluendo.com>
14234
14235         * docs/manual/advanced-dataaccess.xml:
14236         Fix wrong PluginDesc. Fixes #344755.
14237
14238 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
14239
14240         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
14241           Fix silly bug that prevented us from creating
14242           ~/.gstreamer-0.10 and writing the registry in one
14243           go (the first call to g_mkstemp() would overwrite the
14244           placeholder in the template string, so the second call
14245           to g_mkstemp() after creating the missing directory
14246           would then error out with 'invalid argument').
14247
14248 2006-06-13  Edward Hervey  <edward@fluendo.com>
14249
14250         * gst/gst.c: (init_post):
14251         Free string.
14252
14253 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14254
14255         * gst/glib-compat-private.h:
14256         * gst/glib-compat.c:
14257         * gst/glib-compat.h:
14258         * gst/gstvalue.c: (gst_value_serialize_flags):
14259           remove GLib 2.6 compatibility code
14260
14261 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
14262
14263         * gst/parse/Makefile.am:
14264           Fix build with 'make -j N' even more (#340016).
14265
14266 2006-06-12  Wim Taymans  <wim@fluendo.com>
14267
14268         * docs/gst/gstreamer-sections.txt:
14269         Fix docs.
14270
14271 2006-06-12  Wim Taymans  <wim@fluendo.com>
14272
14273         * gst/gstsegment.c: (gst_segment_set_duration),
14274         (gst_segment_set_last_stop), (gst_segment_set_seek),
14275         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
14276         (gst_segment_to_running_time), (gst_segment_clip):
14277         Use G_UNLIKELY to help the compiler a bit.
14278
14279 2006-06-12  Wim Taymans  <wim@fluendo.com>
14280
14281         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
14282
14283         * gst/gstevent.c: (gst_event_get_type):
14284         * gst/gstmessage.c:
14285         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
14286         (gst_pad_push):
14287         constify quark registration strings. Fixes #344115
14288         Avoid unneeded type checking is _pad_push() by internally
14289         calling gst_pad_chain_unchecked().
14290
14291 2006-06-12  Wim Taymans  <wim@fluendo.com>
14292
14293         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
14294         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
14295         (gst_subbuffer_finalize), (gst_buffer_create_sub),
14296         (gst_buffer_is_span_fast), (gst_buffer_span):
14297         Init _type for consistency.
14298         Use _FLAGS macro to avoid type check.
14299         Avoid unneeded type checks in subbufer code.
14300
14301 2006-06-12  Wim Taymans  <wim@fluendo.com>
14302
14303         * gst/gst.c: (gst_debug_help):
14304         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
14305         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
14306         (gst_plugin_feature_list_free):
14307         * gst/gstregistry.c: (gst_registry_add_plugin),
14308         (gst_registry_add_feature), (gst_registry_plugin_filter),
14309         (gst_registry_feature_filter), (gst_registry_find_plugin),
14310         (gst_registry_find_feature), (gst_registry_get_plugin_list),
14311         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
14312         * gst/gstregistryxml.c: (load_feature),
14313         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
14314         * gst/gstminiobject.c: (gst_mini_object_unref),
14315         (gst_mini_object_replace), (gst_value_mini_object_free),
14316         (gst_value_mini_object_copy):
14317         Use _CAST macros to avoid unneeded type checking.
14318         Added some more G_UNLIKELY.
14319
14320 2006-06-12  Wim Taymans  <wim@fluendo.com>
14321
14322         * gst/gstbuffer.h:
14323         Avoid unneeded type checking.
14324         API: GST_BUFFER_IS_DISCONT
14325
14326         * gst/gstminiobject.h:
14327         Avoid type check in flag accessor.
14328
14329         * gst/gstelementfactory.h:
14330         * gst/gstplugin.h:
14331         * gst/gstpluginfeature.h:
14332         Add _CAST macros.
14333         API: GST_ELEMENT_FACTORY_CAST
14334         API: GST_PLUGIN_CAST
14335         API: GST_PLUGIN_FEATURE_CAST
14336
14337 2006-06-12  Wim Taymans  <wim@fluendo.com>
14338
14339         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
14340         (gst_object_unref):
14341         Add G_UNLIKELY in type registration.
14342         Avoid type check in _ref/_unref since that is also
14343         done in glib.
14344
14345 2006-06-12  Wim Taymans  <wim@fluendo.com>
14346
14347         * gst/gsterror.c: (gst_g_error_get_type):
14348         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
14349         (gst_static_pad_template_get_type):
14350         * gst/gsttaglist.c: (gst_tag_list_get_type):
14351         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
14352         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
14353         * gst/gsturi.c: (gst_uri_handler_get_type):
14354         * gst/gstvalue.c: (gst_date_get_type):
14355         * gst/gstxml.c: (gst_xml_get_type):
14356         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
14357         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14358         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
14359         Add G_UNLIKELY in type registration.
14360
14361 2006-06-12  Wim Taymans  <wim@fluendo.com>
14362
14363         * tools/gst-inspect.c: (print_signal_info):
14364         Properly print enum values.
14365
14366 2006-06-12  Wim Taymans  <wim@fluendo.com>
14367
14368         * gst/gstinfo.c: (gst_debug_set_active),
14369         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
14370         * gst/gstinfo.h:
14371         Add some G_[UN]LIKELY.
14372         Maintain __gst_debug_min to avoid formatting the arguments of
14373         debug messages that will be dropped anyway to avoid a lot of 
14374         overhead from the debugging system.
14375
14376 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14377
14378         * po/POTFILES.in:
14379         * po/POTFILES.skip:
14380           add missing files containing translatable strings, tell intltool about
14381           one exception
14382
14383 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14384
14385         * tests/check/libs/.cvsignore:
14386         add test-binary to ignore list
14387
14388 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14389
14390         * docs/libs/gstreamer-libs-docs.sgml:
14391         reorder (put dp into a chapter) and indent
14392
14393 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14394
14395         * configure.ac:
14396           back to HEAD
14397
14398 === release 0.10.8 ===
14399
14400 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
14401
14402         * configure.ac:
14403           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
14404
14405 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14406
14407         * gst/gst.c: (init_post):
14408           move pid declaration to declaration block
14409
14410 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14411
14412         * gst/gst.c: (init_post):
14413           use _exit() instead of exit() in our forked child; this ensures
14414           that none of the registered exit handlers from whatever is using
14415           GStreamer get executed.  This fixes gnome-mixer-applet failing
14416           to load, because ORBit would shut down.
14417           Spotted by: Edward Hervey  <edward@fluendo.com>
14418           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
14419           Fixes #344474
14420
14421 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14422
14423         * configure.ac:
14424           back to TRUNK
14425
14426 === release 0.10.7 ===
14427
14428 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
14429
14430         * configure.ac:
14431           releasing 0.10.7, "Soepeke, ik zie ou"
14432
14433 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14434
14435         * configure.ac:
14436         * po/af.po:
14437         * po/az.po:
14438         * po/bg.po:
14439         * po/ca.po:
14440         * po/cs.po:
14441         * po/de.po:
14442         * po/en_GB.po:
14443         * po/fr.po:
14444         * po/it.po:
14445         * po/nb.po:
14446         * po/nl.po:
14447         * po/ru.po:
14448         * po/sq.po:
14449         * po/sr.po:
14450         * po/sv.po:
14451         * po/tr.po:
14452         * po/uk.po:
14453         * po/vi.po:
14454         * po/zh_CN.po:
14455         * po/zh_TW.po:
14456         * win32/common/config.h:
14457           0.10.6.2 prerelease
14458
14459 2006-06-07  Wim Taymans  <wim@fluendo.com>
14460
14461         * gst/gstindex.c: (gst_index_gtype_resolver):
14462         * tools/gst-xmlinspect.c: (print_plugin_info):
14463         Fix leak spotted by coverity checker. Fixes #343827
14464         Fix another other leak found by paolo borelli.
14465
14466 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14467
14468         * libs/gst/dataprotocol/dataprotocol.c:
14469         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
14470         (gst_dp_version_get_type), (gst_dp_init),
14471         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
14472         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
14473         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
14474         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
14475         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
14476         (gst_dp_packetizer_free):
14477         * libs/gst/dataprotocol/dataprotocol.h:
14478           API: add a GstDPPacketizer object, and create/free functions
14479           API: add GstDPVersion enum
14480           Add 1.0 event function that uses the string serialization
14481           Serialize more useful buffer flags
14482           Fixes #343988
14483
14484 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14485
14486         * tests/check/Makefile.am:
14487         * tests/check/gst/gstabi.c:
14488         * tests/check/gst/struct_ppc64.h:
14489         * tests/check/libs/libsabi.c:
14490         * tests/check/libs/struct_ppc64.h:
14491           add ppc64 structure sizes
14492
14493 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14494
14495         * tests/check/Makefile.am:
14496         * tests/check/gst/gstabi.c:
14497         * tests/check/gst/struct_x86_64.h:
14498         * tests/check/libs/libsabi.c:
14499         * tests/check/libs/struct_x86_64.h:
14500           generate and add structure size lists for x86_64
14501
14502 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14503
14504         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
14505         * libs/gst/check/gstcheck.h:
14506           factor out the method from tests that checks size of structures,
14507           and add code to generate the header containing these sizes
14508         * tests/check/gst/gstabi.c: (GST_START_TEST):
14509         * tests/check/gst/struct_i386.h:
14510         * tests/check/libs/libsabi.c: (GST_START_TEST):
14511         * tests/check/libs/struct_i386.h:
14512           use it
14513
14514 2006-06-06  Michael Smith  <msmith@fluendo.com>
14515
14516         * gst/gstsegment.h:
14517           Don't use c++-style comments, fixes #343929
14518
14519 2006-06-05  Edward Hervey  <edward@fluendo.com>
14520
14521         * gst/gst.c:
14522         plugin_paths is not used if we build without registry support.
14523
14524         * gst/gstsegment.c: (gst_segment_copy): 
14525         _copy() was always returning NULL...
14526
14527 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14528
14529         * libs/gst/dataprotocol/dataprotocol.c:
14530         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14531         (gst_dp_packet_from_event):
14532           factor out CRC code
14533
14534 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14535
14536         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
14537           make sure we unset caps
14538
14539 2006-06-02  Michael Smith  <msmith@fluendo.com>
14540
14541         * libs/gst/check/gstcheck.c: (gst_check_init),
14542         (gst_check_chain_func):
14543         * libs/gst/check/gstcheck.h:
14544           Add a cond/mutex to the check support lib, signal this whenever we
14545           add to the buffers list. This will allow tests to not busy-wait on
14546           the buffer-list.
14547
14548 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14549
14550         * libs/gst/dataprotocol/dataprotocol.c:
14551         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14552         (gst_dp_packet_from_event):
14553           factor out some common header init code
14554
14555 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14556
14557         * docs/libs/gstreamer-libs-sections.txt:
14558         * docs/libs/tmpl/gstdataprotocol.sgml:
14559         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
14560         * libs/gst/dataprotocol/dataprotocol.h:
14561           API: make gst_dp_crc() public
14562
14563 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
14564
14565         * plugins/indexers/gstindexers.c: (plugin_init):
14566         conditionally register fileindexer (fixes #343598)
14567
14568 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
14569
14570         * gst/gsttagsetter.h:
14571         Can't cast ifaces to a class
14572
14573         * libs/gst/net/gstnetclientclock.h:
14574         * libs/gst/net/gstnettimeprovider.h:
14575         * plugins/elements/gstfakesink.h:
14576         * plugins/elements/gstfakesrc.h:
14577         * plugins/elements/gstfdsink.h:
14578         * plugins/elements/gstfdsrc.h:
14579         * plugins/elements/gstfilesink.h:
14580         * plugins/elements/gstfilesrc.h:
14581         * plugins/elements/gstidentity.h:
14582         * plugins/elements/gstqueue.h:
14583         * plugins/elements/gsttee.h:
14584         * plugins/indexers/gstfileindex.c:
14585         * plugins/indexers/gstmemindex.c:
14586         * tests/old/examples/plugins/example.h:
14587         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
14588
14589 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14590
14591         * libs/gst/dataprotocol/dataprotocol.c:
14592         (gst_dp_header_from_buffer):
14593           make sure we zero the whole ABI-compatible area
14594
14595 2006-06-01  Wim Taymans  <wim@fluendo.com>
14596
14597         Patch by: Alessandro Decina <alessandro at nnva dot org>
14598
14599         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
14600         Make sure the EOS flag is cleared from pads after a flush
14601         or stop. Fixes #343538.
14602
14603         * tests/check/libs/collectpads.c: (GST_START_TEST),
14604         (gst_collect_pads_suite):
14605         Added test for collectpads reusage after EOS.
14606
14607 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
14608
14609         * gst/gst.c:
14610          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
14611         * win32/common/libgstbase.def:
14612          export gst_collect_pads_set_flushing
14613         * win32/common/libgstreamer.def:
14614          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
14615          gst_value_fraction_multiply
14616         * win32/vs6/gst_inspect.dsp:
14617          add a link to intl.lib
14618
14619 2006-05-30  Wim Taymans  <wim@fluendo.com>
14620
14621         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
14622         (gst_collect_pads_chain):
14623         Handle the case where a pad is removed from the collection
14624         that could cause the other pads to become collectable.
14625
14626 2006-05-30  Wim Taymans  <wim@fluendo.com>
14627
14628         * gst/gstelement.c:
14629         Clarify the use of _release_request_pad() and
14630         _get_request_pad() a bit better.
14631
14632         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
14633         (gst_adapter_take_buffer):
14634         Fix some doc and comment typos.
14635
14636 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14637
14638         * docs/gst/gstreamer-sections.txt:
14639         * docs/libs/gstreamer-libs-sections.txt:
14640           add declared symbols
14641
14642 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
14643
14644         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
14645         Add debug that can be enabled using a #define at the top of the file,
14646         for dumping stats about how late/early we were when waking up from
14647         waiting on the clock.
14648
14649 2006-05-30  Wim Taymans  <wim@fluendo.com>
14650
14651         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
14652         When rebuilding the pad list, don't leak the previous list.
14653
14654 2006-05-30  Wim Taymans  <wim@fluendo.com>
14655
14656         Patch by: Lutz Mueller <lutz at topfrose dot de>
14657
14658         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14659         (gst_base_src_get_query_types), (gst_base_src_update_length):
14660         Publish supported query types.
14661         Update last_stop field in get_range mode so the position
14662         query works. Fixes #342321.
14663
14664 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
14665
14666         * docs/gst/gstreamer-sections.txt:
14667         * gst/gsttaglist.c: (_gst_tag_initialize):
14668         * gst/gsttaglist.h:
14669           API: add GST_TAG_PREVIEW_IMAGE (#343341).
14670
14671 2006-05-30  Wim Taymans  <wim@fluendo.com>
14672
14673         Patch by: Alessandro Decina <alessandro at nnva dot org>
14674
14675         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
14676         Unlock mutex when removing an unknown pad.
14677         Fixes #343334.
14678
14679         * tests/check/Makefile.am:
14680         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
14681         (push_event), (setup), (teardown), (GST_START_TEST),
14682         (gst_collect_pads_suite), (main):
14683         Added collecpads check, disabled for now as check crashes for
14684         some reason.
14685
14686 2006-05-29  Wim Taymans  <wim@fluendo.com>
14687
14688         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
14689         Don't leak pads lists.
14690
14691 2006-05-29  Wim Taymans  <wim@fluendo.com>
14692
14693         * docs/libs/gstreamer-libs-sections.txt:
14694         * libs/gst/base/gstcollectpads.c:
14695         (gst_collect_pads_set_flushing_unlocked),
14696         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
14697         (gst_collect_pads_stop):
14698         * libs/gst/base/gstcollectpads.h:
14699         API: gst_collect_pads_set_flushing()
14700         Added api to set the pads to flushing, useful for seeking
14701         code in elements using collectpads.
14702         Clear segment when receiving a flush.
14703
14704 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
14705
14706         * gst/gst.c: (add_path_func), (init_post):
14707           Don't scan registry paths passed via --gst-plugin-path immediately
14708           (will crash, because absolutely nothing is set up and no types are
14709           registered etc.); do this later in init_post(). Fixes #343057.
14710
14711 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
14712
14713         * gst/gst.c: (init_post):
14714           if we have fork, fork while reading/rebuilding the registry
14715           so the parent doesn't take the hit of having all plugins loaded
14716           in memory.  Fixes #342777.
14717         * configure.ac:
14718           Check if we have fork()
14719         * win32/common/config.h.in:
14720           no fork() on win32
14721
14722 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
14723
14724         * plugins/elements/gstelements.c:
14725         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
14726         (gst_file_src_init), (gst_file_src_set_property),
14727         (gst_file_src_get_property), (gst_file_src_start):
14728         * plugins/elements/gstfilesrc.h:
14729           API: GstFileSrc::use-mmap
14730
14731         Add a use-mmap property to enable easier testing of all code paths.
14732         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
14733         in the absence of gnomevfssrc. (Closes #340501)
14734
14735 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
14736
14737         * tools/gst-inspect.c:
14738         Add missing include, removes warning of ngettext not being defined on
14739         some arches.
14740
14741 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
14742
14743         * gst/gstvalue.c: (gst_value_deserialize_fraction):
14744         Handle NULL input and output pointers silently as a failed conversion,
14745         rather than g_warnings.
14746
14747 2006-05-25  Wim Taymans  <wim@fluendo.com>
14748
14749         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
14750         Initialize variable before using. Fixes #342820.
14751
14752 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
14753
14754         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
14755           Fix off-by-one bug that would only allow peeks of N-1 bytes
14756           from the start even if the buffer to typefind on contains
14757           in fact N bytes of data (makes vorbis typefinding from a
14758           vorbis identification header buffer work).
14759
14760         * tests/check/Makefile.am:
14761         * tests/check/libs/.cvsignore:
14762         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
14763         (gst_typefindhelper_suite), (main), (foobar_typefind),
14764         (plugin_init):
14765           Add very basic unit test for gst_type_find_helper_for_buffer()
14766           that checks for the problem fixed above.
14767
14768 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14769
14770         * tools/gst-inspect.c: (print_interfaces),
14771         (print_element_properties_info), (print_element_list), (main):
14772           add more translatable strings
14773
14774 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
14775
14776         Patch by: Julien Moutte  <julien at moutte net>
14777
14778         * docs/gst/gstreamer-sections.txt:
14779           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
14780           
14781         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
14782         (gst_fake_sink_preroll):
14783         * plugins/elements/gstfakesink.h:
14784           API: Add new GstFakeSink::preroll-handoff signal (#337100).
14785
14786 2006-05-23  Wim Taymans  <wim@fluendo.com>
14787
14788         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
14789         * gst/gstpad.h:
14790         Added _CUSTOM error and success GstFlowReturn that can be
14791         used be elements internally. 
14792         Added macro to check for SUCCESS flowreturns.
14793         API: GST_FLOW_CUSTOM_SUCCESS
14794         API: GST_FLOW_CUSTOM_ERROR
14795         API: GST_FLOW_IS_SUCCESS
14796
14797         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
14798         Added check for GstFlowReturn sanity.
14799
14800 2006-05-23  Wim Taymans  <wim@fluendo.com>
14801
14802         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
14803
14804         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
14805         (gst_collect_pads_event):
14806         clear/reset segment info in FLUSH_STOP.
14807         Fixes #336929.
14808
14809 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
14810
14811         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
14812         (gst_collect_pads_check_collected):
14813         Flush queued buffer on _stop(), fixes playing again (#342454)
14814
14815 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14816
14817         * tests/check/gst/gststructure.c: (GST_START_TEST),
14818         (gst_structure_suite):
14819           add a test for a complete structure
14820
14821 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
14822
14823         * docs/faq/developing.xml:
14824         * docs/faq/faq.xml:
14825         * docs/faq/troubleshooting.xml:
14826         * docs/faq/using.xml:
14827           Some minor FAQ updates that won't change the fact that
14828           our FAQ is badly structured, full of information hardly
14829           anyone new to GStreamer needs to know and lacking lots
14830           of information people constantly ask for.
14831           
14832 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
14833
14834         * gst/gstpad.c: (gst_pad_set_caps):
14835           Short-circuit gst_pad_set_caps if setting the existing
14836           caps pointer again, and avoid printing debug and 
14837           reffing/unreffing the caps.
14838
14839         * plugins/elements/gstqueue.c: (gst_queue_push_one):
14840           There's actually no need to set the caps before pushing -
14841           the acceptcaps method will handle it anyway.
14842
14843 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
14844
14845         * docs/gst/gstreamer-sections.txt:
14846         * win32/common/libgstreamer.def:
14847         * gst/gstutils.c: (gst_element_seek_simple):
14848         * gst/gstutils.h:
14849           API: add gst_element_seek_simple() (#342238).
14850
14851 2006-05-18  Edward Hervey  <edward@fluendo.com>
14852
14853         * gst/gsttypefind.c: (gst_type_find_get_type):
14854         * gst/gsttypefind.h:
14855         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
14856         registered for GstTypeFind pointers. This allows wrapping the structure
14857         in bindings (i.e. gst-python).
14858
14859 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
14860
14861         * gst/gsttagsetter.c:
14862           Docs additions and fixes (see #339918).
14863
14864 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
14865
14866         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
14867         The caps intersection algorithm can produce multiple copies of the
14868         caps. Until that is fixed, we need to simplify the result to be
14869         sure whether the allowed caps are fixed or not.
14870
14871         * plugins/elements/gstqueue.c: (gst_queue_init),
14872         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
14873         (gst_queue_push_one):
14874         Proxied buffer alloc should not set the caps on the source pad.
14875         When pushing buffers, we always accept the caps change that triggers.
14876         This prevents negotiation errors caused by caps changing mid-stream 
14877         and then being refused on our source pad (because upstream is now
14878         refusing those caps).
14879
14880 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
14881
14882         * tests/examples/helloworld/helloworld.c: (main):
14883           Must plug audioconvert and audioresample between decoder
14884           and audio sink.
14885
14886 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
14887
14888         * gst/gstregistryxml.c: (read_string), (load_pad_template),
14889         (load_feature), (load_plugin):
14890         Allow empty strings for some of the plugin fields so we don't 
14891         drop valid plugin entries that were written out correctly
14892         (Fixes #341479)
14893
14894 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
14895         
14896         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
14897           Use g_remove and g_rename instead of remove and rename that don't 
14898           handle utf8 characters. rename was failing for users who had specific
14899           characters in their name then the registry was built at each 
14900           gstreamer init.
14901         * win32/vs6/gst_inspect.dsp:
14902         * win32/vs6/gst_launch.dsp:
14903         * win32/vs6/libgstbase.dsp:
14904         * win32/vs6/libgstcoreelements.dsp:
14905         * win32/vs6/libgstreamer.dsp:
14906           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
14907           build of libgstreamer and clean unused libraries in projects link 
14908           settings.
14909
14910 2006-05-17  Edward Hervey  <edward@fluendo.com>
14911
14912         * plugins/elements/gstqueue.c: (gst_queue_push_one):
14913         The queue is not responsible for pushing an EOS when receiving a fatal
14914         flow error. It's up to the real element driving the pipeline to do that.
14915
14916 2006-05-16  Edward Hervey  <edward@fluendo.com>
14917
14918         * plugins/elements/gstqueue.c: (gst_queue_push_one):
14919         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
14920         buffer returned a fatal error. It should just send an EOS and stop
14921         its task.
14922         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
14923         when pushing buffers on the queue and will be able to handle the event.
14924
14925 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
14926
14927         * docs/manual/basics-bins.xml:
14928         * docs/manual/basics-init.xml:
14929           Fix typos and minor errors in sample code (#341856).
14930
14931 2006-05-16  Wim Taymans  <wim@fluendo.com>
14932
14933         * docs/design/part-qos.txt:
14934         Fix indexes in formulas to make more sense.
14935
14936 2006-05-15  Wim Taymans  <wim@fluendo.com>
14937
14938         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
14939         Don't report POSITION based on clock time if sync is
14940         disabled in a sink.
14941
14942 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
14943
14944         * gst/gstobject.h:
14945           Add cast to make compiler happy - refcount variable was a gint
14946           in GstObject but is a guint in GObject and g_atomic_int_get()
14947           wants a gint *.
14948
14949 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14950
14951         * gst/parse/Makefile.am:
14952           chain commands using &&, which also makes parallel make work
14953
14954 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
14955
14956         * docs/gst/gstreamer-sections.txt:
14957         * gst/gstevent.c:
14958         * gst/gstevent.h:
14959         * gst/gstmessage.h:
14960           Minor docs fixes.
14961
14962 === release 0.10.6 ===
14963
14964 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
14965
14966         * configure.ac:
14967           releasing 0.10.6, "Take the cannoli"
14968
14969 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
14970
14971         * tools/gst-launch.c: (print_tag):
14972           Fix use of uninitialized variable in the hypothetical
14973           case that some broken plugin creates a GST_TAG_IMAGE
14974           tag containing a NULL buffer (#341667).
14975
14976 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
14977
14978         * tools/gst-launch.c: (print_tag):
14979           Print something more intelligible for image tags when
14980           using the -t switch (#341556).
14981
14982 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14983
14984         * Makefile.am:
14985           updates for win32
14986         * configure.ac:
14987           define GST_MAJORMINOR so we have it available in win32/common/config.h
14988           Possibly remove it from our Makefile.am files later
14989         * win32/common/config.h:
14990         * win32/common/config.h.in:
14991           added GST_MAJORMINOR
14992         * win32/common/gstenumtypes.c: (register_gst_resource_error):
14993         * win32/common/gstversion.h:
14994           updated
14995
14996 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
14997
14998         * win32/MANIFEST:
14999           Update win32 files listing.
15000         * win32/common/gstversion.h:
15001           Add GST_MAJORMINOR definition.
15002         * win32/common/libgstreamer.def:
15003           Add new exported functions.
15004           
15005 2006-05-12  Michael Smith  <msmith@fluendo.com>
15006
15007         * gst/gstplugin.c: (gst_plugin_load_file):
15008           If an so file has no plugin entry point, unload the module.
15009
15010 2006-05-11  Wim Taymans  <wim@fluendo.com>
15011
15012         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
15013         (gst_queue_set_property):
15014         Don't forget to signal the _chain or _loop function 
15015         when the queue size or thresholds change since that might
15016         cause them to make progres again.
15017
15018 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
15019
15020         * gst/gstclock.c: (gst_clock_class_init):
15021         * gst/gstindex.c: (gst_index_class_init):
15022         * gst/gstobject.c: (gst_object_class_init):
15023         * gst/gstpad.c: (gst_pad_class_init):
15024         * gst/gstpipeline.c: (gst_pipeline_class_init):
15025         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
15026         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
15027         * libs/gst/base/gstbasetransform.c:
15028         (gst_base_transform_class_init):
15029         * libs/gst/net/gstnetclientclock.c:
15030         (gst_net_client_clock_class_init):
15031         * libs/gst/net/gstnettimeprovider.c:
15032         (gst_net_time_provider_class_init):
15033         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
15034         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
15035         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
15036         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
15037         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
15038         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
15039         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
15040         * plugins/elements/gstidentity.c: (gst_identity_class_init):
15041         * plugins/elements/gsttee.c: (gst_tee_class_init):
15042         * tests/old/examples/plugins/example.c: (gst_example_class_init):
15043         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
15044           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
15045
15046 2006-05-11  Wim Taymans  <wim@fluendo.com>
15047
15048         * gst/gstbuffer.c: (_gst_buffer_initialize):
15049         Register subbufer along with the buffer type so that
15050         it does not accidentally gets registered from N
15051         different streaming threads in a non threadsafe way.
15052
15053 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
15054
15055         * gst/gstbuffer.h:
15056         * gst/gstevent.h:
15057         * gst/gstmessage.h:
15058           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
15059           gst_event_ref() and gst_message_ref() functions again
15060           (ugly hack, please do fix if there's a better way besides
15061           overrides.txt, which doesn't seem to work).
15062
15063 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15064
15065         * libs/gst/check/gstcheck.h:
15066           add an assert for setting state to avoid lots of repetitive code
15067           in the future
15068
15069 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15070
15071         * gst/gstvalue.c: (gst_value_serialize_flags):
15072           fix a leak if no flags are set
15073         * tests/check/gst/gstvalue.c: (GST_START_TEST):
15074           fix leak in tests
15075
15076 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
15077
15078         * docs/manual/basics-pads.xml:
15079           Expand a bit on caps and filtered links and update
15080           examples that were still using the no longer existing
15081           gst_pad_link_filtered() (#338206).
15082
15083 2006-05-10  Wim Taymans  <wim@fluendo.com>
15084
15085         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
15086         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
15087         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
15088         (gst_collect_pads_stop):
15089         * libs/gst/base/gstcollectpads.h:
15090         No need to call _stop in _finalize.
15091         Iterate the main pad list in _finalize.
15092         Added some more debug.
15093         Free lists and data in the right order.
15094         Also free data whem doing _remove_pad when stopped for
15095         backward compatibility protect ::started with PAD_LOCK as
15096         well.
15097
15098 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15099
15100         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
15101         (gst_structure_parse_value):
15102           add some comments
15103           rename a method so that it actually says what it does better
15104
15105 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15106
15107         * gst/gstevent.c: (_gst_event_initialize):
15108         * gst/gstformat.c: (_gst_format_initialize):
15109           make sure some essential types used by events are registered
15110           as part of gst_init()
15111         * gst/gstvalue.c: (gst_value_serialize_flags):
15112           if no flags are set, serialize them to a value that represents NONE
15113           so that deserializing them works
15114         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15115           add tests for serialization and deserialization of flags
15116
15117 2006-05-10  Wim Taymans  <wim@fluendo.com>
15118
15119         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
15120         (gst_collect_pads_collect_range), (gst_collect_pads_available),
15121         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
15122         (gst_collect_pads_event), (gst_collect_pads_chain):
15123         Update docs.
15124         Better debug info.
15125         Catch and return errors from the collect function
15126         Refuse data on eos pads.
15127
15128 2006-05-10  Edward Hervey  <edward@fluendo.com>
15129
15130         * gst/gstinterface.h:
15131         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
15132         GInterface type checking.
15133         They were previously using non-defined macros.
15134
15135 2006-05-09  Wim Taymans  <wim@fluendo.com>
15136
15137         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
15138         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
15139         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
15140         (gst_collect_pads_start), (gst_collect_pads_stop),
15141         (gst_collect_pads_peek), (gst_collect_pads_pop),
15142         (gst_collect_pads_available), (gst_collect_pads_read),
15143         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
15144         (gst_collect_pads_is_collected), (gst_collect_pads_event),
15145         (gst_collect_pads_chain):
15146         * libs/gst/base/gstcollectpads.h:
15147         Clean up the mess that is collectpads, add comments and
15148         FIXMEs where needed.
15149         Maintain a separate pad list so we can add pads while
15150         collecting the other ones. For this we need a new separate 
15151         lock (see comics).
15152         Fix memory leak in finalize.
15153         Refactor some weird code to set/unset pad flushing flags, mark
15154         with comments.
15155         Don't crash in _available, _read, _flush when we're EOS.
15156
15157         * tests/check/libs/.cvsignore:
15158         Ignore adapter check binary.
15159
15160 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15161
15162         * gst/gstindex.c: (gst_index_resolver_get_type):
15163         * plugins/elements/gstfakesink.c:
15164         (gst_fake_sink_state_error_get_type):
15165         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
15166         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
15167         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
15168           Const-ify GEnumValue arrays.
15169
15170 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15171
15172         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
15173           Add test case for flags + gst_buffer_make_metadata_writable().
15174
15175 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15176
15177         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
15178           gst_buffer_make_metadata_writable() should maintain the
15179           buffer flags (those that make sense at least) (see #340859).
15180
15181 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15182
15183         * tools/gst-inspect.c:
15184         * tools/gst-launch.c:
15185         * tools/gst-typefind.c:
15186         * tools/gst-xmlinspect.c:
15187         * tools/tools.h:
15188           Fix up includes: need to include stdlib.h in tools.h for exit().
15189
15190 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15191
15192         * gst/gsttaglist.c: (_gst_tag_initialize):
15193         * gst/gsttaglist.h:
15194           API: add GST_TAG_IMAGE tag (#340721).
15195
15196 2006-05-08  Wim Taymans  <wim@fluendo.com>
15197
15198         * gst/gstquery.c:
15199         Added some docs for the segment query.
15200
15201 2006-05-08  Wim Taymans  <wim@fluendo.com>
15202
15203         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15204         (gst_base_src_loop), (gst_base_src_change_state):
15205         Always push non-flushing serialized events in the streaming 
15206         thread.
15207
15208 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15209
15210         * gst/gsterror.c: (_gst_stream_errors_init):
15211           Add a missing error string.
15212
15213 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
15214
15215         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
15216         Add applied_rate to the debug
15217
15218         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
15219         Copy applied_rate into the outgoing NEWSEGMENT event
15220
15221 2006-05-08  Wim Taymans  <wim@fluendo.com>
15222
15223         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
15224
15225         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
15226         (gst_base_sink_change_state):
15227         call ::unlock before taking the PREROLL_LOCK so we can safely
15228         handle elements that lock in ::render.
15229         Fixes #340174.
15230
15231 2006-05-08  Edward Hervey  <edward@fluendo.com>
15232
15233         * autogen.sh: (CONFIGURE_DEF_OPT): 
15234         Darwin's libtoolize is in fact called glibtoolize.
15235         Adding glibtoolize to the list of accepted names for libtoolize.
15236
15237 2006-05-08  Wim Taymans  <wim@fluendo.com>
15238
15239         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
15240         Unify error handling, don't post an error message
15241         when a push() returns EOS but perform our normal EOS
15242         handling code. Fixes #340772.
15243
15244 2006-05-08  Wim Taymans  <wim@fluendo.com>
15245
15246         * docs/design/part-overview.txt:
15247         Make upsteam/downstream concepts more clear.
15248         Give an example of serialized/non-serialized events.
15249
15250         * docs/design/part-events.txt:
15251         * docs/design/part-streams.txt:
15252         Mention applied_rate.
15253
15254         * docs/design/part-trickmodes.txt:
15255         Mention applied rate, flesh out some more use cases.
15256
15257         * gst/gstevent.c: (gst_event_new_new_segment),
15258         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
15259         (gst_event_parse_new_segment_full), (gst_event_new_tag),
15260         (gst_event_parse_tag), (gst_event_new_buffer_size),
15261         (gst_event_parse_buffer_size), (gst_event_new_qos),
15262         (gst_event_parse_qos), (gst_event_parse_seek),
15263         (gst_event_new_navigation):
15264         * gst/gstevent.h:
15265         Add applied_rate field to NEWSEGMENT event.
15266         API: gst_event_new_new_segment_full()
15267         API: gst_event_parse_new_segment_full()
15268
15269         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
15270         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
15271         (gst_segment_to_stream_time), (gst_segment_to_running_time):
15272         * gst/gstsegment.h:
15273         Add applied_rate to GstSegment structure.
15274         Make calculation of stream_time and running_time more correct
15275         wrt rate/applied_rate.
15276         Add some more docs.
15277         API: GstSegment::applied_rate field
15278         API: gst_segment_set_newsegment_full();
15279
15280         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
15281         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
15282         * libs/gst/base/gstbasetransform.c:
15283         (gst_base_transform_sink_eventfunc),
15284         (gst_base_transform_handle_buffer):
15285         Parse and use applied_rate in the GstSegment field.
15286
15287         * tests/check/gst/gstevent.c: (GST_START_TEST):
15288         Add check for applied_rate field.
15289
15290         * tests/check/gst/gstsegment.c: (GST_START_TEST),
15291         (gstsegments_suite):
15292         Add more checks for various GstSegment operations.
15293
15294 2006-05-08  Wim Taymans  <wim@fluendo.com>
15295
15296         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
15297         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
15298         (gst_base_sink_get_position), (gst_base_sink_change_state):
15299         Store the sync time of the buffer end position separatly in a
15300         new variable eos_rtime so we can properly sync the EOS event.
15301         Fixes #340697.
15302         Fix the docs for gst_base_sink_set_qos_enabled().
15303         Don't set segment start to invalid value when we receive a 
15304         non TIME newsegment.
15305         get closer to handling position reporting for negative rates 
15306         correctly.
15307
15308 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
15309
15310         * gst/gstcaps.c:
15311         Docs about how to print caps for debug purposes.
15312
15313         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
15314         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
15315
15316 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
15317
15318         * gst/gstelement.c:
15319           use full enum names and preprend a '%' in docs strings to make recent 
15320           gtk-doc turn that into a link
15321
15322 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15323
15324         * docs/manual/basics-bins.xml:
15325         * docs/manual/basics-bus.xml:
15326         * docs/manual/basics-pads.xml:
15327           Some typo fixes, some additions, some clarifications. 
15328
15329 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15330
15331         * tools/gst-inspect.c: (main):
15332         * tools/gst-launch.c: (main):
15333         * tools/gst-run.c: (main):
15334         * tools/gst-typefind.c: (main):
15335         * tools/gst-xmlinspect.c: (main):
15336           Use the string passed to g_option_context_new() for
15337           what it's intended for - the program name is already
15338           printed elsewhere.
15339
15340 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15341
15342         * tools/Makefile.am:
15343         * tools/gst-inspect.c: (main):
15344         * tools/gst-launch.c: (main):
15345         * tools/gst-xmlinspect.c: (main):
15346         * tools/tools.h:
15347           Add back --version command line option (#340460).
15348
15349         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
15350           Add --version option and use GOption for argument parsing; refactor a
15351           bit; accept directories as arguments and recurse into them; lastly,
15352           print a decent error message when things go wrong.
15353
15354 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15355
15356         * docs/manual/basics-bins.xml:
15357         Don't mention GstThread (#340611)
15358         * docs/manual/basics-elements.xml:
15359         Update link to GObject tutorial (#340607)
15360         
15361 2006-05-05  Wim Taymans  <wim@fluendo.com>
15362
15363         * gst/gstbuffer.h:
15364         * gst/gstminiobject.c:
15365         Add note about refcounting and miniobject/buffer writeability
15366         to docs. Fixes #340604
15367
15368         * gst/gstelementfactory.h:
15369         Added some explanation about @klass.
15370
15371 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15372
15373         * docs/manual/intro-motivation.xml:
15374         * docs/manual/manual.xml:
15375         Avoid CORBA & Bonobo references (#340598)
15376
15377 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15378
15379         * docs/manual/basics-bus.xml:
15380         * docs/manual/basics-pads.xml:
15381         Fix up some inaccuracies and omissions (#340609)
15382         
15383 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15384
15385         * gst/gstghostpad.c:
15386           Small typo in docs (#340625)
15387
15388 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15389
15390         * gst/parse/Makefile.am:
15391           Make 'make -j' proof (see #340698).
15392
15393 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15394
15395         * configure.ac:
15396           Require GLib-2.8 here as well.
15397
15398 2006-05-05  Wim Taymans  <wim@fluendo.com>
15399
15400         * gst/glib-compat.c:
15401         * gst/gst.c: (init_pre):
15402         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
15403         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
15404         (gst_object_dispatch_properties_changed):
15405         * gst/gstobject.h:
15406         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
15407         * gst/gststructure.c: (gst_structure_set_valist):
15408         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
15409         Remove pre glib2.8 compatibility, fixes #340508
15410
15411 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
15412
15413         * gst/gsttaglist.h:
15414           Mention type of tags in doc blurbs.
15415
15416 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
15417
15418         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15419         (gst_pad_configure_src), (gst_pad_push):
15420         Restore acceptcaps checking behaviour now that good plugins have
15421         been released.
15422
15423 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
15424
15425         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
15426
15427         * gst/gst.c:
15428         * gst/gstbus.c:
15429         * gst/gstclock.c:
15430         * gst/gstevent.c:
15431         * gst/gstformat.c:
15432         * gst/gstmessage.c:
15433         * gst/gstparse.c:
15434         * gst/gstquery.c:
15435         * gst/gstutils.c:
15436         * gst/parse/Makefile.am:
15437         * libs/gst/base/gstadapter.c:
15438         * libs/gst/base/gstbasesrc.c:
15439         * libs/gst/base/gstpushsrc.c:
15440         * libs/gst/base/gsttypefindhelper.c:
15441         * plugins/elements/gstfakesrc.c:
15442         * plugins/elements/gstidentity.c:
15443           Make sure gstprivate.h and/or config.h are
15444           always included first, otherwise some of our
15445           defines (like _FILE_OFFSET_BITS) might be
15446           redefined in the system headers. Fixes build
15447           on opensolaris (#340016).
15448
15449 2006-05-04  Wim Taymans  <wim@fluendo.com>
15450
15451         * docs/libs/gstreamer-libs-sections.txt:
15452         API: addition: gst_adapter_take_buffer()
15453         
15454         * libs/gst/base/gstadapter.c: (gst_adapter_push),
15455         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
15456         (gst_adapter_available_fast):
15457         * libs/gst/base/gstadapter.h:
15458         Prepare for optimizing the hell out of this hugely inefficient
15459         piece of code. 
15460         Added gst_adapter_take_buffer() so we can at least start thinking
15461         about subbuffering and merging.
15462         Added some comments.
15463
15464         * tests/check/Makefile.am:
15465         * tests/check/libs/adapter.c: (GST_START_TEST),
15466         (gst_adapter_suite), (main):
15467         Added GstAdapter check.
15468
15469 2006-05-04  Wim Taymans  <wim@fluendo.com>
15470
15471         * docs/design/part-overview.txt:
15472         Fix some typos, add blurb about buffer flags.
15473
15474 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
15475
15476         * docs/libs/gstreamer-libs-sections.txt:
15477           make sure GstBaseTransformClass shows up in the docs
15478         * libs/gst/base/gstbasetransform.c:
15479         * libs/gst/base/gstbasetransform.h:
15480           move docs so gtk-doc picks it up now
15481
15482 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
15483
15484         * docs/libs/gstreamer-libs-sections.txt:
15485           add missing symbols to docs
15486
15487 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
15488
15489         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15490           back out the newsegment handling change, see #340060 for ongoing
15491           discussion
15492
15493 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
15494
15495         * tools/gst-run.c: (get_candidates), (main):
15496           Fix wrong g_file_test() usage (see glib docs for why it doesn't
15497           work); fix typo in error message. Fixes #340079.
15498
15499 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15500
15501         * common/Makefile.am:
15502         * docs/Makefile.am:
15503         * docs/faq/Makefile.am:
15504         * docs/gst/Makefile.am:
15505         * docs/libs/Makefile.am:
15506         * docs/manual/Makefile.am:
15507         * docs/plugins/Makefile.am:
15508         * docs/pwg/Makefile.am:
15509         * docs/slides/Makefile.am:
15510         * docs/upload.mak:
15511         * common/upload.mak:
15512           move upload.mak to common
15513
15514 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15515
15516         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
15517           add more asserts on refcounts
15518           do more cleanup at end of tests
15519           fix test leaks showing in FC5
15520
15521 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
15522
15523         * plugins/elements/gsttypefindelement.c:
15524         (gst_type_find_element_handle_event):
15525         reverted wrong change and reflowed code to avoid others falling into
15526         this trap
15527
15528 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15529
15530         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15531           fix changelog entry about last collectpads change,
15532           add notes about proper fix
15533
15534 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15535
15536         * gst/gst.c:
15537         * gst/gstregistry.c: (gst_registry_scan_path_level),
15538         (gst_registry_scan_path):
15539         * gst/gstregistry.h:
15540           only write out registry if it has changed, fixes #338339
15541
15542 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15543
15544         * gst/gstbin.c:
15545         * gst/gstpipeline.c:
15546         * plugins/elements/gstcapsfilter.c:
15547         * plugins/elements/gstfakesink.c:
15548         * plugins/elements/gstfakesrc.c:
15549         * plugins/elements/gstfdsink.c:
15550         * plugins/elements/gstfdsrc.c:
15551         * plugins/elements/gstfilesink.c:
15552         * plugins/elements/gstfilesrc.c:
15553         * plugins/elements/gstidentity.c:
15554         * plugins/elements/gstqueue.c:
15555         * plugins/elements/gsttee.c:
15556         * plugins/elements/gsttypefindelement.c:
15557         (gst_type_find_element_handle_event):
15558           make GstElementDetails const
15559
15560 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15561
15562         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
15563         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
15564         (gst_collect_pads_is_collected), (gst_collect_pads_event):
15565           more detailed debug and formatting cleanup,
15566           forward newsegments to src-pad (so that e.g. adder not eats them)
15567
15568 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15569
15570         * gst/gstutils.c: (gst_element_link_pads):
15571           cleanup double code
15572
15573 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15574
15575         * libs/gst/controller/gstcontroller.c:
15576         (gst_controller_sync_values):
15577           some little tuning
15578         * tests/check/libs/controller.c: (GST_START_TEST),
15579         (gst_controller_suite):
15580           a new test for live value handling
15581
15582 2006-04-28  Wim Taymans  <wim@fluendo.com>
15583
15584         * gst/gstutils.c: (push_and_ref):
15585         Added some more docs.
15586         Fix refcount issue whith gst_element_found_tags() helper 
15587         function. Fixes #338335
15588
15589         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
15590         Added testsuite for gst_element_found_tags().
15591
15592 2006-04-28  Michael Smith  <msmith@fluendo.com>
15593
15594         * gst/gstvalue.c: (gst_value_serialize_flags):
15595           Avoid NULL dereference when trying to serialize flags containing
15596           invalid values.
15597
15598 2006-04-28  Michael Smith  <msmith@fluendo.com>
15599
15600         * plugins/elements/gsttypefindelement.c:
15601         (gst_type_find_element_handle_event):
15602           If we get EOS before any data is accumulated, don't use
15603           uninitialised local variables.
15604
15605 2006-04-28  Michael Smith  <msmith@fluendo.com>
15606
15607         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15608         (gst_dp_event_from_packet):
15609           Fixes in reading/writing events over GDP (not currently used?) - 
15610           dereferencing NULL events for unknown/invalid event types, memory
15611           leak, and change g_warning to GST_WARNING.
15612
15613 2006-04-28  Wim Taymans  <wim@fluendo.com>
15614
15615         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
15616         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
15617         (gst_base_sink_get_position), (gst_base_sink_change_state):
15618         When frame dropping is enabled, we should not ignore frames
15619         without a duration.
15620         Update some documentation.
15621
15622 2006-04-28  Wim Taymans  <wim@fluendo.com>
15623
15624         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15625         (gst_base_src_send_event), (gst_base_src_change_state):
15626         Documentation updates.
15627
15628 2006-04-28  Wim Taymans  <wim@fluendo.com>
15629
15630         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
15631         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
15632         handle EAGAIN, EINTR and short writes correctly. Also clean
15633         up some error cases, avoid a deadlock on bad file descriptors and
15634         use GST_DEBUG_OBJECT.
15635         Fixes #339843
15636
15637 2006-04-28  Wim Taymans  <wim@fluendo.com>
15638
15639         * gst/gstvalue.c: (gst_value_serialize_buffer),
15640         (gst_value_deserialize_buffer):
15641         Don't try to serialize a GValue with a NULL buffer. 
15642         Fixes #339821.
15643
15644         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15645         Added check for serialisation of NULL buffers.
15646
15647 2006-04-28  Wim Taymans  <wim@fluendo.com>
15648
15649         * gst/gstminiobject.c: (gst_value_take_mini_object):
15650         Taking a NULL miniobject is valid, fix the case where
15651         we try to unref the NULL miniobject.
15652
15653 2006-04-28  Wim Taymans  <wim@fluendo.com>
15654
15655         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
15656
15657         * gst/gstbin.c: (gst_bin_handle_message_func):
15658         Update docs.
15659         Don't leak bin refcount when a state recalc is
15660         in progress and we delay another one #339808.
15661
15662 2006-04-28  Wim Taymans  <wim@fluendo.com>
15663
15664         * docs/design/part-TODO.txt:
15665         Mention QoS as an ongoing work item.
15666
15667         * docs/design/part-buffering.txt:
15668         New doc about buffering that needs to be fleshed out
15669         at some point.
15670
15671         * docs/design/part-qos.txt:
15672         More QoS policy for decoders/demuxers/transforms
15673
15674         * docs/design/part-trickmodes.txt:
15675         Small update.
15676
15677 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
15678
15679         * configure.ac:
15680           back to HEAD
15681
15682 === release 0.10.5 ===
15683
15684 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
15685
15686         * configure.ac:
15687           releasing 0.10.5, "Fogo"
15688
15689 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15690
15691         patch by: Wim Taymans
15692
15693         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15694         (gst_pad_configure_src), (gst_pad_push):
15695         * gst/gstpipeline.c: (gst_pipeline_init):
15696           Fix internal data flow errors.  Fixes #338711.
15697
15698 2006-04-12  Wim Taymans  <wim@fluendo.com>
15699
15700         * tests/check/gst/gstelement.c: (GST_START_TEST):
15701         Don't leak the factory.
15702
15703 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15704
15705         * configure.ac:
15706         * win32/common/config.h:
15707           prerelease
15708
15709 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
15710
15711         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15712         (gst_controller_unset_all):
15713           Free allocated GstTimedValues when freeing list nodes.
15714           Should fix leaks 'make check-valgrind' complains about.
15715
15716         * win32/common/libgstcontroller.def:
15717           Add gst_controller_unset_all.
15718
15719 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
15720
15721         * docs/libs/gstreamer-libs-sections.txt:
15722         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15723         (gst_controller_unset_all):
15724         * libs/gst/controller/gstcontroller.h:
15725         API: Added new method gst_controller_unset_all()
15726         fixed gst_controller_unset()
15727         * tests/check/libs/controller.c: (GST_START_TEST),
15728         (gst_controller_suite):
15729         Added two testcases for new and fixed method
15730
15731 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
15732
15733         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
15734           MSG_DONTWAIT is not defined on Cygwin, so work
15735           around that (fixes #317048).
15736           
15737 2006-04-11  Wim Taymans  <wim@fluendo.com>
15738
15739         * gst/gstelementfactory.c: (gst_element_register),
15740         (gst_element_factory_create), (gst_element_factory_make):
15741         Some cleanups.
15742         Fixed a FIXME.
15743         Updated docs (Fixes #131079)
15744
15745         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
15746         Small cleanups.
15747
15748         * tests/check/gst/gstelement.c: (GST_START_TEST),
15749         (gst_element_suite):
15750         Added testcase for elementfactory class field.
15751
15752 2006-04-10  Wim Taymans  <wim@fluendo.com>
15753
15754         * gst/gstsegment.c:
15755         Added some more docs.
15756
15757         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
15758         (gst_base_sink_reset_qos):
15759         Calculate more accurate rate values.
15760
15761 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
15762
15763         * gst/gst_private.h:
15764           add a new #ifdef to use __declspec(dllimport) only for
15765           other modules and not for gstreamer core
15766         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
15767           use gst_guint64_to_gdouble for conversion
15768         * win32/common/libgstreamer.def:
15769           add new exported functions
15770         * win32/vs6/gst_inspect.dsp:
15771         * win32/vs6/gst_launch.dsp:
15772         * win32/vs6/libgstbase.dsp:
15773         * win32/vs6/libgstcontroller.dsp:
15774         * win32/vs6/libgstcoreelements.dsp:
15775         * win32/vs6/libgstdataprotocol.dsp:
15776         * win32/vs6/libgstnet.dsp:
15777           update project files
15778
15779 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
15780
15781         * gst/gstbuffer.c: (gst_subbuffer_class_init):
15782         * gst/gstclock.c: (gst_clock_class_init):
15783         * gst/gstelement.c: (gst_element_class_init):
15784         * gst/gstindex.c: (gst_index_class_init):
15785         * gst/gstindexfactory.c: (gst_index_factory_class_init):
15786         * gst/gstobject.c: (gst_object_class_init),
15787         (gst_signal_object_class_init):
15788         * gst/gstpad.c: (gst_pad_class_init):
15789         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
15790         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
15791         * gst/gstregistry.c: (gst_registry_class_init):
15792         * gst/gstsystemclock.c: (gst_system_clock_class_init):
15793         * gst/gsttask.c: (gst_task_class_init):
15794         * gst/gstxml.c: (gst_xml_class_init):
15795         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
15796         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
15797         (gst_base_src_loop):
15798         * libs/gst/controller/gstcontroller.c:/
15799         (_gst_controller_class_init):
15800         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
15801         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
15802         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
15803         * tests/old/examples/plugins/example.c: (gst_example_class_init):
15804         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
15805         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
15806
15807 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
15808
15809         * gst/gstpad.c: (gst_pad_link):
15810           Must set peer pads before calling the link function, otherwise
15811           a task started from a link function might get a flow-not-linked
15812           result when trying to push because the other thread where the
15813           linking happens hasn't had a chance to set the peers yet. This
15814           might happen for example when a queue gets linked to a downstream
15815           element, as queue starts a streaming task when its source pad
15816           gets linked. Happens in real life when playing back flac/musepack
15817           files in playbin (#332390).
15818           
15819 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
15820
15821         * gst/gstindex.h:
15822         * gst/gstxml.h:
15823         * libs/gst/base/gstadapter.h:
15824         * libs/gst/base/gstbasesink.h:
15825         * libs/gst/base/gstbasesrc.h:
15826         * libs/gst/base/gstbasetransform.h:
15827         * libs/gst/base/gstcollectpads.h:
15828         * libs/gst/base/gstpushsrc.h:
15829         Fix broken GObject macros
15830
15831 2006-04-07  Wim Taymans  <wim@fluendo.com>
15832
15833         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15834         Initialize start and stop times, thanks valgrind.
15835
15836 2006-04-07  Wim Taymans  <wim@fluendo.com>
15837
15838         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15839         Be a bit nicer to badly behaving upstream elements that expect
15840         us to deal with non TIME segments and timestamps (such as fakesrc
15841         in the testsuite).
15842
15843 2006-04-07  Wim Taymans  <wim@fluendo.com>
15844
15845         * gst/gstbus.c:
15846         Small documentation clarification about the signal watch.
15847
15848         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
15849         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
15850         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
15851         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
15852         (gst_base_sink_get_position_last),
15853         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
15854         Convert and store timestamps in stream time and running time, the
15855         raw timestamps are not useful, also document this better.
15856         Use different window sizes for good and bad QoS observations so
15857         we react to badness a little quicker.
15858         Keep track of the amount of rendered and dropped buffers.
15859         Send QoS timestamps in running time.
15860
15861         * libs/gst/base/gstbasetransform.c:
15862         (gst_base_transform_sink_eventfunc),
15863         (gst_base_transform_handle_buffer):
15864         Compare QoS timestamps against running time.
15865
15866 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
15867
15868         * gst/gstpad.c:
15869           Typo fixes in docs.
15870
15871 2006-04-06  Michael Smith  <msmith@fluendo.com>
15872
15873         * gst/gstpad.c: (gst_pad_set_property):
15874           Use g_value_get_object() instead of g_value_dup_gst_object(),
15875           to avoid double-reffing the pad template (which we then sink,
15876           so this worked previously if (and only if) the pad template
15877           was floating.
15878
15879         * gst/gstpadtemplate.c: (gst_pad_template_init),
15880         (gst_pad_template_pad_created):
15881           Never return floating references to pad templates, create
15882           them as initially-sunken.
15883
15884           Document an extra function (and make this stop sinking our
15885           pad template, since that is now guaranteed to do nothing,
15886           since we created it sunken).
15887
15888         * gst/gstghostpad.c:
15889           Fix docs typo.
15890
15891 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
15892
15893         * gst/gstinfo.c: (__gst_in_valgrind):
15894           Add some newlines.
15895
15896         * plugins/elements/gsttypefindelement.c:
15897         (gst_type_find_element_chain):
15898           Don't leak buffer caps.
15899
15900 2006-04-06  Michael Smith  <msmith@fluendo.com>
15901
15902         * gst/parse/grammar.y:
15903           Fix a leak in parse-launch for any source-or-sink named element 
15904           references used.
15905
15906         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
15907           Unref the pipeline if it exists after we've failed parsing.
15908
15909 2006-04-05  Michael Smith  <msmith@fluendo.com>
15910
15911         * gst/gstpipeline.c: (gst_pipeline_init):
15912           When we create a pipeline bus, initially create it in flushing mode.
15913           Fixes leaks in at least one test, and makes a new pipeline work the
15914           same as one that has gone to READY and then back to NULL.
15915
15916         * gst/gstelement.c:
15917           Typo fix in docs.
15918
15919 2006-04-05  Michael Smith  <msmith@fluendo.com>
15920
15921         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
15922           Unref a pad we reffed.
15923         * tests/check/gst/gstutils.c: (GST_START_TEST):
15924           Unref bins
15925
15926 2006-04-05  Michael Smith  <msmith@fluendo.com>
15927
15928         * gst/gstquery.c: (gst_query_set_formats),
15929         (gst_query_set_formatsv):
15930           Fix leaking GValues in queries, as shown by valgrind/testsuite.
15931
15932 2006-04-05  Michael Smith  <msmith@fluendo.com>
15933
15934         * tests/check/generic/sinks.c: (GST_START_TEST):
15935           Fix a variety of memleaks in sinks check, which are only sometimes 
15936           shown by running the tests under valgrind (weird?).
15937
15938 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
15939
15940         * docs/version.entities.in:
15941           Fix the substituted entity name after thomas' changes on the
15942           weekend.
15943
15944 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
15945
15946         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
15947         VALGRIND_PRINTF
15948         
15949 2006-04-05  Andy Wingo  <wingo@pobox.com>
15950
15951         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
15952
15953         * libs/gst/base/gstbasetransform.c
15954         (gst_base_transform_sink_eventfunc): When resetting our segment on
15955         FLUSH_STOP, also update the flag saying we haven't seen a
15956         newsegment.
15957
15958 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
15959
15960         Patch by: Paolo Borelli  <pborelli at katamail dot com>
15961
15962         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
15963         (gst_plugin_check_license):
15964           minor clean-ups: G_DEFINE_TYPE already takes care of the
15965           parent_class stuff, no need to do it twice. Mark array of
15966           license strings as constant. (#337103)
15967           
15968 2006-04-04  Michael Smith  <msmith@fluendo.com>
15969
15970         * tools/gst-inspect.c: (print_element_list):
15971           Free the right plugin list; fixes a memory leak.
15972
15973 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
15974
15975         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
15976
15977         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
15978           Don't error out on empty buffers (#336945).
15979           
15980 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
15981
15982         * docs/libs/gstreamer-libs-sections.txt:
15983         * gst/gsttaglist.c:
15984         * libs/gst/base/gstbasesink.c:
15985         * libs/gst/base/gstbasesink.h:
15986         * libs/gst/base/gstbasesrc.c:
15987         * libs/gst/base/gstbasesrc.h:
15988           Documentation updates. Make BaseSink and BaseSrc docs contain the
15989           class structure so that people can actually see the prototypes for
15990           virtual functions they're supposed to be overriding.
15991
15992 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
15993
15994         * plugins/elements/gsttypefindelement.c:
15995         (gst_type_find_element_chain):
15996           More debug info; when skipping typefinding, send cached
15997           events in all cases.
15998
15999 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
16000
16001         * configure.ac:
16002           use new AS_VERSION and AS_NANO macros
16003         * gst/gst-i18n-lib.h:
16004         * gst/gst.c:
16005         * gst/gsterror.c:
16006         * gst/gstversion.h.in:
16007         * win32/common/config.h:
16008         * win32/common/config.h.in:
16009           update accordingly
16010
16011 2006-03-31  Michael Smith  <msmith@fluendo.com>
16012
16013         * plugins/elements/gsttypefindelement.c:
16014         (gst_type_find_element_chain):
16015           Do not typefind content if the buffers already have caps.
16016           Neccesary for icydemux (#333657), and the right thing to do anyway.
16017
16018 2006-03-30  Wim Taymans  <wim@fluendo.com>
16019
16020         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16021         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
16022         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
16023         (gst_base_sink_record_qos_observation),
16024         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16025         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
16026         (gst_base_sink_change_state):
16027         More QoS measurements as described in the design doc.
16028         Get rid of ringbuffer with observations, running average is
16029         more simple and equally good.
16030         Calculates valid proportion now.
16031         Added beginning of flood measurement.
16032
16033 2006-03-29  Wim Taymans  <wim@fluendo.com>
16034
16035         * docs/design/part-qos.txt:
16036         * gst/gstclock.c:
16037         Small documentation updates and additions.
16038
16039 2006-03-29  Wim Taymans  <wim@fluendo.com>
16040
16041         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
16042         (gst_base_src_send_event), (gst_base_src_loop),
16043         (gst_base_src_change_state):
16044         Perform the EOS logic when we reach the segment stop position.
16045         Fix compilation on gcc4.1
16046
16047 2006-03-29  Wim Taymans  <wim@fluendo.com>
16048
16049         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
16050
16051         * plugins/elements/gstqueue.c: (gst_queue_init),
16052         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
16053         (gst_queue_set_property):
16054         * plugins/elements/gstqueue.h:
16055         In queue, when EOS is received, if minimum threshold > max_size -
16056         current_level, there is chance that queue blocks forever in conditional
16057         item del wait. This is because the queue is not emptied completely due
16058         to minimum threshold.  Here is another approach. Instead of setting
16059         cur_levels to max in EOS, just zero all minimum threshold levels. This
16060         should make sure that queue gives out all data. When going to READY
16061         (stop) state, just reset the original minimum threshold levels.
16062         Fixes #336336.
16063
16064 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
16065
16066         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
16067         (gst_type_find_element_handle_event),
16068         (gst_type_find_element_send_cached_events),
16069         (gst_type_find_element_change_state):
16070         * plugins/elements/gsttypefindelement.h:
16071           When typefinding is done in push mode, we should cache
16072           events we receive during typefinding instead of just
16073           dropping them (e.g. newsegment, custom events from
16074           dvdreadsrc etc.) and then send them out once we've
16075           determined the type of the stream (and decodebin
16076           has had a chance to plug in a decoder/demuxer).
16077           
16078 2006-03-27  Wim Taymans  <wim@fluendo.com>
16079
16080         * docs/design/part-qos.txt:
16081         First QoS ideas.
16082
16083 2006-03-27  Wim Taymans  <wim@fluendo.com>
16084
16085         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
16086
16087         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
16088         (gst_base_src_send_event), (gst_base_src_change_state):
16089         Handle element seek correctly when we are streaming.
16090         Fixes #326998.
16091
16092 2006-03-24  Michael Smith  <msmith@fluendo.com>
16093
16094         * docs/faq/gst-uninstalled:
16095           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
16096           allow you to correctly run intalled applications built against old 
16097           core, using plugins that require updated core (e.g. running
16098           installed totem against a full uninstalled gstreamer stack)
16099
16100 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
16101
16102         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
16103         more debug details
16104
16105 2006-03-24  Wim Taymans  <wim@fluendo.com>
16106
16107         * docs/gst/gstreamer-sections.txt:
16108         Rearrange the order of the methods so that related methods
16109         are grouped together in sections.
16110
16111 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
16112
16113         * gst/gstelement.c:
16114           Little clarification in the docs
16115
16116 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
16117
16118         * docs/README:
16119         formatting fix
16120         * plugins/elements/gstidentity.c:
16121         * plugins/elements/gstqueue.c:
16122         * plugins/elements/gsttee.c:
16123         * plugins/elements/gsttypefindelement.c:
16124         GST_ELEMENT_DETAILS formatting
16125
16126 2006-03-24  Wim Taymans  <wim@fluendo.com>
16127
16128         * libs/gst/base/gstbasesink.h:
16129         Only add fields, not insert or we break ABI.
16130
16131 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
16132
16133         * win32/common/libgstbase.def:
16134         * win32/common/libgstreamer.def:
16135           Update, add recently added functions.
16136
16137 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
16138
16139         * docs/gst/gstreamer-sections.txt:
16140         * gst/gstutils.c: (gst_pad_query_peer_position),
16141         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
16142         * gst/gstutils.h:
16143           API: add some new utility functions:
16144            - gst_pad_query_peer_position()
16145            - gst_pad_query_peer_duration()
16146            - gst_pad_query_peer_convert()
16147           
16148 2006-03-23  Wim Taymans  <wim@fluendo.com>
16149
16150         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16151         (gst_base_sink_init), (gst_base_sink_finalize),
16152         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
16153         (gst_base_sink_set_property), (gst_base_sink_get_property),
16154         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
16155         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
16156         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
16157         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16158         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
16159         (gst_base_sink_preroll_object), (gst_base_sink_event),
16160         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
16161         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
16162         (gst_base_sink_query), (gst_base_sink_change_state):
16163         Decouple max-lateness and the fact that QoS messages are generated
16164         with a new property (qos).
16165         added API: GstBaseSink::async_play()
16166         Add vmethod so subclasses can be notified of ASYNC playing
16167         state changes.
16168         Collect timestamp start and stop to report better current
16169         position in EOS/PLAYING/PAUSED/READY/NULL.
16170         Refactor QoS/frame dropping and other measurements.
16171         API: GstBaseSrc::qos
16172         Fixes #326311
16173
16174         * libs/gst/base/gstbasesink.h:
16175         Added Private struct.
16176         API: gst_base_sink_set_qos_enabled()
16177         API: gst_base_sink_is_qos_enabled()
16178
16179 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
16180
16181         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
16182           If compiling against GLib-2.8 or newer, try to read the
16183           registry file using GMappedFile first before falling back
16184           to fopen() + fread() (#332151).
16185
16186 2006-03-22  Wim Taymans  <wim@fluendo.com>
16187
16188         * gst/gstinfo.c: (gst_debug_set_active),
16189         (gst_debug_category_set_threshold):
16190         Disable debugging unless explicitly activated.
16191         Fixes #335480.
16192
16193 2006-03-22  Wim Taymans  <wim@fluendo.com>
16194
16195         * gst/gstelement.c: (gst_element_set_locked_state),
16196         (gst_element_dispose):
16197         Cleanup the error case.
16198
16199         * gst/gstobject.c: (gst_object_dispose):
16200         print a critical when some object was disposed with
16201         a parent, also revive the object since it might
16202         crash the parent.
16203
16204 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
16205
16206         * tools/gst-launch.1.in:
16207           Fix another typo.
16208
16209 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
16210
16211         * configure.ac:
16212         * tests/check/Makefile.am:
16213           disable some tests when we don't have a registry
16214         * tests/check/gst/gstutils.c: (gst_utils_suite):
16215           don't build the part that needs parsing
16216
16217 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
16218
16219         * gst/Makefile.am
16220         * tests/examples/Makefile.am:
16221           fix --disable-parse build
16222
16223 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16224
16225         * tools/gst-feedback.1.in:
16226           Fix typo: s/feeback/feedback/ (#133494).
16227
16228 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16229
16230         * tools/Makefile.am:
16231         * tools/gst-launch.1.in:
16232           Add FILES section and correct entry about GST_REGISTRY_PATH
16233           environment variable (#133495; #133494).
16234
16235 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16236
16237         * tools/Makefile.am:
16238         * tools/gst-md5sum.1.in:
16239         * tools/gst-md5sum.c:
16240           Remove gst-md5sum and man page (the md5sink element
16241           required was removed ages ago)
16242
16243 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16244
16245         * gst/gststructure.c: (gst_structure_id_set_value):
16246           Make sure that string fields in structures/taglists
16247           contain valid UTF-8 - we don't want to pass rubbish to
16248           applications because of a buggy plugin (cp. #334167).
16249
16250 2006-03-21  Edward Hervey  <edward@fluendo.com>
16251
16252         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
16253         (gst_bin_handle_message_func):
16254         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
16255         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
16256         (gst_element_set_bus_func):
16257         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
16258         * gst/gstminiobject.c: (gst_value_set_mini_object),
16259         (gst_value_take_mini_object):
16260         * gst/gstpad.c: (gst_pad_set_pad_template):
16261         * gst/gstpipeline.c: (gst_pipeline_dispose),
16262         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
16263         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
16264         (gst_collect_pads_chain):
16265         * libs/gst/net/gstnettimeprovider.c:
16266         (gst_net_time_provider_set_property):
16267         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
16268         It's in fact all issues with gst_*object_replace().
16269
16270 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16271
16272         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
16273         
16274         * pkgconfig/gstreamer-check-uninstalled.pc.in:
16275         * pkgconfig/gstreamer-check.pc.in:
16276           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
16277
16278 2006-03-21  Edward Hervey  <edward@fluendo.com>
16279
16280         * gst/gstbuffer.h:
16281         * gst/gstevent.h:
16282         * gst/gstmessage.h:
16283         gst_[buffer|event|message]_ref() macros are replaced by a static
16284         inline functions because gcc-4.1 will about if the return value
16285         isn't used.
16286         * tests/check/gst/gstevent.c: (event_probe):
16287         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
16288
16289 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
16290
16291         * gst/gstutils.h:
16292         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
16293         the type' case. (Closes: #335195 for now). In the future, when we
16294         depend on GLib 2.10, we could also intern the type name using
16295         g_intern_static_string()
16296
16297 2006-03-20  Wim Taymans  <wim@fluendo.com>
16298
16299         * gst/gstbin.c: (gst_bin_handle_message_func),
16300         (bin_query_max_init), (bin_query_position_fold),
16301         (bin_query_position_done), (gst_bin_query):
16302         Position query should also take max of all streams.
16303
16304 2006-03-20  Wim Taymans  <wim@fluendo.com>
16305
16306         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
16307         (gst_fake_src_finalize):
16308         Fix leaks in fakesrc.
16309
16310         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
16311         Fix leaks in the testcase.
16312
16313 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
16314
16315         * gst/gst_private.h:
16316           add win32 specific import decoration(__declspec(dllimport)) 
16317           for all extern GstDebugCategory * variables
16318         * win32/common/libgstbase.def:
16319         * win32/common/libgstcontroller.def:
16320         * win32/common/libgstreamer.def:
16321           Add some exports, remove empty lines
16322         * win32/common/libgstdataprotocol.def:
16323         * win32/common/libgstdataprotocol.dsp:
16324         * win32/common/libgstnet.def:
16325         * win32/common/libgstnet.dsp:
16326           new project files and exportation files added
16327         
16328 2006-03-19  Wim Taymans  <wim@fluendo.com>
16329
16330         * tests/check/libs/basesrc.c: (eos_event_counter):
16331         Use proper return value for probe.
16332
16333 2006-03-17  Wim Taymans  <wim@fluendo.com>
16334
16335         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16336         (gst_pad_push):
16337         Don't leak buffers, caps and pads on negotiation errors.
16338
16339 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
16340
16341         * docs/faq/cvs.xml:
16342         * docs/faq/dependencies.xml:
16343         * docs/faq/developing.xml:
16344         * docs/faq/faq.xml:
16345         * docs/faq/general.xml:
16346         * docs/faq/getting.xml:
16347         * docs/faq/legal.xml:
16348         * docs/faq/troubleshooting.xml:
16349         * docs/faq/using.xml:
16350         Faq review and update.
16351
16352 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
16353
16354         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16355         (gst_pad_push):
16356         Don't pound the cpu to pieces by checking get_caps when accept_caps
16357         is called with the same caps as the pad already has.
16358         Use GST_DEBUG_OBJECT when outputting caps change information.
16359
16360 2006-03-15  Wim Taymans  <wim@fluendo.com>
16361
16362         * gst/gstclock.c: (gst_clock_class_init):
16363         Fix docs.
16364
16365 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
16366
16367         * gst/gstbuffer.h:
16368         Documentation fix.
16369
16370         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
16371         (gst_pad_accept_caps), (gst_pad_configure_sink),
16372         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
16373         Make the default acceptcaps behaviour be to check the requested 
16374         caps against the gst_pad_get_caps output. 
16375
16376         Ensure that gst_pad_accept_caps is used to check caps when a pad
16377         doesn't have a setcaps function, so that pads automatically refuse 
16378         caps that they don't allow in their pad template. (Fixes #332986)
16379
16380         When a buffer with attached caps is pushed, ensure that the source 
16381         pad receives those caps even if the element didn't call
16382         gst_pad_set_caps first.
16383
16384 2006-03-15  Wim Taymans  <wim@fluendo.com>
16385
16386         * libs/gst/base/gstadapter.c:
16387         Add some docs.
16388
16389 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
16390
16391         * win32/common/libgstbase.def:
16392         * win32/common/libgstcontroller.def:
16393         * win32/common/libgstreamer.def:
16394           Add a whole bunch of missing functions (#334434).
16395
16396 2006-03-14  Wim Taymans  <wim@fluendo.com>
16397
16398         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
16399         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
16400         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
16401         Better debug info when we receive a segment event.
16402         Reorganize a bit so we can pass the get_times() results around.
16403         Use the segment format when calculating the running time.
16404         Don't do QoS is sync is disabled or we have no clock or the
16405         element does not want us to sync to the clock.
16406         Don't drop buffers if QoS is disabled for now.
16407
16408 2006-03-14  Wim Taymans  <wim@fluendo.com>
16409
16410         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
16411         Marked the stats property as unimplemented so people don't get
16412         wild ideas.
16413         Add debug message when regression goes wrong.
16414         Added some more docs.
16415
16416 2006-03-14  Wim Taymans  <wim@fluendo.com>
16417
16418         * gst/gstsegment.c: (gst_segment_to_stream_time):
16419         Return correct return type in case of errors.
16420
16421 2006-03-14  Wim Taymans  <wim@fluendo.com>
16422
16423         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
16424           Don't segfault on invalid formats.
16425
16426 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
16427
16428         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
16429           Can't use gst_segment_to_running_time() when the segment
16430           is not in GST_TIME_FORMAT (like with filesink, for example).
16431           Stops flac encoding pipelines from spewing critical warnings
16432           at EOS (#331248).
16433           
16434 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
16435
16436         * gst/gstpipeline.c: (gst_pipeline_class_init):
16437           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
16438
16439         * plugins/elements/gsttypefindelement.c:
16440         (gst_type_find_element_handle_event):
16441           Don't try to typefind empty streams.
16442
16443 2006-03-14  Wim Taymans  <wim@fluendo.com>
16444
16445         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
16446         (gst_base_sink_do_qos):
16447         Separate QoS calculation.
16448         Only drop buffers when lateness is bigger than the 
16449         duration of the buffer.
16450
16451 2006-03-13  Wim Taymans  <wim@fluendo.com>
16452
16453         * gst/gstpipeline.c: (gst_pipeline_set_property),
16454         (gst_pipeline_get_property), (do_pipeline_seek),
16455         (gst_pipeline_change_state), (gst_pipeline_set_delay),
16456         (gst_pipeline_get_delay):
16457         Don't deadlock when reading properties.
16458
16459 2006-03-13  Wim Taymans  <wim@fluendo.com>
16460
16461         * libs/gst/base/gstbasetransform.c:
16462         (gst_base_transform_class_init), (gst_base_transform_init),
16463         (gst_base_transform_sink_event),
16464         (gst_base_transform_sink_eventfunc),
16465         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
16466         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
16467         (gst_base_transform_set_property),
16468         (gst_base_transform_get_property),
16469         (gst_base_transform_change_state), (gst_base_transform_update_qos),
16470         (gst_base_transform_set_qos_enabled),
16471         (gst_base_transform_is_qos_enabled):
16472         * libs/gst/base/gstbasetransform.h:
16473         Make basetransform virtual method for src events too.
16474         Handle QOS in basetransform.
16475         API: gst_base_transform_update_qos()
16476         API: gst_base_transform_set_qos_enabled()
16477         API: gst_base_transform_is_qos_enabled()
16478
16479 2006-03-13  Wim Taymans  <wim@fluendo.com>
16480
16481         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16482         (gst_base_sink_do_sync):
16483         Small cleanups.
16484         Use QOS debug category.
16485
16486 2006-03-13  Wim Taymans  <wim@fluendo.com>
16487
16488         * plugins/elements/gstqueue.c:
16489         Very small doc update.
16490
16491 2006-03-13  Wim Taymans  <wim@fluendo.com>
16492
16493         * gst/gst_private.h:
16494         * gst/gstinfo.c: (_gst_debug_init):
16495         Added QOS debug category
16496
16497 2006-03-13  Wim Taymans  <wim@fluendo.com>
16498
16499         * docs/gst/gstreamer-sections.txt:
16500         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
16501         * gst/gstbin.h:
16502         * gst/gstbus.c: (gst_bus_class_init):
16503         * gst/gstbus.h:
16504         * gst/gstclock.c:
16505         * gst/gstelement.c: (gst_element_set_locked_state):
16506         * gst/gstsegment.c:
16507         Documentation updates.
16508
16509         * gst/gstpipeline.c: (gst_pipeline_get_type),
16510         (gst_pipeline_class_init), (gst_pipeline_init),
16511         (gst_pipeline_dispose), (gst_pipeline_set_property),
16512         (gst_pipeline_get_property), (do_pipeline_seek),
16513         (gst_pipeline_send_event), (gst_pipeline_change_state),
16514         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
16515         (gst_pipeline_get_delay):
16516         * gst/gstpipeline.h:
16517         Added methods for setting the delay.
16518         API: gst_pipeline_set_delay()
16519         API: gst_pipeline_get_delay()
16520         Add pipeline debug category
16521         Various cleanups.
16522         Updated docs.
16523         Don't reset stream time when seek failed.
16524
16525 2006-03-13  Wim Taymans  <wim@fluendo.com>
16526
16527         * docs/design/draft-klass.txt:
16528         * docs/design/part-clocks.txt:
16529         * docs/design/part-events.txt:
16530         * docs/design/part-gstbin.txt:
16531         * docs/design/part-gstpipeline.txt:
16532         * docs/design/part-messages.txt:
16533         * docs/design/part-negotiation.txt:
16534         * docs/design/part-overview.txt:
16535         * docs/design/part-preroll.txt:
16536         * docs/design/part-seeking.txt:
16537         * docs/design/part-states.txt:
16538         * docs/design/part-streams.txt:
16539         Documentation updates.
16540
16541 2006-03-12  Julien MOUTTE  <julien@moutte.net>
16542
16543         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
16544         us to leak strings...
16545
16546 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16547
16548         * libs/gst/net/gstnettimeprovider.c:
16549           fix docs
16550         * win32/common/config.h:
16551           update
16552
16553 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
16554
16555         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
16556
16557         * configure.ac:
16558           Don't check for libgnomeui (leftover from old examples
16559           that aren't built or disted any longer) (#334303).
16560           
16561 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
16562
16563         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
16564         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
16565           Emit RESOURCE_NO_SPACE_LEFT error here as well when
16566           there's no space left on the device.
16567
16568 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
16569
16570         * gst/gstclock.h:
16571           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
16572           to cast the input to GstClockTime before comparing with
16573           another GstClockTime value.
16574
16575 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16576
16577         * configure.ac:
16578           back to trunk
16579
16580 === release 0.10.4 ===
16581
16582 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
16583
16584         * configure.ac:
16585           releasing 0.10.4, "Light"
16586
16587 2006-03-10  Michael Smith  <msmith@fluendo.com>
16588
16589         * libs/gst/dataprotocol/dataprotocol.c:
16590           Fix docs for dataprocotol to not get the return types completely
16591           wrong for a few functions.
16592
16593 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16594
16595         * docs/gst/gstreamer-sections.txt:
16596         * gst/gstpipeline.c: (gst_pipeline_class_init),
16597         (gst_pipeline_init), (gst_pipeline_set_property),
16598         (gst_pipeline_get_property), (gst_pipeline_change_state),
16599         (gst_pipeline_set_auto_flush_bus),
16600         (gst_pipeline_get_auto_flush_bus):
16601         * gst/gstpipeline.h:
16602           Add new API: gst_pipeline_set_auto_flush_bus() and
16603           gst_pipeline_get_auto_flush_bus() to disable automatic
16604           flushing of the pipeline's GstBus when going from READY
16605           to NULL state (#332045).
16606
16607 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16608
16609         * docs/gst/gstreamer-sections.txt:
16610         * gst/gsturi.c: (gst_uri_has_protocol):
16611         * gst/gsturi.h:
16612            Add new API: gst_uri_has_protocol() (#333779).
16613
16614 2006-03-09  Wim Taymans  <wim@fluendo.com>
16615
16616         * gst/gstclock.c: (gst_clock_entry_new),
16617         (gst_clock_id_compare_func), (gst_clock_id_wait),
16618         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
16619         (gst_clock_init), (gst_clock_get_internal_time),
16620         (gst_clock_set_master), (do_linear_regression),
16621         (gst_clock_add_observation), (gst_clock_set_property):
16622         * gst/gstclock.h:
16623         Review docs.
16624         Small cleanups.
16625         Fix a possible segfault when the window-size is made smaller.
16626         Calculate jitter before performing the clock wait. Ideally
16627         the clock implementation should calculate jitter but we need
16628         API breakage for that.
16629
16630         * gst/gstsystemclock.c: (gst_system_clock_init):
16631         Docs review.
16632         
16633         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16634         Remove leftover else
16635
16636         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
16637         (gst_systemclock_suite):
16638         Added check to test GST_CLOCK_DIFF.
16639
16640 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16641
16642         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
16643         (gst_type_find_helper_get_range):
16644           If we are provided with the size, we should implement
16645           GstTypeFind::get_length, so that typefind functions who
16646           want to can actually peek at the middle of a file.
16647
16648 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
16649
16650         * docs/manual/advanced-dataaccess.xml:
16651           Add some very very basic error checking.
16652
16653         * docs/pwg/appendix-checklist.xml:
16654           Some updates to the list of things to check when writing an element.
16655
16656 2006-03-08  Wim Taymans  <wim@fluendo.com>
16657
16658         * docs/design/part-element-transform.txt:
16659         Added some docs about the design of tranform elements.
16660
16661         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
16662         (gst_base_src_loop), (gst_base_src_change_state):
16663         Mark buffers with the DISCONT flag.
16664
16665 2006-03-08  Michael Smith  <msmith@fluendo.com>
16666
16667         * gst/gstregistry.h:
16668         * gst/gstregistryxml.c: (gst_registry_save),
16669         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
16670         (gst_registry_xml_save_pad_template),
16671         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
16672         (gst_registry_xml_write_cache):
16673           Rewrite registry-saving to avoid race conditions and check for
16674           failed writes.
16675
16676 2006-03-08  Wim Taymans  <wim@fluendo.com>
16677
16678         * libs/gst/base/gstbasetransform.c:
16679         (gst_base_transform_transform_caps),
16680         (gst_base_transform_transform_size),
16681         (gst_base_transform_prepare_output_buffer),
16682         (gst_base_transform_get_unit_size),
16683         (gst_base_transform_buffer_alloc),
16684         (gst_base_transform_handle_buffer),
16685         (gst_base_transform_change_state):
16686         Cleanups, separate normal flow from errors, add sensible
16687         DEBUG lines.
16688         Don't try to renegotiate when allocating an output buffer.
16689         Also copy DISCONT buffer flag when copying a buffer.
16690         Reset the transform after we finish streaming, not during.
16691
16692 2006-03-08  Wim Taymans  <wim@fluendo.com>
16693
16694         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16695         Use last buffer timestamp in qos message.
16696
16697 2006-03-07  Wim Taymans  <wim@fluendo.com>
16698
16699         Patch by: Christophe Fergeau
16700
16701         * docs/pwg/advanced-tagging.xml:
16702         * docs/pwg/building-pads.xml:
16703           fixes #333416
16704
16705 2006-03-07  Wim Taymans  <wim@fluendo.com>
16706
16707         * docs/libs/gstreamer-libs-sections.txt:
16708         Added basesink new methods.
16709
16710         * gst/gstevent.c:
16711         * gst/gstevent.h:
16712         Docs updates. Flesh out the QoS docs.
16713
16714         * libs/gst/base/gstadapter.c:
16715         Small doc clarification about ownership and flushing.
16716
16717         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
16718         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
16719         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
16720         (gst_base_sink_get_property), (gst_base_sink_do_sync):
16721         * libs/gst/base/gstbasesink.h:
16722         API additions: 
16723         Added new methods to allow subclass to control max-lateness 
16724         and sync.
16725         Generate very basic QoS events based on last sync observation.
16726         Updated docs, fix typo, added some QoS blurb.
16727
16728         * libs/gst/base/gstbasesrc.c:
16729         Remove obsolete _get_state() calls from docs.
16730
16731 2006-03-07  Wim Taymans  <wim@fluendo.com>
16732
16733         * docs/libs/gstreamer-libs-sections.txt:
16734         * libs/gst/base/gstbasetransform.h:
16735         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
16736         Fix docs for GstBaseSrc.
16737
16738 2006-03-07  Wim Taymans  <wim@fluendo.com>
16739
16740         * docs/gst/gstreamer-sections.txt:
16741         * gst/gstbuffer.h:
16742         * gst/gstvalue.c:
16743         * libs/gst/base/gstbasetransform.h:
16744         Small documentation fixes.
16745
16746 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
16747
16748         * gst/gstvalue.c:
16749           Document thread-unsafety of gst_value_register_foo_func()
16750           when used at the same time as gst_value_foo() (#322628).
16751
16752 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
16753
16754         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
16755         (gst_push_src_check_get_range):
16756           Push sources don't support pull mode by default.
16757
16758 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
16759
16760         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
16761         (gst_base_src_init), (gst_base_src_pad_check_get_range),
16762         (gst_base_src_default_check_get_range):
16763         * libs/gst/base/gstbasesrc.h:
16764           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
16765           provide default implementation, and rename
16766           gst_base_src_check_get_range() to
16767           gst_base_src_pad_check_get_range() for clarity.
16768
16769 2006-03-06  Wim Taymans  <wim@fluendo.com>
16770
16771         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
16772         Make property overridable.
16773
16774 2006-03-06  Wim Taymans  <wim@fluendo.com>
16775
16776         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16777         (gst_base_sink_init), (gst_base_sink_set_property),
16778         (gst_base_sink_get_property), (gst_base_sink_do_sync):
16779         * libs/gst/base/gstbasesink.h:
16780         API addition: Make max-lateness a property.
16781
16782 2006-03-06  Wim Taymans  <wim@fluendo.com>
16783
16784         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
16785         (gst_base_sink_do_sync), (gst_base_sink_render_object):
16786         Don't ever draw a frame that is >10ms late.
16787
16788 2006-03-06  Michael Smith  <msmith@fluendo.com>
16789
16790         * gst/gstmessage.c: (_gst_message_copy):
16791           When copying a message, set the parent_refcount of the enclosed
16792           structure to point at the copy, not the original message.
16793
16794 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
16795
16796         Patch by: Christophe Fergeau
16797
16798         * gst/gstutils.h:
16799           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
16800           usable in c++ code (#333417)
16801
16802 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16803
16804         * gst/gstclock.h:
16805           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
16806
16807 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
16808
16809         * libs/gst/base/gstbasetransform.c:
16810         (gst_base_transform_transform_caps):
16811           Make sure caps are writable before passing them to
16812           gst_caps_append().
16813
16814 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
16815
16816         * gst/gsterror.h:
16817           Fix some minor docs errors.
16818
16819 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
16820
16821           Patch by: Ross Burton <ross at burtonini dot com>
16822
16823         * gst/gsterror.c: (_gst_resource_errors_init):
16824         * gst/gsterror.h:
16825           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
16826
16827 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
16828
16829         * gst/gst.c:
16830         Add a check and output a g_warning when GStreamer is built
16831         against GLib 2.6 but running against 2.8 or higher, and vice 
16832         versa. (Closes: #323542)
16833
16834 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
16835
16836         * gst/parse/parse.l:
16837           Commit patch for parse_launch syntax from #331255. Removes 
16838           support for quoted strings and mimetypes when writing filtered 
16839           caps. See the bug report for more details - I'm pretty sure this
16840           obscure feature is not in use by _anyone_ anywhere.
16841
16842           With this simple change, the size of the gstreamer.so here 
16843           drops from 2193KB to 1565KB.
16844
16845 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
16846
16847         * plugins/elements/gsttypefindelement.h:
16848         * plugins/elements/gsttypefindelement.c:
16849         (gst_type_find_element_src_event), (start_typefinding),
16850         (stop_typefinding), (gst_type_find_element_handle_event),
16851         (gst_type_find_element_chain),
16852         (gst_type_find_element_chain_do_typefinding):
16853           Use gst_type_find_helper_for_buffer() for chain-based
16854           typefinding.
16855
16856 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
16857
16858         * plugins/elements/gsttypefindelement.c:
16859         (gst_type_find_element_class_init),
16860         (gst_type_find_element_set_property),
16861         (gst_type_find_element_get_property):
16862           Deprecate "maximum" property (not only was it only taken into
16863           account for typefinding in push-mode anyway, it also was never
16864           actually possible to set it in the first place because the
16865           property was registered with the numeric property ID for the
16866           "minimum" property). Register "maximum" property correctly,
16867           for the sake of future copy'n'pasters. Remove some cruft
16868           from property get/set functions.
16869
16870 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
16871
16872         * plugins/elements/gsttypefindelement.c:
16873         (gst_type_find_element_activate):
16874           Use gst_type_find_helper_get_range() here, so we
16875           can honour the "minimum" property and also emit
16876           the signal with the correct probability of the found caps.
16877
16878 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
16879
16880         * docs/libs/gstreamer-libs-sections.txt:
16881         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
16882         (helper_find_suggest), (gst_type_find_helper_get_range),
16883         (gst_type_find_helper):
16884         * libs/gst/base/gsttypefindhelper.h:
16885           New API: gst_type_find_helper_get_range() (#333042).
16886
16887 2006-03-02  Michael Smith  <msmith@fluendo.com>
16888
16889         * gst/gstregistryxml.c: (load_feature):
16890           Asserting on a failure to read part of the registry is Not Cool.
16891           Just log a warning and return NULL (which is already handled)
16892
16893 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
16894
16895         * win32/common/libgstbase.def:
16896           added export of gst_type_find_helper_for_buffer
16897         * win32/common/libgstbase.def:
16898           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
16899           gst_ghost_pad_get_target
16900
16901 2006-02-28  Wim Taymans  <wim@fluendo.com>
16902
16903         * docs/design/draft-klass.txt:
16904         We use Filter now.
16905         Added Connector to mark elements that are only used to
16906         allow pipeline connections.
16907         Moved Debug to extra feature since most of them are 
16908         functionally something else.
16909
16910 2006-02-28  Wim Taymans  <wim@fluendo.com>
16911
16912         * docs/design/draft-klass.txt:
16913         Some updates and clarifications.
16914
16915 2006-02-28  Wim Taymans  <wim@fluendo.com>
16916
16917         * docs/design/draft-klass.txt:
16918         Proposal for klass field values.
16919
16920         * docs/design/part-streams.txt:
16921         Start of a doc describing stream anatomy.
16922
16923 2006-02-28  Wim Taymans  <wim@fluendo.com>
16924
16925         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
16926         Help the compiler a bit with type registration.
16927         Use existing forward cod path instead of duplicating it when 
16928         handling a message.
16929         
16930         * gst/gstbus.c: (gst_bus_get_type):
16931         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
16932         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
16933         * gst/gstclock.c: (gst_clock_get_type):
16934         * gst/gstelement.c: (gst_element_get_type),
16935         * gst/gstelementfactory.c: (gst_element_factory_get_type):
16936         * gst/gstindexfactory.c: (gst_index_factory_get_type):
16937         * gst/gstminiobject.c: (gst_mini_object_get_type):
16938         * gst/gstpad.c: (gst_pad_get_type):
16939         * gst/gstsegment.c: (gst_segment_get_type):
16940         * gst/gststructure.c: (gst_structure_get_type):
16941         * gst/gstsystemclock.c: (gst_system_clock_get_type):
16942         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
16943         * gst/gstvalue.c:
16944         Help compiler with type registration.
16945
16946         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
16947         Small doc update.
16948
16949 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
16950
16951         * plugins/elements/gsttypefindelement.c:
16952         (gst_type_find_element_handle_event):
16953           When we get an EOS event and have not found a type yet
16954           (most likely because we had not yet accumulated
16955           TYPE_FIND_MIN_SIZE of data yet), try to determine the
16956           type given the data we have so far. Fixes typefinding
16957           for very short streams again, most notably quicktime
16958           redirections as used on Apple's trailer site (#331701).
16959
16960 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
16961
16962         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
16963         (gst_type_find_helper):
16964           Try typefinding factories with the highest rank first.
16965
16966 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
16967
16968         * docs/libs/gstreamer-libs-docs.sgml:
16969         * docs/libs/gstreamer-libs-sections.txt:
16970         * libs/gst/base/gsttypefindhelper.c:
16971           Add section for typefind helper and add documentation
16972           for the old and the new function.
16973
16974 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
16975
16976         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
16977         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
16978         (gst_type_find_helper_for_buffer):
16979         * libs/gst/base/gsttypefindhelper.h:
16980           New API: gst_type_find_helper_for_buffer() (#332723).
16981           
16982 2006-02-27  Michael Smith  <msmith@fluendo.com>
16983
16984         Patch by: Loïc Minier
16985
16986         * configure.ac:
16987         * docs/Makefile.am:
16988         * docs/slides/Makefile.am:
16989           prevent CVS directories getting disted.
16990
16991 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
16992
16993         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
16994           Use the REFCOUNTING category for caps refcounting.
16995           
16996 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
16997
16998         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
16999           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
17000
17001 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
17002
17003         * plugins/elements/gsttypefindelement.c:
17004         (gst_type_find_element_activate):
17005           Use gst_pad_check_pull_range() before _activate_pull()
17006           to avoid unnecessary open/close (see #331690).
17007
17008 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
17009
17010         * gst/gstutils.c:
17011           Docs enhancement: make it crystal clear what the
17012           gst_pad_add_*_probe() callbacks should look like.
17013
17014 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
17015
17016         * libs/gst/base/gstbasesrc.c:
17017           Document how applications can stop recording from
17018           live sources (see #330996).
17019
17020 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17021
17022         * tests/check/Makefile.am:
17023         * tests/check/libs/basesrc.c: (eos_event_counter),
17024         (basesrc_eos_events_pull), (basesrc_eos_events_push),
17025         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
17026         (gst_basesrc_suite), (main):
17027           ... and add some tests for the base source EOS stuff.
17028
17029 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17030
17031         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
17032           Test case originally showed the problem fixed below,
17033           but was then amended. Add checks back at the place
17034           where they used to be.
17035
17036 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17037
17038         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
17039         (gst_base_src_init), (gst_base_src_loop),
17040         (gst_base_src_activate_push), (gst_base_src_activate_pull),
17041         (gst_base_src_change_state):
17042         * libs/gst/base/gstbasesrc.h:
17043           Don't unconditionally send EOS when going from PAUSED to
17044           READY state, esp. make sure we don't send two EOS events
17045           in some cases (e.g. one when reaching EOS and one when
17046           going from PAUSED to READY). Also, we don't want to send
17047           EOS events when operating in pull mode. However, we do
17048           want to send an EOS event when shutting down a live
17049           source explicitly, for example (fixes #330996).
17050           
17051 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17052
17053         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
17054           Update src->read_position after a seek when not using mmap.
17055           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
17056
17057 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
17058
17059         * gst/Makefile.am:
17060         * gst/gstparse.h:
17061         * gst/gstutils.c:
17062         * gst/gstutils.h:
17063         Make things work with --disable-parse as they do with 
17064         --disable-load-save - the symbols involved disappear, but the
17065         header is still installed and GST_DISABLE_PARSE is included via
17066         gstconfig.h
17067
17068 2006-02-20  Julien MOUTTE  <julien@moutte.net>
17069
17070         * libs/gst/base/gstbasetransform.c:
17071         (gst_base_transform_change_state): Fix a stupid bug. I was 
17072         sure I compiled that.
17073
17074 2006-02-20  Julien MOUTTE  <julien@moutte.net>
17075
17076         * gst/gstpad.c: (gst_pad_set_blocked_async):
17077         * gst/gstutils.c: (gst_pad_add_data_probe),
17078         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
17079         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
17080         (gst_pad_remove_buffer_probe): Make those function act on the
17081         ghostpad target when it's a ghostpad. (Closes #331727)
17082
17083 2006-02-20  Julien MOUTTE  <julien@moutte.net>
17084
17085         * libs/gst/base/gstbasetransform.c:
17086         (gst_base_transform_change_state): Make basetransform reusable.
17087         (Closes #331898)
17088
17089 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
17090
17091         * docs/random/release:
17092         Move the current documentation of how to do a release to the top
17093         of the file.
17094
17095         * gst/gstbin.c: (gst_bin_class_init),
17096         (gst_bin_handle_message_func):
17097         Allow multiple state-recalculation threads. (Closes #328873)
17098
17099 2006-02-19  Julien MOUTTE  <julien@moutte.net>
17100
17101         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
17102         * gst/gstpad.c: (gst_pad_set_event_function),
17103         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
17104         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
17105         2 strings. You can't use the STR_NULL macro on that.
17106
17107 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
17108
17109         * gst/gstpad.c: (gst_pad_set_event_function),
17110         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
17111         (gst_pad_set_getcaps_function)
17112         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
17113           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
17114           So now, we can use --gst-debug-level=5 on Windows
17115         * win32/common/libgstcontroller.def:
17116           Added export of gst_controller_init
17117         * win32/vs6/libgstcontroller.dsp:
17118           Fixed Release post build configuration
17119
17120 2006-02-17  Wim Taymans  <wim@fluendo.com>
17121
17122         * tests/check/gst/gstquery.c: (GST_START_TEST):
17123         Added another check.
17124
17125 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
17126
17127         * plugins/elements/gsttypefindelement.c: (find_peek):
17128           We can do peeks at non-zero offsets, as long as they
17129           fall within the buffer we have.
17130
17131 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
17132
17133         * tests/check/Makefile.am:
17134         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
17135         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
17136         (parse_suite), (main):
17137           Add testsuite for parse launch syntax
17138
17139 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
17140
17141         * plugins/elements/gsttypefindelement.c:
17142         (gst_type_find_element_chain):
17143           When typefinding is unsuccessful in the chain function, don't
17144           error out immediately. Only error out with NO_CAPS_FOUND if
17145           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
17146           otherwise simply wait for more data so we can try typefinding
17147           again with more data later. Also, don't attempt to typefind
17148           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
17149           this should improve typefinding from network sources where the
17150           size of the first buffer can be somewhat random.
17151
17152 2006-02-14  Wim Taymans  <wim@fluendo.com>
17153
17154         * docs/gst/gstreamer-sections.txt:
17155         * gst/gstpadtemplate.c:
17156         * gst/gstpadtemplate.h:
17157         Fix padtemplate docs, fixes #328805.
17158
17159 2006-02-14  Wim Taymans  <wim@fluendo.com>
17160
17161         * tools/gst-launch.c: (main):
17162         NO_PREROLL is not an ERROR so don't send confusing messages
17163         to the user.
17164
17165 2006-02-14  Wim Taymans  <wim@fluendo.com>
17166
17167         Patch by: Torsten Schoenfeld
17168
17169         * gst/gstregistry.c: (gst_registry_get_default),
17170         (_gst_registry_cleanup):
17171         Protect default registry with lock and ref/sink it.
17172         Fixes #324818
17173
17174 2006-02-14  Wim Taymans  <wim@fluendo.com>
17175
17176         * gst/gstbuffer.c:
17177         * gst/gstquery.c: (gst_query_list_add_format),
17178         (gst_query_set_formatsv), (gst_query_parse_formats_length),
17179         (gst_query_parse_formats_nth):
17180         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
17181         Docs fixes.
17182
17183 2006-02-14  Wim Taymans  <wim@fluendo.com>
17184
17185         * docs/gst/gstreamer-sections.txt:
17186         Reworked query docs.
17187
17188         * gst/gstquery.c: (gst_query_new_formats),
17189         (gst_query_list_add_format), (gst_query_set_formats),
17190         (gst_query_set_formatsv), (gst_query_parse_formats_length),
17191         (gst_query_parse_formats_nth):
17192         * gst/gstquery.h:
17193         Flesh out formats query, added some new methods.
17194         Fix part of #324398.
17195
17196         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
17197         Added query creation tests.
17198
17199 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
17200
17201         * gst/gstpad.c: (fixate_value):
17202         Add a default fixation for fraction lists.
17203
17204 2006-02-13  Wim Taymans  <wim@fluendo.com>
17205
17206         * gst/gsttask.c: (gst_task_init), (gst_task_func),
17207         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
17208         (gst_task_join):
17209         * gst/gsttask.h:
17210         Detect and warn for obvious deadlocks. fixes #320340
17211         Fix error case where lock was not released.
17212
17213         * tests/check/Makefile.am:
17214         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
17215         (task_func), (gst_element_suite), (main):
17216         Add task check.
17217
17218 2006-02-13  Wim Taymans  <wim@fluendo.com>
17219
17220         * docs/gst/gstreamer-sections.txt:
17221         * gst/gstbus.c:
17222         Add new functions to docs.
17223
17224 2006-02-13  Wim Taymans  <wim@fluendo.com>
17225
17226         * docs/design/part-TODO.txt:
17227         Updated TODO list, basesrc supports seeking to non-bytes
17228         formats.
17229
17230         * docs/design/part-element-sink.txt:
17231         Update docs.
17232
17233         * gst/gstbin.c: (bin_replace_message),
17234         (gst_bin_handle_message_func):
17235         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
17236         * gst/gstevent.c: (gst_event_finalize):
17237         * gst/gstpad.c: (gst_pad_event_default_dispatch),
17238         (gst_pad_send_event):
17239         Use shiny new _TYPE_NAME macros.
17240
17241         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17242         Move debug statement up.
17243
17244         * gst/gstelement.c: (gst_element_set_locked_state):
17245         Add some debugging.
17246
17247 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
17248
17249         * docs/gst/gstreamer-sections.txt:
17250         * gst/gstmessage.h:
17251         * gst/gstquery.h:
17252           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
17253           macros (#330906). Also, document the already existing
17254           GST_QUERY_TYPE macro.
17255
17256 2006-02-13  Wim Taymans  <wim@fluendo.com>
17257
17258         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
17259         (event_probe), (GST_START_TEST):
17260         Only events up to the pipeline EOS are counted, there are
17261         some more when going to NULL currently which we don't care
17262         about for now.
17263
17264 2006-02-13  Wim Taymans  <wim@fluendo.com>
17265
17266         * gst/gstpad.c: (gst_pad_send_event):
17267         Correctly check flushing and emit probes. fixes #330125
17268
17269 2006-02-10  Andy Wingo  <wingo@pobox.com>
17270
17271         * gst/gstbus.c (gst_bus_class_init): Declare our private data
17272         structure.
17273         (gst_bus_init): Cache the location of the private data in the
17274         instance structure.
17275         (gst_bus_enable_sync_message_emission) 
17276         (gst_bus_disable_sync_message_emission): Implement new public
17277         functions.
17278         (gst_bus_post): Emit the sync-message signal if the user asked for
17279         it. Fixes #330684.
17280
17281         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
17282         location of the bus-private structure.
17283         (gst_bus_enable_sync_message_emission)
17284         (gst_bus_disable_sync_message_emission): API addition
17285
17286 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
17287
17288         Patch by: Vincent Torri
17289
17290         * docs/pwg/building-boiler.xml:
17291         PWG patch from #326800
17292
17293 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
17294
17295         * configure.ac:
17296         * docs/Makefile.am:
17297         * docs/design/Makefile.am:
17298           Dist design docs.
17299
17300 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
17301
17302         * configure.ac:
17303           back to CVS
17304
17305 === release 0.10.3 ===
17306
17307 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
17308
17309         * configure.ac:
17310           releasing 0.10.3, "Like a virgin"
17311
17312 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
17313
17314         * configure.ac:
17315           2nd prerelease of 0.10.3
17316           Bump libtool versioning.
17317
17318 2006-02-07  Andy Wingo  <wingo@pobox.com>
17319
17320         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
17321         update last_stop if we're in TIME format and the timestamp is
17322         valid.
17323
17324         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
17325         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
17326         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
17327         If we get a new newsegment with a different format, adapt
17328         accordingly.
17329
17330         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
17331         of 0. Not a problem, really.
17332
17333         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
17334         warn if sync=true.
17335
17336 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
17337
17338         * configure.ac:
17339           Prelease of 0.10.3
17340
17341 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
17342
17343         * win32/vs7:
17344           project files updated to the default vs7 configuration
17345         * win32/common/libgstbase.def:
17346         * win32/common/libgstreamer.def:
17347           added new symbols,
17348           removed empty lines,
17349           sorted all exported symbols alphabetically
17350         * win32/common/dirent.c:
17351         * win32/common/dirent.h:
17352         * win32/common/gchar.h:
17353           use windows line end.
17354           
17355 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
17356
17357         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
17358           Send EOS event when stopping.
17359
17360 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
17361
17362         * docs/README:
17363           Tell folks what to do if the plugin-foobar.xml file
17364           hasn't been generated for a newly-added plugin.
17365
17366 2006-02-05  Julien MOUTTE  <julien@moutte.net>
17367
17368         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
17369         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
17370         (gst_collect_pads_start), (gst_collect_pads_stop),
17371         (gst_collect_pads_event): Collectpads now holds a reference
17372         to the GstPad that was added. Indeed we don't want to look
17373         at pads that might just go away with no warning...
17374
17375 2006-02-05  Julien MOUTTE  <julien@moutte.net>
17376
17377         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
17378         (gst_collect_pads_start), (gst_collect_pads_stop),
17379         (gst_collect_pads_event), (gst_collect_pads_chain):
17380         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
17381         Mark Nauwelaerts's patch on bug #328491.
17382
17383 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
17384
17385         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
17386         (gst_utils_suite):
17387           Add some simple tests for gst_parse_bin_from_description() and
17388           gst_bin_find_unconnected_pad() (#329069).
17389
17390 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
17391
17392         * tools/gst-launch.c: (event_loop), (main):
17393           Catch errors during preroll (#320084).
17394
17395 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
17396
17397         * plugins/elements/gsttypefindelement.c:
17398         (gst_type_find_element_activate):
17399           Post TYPE_NOT_FOUND error message when typefinding
17400           is unsuccessful in the activate function as well.
17401
17402 2006-02-02  Wim Taymans  <wim@fluendo.com>
17403
17404         * docs/design/part-element-sink.txt:
17405         Updated doc.
17406
17407 2006-02-02  Wim Taymans  <wim@fluendo.com>
17408
17409         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
17410         (gst_base_sink_render_object),
17411         (gst_base_sink_queue_object_unlocked):
17412         Only keep track of prerollable items when we are 
17413         prerolling.
17414         Before rendering after preroll, always check if we
17415         have queued items.
17416         Added some more debugging.
17417
17418 2006-02-02  Wim Taymans  <wim@fluendo.com>
17419
17420         * gst/gstelement.c: (gst_element_continue_state),
17421         (gst_element_set_state_func), (gst_element_change_state):
17422         Fixed #326576, been running this for quite some time with
17423         no regressions at all.
17424
17425 2006-02-02  Wim Taymans  <wim@fluendo.com>
17426
17427         * common/gst.supp:
17428         Added more suppressions
17429
17430 2006-02-02  Wim Taymans  <wim@fluendo.com>
17431
17432         * docs/design/part-element-sink.txt:
17433         Updated document.
17434
17435         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17436         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
17437         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
17438         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
17439         (gst_base_sink_do_sync), (gst_base_sink_render_object),
17440         (gst_base_sink_preroll_object),
17441         (gst_base_sink_queue_object_unlocked),
17442         (gst_base_sink_queue_object), (gst_base_sink_event),
17443         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
17444         (gst_base_sink_loop), (gst_base_sink_activate_pull),
17445         (gst_base_sink_get_position), (gst_base_sink_change_state):
17446         * libs/gst/base/gstbasesink.h:
17447         Totally refactored matching the design doc.
17448         Use two segments, one to clip incomming buffers and another to
17449         perform sync.
17450         Handle queueing correctly, bypass the queue when playing.
17451         Make EOS cancelable.
17452         Handle errors correctly when operating in pull based mode.
17453
17454         * tests/check/elements/fakesink.c: (GST_START_TEST),
17455         (fakesink_suite):
17456         Added new check for sinks.
17457
17458 2006-02-02  Wim Taymans  <wim@fluendo.com>
17459
17460         * gst/gstsegment.c: (gst_segment_clip):
17461         No reason to refuse to clip when start == -1
17462
17463 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
17464
17465         * docs/README:
17466         * docs/manual/intro-basics.xml:
17467         * docs/manual/intro-preface.xml:
17468         * docs/manual/manual.xml:
17469         * docs/pwg/advanced-dparams.xml:
17470         * docs/pwg/intro-basics.xml:
17471         * docs/pwg/intro-preface.xml:
17472         * docs/pwg/pwg.xml:
17473           describe dparams (controller) for plugins
17474           unify docs a little more
17475
17476 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
17477
17478         * docs/gst/gstreamer-sections.txt:
17479         * gst/gstutils.c: (element_find_unconnected_pad),
17480         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
17481         * gst/gstutils.h:
17482           Add new API: gst_parse_bin_from_description() and
17483           gst_bin_find_unconnected_pad() (#329069).
17484
17485 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
17486
17487         * docs/manual/README:
17488           uncover a nasty detail of the docs build
17489
17490 2006-01-31  Wim Taymans  <wim@fluendo.com>
17491
17492         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
17493         Don't cache duration messages if we're not going to use or
17494         free them.
17495
17496 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
17497
17498         * docs/manual/advanced-dparams.xml:
17499         * docs/pwg/advanced-dparams.xml:
17500           more dparam docs
17501         * gst/gstindex.c:
17502           fix docs
17503         * libs/gst/controller/lib.c: (gst_controller_init):
17504           init just once
17505
17506 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
17507
17508         * gst/gstelement.c: (gst_element_message_full):
17509           also show file/line/func if no additional debug was given
17510
17511 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
17512         
17513         * win32/vs7/grammar.vcproj:
17514           activate copy of autogenerated files for Release mode
17515
17516 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
17517         
17518         * win32/common/libgstreamer.def:
17519           export gst_value_compare
17520
17521 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
17522
17523         * plugins/elements/Makefile.am:
17524         * plugins/elements/gstelements.c:
17525         * plugins/elements/gstfdsink.c: (_do_init),
17526         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
17527         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
17528         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
17529         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
17530         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
17531         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
17532         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
17533         * plugins/elements/gstfdsink.h:
17534         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
17535
17536 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
17537
17538         * docs/manual/advanced-dparams.xml:
17539           describe controller
17540         * docs/manual/advanced-position.xml:
17541         * docs/manual/basics-init.xml:
17542         * docs/manual/manual.xml:
17543         * docs/manual/titlepage.xml:
17544         * docs/pwg/pwg.xml:
17545         * docs/pwg/titlepage.xml:
17546           cleanup xml (more to come)
17547         * libs/gst/controller/gstcontroller.c:
17548           fix typo
17549
17550 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
17551         
17552         * win32/vs6/grammar.dsp:
17553           add autogen of gstmarshal.c,h for Release mode
17554                 
17555 2006-01-30  Wim Taymans  <wim@fluendo.com>
17556
17557         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17558         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
17559         (gst_base_sink_handle_object), (gst_base_sink_event),
17560         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
17561         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
17562         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
17563         (gst_base_sink_deactivate), (gst_base_sink_activate),
17564         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
17565         (gst_base_sink_query), (gst_base_sink_change_state):
17566         Basesink cleanups, remove some old code.
17567         Handle the case where a subclass can preroll in the render
17568         method (mostly audiosinks).
17569         Handle more events.
17570         Remove some locks around variables that are now protected
17571         with the PREROLL_LOCK (clock_id, flushing, ..).
17572         Optimize position query some more, do correct locking.
17573         Remove old code to push queue in state change, this is not
17574         needed anymore since preroll blocks on all prerollable items 
17575         now.
17576         Almost implemented as described in design doc.
17577
17578 2006-01-30  Wim Taymans  <wim@fluendo.com>
17579
17580         * tests/check/gst/gstbin.c: (GST_START_TEST):
17581         Wait for refcount to settle down before checking.
17582
17583 2006-01-30  Wim Taymans  <wim@fluendo.com>
17584
17585         * docs/design/part-element-sink.txt:
17586         Pseudo code overview of desired sink behaviour regarding
17587         preroll.
17588
17589 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17590         * win32/vs6/grammar.dsp:
17591           fix some bugs in Release mode for autogenerated files
17592                 
17593 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17594         * win32/common/libgstbase.def:
17595         * win32/common/libgstreamer.def:
17596           export some new symbols: gst_base_src_set_format,
17597           gst_iterator_next, gst_structure_set_valist
17598
17599 2006-01-29  Julien MOUTTE  <julien@moutte.net>
17600
17601         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
17602         Set pad functions unconditionally. Fixes #329105.
17603
17604 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17605         * win32/vs8:
17606           add vs8 project files created by Sergey Scobich
17607
17608 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
17609
17610         * gst/gstutils.c: (gst_element_unlink_pads):
17611         Don't leak pad references.
17612
17613         * tests/check/elements/fakesink.c: (GST_START_TEST):
17614         * tests/check/generic/sinks.c: (GST_START_TEST):
17615         * tests/check/generic/states.c: (GST_START_TEST):
17616         * tests/check/gst/gstbin.c: (GST_START_TEST):
17617         * tests/check/gst/gstcaps.c: (GST_START_TEST):
17618         * tests/check/gst/gstelement.c: (GST_START_TEST):
17619         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
17620         * tests/check/gst/gstiterator.c: (GST_START_TEST):
17621         * tests/check/gst/gstvalue.c: (GST_START_TEST):
17622         Fix a bunch of leaks. Make generic/sinks.c
17623         use a bit less cpu by slowing the buffer rate
17624         between fakesrc and fakesink.
17625         
17626 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
17627         * gst/gstcaps.c:
17628         * gst/gstelement.c: (gst_element_send_event):
17629         * gst/gstevent.c:
17630         * gst/gstinfo.c:
17631         * gst/gstiterator.c:
17632         * gst/gstiterator.h:
17633         * gst/gstpad.c: (gst_pad_send_event):
17634         * gst/gststructure.c:
17635         * gst/gsturi.c:
17636         * gst/gstutils.c:
17637         * gst/gstvalue.c:
17638         * libs/gst/base/gstadapter.c:
17639           doc fixes, to link to function, just write gst_cool_function(), don't
17640           prefix with '#'
17641
17642 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
17643
17644         * plugins/elements/gsttee.c: (gst_tee_do_push),
17645         (gst_tee_handle_buffer):
17646         Always prefer an actual return value from a src
17647         pad in place of NOT_LINKED. This means we return
17648         WRONG_STATE when all src pads are WRONG_STATE
17649         instead of NOT_LINKED.
17650
17651         Lock when replacing the last message to prevent
17652         racing with the get_property method.
17653
17654         Add debug output
17655
17656 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
17657
17658         * tests/check/Makefile.am:
17659         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
17660         (main):
17661         Add a very simple check that should have caught the memleak I fixed
17662         last night (if not for the slice allocator hiding it)
17663
17664 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
17665
17666         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
17667         (gst_bin_remove_func), (gst_bin_handle_message_func),
17668         (bin_query_duration_fold), (bin_query_generic_fold):
17669         Clean up references to the clock provider when disposed or when
17670         handling a clock-lost message from it.
17671
17672         Unref sinks when performing a query via gst_iterator_fold, as the
17673         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
17674
17675         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
17676         (gst_clock_set_master):
17677         Drop our reference to the master clock, if any, when we are disposed.
17678
17679         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
17680         Chain up in dispose. 
17681
17682 2006-01-26  Wim Taymans  <wim@fluendo.com>
17683
17684         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17685         Add some debugging.
17686
17687 2006-01-26  Julien MOUTTE  <julien@moutte.net>
17688
17689         * plugins/elements/gsttee.c: (gst_tee_do_push),
17690         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
17691         handles pad being NOT_LINKED or in WRONG_STATE.
17692
17693 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
17694
17695         * win32/MANIFEST:
17696           more updating
17697
17698 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
17699
17700         * win32/MANIFEST:
17701           remove obsolete entry
17702
17703 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
17704
17705         * docs/gst/gstreamer-sections.txt:
17706         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
17707         (gst_bin_iterate_sources), (gst_bin_send_event):
17708         * gst/gstbin.h:
17709         * gst/gstelement.c: (gst_element_send_event):
17710         * gst/gstevent.c:
17711         * gst/gstpad.c: (gst_pad_send_event):
17712           added code for downstream events, reviewed docs in gstevent.c
17713
17714 2006-01-25  Julien MOUTTE  <julien@moutte.net>
17715
17716         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
17717         We only query position using the clock in the playing state.
17718         Query peer in the other cases.
17719         * win32/common/config.h: Updates.
17720
17721 2006-01-24  Wim Taymans  <wim@fluendo.com>
17722
17723         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
17724         A clock entry that is scheduled for the exact time of the
17725         clock is still in time.
17726
17727         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17728         (gst_base_sink_do_sync):
17729         Add some more debug info.
17730
17731 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
17732
17733         * win32/vs7:
17734           Add new vs7 project files and solution.
17735
17736 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
17737
17738         * win32/vs7:
17739           all files removed as they were out-dated.
17740
17741 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17742
17743         * docs/random/release:
17744           update notes
17745         * gst/gstbin.c: (gst_bin_init):
17746         * gst/gstbus.c: (gst_bus_new):
17747         * gst/gstbus.h:
17748         * gst/gstpipeline.c: (gst_pipeline_init):
17749           use gst_bus_new(), improve logging, fix docs
17750         * win32/common/config.h:
17751           update for cvs build
17752
17753 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17754
17755         * autogen.sh:
17756           up required version of automake to 1.7
17757
17758 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
17759
17760         * win32/common/libgstreamer.def:
17761           export gst_buffer_is_metadata_writable
17762
17763 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
17764
17765         * docs/gst/gstreamer-sections.txt:
17766         * gst/gstevent.h:
17767           Add gst_event_replace() (#327001)
17768
17769 2006-01-20  Wim Taymans  <wim@fluendo.com>
17770
17771         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
17772         Make it actually compile too..
17773
17774 2006-01-20  Wim Taymans  <wim@fluendo.com>
17775
17776         * gst/gstcaps.c:
17777         Clarify behaviour of _is_equal() when passing NULL parameters.
17778
17779         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
17780         (gst_pad_set_caps):
17781         Cleanups. Don't unref NULL caps.
17782         When setting the same caps, protect caps of the pad with
17783         proper lock.
17784         Use full functionality of _is_equal() when comparing caps.
17785
17786 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
17787
17788         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
17789         Don't loop infinitely if there are no buffers to present. Partially
17790         fixes #327197, but collectpads is just broken for reusing elements
17791         to do multiple encodes atm.
17792
17793 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
17794
17795         * tools/gst-inspect.c: (print_element_features):
17796         * tools/gst-xmlinspect.c: (main):
17797         URL_HANDLER is not a plugin feature we can search for in
17798         the registry.
17799
17800 2006-01-19  Edward Hervey  <edward@fluendo.com>
17801
17802         * gst/gstelement.c: (gst_element_pads_activate): 
17803         When activating, do src pads first, then sink pads.
17804         When de-activating, do sink pads first, then src pads.
17805
17806 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17807
17808         * docs/gst/gstreamer-sections.txt:
17809         Add gst_index_add_associationv to the docs
17810
17811 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17812
17813         * gst/gstevent.c:
17814           Fix docs typo
17815
17816         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
17817         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
17818           Do some refactoring. Doesn't actually change functionality,
17819           but makes landing the DRAIN event easier later.
17820
17821 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
17822
17823         * docs/pwg/advanced-scheduling.xml:
17824           Update from 0.9.x to 0.10 API and make example a bit
17825           clearer.
17826
17827 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17828
17829         * docs/gst/gstreamer-sections.txt:
17830         Add gst_buffer_(is|make)_metadata_writable methods.
17831
17832 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17833
17834         * docs/design/part-sparsestreams.txt:
17835         Update sparse streams doc, hopefully for greater clarity
17836
17837 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
17838
17839         * docs/design/part-events.txt:
17840         Remove mention of FILLER events.
17841         Add DRAIN event.
17842
17843         * docs/design/part-sparsestreams.txt:
17844         Write some things about using NEWSEGMENT to keep sparse streams
17845         flowing.
17846
17847 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
17848
17849         * gst/gstbin.c: (gst_bin_dispose):
17850           Guard gst_object_unref call against a NULL object (dispose
17851           can theoretically be called multiple times).
17852           
17853 2006-01-18  Wim Taymans  <wim@fluendo.com>
17854
17855         * gst/gstbin.c: (gst_bin_element_set_state):
17856         * gst/gstclock.c: (gst_clock_id_wait):
17857         Added some more debug info.
17858
17859         * libs/gst/base/gstadapter.c:
17860         Added more docs.
17861
17862         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17863         (gst_base_sink_do_sync), (gst_base_sink_chain):
17864         Added some comments.
17865
17866 2006-01-18  Wim Taymans  <wim@fluendo.com>
17867
17868         * tests/check/Makefile.am:
17869         * tests/check/elements/fakesink.c: (chain_async_buffer),
17870         (chain_async), (chain_async_return), (GST_START_TEST),
17871         (fakesink_suite), (main):
17872         Added fakesink test that checks prerolling and clipping
17873         behaviour.
17874
17875         * tests/check/gst/gstutils.c: (GST_START_TEST):
17876         Make check run faster so that buildbots don't timeout.
17877
17878 2006-01-18  Wim Taymans  <wim@fluendo.com>
17879
17880         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17881         (gst_base_sink_do_sync):
17882         Some cleanups.
17883         When the sink finishes blocking on the preroll buffer, it can
17884         immediatly render it instead of rendering when the next buffer
17885         arrives.
17886
17887 2006-01-18  Wim Taymans  <wim@fluendo.com>
17888
17889         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
17890         (gst_base_sink_get_property), (gst_base_sink_do_sync),
17891         (gst_base_sink_chain):
17892         Small cleanups.
17893         GST_ELEMENT_CLOCK and sync are protected with LOCK.
17894         Don't store _last_stop if the buffer is dropped.
17895
17896 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
17897
17898         * plugins/elements/gsttypefindelement.c:
17899         (gst_type_find_element_class_init):
17900           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
17901           object method handler that sets the caps on the pad and we want
17902           that to happen before we emit the signal (fixes e.g. feeding a
17903           plain text file to decodebin).
17904
17905 2006-01-18  Christian Schaller  <Christian@fluendo.com>
17906
17907         * gst/gstplugin.c: Add MPL and Proprietary as license options
17908
17909 2006-01-18  Andy Wingo  <wingo@pobox.com>
17910
17911         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
17912         symbol was exported before, it appears this was just an oversight.
17913         Fixes #168703.
17914         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
17915
17916         * gst/gstindex.c (gst_index_add_associationv): Changed int in
17917         prototype to gint. OK since this prototype was not in the header.
17918
17919 2006-01-17  Andy Wingo  <wingo@pobox.com>
17920
17921         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
17922         registry while we remove plugins.
17923
17924         * tools/gst-inspect.c (print_element_info): Don't unref the
17925         factory arg, that should be the responsibility of whatever code
17926         received the ref. Fixes a double-free when called from
17927         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
17928         (main): Unref the factory if we have one.
17929         (print_element_list): No change -- relies on the
17930         plugin_feature_list_free to free the list of features.
17931
17932 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
17933
17934         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
17935         (gst_buffer_make_metadata_writable):
17936         * gst/gstbuffer.h:
17937         * libs/gst/base/gstbasetransform.c:
17938         (gst_base_transform_prepare_output_buf):
17939         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
17940         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17941           Replace gst_buffer_(make|is)_metadata_writable patch now
17942           that the release is out.
17943
17944 2006-01-17  Andy Wingo  <wingo@pobox.com>
17945
17946         * gst/gstregistry.c: Reflow design comment. Update so as to speak
17947         in the present tense without reference to versions.
17948
17949         * gst/gstregistry.c (gst_registry_add_plugin)
17950         (gst_registry_remove_plugin, gst_registry_remove_feature)
17951         (gst_registry_find_feature, gst_registry_get_feature_list)
17952         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
17953         (gst_registry_lookup, gst_registry_scan_path)
17954         (_gst_registry_remove_cache_plugins)
17955         (gst_registry_get_feature_list_by_plugin): Add argument
17956         validation.
17957
17958 === release 0.10.2 ===
17959
17960 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
17961
17962         * configure.ac:
17963           releasing 0.10.2, "If man is five"
17964
17965 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
17966
17967         * gst/gstbuffer.c:
17968         * gst/gstbuffer.h:
17969         * libs/gst/base/gstbasetransform.c:
17970         (gst_base_transform_prepare_output_buf):
17971         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
17972         * tests/check/gst/gstbuffer.c: (gst_test_suite):
17973           Back out patch until after the release.
17974
17975 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
17976
17977         * gst/gstminiobject.c:
17978           Spelling fix in docs.
17979         * ChangeLog - remove conflict indicator
17980
17981 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
17982
17983         Reviewed By: Andy Wingo
17984
17985         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
17986         (gst_buffer_make_metadata_writable):
17987         * gst/gstbuffer.h:
17988           Add gst_buffer_(is|make)_metadata_writable as analogues of
17989           gst_buffer_(is|make)_writable.
17990
17991         * libs/gst/base/gstbasetransform.c:
17992         (gst_base_transform_prepare_output_buf):
17993         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
17994           Use name gst_buffer_(is|make)_metadata_writable functions.
17995
17996         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17997           Test gst_buffer_(is|make)_metadata_writable
17998         
17999           (Closes: #324162)
18000
18001 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
18002
18003         * docs/manual/Makefile.am:
18004           don't do parallel make
18005         * configure.ac:
18006           AC_SUBST HOST_CPU
18007         * win32/common/config.h.in:
18008           add generations for HOST_CPU and GST_MAJORMINOR
18009         * win32/common/config.h:
18010           commit generated result
18011
18012 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
18013
18014         * docs/manual/appendix-integration.xml:
18015           Update GNOME integration section to use gst_init_get_option_group()
18016           instead of the old popt stuff (#322911). Also, GNOME applications
18017           should  now use gconf*sink and gconf*src instead of the old gconf
18018           helper lib we had.
18019
18020 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
18021
18022
18023         * docs/gst/gstreamer-docs.sgml:
18024         * docs/gst/gstreamer-sections.txt:
18025         * docs/libs/gstreamer-libs-sections.txt:
18026           add new API entries to the docs
18027         * libs/gst/controller/Makefile.am:
18028         * libs/gst/controller/gstcontroller.c:
18029         * libs/gst/controller/gstcontroller.h:
18030         * libs/gst/controller/gstcontrollerprivate.h:
18031         * libs/gst/controller/gsthelper.c:
18032         * libs/gst/controller/gstinterpolation.c:
18033           move private structs to private header
18034         * po/README:
18035           gstreamer-0.7 -> gstreamer-0.10
18036         * tests/check/libs/struct_i386.h:
18037           remove private structs
18038
18039 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
18040
18041         * plugins/indexers/Makefile.am:
18042           Fixes as part of #317048
18043
18044 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
18045
18046         * plugins/indexers/Makefile.am:
18047           fix #316086 - compilation when mmap is missing
18048
18049 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
18050
18051         * libs/gst/base/gstbasesink.c:
18052           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
18053           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
18054         * win32/common/config.h:
18055           added some defines GST_MAJORMINOR and HOST_CPU
18056         * win32/common/libgstbase.def:
18057         * win32/common/libgstreamer.def:
18058           added some exported functions.
18059
18060 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
18061
18062         * libs/gst/controller/gstcontroller.c:
18063         (gst_controlled_property_set_interpolation_mode),
18064         (gst_controlled_property_new):
18065         * libs/gst/controller/gstcontroller.h:
18066         * libs/gst/controller/gstinterpolation.c:
18067         (interpolate_none_get_string_value_array):
18068           make G_TYPE_STRING controlable
18069
18070 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
18071
18072         * tools/README:
18073         * tools/gst-feedback.1.in:
18074         * tools/gst-inspect.1.in:
18075         * tools/gst-launch.1.in:
18076         * tools/gst-md5sum.1.in:
18077         * tools/gst-typefind.1.in:
18078         * tools/gst-xmlinspect.1.in:
18079         * tools/gst-xmllaunch.1.in:
18080           cleanup man-pages, remove reference to gst-register, document env-vars
18081
18082 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
18083
18084         * gst/gstbuffer.c: (gst_buffer_span):
18085           gst_buffer_span should copy the timestamp of the first buffer
18086           if they were both originally overlapping subbuffers of the 
18087           same parent, using the same logic as the 'slow copy' case.
18088
18089 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
18090
18091         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
18092           Need to awaken ALL the pads when we pop a buffer, otherwise
18093           collectpads only works when there is 2 input streams.
18094
18095 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
18096
18097         * docs/random/ensonic/media-device-daemon.txt:
18098           more ideas (dbus)
18099         * gst/gstbuffer.c:
18100           fix doc example, add clarification
18101         * tools/gst-launch.1.in:
18102           add initial info about GST_PLUGIN_PATH, needs more work
18103
18104 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
18105
18106         * docs/manual/basics-bins.xml:
18107         * docs/manual/basics-elements.xml:
18108         * docs/manual/intro-basics.xml:
18109           Some more minor docs additions and updates.
18110
18111 2006-01-11  Wim Taymans  <wim@fluendo.com>
18112
18113         * docs/manual/basics-bins.xml:
18114         * docs/manual/basics-elements.xml:
18115         Some small fixes as pointed out by Ser-ver on IRC.
18116
18117 2006-01-10  Edward Hervey  <edward@fluendo.com>
18118
18119         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
18120         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
18121         the single-segment mode.
18122
18123 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
18124
18125         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
18126
18127         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
18128         (gst_base_src_perform_seek), (gst_base_src_send_event),
18129         (gst_base_src_set_property), (gst_base_src_get_property),
18130         (gst_base_src_loop), (gst_base_src_start),
18131         (gst_base_src_activate_push):
18132         * libs/gst/base/gstbasesrc.h:
18133           Name (private) union; makes Sun's Forte compiler happy (#324900).
18134
18135 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
18136
18137         * README:
18138           gst-register is gone.
18139
18140 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
18141
18142         * gst/gstvalue.c: (_gst_value_initialize):
18143           make the G_TYPE_DATE instantiation work if debug is disabled
18144
18145 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
18146
18147         * gst/gstmessage.c: (gst_message_parse_tag),
18148         (gst_message_parse_error), (gst_message_parse_warning):
18149           Don't crash when return location for error/warning debug
18150           string is NULL; add fact that return locations can be
18151           NULL to docs where appropriate.
18152
18153 2006-01-05  Wim Taymans  <wim@fluendo.com>
18154
18155         * gst/gstplugin.c: (gst_plugin_load_file):
18156         Replace strdup by g_strdup.
18157
18158 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18159
18160         * docs/pwg/advanced-types.xml:
18161           fix doc borkage
18162
18163 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18164
18165         submitted by: Abel Cheung
18166
18167         * po/LINGUAS:
18168         * po/zh_TW.po:
18169           Added Chinese (traditional) translation
18170
18171 2006-01-04  Wim Taymans  <wim@fluendo.com>
18172
18173         * docs/manual/basics-pads.xml:
18174         * docs/plugins/Makefile.am:
18175         * docs/plugins/gstreamer-plugins-docs.sgml:
18176         * docs/plugins/gstreamer-plugins-sections.txt:
18177         * docs/pwg/advanced-clock.xml:
18178         * docs/pwg/advanced-scheduling.xml:
18179         * docs/pwg/advanced-types.xml:
18180         * plugins/elements/gstfdsink.c:
18181         * plugins/elements/gstfdsrc.c:
18182         * plugins/elements/gstfdsrc.h:
18183         * plugins/elements/gstidentity.c: (gst_identity_class_init):
18184         * plugins/elements/gstidentity.h:
18185         * plugins/elements/gstqueue.h:
18186         * plugins/elements/gsttee.c:
18187         * plugins/elements/gsttee.h:
18188         * plugins/elements/gsttypefindelement.c:
18189         (gst_type_find_element_class_init):
18190         * plugins/elements/gsttypefindelement.h:
18191         Small updates to various docs.
18192         Added core plugins to docs.
18193
18194 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18195
18196         * common/gst.supp:
18197           add a suppression for liboil's uninitialized variable
18198
18199 2006-01-02  James Livingston  <jrl at ids dot org dot au>
18200
18201         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
18202
18203         * gst/gstutils.h:
18204           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
18205           macro, so that gcc doesn't complain if the -Wmissing-prototypes
18206           compiler switch is being used (#325429).
18207
18208 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
18209
18210         * gst/gstbin.c: (gst_bin_query):
18211           Disable duration query caching in bins until it gets
18212           fixed (see #324807).
18213
18214 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
18215
18216         * tools/gst-inspect.c: (print_element_properties_info):
18217           Handle properties of POINTER and BOXED type.
18218
18219 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
18220
18221         * gst/gst.c: (init_post):
18222           Init tags stuff and some other things before loading
18223           any static plugins (there may be other static plugins
18224           than just the GStreamer ones, and they may want to
18225           register their own tags or formats or whatever, and
18226           preferably without segfaulting).
18227
18228         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
18229           Print at least a warning in the debug logs if we drop a
18230           query just because we don't know how to adjust the value
18231           in the particular format.
18232
18233 2005-12-24  David Schleef  <ds@schleef.org>
18234
18235         * tools/gstreamer-completion:
18236           Replacement for gst-complete written in sh and sed.  Only
18237           completes names of features, but that's 90% of what I want
18238           it for.  Properties are not available in registry.xml.  (Maybe
18239           they should be...)
18240
18241 === release 0.10.1 ===
18242
18243 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
18244
18245         * configure.ac:
18246           releasing 0.10.1, "Nollaig chridheil"
18247
18248 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
18249
18250         * docs/faq/cvs.xml:
18251           Add missing quote, should be make ERROR_CFLAGS="".
18252
18253 2005-12-20  Wim Taymans  <wim@fluendo.com>
18254
18255         * docs/design/part-trickmodes.txt:
18256         More documentation on trickmodes.
18257
18258 2005-12-20  Edward Hervey  <edward@fluendo.com>
18259
18260         * gst/gstcaps.c: (gst_static_caps_get_type):
18261         * gst/gstcaps.h:
18262           API addition: GST_TYPE_STATIC_CAPS
18263         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
18264         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
18265         * gst/gstpadtemplate.h:
18266           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
18267         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
18268         bindings.
18269
18270 2005-12-18  Wim Taymans  <wim@fluendo.com>
18271
18272         * libs/gst/base/gstadapter.c:
18273         * libs/gst/base/gstadapter.h:
18274         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
18275         (gst_base_sink_get_position):
18276         * libs/gst/base/gstbasesink.h:
18277         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18278         (gst_base_src_default_query), (gst_base_src_default_do_seek),
18279         (gst_base_src_do_seek), (gst_base_src_perform_seek),
18280         (gst_base_src_send_event), (gst_base_src_update_length),
18281         (gst_base_src_get_range), (gst_base_src_loop),
18282         (gst_base_src_start):
18283         * libs/gst/base/gstbasesrc.h:
18284         * libs/gst/base/gstbasetransform.h:
18285         * libs/gst/base/gstcollectpads.h:
18286         * libs/gst/base/gstpushsrc.c:
18287         * libs/gst/base/gstpushsrc.h:
18288         * libs/gst/dataprotocol/dataprotocol.c:
18289         * libs/gst/dataprotocol/dataprotocol.h:
18290         * libs/gst/net/gstnetclientclock.h:
18291         * libs/gst/net/gstnettimeprovider.h:
18292         Documentation updates.
18293
18294 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
18295
18296         * docs/manual/basics-helloworld.xml:
18297           Remove superfluous closing bracket in helloworld example.
18298
18299 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
18300
18301         * tools/gst-launch.1.in:
18302           Update gst-launch man page; add a section with useful
18303           environment variables. Fixes #323882.
18304
18305 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
18306
18307         * gst/gst.c:
18308         * gst/gst_private.h:
18309           change some char* into char[]
18310
18311 2005-12-16  Wim Taymans  <wim@fluendo.com>
18312
18313         * gst/gstregistryxml.c: (load_feature):
18314         Cleanups.
18315         Don't use g_object_unref on GstObjects so that we avoid
18316         leaks on unsafe glibs.
18317
18318 2005-12-16  Wim Taymans  <wim@fluendo.com>
18319
18320         * gst/gstbin.c: (gst_bin_recalc_state):
18321         Small doc updates.
18322
18323 2005-12-16  Wim Taymans  <wim@fluendo.com>
18324
18325         * common/check.mak:
18326         Added make forever target for check.
18327
18328 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18329
18330         * gst/gst.c: (init_post):
18331           make the registry cache file HOST_CPU-dependent
18332
18333 2005-12-16  Andy Wingo  <wingo@pobox.com>
18334
18335         * plugins/elements/gstbufferstore.c
18336         (gst_buffer_store_cleared_func): Pay attention to g_list_append
18337         return value.
18338
18339         * tests/check/gst/gstobject.c
18340         (test_fake_object_name_threaded_unique): Pay attention to
18341         g_list_sort return value.
18342
18343 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
18344
18345         * tools/gst-feedback-m.m:
18346           Update for 0.9/0.10 (fixes #323870).
18347
18348 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
18349
18350         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
18351           Fix lcopy for mini objects, the mini object needs to be ref'ed.
18352           
18353         * tests/check/gst/gstminiobject.c: (my_foo_init),
18354         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
18355         (test_value_collection), (gst_mini_object_suite):
18356           Add test to ensure refcounts end up as expected when passing
18357           GstMiniObjects through g_object_get() and g_object_set().
18358
18359 2005-12-14  Julien MOUTTE  <julien@moutte.net>
18360
18361         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
18362         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
18363         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
18364         of collectpads. This version removes a lot of races without
18365         touching API/ABI. Yay !
18366
18367 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
18368
18369         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
18370           Don't allow activation of a srcpad in pull_range if it has no
18371           getrange function.
18372           Change some debug statements to be a little clearer
18373
18374         * plugins/elements/gsttypefindelement.c:
18375         (gst_type_find_handle_src_query):
18376           Check that we have a peer before executing queries thereupon.
18377
18378         * tests/examples/metadata/read-metadata.c: (message_loop):
18379           Use gst_bus_pop instead of gst_bus_poll when we just want it to
18380           immediately return us any available message with 0 timeout.
18381
18382 2005-12-12  Michael Smith  <msmith@fluendo.com>
18383
18384         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
18385           Don't unref factories after calling them.
18386         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
18387         * plugins/elements/gsttypefindelement.c:
18388         (gst_type_find_element_chain):
18389           Free lists of factories after using them. Fixing typefinding memory
18390           leaks.
18391
18392 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18393
18394         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
18395         (gst_plugin_feature_load):
18396           more meaningful debug output
18397         * configure.ac:
18398         * tests/Makefile.am:
18399         * tests/old/examples/Makefile.am:
18400           make make distcheck happy again
18401
18402 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
18403
18404         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
18405           Catch the special case where we are operating chain-based,
18406           but the downstream peer pad has no chain function. Emit a
18407           custom error message in this case instead of letting the
18408           core generate one implying that this is some sort of core
18409           bug. It's not, it just means that whatever got plugged
18410           into the pipeline downstream when we announced the type
18411           can only operate pull-based, while our source can only
18412           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
18413           Error string has not been marked for translation yet, as
18414           it probably needs some more work first.
18415
18416         (gst_type_find_element_get_best_possibility):
18417           Add helper function to find the best of all available
18418           found possibilities that qualify given the min. threshold.
18419
18420         (gst_type_find_element_handle_event):
18421           Fix the case where we get an EOS while still in TYPEFIND
18422           mode (we want to chose the best of all possible types,
18423           not just the first type that happens to be in our unsorted
18424           list of possible types).
18425
18426         (gst_type_find_element_chain):
18427           Make sure we return GST_FLOW_ERROR when we errored out
18428           in stop_typefinding(); also, don't just find the best of
18429           all found type entries and then use the last examined
18430           type entry, but actually use the best entry.
18431
18432 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
18433
18434         * tests/examples/typefind/typefind.c: (type_found):
18435         * tests/examples/xml/runxml.c: (xml_loaded):
18436           More gcc4 fixes and a mem leak fix.
18437
18438 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18439
18440         * tests/examples/xml/createxml.c: (object_saved):
18441           gcc 4 fixes
18442
18443 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18444
18445         * tests/Makefile.am:
18446           enable the examples even more
18447
18448 2005-12-12  Andy Wingo  <wingo@pobox.com>
18449
18450         * libs/gst/net/gstnettimeprovider.c
18451         (gst_net_time_provider_class_init, gst_net_time_provider_init)
18452         (gst_net_time_provider_set_property)
18453         (gst_net_time_provider_get_property):
18454         API addition: Export "active" as a GObject property.
18455         (gst_net_time_provider_thread): Only respond to time queries if
18456         the time provider is active.
18457
18458         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
18459         NetTimeProvider, preserving binary compat.
18460
18461 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18462
18463         * tests/examples/controller/audio-example.c: (main):
18464         * tests/examples/launch/Makefile.am:
18465           convert comments again
18466
18467 2005-12-12  Wim Taymans  <wim@fluendo.com>
18468
18469         * libs/gst/base/gstpushsrc.c:
18470         Fix typo.
18471
18472 2005-12-12  Wim Taymans  <wim@fluendo.com>
18473
18474         * docs/libs/gstreamer-libs-sections.txt:
18475         Added new symbol to docs.
18476
18477         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18478         (gst_base_src_init), (gst_base_src_set_format),
18479         (gst_base_src_default_query), (gst_base_src_query),
18480         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
18481         (gst_base_src_perform_seek), (gst_base_src_send_event),
18482         (gst_base_src_default_event), (gst_base_src_event_handler),
18483         (gst_base_src_set_property), (gst_base_src_get_property),
18484         (gst_base_src_wait), (gst_base_src_do_sync),
18485         (gst_base_src_update_length), (gst_base_src_get_range),
18486         (gst_base_src_check_get_range), (gst_base_src_loop),
18487         (gst_base_src_default_negotiate), (gst_base_src_start),
18488         (gst_base_src_activate_push), (gst_base_src_activate_pull),
18489         (gst_base_src_change_state):
18490         * libs/gst/base/gstbasesrc.h:
18491         Implement seeking to other formats than _BYTES.
18492         Implement more seeking methods correctly.
18493         Doc updates.
18494         Added query vmethod.
18495         Added do_seek vmethod to make life easier for subclasses
18496         when seeking.
18497         API addition: gst_base_src_set_format()
18498
18499 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18500
18501         * tests/examples/Makefile.am:
18502           added that too
18503
18504 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18505
18506         * configure.ac:
18507         * docs/random/ensonic/media-device-daemon.txt:
18508         * tests/examples/controller/.cvsignore:
18509         * tests/examples/controller/Makefile.am:
18510         * tests/examples/controller/audio-example.c: (main):
18511         * tests/examples/helloworld/.cvsignore:
18512         * tests/examples/helloworld/Makefile.am:
18513         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
18514         * tests/examples/launch/.cvsignore:
18515         * tests/examples/launch/Makefile.am:
18516         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
18517         * tests/examples/metadata/.cvsignore:
18518         * tests/examples/metadata/Makefile.am:
18519         * tests/examples/metadata/read-metadata.c: (message_loop),
18520         (make_pipeline), (print_tag), (main):
18521         * tests/examples/queue/.cvsignore:
18522         * tests/examples/queue/Makefile.am:
18523         * tests/examples/queue/queue.c: (event_loop), (main):
18524         * tests/examples/typefind/.cvsignore:
18525         * tests/examples/typefind/Makefile.am:
18526         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
18527         (main):
18528         * tests/examples/xml/.cvsignore:
18529         * tests/examples/xml/Makefile.am:
18530         * tests/examples/xml/createxml.c: (object_saved), (main):
18531         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
18532         * tests/old/examples/Makefile.am:
18533         * tests/old/examples/TODO:
18534         * tests/old/examples/controller/.cvsignore:
18535         * tests/old/examples/controller/Makefile.am:
18536         * tests/old/examples/controller/audio-example.c:
18537         * tests/old/examples/helloworld/.cvsignore:
18538         * tests/old/examples/helloworld/Makefile.am:
18539         * tests/old/examples/helloworld/helloworld.c:
18540         * tests/old/examples/launch/.cvsignore:
18541         * tests/old/examples/launch/Makefile.am:
18542         * tests/old/examples/launch/mp3parselaunch.c:
18543         * tests/old/examples/launch/mp3play:
18544         * tests/old/examples/manual/Makefile.am:
18545         * tests/old/examples/metadata/Makefile.am:
18546         * tests/old/examples/metadata/read-metadata.c:
18547         * tests/old/examples/queue/.cvsignore:
18548         * tests/old/examples/queue/Makefile.am:
18549         * tests/old/examples/queue/queue.c:
18550         * tests/old/examples/typefind/.cvsignore:
18551         * tests/old/examples/typefind/Makefile.am:
18552         * tests/old/examples/typefind/typefind.c:
18553         * tests/old/examples/xml/.cvsignore:
18554         * tests/old/examples/xml/Makefile.am:
18555         * tests/old/examples/xml/createxml.c:
18556         * tests/old/examples/xml/runxml.c:
18557           applied some simple fixing to some examples
18558           re-enabled the working examples
18559
18560 2005-12-12  Wim Taymans  <wim@fluendo.com>
18561
18562         * gst/gstsegment.c: (gst_segment_init),
18563         (gst_segment_set_last_stop), (gst_segment_set_seek),
18564         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
18565         (gst_segment_to_running_time):
18566         Added more documentation.
18567         Make sure the last_pos value is updated properly.
18568         Make sure to_stream_time and to_running_time don't
18569         operate on wrong values.
18570
18571         * tests/check/gst/gstsegment.c: (GST_START_TEST):
18572         Update check.
18573
18574 2005-12-12  Michael Smith  <msmith@fluendo.com>
18575
18576         * plugins/elements/gsttypefindelement.c: (free_entry),
18577         (gst_type_find_element_chain):
18578           Now that we're not leaking factories, make sure we keep references
18579           to them while we need them.
18580
18581 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18582
18583         * tests/check/gst/struct_i386.h:
18584           ifdef out the XML structs
18585
18586 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18587
18588         * gst/gstvalue.c: (gst_value_transform_double_fraction):
18589           floor is not needed, F is always positive; this obviates the
18590           need for adding -lm when building without libxml
18591
18592 2005-12-12  Wim Taymans  <wim@fluendo.com>
18593
18594         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18595         Take current playback rate into account when reporting
18596         the position.
18597
18598 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18599
18600         * docs/manual/mime-world.fig:
18601           Let's try this again, this time with a file that is
18602           actually in XFig format.
18603
18604 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18605
18606         * docs/manual/mime-world.fig:
18607           Add audioconvert element to diagram so that it
18608           matches the text and the code (fixes #319526).
18609
18610 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18611
18612         * docs/pwg/building-chainfn.xml:
18613         * docs/pwg/building-pads.xml:
18614         * docs/pwg/building-state.xml:
18615         * docs/pwg/other-source.xml:
18616           Update state change stuff for 0.10 (fixes #322969).
18617
18618 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18619
18620         * docs/manual/advanced-dataaccess.xml:
18621         * docs/manual/appendix-checklist.xml:
18622         * docs/manual/appendix-programs.xml:
18623         * docs/manual/basics-pads.xml:
18624         * docs/manual/highlevel-components.xml:
18625         * docs/manual/manual.xml:
18626           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
18627           add converters in front of pipelines; remove curly
18628           brackets for threads stuff, they no longer exist; use
18629           GST_TYPE_FRACTION for framerates; update some pieces of
18630           code to 0.10, but there's plenty more to do.
18631
18632         * docs/manual/appendix-porting.xml:
18633           Expand on asynchroneous state changes; s/0.9/0.10/;
18634           mention disappearance of gst_init_get_popt_table()
18635           (fixes #322916).
18636
18637 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18638
18639         * docs/faq/using.xml:
18640           Spider no longer exists, and neither does gst-launch-ext.
18641           Update examples to use decodebin and playbin and put
18642           converters in front of sinks (fixes #323726).
18643
18644 2005-12-09  Michael Smith  <msmith@fluendo.com>
18645
18646         * plugins/elements/gsttypefindelement.c: (find_peek),
18647         (gst_type_find_element_chain):
18648           Fix leaking element factories in typefinding.
18649           Fix problem where we forgot about a probable type on non-seekable
18650           files, and thus later mis-typefound it.
18651
18652 2005-12-09  Michael Smith  <msmith@fluendo.com>
18653
18654         * common/m4/gst-makecontext.m4:
18655         * common/m4/gst-mcsc.m4:
18656         * configure.ac:
18657         * win32/common/config.h:
18658         * win32/common/config.h.in:
18659           Remove makecontext stuff; not used in 0.10 and causes problems on
18660           HPUX according to bug #322441
18661
18662 2005-12-07  Wim Taymans  <wim@fluendo.com>
18663
18664         * tests/check/Makefile.am:
18665         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
18666         (main):
18667         * tests/check/libs/struct_i386.h:
18668         Added ABI check for libs
18669
18670 2005-12-07  Wim Taymans  <wim@fluendo.com>
18671
18672         * tests/check/Makefile.am:
18673         And add the struct_i386.h to dist.
18674
18675 2005-12-07  Wim Taymans  <wim@fluendo.com>
18676
18677         * tests/check/Makefile.am:
18678         * tests/check/gst/.cvsignore:
18679         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
18680         (main):
18681         * tests/check/gst/struct_i386.h:
18682         Added check for ABI compatibility.
18683
18684 2005-12-07  Wim Taymans  <wim@fluendo.com>
18685
18686         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18687         (gst_fake_src_get_times), (gst_fake_src_create):
18688         Fix broken sync option, fixes #323259
18689
18690 2005-12-07  Wim Taymans  <wim@fluendo.com>
18691
18692         * gst/gstbuffer.c:
18693         Small docs update.
18694
18695         * gst/gstcaps.c: (gst_caps_is_equal):
18696         Don't assert on NULL <--> X. Fixes #323260
18697
18698         * gst/gstminiobject.c: (gst_mini_object_replace):
18699         If we're doing atomic operations, we might just as well use
18700         the proper way to get an atomic pointer.
18701
18702         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18703         Clean up debugging.
18704
18705 2005-12-07  Michael Smith  <msmith@fluendo.com>
18706
18707         * gst/parse/grammar.y:
18708           Remove handling of { } for threads.
18709
18710 2005-12-06  David Schleef  <ds@schleef.org>
18711
18712         * libs/gst/base/gstbasetransform.c: speling fix.
18713
18714 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
18715
18716         * docs/libs/tmpl/gstdataprotocol.sgml:
18717         * docs/random/omega/testing/gstobject.c:
18718         * gst/gst.c:
18719         * gst/gstclock.c:
18720         * gst/gstelement.c:
18721         * gst/gstelementfactory.c:
18722         * gst/gsterror.c:
18723         * gst/gstevent.c:
18724         * gst/gstghostpad.c:
18725         * gst/gstinfo.c:
18726         * gst/gstpadtemplate.c:
18727         * gst/gstregistryxml.c:
18728         * gst/gsttaglist.c:
18729         * gst/gsttagsetter.c:
18730         * gst/gsttypefind.c:
18731         * gst/gstvalue.c:
18732         * libs/gst/base/gstbasesrc.c:
18733         * libs/gst/net/gstnetclientclock.c:
18734         * libs/gst/net/gstnettimeprovider.c:
18735         * plugins/elements/gstfakesrc.c:
18736         * plugins/elements/gstfdsrc.c:
18737         * plugins/elements/gstfilesrc.c:
18738         * plugins/elements/gstidentity.c:
18739         * plugins/elements/gstqueue.c:
18740         * plugins/elements/gsttypefindelement.c:
18741         * plugins/indexers/gstfileindex.c:
18742         * plugins/indexers/gstmemindex.c:
18743         * tests/check/gst/gsttag.c:
18744         * tests/old/examples/cutter/cutter.c:
18745         * tests/old/examples/mixer/mixer.c:
18746         * tests/old/examples/xml/runxml.c: (main):
18747         * tests/old/testsuite/caps/normalisation.c:
18748         * tests/old/testsuite/debug/global.c:
18749         * tests/old/testsuite/parse/parse1.c:
18750         * tools/gst-xmlinspect.c:
18751         * win32/common/dirent.c:
18752           expand tabs
18753
18754 === release 0.10.0 ===
18755
18756 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18757
18758         * configure.ac:
18759           releasing 0.10.0, "Maroilles"
18760
18761 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18762
18763         submitted by: Funda Wang <fundawang@linux.net.cn>
18764
18765         * po/LINGUAS:
18766         * po/zh_CN.po:
18767           added Chinese (Traditional) translation
18768
18769 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18770
18771         * docs/gst/gstreamer-sections.txt:
18772         * docs/libs/tmpl/gstdataprotocol.sgml:
18773         * docs/random/thomasvs/TODO:
18774         * gst/gstutils.c:
18775         * gst/gstutils.h:
18776           fix docs
18777
18778 2005-12-05  Andy Wingo  <wingo@pobox.com>
18779
18780         patch by: Wim Taymans <wim@fluendo.com>
18781
18782         * libs/gst/base/gstbasetransform.c
18783         (gst_base_transform_prepare_output_buf)
18784         (gst_base_transform_buffer_alloc):
18785         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
18786         alloc_buffer_and_set_caps.
18787
18788         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
18789         set_caps on the source pad.
18790         (gst_pad_alloc_buffer_and_set_caps): New function, does what
18791         alloc_buffer used to do. Fixes #322874.
18792
18793         * docs/gst/gstreamer-sections.txt: 
18794         * docs/design/part-negotiation.txt: 
18795         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
18796         changes.
18797
18798 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18799
18800         patch by: Sebastien Moutte
18801
18802         * win32/MANIFEST:
18803         * win32/common/config.h.in:
18804         * win32/vs6/libgstcontroller.dsp:
18805           win32 build fixes
18806
18807 2005-12-05  Wim Taymans  <wim@fluendo.com>
18808
18809         * gst/gstcaps.c: (gst_caps_is_equal):
18810         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18811         (gst_fake_src_create):
18812         Back out previous code changes, leave doc updates, file bugs 
18813         instead. 
18814
18815 2005-12-05  Wim Taymans  <wim@fluendo.com>
18816
18817         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18818         (gst_fake_src_get_times), (gst_fake_src_create):
18819         * plugins/elements/gstfakesrc.h:
18820         Fix broken sync code.
18821
18822 2005-12-05  Wim Taymans  <wim@fluendo.com>
18823
18824         * gst/gstcaps.c: (gst_caps_is_equal):
18825         Comparing NULL against !NULL yields different caps, not a
18826         failure.
18827
18828 2005-12-05  Wim Taymans  <wim@fluendo.com>
18829
18830         * gst/gstpipeline.c:
18831         Fix small typo in docs.
18832
18833 2005-12-05  Andy Wingo  <wingo@pobox.com>
18834
18835         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
18836
18837         * gst/gst.c (init_post): remove hard-coded 0.9 location for
18838         registries/plugins with a MAJORMINOR one.
18839         (plugin_desc): Rename library from gstcoreleements to
18840         staticelements. Fixes #323222.
18841
18842 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
18843
18844         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
18845           Change debug category to 'collectpads' from 'collect_pads'
18846           (fixes #323250).
18847
18848 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
18849
18850         patch by: Sebastien Moutte
18851
18852         * libs/gst/controller/gstinterpolation.c:
18853           use convert function for uint64/double
18854         * win32/vs6/libgstcontroller.dsp:
18855           link to GLib
18856
18857 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
18858
18859         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
18860         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
18861         * gst/gstutils.h:
18862         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
18863           add tests that seem to show that the guint64/gdouble conversions
18864           are correct.
18865
18866 2005-12-02  Wim Taymans  <wim@fluendo.com>
18867
18868         * gst/gstregistry.c: (gst_registry_add_path):
18869         * gst/gstregistry.h:
18870         * gst/gstregistryxml.c:
18871         Fix docs again.
18872
18873 2005-12-02  Wim Taymans  <wim@fluendo.com>
18874
18875         * gst/gstutils.c: (gst_util_uint64_scale_int64),
18876         (gst_util_uint64_scale_int):
18877         Small cleanup.
18878
18879         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18880         Add debug log line.
18881
18882         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
18883         Add FIXME.
18884
18885 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18886
18887         * win32/MANIFEST:
18888         * win32/common/config.h:
18889         * win32/vs6/gstreamer.dsw:
18890         * win32/vs6/libgstcoreelements.dsp:
18891         * win32/vs6/libgstelements.dsp:
18892           renamed core elements plugin
18893
18894 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18895
18896         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
18897         (get_candidates):
18898           do piece-wise major/minor comparison so 0.9 < 0.10
18899           also allow .exe extensions for tools
18900
18901 2005-12-02  Michael Smith  <msmith@fluendo.com>
18902
18903         * gst/gst.c:
18904           Escape a % to make gtkdoc happier; bug 322958.
18905
18906 === release 0.9.7 ===
18907
18908 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18909
18910         * configure.ac:
18911           releasing 0.9.7, "My Dog Has No Nose"
18912
18913 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18914
18915         * common/gst-xmlinspect.py:
18916         * configure.ac:
18917         * docs/libs/tmpl/gstdataprotocol.sgml:
18918         * docs/random/release:
18919         * po/af.po:
18920         * po/az.po:
18921         * po/bg.po:
18922         * po/ca.po:
18923         * po/cs.po:
18924         * po/de.po:
18925         * po/en_GB.po:
18926         * po/fr.po:
18927         * po/it.po:
18928         * po/nb.po:
18929         * po/nl.po:
18930         * po/ru.po:
18931         * po/sq.po:
18932         * po/sr.po:
18933         * po/sv.po:
18934         * po/tr.po:
18935         * po/uk.po:
18936         * po/vi.po:
18937         * win32/common/config.h:
18938         * win32/common/config.h.in:
18939         * win32/vs6/gst_inspect.dsp:
18940         * win32/vs6/gst_launch.dsp:
18941         * win32/vs6/libgstbase.dsp:
18942         * win32/vs6/libgstelements.dsp:
18943         * win32/vs6/libgstreamer.dsp:
18944         * win32/vs7/GStreamer.vcproj:
18945         * win32/vs7/gst-inspect.vcproj:
18946         * win32/vs7/gst-launch.vcproj:
18947         * win32/vs7/libgstbase.vcproj:
18948           bump GST_MAJORMINOR to 0.10
18949           reset libtool version
18950
18951 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18952
18953         * po/LINGUAS:
18954         * po/bg.po:
18955           Added Bulgarian translation by (Alexander Shopov)
18956
18957 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18958
18959         * tests/check/gst/gstplugin.c:
18960           fix test
18961
18962 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18963
18964         * common/gst-xmlinspect.py:
18965         * common/gtk-doc-plugins.mak:
18966         * configure.ac:
18967         * docs/Makefile.am:
18968         * docs/gst/Makefile.am:
18969         * docs/gst/gstreamer-docs.sgml:
18970         * docs/gst/gstreamer-sections.txt:
18971         * docs/gst/gstreamer.types:
18972         * docs/gst/gstreamer.types.in:
18973         * docs/plugins/Makefile.am:
18974         * docs/plugins/gstreamer-plugins-docs.sgml:
18975         * docs/plugins/gstreamer-plugins-sections.txt:
18976         * docs/plugins/gstreamer-plugins.types:
18977         * docs/plugins/inspect.stamp:
18978         * docs/plugins/inspect/plugin-coreelements.xml:
18979         * docs/plugins/inspect/plugin-coreindexers.xml:
18980         * docs/plugins/scanobj-build.stamp:
18981         * gstreamer.spec.in:
18982         * plugins/elements/Makefile.am:
18983         * plugins/elements/gstelements.c:
18984         * plugins/elements/gstfakesink.c:
18985         * plugins/elements/gstfakesrc.c:
18986         * plugins/elements/gstfilesink.c:
18987         * plugins/elements/gstfilesrc.c:
18988         * plugins/elements/gstqueue.c:
18989         * plugins/indexers/Makefile.am:
18990         * plugins/indexers/gstindexers.c:
18991           document core plugins in a separate document just like all the
18992           others
18993           rename these plugins to something starting with core
18994
18995 2005-12-01  Andy Wingo  <wingo@pobox.com>
18996
18997         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
18998         padding here before, but it missed the commit.
18999
19000 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19001
19002         * libs/gst/controller/gstinterpolation.c:
19003           whitespace prices have crashed, we should feel free to use some now
19004           use gst_guint64_to_gdouble
19005
19006 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19007
19008         * libs/gst/controller/gstcontroller.c:
19009         * libs/gst/controller/gsthelper.c:
19010         * libs/gst/controller/gstinterpolation.c:
19011         * libs/gst/controller/lib.c:
19012           wrap config.h include
19013
19014 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19015
19016         * docs/gst/gstreamer-sections.txt:
19017           update docs
19018
19019 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19020
19021         * plugins/elements/gstelements.c:
19022         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
19023         (gst_fd_sink__class_init), (gst_fd_sink__init),
19024         (gst_fd_sink__chain), (gst_fd_sink__set_property),
19025         (gst_fd_sink__get_property):
19026         * plugins/elements/gstfdsink.h:
19027         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
19028         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
19029         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
19030         (gst_fd_src_unlock), (gst_fd_src_set_property),
19031         (gst_fd_src_get_property), (gst_fd_src_create),
19032         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
19033         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
19034         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
19035         (gst_fd_src_uri_handler_init):
19036         * plugins/elements/gstfdsrc.h:
19037         * plugins/elements/gstqueue.c: (gst_queue_get_type):
19038           more anal cleanup
19039
19040 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19041
19042         * docs/gst/Makefile.am:
19043         * docs/gst/gstreamer.types.in:
19044         * gst/Makefile.am:
19045           fix the docs build
19046
19047 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19048
19049         * configure.ac:
19050         * gst/Makefile.am:
19051         * gst/gst.c:
19052         * gst/gstplugin.h:
19053         * gst/gstregistry.h:
19054         * tests/benchmarks/complexity.c:
19055         * tests/benchmarks/mass-elements.c:
19056         * tests/check/Makefile.am:
19057         * tools/Makefile.am:
19058         * tools/gst-inspect.c:
19059         * tools/gst-xmlinspect.c:
19060           various fixes to make
19061           --disable-nls --disable-registry --disable-loadsave
19062           --disable-parse --disable-gst-debug
19063           work and get the core .so down to 360444 bytes after stripping
19064
19065 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19066
19067         * Makefile.am:
19068         * configure.ac:
19069           descend into tests
19070         * docs/random/thomasvs/TODO:
19071         * tests/Makefile.am:
19072         * tests/README:
19073           add a README
19074
19075 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19076
19077         * win32/GStreamer.vcproj:
19078         * win32/MANIFEST:
19079         * win32/Makefile:
19080         * win32/Makefile.inspect:
19081         * win32/Makefile.launch:
19082         * win32/Makefile.register:
19083         * win32/README.txt:
19084         * win32/gst-inspect.vcproj:
19085         * win32/gst-launch.vcproj:
19086         * win32/gst-register.vcproj:
19087         * win32/gstelements.vcproj:
19088         * win32/gstgetbits.def:
19089         * win32/gstgetbits.vcproj:
19090         * win32/gstreamer-dbg.def:
19091         * win32/gstreamer.def:
19092         * win32/libgstbase.def:
19093         * win32/libgstbase.vcproj:
19094         * win32/link_oldruntime.c:
19095         * win32/mman.c:
19096         * win32/mman.h:
19097         * win32/mman.inl:
19098         * win32/msvc71.sln:
19099           move even more stuff, win32/ is nice and clean now
19100
19101 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19102
19103         * libs/gst/control/.cvsignore:
19104         * win32/MANIFEST:
19105         * win32/config.h:
19106         * win32/dirent.c:
19107         * win32/dirent.h:
19108         * win32/gstbytestream.def:
19109         * win32/gstbytestream.vcproj:
19110         * win32/gstconfig.h:
19111         * win32/gstenumtypes.c:
19112         * win32/gstenumtypes.h:
19113         * win32/gstoptimalscheduler.vcproj:
19114         * win32/gstversion.h:
19115         * win32/gtchar.h:
19116         * win32/testsuite/bins.vcproj:
19117         * win32/testsuite/bytestream.vcproj:
19118         * win32/testsuite/caps.vcproj:
19119         * win32/testsuite/cleanup.vcproj:
19120         * win32/testsuite/clock.vcproj:
19121         * win32/testsuite/debug.vcproj:
19122         * win32/testsuite/dlopen.vcproj:
19123         * win32/testsuite/dynparams.vcproj:
19124         * win32/testsuite/elements.vcproj:
19125         * win32/testsuite/ghostpads.vcproj:
19126         * win32/testsuite/indexers.vcproj:
19127         * win32/testsuite/negotiation.vcproj:
19128         * win32/testsuite/parse.vcproj:
19129         * win32/testsuite/plugin.vcproj:
19130         * win32/testsuite/refcounting.vcproj:
19131         * win32/testsuite/schedulers.vcproj:
19132         * win32/testsuite/states.vcproj:
19133         * win32/testsuite/tags.vcproj:
19134         * win32/testsuite/threads.vcproj:
19135           remove old win32 stuff that isn't maintained and should be
19136           reorganized
19137
19138 2005-11-30  Andy Wingo  <wingo@pobox.com>
19139
19140         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
19141         loading the gst.interfaces python module bork.
19142
19143         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
19144         available since GLib 2.2. Fixes #318031.
19145
19146 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19147
19148         * Makefile.am:
19149         * check/.cvsignore:
19150         * check/Makefile.am:
19151         * check/elements/.cvsignore:
19152         * check/elements/fakesrc.c:
19153         * check/elements/fdsrc.c:
19154         * check/elements/identity.c:
19155         * check/generic/.cvsignore:
19156         * check/generic/states.c:
19157         * check/gst-libs/.cvsignore:
19158         * check/gst-libs/controller.c:
19159         * check/gst-libs/gdp.c:
19160         * check/gst/.cvsignore:
19161         * check/gst/capslist.h:
19162         * check/gst/gst.c:
19163         * check/gst/gstbin.c:
19164         * check/gst/gstbuffer.c:
19165         * check/gst/gstbus.c:
19166         * check/gst/gstcaps.c:
19167         * check/gst/gstelement.c:
19168         * check/gst/gstevent.c:
19169         * check/gst/gstghostpad.c:
19170         * check/gst/gstiterator.c:
19171         * check/gst/gstmessage.c:
19172         * check/gst/gstminiobject.c:
19173         * check/gst/gstobject.c:
19174         * check/gst/gstpad.c:
19175         * check/gst/gstpipeline.c:
19176         * check/gst/gstplugin.c:
19177         * check/gst/gstsegment.c:
19178         * check/gst/gststructure.c:
19179         * check/gst/gstsystemclock.c:
19180         * check/gst/gsttag.c:
19181         * check/gst/gstutils.c:
19182         * check/gst/gstvalue.c:
19183         * check/net/.cvsignore:
19184         * check/net/gstnetclientclock.c:
19185         * check/net/gstnettimeprovider.c:
19186         * check/pipelines/.cvsignore:
19187         * check/pipelines/cleanup.c:
19188         * check/pipelines/simple_launch_lines.c:
19189         * check/pipelines/stress.c:
19190         * check/states/.cvsignore:
19191         * check/states/sinks.c:
19192         * configure.ac:
19193         * examples/Makefile.am:
19194         * examples/appreader/.cvsignore:
19195         * examples/appreader/Makefile.am:
19196         * examples/appreader/appreader.c:
19197         * examples/controller/.cvsignore:
19198         * examples/controller/Makefile.am:
19199         * examples/controller/audio-example.c:
19200         * examples/cutter/.cvsignore:
19201         * examples/cutter/Makefile.am:
19202         * examples/cutter/cutter.c:
19203         * examples/cutter/cutter.h:
19204         * examples/events/Makefile.am:
19205         * examples/events/seek.c:
19206         * examples/helloworld/.cvsignore:
19207         * examples/helloworld/Makefile.am:
19208         * examples/helloworld/helloworld.c:
19209         * examples/helloworld2/.cvsignore:
19210         * examples/helloworld2/Makefile.am:
19211         * examples/helloworld2/helloworld2.c:
19212         * examples/launch/.cvsignore:
19213         * examples/launch/Makefile.am:
19214         * examples/launch/mp3parselaunch.c:
19215         * examples/launch/mp3play:
19216         * examples/manual/.cvsignore:
19217         * examples/manual/Makefile.am:
19218         * examples/manual/extract.pl:
19219         * examples/metadata/Makefile.am:
19220         * examples/metadata/read-metadata.c:
19221         * examples/mixer/.cvsignore:
19222         * examples/mixer/Makefile.am:
19223         * examples/mixer/mixer.c:
19224         * examples/mixer/mixer.h:
19225         * examples/pingpong/.cvsignore:
19226         * examples/pingpong/Makefile.am:
19227         * examples/pingpong/pingpong.c:
19228         * examples/plugins/.cvsignore:
19229         * examples/plugins/Makefile.am:
19230         * examples/plugins/example.c:
19231         * examples/plugins/example.h:
19232         * examples/pwg/.cvsignore:
19233         * examples/pwg/Makefile.am:
19234         * examples/pwg/extract.pl:
19235         * examples/queue/.cvsignore:
19236         * examples/queue/Makefile.am:
19237         * examples/queue/queue.c:
19238         * examples/queue2/.cvsignore:
19239         * examples/queue2/Makefile.am:
19240         * examples/queue2/queue2.c:
19241         * examples/queue3/.cvsignore:
19242         * examples/queue3/Makefile.am:
19243         * examples/queue3/queue3.c:
19244         * examples/queue4/.cvsignore:
19245         * examples/queue4/Makefile.am:
19246         * examples/queue4/queue4.c:
19247         * examples/retag/.cvsignore:
19248         * examples/retag/Makefile.am:
19249         * examples/retag/retag.c:
19250         * examples/retag/transcode.c:
19251         * examples/thread/.cvsignore:
19252         * examples/thread/Makefile.am:
19253         * examples/thread/thread.c:
19254         * examples/typefind/.cvsignore:
19255         * examples/typefind/Makefile.am:
19256         * examples/typefind/typefind.c:
19257         * examples/xml/.cvsignore:
19258         * examples/xml/Makefile.am:
19259         * examples/xml/createxml.c:
19260         * examples/xml/runxml.c:
19261         * tests/Makefile.am:
19262         * tests/check/Makefile.am:
19263         * testsuite/.cvsignore:
19264         * testsuite/Makefile.am:
19265         * testsuite/Rules:
19266         * testsuite/caps/.cvsignore:
19267         * testsuite/caps/Makefile.am:
19268         * testsuite/caps/app_fixate.c:
19269         * testsuite/caps/audioscale.c:
19270         * testsuite/caps/caps.c:
19271         * testsuite/caps/caps.h:
19272         * testsuite/caps/caps_strings:
19273         * testsuite/caps/compatibility.c:
19274         * testsuite/caps/deserialize.c:
19275         * testsuite/caps/enumcaps.c:
19276         * testsuite/caps/eratosthenes.c:
19277         * testsuite/caps/filtercaps.c:
19278         * testsuite/caps/fixed.c:
19279         * testsuite/caps/fraction-convert.c:
19280         * testsuite/caps/fraction-multiply-and-zero.c:
19281         * testsuite/caps/intersect2.c:
19282         * testsuite/caps/intersection.c:
19283         * testsuite/caps/normalisation.c:
19284         * testsuite/caps/random.c:
19285         * testsuite/caps/renegotiate.c:
19286         * testsuite/caps/sets.c:
19287         * testsuite/caps/simplify.c:
19288         * testsuite/caps/string-conversions.c:
19289         * testsuite/caps/structure.c:
19290         * testsuite/caps/subtract.c:
19291         * testsuite/caps/union.c:
19292         * testsuite/debug/.cvsignore:
19293         * testsuite/debug/Makefile.am:
19294         * testsuite/debug/category.c:
19295         * testsuite/debug/commandline.c:
19296         * testsuite/debug/global.c:
19297         * testsuite/debug/output.c:
19298         * testsuite/debug/printf_extension.c:
19299         * testsuite/dlopen/.cvsignore:
19300         * testsuite/dlopen/Makefile.am:
19301         * testsuite/dlopen/dlopen_gst.c:
19302         * testsuite/dlopen/loadgst.c:
19303         * testsuite/elements/.cvsignore:
19304         * testsuite/elements/Makefile.am:
19305         * testsuite/elements/gst-inspect-check.in:
19306         * testsuite/elements/struct_i386.h:
19307         * testsuite/elements/struct_size.c:
19308         * testsuite/indexers/.cvsignore:
19309         * testsuite/indexers/Makefile.am:
19310         * testsuite/indexers/cache1.c:
19311         * testsuite/indexers/indexdump.c:
19312         * testsuite/parse/.cvsignore:
19313         * testsuite/parse/Makefile.am:
19314         * testsuite/parse/parse1.c:
19315         * testsuite/parse/parse2.c:
19316         * testsuite/plugin/.cvsignore:
19317         * testsuite/plugin/Makefile.am:
19318         * testsuite/plugin/README:
19319         * testsuite/plugin/dynamic.c:
19320         * testsuite/plugin/linked.c:
19321         * testsuite/plugin/loading.c:
19322         * testsuite/plugin/registry.c:
19323         * testsuite/plugin/static.c:
19324         * testsuite/plugin/static2.c:
19325         * testsuite/plugin/testplugin.c:
19326         * testsuite/plugin/testplugin2.c:
19327         * testsuite/plugin/testplugin2_s.c:
19328         * testsuite/plugin/testplugin_s.c:
19329         * testsuite/refcounting/.cvsignore:
19330         * testsuite/refcounting/Makefile.am:
19331         * testsuite/refcounting/bin.c:
19332         * testsuite/refcounting/element.c:
19333         * testsuite/refcounting/element_pad.c:
19334         * testsuite/refcounting/mainloop.c:
19335         * testsuite/refcounting/mem.c:
19336         * testsuite/refcounting/mem.h:
19337         * testsuite/refcounting/object.c:
19338         * testsuite/refcounting/pad.c:
19339         * testsuite/refcounting/sched.c:
19340         * testsuite/refcounting/thread.c:
19341         * testsuite/states/.cvsignore:
19342         * testsuite/states/Makefile.am:
19343         * testsuite/states/bin.c:
19344         * testsuite/states/locked.c:
19345         * testsuite/states/parent.c:
19346         * testsuite/threads/.cvsignore:
19347         * testsuite/threads/159566.c:
19348         * testsuite/threads/159852.c:
19349         * testsuite/threads/Makefile.am:
19350         * testsuite/threads/queue.c:
19351         * testsuite/threads/signals.c:
19352         * testsuite/threads/staticrec.c:
19353         * testsuite/threads/thread.c:
19354         * testsuite/threads/threadb.c:
19355         * testsuite/threads/threadc.c:
19356         * testsuite/threads/threadd.c:
19357         * testsuite/threads/threade.c:
19358         * testsuite/threads/threadf.c:
19359         * testsuite/threads/threadg.c:
19360         * testsuite/threads/threadh.c:
19361         * testsuite/threads/threadi.c:
19362           move all of these under tests
19363
19364 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19365
19366         * configure.ac:
19367         * tests/Makefile.am:
19368           fix distcheck
19369
19370 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19371
19372         * docs/gst/gstreamer-sections.txt:
19373         * tests/sched/.cvsignore:
19374         * tests/sched/Makefile.am:
19375         * tests/sched/cases/(fs-fs).xml:
19376         * tests/sched/cases/(fs-i-fs).xml:
19377         * tests/sched/cases/(fs-i-i-fs).xml:
19378         * tests/sched/cases/(fs-i-q[i-fs]).xml:
19379         * tests/sched/dynamic-pipeline.c:
19380         * tests/sched/interrupt1.c:
19381         * tests/sched/interrupt2.c:
19382         * tests/sched/interrupt3.c:
19383         * tests/sched/runtestcases:
19384         * tests/sched/runxml.c:
19385         * tests/sched/sched-stress.c:
19386         * tests/sched/sort.c:
19387         * tests/sched/testcases:
19388         * tests/sched/testcases1.tc:
19389         * tests/seeking/.cvsignore:
19390         * tests/seeking/Makefile.am:
19391         * tests/seeking/seeking1.c:
19392         * tests/threadstate/.cvsignore:
19393         * tests/threadstate/Makefile.am:
19394         * tests/threadstate/test1.c:
19395         * tests/threadstate/test2.c:
19396         * tests/threadstate/threadstate1.c:
19397         * tests/threadstate/threadstate2.c:
19398         * tests/threadstate/threadstate3.c:
19399         * tests/threadstate/threadstate4.c:
19400         * tests/threadstate/threadstate5.c:
19401           remove obsolete tests
19402         * configure.ac:
19403         * tests/bench-complexity.scm:
19404         * tests/bench-mass_elements.scm:
19405         * tests/complexity.c:
19406         * tests/complexity.gnuplot:
19407         * tests/instantiate/.cvsignore:
19408         * tests/instantiate/Makefile.am:
19409         * tests/instantiate/caps.c:
19410         * tests/mass_elements.c:
19411         * tests/network-clock-utils.scm:
19412         * tests/network-clock.scm:
19413         * tests/plot-data:
19414         First pass at cleaning up tests/ dir before moving the rest
19415         Combined with CVS surgery
19416
19417 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19418
19419         * po/POTFILES.in:
19420           queue has moved, update
19421
19422 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19423
19424         * docs/gst/gstreamer-sections.txt:
19425           remove double entries from the docs
19426         * gst/gst_private.h:
19427         * gst/gstinfo.c: (_gst_debug_init):
19428           remove the THREAD debug category
19429         * gst/Makefile.am:
19430         * gst/gstqueue.c:
19431         * gst/gstqueue.h:
19432         * docs/gst/gstreamer.types:
19433         * plugins/elements/gstqueue.c: (gst_queue_get_type),
19434         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
19435           completely move queue and fix up debugging categories
19436
19437 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19438
19439         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
19440           make initialization portable, using LL is not
19441
19442 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19443
19444         * win32/common/gstconfig.h:
19445           add large padding
19446
19447 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19448
19449         * win32/common/libgstreamer.def:
19450           rename symbols; sort base section
19451
19452 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19453
19454         * gst/gstclock.c: (do_linear_regression):
19455           remove crack non-portable handrolled DEBUG macro
19456
19457 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19458
19459         * docs/random/release:
19460           update notes
19461         * win32/common/gstenumtypes.c: (register_gst_object_flags),
19462         (gst_object_flags_get_type), (register_gst_bin_flags),
19463         (gst_bin_flags_get_type), (register_gst_buffer_flag),
19464         (gst_buffer_flag_get_type), (register_gst_bus_flags),
19465         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
19466         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
19467         (gst_caps_flags_get_type), (register_gst_clock_return),
19468         (gst_clock_return_get_type), (register_gst_clock_entry_type),
19469         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
19470         (gst_clock_flags_get_type), (register_gst_state),
19471         (gst_state_get_type), (register_gst_state_change_return),
19472         (gst_state_change_return_get_type), (register_gst_state_change),
19473         (gst_state_change_get_type), (register_gst_element_flags),
19474         (gst_element_flags_get_type), (register_gst_core_error),
19475         (gst_core_error_get_type), (register_gst_library_error),
19476         (gst_library_error_get_type), (register_gst_resource_error),
19477         (gst_resource_error_get_type), (register_gst_stream_error),
19478         (gst_stream_error_get_type), (register_gst_event_type_flags),
19479         (gst_event_type_flags_get_type), (register_gst_event_type),
19480         (gst_event_type_get_type), (register_gst_seek_type),
19481         (gst_seek_type_get_type), (register_gst_seek_flags),
19482         (gst_seek_flags_get_type), (register_gst_format),
19483         (gst_format_get_type), (register_gst_index_certainty),
19484         (gst_index_certainty_get_type), (register_gst_index_entry_type),
19485         (gst_index_entry_type_get_type),
19486         (register_gst_index_lookup_method),
19487         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
19488         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
19489         (gst_index_resolver_method_get_type), (register_gst_index_flags),
19490         (gst_index_flags_get_type), (register_gst_debug_level),
19491         (gst_debug_level_get_type), (register_gst_debug_color_flags),
19492         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
19493         (gst_iterator_result_get_type), (register_gst_iterator_item),
19494         (gst_iterator_item_get_type), (register_gst_message_type),
19495         (gst_message_type_get_type), (register_gst_mini_object_flags),
19496         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
19497         (gst_pad_link_return_get_type), (register_gst_flow_return),
19498         (gst_flow_return_get_type), (register_gst_activate_mode),
19499         (gst_activate_mode_get_type), (register_gst_pad_direction),
19500         (gst_pad_direction_get_type), (register_gst_pad_flags),
19501         (gst_pad_flags_get_type), (register_gst_pad_presence),
19502         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
19503         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
19504         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
19505         (gst_plugin_error_get_type), (register_gst_plugin_flags),
19506         (gst_plugin_flags_get_type), (register_gst_rank),
19507         (gst_rank_get_type), (register_gst_query_type),
19508         (gst_query_type_get_type), (register_gst_tag_merge_mode),
19509         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
19510         (gst_tag_flag_get_type), (register_gst_task_state),
19511         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
19512         (gst_alloc_trace_flags_get_type),
19513         (register_gst_type_find_probability),
19514         (gst_type_find_probability_get_type), (register_gst_uri_type),
19515         (gst_uri_type_get_type), (register_gst_parse_error),
19516         (gst_parse_error_get_type):
19517         * win32/common/gstenumtypes.h:
19518         * win32/common/gstversion.h:
19519           update visual studio generated files
19520
19521 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19522
19523         * win32/vs6/libgstbase.dsp:
19524         * win32/vs6/libgstelements.dsp:
19525           update project files for new locations
19526
19527 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19528
19529         * Makefile.am:
19530           remove some files
19531         * README:
19532           reinstate and update
19533         * DEVEL:
19534         * REQUIREMENTS:
19535           removed
19536         * LICENSE:
19537         * docs/random/LICENSE:
19538           moved to random
19539
19540 2005-11-30  Edward Hervey  <edward@fluendo.com>
19541
19542         * gst/gsttypefind.c: (gst_type_find_register):
19543         * gst/gsttypefind.h:
19544         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
19545         (gst_type_find_factory_dispose):
19546         * gst/gsttypefindfactory.h:
19547         Fix memory leak in GstTypeFindFactory.
19548
19549 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19550
19551         * gst/gst.c:
19552         * plugins/elements/Makefile.am:
19553         * plugins/elements/gstelements.c:
19554         * plugins/elements/gstqueue.c:
19555           move queue from core to the elements plugin
19556
19557 2005-11-29  Andy Wingo  <wingo@pobox.com>
19558
19559         * libs/gst/base/gstbasetransform.h: 
19560         * libs/gst/base/gstbasesrc.h: 
19561         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
19562
19563         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
19564         of pointers by which to pad very extensible base classes (like the
19565         ones in libs/gst/base).
19566
19567 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19568
19569         * docs/gst/gstreamer-docs.sgml:
19570         * docs/gst/gstreamer-sections.txt:
19571         * docs/libs/gstreamer-libs-docs.sgml:
19572         * docs/libs/gstreamer-libs-sections.txt:
19573           moving documentation from core to lib
19574
19575 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19576
19577         * check/Makefile.am:
19578         * configure.ac:
19579         * docs/gst/Makefile.am:
19580         * gst/Makefile.am:
19581         * gst/base/.cvsignore:
19582         * gst/base/Makefile.am:
19583         * gst/base/README:
19584         * gst/base/gstadapter.c:
19585         * gst/base/gstadapter.h:
19586         * gst/base/gstbasesink.c:
19587         * gst/base/gstbasesink.h:
19588         * gst/base/gstbasesrc.c:
19589         * gst/base/gstbasesrc.h:
19590         * gst/base/gstbasetransform.c:
19591         * gst/base/gstbasetransform.h:
19592         * gst/base/gstcollectpads.c:
19593         * gst/base/gstcollectpads.h:
19594         * gst/base/gstpushsrc.c:
19595         * gst/base/gstpushsrc.h:
19596         * gst/base/gsttypefindhelper.c:
19597         * gst/base/gsttypefindhelper.h:
19598         * gst/check/Makefile.am:
19599         * gst/check/gstcheck.c:
19600         * gst/check/gstcheck.h:
19601         * gst/net/Makefile.am:
19602         * gst/net/gstnet.h:
19603         * gst/net/gstnetclientclock.c:
19604         * gst/net/gstnetclientclock.h:
19605         * gst/net/gstnettimepacket.c:
19606         * gst/net/gstnettimepacket.h:
19607         * gst/net/gstnettimeprovider.c:
19608         * gst/net/gstnettimeprovider.h:
19609         * libs/gst/Makefile.am:
19610         * libs/gst/base/Makefile.am:
19611         * libs/gst/base/gstbasetransform.c:
19612         * libs/gst/check/Makefile.am:
19613         * plugins/elements/Makefile.am:
19614         * po/POTFILES.in:
19615           CVS surgery + support to move base, check, and net out of gst
19616           and into libs/gst
19617
19618 2005-11-29  Andy Wingo  <wingo@pobox.com>
19619
19620         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
19621
19622         * gst/gststructure.h (struct _GstStructure): Only one pointer of
19623         padding.
19624
19625         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
19626
19627         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
19628
19629         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
19630
19631         * gst/gstobject.h: (struct _GstObject): Only one pointer of
19632         padding; reduces object size by about 30%. We don't expect
19633         anything else to go into gstobject.
19634
19635         * gst/gstminiobject.h (struct _GstMiniObject)
19636         (struct _GstMiniObjectClass): Only one pointer of padding; the
19637         payload is only a pointer and two ints anyway. For the class there
19638         are only two methods as well.
19639         
19640         * gst/gstelement.h (struct _GstElementClass): Removed
19641         the state_changed signal callback, it is not used.
19642
19643 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19644
19645         * docs/gst/gstreamer.types:
19646           fix includes, though they are a little dinky
19647
19648 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19649
19650         * check/Makefile.am:
19651           look in the right place for elements, a lot more chance of
19652           success
19653         * gst/Makefile.am:
19654           remove indexers and elements subdirs
19655         * plugins/Makefile.am:
19656           make indexers conditional
19657
19658 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19659
19660         * Makefile.am:
19661         * configure.ac:
19662         * plugins/elements/Makefile.am:
19663         * plugins/elements/gstcapsfilter.c:
19664         * plugins/elements/gstfilesink.c:
19665         * plugins/elements/gstfilesrc.c:
19666         * plugins/elements/gstidentity.c:
19667         * plugins/indexers/Makefile.am:
19668           do CVS surgery and related build fixery to move elements
19669           and indexers in a new gstreamer/plugins directory, out of the
19670           gst/ directory
19671
19672 2005-11-29  Andy Wingo  <wingo@pobox.com>
19673
19674         * check/Makefile.am:
19675         * pkgconfig/gstreamer-net-uninstalled.pc.in:
19676         * pkgconfig/gstreamer-net.pc.in:
19677         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
19678         #322257.
19679
19680 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19681
19682         * tools/Makefile.am:
19683         * tools/gst-complete.1.in:
19684         * tools/gst-complete.c:
19685         * tools/gst-compprep.1.in:
19686         * tools/gst-compprep.c:
19687           removing -compprep and -complete
19688
19689 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19690
19691         * gst/gstevent.c: (gst_event_new_new_segment),
19692         (gst_event_parse_new_segment):
19693         * gst/gstevent.h:
19694           fix #320529 - clean up new_segment API and structure.
19695           Let's hope everyone was using the methods, and not the structure.
19696
19697 2005-11-29  Edward Hervey  <edward@fluendo.com>
19698
19699         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19700         (gst_base_sink_event), (gst_base_sink_do_sync),
19701         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
19702         Properly handle non GST_FORMAT_TIME segment
19703         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
19704         Properly handle non GST_FORMAT_TIME segment
19705         * gst/gstsegment.c:
19706         This function is valid if the accumulator is 0 and the format
19707         is different from the requested format.
19708         
19709 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
19710
19711         * docs/gst/gstreamer-sections.txt:
19712         Add gst_query_new_seeking and gst_query_parse_seeking to the
19713         docs.
19714
19715 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
19716
19717         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
19718           Treat a pad alloc with new caps the same as if we were not
19719           negotiated, in order to allow a changing upstream output
19720           to produce a new format of data.
19721
19722 2005-11-29  Edward Hervey  <edward@fluendo.com>
19723
19724         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
19725         (gst_base_transform_event), (gst_base_transform_eventfunc):
19726         The event virtual method is now properly implemented, with a default
19727         handler
19728         Sub classes should call the parent_class event method. They should
19729         return FALSE if they had a problem handling the given event, or don't
19730         want GstBaseTransform to send that even downstream
19731         * gst/elements/gstidentity.c: (gst_identity_class_init),
19732         (gst_identity_init), (gst_identity_event),
19733         (gst_identity_transform_ip), (gst_identity_set_property),
19734         (gst_identity_get_property):
19735         * gst/elements/gstidentity.h:
19736         Added the single-segment boolean property.
19737         If set to TRUE, it will output a single segment of data, starting from
19738         0, will eat up all incoming newsegment, and modify the timestamp of the
19739         buffers accordingly
19740
19741 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
19742
19743         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
19744           Don't ref NULL target pad (#322751). Improve docs.
19745
19746 2005-11-29  Michael Smith  <msmith@fluendo.com>
19747
19748         * gst/gstregistryxml.c: (load_plugin):
19749           Don't crash if we failed to load a feature from a plugin. 
19750
19751 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19752
19753         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
19754         (GST_START_TEST):
19755           use more check API and less GLib API
19756
19757 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19758
19759         * Makefile.am:
19760           don't run checks if we don't have check
19761         * common/check.mak:
19762           remove the registry when running make torture
19763         * docs/gst/gstreamer-sections.txt:
19764           remove second multiply
19765         * gst/gstqueue.c: (gst_queue_loop):
19766           fix a compile warning when disabling debug
19767
19768 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
19769
19770         * gst/gstinfo.h:
19771         Hey! Let's print the pad name if the pointer != NULL instead
19772         of when it == NULL :-)
19773
19774 2005-11-28  Wim Taymans  <wim@fluendo.com>
19775
19776         * check/gst/gstutils.c: (GST_START_TEST):
19777         Updated check, add some scaling accuracy checking code.
19778
19779         * gst/gstutils.c: (gst_util_div128_64),
19780         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
19781         (gst_util_uint64_scale_int):
19782         Fix 6 times faster division code. Optimize for common 
19783         1/1 and less common X/1 cases.
19784
19785 2005-11-28  Wim Taymans  <wim@fluendo.com>
19786
19787         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19788         More checks.
19789
19790         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
19791         (do_linear_regression), (gst_clock_add_observation):
19792         Cleanups.
19793         Release lock when the clock cannot be slaved.
19794         Catch the case where the regression returned an invalid denominator.
19795
19796         * gst/gstutils.c: (gst_util_div128_64_iterate),
19797         (gst_util_div128_64), (gst_util_uint64_scale_int64),
19798         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
19799         Add protentially more performant non-iterative 128/64 divide function
19800         that unfortunatly does not work yet.
19801         Shortcut the trivial 0/X = 0 case.
19802         Remove the warnings on overflow.
19803
19804 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19805
19806         * gst/gstplugin.c: (gst_plugin_register_func):
19807           everything causing a plugin not to load should be at least a WARNING
19808
19809 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
19810
19811         * docs/random/ensonic/dparams.txt:
19812           some TODOs for the next dev cycle
19813         * libs/gst/controller/gstcontroller.c:
19814         (gst_controlled_property_set_interpolation_mode),
19815         (gst_controlled_property_new):
19816         * libs/gst/controller/gstcontroller.h:
19817           use base type to assign acccessor functions
19818
19819 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
19820
19821         * check/Makefile.am:
19822         Oops, that should have been top_srcdir
19823
19824 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
19825
19826         * check/Makefile.am:
19827         * check/elements/fdsrc.c: (GST_START_TEST):
19828         Use a cmdline define to specify the location of a file to use for
19829         testing, to avoid breaking distcheck.
19830
19831 2005-11-28  Andy Wingo  <wingo@pobox.com>
19832
19833         * gst/gstpad.c (fixate_value): Use array functions for arrays.
19834
19835 2005-11-28  Edward Hervey  <edward@fluendo.com>
19836
19837         * tools/gst-launch.c: (main):
19838         Clarify the output strings, makes it easier to translate.
19839         Fixes #322626
19840
19841 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19842
19843         * gst/Makefile.am:
19844           don't try and build net if we don't even have <sys/socket.h>
19845
19846 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
19847
19848         * check/Makefile.am:
19849         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
19850         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
19851           Add tests for fdsrc seekability
19852
19853         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
19854         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
19855         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
19856         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
19857         * gst/elements/gstfdsrc.h:
19858           fdsrc should not be a 'live' source.
19859           Implement seeking on seekable fd's.
19860
19861         * gst/gstquery.c: (gst_query_new_seeking),
19862         (gst_query_parse_seeking):
19863         * gst/gstquery.h:
19864           Implement SEEKING query functions: 
19865             *_new_seeking and *_parse_seeking
19866
19867 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
19868
19869         * gst/gstelement.c: (gst_element_dispose):
19870           don't loop forever
19871
19872         * gst/gstiterator.c:
19873         * gst/gststructure.c:
19874           doc fixes
19875
19876         * libs/gst/controller/gstcontroller.c:
19877         (gst_controlled_property_set_interpolation_mode):
19878         * libs/gst/controller/gstcontroller.h:
19879         * libs/gst/controller/gstinterpolation.c:
19880         (interpolate_none_get_enum_value_array):
19881           support controlling enums
19882
19883 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
19884
19885         * gst/gstvalue.c:
19886           Improve documentation for gst_value_union().
19887
19888         * gst/gstvalue.h:
19889           Change return value for union, intersect and subtract functions
19890           from gint to gboolean.
19891
19892 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
19893
19894         * gst/gstvalue.c: (gst_value_serialize_any_list),
19895         (gst_value_transform_any_list_string),
19896         (gst_value_deserialize_list), (gst_value_deserialize_array),
19897         (gst_value_set_int_range), (gst_value_deserialize_int_range),
19898         (gst_value_set_double_range), (gst_value_deserialize_double_range),
19899         (gst_value_set_fraction_range_full),
19900         (gst_value_deserialize_fraction_range),
19901         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
19902         (gst_value_deserialize_boolean),
19903         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
19904         (gst_value_serialize_float), (gst_value_deserialize_float),
19905         (gst_string_wrap), (gst_value_deserialize_string),
19906         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
19907         (gst_value_union_int_range_int_range),
19908         (gst_value_intersect_int_range_int_range),
19909         (gst_value_intersect_double_range_double_range),
19910         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
19911         (gst_value_subtract_int_range_int_range),
19912         (gst_value_subtract_double_double_range),
19913         (gst_value_subtract_double_range_double_range),
19914         (gst_value_deserialize_fraction):
19915         * gst/gstvalue.h:
19916           Use gint, gdouble and gchar in our API instead of int, double and
19917           char (and make usage in gstvalue.c more consistent).
19918
19919 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
19920
19921         * check/Makefile.am:
19922         * libs/gst/controller/Makefile.am:
19923         * libs/gst/dataprotocol/Makefile.am:
19924           fix up Makefile.am and remove GST_ENABLE_NEW
19925
19926 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
19927
19928         * configure.ac:
19929         * gst/Makefile.am:
19930         * gst/base/Makefile.am:
19931         * gst/check/Makefile.am:
19932         * gst/elements/Makefile.am:
19933         * gst/net/Makefile.am:
19934           update LDFLAGS use some more
19935
19936 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
19937
19938         * common/m4/gst-doc.m4:
19939           Fixes #312589
19940
19941 2005-11-26  Edward Hervey  <edward@fluendo.com>
19942
19943         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
19944         This shouldn't issue a g_warning since it returns NULL if it
19945         couldn't find the plugin, and all functions using this behave
19946         properly on a NULL return. Switching to a GST_WARNING.
19947
19948 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
19949
19950         * gst/gstbin.c: (gst_bin_handle_message_func):
19951         Don't leak clock messages.
19952
19953 2005-11-25  Wim Taymans  <wim@fluendo.com>
19954
19955         * gst/gstutils.c: (gst_util_uint64_scale_int64),
19956         (gst_util_uint64_scale_int):
19957         Optimisations, remove unneeded vars.
19958
19959 2005-11-25  Wim Taymans  <wim@fluendo.com>
19960
19961         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19962         Added more checks for the high precision uint64 cases.
19963
19964         * gst/gstutils.c: (gst_util_uint64_scale_int64),
19965         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
19966         Implement high precision (guint64 * guint64) / guint64.
19967
19968 2005-11-24  Wim Taymans  <wim@fluendo.com>
19969
19970         * gst/base/gstbasesrc.c: (gst_base_src_query):
19971         Fix wrong percentage query.
19972
19973         * gst/gstutils.c: (gst_util_uint64_scale),
19974         (gst_util_uint64_scale_int):
19975         Add some more common cases that can be handled 
19976         efficiently to _scale.
19977
19978 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
19979
19980         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
19981         (gst_mini_object_suite):
19982           don't use check calls from threads; check probably isn't
19983           threadsafe and using a lock to make it threadsafe would
19984           defeat the purpose of this check
19985         * gst/check/gstcheck.c:
19986         * gst/check/gstcheck.h:
19987           use GST_DEBUG some more
19988
19989 2005-11-24  Wim Taymans  <wim@fluendo.com>
19990
19991         * gst/gstutils.c: (gst_util_uint64_scale),
19992         (gst_util_uint64_scale_int):
19993         Chain trivial case to _scale_int.
19994
19995 2005-11-24  Wim Taymans  <wim@fluendo.com>
19996
19997         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19998         Added test for scaling.
19999
20000         * gst/gstclock.h:
20001         Small doc fix.
20002
20003         * gst/gstutils.c: (gst_util_uint64_scale_int):
20004         Implemented high precision scaling code.
20005
20006 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
20007
20008         * gst/gstinfo.h:
20009           do not crash on pad==NULL
20010
20011 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20012
20013         Patch by: Stefan Kost
20014
20015         * common/gtk-doc.mak:
20016         * docs/gst/Makefile.am:
20017         * docs/libs/Makefile.am:
20018           Fix distcheck issues for the libraries docs build
20019           Closes #319599.
20020
20021 2005-11-24  Michael Smith <msmith@fluendo.com>
20022
20023         * docs/manual/basics-helloworld.xml:
20024           Fix bug #315027: memory leak in example code in docs.
20025
20026 2005-11-24  Michael Smith <msmith@fluendo.com>
20027
20028         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20029           Unlock the PREROLL_LOCK in a failure case.
20030
20031 2005-11-24  Wim Taymans  <wim@fluendo.com>
20032
20033         * docs/gst/gstreamer-sections.txt:
20034         * gst/base/gstadapter.h:
20035         * gst/base/gstbasesink.h:
20036         * gst/base/gstbasesrc.h:
20037         * gst/base/gstbasetransform.h:
20038         * gst/base/gstpushsrc.h:
20039         * gst/elements/gstfakesink.h:
20040         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
20041         * gst/elements/gstfakesrc.h:
20042         * gst/elements/gstfilesink.h:
20043         * gst/elements/gstfilesrc.h:
20044         * gst/gst.c:
20045         * gst/gstbin.c:
20046         * gst/gstbuffer.c: (_gst_buffer_copy):
20047         * gst/gstbus.h:
20048         * gst/gstcaps.c:
20049         * gst/gstchildproxy.c:
20050         * gst/gstclock.c:
20051         * gst/gstelement.c:
20052         * gst/gstelementfactory.c:
20053         * gst/gstelementfactory.h:
20054         * gst/gstevent.c:
20055         * gst/gstghostpad.h:
20056         * gst/gstindex.h:
20057         * gst/gstinterface.h:
20058         * gst/gstminiobject.c:
20059         * gst/gstminiobject.h:
20060         * gst/gstpad.c:
20061         * gst/gstpad.h:
20062         * gst/gstpadtemplate.h:
20063         * gst/gstpipeline.h:
20064         * gst/gstpluginfeature.h:
20065         * gst/gstquery.h:
20066         * gst/gstqueue.h:
20067         * gst/gsttaglist.c:
20068         * gst/gsttaglist.h:
20069         * gst/gsttagsetter.c:
20070         * gst/gsttagsetter.h:
20071         * gst/gsttrace.c:
20072         * gst/gsttrace.h:
20073         * gst/gsttypefind.h:
20074         * gst/gsturi.h:
20075         * gst/gstvalue.c:
20076         * gst/net/gstnetclientclock.c:
20077         * gst/net/gstnetclientclock.h:
20078         * gst/net/gstnettimepacket.c:
20079         * gst/net/gstnettimeprovider.c:
20080         * gst/net/gstnettimeprovider.h:
20081         Doc fixes.
20082
20083 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20084
20085         * configure.ac: back to HEAD
20086
20087 === release 0.9.6 ===
20088
20089 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
20090
20091         * configure.ac:
20092           releasing 0.9.6, "Always On Time"
20093
20094 2005-11-23  Wim Taymans  <wim@fluendo.com>
20095
20096         * docs/gst/gstreamer-sections.txt:
20097         * gst/glib-compat.c:
20098         * gst/gsttagsetter.c:
20099         * gst/gstvalue.c:
20100         * gst/net/gstnetclientclock.c:
20101         * gst/net/gstnettimepacket.h:
20102         Doc updates.
20103
20104 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20105
20106         * docs/faq/using.xml:
20107         * docs/libs/tmpl/gstcontrol.sgml:
20108         * docs/manual/advanced-dparams.xml:
20109         * docs/manual/appendix-checklist.xml:
20110         * docs/manual/basics-elements.xml:
20111         * docs/pwg/other-source.xml:
20112         * docs/random/moving-plugins:
20113         * gst/gstpad.c:
20114         * tools/gst-launch.1.in:
20115           remove mentions of sinesrc
20116
20117 2005-11-23  Michael Smith <msmith@fluendo.com>
20118
20119         * docs/gst/gstreamer-sections.txt:
20120           Update for new API and API changes.
20121         * gst/gstobject.h:
20122           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
20123         * gst/gstvalue.c:
20124           Documentation typo fix.
20125         * gst/net/gstnettimepacket.c:
20126           Documentation fixes for arguments.
20127
20128 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
20129
20130         * gst/gststructure.c: (gst_structure_get_fraction),
20131         (gst_structure_parse_value),
20132         (gst_structure_fixate_field_nearest_fraction):
20133         * gst/gststructure.h:
20134         * gst/gstutils.c: (gst_util_uint64_scale_int):
20135         * gst/gstutils.h:
20136         * scripts/update-funcnames:
20137         API Changes. 
20138         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
20139         Make gst_structure_fixate_field_nearest_fraction take a numerator
20140         and denominator argument instead of a GValue
20141         add gst_structure_get_fraction helper function.
20142
20143 2005-11-23  Wim Taymans  <wim@fluendo.com>
20144
20145         * docs/design/part-TODO.txt:
20146         Update TODO.
20147
20148         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
20149         * gst/net/gstnetclientclock.h:
20150         Use parent fields for timeout and window_size.
20151
20152 2005-11-23  Andy Wingo  <wingo@pobox.com>
20153
20154         * check/net/gstnetclientclock.c (test_functioning): Adjust to
20155         rate_num/rate_denom change.
20156
20157         * gst/net/gstnetclientclock.c
20158         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
20159         OBJECT_LOCK. Don't call add_observation with the lock.
20160
20161         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
20162         fraction.
20163         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
20164         rate fraction.
20165         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
20166         deal with rate as a fraction whose numerator and denominator are
20167         GstClockTime values.
20168         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
20169         master; the other fields are protected by the SLAVE_LOCK.
20170         (do_linear_regression): Note that this must be called with the
20171         SLAVE_LOCK.
20172         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
20173         OBJECT_LOCK. Call set_calibration instead of touching the
20174         variables directly.
20175         (gst_clock_set_property, gst_clock_get_property): Protect
20176         master/slave parameters with the SLAVE_LOCK.
20177
20178         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
20179         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
20180         note that all of the instance variables that add_observation and
20181         the set_master functions use are protected by that lock and not
20182         the OBJECT_LOCK.
20183         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
20184
20185         * gst/gstclock.c (gst_clock_add_observation): No longer requires
20186         the caller to take the object lock.
20187
20188 2005-11-23  Wim Taymans  <wim@fluendo.com>
20189
20190         * gst/gsterror.c: (_gst_core_errors_init):
20191         * gst/gsterror.h:
20192         Add error for clock stuff.
20193
20194         * gst/gstpipeline.c: (gst_pipeline_change_state),
20195         (gst_pipeline_set_clock):
20196         Post clock error when clock cannot be used in a pipeline.
20197
20198 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
20199
20200         * docs/gst/gstreamer-sections.txt:
20201           make two symbols from gstinfo private for the docs
20202         * gst/base/gstcollectpads.h:
20203         * gst/gstutils.c:
20204           fix doc typos, update docs
20205
20206 2005-11-22  Wim Taymans  <wim@fluendo.com>
20207
20208         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
20209         (gst_base_sink_wait), (gst_base_sink_do_sync),
20210         (gst_base_sink_handle_event):
20211         * gst/base/gstbasesink.h:
20212         No need to store the clock, the parent element class already
20213         has it.
20214
20215         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
20216         Updates for clock_set returning a gboolean
20217
20218         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
20219         (gst_clock_id_wait_async), (gst_clock_class_init),
20220         (gst_clock_init), (gst_clock_finalize),
20221         (gst_clock_get_internal_time), (gst_clock_get_time),
20222         (gst_clock_slave_callback), (gst_clock_set_master),
20223         (gst_clock_get_master), (do_linear_regression),
20224         (gst_clock_add_observation), (gst_clock_set_property),
20225         (gst_clock_get_property):
20226         * gst/gstclock.h:
20227         Implement master/slave. When setting a clock as a slave, a
20228         periodic timeout is scheduled to sample master and slave times.
20229         Then the slave clock is recalibrated to match offset and rate
20230         of the master clock.
20231         Update logging a bit.
20232         Add flag so that a clock can state that is cannot be slaved to
20233         another clock.
20234
20235         * gst/gstelement.c: (gst_element_set_clock):
20236         * gst/gstelement.h:
20237         The set clock returns a gboolean for when an element cannot
20238         deal with the selected clock in the pipeline. 
20239
20240         * gst/gstpipeline.c: (gst_pipeline_change_state),
20241         (gst_pipeline_set_clock):
20242         * gst/gstpipeline.h:
20243         Handle the case where the selected clock cannot be set on
20244         the pipeline.
20245
20246         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
20247         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
20248         (gst_net_client_clock_set_property),
20249         (gst_net_client_clock_get_property),
20250         (gst_net_client_clock_observe_times):
20251         * gst/net/gstnetclientclock.h:
20252         Use regression code in GstClock parent, remove duplicated
20253         functionality.
20254
20255 2005-11-22  Michael Smith <msmith@fluendo.com>
20256
20257         * gst/gstutils.c: (gst_util_clock_time_scale):
20258         * gst/gstutils.h:
20259         * docs/gst/gstreamer-sections.txt:
20260           Rename method to have extra underscore.
20261
20262 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20263
20264         * gst/elements/Makefile.am:
20265         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
20266         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
20267         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
20268         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
20269         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
20270         * gst/elements/gstfakesrc.h:
20271         * gst/gstqueue.c: (queue_leaky_get_type):
20272           correctly fix GEnumValues so that nick is the short lowercase
20273           dashed tag
20274         * tools/gst-inspect.c: (print_element_properties_info):
20275           also show the nick, since it's useful to use from parse_launch
20276           syntax
20277           Fixes #322139
20278
20279 2005-11-22  Michael Smith <msmith@fluendo.com>
20280
20281         * gst/gstutils.c: (gst_util_clocktime_scale):
20282         * gst/gstutils.h:
20283         * docs/gst/gstreamer-sections.txt:
20284           Add util method for scaling a clocktime by a fraction. Useful 
20285           implementation is left as an exercise for the reader.
20286
20287 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20288
20289         * gst/gstvalue.c: (gst_value_collect_fraction_range):
20290         If needed, allocate storage in the destination value during
20291         collection.
20292
20293 2005-11-22  Edward Hervey  <edward@fluendo.com>
20294
20295         * docs/gst/gstreamer-sections.txt:
20296         * gst/Makefile.am:
20297         * gst/gst.h:
20298         * gst/gsturitype.c:
20299         * gst/gsturitype.h:
20300         * gst/gstutils.c: (gst_util_set_object_arg):
20301         * tools/gst-compprep.c: (main):
20302         * tools/gst-inspect.c: (print_element_properties_info):
20303         Removed GstURI, closes bug #321061
20304
20305 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20306
20307         * check/gst/gststructure.c: (GST_START_TEST):
20308         * gst/gststructure.c: (gst_structure_parse_value):
20309           Oops, broke automatic string type parsing.
20310           Add a test to catch it in future.
20311
20312 2005-11-22  Andy Wingo  <wingo@pobox.com>
20313
20314         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
20315         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
20316         Actually rename the function implementations. Grr.
20317
20318 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20319
20320         * check/gst/capslist.h:
20321           Comment test cases
20322         * check/gst/gststructure.c: (GST_START_TEST),
20323         (gst_structure_suite):
20324           Test automatic value type detection in gst_structure_from_string.
20325         * gst/gststructure.c: (gst_structure_parse_value):
20326           Add fraction as a type we try and guess automatically in
20327           caps/structure strings.
20328
20329 2005-11-22  Andy Wingo  <wingo@pobox.com>
20330
20331         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
20332
20333         * gst/gsttagsetter.h:
20334         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
20335         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
20336         (gst_tag_setter_add_tag_valist)
20337         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
20338         _add_values, _add_valist, and _add_valist_values. Since this is an
20339         interface the function suffixes should be more explicit so
20340         language binding don't end up with element.add_valist ->
20341         gst_tag_setter_add_valist, for example. Fixes #322069.
20342
20343 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20344
20345         * check/gst/gstcaps.c: (GST_START_TEST):
20346           Extend caps string tests to check that a caps to string
20347           conversion is reversible and produces the same caps.
20348
20349         * gst/gststructure.c: (gst_structure_value_get_generic_type):
20350           Output "fraction" as the generic type fraction range, so caps
20351           serialisation and deserialisation works.
20352         * check/gst/capslist.h:
20353         * gst/gstvalue.c: (gst_value_deserialize_fraction):
20354           Support 'MIN' and 'MAX' for deserialising fractions.
20355
20356 2005-11-22  Andy Wingo  <wingo@pobox.com>
20357
20358         * gst/gstevent.h (gst_event_new_new_segment)
20359         (gst_event_parse_new_segment, gst_event_new_buffer_size)
20360         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
20361         Renamed from *_newsegment, *_buffersize, *_notarget.
20362
20363         * scripts/update-funcnames: New script, performs the changes
20364         listed above.
20365
20366 2005-11-22  Wim Taymans  <wim@fluendo.com>
20367
20368         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20369         Make sure the GstFlowReturn is returned.
20370
20371         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
20372         (gst_bus_add_signal_watch):
20373         * gst/gstbus.h:
20374         add gst_bus_add_signal_watch_full.
20375
20376         * gst/gstplugin.c: (gst_plugin_load_file):
20377         Small style cleanup.
20378
20379 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20380
20381         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
20382           Block the fakesrc srcpad when we send an event, to avoid
20383           contention on the stream_lock causing random test failures.
20384
20385 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20386
20387         * check/gst/gstvalue.c: (GST_START_TEST):
20388         * gst/gstvalue.c: (gst_value_fraction_subtract):
20389           Fix subtraction.
20390
20391 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
20392
20393         * gst/gst.h:
20394           include "gstchildproxy.h"
20395         * gst/gstchildproxy.h:
20396         * libs/gst/controller/gstcontroller.h:
20397           use G_GNUC_NULL_TERMINATED
20398
20399 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20400
20401         * check/gst/capslist.h:
20402         * check/gst/gstcaps.c: (GST_START_TEST):
20403         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20404         * gst/gststructure.c: (gst_structure_parse_range),
20405         (gst_structure_fixate_field_nearest_fraction):
20406         * gst/gststructure.h:
20407         * gst/gstvalue.c: (gst_value_init_fraction_range),
20408         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
20409         (gst_value_collect_fraction_range),
20410         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
20411         (gst_value_set_fraction_range_full),
20412         (gst_value_get_fraction_range_min),
20413         (gst_value_get_fraction_range_max),
20414         (gst_value_serialize_fraction_range),
20415         (gst_value_transform_fraction_range_string),
20416         (gst_value_compare_fraction_range),
20417         (gst_value_deserialize_fraction_range),
20418         (gst_value_intersect_fraction_fraction_range),
20419         (gst_value_intersect_fraction_range_fraction_range),
20420         (gst_value_subtract_fraction_fraction_range),
20421         (gst_value_subtract_fraction_range_fraction),
20422         (gst_value_subtract_fraction_range_fraction_range),
20423         (gst_value_collect_fraction), (gst_value_fraction_multiply),
20424         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
20425         (gst_value_transform_string_fraction), (_gst_value_initialize):
20426         * gst/gstvalue.h:
20427           Implement fraction ranges and extend GstFraction to support
20428           arithmetic subtraction, as well as deserialization from integer
20429           strings such as "100"
20430           Add a testsuite as for int and double range set operations
20431
20432 2005-11-21  Andy Wingo  <wingo@pobox.com>
20433
20434         * gst/gsttaglist.h: 
20435         * gst/gstcaps.h: 
20436         * gst/gststructure.h: Add glib-compat.h.
20437
20438 2005-11-21  Wim Taymans  <wim@fluendo.com>
20439
20440         * gst/gstbin.c: (gst_bin_change_state_func):
20441         Fix for #321595
20442
20443 2005-11-21  Wim Taymans  <wim@fluendo.com>
20444
20445         * gst/gstsegment.h:
20446         And add a nice define too.
20447
20448 2005-11-21  Wim Taymans  <wim@fluendo.com>
20449
20450         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
20451         (gst_segment_new), (gst_segment_free), (gst_segment_init),
20452         (gst_segment_set_duration), (gst_segment_set_last_stop),
20453         (gst_segment_set_seek), (gst_segment_set_newsegment),
20454         (gst_segment_to_stream_time), (gst_segment_to_running_time),
20455         (gst_segment_clip):
20456         * gst/gstsegment.h:
20457         Make binding friendly.
20458
20459 2005-11-21  Andy Wingo  <wingo@pobox.com>
20460
20461         * gst/gsttagsetter.h: 
20462         * gst/gsttaglist.h: 
20463         * gst/gststructure.h: 
20464         * gst/gstcaps.h: 
20465         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
20466         #319940.
20467
20468         * gst/gsterror.c (_gst_core_errors_init):
20469         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
20470         category.
20471
20472         * gst/Makefile.am (gst_headers): Add glib-compat.h.
20473         (noinst_HEADERS): noinst the -private.
20474
20475 2005-11-21  Michael Smith <msmith@fluendo.com>
20476
20477         * gst/gstplugin.h:
20478         * gst/gstregistry.h:
20479           Remove unimplemented declarations for which we can see no sensible
20480           use.
20481
20482 2005-11-21  Andy Wingo  <wingo@pobox.com>
20483
20484         * gst/gst.h: Include glib-compat.h.
20485
20486         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
20487
20488         * gst/glib-compat.c: Include the public and the private header.
20489
20490         * gst/glib-compat-private.h: Copied here from glib-compat.h.
20491
20492         * gst/gstvalue.c: 
20493         * gst/gstpad.c: 
20494         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
20495
20496         * check/gst/gstevent.c (create_custom_events): Check that
20497         FLUSH_STOP is serialized.
20498
20499         * check/elements/identity.c (event_func): 
20500         * check/elements/fakesrc.c (event_func): No stream lock, the core
20501         takes it.
20502
20503         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
20504         stream lock taking, yay.
20505
20506         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
20507         ensure that core takes the stream lock.
20508
20509         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
20510         lock name change.
20511
20512         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
20513         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
20514         it already. For the flush start we do take it though so we get the
20515         right preroll state change messages.
20516
20517         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
20518         the stream lock here, the core does it for us.
20519
20520         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
20521         GST_STREAM_GET_LOCK.
20522         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
20523         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
20524         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
20525         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
20526         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
20527         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
20528
20529         * gst/gstpad.c: Update for stream lock name change.
20530
20531         * gst/base/gstbasesink.c: Update for preroll lock name change.
20532
20533 2005-11-21  Wim Taymans  <wim@fluendo.com>
20534
20535         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
20536         (gst_clock_get_master):
20537         * gst/gstclock.h:
20538         * gst/gstsystemclock.c: (gst_system_clock_init):
20539         Convert Clock flags to object flags.
20540         Added methods to manage master/slave clocks.
20541
20542 2005-11-21  Wim Taymans  <wim@fluendo.com>
20543
20544         * check/gst/gstsegment.c: (GST_START_TEST):
20545         * docs/design/part-TODO.txt:
20546         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20547         (gst_base_sink_event), (gst_base_sink_do_sync),
20548         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
20549         (gst_base_sink_query), (gst_base_sink_change_state):
20550         * gst/base/gstbasesink.h:
20551         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
20552         (gst_base_src_default_newsegment),
20553         (gst_base_src_configure_segment), (gst_base_src_do_seek),
20554         (gst_base_src_get_range), (gst_base_src_loop),
20555         (gst_base_src_change_state):
20556         * gst/base/gstbasesrc.h:
20557         * gst/base/gstbasetransform.c:
20558         (gst_base_transform_prepare_output_buf),
20559         (gst_base_transform_event), (gst_base_transform_change_state):
20560         * gst/base/gstbasetransform.h:
20561         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
20562         (gst_collect_pads_event):
20563         * gst/base/gstcollectpads.h:
20564         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
20565         (gst_fake_src_create):
20566         * gst/elements/gstfakesrc.h:
20567         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
20568         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20569         (gst_segment_set_last_stop), (gst_segment_set_seek),
20570         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
20571         (gst_segment_to_running_time), (gst_segment_clip):
20572         * gst/gstsegment.h:
20573         More segment updates, replace code in plugins with segment
20574         helper functions.
20575
20576 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20577
20578         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
20579         Don't ignore sscanf results
20580
20581 2005-11-21  Andy Wingo  <wingo@pobox.com>
20582
20583         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
20584
20585         * *.h:
20586         * *.c: Ran scripts/update-macros. Oh yes.
20587
20588         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
20589         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
20590         GST_GET_LOCK, etc.
20591
20592         * scripts/update-macros: New script. Run it on your files to
20593         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
20594         well.
20595
20596 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
20597
20598         * docs/gst/Makefile.am:
20599         * docs/gst/gstreamer-docs.sgml:
20600         * docs/gst/gstreamer-sections.txt:
20601         * docs/gst/gstreamer.types:
20602         * gst/gstinfo.h:
20603           more docs fixes, add new api to the docs
20604
20605 2005-11-21  Andy Wingo  <wingo@pobox.com>
20606
20607         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
20608         state_broadcast call.
20609
20610         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
20611
20612 2005-11-21  Julien MOUTTE  <julien@moutte.net>
20613
20614         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
20615         function calls for arrays.
20616
20617 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
20618
20619         * docs/random/ensonic/media-device-daemon.txt:
20620           wild idea, can this be done?
20621         * docs/gst/gstreamer-sections.txt:
20622         * gst/gsterror.h:
20623         * gst/gstfilter.c:
20624         * gst/gstfilter.h:
20625         * gst/gstplugin.h:
20626         * gst/gstpluginfeature.c:
20627         * gst/gsttrace.c:
20628         * gst/gstvalue.c:
20629         * gst/gstvalue.h:
20630           doc fixes and additions
20631
20632 2005-11-21  Andy Wingo  <wingo@pobox.com>
20633
20634         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
20635         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
20636         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
20637         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
20638         private to the basesrc implementation.
20639
20640         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
20641         behalf of event function if necessary. It should no longer be
20642         necessary to take the stream lock in pad's event functions. Fixes
20643         #320299.
20644
20645 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20646         * docs/gst/gstreamer-sections.txt:
20647         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
20648         (gst_structure_fixate_field_nearest_double),
20649         (gst_structure_fixate_field_boolean):
20650         * gst/gststructure.h:
20651         * win32/common/libgstreamer.def:
20652         * win32/gstreamer.def:
20653
20654         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
20655         (#322027)
20656
20657 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20658
20659         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
20660         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
20661         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
20662         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
20663         (gst_fdsrc_uri_handler_init):
20664         * gst/elements/gstfdsrc.h:
20665           Port fd:// URI handler from 0.8 to fdsrc
20666
20667 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20668
20669         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
20670         (gst_value_serialize_fourcc):
20671         * gst/gstvalue.h:
20672           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
20673           consistent with our other format defines (#320324).
20674
20675 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20676
20677         * gst/gstvalue.c: (gst_value_is_fixed):
20678           Revert previous commit. Value lists are by definition
20679           not fixed, as they are a list of possible values.
20680
20681 2005-11-21  Andy Wingo  <wingo@pobox.com>
20682
20683         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
20684         during the stable series if we need it. Fixes #319178.
20685
20686         * gst/gstevent.c (gst_event_new_filler): Removed.
20687
20688         * check/gst/gstevent.c: Update comment about filler events.
20689
20690 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20691
20692         * gst/gstvalue.c: (gst_value_is_fixed):
20693           Should handle both value arrays and value lists.
20694
20695 2005-11-21  Andy Wingo  <wingo@pobox.com>
20696
20697         patch by: Alessandro Dessina <alessandro nnva org>
20698
20699         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
20700         functions to access arrays. Fixes #321962.
20701
20702 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20703
20704         * docs/gst/gstreamer.types:
20705           gst_collectpads_get_type => gst_collect_pads_get_type.
20706           
20707         * gst/base/gstbasetransform.c:
20708           Remove unused SIGNAL_HANDOFF enum.
20709
20710 2005-11-21  Andy Wingo  <wingo@pobox.com>
20711
20712         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
20713         the event type (upstream, downstream, serialized). Renamed
20714         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
20715         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
20716         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
20717
20718         * gst/gstevent.c: Update for new CUSTOM event names.
20719
20720         * check/gst/gstevent.c: Update check for new CUSTOM event names.
20721
20722         * gst/gstevent.h:
20723         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
20724         bug #319392.
20725
20726 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20727
20728         * docs/gst/gstreamer-sections.txt:
20729         * win32/common/libgstbase.def:
20730         * win32/libgstbase.def:
20731         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
20732         (gst_collect_pads_class_init), (gst_collect_pads_init),
20733         (gst_collect_pads_finalize), (gst_collect_pads_new),
20734         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
20735         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
20736         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
20737         (gst_collect_pads_start), (gst_collect_pads_stop),
20738         (gst_collect_pads_peek), (gst_collect_pads_pop),
20739         (gst_collect_pads_available), (gst_collect_pads_read),
20740         (gst_collect_pads_flush), (gst_collect_pads_event),
20741         (gst_collect_pads_chain):
20742         * gst/base/gstcollectpads.h:
20743           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
20744           unimplemented functions as unimplemented. Add padding to
20745           GstCollectData. (#320766, #320423)
20746
20747 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20748
20749         * gst/gstmessage.c:
20750           Improve docs for DURATION message (usage of duration parameter)
20751           (#320113)
20752
20753 2005-11-20  Wim Taymans  <wim@fluendo.com>
20754
20755         * check/Makefile.am:
20756         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
20757         (main):
20758         * gst/Makefile.am:
20759         * gst/gst.h:
20760         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20761         (gst_segment_set_seek), (gst_segment_set_newsegment),
20762         (gst_segment_to_stream_time), (gst_segment_to_running_time),
20763         (gst_segment_clip):
20764         * gst/gstsegment.h:
20765         Added segment helper structure and methods. Not fully implemented
20766         yet.
20767         Added segment check.
20768
20769 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
20770
20771         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20772           Add a deserialisation test for fractions
20773         * examples/metadata/read-metadata.c: (message_loop),
20774         (make_pipeline), (main):
20775           Fix up metadata reading sample.
20776         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
20777           Debug format fix
20778         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
20779           Don't try and fixate empty caps
20780         * gst/gst_private.h:
20781           Wrap in G_BEGIN_DECLS/G_END_DECLS
20782         * gst/gstvalue.c: (gst_value_collect_fraction),
20783         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
20784         (gst_value_transform_string_fraction),
20785         (gst_value_compare_fraction):
20786           Add some extra guards to ensure that we don't end up 
20787           with an invalid denominator of 0 in a gstfraction and
20788           that fractions always get reduced.
20789
20790 2005-11-20  Wim Taymans  <wim@fluendo.com>
20791
20792         * docs/gst/gstreamer-sections.txt:
20793         * gst/gstbuffer.h:
20794         * gst/gstelement.c:
20795         * gst/gstformat.c:
20796         * gst/gstformat.h:
20797         * gst/gstindex.h:
20798         * gst/gstquery.c:
20799         * gst/gstquery.h:
20800         * gst/gstvalue.c:
20801         Doc fixes.
20802
20803 2005-11-20  Wim Taymans  <wim@fluendo.com>
20804
20805         * docs/design/part-TODO.txt:
20806         * gst/gstcaps.h:
20807         Make a proper enum of the flag.
20808
20809 2005-11-19  Wim Taymans  <wim@fluendo.com>
20810
20811         * docs/design/part-TODO.txt:
20812         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
20813         (gst_format_to_quark), (gst_format_register):
20814         * gst/gstformat.h:
20815         * gst/gstquery.c: (_gst_query_initialize),
20816         (gst_query_type_get_name), (gst_query_type_to_quark),
20817         (gst_query_type_register):
20818         * gst/gstquery.h:
20819         Add type to quark and type to string conversions.
20820
20821 2005-11-19  Andy Wingo  <wingo@pobox.com>
20822
20823         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
20824         #320097.
20825
20826 2005-11-19  Wim Taymans  <wim@fluendo.com>
20827
20828         * docs/design/part-TODO.txt:
20829         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
20830         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
20831         (gst_bin_handle_message_func):
20832         * gst/gstbin.h:
20833         Make message handling overridable.
20834
20835 2005-11-19  Andy Wingo  <wingo@pobox.com>
20836
20837         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
20838
20839         * gst/gstclock.h:
20840         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
20841         be a GstClockTime.
20842         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
20843         is a GstClockTime. Fixes #321710.
20844
20845         * gst/gstclock.h (GstClock): Remove offset property. Add
20846         internal_calibration and external_calibration. Fix padding. Pad
20847         also by GstClockTime so we don't run into problems.
20848
20849         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
20850         (gst_clock_get_rate_offset): Remove.
20851         (gst_clock_set_time_adjust): Remove. Fixes #321712.
20852
20853         * gst/gstutils.h:
20854         * gst/gstutils.c (g_static_rec_cond_wait)
20855         (g_static_rec_cond_timed_wait): Removed, no longer needed.
20856
20857         * gst/gstbin.c: Remove terrible continue_state prototype.
20858
20859         * gst/gstelement.h (gst_element_continue_state): Make public.
20860
20861         * gst/gstelement.h:
20862         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
20863         by continue_state. Fixes #319389.
20864
20865         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
20866         Really fixes #168438. However I don't see anywhere where the
20867         filter function is called... stupid GStreamer...
20868         
20869         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
20870         don't have a dispose function, so it won't get called when the
20871         object is unreffed, but oh well!
20872
20873         * gst/gstindex.c (gst_index_set_filter_full): New API function,
20874         allows a destroy function to be set so user_data can be freed.
20875         Fixes #168438.
20876         (gst_index_set_filter): Call gst_index_set_filter_full.
20877
20878         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
20879
20880         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
20881         string should produce an error, given the lack of a way to
20882         represent NULL strings. Fixes #165650.
20883         
20884         * gst/gstvalue.h: 
20885         * gst/gstvalue.c (gst_value_array_append_value) 
20886         (gst_value_array_prepend_value, gst_value_array_get_size) 
20887         (gst_value_array_get_value): New API, copied from
20888         gst_value_list_*, only operates on arrays.
20889         (gst_value_list_append_value, gst_value_list_prepend_value) 
20890         (gst_value_list_concat, gst_value_list_get_size) 
20891         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
20892
20893         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
20894         init_list, because it works on both.
20895         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
20896         (gst_value_copy_list_or_array): Renamed from copy_list.
20897         (gst_value_free_list_or_array): Renamed from free_list.
20898         (gst_value_collect_list_or_array): Renamed from collect_list.
20899         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
20900         (gst_value_list_or_array_peek_pointer): Renamed from
20901         list_peek_pointer.
20902         (_gst_value_array_value_table, _gst_value_list_value_table):
20903         Update value table functions.
20904         (gst_value_compare_list_or_array): Renamed from compare_list.
20905
20906         * gsttaglist.h: Whoops, foreach function returns void. Also fix
20907         some constness.
20908
20909         * gst/gsttaglist.c:
20910         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
20911         GstTagList*. Fixes #143472.
20912
20913         * gst/gststructure.h: Clarify what the foreach/map functions can
20914         or can't do to their arguments.
20915
20916 2005-11-18  Wim Taymans  <wim@fluendo.com>
20917
20918         * gst/gstclock.c: (gst_clock_set_calibration),
20919         (gst_clock_get_calibration):
20920         Doc and API fixes.
20921         Calibration can be set with internal time equal to current
20922         internal time too.
20923
20924 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
20925
20926         * gst/gsterror.c:
20927         * gst/gsterror.h:
20928           document
20929
20930 2005-11-18  Andy Wingo  <wingo@pobox.com>
20931
20932         * configure.ac: 
20933         * pkgconfig/gstreamer-net.pc.in:
20934         * pkgconfig/gstreamer-net-uninstalled.pc.in:
20935         * pkgconfig/Makefile.am: Add net pkgconfig files.
20936
20937 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
20938
20939         * gst/gstcaps.c:
20940         * gst/gstghostpad.c:
20941         * gst/gsttrace.c:
20942         * gst/gstvalue.c:
20943         * gst/gstvalue.h:
20944           docs fixes
20945
20946 2005-11-18  Andy Wingo  <wingo@pobox.com>
20947
20948         * gst/net/gstnetclientclock.c: Turn off debugging.
20949
20950         * check/net/gstnetclientclock.c (test_functioning): Assert that the
20951         times connverge somewhat. Can't make a real test.
20952
20953         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
20954         integer arithmetic. Return the minimum of the domain, which can be
20955         set as "internal" for gst_clock_set_calibration.
20956         (gst_net_client_clock_observe_times): Call _set_calibration.
20957         (gst_net_client_clock_new): Call _set_calibration instead of
20958         rate_offset.
20959
20960         * check/net/gstnetclientclock.c (test_functioning): Use the right
20961         adjustment api.
20962
20963         * gst/gstclock.h:
20964         * gst/gstclock.c (gst_clock_get_calibration) 
20965         (gst_clock_set_calibration): New functions, obsolete the ones I
20966         added yesterday. Doh. Precision issues mean we have to extrapolate
20967         from a point in the more recent past than 1970.
20968         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
20969         obsolete.
20970         (gst_clock_adjust_unlocked): Use the right calibration data.
20971
20972 2005-11-18  Edward Hervey  <edward@fluendo.com>
20973
20974         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
20975         Also reset the ->current_* values in READY->PAUSED
20976
20977 2005-11-18  Andy Wingo  <wingo@pobox.com>
20978
20979         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
20980         Whoops, check the right fd. Also add some debugging.
20981         (gst_net_client_clock_observe_times): Adjust for int64 offset.
20982         (do_linear_regression): Add a crapload of debugging. Subtract off
20983         the minimum values from the input series to discard unneeded bits.
20984         Use only int arithmetic. There is still double arithmetic when
20985         calculating the intercept that needs fixing. Return boolean to
20986         indicate success; FALSE would mean the domain or range is too
20987         great. Still needs fixes.
20988
20989 2005-11-18  Wim Taymans  <wim@fluendo.com>
20990
20991         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
20992         For the current position in stream time, we need to subtract
20993         accumulated time.
20994         
20995         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
20996         Release lock before calling the callback function of async
20997         entries.
20998
20999 2005-11-18  Andy Wingo  <wingo@pobox.com>
21000
21001         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
21002         Port goes all the way to MAXUINT16.
21003
21004         * gst/net/gstnettimeprovider.c: Make the port range the same as
21005         for the kernel: 0 assigns, otherwise ports are less than
21006         MAXUINT16.
21007
21008         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
21009         port change.
21010
21011         * check/net/gstnetclientclock.c (test_functioning): Add the start
21012         of another test. 
21013
21014 2005-11-18  Wim Taymans  <wim@fluendo.com>
21015
21016         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
21017         (gst_bin_remove_func), (bin_bus_handler):
21018         * gst/gstbin.h:
21019         Removing a clock provider from a bin, triggers a clock lost message
21020         so that a new clock will be selected.
21021         Adding a clock to a bin triggers a clock provider message.
21022         Make sure we reselect a clock when we received a clock lost message.
21023         Keep a reference to the element that provided the clock.
21024
21025 2005-11-18  Andy Wingo  <wingo@pobox.com>
21026
21027         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
21028         the clock initially so it produces values around the base time.
21029         (gst_net_client_clock_class_init): Typo fix.
21030         (gst_net_client_clock_thread): Add note on when the socket gets
21031         closed.
21032
21033 2005-11-17  Wim Taymans  <wim@fluendo.com>
21034
21035         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
21036         Free remote and local time arrays.
21037
21038 2005-11-17  Wim Taymans  <wim@fluendo.com>
21039
21040         * gst/net/gstnetclientclock.c: (do_linear_regression),
21041         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
21042         Fix compilation, uninitialized vars and a forgotten continue.
21043
21044 2005-11-17  Andy Wingo  <wingo@pobox.com>
21045
21046         * check/Makefile.am (check_PROGRAMS): 
21047         * check/net/gstnetclientclock.c: Add a most minimal test for the
21048         net client clock. More to come later.
21049
21050         * gst/net/gstnet.h: 
21051         * gst/net/Makefile.am: Add netclientclock.
21052
21053         * gst/net/gstnetclientclock.h:
21054         * gst/net/gstnetclientclock.c: New files, implement an untested
21055         GstClock that takes its time from a network time provider.
21056         Implements the algorithm in network-clock.scm.
21057
21058         * tests/network-clock.scm (*window-size*): Rename from
21059         *queue-length*.
21060         * tests/network-clock.scm (network-time): 
21061         * tests/network-clock-utils.scm (q-push): Update callers.
21062
21063 2005-11-17  Wim Taymans  <wim@fluendo.com>
21064
21065         * gst/gstbin.c: (gst_bin_provide_clock_func),
21066         (gst_bin_sort_iterator_new):
21067         And unref the child too..
21068
21069 2005-11-17  Wim Taymans  <wim@fluendo.com>
21070
21071         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
21072         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
21073         Refactor the sort iterator so it can be used while holding the
21074         LOCK too.
21075         Make clock selection select a clock closest to the source.
21076
21077 2005-11-17  Michael Smith <msmith@fluendo.com>
21078
21079         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
21080         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
21081         * gst/gstclock.h:
21082           Anonymous structs are a gcc (and some other compilers) extension, so
21083           don't use them. Since this is only for ABI-compatibility, and our
21084           API/ABI freeze is over in a few days, this whole thing will only
21085           last a few days, so don't bother trying to think up a meaningful
21086           name for the struct.
21087
21088 2005-11-17  Andy Wingo  <wingo@pobox.com>
21089
21090         * gst/gstclock.h (GstClock): Add rate and offset properties,
21091         preserving ABI stability. Add rate/offset accessors. Will file bug
21092         for the freeze break.
21093
21094         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
21095         and offset, trying to keep precision and avoiding
21096         underflow/overflow.
21097         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
21098         functions. Make gst_clock_set_time_adjust obsolete.
21099         (gst_clock_set_time_adjust): Note that this function is obsolete.
21100         Will file bug soon.
21101
21102         * gst/base/gstbasetransform.h: Make the ABI-stability hack
21103         greppable by using GST_PADDING-1+1.
21104
21105 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
21106
21107         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
21108
21109         * gst/gstmessage.c: (gst_message_parse_clock_lost):
21110           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
21111
21112         * gst/gstpadtemplate.h:
21113         * gst/gstpluginfeature.h:
21114           Don't use c++ style comments in headers (#321638).
21115
21116 2005-11-16  Andy Wingo  <wingo@pobox.com>
21117
21118         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
21119         buffer.
21120
21121         * check/net/gstnettimeprovider.c: Check to see that the time
21122         provider actually provides times. Works, yo!
21123
21124 2005-11-16  Wim Taymans  <wim@fluendo.com>
21125
21126         * check/Makefile.am:
21127         Enable more tests.
21128
21129         * check/elements/fakesrc.c: (GST_START_TEST):
21130         Set element to NULL before disposing it.
21131
21132 2005-11-16  Andy Wingo  <wingo@pobox.com>
21133
21134         * gst/net/Makefile.am:
21135         * gst/net/gstnet.h:
21136         * gst/net/gstnettimeprovider.c: 
21137         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
21138         provider, include it from gstnet.h, and add it to the build.
21139
21140         * gst/net/gstnettimepacket.h: 
21141         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
21142         sending and receiving.
21143
21144 2005-11-16  Wim Taymans  <wim@fluendo.com>
21145
21146         * check/Makefile.am:
21147         Enable valgrind check.
21148
21149         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
21150         (gst_fake_src_alloc_buffer):
21151         Fix memleak.
21152
21153 2005-11-16  Wim Taymans  <wim@fluendo.com>
21154
21155         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
21156         Call parent finalize too.
21157
21158 2005-11-16  Wim Taymans  <wim@fluendo.com>
21159
21160         * check/Makefile.am:
21161         Enable valgrind check that should work fine now.
21162
21163         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21164         * gst/gstqueue.c: (gst_queue_init):
21165         Fix memleaks in pad allocation.
21166
21167 2005-11-16  Andy Wingo  <wingo@pobox.com>
21168
21169         * gst/net/Makefile.am:
21170         * gst/net/gstnet.h: New part of core to hold network elements and
21171         objects. Put in core because it exposes API that applications want
21172         to use. The library is named libgstnet-tempname right now because
21173         of the existing libgstnet in gst-plugins-base. Solution is
21174         probably to rename the one in plugins-base; will file a bug for
21175         the freeze break.
21176
21177         * gst/net/gstnettimeprovider.c: 
21178         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
21179         get_time call over the network.
21180
21181         * configure.ac: 
21182         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
21183
21184         * check/Makefile.am:
21185         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
21186         get additions shortly.
21187
21188 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21189
21190         * gst/gstpad.c: (gst_pad_new_from_static_template):
21191         * gst/gstpad.h:
21192           add gst_pad_new_from_static_template functions
21193         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
21194         (gst_check_setup_sink_pad):
21195         * gst/elements/gsttee.c: (gst_tee_init):
21196           and use them
21197
21198 2005-11-16  Wim Taymans  <wim@fluendo.com>
21199
21200         * gst/gstpad.c: (gst_pad_pause_task):
21201         Removed warning, it's not really an error either.
21202
21203 2005-11-16  Wim Taymans  <wim@fluendo.com>
21204
21205         * gst/base/gstbasetransform.c:
21206         (gst_base_transform_prepare_output_buf),
21207         (gst_base_transform_event):
21208         Check if the caps are NULL, this can happen if the element
21209         is shutting down and the pad caps are set to NULL.
21210
21211 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21212
21213         * gst/elements/gsttee.c: (gst_tee_init):
21214           fix pad template leak in tee
21215
21216 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21217
21218         * gst/glib-compat.c: (g_value_dup_gst_object):
21219         * gst/glib-compat.h:
21220         * gst/gstpad.c: (gst_pad_set_property):
21221           use gst_object_ref when setting the pad template; this will
21222           trigger the pad template leaks on GLib 2.6 and the slaves
21223
21224 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21225
21226         * gst/glib-compat.c: (gst_flags_get_first_value):
21227         * gst/glib-compat.h:
21228         * gst/gstregistryxml.c:
21229           remove functions copied from GLib 2.6
21230
21231 2005-11-16  Michael Smith <msmith@fluendo.com>
21232
21233         * gst/Makefile.am:
21234           Don't link against VALGRIND_LIBS. That was always the wrong thing to
21235           do, but only breaks with newer valgrind versions. We're not a
21236           valgrind tool, we have no link-time dependencies on libcoregrind.
21237
21238 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21239
21240         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
21241           some debug changes
21242         * gst/gstmessage.h:
21243           typo fixes
21244
21245 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21246
21247         * gst/base/gstbasesrc.c: (gst_base_src_init):
21248         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21249         * gst/gstqueue.c: (gst_queue_init):
21250         * gst/gstregistryxml.c: (load_feature):
21251           Revert all these unrefs, they don't even pass make check !
21252
21253 2005-11-15  Johan Dahlin  <johan@gnome.org>
21254
21255         * gst/base/gstbasesrc.c: (gst_base_src_init):
21256         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21257         * gst/gstqueue.c: (gst_queue_init): 
21258         Free pad templates, fixes a couple of leaks.
21259
21260 2005-11-15  Daniel Fischer  <dan at f3c dot com>
21261
21262         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
21263
21264         * gst/gstpad.c: (gst_pad_get_property):
21265           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
21266           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
21267           (#321452)
21268
21269 2005-11-15  Wim Taymans  <wim@fluendo.com>
21270
21271         * gst/gstevent.c:
21272         Small doc update.
21273
21274 2005-11-15  Andy Wingo  <wingo@pobox.com>
21275
21276         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
21277
21278         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
21279         using GST_CLOCK_TIME_NONE to disable base time management.
21280         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
21281         time if it was NONE before.
21282         (gst_pipeline_change_state): Only munge the base time if
21283         stream_time != GST_CLOCK_TIME_NONE.
21284
21285         * check/gst/gstpipeline.c (test_base_time): Punt around the
21286         problem of the probe not being called, because that's not the
21287         issue I'm looking at. Add a check that setting stream_time to NONE
21288         disables base time management.
21289         
21290 2005-11-15  Wim Taymans  <wim@fluendo.com>
21291
21292         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
21293         segment_stop == -1 at startup.
21294
21295         * gst/base/gstbasetransform.c: (gst_base_transform_event),
21296         (gst_base_transform_change_state):
21297         Init segment values at start.
21298
21299 2005-11-15  Wim Taymans  <wim@fluendo.com>
21300
21301         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21302         0 segment values are 0 in any format.
21303
21304         * gst/base/gstbasetransform.c: (gst_base_transform_event):
21305         * gst/base/gstbasetransform.h:
21306         Parse newsegment correctly in basetransform
21307
21308         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
21309         Sync to clock using updated segment values.
21310
21311 2005-11-15  Andy Wingo  <wingo@pobox.com>
21312
21313         * check/gst/gstpipeline.c (test_base_time): Add check that the
21314         base time and stream time are reset correctly.
21315
21316 2005-11-15  Wim Taymans  <wim@fluendo.com>
21317
21318         * docs/design/part-TODO.txt:
21319         Some more TODO items.
21320
21321 2005-11-15  Andy Wingo  <wingo@pobox.com>
21322
21323         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
21324         error if the user selected "no clock" as the clocking method.
21325
21326         * check/gst/gstpipeline.c (test_base_time): New test for buffer
21327         timestamps with live capture.
21328
21329         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
21330         is 0 but we are a live source, timestamp the buffers using the
21331         element's clock.
21332
21333 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
21334
21335         * docs/gst/gstreamer-sections.txt:
21336         * gst/gsterror.c:
21337         * gst/gstghostpad.c:
21338         * gst/gstobject.h:
21339         * gst/gstxml.c:
21340           more section docs
21341
21342 2005-11-14  Wim Taymans  <wim@fluendo.com>
21343
21344         * common/gst.supp:
21345           add suppressions from Wim's Debian machine
21346
21347 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
21348
21349         * common/gst.supp:
21350           add suppressions from Andy's AMD64 Ubuntu machine
21351
21352 2005-11-14  Andy Wingo  <wingo@pobox.com>
21353
21354         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
21355         STATE_LOCK not necessary. Fixes #311489.
21356
21357         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
21358         #305291.
21359
21360         * gst/gstindex.c (gst_index_add_object): Note in the docs that
21361         this function is not implemented.
21362
21363 2005-11-14  Julien MOUTTE  <julien@moutte.net>
21364
21365         * gst/base/gstbasetransform.c:
21366         (gst_base_transform_prepare_output_buf):
21367         Ref the source pad caps while we need them.
21368         Fixes (#321386)
21369
21370 2005-11-11  Wim Taymans  <wim@fluendo.com>
21371
21372         * docs/gst/gstreamer-sections.txt:
21373         Added some docs for GstCollectData.
21374
21375         * gst/base/gstadapter.c:
21376         Some small code example fix.
21377
21378         * gst/base/gstcollectpads.c:
21379         * gst/base/gstcollectpads.h:
21380         Document some more.
21381
21382 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21383
21384         * configure.ac: back to HEAD
21385
21386 === release 0.9.5 ===
21387
21388 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
21389
21390         * configure.ac:
21391           releasing 0.9.5, "Bike Lunch Day"
21392
21393 2005-11-11  Wim Taymans  <wim@fluendo.com>
21394
21395         * gst/gstbuffer.c: (_gst_buffer_copy):
21396         Copy more flags.
21397
21398         * gst/gstcaps.c: (gst_caps_is_equal):
21399         Fix some docs.
21400         Make _is_equal fast in the trivial cases.
21401
21402         * gst/gstminiobject.c:
21403         * gst/gstminiobject.h:
21404         More docs. Spifify .h file.
21405
21406         * gst/gstutils.c:
21407         Small doc update.
21408
21409 2005-11-11  Wim Taymans  <wim@fluendo.com>
21410
21411         * gst/base/gstbasetransform.c:
21412         (gst_base_transform_prepare_output_buf),
21413         (gst_base_transform_handle_buffer):
21414         Small cleanups.
21415         If we're processing a buffer and need to allocate an output
21416         buffer, we cannot accept a format change. If we did get a 
21417         format change, we have to alloc a buffer ourselves of the 
21418         right size.
21419
21420 2005-11-11  Wim Taymans  <wim@fluendo.com>
21421
21422         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
21423         While checking the flag for reentrancy in the gstcaps function
21424         is nice to detect recursive invocations, it also makes it 
21425         impossible to call getcaps from multiple threads, which must be
21426         possible. So, checking for recursive calls has to go.
21427
21428 2005-11-11  Michael Smith <msmith@fluendo.com>
21429
21430         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21431           Don't sync on buffers that fall partially outside our current
21432           segment. Prevents an assertion failure/abort playing some files.
21433
21434 2005-11-10  Andy Wingo  <wingo@pobox.com>
21435
21436         * check/gst/gstbin.c (test_message_state_changed_children): Style
21437         fix..
21438
21439         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
21440         gst_bus_poll with the signal watch. Ensures that poll and a signal
21441         watch see the same messages.
21442
21443         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
21444         a poll and a watch at the same time get the same messages.
21445
21446 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21447
21448         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
21449         * gst/gstcaps.c: (gst_caps_intersect):
21450           Don't call gst_caps_do_simplify - it doesn't respect order of caps
21451           and it's not needed.
21452
21453 2005-11-10  Wim Taymans  <wim@fluendo.com>
21454
21455         * docs/design/part-TODO.txt:
21456         Updated todo.
21457
21458 2005-11-10  Wim Taymans  <wim@fluendo.com>
21459
21460         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21461         * gst/base/gstbasesrc.c: (gst_base_src_wait),
21462         (gst_base_src_do_sync), (gst_base_src_get_range):
21463         Implement clock sync in base class.
21464
21465 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21466
21467         patch by: Tim-Philipp Müller <tim at centricular dot net>
21468
21469         * gst/gststructure.c: (gst_structure_parse_field),
21470         (gst_structure_from_string):
21471           Forward-port a 0.8 patch to handle escaped spaces in structure string,
21472           so that gst_parse_launch() can deal with spaces in filtered link
21473           caps (fixes #164479)
21474         * check/gst/capslist.h:
21475         * check/gst/gststructure.c: (GST_START_TEST):
21476           add unit tests for this change
21477
21478 2005-11-10  Wim Taymans  <wim@fluendo.com>
21479
21480         * docs/gst/gstreamer-sections.txt:
21481         * gst/gstelement.c:
21482         * gst/gstelement.h:
21483         Fix docs, move some STATE macros to private.
21484
21485 2005-11-10  Wim Taymans  <wim@fluendo.com>
21486
21487         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
21488         Added check for bug #317341
21489
21490         * gst/gstbuffer.c:
21491         * gst/gstbuffer.h:
21492         Some more spiffifying.
21493
21494         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
21495         Call peer linkfunction if we are a source pad. Totally fixes
21496         #317341
21497
21498         * gst/gstpad.c:
21499         Update docs, source pads should call the peer linkfunction
21500         so they can atomically perform the pad link.
21501
21502 2005-11-09  Wim Taymans  <wim@fluendo.com>
21503
21504         * gst/gstbuffer.c:
21505         * gst/gstbuffer.h:
21506         Uber-spiffy-spiffify some more.
21507
21508 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
21509
21510         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
21511         * gst/elements/gstfilesink.c: (gst_file_sink_init):
21512         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21513         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
21514         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
21515         * gst/gstpad.c: (gst_pad_init):
21516           Use GST_DEBUG_FUNCPTR() more extensively.
21517
21518 2005-11-09  Wim Taymans  <wim@fluendo.com>
21519
21520         * gst/gstobject.c: (gst_object_class_init):
21521         * gst/gstobject.h:
21522         Documentation fixes.
21523
21524 2005-11-09  Edward Hervey  <edward@fluendo.com>
21525
21526         * gst/gsttypefindfactory.c:
21527         Fix docs.
21528         
21529 2005-11-09  Edward Hervey  <edward@fluendo.com>
21530
21531         * gst/base/gsttypefindhelper.c:
21532         * gst/gsttypefind.c:
21533         * gst/gsttypefind.h:
21534         Fix docs.
21535
21536 2005-11-09  Wim Taymans  <wim@fluendo.com>
21537
21538         * gst/gstiterator.c:
21539         Fix revision data.
21540
21541         * gst/gsttask.c:
21542         * gst/gsttask.h:
21543         Fix docs.
21544
21545 2005-11-09  Wim Taymans  <wim@fluendo.com>
21546
21547         * gst/gstevent.h:
21548         * gst/gsturi.h:
21549         Fix docs.
21550
21551 2005-11-09  Wim Taymans  <wim@fluendo.com>
21552
21553         * docs/gst/gstreamer-sections.txt:
21554         Moved the message async delivery private lock and cond
21555         to the private section.
21556
21557         * gst/gstmessage.c:
21558         * gst/gstmessage.h:
21559         Fixed docs.
21560
21561 2005-11-09  Edward Hervey  <edward@fluendo.com>
21562
21563         * docs/gst/gstreamer-sections.txt:
21564         * gst/gsturi.c:
21565         * gst/gsturi.h:
21566         Document GstURIHandler
21567
21568 2005-11-09  Wim Taymans  <wim@fluendo.com>
21569
21570         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
21571         (gst_iterator_find_custom):
21572         * gst/gstiterator.h:
21573         Fix iterator docs.
21574
21575 2005-11-09  Wim Taymans  <wim@fluendo.com>
21576
21577         * gst/gstbin.h:
21578         Document another field.
21579
21580         * gst/gststructure.c:
21581         * gst/gststructure.h:
21582         Document.
21583
21584 2005-11-09  Wim Taymans  <wim@fluendo.com>
21585
21586         * gst/gstbin.h:
21587         Documented structs.
21588
21589 2005-11-09  Wim Taymans  <wim@fluendo.com>
21590
21591         * docs/gst/gstreamer-sections.txt:
21592         Added some new macros.
21593
21594         * gst/gstclock.c:
21595         * gst/gstclock.h:
21596         * gst/gstobject.h:
21597         Docs updates.
21598
21599 2005-11-09  Wim Taymans  <wim@fluendo.com>
21600
21601         * docs/design/part-TODO.txt:
21602         Some more items for the TODO
21603
21604         * gst/gstcaps.c:
21605         * gst/gstcaps.h:
21606         Document GstCaps.
21607
21608 2005-11-09  Andy Wingo  <wingo@pobox.com>
21609
21610         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
21611         to work on something else now tho...
21612
21613         * gst/base/gstadapter.c: More adapter docs.
21614
21615         * gst/elements/gstfilesink.c (gst_file_sink_start) 
21616         (gst_file_sink_stop): New functions, replace the state change
21617         handler.
21618         (gst_file_sink_class_init): Hook up the start and stop functions.
21619         (gst_file_sink_base_init): Don't set the state change handler any
21620         more. It was a bit ugly too, being set from here...
21621         (gst_file_sink_get_property, gst_file_sink_set_property):
21622         Cleanups...
21623         (gst_file_sink_set_location): More robust check that doesn't call
21624         GST_STATE. Ugggggg.
21625
21626 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
21627
21628         * gst/base/gstbasetransform.c: (gst_base_transform_event):
21629           Hold STREAM_LOCK while pushing newsegment or tag events as well.
21630
21631 2005-11-08  Wim Taymans  <wim@fluendo.com>
21632
21633         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
21634         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
21635         (gst_base_sink_chain), (gst_base_sink_change_state):
21636         * gst/base/gstbasesink.h:
21637         * gst/base/gstbasesrc.h:
21638         * gst/gstelement.h:
21639         * gst/gstevent.h:
21640         Avoid excessive typechecking in macros.
21641
21642         * gst/gstminiobject.c: (gst_mini_object_get_type),
21643         (gst_mini_object_init), (gst_mini_object_new),
21644         (gst_mini_object_free):
21645         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
21646         (gst_object_finalize):
21647         Remove cruft code, optimize alloc_trace.
21648
21649 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
21650
21651         * docs/faq/gst-uninstalled:
21652           fix up PS1 for systems that try to reset it
21653
21654 2005-11-07  Wim Taymans  <wim@fluendo.com>
21655
21656         * gst/base/gstbasesrc.c: (gst_base_src_init),
21657         (gst_base_src_get_range):
21658         Set the segment_end to -1 initially. Fixed typefind.
21659
21660 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
21661
21662         * gst/base/gstadapter.c:
21663           Debug category should be 'adapter', not 'GstAdapter'.
21664           
21665         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
21666         (gst_collectpads_class_init), (gst_collectpads_init),
21667         (gst_collectpads_peek), (gst_collectpads_pop),
21668         (gst_collectpads_event), (gst_collectpads_chain):
21669           Add debug category and some debugging output. Use boilerplate
21670           macros. Remove some extraneous words from docs.
21671
21672 2005-11-05  Andy Wingo  <wingo@pobox.com>
21673
21674         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
21675         macro.
21676
21677 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
21678
21679         * docs/gst/gstreamer-sections.txt:
21680         * gst/gstcaps.h:
21681         * gst/gstinfo.c:
21682         * gst/gstminiobject.h:
21683         * gst/gstobject.h:
21684         * gst/gstutils.h:
21685           more docs added
21686
21687 2005-11-04  Wim Taymans  <wim@fluendo.com>
21688
21689         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21690         Small update to stop at the configured segment_end
21691         position.
21692
21693 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
21694
21695         * gst/gstregistry.c:
21696         * gst/gstregistry.h:
21697           added missing docs
21698
21699 2005-11-04  Edward Hervey  <edward@fluendo.com>
21700
21701         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21702         Check if we are doing a segment seek and have arrived at the
21703         end of that segment.
21704
21705 2005-11-04  Wim Taymans  <wim@fluendo.com>
21706
21707         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
21708         Don't leak a mutex unlock in case of an error.
21709
21710         * gst/gstbus.h:
21711         Doc fixes.
21712
21713 2005-11-04  Wim Taymans  <wim@fluendo.com>
21714
21715         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
21716         (gst_bus_post):
21717         Get the context to wake up only once.
21718
21719 2005-11-03  Wim Taymans  <wim@fluendo.com>
21720
21721         * check/states/sinks.c: (GST_START_TEST):
21722         Uncomment fixed check.
21723
21724         * docs/design/part-TODO.txt:
21725         Updated TODO.
21726
21727         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21728         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
21729         (gst_base_sink_get_position):
21730         If we are going to PLAYING, post the right pending state
21731         when we post the intermediate paused message.
21732
21733         * gst/gstelement.c: (gst_element_continue_state),
21734         (gst_element_set_state_func), (gst_element_change_state):
21735         Don't post state changes that were between the same state
21736         and were not ASYNC.
21737
21738 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
21739
21740         * docs/gst/gstreamer-sections.txt:
21741         * gst/gstcaps.h:
21742         * gst/gstinfo.c:
21743         * gst/gstminiobject.h:
21744         * gst/gstobject.h:
21745         * gst/gstutils.h:
21746           more docs and doc style fixes
21747
21748 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
21749
21750         * docs/gst/gstreamer-sections.txt:
21751         * gst/gstelement.c:
21752         * gst/gstminiobject.c:
21753         doc fixes
21754
21755 2005-11-03  Andy Wingo  <wingo@pobox.com>
21756
21757         * check/states/sinks.c (test_livesrc_sink): Add checks that the
21758         state-changed messages actually have the right order and the right
21759         values.
21760
21761 2005-11-03  Wim Taymans  <wim@fluendo.com>
21762
21763         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
21764         Added some more checks. Specifically the case where NO_PREROLL
21765         elements are in the pipeline.
21766
21767         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21768         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
21769         (gst_base_sink_get_position):
21770         Post READY->PAUSED state change messages too.
21771         Fix bug where VOID was posted as pending state...
21772
21773         * gst/gstbin.c: (gst_bin_recalc_state):
21774         use _element_continue_state() to continue the state change.
21775
21776         * gst/gstelement.c: (gst_element_continue_state),
21777         (gst_element_commit_state), (gst_element_set_state_func),
21778         (gst_element_change_state), (gst_element_change_state_func):
21779         Lots of state change cleanups, assign the STATE_RETURN in
21780         a new continue_state() function that also propagates the
21781         last return value from a state change to the app.
21782         Update some debug statements with proper category.
21783
21784 2005-11-03  Wim Taymans  <wim@fluendo.com>
21785
21786         * docs/design/part-events.txt:
21787         * docs/design/part-gstpipeline.txt:
21788         * docs/design/part-messages.txt:
21789         * docs/design/part-overview.txt:
21790         * docs/design/part-seeking.txt:
21791         * docs/design/part-states.txt:
21792         * docs/design/part-trickmodes.txt:
21793         * docs/manual/advanced-position.xml:
21794         Small docs updates.
21795
21796         * gst/gstobject.h:
21797         People think !! is ugly, this looks better.
21798
21799         * gst/gstpad.c: (gst_pad_set_blocked_async):
21800         Remove !! since it's fixed elsewhere now.
21801
21802 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
21803
21804         * gst/gstminiobject.h:
21805         * gst/gstobject.h:
21806           Add !! to _FLAG_IS_SET macros to make the result boolean.
21807
21808 2005-11-03  Edward Hervey  <edward@fluendo.com>
21809
21810         * gst/gstpad.c: (gst_pad_set_blocked_async):
21811         comparing a flag and a gboolean rarely returns coherent results...
21812         Added two characters (!!) to make that work correctly.
21813         
21814 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
21815
21816         * gst/gstbus.c: (gst_bus_class_init):
21817           Fix some typos.
21818           
21819         * gst/gstqueue.c: (gst_queue_loop):
21820           Don't assume a miniobject that isn't a buffer is an
21821           event (it could be that there is a refcounting
21822           problem somewhere and the pointer is stale and
21823           refers to an already destroyed miniobject).
21824
21825 2005-11-03  Julien MOUTTE  <julien@moutte.net>
21826
21827         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
21828
21829 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
21830
21831         * docs/manual/advanced-position.xml:
21832           Update seek example and explanations to current 0.9 API.
21833
21834         * gst/elements/gsttypefindelement.c:
21835         (gst_type_find_element_activate):
21836           Remove FIXME comment now that the found caps
21837           are unreffed.
21838
21839 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
21840
21841         * gst/gstregistryxml.c: (load_feature):
21842           Add another GST_STR_NULL instance
21843
21844 2005-11-02  Edward Hervey  <edward@fluendo.com>
21845
21846         * gst/gstpad.c: (handle_pad_block):
21847         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
21848         
21849 2005-11-02  Wim Taymans  <wim@fluendo.com>
21850
21851         * gst/gstbin.c:
21852         Fix typo in docs.
21853
21854         * gst/gstelement.c: (gst_element_commit_state):
21855         Remove unused value.
21856
21857         * gst/gstiterator.c:
21858         Mention that the returned element is reffed in the docs.
21859
21860 2005-11-02  Wim Taymans  <wim@fluendo.com>
21861
21862         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
21863         (gst_pad_push), (gst_pad_push_event):
21864         Unlock blocked pads when they are flushed.
21865
21866 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21867
21868         * docs/README:
21869         * docs/gst/gstreamer-sections.txt:
21870         * gst/gstbin.c:
21871           doc updates
21872         * gst/gstregistry.c: (gst_registry_scan_path_level):
21873           fix for a nasty little missed situation where an installed plug-in
21874           which was in the cache did not get overridden by an uninstalled one
21875           which was earlier in the plugin path because the newly created plugin
21876           for the uninstalled one (not in the registry) didn't get its
21877           ->registered set to TRUE
21878
21879 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
21880
21881         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
21882         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
21883         (gst_collectpads_is_active), (gst_collectpads_collect),
21884         (gst_collectpads_collect_range), (gst_collectpads_start),
21885         (gst_collectpads_stop), (gst_collectpads_peek),
21886         (gst_collectpads_pop), (gst_collectpads_available),
21887         (gst_collectpads_read), (gst_collectpads_flush):
21888           Guard public API with assertions.
21889         
21890         * gst/gstpad.c:
21891           Fix docs for gst_pad_set_link_function().
21892
21893 2005-11-02  Johan Dahlin  <johan@gnome.org>
21894
21895         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
21896         Unref found_caps after we used it.
21897
21898 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
21899
21900         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
21901           Don't try to ref NULL.
21902
21903 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21904
21905         * win32/common/config.h.in:
21906           provide a GST_FUNCTION that just gives a string for now
21907
21908 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21909
21910         * win32/common/gstenumtypes.c: (register_gst_object_flags),
21911         (gst_object_flags_get_type), (register_gst_bin_flags),
21912         (gst_bin_flags_get_type), (register_gst_buffer_flag),
21913         (gst_buffer_flag_get_type), (register_gst_bus_flags),
21914         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
21915         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
21916         (gst_clock_return_get_type), (register_gst_clock_entry_type),
21917         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
21918         (gst_clock_flags_get_type), (register_gst_state),
21919         (gst_state_get_type), (register_gst_state_change_return),
21920         (gst_state_change_return_get_type), (register_gst_state_change),
21921         (gst_state_change_get_type), (register_gst_element_flags),
21922         (gst_element_flags_get_type), (register_gst_core_error),
21923         (gst_core_error_get_type), (register_gst_library_error),
21924         (gst_library_error_get_type), (register_gst_resource_error),
21925         (gst_resource_error_get_type), (register_gst_stream_error),
21926         (gst_stream_error_get_type), (register_gst_event_type),
21927         (gst_event_type_get_type), (register_gst_seek_type),
21928         (gst_seek_type_get_type), (register_gst_seek_flags),
21929         (gst_seek_flags_get_type), (register_gst_format),
21930         (gst_format_get_type), (register_gst_index_certainty),
21931         (gst_index_certainty_get_type), (register_gst_index_entry_type),
21932         (gst_index_entry_type_get_type),
21933         (register_gst_index_lookup_method),
21934         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
21935         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
21936         (gst_index_resolver_method_get_type), (register_gst_index_flags),
21937         (gst_index_flags_get_type), (register_gst_debug_level),
21938         (gst_debug_level_get_type), (register_gst_debug_color_flags),
21939         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
21940         (gst_iterator_result_get_type), (register_gst_iterator_item),
21941         (gst_iterator_item_get_type), (register_gst_message_type),
21942         (gst_message_type_get_type), (register_gst_mini_object_flags),
21943         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
21944         (gst_pad_link_return_get_type), (register_gst_flow_return),
21945         (gst_flow_return_get_type), (register_gst_activate_mode),
21946         (gst_activate_mode_get_type), (register_gst_pad_direction),
21947         (gst_pad_direction_get_type), (register_gst_pad_flags),
21948         (gst_pad_flags_get_type), (register_gst_pad_presence),
21949         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
21950         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
21951         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
21952         (gst_plugin_error_get_type), (register_gst_plugin_flags),
21953         (gst_plugin_flags_get_type), (register_gst_rank),
21954         (gst_rank_get_type), (register_gst_query_type),
21955         (gst_query_type_get_type), (register_gst_tag_merge_mode),
21956         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
21957         (gst_tag_flag_get_type), (register_gst_task_state),
21958         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
21959         (gst_alloc_trace_flags_get_type),
21960         (register_gst_type_find_probability),
21961         (gst_type_find_probability_get_type), (register_gst_uri_type),
21962         (gst_uri_type_get_type), (register_gst_parse_error),
21963         (gst_parse_error_get_type):
21964         * win32/common/gstversion.h:
21965           update win32 copies
21966
21967 2005-11-01  Luca Ognibene  <luogni@tin.it>
21968
21969         * gst/gst.c:
21970           fix docs. popt is dead, long live GOption.
21971
21972 2005-10-31  Wim Taymans  <wim@fluendo.com>
21973
21974         * gst/gstbuffer.h:
21975         Small doc fix.
21976
21977 2005-10-31  Andy Wingo  <wingo@pobox.com>
21978
21979         * Boo!
21980
21981         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
21982
21983         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
21984         need to serialize property notifications on GLib 2.8. GLib 2.6 has
21985         the possibility of deadlocks here if code calling notify() or
21986         set() has a lock that can be taken in another notify handler (ABBA
21987         with class lock and e.g. python GIL state lock).
21988
21989 2005-10-28  Julien MOUTTE  <julien@moutte.net>
21990
21991         * gst/gstbus.c: Doc updates.
21992
21993 2005-10-28  Wim Taymans  <wim@fluendo.com>
21994
21995         * docs/design/part-TODO.txt:
21996         * gst/gstiterator.c:
21997         * gst/gstsystemclock.c:
21998         * gst/gstsystemclock.h:
21999         Doc updates.
22000
22001 2005-10-28  Edward Hervey  <edward@fluendo.com>
22002
22003         * docs/gst/gstreamer-docs.sgml:
22004         * docs/gst/gstreamer-sections.txt:
22005         the GstURIType documentation page is private, it only defines GstURIType
22006         which should be defined in the GstURIHandler page
22007         
22008 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
22009
22010         * gst/gstbin.c: (gst_bin_class_init):
22011         * gst/gstbin.h:
22012         * gst/gstutils.c:
22013         Documentation updates.
22014
22015 2005-10-28  Wim Taymans  <wim@fluendo.com>
22016
22017         * docs/gst/gstreamer-sections.txt:
22018         * gst/gstclock.c:
22019         * gst/gstclock.h:
22020         Documented the clocks.
22021
22022 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
22023
22024         * docs/gst/gstreamer-sections.txt:
22025           move some macros to private sections
22026         * gst/gstminiobject.c:
22027         * gst/gstminiobject.h:
22028           add descriptions provided by ds and some more
22029         * gst/gstpad.h:
22030           mark macro as to be removed
22031
22032 2005-10-28  Wim Taymans  <wim@fluendo.com>
22033
22034         * docs/design/part-TODO.txt:
22035         Add an item to TODO.
22036
22037         * gst/gstiterator.c: (gst_iterator_fold),
22038         (gst_iterator_find_custom):
22039         * gst/gstiterator.h:
22040         Add iterator docs.
22041
22042 2005-10-28  Wim Taymans  <wim@fluendo.com>
22043
22044         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
22045         (gst_base_transform_init):
22046         Don't leak class.
22047
22048         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
22049         An EOS event marks the queue as completely filled.
22050
22051 2005-10-27  Wim Taymans  <wim@fluendo.com>
22052
22053         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22054         (gst_base_sink_do_sync), (gst_base_sink_get_position):
22055         Some more debugging.
22056
22057         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
22058         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
22059         (gst_base_transform_event), (gst_base_transform_getrange),
22060         (gst_base_transform_chain):
22061         * gst/base/gstbasetransform.h:
22062         Fix debugging,
22063         Protect transform and concurrent buffer alloc with a new lock.
22064         Try not to break ABI/API.
22065
22066 2005-10-27  Wim Taymans  <wim@fluendo.com>
22067
22068         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22069         (gst_base_src_init), (gst_base_src_query),
22070         (gst_base_src_default_newsegment),
22071         (gst_base_src_configure_segment), (gst_base_src_do_seek),
22072         (gst_base_src_send_event), (gst_base_src_event_handler),
22073         (gst_base_src_pad_get_range), (gst_base_src_loop),
22074         (gst_base_src_unlock), (gst_base_src_default_negotiate),
22075         (gst_base_src_start), (gst_base_src_deactivate),
22076         (gst_base_src_activate_push), (gst_base_src_change_state):
22077         Move some stuff around and cleanup things.
22078
22079 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
22080
22081         * gst/base/gstbasesrc.c: (gst_base_src_query):
22082           Add missing break statements.
22083
22084 2005-10-27  Wim Taymans  <wim@fluendo.com>
22085
22086         * check/gst/gstbin.c: (GST_START_TEST):
22087         An extra refcount is taken in basesrc.
22088
22089         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
22090         (gst_base_src_get_range), (gst_base_src_pad_get_range),
22091         (gst_base_src_loop):
22092         Small cleanups, check for flushing after being unlocked from the 
22093         LIVE_LOCK. take refcounts correctly (not yet everywhere).
22094         Don't send out EOS when going to READY.
22095
22096 2005-10-27  Wim Taymans  <wim@fluendo.com>
22097
22098         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22099         (gst_base_sink_get_position):
22100         Some more debug.
22101
22102         * gst/gstbin.c: (message_check), (bin_replace_message),
22103         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22104         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22105         (bin_query_duration_init), (bin_query_duration_fold),
22106         (bin_query_duration_done), (bin_query_generic_fold),
22107         (gst_bin_query):
22108         * tools/gst-launch.c: (main):
22109         Remove old option.
22110
22111 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
22112
22113         * examples/controller/audio-example.c: (main):
22114         * examples/queue/queue.c: (event_loop):
22115         * gst/base/gstbasetransform.h:
22116         * gst/gstelement.c: (gst_element_send_event):
22117         * gst/gstevent.h:
22118         * gst/gstpad.c: (gst_pad_send_event):
22119           fixing examples
22120           fixing docs typos
22121           changing log priority in error situations
22122
22123 2005-10-25  Wim Taymans  <wim@fluendo.com>
22124
22125         * gst/gstbin.c: (message_check), (bin_replace_message),
22126         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22127         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22128         (bin_query_duration_init), (bin_query_duration_fold),
22129         (bin_query_duration_done), (bin_query_generic_fold),
22130         (gst_bin_query):
22131         Some doc and debug updates.
22132         Cache previously requested query DURATION for speed. invalidate
22133         cached duration if element posts a DURATION message.
22134
22135 2005-10-25  Wim Taymans  <wim@fluendo.com>
22136
22137         * docs/design/part-TODO.txt:
22138         Update TODO.
22139
22140         * gst/gstbin.c: (message_check), (bin_replace_message),
22141         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22142         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22143         (bin_query_duration_init), (bin_query_duration_fold),
22144         (bin_query_duration_done), (bin_query_generic_fold),
22145         (gst_bin_query):
22146         Handle SEGMENT_START/DONE messages correctly.
22147         More evolved query algorithm that handles duration queries
22148         correctly.
22149
22150         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
22151         (gst_element_get_state_func), (gst_element_abort_state),
22152         (gst_element_commit_state), (gst_element_lost_state):
22153         Some more debugging.
22154
22155         * gst/gstmessage.h:
22156         Added doc.
22157
22158 2005-10-25  Wim Taymans  <wim@fluendo.com>
22159
22160         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
22161         Don't use invalid stream_time.
22162
22163         * gst/gstevent.c: (gst_event_new_newsegment):
22164         stream_time in newsegment cannot be undefined.
22165
22166 2005-10-24  Wim Taymans  <wim@fluendo.com>
22167
22168         * gst/gstbus.c:
22169         Doc fix.
22170
22171         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
22172         (gst_queue_loop):
22173         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
22174
22175 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
22176
22177         * docs/libs/tmpl/gstdparam.sgml:
22178         * docs/libs/tmpl/gstdplinint.sgml:
22179         * docs/libs/tmpl/gstdpman.sgml:
22180         * docs/libs/tmpl/gstdpsmooth.sgml:
22181         * docs/libs/tmpl/gstunitconvert.sgml:
22182           these are obsolete
22183
22184 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
22185
22186         * configure.ac:
22187           back to HEAD
22188
22189 === release 0.9.4 ===
22190
22191 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22192
22193         * configure.ac:
22194           releasing 0.9.4, "Tyrannosaurus Rex"
22195
22196 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
22197
22198         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
22199         (gst_file_sink_get_current_offset):
22200           Use fseeko() and ftello() if available. When falling back on
22201           lseek() to get the current offset, fflush() first to make sure
22202           everything is up-to-date and we get the right offset.
22203
22204 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22205
22206         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22207         * gst/base/gstbasesrc.c: (gst_base_src_loop):
22208         * gst/gsterror.c: (_gst_stream_errors_init):
22209         * gst/gsterror.h:
22210         * gst/gstqueue.c: (gst_queue_loop):
22211         * po/POTFILES.in:
22212           remove prematurely added error category and clean up the instances
22213
22214 2005-10-21  Wim Taymans  <wim@fluendo.com>
22215
22216         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22217         (gst_base_sink_get_position), (gst_base_sink_query),
22218         (gst_base_sink_change_state):
22219         Simply set the right flag when going to playing, that's all
22220         we need to do instead of calling a function inside the object
22221         lock (that could take the lock as well and deadlock)
22222
22223 2005-10-21  Wim Taymans  <wim@fluendo.com>
22224
22225         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
22226         (gst_base_src_loop):
22227         Don't warn, the peer element knows what to do best when
22228         the seek failed, it might try something else.
22229
22230 2005-10-21  Wim Taymans  <wim@fluendo.com>
22231
22232         * gst/base/gstbasesrc.c: (gst_base_src_init),
22233         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
22234         Fix seeking.
22235
22236 2005-10-21  Wim Taymans  <wim@fluendo.com>
22237
22238         * docs/design/part-segments.txt:
22239         More docs.
22240
22241         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
22242         Correctly set caps, even on the subbufer.
22243
22244 2005-10-21  Wim Taymans  <wim@fluendo.com>
22245
22246         * docs/gst/gstreamer-docs.sgml:
22247         * docs/gst/gstreamer-sections.txt:
22248         * gst/gstelement.h:
22249         * gst/gstevent.c:
22250         * gst/gstevent.h:
22251         * gst/gstmessage.h:
22252         * gst/gstpad.h:
22253         * gst/gstparse.h:
22254         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
22255         * gst/gsttask.h:
22256         * gst/gstutils.c:
22257         * gst/gstutils.h:
22258         And 2% more doc coverage.
22259
22260 2005-10-21  Andy Wingo  <wingo@pobox.com>
22261
22262         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
22263         position reporting.
22264
22265 2005-10-20  Wim Taymans  <wim@fluendo.com>
22266
22267         * gst/gsterror.c: (gst_error_get_message):
22268         * gst/gstparse.h:
22269         * gst/gstquery.h:
22270         * gst/gststructure.c:
22271         * gst/gsttrace.c:
22272         * gst/gstutils.c:
22273         More docs.
22274
22275 2005-10-20  Wim Taymans  <wim@fluendo.com>
22276
22277         * gst/gstbuffer.h:
22278         * gst/gstpad.c:
22279         * gst/gstparse.c:
22280         Another 1% more coverage.
22281
22282 2005-10-20  Wim Taymans  <wim@fluendo.com>
22283
22284         * docs/gst/gstreamer-sections.txt:
22285         * gst/gstelement.c: (gst_element_get_state_func),
22286         (gst_element_abort_state), (gst_element_commit_state),
22287         (gst_element_lost_state):
22288         * gst/gstevent.h:
22289         * gst/gstquery.c: (gst_query_set_position),
22290         (gst_query_parse_position), (gst_query_set_duration),
22291         (gst_query_parse_duration), (gst_query_new_convert):
22292         * gst/gstutils.c:
22293         Yay! 1% more docs coverage.
22294
22295 2005-10-20  Wim Taymans  <wim@fluendo.com>
22296
22297         * gst/gstpad.h:
22298         * gst/gstquery.c: (gst_query_set_position),
22299         (gst_query_parse_position), (gst_query_set_duration),
22300         (gst_query_parse_duration), (gst_query_new_convert):
22301         * gst/gstquery.h:
22302         * gst/gstutils.c: (gst_element_query_convert):
22303         * gst/gstutils.h:
22304         Docs and consistency fixes.
22305
22306 2005-10-20  Wim Taymans  <wim@fluendo.com>
22307
22308         * gst/gsttask.c:
22309         * gst/gsttask.h:
22310         More docs.
22311
22312 2005-10-20  Wim Taymans  <wim@fluendo.com>
22313
22314         * gst/gstbin.c: (message_check), (bin_replace_message),
22315         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22316         (update_degree), (gst_bin_sort_iterator_next),
22317         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
22318         Reworked the message handling a bit, cache the messages instead of
22319         only the senders. alows us to do more in the future.
22320
22321 2005-10-20  Wim Taymans  <wim@fluendo.com>
22322
22323         * docs/design/part-TODO.txt:
22324         Update TODO
22325
22326         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22327         (gst_base_sink_query):
22328         Don't use clock time to report position when in EOS.
22329
22330 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
22331
22332         * tools/gst-inspect.c: (print_interfaces),
22333         (print_element_properties_info), (print_element_info):
22334           Fix interface output with gst-inspect -a; don't print
22335           newlines after double/float properties.
22336
22337 2005-10-20  Wim Taymans  <wim@fluendo.com>
22338
22339         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22340         (gst_base_sink_query):
22341         Speed up current position calculation.
22342
22343         * gst/base/gstbasesrc.c: (gst_base_src_query),
22344         (gst_base_src_default_newsegment):
22345         Correctly set stream position in newsegment.
22346
22347         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
22348         (update_degree), (gst_bin_sort_iterator_next),
22349         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
22350         * gst/gstmessage.c: (gst_message_new_custom):
22351         Clean up debugging info
22352
22353         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
22354         (gst_queue_loop), (gst_queue_handle_src_query):
22355         Pause task faster.
22356
22357 2005-10-19  Wim Taymans  <wim@fluendo.com>
22358
22359         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22360         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22361         Fix query handling again.
22362
22363 2005-10-19  Wim Taymans  <wim@fluendo.com>
22364
22365         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22366         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22367         * gst/base/gstbasesrc.c: (gst_base_src_query):
22368         * gst/elements/gstfilesink.c: (gst_file_sink_query):
22369         * gst/elements/gsttypefindelement.c:
22370         (gst_type_find_handle_src_query), (find_element_get_length),
22371         (gst_type_find_element_activate):
22372         API change fix.
22373
22374         * gst/gstquery.c: (gst_query_new_position),
22375         (gst_query_set_position), (gst_query_parse_position),
22376         (gst_query_new_duration), (gst_query_set_duration),
22377         (gst_query_parse_duration), (gst_query_set_segment),
22378         (gst_query_parse_segment):
22379         * gst/gstquery.h:
22380         Bundling query position/duration is not a good idea since duration
22381         does not change much and we don't want to recalculate it for every
22382         position query, so they are separated again..
22383         Base value in segment query is not needed.
22384
22385         * gst/gstqueue.c: (gst_queue_handle_src_query):
22386         * gst/gstutils.c: (gst_element_query_position),
22387         (gst_element_query_duration), (gst_pad_query_position),
22388         (gst_pad_query_duration):
22389         * gst/gstutils.h:
22390         Updates for query API change.
22391         Added some docs here and there.
22392
22393 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
22394
22395         * check/gst/gstbin.c: (GST_START_TEST):
22396         * check/gst/gstghostpad.c: (GST_START_TEST):
22397         * check/pipelines/cleanup.c: (GST_START_TEST):
22398           wait on thread to die so we can check refcount correctly
22399
22400 2005-10-18  Wim Taymans  <wim@fluendo.com>
22401
22402         * check/pipelines/stress.c: (GST_START_TEST):
22403         Make check a little more time consuming.
22404
22405 2005-10-18  Wim Taymans  <wim@fluendo.com>
22406
22407         * check/Makefile.am:
22408         * check/pipelines/stress.c: (GST_START_TEST),
22409         (simple_launch_lines_suite), (main):
22410         Small state change torture test.
22411
22412         * docs/design/part-states.txt:
22413         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22414         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
22415         (gst_base_sink_change_state):
22416         Never take state lock from streaming thread, clean up ugly
22417         hacks. Unfortunatly core does not yet support nice ways to
22418         async commit state.
22419         
22420         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
22421         (bin_bus_handler):
22422         Start state recalc if a STATE_DIRTY message is posted, but only
22423         on the toplevel bin.
22424
22425         * gst/gstelement.c: (gst_element_sync_state_with_parent),
22426         (gst_element_get_state_func), (gst_element_abort_state),
22427         (gst_element_commit_state), (gst_element_lost_state),
22428         (gst_element_set_state_func), (gst_element_change_state):
22429         * gst/gstelement.h:
22430         State variables are now protected with the LOCK, the state
22431         lock is only used to serialize _set_state().
22432
22433 2005-10-18  Wim Taymans  <wim@fluendo.com>
22434
22435         * check/gst/gstbin.c: (GST_START_TEST):
22436         * check/gst/gstmessage.c: (GST_START_TEST):
22437         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22438         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
22439         (bin_bus_handler):
22440         * gst/gstelement.c: (gst_element_abort_state),
22441         (gst_element_commit_state), (gst_element_lost_state):
22442         * gst/gstmessage.c: (gst_message_new_state_changed),
22443         (gst_message_new_state_dirty), (gst_message_new_segment_start),
22444         (gst_message_new_segment_done), (gst_message_new_duration),
22445         (gst_message_parse_state_changed),
22446         (gst_message_parse_segment_start),
22447         (gst_message_parse_segment_done), (gst_message_parse_duration):
22448         * gst/gstmessage.h:
22449         * tools/gst-launch.c: (event_loop):
22450         Seriously, this is better than a previous commit as we only need
22451         to notify the fact that an element changed state in a streaming
22452         thread, marking the state of the parents dirty, hence the 
22453         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
22454         message.
22455
22456 2005-10-18  Wim Taymans  <wim@fluendo.com>
22457
22458         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
22459         (gst_bin_recalc_func):
22460         * gst/gstelement.c: (gst_element_set_clock),
22461         (gst_element_abort_state), (gst_element_lost_state):
22462         Cleanups, prepare for state change fixes.
22463
22464 2005-10-18  Wim Taymans  <wim@fluendo.com>
22465
22466         * gst/gstbin.h:
22467         * gst/gstelement.c: (gst_element_class_init),
22468         (gst_element_set_state), (gst_element_set_state_func):
22469         * gst/gstelement.h:
22470         Pending ABI changes.
22471         GThreadPool in GstBinClass to monitor async state changes.
22472         state_cookie in GstElement to detect concurrent gst/set state.
22473         set_state is now virtual too in case a very complicated element
22474         has to be constructed.
22475
22476 2005-10-18  Wim Taymans  <wim@fluendo.com>
22477
22478         * check/gst/gstbin.c: (GST_START_TEST):
22479         * check/gst/gstmessage.c: (GST_START_TEST):
22480         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22481         * gst/gstbin.c: (bin_bus_handler):
22482         * gst/gstelement.c: (gst_element_commit_state),
22483         (gst_element_lost_state):
22484         * gst/gstmessage.c: (gst_message_new_state_changed),
22485         (gst_message_new_segment_start), (gst_message_new_segment_done),
22486         (gst_message_new_duration), (gst_message_parse_state_changed),
22487         (gst_message_parse_segment_start),
22488         (gst_message_parse_segment_done), (gst_message_parse_duration):
22489         * gst/gstmessage.h:
22490         * tools/gst-launch.c: (event_loop):
22491         Make messages future proof.
22492         state-change gets a flag if it was a message comming from the
22493         streaming thread.
22494         segment-start/stop can also be specified in other formats.
22495         A message to notify an app that a pipeline changed playback 
22496         duration.
22497         Also fix a GstMessage leak in -launch
22498
22499 2005-10-18  Andy Wingo  <wingo@pobox.com>
22500
22501         * gst/gstelement.c (gst_element_dispose): More helpful message.
22502
22503 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
22504
22505         reviewed by: <delete if not using a buddy>
22506
22507         * common/gtk-doc.mak:
22508
22509 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
22510
22511         * gst/gstregistry.c: (gst_registry_scan_path_level):
22512           unref a plug-in we get that was already initialized
22513
22514 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
22515
22516         * docs/gst/gstreamer-sections.txt:
22517         * docs/libs/gstreamer-libs-sections.txt:
22518         * gst/gstelement.h:
22519           add new api entries
22520           hide internal macro
22521
22522 2005-10-17  Andy Wingo  <wingo@pobox.com>
22523
22524         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
22525         cleanup.
22526
22527         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
22528
22529         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
22530
22531         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
22532         (gst_element_get_state_func): Better debug message.
22533         (gst_element_commit_state): s/INFO/DEBUG/.
22534         (gst_element_lost_state, gst_element_change_state): 
22535
22536         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
22537         (gst_message_new_custom): s/INFO/LOG/.
22538
22539 2005-10-17  Michael Smith <msmith@fluendo.com>
22540
22541         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
22542           Check if end time is valid using end time, not start time.
22543
22544 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
22545
22546         * check/gst-libs/controller.c: (GST_START_TEST),
22547         (gst_controller_suite):
22548         * libs/gst/controller/gstcontroller.c:
22549         (gst_controlled_property_set_interpolation_mode):
22550         * libs/gst/controller/gstcontroller.h:
22551         * libs/gst/controller/gstinterpolation.c:
22552         * testsuite/controller/.cvsignore:
22553         * testsuite/controller/Makefile.am:
22554         * testsuite/controller/interpolator.c:
22555           merge controller testsuites
22556           fix broken tests
22557           remove mem-chunk from docs
22558
22559 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
22560
22561         * gst/gstmemchunk.c:
22562         * gst/gstmemchunk.h:
22563         * gst/gsttrashstack.c:
22564         * gst/gsttrashstack.h:
22565           out.  get out.  you're fired.  to the Attic !
22566
22567 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
22568
22569         * gst/gstcaps.c: (gst_caps_intersect):
22570           fix signedness issues in a (hopefully) correct way
22571         * gst/gstelement.c: (gst_element_pads_activate):
22572           some debugging
22573         * gst/gstobject.c: (gst_object_set_parent):
22574           some debugging
22575
22576 2005-10-17  Julien MOUTTE  <julien@moutte.net>
22577
22578         * gst/gstvalue.h: Fix prototypes.
22579
22580 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22581
22582         * docs/gst/gstreamer-sections.txt:
22583         * gst/gst.c: (gst_version_string):
22584         * gst/gst.h:
22585         * gst/gstversion.h.in:
22586         * win32/common/libgstreamer.def:
22587           add gst_version_string ()
22588
22589 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22590
22591         * configure.ac:
22592           clean up further
22593         * gst/gst.c: (init_post):
22594         * win32/common/config.h.in:
22595           it's PLUGINDIR now
22596         * gst/gstcaps.c: (gst_caps_intersect):
22597           use gint64, the range could be bigger than a guint
22598
22599 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22600
22601         * gst/gstclock.h:
22602           document potential problem in 2038
22603
22604 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22605
22606         * gst/gstcaps.c: (gst_caps_intersect):
22607           Fix guint j diving under 0
22608
22609 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22610
22611         * configure.ac:
22612         * win32/common/config.h:
22613         * win32/common/config.h.in:
22614           check for process.h, declares getpid() on Windows
22615         * gst/gstinfo.c:
22616           include process.h if we have it
22617         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
22618         * gst/gstmemchunk.h:
22619           fix signedness issues
22620         * win32/common/libgstreamer.def:
22621           fix get_type's
22622
22623 2005-10-16  Julien MOUTTE  <julien@moutte.net>
22624
22625         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
22626         fix. Because of unsigned ints, caps intersection was going nuts and
22627         trying to access structures with G_MAXUINT index. That fixes
22628         videotestsrc ! ffmpegcolorspace ! fakesink
22629         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
22630         consistency.
22631
22632 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22633
22634         * configure.ac:
22635           use the gettext macro
22636         * gst/elements/gstelements.c:
22637         * gst/gst.c:
22638         * gst/indexers/gstindexers.c:
22639           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
22640         * win32/common/config.h:
22641           updated config.h
22642         * win32/common/config.h.in:
22643           add the template to generate config.h
22644         * win32/common/gstenumtypes.c:
22645         * win32/common/gstversion.h:
22646           updated copies
22647
22648 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22649
22650         * gst/gst.c: (gst_version):
22651         * gst/gstversion.h.in:
22652           add the nano
22653
22654 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
22655
22656         * gst/gstevent.h:
22657           Oops, add missing closing bracket.
22658
22659 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22660
22661         * configure.ac:
22662           use common m4's for argument checking
22663
22664 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
22665
22666         * docs/gst/gstreamer-sections.txt:
22667         * gst/gstevent.h:
22668           Add GST_EVENT_TYPE_NAME() macro.
22669
22670 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22671
22672         * gst/gstinfo.c:
22673         * gst/gstpluginfeature.c:
22674         * gst/gsttask.c:
22675           privatize more symbols
22676
22677 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22678
22679         * configure.ac:
22680           add srcdir, builddir includes to GST_ALL_CFLAGS, since
22681           everything that uses GStreamer API should have the includes
22682
22683 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22684
22685         * docs/gst/gstreamer-sections.txt:
22686         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
22687         * gst/gstvalue.h:
22688           give each value a _get_type, removes the DATA exports
22689
22690 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22691
22692         * gst/gst.c:
22693         * gst/gst.h:
22694           remove _gst_registry_auto_load, not used anymore
22695         * gst/gstbin.c: (gst_bin_get_type):
22696         * gst/gstbin.h:
22697         * gst/gstelement.c: (gst_element_get_type):
22698         * gst/gstelement.h:
22699         * gst/gstobject.c: (gst_object_get_type):
22700         * gst/gstobject.h:
22701         * gst/gstpad.c: (gst_pad_get_type):
22702         * gst/gstpad.h:
22703           make _get_type functions similar, fixes data export from library
22704
22705 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22706
22707         * configure.ac:
22708           correctly make conditionals
22709         * gst/elements/Makefile.am:
22710         * gst/elements/gstelements.c:
22711           fix typo causing fdsrc not to build
22712
22713 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22714
22715         * testsuite/Makefile.am:
22716         * testsuite/bytestream/.cvsignore:
22717         * testsuite/bytestream/Makefile.am:
22718         * testsuite/bytestream/filepadsink.c:
22719         * testsuite/bytestream/gstbstest.c:
22720         * testsuite/bytestream/test1.c:
22721         * testsuite/bytestream/testfile1:
22722         * testsuite/caps/normalisation.c:
22723         * testsuite/caps/random.c: (main):
22724         * testsuite/cleanup/.cvsignore:
22725         * testsuite/cleanup/Makefile.am:
22726         * testsuite/cleanup/cleanup1.c:
22727         * testsuite/cleanup/cleanup2.c:
22728         * testsuite/cleanup/cleanup3.c:
22729         * testsuite/cleanup/cleanup4.c:
22730         * testsuite/cleanup/cleanup5.c:
22731         * testsuite/controller/interpolator.c:
22732         * testsuite/debug/printf_extension.c: (main):
22733         * testsuite/elements/tee.c:
22734         * testsuite/negotiation/.cvsignore:
22735         * testsuite/negotiation/Makefile.am:
22736         * testsuite/negotiation/pad_link.c:
22737         * testsuite/pad/Makefile.am:
22738         * testsuite/pad/chainnopull.c:
22739         * testsuite/pad/getnopush.c:
22740         * testsuite/pad/link.c:
22741         * testsuite/refcounting/sched.c: (create_pipeline):
22742         * testsuite/registry/Makefile.am:
22743         * testsuite/registry/gst-print-formats.c:
22744         * testsuite/schedulers/.cvsignore:
22745         * testsuite/schedulers/142183-2.c:
22746         * testsuite/schedulers/142183.c:
22747         * testsuite/schedulers/143777-2.c:
22748         * testsuite/schedulers/143777.c:
22749         * testsuite/schedulers/147713.c:
22750         * testsuite/schedulers/147819.c:
22751         * testsuite/schedulers/147894-2.c:
22752         * testsuite/schedulers/147894.c:
22753         * testsuite/schedulers/Makefile.am:
22754         * testsuite/schedulers/group_link.c:
22755         * testsuite/schedulers/queue_link.c:
22756         * testsuite/schedulers/relink.c:
22757         * testsuite/schedulers/unlink.c:
22758         * testsuite/schedulers/unref.c:
22759         * testsuite/schedulers/useless_iteration.c:
22760         * testsuite/states/bin.c:
22761           clean out/remove some stuff from the testsuite directories
22762
22763 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22764
22765         * configure.ac:
22766           check for some headers
22767         * gst/elements/Makefile.am:
22768         * gst/elements/gstelements.c:
22769           don't compile fdsrc without sys/socket.h
22770         * gst/indexers/Makefile.am:
22771         * gst/indexers/gstindexers.c: (plugin_init):
22772           don't compile fileindex without mmap
22773
22774 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22775
22776         * configure.ac:
22777           reorganize
22778           clean up
22779           document more
22780           remove cruft
22781         * check/Makefile.am:
22782         * docs/gst/Makefile.am:
22783         * examples/helloworld/Makefile.am:
22784         * gst/Makefile.am:
22785         * gst/base/Makefile.am:
22786         * gst/check/Makefile.am:
22787         * gst/elements/Makefile.am:
22788         * gst/indexers/Makefile.am:
22789         * gst/parse/Makefile.am:
22790         * libs/gst/controller/Makefile.am:
22791         * libs/gst/dataprotocol/Makefile.am:
22792         * examples/helloworld/helloworld.c: (event_loop):
22793           compile fixes, though it's not being compiled currently
22794
22795 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
22796
22797         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
22798           Add some simple tests for the new taglist date API.
22799
22800 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
22801
22802         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
22803         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
22804           Beautify 'last-message' output: print 'none' for buffer timestamps
22805           and durations if none is set; improve alignment with next messages.
22806
22807 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
22808
22809         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
22810         * gst/gstpluginfeature.h:
22811         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
22812         * gst/gstregistry.h:
22813         * docs/gst/gstreamer-sections.txt:
22814           Add new API to check plugin feature version requirements.
22815
22816         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
22817           Some basic tests for the above.         
22818
22819 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22820
22821         * gst/gststructure.c: (gst_structure_to_string):
22822           guard against NULL printf - happens when for example
22823           a message structure with GstClock gets serialized
22824
22825 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
22826
22827         * gst/base/gstcollectpads.c: (gst_collectpads_event):
22828           Fix presumable copy'n'pasto.
22829
22830 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22831
22832         * gst/elements/gstfakesrc.h:
22833         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
22834         * gst/elements/gsttypefindelement.c:
22835           fix some signedness
22836         * gst/elements/gstfilesink.c: (gst_file_sink_render):
22837           I wonder if this could actually write +2GB files before
22838
22839 2005-10-13  Andy Wingo  <wingo@pobox.com>
22840
22841         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
22842         Fix Timmeke Waymans bug.
22843         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
22844         string of the proper length to gst_caps_from_string. There's a
22845         potential for, before this fix, that this could cause someone
22846         connecting over the network to cause a segfault if the payload is
22847         not NUL-terminated.
22848
22849 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
22850
22851         * docs/design/draft-push-pull.txt:
22852         * docs/design/part-overview.txt:
22853         * docs/random/TODO-pre-0.9:
22854         * docs/random/old/ChangeLog.gstreamer:
22855         * gst/base/gstpushsrc.c:
22856         * gst/gstclock.c:
22857           fixed typos
22858
22859 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22860
22861         * gst/glib-compat.c: (gst_flags_get_first_value):
22862         * gst/glib-compat.h:
22863         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
22864         (gst_value_compare_double), (gst_value_serialize_flags):
22865           GLib 2.6 g_flags_get_first_value has a bug that triggers an
22866           infinite loop
22867
22868 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22869
22870         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22871         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
22872           fix up debugging
22873         * tools/gst-launch.c: (event_loop):
22874           print out clock nicely
22875
22876 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
22877
22878         * docs/gst/gstreamer-sections.txt:
22879         * gst/gsttaglist.h:
22880         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
22881         (gst_tag_list_get_date_index):
22882           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
22883           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
22884
22885 2005-10-13  Julien MOUTTE  <julien@moutte.net>
22886
22887         * gst/base/gstcollectpads.c: (gst_collectpads_event),
22888         (gst_collectpads_chain):
22889         * gst/base/gstcollectpads.h: Handle newsegment and store informations
22890         in CollectData.
22891
22892 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
22893
22894         * docs/gst/gstreamer-sections.txt:
22895         * gst/gst.c:
22896         * gst/gsterror.h:
22897         * tools/gst-inspect.c: (main):
22898         * tools/gst-launch.c: (main):
22899         * tools/gst-run.c: (main):
22900         * tools/gst-xmlinspect.c: (main):
22901           fix GOption context leaks
22902           doc fixes
22903
22904 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22905
22906         * gst/gstbus.c:
22907           use HAVE_UNISTD_H
22908         * win32/common/config.h:
22909           update config
22910         * win32/vs6/grammar.dsp:
22911         * win32/vs6/libgstelements.dsp:
22912         * win32/vs6/libgstreamer.dsp:
22913           update vs6 files
22914
22915 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
22916
22917         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22918         * gst/base/gstbasesrc.c: (gst_base_src_query):
22919           fix more guint64<->gdouble conversions
22920
22921 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
22922
22923         * Makefile.am:
22924           add win32-update target
22925         * win32/common/gstconfig.h:
22926         * win32/common/gstenumtypes.c:
22927         * win32/common/gstenumtypes.h:
22928         * win32/common/gstversion.h:
22929           add files that visual studio can't generate
22930
22931 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
22932
22933         * Makefile.am:
22934           add a win32-update target
22935         * configure.ac:
22936
22937 2005-10-12  Wim Taymans  <wim@fluendo.com>
22938
22939         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
22940         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
22941         * gst/gstelement.c: (gst_element_commit_state),
22942         (gst_element_set_state):
22943         Protect flags with proper lock.
22944         unref provided cached clock in dispose.
22945
22946 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
22947
22948         * gst/gst.c:
22949         * gst/gstminiobject.h:
22950         * gst/gstpad.h:
22951         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
22952           removed unused flags from miniobject
22953           doc fixes
22954
22955 2005-10-12  Wim Taymans  <wim@fluendo.com>
22956
22957         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
22958         (gst_file_sink_event), (gst_file_sink_render):
22959         Flush before seeking.
22960
22961 2005-10-12  Andy Wingo  <wingo@pobox.com>
22962
22963         * gst/gst.c (gst_init_check): Ignore unknown options, as has
22964         always been the case.
22965
22966 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
22967
22968         * check/gst/gstbin.c: (GST_START_TEST):
22969         * docs/gst/gstreamer-sections.txt:
22970         * gst/base/gstbasesink.c: (gst_base_sink_init):
22971         * gst/base/gstbasesrc.c: (gst_base_src_init),
22972         (gst_base_src_get_range), (gst_base_src_check_get_range),
22973         (gst_base_src_start), (gst_base_src_stop):
22974         * gst/base/gstbasesrc.h:
22975         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
22976         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
22977         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
22978         (bin_bus_handler):
22979         * gst/gstbin.h:
22980         * gst/gstbuffer.h:
22981         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
22982         * gst/gstbus.h:
22983         * gst/gstelement.c: (gst_element_is_locked_state),
22984         (gst_element_set_locked_state), (gst_element_commit_state),
22985         (gst_element_set_state):
22986         * gst/gstelement.h:
22987         * gst/gstindex.c: (gst_index_init):
22988         * gst/gstindex.h:
22989         * gst/gstminiobject.h:
22990         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
22991         (gst_object_set_parent):
22992         * gst/gstobject.h:
22993         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
22994         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
22995         * gst/gstpad.h:
22996         * gst/gstpadtemplate.h:
22997         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
22998         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
22999         * gst/gstpipeline.h:
23000         * gst/indexers/gstfileindex.c: (gst_file_index_load),
23001         (gst_file_index_commit):
23002         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
23003         * testsuite/pad/link.c: (gst_test_src_init),
23004         (gst_test_filter_init), (gst_test_sink_init):
23005         * testsuite/states/locked.c: (main):
23006           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
23007           moved bitshift from macro to enum definition
23008
23009 2005-10-12  Wim Taymans  <wim@fluendo.com>
23010
23011         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
23012         * gst/elements/gstfilesink.c: (gst_file_sink_event),
23013         (gst_file_sink_render):
23014         Some more debugging info.
23015
23016 2005-10-12  Wim Taymans  <wim@fluendo.com>
23017
23018         * docs/design/part-states.txt:
23019         * tools/gst-launch.c: (main):
23020         Some doc updates.
23021         Revert non-intentional change.
23022
23023 2005-10-12  Wim Taymans  <wim@fluendo.com>
23024
23025         * check/gst/gstbin.c: (GST_START_TEST):
23026         * check/gst/gstelement.c: (GST_START_TEST):
23027         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
23028         * check/gst/gstghostpad.c: (GST_START_TEST):
23029         * check/gst/gstpipeline.c: (GST_START_TEST):
23030         * check/pipelines/simple_launch_lines.c: (run_pipeline):
23031         * check/states/sinks.c: (GST_START_TEST):
23032         * gst/elements/gsttypefindelement.c: (stop_typefinding):
23033         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
23034         (gst_bin_remove_func), (gst_bin_get_state_func),
23035         (gst_bin_recalc_state), (gst_bin_change_state_func),
23036         (bin_bus_handler):
23037         * gst/gstelement.c: (gst_element_get_state_func),
23038         (gst_element_get_state), (gst_element_abort_state),
23039         (gst_element_commit_state), (gst_element_set_state),
23040         (gst_element_change_state), (gst_element_change_state_func):
23041         * gst/gstelement.h:
23042         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
23043         (gst_pipeline_provide_clock_func):
23044         * gst/gstutils.c: (gst_element_link_pads_filtered):
23045         * tools/gst-launch.c: (main):
23046         * tools/gst-typefind.c: (main):
23047         Use GstClockTime in _get_state() instead of GTimeVal.
23048         Remove old code in gstutils.c
23049
23050 2005-10-12  Andy Wingo  <wingo@pobox.com>
23051
23052         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
23053         removed.
23054
23055         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
23056         there is no task. Shouldn't affect any code, as nothing in our
23057         plugins checks this return value.
23058         (gst_pad_stop_task): Also take the stream lock if the pad has no
23059         task. Docs updated.
23060
23061 2005-10-12  Wim Taymans  <wim@fluendo.com>
23062
23063         * gst/gstpad.c: (pre_activate), (post_activate),
23064         (gst_pad_activate_pull), (gst_pad_activate_push):
23065         Cleanup activation code. Reset old state if
23066         activation failed.
23067
23068 2005-10-12  Wim Taymans  <wim@fluendo.com>
23069
23070         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23071         (gst_base_sink_change_state):
23072         No need to prerol after receiving EOS.
23073
23074         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
23075         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
23076         * gst/elements/gstidentity.c: (gst_identity_event):
23077         Print events more verbosely.
23078
23079 2005-10-12  Wim Taymans  <wim@fluendo.com>
23080
23081         * check/Makefile.am:
23082         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
23083         * check/states/sinks2.c:
23084         Moved sinks2 testcode in sinks check.
23085
23086         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
23087         (gst_bin_remove_func), (gst_bin_recalc_state),
23088         (gst_bin_change_state_func), (bin_bus_handler):
23089         Fix potential race condition when _get_state() iterated over an
23090         ASYNC element right before it posted a state completion.
23091
23092         * gst/gstclock.h:
23093         Do proper cast here.
23094
23095         * gst/gstevent.c: (gst_event_new_newsegment),
23096         (gst_event_parse_newsegment):
23097         A playback rate of 0.0 is not allowed.
23098
23099 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23100
23101         * win32/common/config.h:
23102         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
23103         (_trewinddir), (_ttelldir), (_tseekdir):
23104         * win32/common/dirent.h:
23105         * win32/common/gtchar.h:
23106         * win32/common/libgstbase.def:
23107         * win32/common/libgstreamer.def:
23108         * win32/vs6/grammar.dsp:
23109         * win32/vs6/gst_inspect.dsp:
23110         * win32/vs6/gst_launch.dsp:
23111         * win32/vs6/gstreamer.dsw:
23112         * win32/vs6/libgstbase.dsp:
23113         * win32/vs6/libgstelements.dsp:
23114         * win32/vs6/libgstreamer.dsp:
23115           Visual Studio 6 project files, and a new common directory.
23116           Phear.
23117
23118 2005-10-11  Wim Taymans  <wim@fluendo.com>
23119
23120         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23121         (gst_base_sink_do_sync), (gst_base_sink_query),
23122         (gst_base_sink_change_state):
23123         * gst/base/gstbasesink.h:
23124         Correctly parse newsegment info.
23125
23126 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23127
23128         * gst/gst.c: (init_post):
23129           split plugin paths correctly
23130
23131 2005-10-11  Wim Taymans  <wim@fluendo.com>
23132
23133         * check/gst/gstevent.c: (GST_START_TEST):
23134         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23135         (gst_base_sink_change_state):
23136         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
23137         * gst/base/gstbasetransform.c: (gst_base_transform_event):
23138         * gst/elements/gstfilesink.c: (gst_file_sink_event):
23139         * gst/gstevent.c: (gst_event_new_newsegment),
23140         (gst_event_parse_newsegment):
23141         * gst/gstevent.h:
23142         Added extra flag to newsegment for future API freeze.
23143         Updated check and base elements.
23144
23145 2005-10-11  Julien MOUTTE  <julien@moutte.net>
23146
23147         * gst/base/gstcollectpads.c: (gst_collectpads_init),
23148         (gst_collectpads_add_pad), (gst_collectpads_pop),
23149         (gst_collectpads_event), (gst_collectpads_chain):
23150         * gst/base/gstcollectpads.h: Handle EOS correctly.
23151
23152 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23153
23154         * tools/gst-launch.c: (main):
23155           more null protecting
23156
23157 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23158
23159         * gst/gst-i18n-lib.h:
23160           check for ENABLE_NLS, not GETTEXT_PACKAGE
23161         * gst/gstregistry.c: (gst_registry_add_plugin),
23162         (gst_registry_scan_path_level),
23163         (_gst_registry_remove_cache_plugins):
23164           protect possibly NULL strings
23165         * gst/parse/types.h:
23166           config.h already included before
23167         * tools/gst-inspect.c: (main):
23168           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
23169           check for ENABLE_NLS, not GETTEXT_PACKAGE
23170         * tools/gst-launch.c: (main):
23171           check for ENABLE_NLS, not GETTEXT_PACKAGE
23172
23173 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23174
23175         * configure.ac:
23176           if we don't have glib, fail before testing 2.8
23177         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
23178           fix a leak, should fix plugins-base testsuite
23179
23180 2005-10-11  Andy Wingo  <wingo@pobox.com>
23181
23182         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
23183         take the mode we're going to as an arg. Go head and set the mode
23184         and flushing flags now, so that if the activate function starts a
23185         thread all the flags will be in the right state.
23186         (post_activate): Renamed also. Just handle making sure streaming
23187         finishes for the deactivation case, and setting the deactivated
23188         mode.
23189         (gst_pad_set_active): Complain loudly if deactivation fails.
23190         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
23191         (gst_pad_activate_push): Adapt to pre/post_activate changes,
23192         remove the terrible hack.
23193
23194 2005-10-11  Wim Taymans  <wim@fluendo.com>
23195
23196         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23197         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
23198         (gst_bin_recalc_state), (gst_bin_change_state_func),
23199         (gst_bin_dispose), (bin_bus_handler):
23200         * gst/gstbin.h:
23201         Prepare to make current EOS message queue more generic.
23202         Fix some typos.
23203
23204         * gst/gstevent.c: (gst_event_new_newsegment),
23205         (gst_event_parse_newsegment):
23206         * gst/gstevent.h:
23207         Rename base to stream_time.
23208
23209         * gst/gstmessage.h:
23210         Fix typo in docs.
23211
23212 2005-10-11  Wim Taymans  <wim@fluendo.com>
23213
23214         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23215         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
23216         (gst_bin_change_state_func), (bin_bus_handler):
23217         * gst/gstbin.h:
23218         Work on proper clock selection.
23219
23220 2005-10-11  Edward Hervey  <edward@fluendo.com>
23221
23222         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
23223         * libs/gst/controller/gstcontroller.h:
23224         Added GList* version of _remove_properties() in order to be able to wrap
23225         it in bindings.
23226
23227 2005-10-11  Wim Taymans  <wim@fluendo.com>
23228
23229         * docs/design/part-states.txt:
23230         Some more docs.
23231
23232         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
23233         (gst_bin_change_state_func), (bin_bus_handler):
23234         Doc updates. Don't distribute the same clock over and over again.
23235
23236         * gst/gstclock.c:
23237         * gst/gstclock.h:
23238         Doc updates.
23239
23240         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
23241         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
23242         (gst_pad_send_event):
23243         * gst/gstpad.h:
23244         Make probe emission threadsafe again.
23245         Register quarks and move _get_name() from utils.
23246         Doc updates.
23247
23248         * gst/gstpipeline.c: (gst_pipeline_class_init),
23249         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23250         Only redistribute the clock of it changed.
23251
23252         * gst/gstsystemclock.h:
23253         Doc updates. 
23254
23255         * gst/gstutils.c:
23256         * gst/gstutils.h:
23257         Moved the _flow_get_name() to GstPad.
23258
23259 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23260
23261         * check/gst-libs/gdp.c: (GST_START_TEST):
23262         * check/gst/gstcaps.c: (GST_START_TEST):
23263         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
23264         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
23265         (gst_dp_packet_from_caps):
23266           fix more valgrind warnings before turning up the heat
23267
23268 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23269
23270         * gst/parse/grammar.y:
23271           some cleanup before the hacking
23272
23273 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23274
23275         * gst/base/gstbasesrc.c: (gst_base_src_query):
23276           use conversions
23277         * gst/gstutils.c: (gst_guint64_to_gdouble),
23278         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
23279         * gst/gstutils.h:
23280           externalize, basesrc uses it
23281           obviously the implementation needs testing
23282
23283 2005-10-10  Wim Taymans  <wim@fluendo.com>
23284
23285         * tests/sched/Makefile.am:
23286         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
23287         (make_pipeline3), (make_pipeline4), (print_elem), (main):
23288
23289 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23290
23291         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
23292           apparently converting from guint64 to double is not implemented
23293           on MSVC
23294
23295 2005-10-10  Wim Taymans  <wim@fluendo.com>
23296
23297         * check/Makefile.am:
23298         * check/generic/states.c: (GST_START_TEST):
23299         * check/gst/gstbin.c: (GST_START_TEST):
23300         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
23301         * check/states/sinks.c: (GST_START_TEST):
23302         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
23303         (main):
23304         Check fixes, use API as stated in design docs, remove hacks.
23305
23306         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23307         (gst_base_sink_change_state):
23308         Catch stopping our task while we're shutting down.
23309
23310         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
23311         (gst_bin_remove_func), (gst_bin_get_state_func),
23312         (gst_bin_recalc_state), (gst_bin_change_state_func),
23313         (bin_bus_handler):
23314         * gst/gstbin.h:
23315         * gst/gstelement.c: (gst_element_init),
23316         (gst_element_get_state_func), (gst_element_abort_state),
23317         (gst_element_commit_state), (gst_element_lost_state),
23318         (gst_element_set_state), (gst_element_change_state),
23319         (gst_element_change_state_func):
23320         * gst/gstelement.h:
23321         New state change algorithm (see #318116)
23322
23323         * gst/gstpipeline.c: (gst_pipeline_class_init),
23324         (gst_pipeline_init), (gst_pipeline_set_property),
23325         (gst_pipeline_get_property), (do_pipeline_seek),
23326         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23327         * gst/gstpipeline.h:
23328         Remove crude state change hacks.
23329
23330         * gst/gstutils.h:
23331         Remove crude hacks.
23332
23333         * tools/gst-launch.c: (main):
23334         Fixes for state change. Needs some more work to fully use the
23335         new stuff.
23336
23337 2005-10-10  Andy Wingo  <wingo@pobox.com>
23338
23339         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
23340
23341         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
23342         this flag, but it's not even in GLib 2.6. Odd. Hack around the
23343         issue.
23344
23345 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23346
23347         * gst/gstiterator.c: (gst_iterator_new):
23348           Fix my previous commit: GTypes passed to gst_iterator_new()
23349           can be fundamental types.
23350
23351 2005-10-10  Wim Taymans  <wim@fluendo.com>
23352
23353         * gst/gstelement.c: (gst_element_iterate_pad_list),
23354         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
23355         (gst_element_iterate_sink_pads):
23356         Use src/sink pads lists for the respective iterators instead
23357         of filtering.
23358
23359 2005-10-10  Andy Wingo  <wingo@pobox.com>
23360
23361         Merged in popt removal + GOption addition patch from Ronald, bug
23362         #169772.
23363
23364         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
23365         GstElement macros around, remove popt-related symbols, add goption
23366         stuff.
23367
23368         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
23369         
23370         * docs/gst/Makefile.am:
23371         * docs/libs/Makefile.am: No POPT_CFLAGS.
23372         
23373         * examples/manual/Makefile.am:
23374         * docs/manual/basics-init.xml: Doc updates with an example.
23375         
23376         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
23377         (gst_init), (parse_one_option), (parse_goption_arg):
23378         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
23379         bit of hand merging and debugging to get the GOption stuff working
23380         tho.
23381         
23382         * tests/Makefile.am:
23383         * tools/Makefile.am:
23384         * tools/gst-inspect.c: (main):
23385         * tools/gst-launch.c: (main):
23386         * tools/gst-run.c: (main):
23387         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
23388
23389 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23390
23391         * gst/gstiterator.c: (gst_iterator_new):
23392           Add assertions to make sure passed GType is likely to really
23393           be a GType (as the compiler won't catch it if the size and
23394           GType arguments get mixed up, see #318447).
23395
23396 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
23397
23398         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
23399
23400         * gst/gstbin.c: (gst_bin_iterate_sorted):
23401           Pass GType and size arguments to gst_iterator_new() in the right
23402           order (maybe we should make _new() take the GType as first argument
23403           just like _new_list()?) (#318447).
23404           
23405
23406 2005-10-10  Wim Taymans  <wim@fluendo.com>
23407
23408         * gst/gstelement.c: (gst_element_finalize):
23409         And free the GStaticRecMutex too
23410
23411 2005-10-10  Andy Wingo  <wingo@pobox.com>
23412
23413         * gst/gstelement.c (gst_element_init, gst_element_finalize):
23414         Allocate and free the mutex properly.
23415
23416         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
23417         New macros.
23418         (GstElement): The state_lock is now recursive. Rebuild your
23419         plugins, suckers. Old macros adapted.
23420
23421         * docs/gst/gstreamer-sections.txt: Doc updates.
23422
23423         * gst/gstutils.h:
23424         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
23425         (g_static_rec_cond_wait): Ported from state changes patch, while
23426         we wait on bug #317802 to be solved in a well-distributed GLib.
23427
23428         * gst/gstelement.c (gst_element_change_state_func): Renamed from
23429         gst_element_change_state, variable name changes.
23430         (gst_element_change_state): Split out of gst_element_set_state in
23431         preparation for the state change merge. Doesn't pay attention to
23432         the 'transition' argument.
23433         (gst_element_set_state): Updates, hopefully purely cosmetic.
23434         (gst_element_sync_state_with_parent): MT-safety. Ported from the
23435         state change patch.
23436         (gst_element_get_state_func): Renamed from get_state, cosmetic
23437         changes.
23438
23439 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23440
23441         * gst/elements/gstelements.c:
23442         * win32/GStreamer.vcproj:
23443         * win32/config.h:
23444         * win32/dirent.c: (_tseekdir):
23445         * win32/gst-inspect.vcproj:
23446         * win32/gst-launch.vcproj:
23447         * win32/gstconfig.h:
23448         * win32/gstelements.vcproj:
23449         * win32/gstenumtypes.c: (gst_object_flags_get_type):
23450         * win32/gstreamer.def:
23451         * win32/msvc71.sln:
23452           updates for the win32 build (patch from Sebastien Moutte)
23453
23454 2005-10-10  Andy Wingo  <wingo@pobox.com>
23455
23456         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
23457         gst_bin_get_state, cleaned up (but no logic changes).
23458         (bin_element_is_sink): Comment updates.
23459         (sink_iterator_filter): Remove needless cast.
23460         (gst_bin_iterate_sinks): Doc update.
23461         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
23462         cleaned up (but no logic changes).
23463
23464         * check/states/sinks.c (test_src_sink): Cleanups from the state
23465         change patch.
23466         (test_livesrc_sink): Sync on the state.
23467
23468         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
23469         the state change patch.
23470
23471         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
23472         change patch.
23473
23474         * check/gst/gstbin.c: Merge in some style fixes and additional
23475         checks from Wim's state change patch.
23476
23477 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23478
23479         * gst/base/gsttypefindhelper.c: (helper_find_peek),
23480         (gst_type_find_helper):
23481           Check whether we have the requested data already in our list of
23482           cached buffers before pulling a new buffer; also make the buffer
23483           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
23484
23485 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23486
23487         * gst/gstcaps.c:
23488         * gst/gstevent.c:
23489           doc updates
23490         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
23491           don't use long long, it's not portable.  Replacing with
23492           gint64 seems to work; let's hope no skeletons fall out of the closet.
23493
23494 2005-10-10  Andy Wingo  <wingo@pobox.com>
23495
23496         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
23497
23498 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
23499
23500         * docs/gst/gstreamer-sections.txt:
23501         * gst/gstevent.c:
23502         * gst/gstevent.h:
23503         * gst/gstinfo.c:
23504         * gst/gstinfo.h:
23505         * gst/gstmessage.c: (gst_message_parse_state_changed):
23506         * gst/gstpad.c:
23507         * gst/gstpad.h:
23508           more docs, fix compilation
23509
23510 2005-10-09  Philippe Khalaf <burger@speedy.org>
23511         * gst/gstmessage.c:
23512           Fixed a few forgotten variables on previous commit
23513
23514 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
23515
23516         * gst/base/gsttypefindhelper.c: (helper_find_peek):
23517           Fix evil typefind crasher: getrange() might return a short
23518           buffer at the end of a file, but gst_type_find_peek() must
23519           either return the full data as requested or NULL, but
23520           never a short buffer.
23521
23522 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
23523
23524         * gst/gstmessage.c: (gst_message_new_state_changed),
23525         (gst_message_parse_state_changed):
23526         * gst/gstmessage.h:
23527           don't use "new", it's a C++ keyword
23528
23529 2005-10-08  Wim Taymans  <wim@fluendo.com>
23530
23531         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
23532         * gst/gstelement.c: (gst_element_post_message):
23533         * gst/gstpipeline.c: (gst_pipeline_change_state):
23534         Small docs and debug updates.
23535
23536 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
23537
23538         * docs/gst/gstreamer-sections.txt:
23539         * gst/gstelementfactory.c:
23540         * gst/gstevent.c:
23541         * gst/gsttaglist.c:
23542           more docs
23543
23544 2005-10-08  Wim Taymans  <wim@fluendo.com>
23545
23546         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
23547         (gst_bin_dispose), (bin_bus_handler):
23548         Fix typos, add comments.
23549         Clear EOS list when going to PAUSED from any direction and do it
23550         in a threadsafe way.
23551         Get base time in a threadsafe way too.
23552         Fix confusing debug in the change_state function.
23553         Various other small cleanups.
23554         
23555         * gst/gstelement.c: (gst_element_post_message):
23556         Fix very verbose bus posting code.
23557
23558         * gst/gstpipeline.c: (gst_pipeline_class_init),
23559         (gst_pipeline_set_property), (gst_pipeline_get_property),
23560         (gst_pipeline_change_state):
23561         Small ARG_ -> PROP_ cleanup
23562
23563 2005-10-08  Wim Taymans  <wim@fluendo.com>
23564
23565         * gst/gstbin.c: (is_eos), (bin_bus_handler):
23566         Do a less CPU demanding EOS check because we can.
23567
23568 2005-10-08  Wim Taymans  <wim@fluendo.com>
23569
23570         * libs/gst/dataprotocol/dataprotocol.c:
23571         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
23572         (gst_dp_packet_from_event):
23573         * libs/gst/dataprotocol/dataprotocol.h:
23574         * libs/gst/dataprotocol/dp-private.h:
23575         It's about time we bump the version number.
23576         Since event types don't fit in the guint8 anymore describing
23577         the payload type, make payload type 16 bits wide.
23578
23579 2005-10-08  Wim Taymans  <wim@fluendo.com>
23580
23581         * docs/design/part-TODO.txt:
23582         * docs/design/part-clocks.txt:
23583         * docs/design/part-events.txt:
23584         * docs/design/part-gstbin.txt:
23585         * docs/design/part-gstelement.txt:
23586         * docs/design/part-gstpipeline.txt:
23587         * docs/design/part-live-source.txt:
23588         * docs/design/part-messages.txt:
23589         * docs/design/part-overview.txt:
23590         * docs/design/part-states.txt:
23591         Many doc updates.
23592
23593 2005-10-08  Wim Taymans  <wim@fluendo.com>
23594
23595         * gst/gstevent.c:
23596         * gst/gstevent.h:
23597         Fix event quark registration.
23598         Add some space between events so we can insert them in the
23599         right groups.
23600
23601 2005-10-08  Wim Taymans  <wim@fluendo.com>
23602
23603         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23604         (gst_base_sink_handle_buffer):
23605         Better log message.
23606
23607         * gst/gstbus.h:
23608         * gst/gstelement.h:
23609         More docs.
23610
23611         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
23612         (gst_queue_set_property), (gst_queue_get_property):
23613         * gst/gstqueue.h:
23614         Remove old unused properties.
23615
23616 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
23617         * docs/gst/gstreamer-sections.txt:
23618         * gst/gstmessage.c:
23619         * gst/gstmessage.h:
23620         * gst/gstminiobject.c:
23621         * gst/gstminiobject.h:
23622         * gst/gstobject.h:
23623         * gst/gstpad.h:
23624         * gst/gstutils.h:
23625           lots of new docs and doc fixes
23626
23627 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23628
23629         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
23630         * gst/gstplugin.h:
23631         * gst/gstregistry.c: (gst_registry_lookup_locked),
23632         (gst_registry_scan_path_level):
23633         * gst/gstregistryxml.c: (load_plugin):
23634           Only ever load one plugin for a given plugin basename.
23635           This ensures correct overriding of GST_PLUGIN_PATH over
23636           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
23637           system installed plugins.
23638
23639 2005-10-08  Wim Taymans  <wim@fluendo.com>
23640
23641         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23642         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
23643         Prepare for doing QOS.
23644
23645 2005-10-08  Wim Taymans  <wim@fluendo.com>
23646
23647         * check/gst/gstbin.c: (GST_START_TEST):
23648         * check/pipelines/cleanup.c: (GST_START_TEST):
23649         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
23650         Allow new clock message too.
23651
23652 2005-10-08  Wim Taymans  <wim@fluendo.com>
23653
23654         * gst/gstmessage.c: (gst_message_new_error),
23655         (gst_message_new_warning), (gst_message_new_tag),
23656         (gst_message_new_state_changed), (gst_message_new_clock_provide),
23657         (gst_message_new_clock_lost), (gst_message_new_new_clock),
23658         (gst_message_new_segment_start), (gst_message_new_segment_done),
23659         (gst_message_parse_state_changed),
23660         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
23661         (gst_message_parse_new_clock):
23662         * gst/gstmessage.h:
23663         Also carry the clock in question.
23664
23665 2005-10-08  Wim Taymans  <wim@fluendo.com>
23666
23667         * gst/gstmessage.c: (gst_message_new_custom),
23668         (gst_message_new_eos), (gst_message_new_error),
23669         (gst_message_new_warning), (gst_message_new_tag),
23670         (gst_message_new_state_changed), (gst_message_new_clock_provide),
23671         (gst_message_new_new_clock), (gst_message_new_segment_start),
23672         (gst_message_new_segment_done), (gst_message_parse_state_changed),
23673         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
23674         * gst/gstmessage.h:
23675         Clean up.
23676         Added clock related messages.
23677
23678         * gst/gstpipeline.c: (gst_pipeline_change_state):
23679         Post message when the clock changed.
23680
23681         * tools/gst-launch.c: (event_loop):
23682         Print new clock.
23683
23684 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
23685
23686         * tools/gst-inspect.c: (print_element_properties_info):
23687           Can't pass NULL strings to g_print() on windows.
23688
23689 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23690
23691         * docs/Makefile.am:
23692         * docs/gst/Makefile.am:
23693         * docs/gst/gstreamer-docs.sgml:
23694         * docs/gst/running.xml:
23695         * docs/version.entities.in:
23696           add a chapter on running GStreamer.
23697           document GST_DEBUG and GST_PLUGIN* env vars
23698
23699 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23700
23701         * Makefile.am:
23702           remove include dir
23703         * configure.ac:
23704           remove PLUGINS_BUILDDIR stuff
23705         * gst/gst.c: (init_post):
23706           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
23707         * idiottest.mak:
23708           remove, it was condescending and not needed
23709
23710 2005-10-08  Wim Taymans  <wim@fluendo.com>
23711
23712         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
23713         (gst_base_sink_handle_object), (gst_base_sink_event),
23714         (gst_base_sink_wait), (gst_base_sink_handle_event),
23715         (gst_base_sink_change_state):
23716         * gst/base/gstbasesink.h:
23717         Repost EOS message while going to PLAYING if still EOS.
23718         Make sure that when receiving a FLUSH_START we don't attempt
23719         to sync on the clock anymore.
23720
23721 2005-10-08  Wim Taymans  <wim@fluendo.com>
23722
23723         * tools/gst-launch.c: (event_loop):
23724         Better message printout.
23725
23726 2005-10-08  Wim Taymans  <wim@fluendo.com>
23727
23728         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
23729         (gst_bin_child_proxy_get_children_count):
23730         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
23731         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
23732         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
23733         (gst_child_proxy_set_valist):
23734         * gst/parse/grammar.y:
23735         Make ChildProxy threadsafe and fix mem leaks.
23736
23737 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23738
23739         * gst/gst.c: (init_post):
23740           debug the GST_PLUGIN_ env vars
23741
23742 2005-10-08  Wim Taymans  <wim@fluendo.com>
23743
23744         * check/gst/gstbin.c: (GST_START_TEST):
23745         * check/gst/gstmessage.c: (GST_START_TEST):
23746         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
23747         * gst/gstelement.c: (gst_element_commit_state),
23748         (gst_element_lost_state):
23749         * gst/gstmessage.c: (gst_message_new_state_changed),
23750         (gst_message_parse_state_changed):
23751         * gst/gstmessage.h:
23752         * tools/gst-launch.c: (event_loop):
23753         Added extra field to STATE_CHANGE message with the pending
23754         state, which will be different from the new state soon.
23755
23756 2005-10-08  Wim Taymans  <wim@fluendo.com>
23757
23758         * gst/gstbus.c: (gst_bus_pop):
23759         * gst/gstclock.c:
23760         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
23761         Small cleanups and doc updates.
23762
23763 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23764
23765         * gst/gst.c: (init_pre):
23766         * gst/gstbin.c: (gst_bin_add_func):
23767           log distributing clocks and base time
23768         * gst/gstregistry.c: (gst_registry_add_plugin),
23769         (gst_registry_scan_path_level), (gst_registry_scan_path):
23770           clean up the debugging output a little
23771         * gst/gstutils.c: (gst_element_state_get_name):
23772           warn about a memleak (I've actually seen this be used, though
23773           it was probably a bug)
23774
23775 2005-10-07  Wim Taymans  <wim@fluendo.com>
23776
23777         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
23778         (gst_base_src_init), (gst_base_src_default_newsegment),
23779         (gst_base_src_newsegment), (gst_base_src_do_seek),
23780         (gst_base_src_loop), (gst_base_src_start):
23781         * gst/base/gstbasesrc.h:
23782         Make the newsegment event customizable by subclasses.
23783
23784 2005-10-07  Wim Taymans  <wim@fluendo.com>
23785
23786         * gst/gstevent.c: (gst_event_new_buffersize),
23787         (gst_event_parse_buffersize):
23788         * gst/gstevent.h:
23789         New event for future idea.
23790
23791 2005-10-07  Andy Wingo  <wingo@pobox.com>
23792
23793         * gst/gstelement.c (gst_element_post_message): Doc update.
23794
23795         * docs/gst/gstreamer-sections.txt: Update.
23796
23797         * gst/gstmessage.c (gst_message_new_application): Made into a
23798         function like honest API calls.
23799         (gst_message_new_element): New message type.
23800
23801         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
23802
23803         * check/elements/fakesrc.c (test_no_preroll): New check, checks
23804         that setting a live fakesrc to PAUSED returns NO_PREROLL both
23805         times.
23806
23807         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
23808         NO_PREROLL from gst_element_change_state to fall through.
23809
23810 2005-10-07  Wim Taymans  <wim@fluendo.com>
23811
23812         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
23813         (gst_ghost_pad_do_activate_push):
23814         Activating a ghostpad with no internal pad in push mode
23815         is ok.
23816
23817 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
23818
23819         * gst/gstobject.h:
23820           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
23821           Fixes compilation on Windows.
23822
23823 2005-10-07  Michael Smith <msmith@fluendo.com>
23824
23825         * tools/gst-inspect.c:
23826           Print out feature and plugin count at the end when printing out
23827           all features.
23828
23829 2005-10-04  Michael Smith <msmith@fluendo.com>
23830
23831         * gst/gsterror.c: (_gst_stream_errors_init):
23832           Add another error string used in a few existing plugins.
23833
23834         * gst/gstplugin.c:
23835         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
23836         * tools/gst-inspect.c: (print_element_info):
23837           When a feature disappears from a plugin (and the feature exists in
23838           the cached registry file), things went horribly wrong. This isn't a
23839           complete fix, we should actually be removing the 'missing' features
23840           from the features list when we load the actual plugin. That's not
23841           yet implemented. 
23842
23843 2005-10-04  Johan Dahlin  <johan@gnome.org>
23844
23845         * check/gst/gstiterator.c: (GST_START_TEST):
23846         * gst/gstbin.c: (gst_bin_iterate_elements),
23847         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
23848         * gst/gstelement.c: (gst_element_iterate_pads):
23849         * gst/gstformat.c: (gst_format_iterate_definitions):
23850         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
23851         (gst_iterator_new_list), (gst_iterator_filter):
23852         * gst/gstiterator.h:
23853         * gst/gstquery.c: (gst_query_type_iterate_definitions):
23854         Add a GType to GstIterator, update callsites and tests.
23855
23856 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23857
23858         * gst/gstpad.c: (gst_pad_event_default_dispatch):
23859           give events a chance to be handled by event probes when the pad
23860           is not linked
23861
23862 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23863
23864         * gst/gstevent.c: (gst_event_type_get_name),
23865         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
23866         * gst/gstevent.h:
23867           add string representations for event types
23868
23869 2005-10-06  Wim Taymans  <wim@fluendo.com>
23870
23871         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
23872         Don't use NULL pointers.
23873
23874 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23875
23876         * gst/gst_private.h:
23877         * gst/gstbus.c:
23878         * gst/gstelement.c:
23879         * gst/gstinfo.c:
23880         * gst/gstpluginfeature.c:
23881           widen the debug category in output to fit the biggest one we have
23882           add a bus category and use it
23883           play with the colors
23884           fix up some categories
23885
23886 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23887
23888         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
23889           add push activation of sink ghost pads.
23890           Andye, please verify
23891
23892 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
23893
23894         * gst/gstutils.c: (gst_element_link_pads):
23895           fix a bug in the case where neither element has a pad
23896         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
23897           add a test for that case
23898
23899 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
23900
23901         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
23902           emit have-data before checking for peers.  This allows
23903           for probe handlers to connect elements.  This helps autopluggers.
23904         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
23905         (gst_pad_suite):
23906           add six checks, linked/unlinked with no/true/false probe
23907
23908 2005-10-04  Wim Taymans  <wim@fluendo.com>
23909
23910         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
23911         (gst_fake_sink_event), (gst_fake_sink_preroll),
23912         (gst_fake_sink_render), (gst_fake_sink_change_state):
23913         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
23914         (gst_fake_src_get_property), (gst_fake_src_create),
23915         (gst_fake_src_stop):
23916         * gst/elements/gstidentity.c: (gst_identity_stop):
23917         Protect last_message with lock.
23918
23919 2005-10-04  Edward Hervey  <edward@fluendo.com>
23920
23921         * gst/gstformat.h: 
23922         Added precision in the comments for GST_FORMAT_DEFAULT
23923
23924 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
23925
23926         * tools/gst-launch.c: (main):
23927           Don't try to run erroneous pipelines.
23928
23929 2005-10-04  Julien MOUTTE  <julien@moutte.net>
23930
23931         * gst/gstbus.c: We don't need this header.
23932
23933 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
23934
23935         * configure.ac:
23936           back to development
23937
23938 === release 0.9.3 ===
23939
23940 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
23941
23942         * README:
23943         * configure.ac:
23944           Releasing 0.9.3, "Unregistered"
23945
23946 2005-10-03  Andy Wingo  <wingo@pobox.com>
23947
23948         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
23949         whereby calling a pad's activatepush() function can start a thread
23950         that starts to push or pull before the pad gets the FLUSHING flag
23951         unset. Hack around it by holding the stream lock until the flag is
23952         set. Need to replace this with a proper solution. Together with
23953         the ghost pad fixes, this fixes mp3 playing/tagreading.
23954
23955         * docs/design/part-gstghostpad.txt: Add a note about activation of
23956         proxy pads outside of ghost pads.
23957
23958         * gst/gstghostpad.c: Implement the ghost pad activation design.
23959
23960 2005-10-02  Andy Wingo  <wingo@pobox.com>
23961
23962         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
23963         It is volatile, after all.
23964
23965         * docs/design/part-gstghostpad.txt: Flesh out activation with
23966         ghost pads.
23967
23968         * gst/base/gstbasesrc.c (gst_base_src_init): Use
23969         GST_DEBUG_FUNCPTR.
23970
23971 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
23972
23973         * configure.ac:
23974           Fix (unused) AM_CONDITIONAL tests.
23975
23976 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
23977
23978         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
23979
23980         * gst/gstutils.c: (gst_pad_query_convert):
23981           Add assertion that makes sure src_val is >=0, just like
23982           gst_query_new_convert() has. (#315895)
23983
23984 2005-09-30  Edward Hervey  <edward@fluendo.com>
23985
23986         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
23987         Let's not iterate pads we're not interested in, it avoids getting 
23988         sky-high refcounts on sinkpad.
23989
23990 2005-09-30  Wim Taymans  <wim@fluendo.com>
23991
23992         * gst/gstelement.c: (gst_element_set_state),
23993         (gst_element_change_state):
23994         Small tweak, element in ASYNC remains ASYNC.
23995
23996 2005-09-30  Wim Taymans  <wim@fluendo.com>
23997
23998         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
23999         Only error is an error.
24000
24001         * gst/gstbin.c: (gst_bin_change_state):
24002         Better debugging.
24003
24004         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
24005         Also call pad_block in pad alloc.
24006
24007         * gst/gstutils.c: (gst_flow_get_name):
24008         Better debugging.
24009
24010 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
24011
24012         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
24013         (gst_base_src_get_range):
24014           Fix documentation typos. Add some more debug info.
24015
24016 2005-09-29  David Schleef  <ds@schleef.org>
24017
24018         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
24019           more end-user friendly.
24020         * tools/gst-inspect.c: (main): Check if command-line argument is
24021           a file and attempt to load that file as a plugin.
24022
24023 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
24024
24025         * check/gst/gstbin.c:
24026         * check/states/sinks.c:
24027           fix tests for the new warning
24028         * check/gst/gstpipeline.c:
24029           add a test for pipeline and bus interaction
24030         * gst/gstelement.c:
24031           elements should be NULL if they get disposed; add a warning if not
24032
24033 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
24034
24035         * gst/gstobject.c:
24036           for 2.6 refcounting, make debug log more correct by printing
24037           the actual refcounts at the time of swap (Wim)
24038
24039 2005-09-29  Andy Wingo  <wingo@pobox.com>
24040
24041         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
24042         removes signal watches previously added via
24043         gst_bus_add_signal_watch.
24044         (gst_bus_add_signal_watch): Don't return the source id, just store
24045         it on the bus if there wasn't an id already.
24046
24047         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
24048         add_signal_watch and remove_signal_watch.
24049
24050 2005-09-29  Edward Hervey  <edward@fluendo.com>
24051
24052         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
24053         Better if we actually iterate the list :)
24054
24055 2005-09-29  Wim Taymans  <wim@fluendo.com>
24056
24057         * check/gst/gstbin.c: (GST_START_TEST):
24058         Change for new bus API.
24059
24060         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
24061         (send_messages), (GST_START_TEST), (gstbus_suite):
24062         Change for new bus signal API.
24063
24064         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
24065         (gst_bus_source_prepare), (gst_bus_source_check),
24066         (gst_bus_create_watch), (gst_bus_add_watch_full),
24067         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
24068         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
24069         * gst/gstbus.h:
24070         Remove support for multiple GSources operating on different
24071         message types as it is too complex and unneeded when using
24072         signals.
24073         Added support for receiving signals from the bus.
24074
24075 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
24076
24077         * docs/libs/tmpl/gstdataprotocol.sgml:
24078         * docs/manual/advanced-dataaccess.xml:
24079         * gst/elements/gstcapsfilter.c:
24080         * gst/gstutils.c:
24081           rename filter-caps to caps property
24082
24083 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
24084
24085         * gst/gstvalue.c: (gst_value_deserialize_fraction):
24086           More robust fraction string parsing.
24087
24088         * docs/pwg/appendix-porting.xml:
24089           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
24090
24091 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
24092
24093         * gst/gstcaps.c: (gst_caps_do_simplify):
24094           Thou shalt not free a structure and then continue using it
24095           in the next loop iteration.
24096
24097         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
24098         (gst_caps_suite):
24099           Add test case for caps simplification.
24100
24101 2005-09-29  Wim Taymans  <wim@fluendo.com>
24102
24103         * check/gst/gstbin.c: (GST_START_TEST):
24104         Oops.
24105
24106 2005-09-29  Wim Taymans  <wim@fluendo.com>
24107
24108         * check/gst/gstbin.c: (GST_START_TEST):
24109         Add bus to bin.
24110
24111         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
24112         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
24113         (find_element), (gst_bin_sort_iterator_next),
24114         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24115         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24116         (gst_bin_change_state), (gst_bin_dispose):
24117         A bin does not have a bus, it gets the bus from the parent.
24118
24119         * gst/gstelement.c: (gst_element_requires_clock),
24120         (gst_element_provides_clock), (gst_element_is_indexable),
24121         (gst_element_is_locked_state), (gst_element_change_state),
24122         (gst_element_set_bus_func):
24123         Small cleanups.
24124
24125         * gst/gstpipeline.c: (gst_pipeline_class_init),
24126         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
24127         The pipeline provides a bus.
24128
24129 2005-09-28  Johan Dahlin  <johan@gnome.org>
24130
24131         * gst/gstmessage.c (gst_message_parse_state_changed): Use
24132         gst_structure_get_enum instead of gst_structure_get_int
24133
24134         * gst/gststructure.c (gst_structure_get_enum): Impl.
24135
24136         * gst/gststructure.h (gst_structure_get_enum): Add
24137
24138         * docs/gst/gstreamer-sections.txt: Ditto
24139
24140         * gst/gstmessage.c (gst_message_new_state_changed): Use
24141         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
24142         which does introspection.
24143         Reviewed by Christian Schaller
24144
24145 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
24146
24147         * gst/gstinfo.c: (gst_debug_log_default):
24148           don't do dummy g_strdup()s
24149         * libs/gst/controller/gstcontroller.c:
24150         (on_object_controlled_property_changed),
24151         (gst_controlled_property_new), (gst_controller_new_valist),
24152         (gst_controller_new_list),
24153         (gst_controller_remove_properties_valist), (gst_controller_set),
24154         (gst_controller_get), (gst_controller_sync_values),
24155         (gst_controller_get_value_array), (_gst_controller_class_init),
24156         (gst_controller_get_type):
24157         * libs/gst/controller/gstcontroller.h:
24158         * libs/gst/controller/gstinterpolation.c:
24159         (gst_controlled_property_find_timed_value_node):
24160           convert // to /**/ comments
24161
24162 2005-09-28  Wim Taymans  <wim@fluendo.com>
24163
24164         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
24165         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
24166         (gst_bus_sync_signal_handler):
24167         * gst/gstbus.h:
24168         Added async-message and sync-message signals to the bus.
24169         Added helper BusFunc to emit signals for all posted messages.
24170
24171         * gst/gstmessage.c: (gst_message_type_get_name),
24172         (gst_message_type_to_quark), (gst_message_get_type):
24173         * gst/gstmessage.h:
24174         Register quarks for message names.
24175
24176 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
24177
24178         * docs/libs/gstreamer-libs-sections.txt:
24179         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
24180         (gst_controller_new_list):
24181         * libs/gst/controller/gstcontroller.h:
24182           added another constructor for language bindings
24183
24184 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
24185
24186         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
24187           add another check
24188         * gst/gstbus.c:
24189           add some doc
24190         * gst/gstinfo.c: (_gst_debug_init):
24191           slightly more readable color for refcount debugging
24192
24193 2005-09-28  Wim Taymans  <wim@fluendo.com>
24194
24195         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
24196         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
24197         (find_element), (gst_bin_sort_iterator_next),
24198         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24199         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24200         (gst_bin_change_state), (gst_bin_dispose):
24201         Small doc fixes. get_clock -> provide_clock.
24202
24203         * gst/gstelement.c: (gst_element_class_init),
24204         (gst_element_provides_clock), (gst_element_provide_clock),
24205         (gst_element_get_clock), (gst_element_commit_state),
24206         (gst_element_lost_state):
24207         * gst/gstelement.h:
24208         Make get/set_clock() symetric. Add provide_clock vmethod since
24209         that is actually what this function does.
24210
24211         * gst/gstpipeline.c: (gst_pipeline_class_init),
24212         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
24213         (gst_pipeline_get_clock):
24214         get_clock -> provide_clock.
24215
24216 2005-09-28  Andy Wingo  <wingo@pobox.com>
24217
24218         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
24219         lieu of real docs...
24220
24221         * gst/elements/gstfdsrc.c: Cleaned up a bit.
24222
24223 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
24224
24225         * gst/elements/gstcapsfilter.c:
24226         * gst/elements/gstfakesink.c:
24227         * gst/elements/gstfakesrc.c:
24228         * gst/elements/gstfdsink.c:
24229         * gst/elements/gstfdsrc.c:
24230         * gst/elements/gstfilesink.c:
24231         * gst/elements/gstfilesrc.c:
24232         * gst/elements/gstidentity.c:
24233         * gst/elements/gsttee.c:
24234         * gst/elements/gsttypefindelement.c:
24235           Make element details static.
24236
24237 2005-09-28  Wim Taymans  <wim@fluendo.com>
24238
24239         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24240         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24241         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24242         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24243         (gst_bin_change_state), (gst_bin_dispose):
24244         Some documentation updates.
24245         Clean up dispose handlers.
24246
24247         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
24248         * gst/gstpad.c: (gst_pad_dispose):
24249         Clean up dispose handler.
24250
24251         * gst/gstpipeline.c: (gst_pipeline_change_state):
24252         Removed spurious UNLOCK.
24253
24254 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
24255
24256         * docs/gst/gstreamer-sections.txt:
24257         * gst/base/gstbasesrc.h:
24258         * gst/gstelement.h:
24259         * gst/gstevent.h:
24260         * gst/gstobject.h:
24261         * gst/gstpad.h:
24262         * gst/gstpipeline.c:
24263         * gst/gstpipeline.h:
24264         * gst/gstutils.h:
24265         * gst/gstxml.h:
24266           added two new functions to the docs
24267                 documents all undocumented GstXXXFlags
24268                 completed some incomplete docs 
24269
24270 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
24271
24272         * gst/gstbin.c: (gst_bin_dispose):
24273         * gst/gstelement.c: (gst_element_dispose):
24274           remove now useless and leaky resurrection code in dispose
24275         * gst/base/gstbasesrc.c: (gst_base_src_init):
24276         * gst/gstelementfactory.c: (gst_element_factory_create):
24277         * gst/gstobject.c: (gst_object_set_parent):
24278           add some debugging
24279
24280 2005-09-27  Wim Taymans  <wim@fluendo.com>
24281
24282         * docs/design/part-TODO.txt:
24283         Update TODO.
24284
24285         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24286         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24287         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24288         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24289         (gst_bin_change_state):
24290         * gst/gstelement.h:
24291         Remove element variable, we keep element info in the iterator now.
24292
24293 2005-09-27  Andy Wingo  <wingo@pobox.com>
24294
24295         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
24296         values.
24297
24298 2005-09-27  Wim Taymans  <wim@fluendo.com>
24299
24300         * check/gst/gstbin.c: (GST_START_TEST):
24301         Enable check that works now.
24302
24303         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24304         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24305         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24306         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24307         (gst_bin_change_state):
24308         * gst/gstbin.h:
24309         Redid the state change algorithm using a topological sort algo.
24310         Handles all cases correctly.
24311         Exposed iterator for state change order.
24312
24313         * gst/gstelement.h:
24314         Temp storage for state changes. Need to get rid of this soon.
24315
24316 2005-09-27  Wim Taymans  <wim@fluendo.com>
24317
24318         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
24319         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
24320         (link_fold_func), (gst_pad_proxy_setcaps):
24321         Leak fixes, the fold functions need to unref the passed object and
24322         _get_parent_*() returns ref to parent.
24323
24324 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24325
24326         * check/gst/gstbuffer.c: (test_make_writable):
24327           Plug leak in test case and fix 'make check-valgrind'
24328
24329 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24330
24331         * gst/gstbuffer.c: (gst_subbuffer_init):
24332           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
24333           works correctly in all circumstances (we could have just copied
24334           the parent buffer's readonly flag, but conceptually it seems
24335           cleaner to mark all subbuffers as read-only). (based on patch
24336           by Alessandro Decina, #314710).
24337         
24338         * check/gst/gstbuffer.c: (create_read_only_buffer),
24339         (test_make_writable), (test_subbuffer_make_writable),
24340         (gst_test_suite):
24341           Add some tests for gst_buffer_make_writable().
24342
24343 2005-09-27  Wim Taymans  <wim@fluendo.com>
24344
24345         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
24346         use gst_object_has_ancestor().
24347
24348         * gst/gstobject.c: (gst_object_has_ancestor):
24349         * gst/gstobject.h:
24350         gst_object_has_ancestor() copied from gstbin.c as it is a
24351         useful function.
24352
24353         * tests/instantiate/create.c: (create_all_elements):
24354         * tests/lat.c: (handoff_src), (handoff_sink):
24355         * tests/sched/runxml.c: (main):
24356         * tests/seeking/seeking1.c: (main):
24357         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
24358         (main):
24359         Fix compilation of some tests.
24360
24361 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24362
24363         * gst/gsterror.h:
24364           Remove comment. GST_TYPE_G_ERROR is here to stay,
24365           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
24366           (#316961, #300610).
24367
24368 2005-09-26  Wim Taymans  <wim@fluendo.com>
24369
24370         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
24371         Added check that shows error in state change order.
24372
24373 2005-09-26  Wim Taymans  <wim@fluendo.com>
24374
24375         * gst/gstbin.c: (gst_bin_change_state):
24376         Make state change function use 3 queues again, we were
24377         adding elements in the wrong order.
24378
24379         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
24380         Some debug info,
24381
24382         * gst/gstpad.c: (gst_pad_dispose):
24383         Added some debug info first.
24384
24385 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
24386
24387         * docs/design/draft-push-pull.txt:
24388         * docs/design/part-events.txt:
24389         * docs/design/part-overview.txt:
24390         * docs/design/part-scheduling.txt:
24391           Replace all _pull_region() with _pull_range()
24392           
24393 2005-09-26  Andy Wingo  <wingo@pobox.com>
24394
24395         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
24396
24397         * check/gst-libs/controller.c: Update for controller api change.
24398
24399         * configure.ac: 
24400         * tests/Makefile.am:
24401         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
24402         over by GLib bug 118439.
24403         
24404         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
24405         routines to a function.
24406
24407         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
24408
24409         * libs/gst/controller/gsthelper.c:
24410         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
24411         (gst_object_sync_values): Renamed from sink_values. Ugh.
24412
24413         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
24414
24415         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
24416         Renamed from controller_key, as it is exported.
24417
24418         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
24419
24420 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
24421
24422         * gst/Makefile.am:
24423         * gst/gst.h:
24424         * gst/gstpad.h:
24425         * gst/gstpadtemplate.h:
24426         * gst/gstquery.c:
24427         * gst/gstquery.h:
24428         * gst/gstqueryutils.c:
24429         * gst/gstqueryutils.h:
24430           remove queryutils headers after moving the two used functions
24431           to gstquery.  also fixes build problem for gstsiddec
24432
24433 2005-09-26  Michael Smith <msmith@fluendo.com>
24434
24435         * tools/gst-launch.1.in:
24436         Correct documentation in manpage of debug syntax
24437
24438 2005-09-26  Wim Taymans  <wim@fluendo.com>
24439
24440         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
24441         (gst_base_src_is_seekable), (gst_base_src_change_state):
24442         Some more debugging info.
24443
24444 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24445
24446         * docs/gst/gstreamer-sections.txt:
24447         * gst/base/gstbasetransform.h:
24448         * gst/gstindex.h:
24449           added more docs
24450
24451 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24452
24453         * docs/gst/.cvsignore:
24454         * docs/gst/tmpl/.cvsignore:
24455         * docs/gst/tmpl/gstpipeline.sgml:
24456         * docs/gst/tmpl/gstplugin.sgml:
24457         * gst/gstpipeline.c:
24458         * gst/gstplugin.c:
24459         * gst/gstplugin.h:
24460           inlined the last two docs files
24461           removed the tmpl directory from cvs (no more conflicts here!)
24462
24463 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24464
24465         * docs/gst/gstreamer-sections.txt:
24466         * docs/gst/tmpl/.cvsignore:
24467         * docs/gst/tmpl/gstpad.sgml:
24468         * docs/gst/tmpl/gstpadtemplate.sgml:
24469         * gst/Makefile.am:
24470         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
24471         (gst_pad_finalize), (gst_pad_set_pad_template):
24472         * gst/gstpad.h:
24473         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
24474         (gst_pad_template_class_init), (gst_pad_template_init),
24475         (gst_pad_template_dispose), (name_is_valid),
24476         (gst_static_pad_template_get), (gst_pad_template_new),
24477         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
24478         (gst_pad_template_pad_created):
24479         * gst/gstpadtemplate.h:
24480           inlined two more docs
24481           factored gstpadtemplate out of gstpad
24482
24483 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
24484
24485         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24486         (test_children_state_change_order_semi_sink):
24487           Fix test case: we can't rely on a fixed state change order when
24488           going from READY => PAUSED because the sink might commit its 
24489           new state first when the first buffer created by the source 
24490           reaches the sink before the source has finished its change state.
24491           (Test case still fails at times, see #316856, comment 5 onwards)
24492
24493 2005-09-24  Wim Taymans  <wim@fluendo.com>
24494
24495         * docs/design/part-events.txt:
24496         * docs/design/part-gstbus.txt:
24497         * docs/design/part-gstpipeline.txt:
24498         * docs/design/part-messages.txt:
24499         * docs/design/part-overview.txt:
24500         * docs/design/part-segments.txt:
24501         * gst/gstbin.c:
24502         * gst/gstbuffer.c:
24503         * gst/gstclock.c:
24504         * gst/gstelement.c:
24505         * gst/gstevent.c:
24506         * gst/gstfilter.c:
24507         * gst/gstiterator.c:
24508         Various documentation updates.
24509
24510 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
24511
24512         * gst/gstclock.h:
24513           Well, that's embarassing.  Luckily we weren't using
24514           GST_CLOCK_DIFF anywhere.
24515
24516 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24517
24518         * common/gtk-doc.mak:
24519           don't fail on building XML, FC4 slave shows a bunch of doc
24520           missing bits that I don't get
24521         * gst/gstpad.c:
24522         * gst/gstpipeline.c:
24523         * gst/gststructure.c:
24524           some doc updates
24525
24526 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
24527
24528         * docs/design/part-gstbin.txt:
24529         * docs/design/part-gstbus.txt:
24530         * gst/gstbus.c:
24531           Add blurb about how the bus goes into flushing mode and
24532           drops all messages when its bin goes from READY into NULL 
24533           state.
24534
24535 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24536
24537         * docs/gst/gstreamer-sections.txt:
24538         * gst/gststructure.c: (gst_structure_get_clock_time):
24539         * gst/gststructure.h:
24540           add a method to get a GstClockTime out of a structure
24541
24542 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
24543
24544         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24545         (test_children_state_change_order_semi_sink), (gst_bin_suite):
24546           Added test to check state change order in bins (can still be made
24547           to fail here under heavy disk load; bails out with 'Push on pad
24548           fakesink:sink0, but it was not activated in push mode').
24549
24550         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
24551           Fix state change order when there is only a semi sink (#316856)
24552
24553         * gst/gstbus.c: (gst_bus_class_init):
24554           Use _class_peek_parent(), not _class_ref(); fix docs to say
24555           'default main context' instead of 'mainloop' where that is
24556           what's meant.
24557
24558         * gst/gstelement.c: (gst_element_commit_state),
24559         (gst_element_set_state):
24560           Fix typos in debug messages
24561
24562 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24563
24564         * docs/README:
24565         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
24566         * gst/gstpluginfeature.c:
24567         * gst/gstutils.c:
24568           various doc updates
24569         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24570           change an assert into an error until it gets fixed properly
24571
24572 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
24573
24574         * docs/gst/gstreamer-sections.txt:
24575         * docs/gst/tmpl/.cvsignore:
24576         * docs/gst/tmpl/gstelement.sgml:
24577         * docs/gst/tmpl/gstinfo.sgml:
24578         * docs/gst/tmpl/gstobject.sgml:
24579         * gst/gstelement.c:
24580         * gst/gstelement.h:
24581         * gst/gstinfo.c:
24582         * gst/gstinfo.h:
24583         * gst/gstobject.c: (gst_object_class_init):
24584         * gst/gstobject.h:
24585           inlined 3 more biiiig doc files and added some missing docs on the fly
24586
24587 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24588
24589         * check/gst/.cvsignore:
24590         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
24591         * gst/gstregistryxml.c: (load_plugin),
24592         (gst_registry_xml_save_plugin):
24593           put back source in registry.  add checks for find_plugin.
24594         * testsuite/states/bin.c: (assert_state), (empty_bin),
24595         (test_adding_one_element), (main):
24596         * testsuite/states/locked.c: (main):
24597           some compile/run fixes
24598
24599 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
24600
24601         * check/gst/gstvalue.c: (GST_START_TEST):
24602           fix leaks in the test itself
24603
24604 2005-09-22  Wim Taymans  <wim@fluendo.com>
24605
24606         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24607         (gst_base_sink_send_event), (gst_base_sink_peer_query),
24608         (gst_base_sink_query):
24609         Prepare for more accurate position reporting and query
24610         handling.
24611
24612         * gst/gstelement.c: (gst_element_send_event),
24613         (gst_element_set_state):
24614         Add some comment.
24615
24616 2005-09-22  Wim Taymans  <wim@fluendo.com>
24617
24618         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
24619         (gst_query_parse_segment):
24620         * gst/gstquery.h:
24621         More documentation.
24622         Add segment query for future use.
24623
24624 2005-09-22  Wim Taymans  <wim@fluendo.com>
24625
24626         * gst/gstbin.c: (gst_bin_add_func):
24627         Some more debug info.
24628
24629         * gst/gstelement.c: (gst_element_send_event):
24630         Simplify send_event
24631
24632         * gst/gstelement.h:
24633         Don't know how flags got broken.
24634
24635         * gst/gstquery.h:
24636         Added new query.
24637
24638 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
24639
24640         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
24641           Add simplistic test suite for GST_TYPE_DATE serialisation and
24642           deserialisation.
24643
24644 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
24645
24646         * docs/gst/gstreamer-sections.txt:
24647         * gst/gststructure.c: (gst_structure_set_valist),
24648         (gst_structure_get_date):
24649         * gst/gststructure.h:
24650         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
24651         (gst_date_copy), (gst_value_compare_date),
24652         (gst_value_serialize_date), (gst_value_deserialize_date),
24653         (gst_value_transform_date_string),
24654         (gst_value_transform_string_date), (_gst_value_initialize):
24655         * gst/gstvalue.h:
24656           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
24657           bunch of utility functions along with a hack that checks that
24658           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
24659           is required. Part of the grand scheme in #170777.
24660
24661 2005-09-22  Andy Wingo  <wingo@pobox.com>
24662
24663         * gst/gstconfig.h.in: Psych out gtk-doc.
24664
24665         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
24666
24667         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
24668
24669         * tools/gst-inspect.c (print_element_list): Plug some
24670         inconsequential leaks.
24671
24672         * gst/gstregistry.c (gst_registry_get_default): Doc.
24673
24674         * check/gst/gstplugin.c: 
24675         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
24676         * gst/gstelementfactory.c (gst_element_factory_create): 
24677         * gst/gstindexfactory.c (gst_index_factory_create): Update for
24678         refcount changes.
24679
24680         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
24681         (gst_plugin_feature_load): Doc, don't eat refs.
24682
24683         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
24684         (gst_plugin_list_free): Doc.
24685         (gst_plugin_load_file): Doc updates.
24686
24687         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
24688         accessors returning refcounted objects, return a ref.
24689
24690         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
24691         accessor for caps. IDEMPOTENCE. Oh yes.
24692
24693 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
24694
24695         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
24696
24697         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
24698         (_gst_debug_register_funcptr):
24699           Add mutex to serialise access to the hash table with
24700           the function pointer => function name string mapping;
24701           make that hash table static scope (#316809).
24702
24703         * gst/registries/.cvsignore:
24704           Remove left-over file.
24705
24706 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
24707
24708         * docs/pwg/appendix-porting.xml:
24709           And something about newsegment events and caps-on-buffers to
24710           the porting guide (feel free to improve).
24711
24712 2005-09-21  Andy Wingo  <wingo@pobox.com>
24713
24714         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
24715         data and event probes on the same pad.
24716         (test_buffer_probe_once): Test that removing probes from within
24717         the probe functions works.
24718
24719 2005-09-21  Andy Wingo  <wingo@pobox.com>
24720
24721         * check/gst/gstutils.c: New file.
24722         (test_buffer_probe_n_times): A simple buffer probe test. More to
24723         come, foolios.
24724
24725         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
24726         have-data::buffer, not have-data.
24727         (gst_pad_add_event_probe): Likewise for have-data::event.
24728         (gst_pad_add_data_probe): More docs. The part about 'resolving the
24729         peer' isn't quite right yet though.
24730         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
24731         (gst_pad_remove_data_probe): Change to take the guint handler_id
24732         as their arg, not the function+data, which is more glib-like.
24733
24734         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
24735         the signal emission to indicate if the data is a buffer or an
24736         event.
24737         (gst_pad_get_type): Initialize buffer and event quarks.
24738         (gst_pad_class_init): have-data is now a detailed signal, yes it
24739         is.
24740
24741 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
24742
24743         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
24744         * gst/gstutils.c: (gst_util_set_value_from_string),
24745         (gst_util_set_object_arg):
24746           Don't put functional code in g_return_if_fail() or
24747           g_return_val_if_fail() statements, otherwise things will 
24748           break when G_DISABLE_CHECKS is defined during compilation.
24749
24750 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24751
24752         * docs/gst/tmpl/.cvsignore:
24753         * docs/gst/tmpl/gstvalue.sgml:
24754         * gst/gstvalue.c:
24755         * gst/gstvalue.h:
24756           inlied another one and added  some obvious docs
24757
24758 2005-09-21  Wim Taymans  <wim@fluendo.com>
24759
24760         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
24761         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
24762         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
24763         (gst_fdsrc_get_property), (gst_fdsrc_create):
24764         * gst/elements/gstfdsrc.h:
24765         Properly implement fdsrc. Removed signal and timeout,
24766         better implemented somewhere else.
24767
24768 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24769
24770         * docs/gst/tmpl/.cvsignore:
24771         * docs/gst/tmpl/gstimplementsinterface.sgml:
24772         * gst/gstinterface.c:
24773           inlined more docs
24774
24775 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24776
24777         * docs/gst/gstreamer-sections.txt:
24778         * docs/gst/tmpl/.cvsignore:
24779         * docs/gst/tmpl/gstenumtypes.sgml:
24780           remove obsolete doc file
24781
24782 2005-09-21  David Schleef  <ds@schleef.org>
24783
24784         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
24785         little beer, fix a little leak.
24786
24787 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24788
24789         * docs/gst/gstreamer-docs.sgml:
24790         * docs/gst/gstreamer-sections.txt:
24791         * docs/gst/tmpl/.cvsignore:
24792         * gst/Makefile.am:
24793         * gst/gst.h:
24794         * gst/gstbin.c:
24795         * gst/gstelement.h:
24796         * gst/gstindex.c: (gst_index_class_init):
24797         * gst/gstindex.h:
24798         * gst/gstindexfactory.c: (gst_index_factory_get_type),
24799         (gst_index_factory_class_init), (gst_index_factory_init),
24800         (gst_index_factory_finalize), (gst_index_factory_new),
24801         (gst_index_factory_destroy), (gst_index_factory_find),
24802         (gst_index_factory_create), (gst_index_factory_make):
24803         * gst/gstindexfactory.h:
24804         * gst/gstpluginfeature.c:
24805         * gst/gstpluginfeature.h:
24806         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24807           more docs inlined, splitted gstindex.{c,h}
24808
24809 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24810
24811         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24812           fix a leak
24813
24814 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
24815
24816         * gst/elements/gstfilesink.c: (gst_file_sink_init):
24817           Set sync to FALSE by default.
24818
24819 2005-09-20  Wim Taymans  <wim@fluendo.com>
24820
24821         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24822         (gst_base_sink_init):
24823         Make sync property settable from subclass.
24824
24825         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
24826         (gst_fake_sink_change_state):
24827         Set sync to FALSE by default.
24828
24829 2005-09-20  Wim Taymans  <wim@fluendo.com>
24830
24831         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
24832         * tools/gst-launch.c: (main):
24833         The timeout handler should have lower priority than the source
24834         so we don't timeout before popping a message with 0 timeout.
24835         Dump error messages after failed state change.
24836
24837 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
24838
24839         * tools/gst-inspect.c: (print_element_properties_info):
24840           Fix two typos.
24841
24842 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24843
24844         * check/gst/gstevent.c:
24845         * gst/elements/gstfakesink.c:
24846         * gst/elements/gstfakesink.h:
24847           remove the sync property from fakesink.
24848           has the side effect of setting sync TRUE
24849           for fakesink, which is a change.  Anyone who knows how
24850           to fix this nicely in a GObject-y way, feel free.
24851
24852 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
24853
24854         * docs/gst/gstreamer-docs.sgml:
24855           remove probe refsection
24856
24857 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
24858
24859         * check/Makefile.am:
24860           disable valgrinding the controller test again
24861         * docs/gst/gstreamer-sections.txt:
24862           update for api-changes
24863
24864 2005-09-20  Wim Taymans  <wim@fluendo.com>
24865
24866         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24867         (gst_base_sink_set_property), (gst_base_sink_get_property),
24868         (gst_base_sink_do_sync):
24869         * gst/base/gstbasesink.h:
24870         Added sync property to basesink to disable clock sync.
24871
24872 2005-09-20  Andy Wingo  <wingo@pobox.com>
24873
24874         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
24875         eating the caller's refcount.
24876
24877         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
24878         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
24879         refcount.
24880
24881         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
24882         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
24883         of GLib 2.8 public, so we can know which refcount to check in
24884         tests.
24885
24886         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
24887         (gst_object_init): Only set the gst refcount if we're going ahead
24888         with the refcount hack.
24889
24890 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
24891
24892         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
24893         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24894           more leaks plumbed, added more debug-logging
24895         * gst/gstmacros.h:
24896           whitespace fix
24897
24898 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24899
24900         * gst/gstmessage.c:
24901           remove include of gstmemchunk.h
24902
24903 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24904
24905         * gst/gstclock.c: (_gst_clock_id_free):
24906           Commit from the Political Party For More Atomic CVS Commits,
24907           so that people don't waste too much of their day fishing
24908           out obvious leaks out of massive commits.
24909           Oh, and fix a pretty damn obvious leak in the memchunk
24910           removal code.
24911
24912 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
24913
24914         * check/Makefile.am:
24915         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
24916           plug mem-leak, re-add to valgrindable tests
24917
24918 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24919
24920         * gst/gstplugin.h:
24921           unbreak the build for those who have chronic arthritis
24922           and typing "make check" is just too taxing on the hands
24923
24924 2005-09-20  Andy Wingo  <wingo@pobox.com>
24925
24926         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
24927         really want it out, you should fix plugins at the same time.
24928
24929 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
24930
24931         * configure.ac:
24932         * docs/gst/gstreamer-sections.txt:
24933         * gst/gstobject.c:
24934           added missing symbols to api docs
24935           disable ref-count hack if we have glib >= 2.8
24936
24937 2005-09-19  David Schleef  <ds@schleef.org>
24938
24939         * docs/gst/Makefile.am: Ignore a few more internal headers
24940         * docs/gst/gstreamer-docs.sgml: Remove old sections
24941         * docs/gst/gstreamer-sections.txt: Remove old sections
24942         * docs/gst/tmpl/gstobject.sgml: update
24943         * docs/gst/tmpl/gstplugin.sgml: update
24944         * docs/gst/tmpl/gstpluginfeature.sgml: update
24945         * docs/random/ds/0.9-suggested-changes: update.
24946         * gst/Makefile.am: remove memchunk and trashstack, since they're
24947           not used.
24948         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
24949         * gst/gst.h: don't include some headers
24950         * gst/gstchildproxy.c: add gstmarshal.h
24951         * gst/gstclock.c: Don't use memchunks
24952         * gst/gstminiobject.c: Add some docs
24953         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
24954         * gst/gstobject.h: same
24955         * gst/gstplugin.c: include gstmacros.h
24956         * gst/gstplugin.h: don't include gstmacros.h, since it's private
24957         * gst/gstquery.c: don't use memchunks
24958         * gst/gstregistry.c: rename gst_registry_deinit()
24959         * gst/gstregistry.h: same
24960
24961 2005-09-19  David Schleef  <ds@schleef.org>
24962
24963         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
24964         * docs/libs/gstreamer-libs-sections.txt:
24965         * docs/libs/tmpl/gstgetbits.sgml:
24966         * docs/libs/tmpl/gstputbits.sgml:
24967
24968 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
24969
24970         * win32/gstenumtypes.c:
24971         * win32/gstenumtypes.h:
24972           Update.
24973
24974 2005-09-19  Wim Taymans  <wim@fluendo.com>
24975
24976         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
24977         Automatically PAUSE and RESUME a pipeline when a flushing seek
24978         is performed.
24979
24980 2005-09-19  Andy Wingo  <wingo@pobox.com>
24981
24982         * gst/gstregistry.h: Spacing fixen.
24983
24984 2005-09-19  Wim Taymans  <wim@fluendo.com>
24985
24986         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
24987         Handle state change failure more correctly.
24988
24989 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
24990
24991         * check/Makefile.am:
24992         * check/pipelines/cleanup.c: (run_pipeline):
24993         * check/pipelines/simple_launch_lines.c: (run_pipeline),
24994         (GST_START_TEST):
24995           enable cleanup again after fixing the leak
24996         * docs/README:
24997           some more info on docs
24998
24999 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25000
25001         * check/Makefile.am:
25002           re-enable tests now that leaks are plugged
25003         * check/gst/gst.c:
25004         * check/gst/gstbin.c:
25005         * check/gst/gstpipeline.c:
25006           add some more tests while fixing leaks
25007         * common/check.mak:
25008           make sure binaries are uptodate when valgrinding/gdbing
25009         * gst/gst.c:
25010         * gst/gstelementfactory.c:
25011           remove a ref too many, and add a FIXME for when we get
25012           round to disposing of classes
25013         * gst/gstplugin.c:
25014           fix the refcounting when loading a plugin from a file and
25015           the code pretends that the pointer is the same even though
25016           of course it can change
25017         * gst/gstpluginfeature.c:
25018           unref plugins marked cached (a bit confusing as a name)
25019           as the docs state should be done
25020           various doc additions to explain refcounting
25021         * gst/gstregistry.c:
25022         * gst/gstregistryxml.c:
25023           debugging
25024
25025 2005-09-19  Wim Taymans  <wim@fluendo.com>
25026
25027         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
25028         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
25029         (send_messages), (GST_START_TEST), (gstbus_suite):
25030         * check/gst/gstpipeline.c: (GST_START_TEST):
25031         * check/pipelines/cleanup.c: (run_pipeline):
25032         * check/pipelines/simple_launch_lines.c: (run_pipeline),
25033         (GST_START_TEST):
25034         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
25035         (gst_bus_source_check), (gst_bus_source_dispatch),
25036         (gst_bus_create_watch), (gst_bus_add_watch_full),
25037         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
25038         * gst/gstbus.h:
25039         * tools/gst-launch.c: (event_loop):
25040         * tools/gst-md5sum.c: (event_loop):
25041         GstBusHandler -> GstBusFunc, return value has the same meaning as
25042         any other GSource (FALSE == remove source).
25043         _add_watch() and _add_watch_full() now take a MessageType mask to
25044         only handle specific types of messages.
25045         _poll() returns the GstMessage instead of the message type to avoid
25046         race conditions.
25047         _have_pending() takes a MessageType mask now too.
25048         Added testsuite for multiple bus watches.
25049         Fix testsuites and applications for new bus API.
25050
25051 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25052
25053         * check/Makefile.am:
25054           mark a bunch of the tests as to fix until we fix them
25055
25056 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
25057
25058         * common/check.mak:
25059           use GST_PLUGIN settings for valgrind tests as well, so we're
25060           valgrinding the correct thing
25061         * gst/gst.c: (init_post):
25062           plug another leak
25063
25064 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
25065
25066         * gst/gst.c: (init_post), (gst_deinit):
25067         * gst/gstelementfactory.c: (gst_element_factory_class_init),
25068         (gst_element_factory_finalize), (gst_element_factory_cleanup):
25069         * gst/gstindex.c: (gst_index_factory_class_init),
25070         (gst_index_factory_finalize):
25071         * gst/gstobject.c: (gst_object_dispose):
25072         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
25073         (gst_plugin_load_file), (gst_plugin_desc_free):
25074         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
25075         (gst_plugin_feature_finalize):
25076         * gst/gstregistry.c: (gst_registry_class_init),
25077         (gst_registry_init), (gst_registry_finalize),
25078         (gst_registry_get_default), (gst_registry_deinit):
25079         * gst/gstregistry.h:
25080         * gst/gstregistryxml.c: (load_feature), (load_plugin):
25081           various cleanups and memleak plugging.  make valgrind is happy now.
25082
25083 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
25084
25085         * common/check.mak:
25086           add a check-valgrind target
25087
25088 2005-09-18  David Schleef  <ds@schleef.org>
25089
25090         * tools/gst-inspect.c: Revert the GOption code.
25091
25092 2005-09-17  David Schleef  <ds@schleef.org>
25093
25094         * check/Makefile.am: Fix environment variables.
25095         * check/gst/gstplugin.c: Fix for API changes.
25096         * tools/gst-inspect.c: Fix for API changes.
25097         * tools/gst-xmlinspect.c: Fix for API changes.
25098         * gst/gstelementfactory.c:
25099         * gst/gstplugin.c:
25100         * gst/gstplugin.h:
25101         * gst/gstpluginfeature.c:
25102         * gst/gstpluginfeature.h:
25103         * gst/gstregistry.c:
25104         * gst/gstregistry.h:
25105         * gst/gstregistryxml.c:
25106         * gst/gsttypefind.c:
25107         * gst/gsttypefindfactory.c:
25108         * gst/indexers/gstfileindex.c:
25109         * gst/indexers/gstmemindex.c:
25110         * gst/schedulers/Makefile.am:
25111           Change registry to keep track of both plugins and features,
25112           removing the feature tracking from plugins themselves.
25113
25114 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
25115
25116         * check/Makefile.am:
25117         * tools/gst-register.1.in:
25118           remove gst-register
25119
25120 2005-09-15  David Schleef  <ds@schleef.org>
25121
25122         * check/gst/gstplugin.c:
25123         * gst/gstelementfactory.c:
25124         * gst/gstplugin.c:
25125         * gst/gstpluginfeature.c:
25126         * gst/gstregistry.c:
25127           Getting tired of debugging.  Disabled all the unreffing of
25128           plugins and features, which fixes the segfaults, but of
25129           course leaks like crazy.  At least playbin works.
25130
25131 2005-09-15  David Schleef  <ds@schleef.org>
25132
25133         * check/gst/gstplugin.c: (register_check_elements),
25134         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
25135         More testing
25136         * gst/elements/gsttypefindelement.c: Fix refcounting.
25137         * gst/gsttypefind.c:
25138         * gst/gsttypefindfactory.c:
25139         * gst/gsttypefindfactory.h:
25140
25141 2005-09-15  David Schleef  <ds@schleef.org>
25142
25143         * gst/gstindex.c: get refcounting correct.
25144         * gst/gstregistry.c: Handle the case where a feature/plugin is
25145           not found.
25146
25147 2005-09-15  David Schleef  <ds@schleef.org>
25148
25149         * check/Makefile.am:
25150         * check/gst/gstplugin.c: Add test
25151         * gst/gstplugin.c: Fix problems noticed by testsuite
25152         * gst/gstplugin.h:
25153         * gst/gstregistry.c: 
25154         * gst/gstregistry.h:
25155
25156 2005-09-15  David Schleef  <ds@schleef.org>
25157
25158         * gst/gstplugin.c: Implement semi-decent recounting and locking
25159           in plugins and plugin features.
25160         * gst/gstplugin.h:
25161         * gst/gstpluginfeature.c:
25162         * gst/gstpluginfeature.h:
25163         * gst/gstregistry.c:
25164
25165 2005-09-15  Michael Smith <msmith@fluendo.com>
25166
25167         * gst/gstregistry.c: (gst_registry_get_feature_list):
25168           Implement this. Makes oggdemux work; decodebin still broken.
25169
25170 2005-09-14  David Schleef  <ds@schleef.org>
25171
25172         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
25173           #316076)
25174         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
25175         * gst/check/Makefile.am:
25176         * libs/gst/controller/Makefile.am:
25177         * libs/gst/dataprotocol/Makefile.am:
25178
25179 2005-09-14  David Schleef  <ds@schleef.org>
25180
25181         * configure.ac: Remove getbits library.  Nothing uses it, and
25182           it should be in something like liboil if someone did want
25183           to use it.
25184         * libs/gst/Makefile.am:
25185         * libs/gst/getbits/Makefile.am:
25186         * libs/gst/getbits/gbtest.c:
25187         * libs/gst/getbits/getbits.c:
25188         * libs/gst/getbits/getbits.h:
25189         * libs/gst/getbits/gstgetbits_generic.c:
25190         * libs/gst/getbits/gstgetbits_i386.s:
25191         * libs/gst/getbits/gstgetbits_inl.h:
25192
25193 2005-09-14  David Schleef  <ds@schleef.org>
25194
25195         * gst/Makefile.am: Dist glib-compat.h
25196
25197 2005-09-14  David Schleef  <ds@schleef.org>
25198
25199         * configure.ac: Remove gst/registries, since it's no longer used.
25200         * gst/registries/Makefile.am:
25201         * gst/registries/gstlibxmlregistry.c:
25202         * gst/registries/gstlibxmlregistry.h:
25203         * gst/registries/gstxmlregistry.c:
25204         * gst/registries/gstxmlregistry.h:
25205         * gst/registries/registrytest.c:
25206
25207 2005-09-14  David Schleef  <ds@schleef.org>
25208
25209         * gst/glib-compat.h:
25210         * gst/gstregistryxml.c:
25211           Convergence is near.  Seriously.
25212
25213 2005-09-14  David Schleef  <ds@schleef.org>
25214
25215         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25216         * gst/glib-compat.h:
25217           Attempt #4 to appease the buildbots.
25218
25219 2005-09-14  David Schleef  <ds@schleef.org>
25220
25221         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25222           Attempt #3.
25223
25224 2005-09-14  David Schleef  <ds@schleef.org>
25225
25226         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25227         Attempt #2.
25228
25229 2005-09-14  David Schleef  <ds@schleef.org>
25230
25231         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
25232           the new functions.
25233
25234 2005-09-14  David Schleef  <ds@schleef.org>
25235
25236         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25237         * gst/glib-compat.h: Add some functions that are in newer versions
25238           of glib than we care to require.
25239         * gst/gstregistryxml.c: Use them.
25240
25241 2005-09-14  David Schleef  <ds@schleef.org>
25242
25243         * po/POTFILES.in: remove gst-register.c
25244
25245 2005-09-14  David Schleef  <ds@schleef.org>
25246
25247         * docs/gst/gstreamer-docs.sgml:
25248         * docs/gst/gstreamer-sections.txt:
25249         * docs/gst/gstreamer.types:
25250         * docs/gst/tmpl/gstelement.sgml:
25251         * docs/gst/tmpl/gstplugin.sgml:
25252         * docs/gst/tmpl/gstpluginfeature.sgml:
25253           Documentation updates for registry changes.
25254
25255 2005-09-14  David Schleef  <ds@schleef.org>
25256
25257         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
25258           because we don't require glib-2.8.
25259
25260 2005-09-14  David Schleef  <ds@schleef.org>
25261
25262         * gst/gstregistryxml.c: Added.  Essentially moved out of the
25263           registries directory.
25264
25265 2005-09-14  David Schleef  <ds@schleef.org>
25266
25267         * check/Makefile.am:
25268         * check/generic/states.c:
25269         * gst/Makefile.am:
25270         * gst/gst.c:
25271         * gst/gst.h:
25272         * gst/gst_private.h:
25273         * gst/gstelementfactory.c:
25274         * gst/gstindex.c:
25275         * gst/gstinfo.c:
25276         * gst/gstplugin.c:
25277         * gst/gstplugin.h:
25278         * gst/gstpluginfeature.c:
25279         * gst/gstpluginfeature.h:
25280         * gst/gstregistry.c:
25281         * gst/gstregistry.h:
25282         * gst/gstregistrypool.c: remove
25283         * gst/gstregistrypool.h: remove
25284         * gst/gsttypefind.c:
25285         * gst/gsttypefindfactory.c:
25286         * gst/gsturi.c:
25287         * tools/Makefile.am:
25288         * tools/gst-compprep.c:
25289         * tools/gst-inspect.c:
25290         * tools/gst-register.c: remove
25291         * tools/gst-xmlinspect.c:
25292           Registry rewrite.  Changes registry from being a file created
25293           by a tool into a simple cache file created automatically by 
25294           libgstreamer.  Removed gst-register (because it's no longer
25295           needed).  Remove registry pools, because we only have one
25296           registry implementation (XML).  Fix up other subsystems as
25297           necessary.
25298
25299 2005-09-13  Michael Smith <msmith@fluendo.com>
25300
25301         * gst/gstconfig.h.in:
25302           Don't Use windows linking attributes for MinGW. Fixes #316157
25303
25304 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
25305
25306         * gst/gstutils.c: (set_state_async_thread_func),
25307         (gst_element_set_state_async):
25308           Apparently people think it's better if this function doesn't
25309           try to set the state to whatever state was asked for on the first
25310           call to this function for any object.  Seriously.
25311
25312 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25313
25314         * check/gst/gstpipeline.c: (GST_START_TEST):
25315         * docs/gst/gstreamer-sections.txt:
25316         * gst/gstutils.c: (set_state_async_thread_func),
25317         (gst_element_set_state_async):
25318         * gst/gstutils.h:
25319           add a "gst_element_set_state_async" method that
25320           sets the state and starts a thread to make sure the state
25321           change completes as best as it can
25322
25323 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25324
25325         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
25326           codify design+behaviour in testsuite after discussion
25327
25328 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25329
25330         * docs/gst/tmpl/gstelement.sgml:
25331         * docs/manual/appendix-quotes.xml:
25332           add a quote
25333         * gst/gstelement.c: (gst_element_set_state):
25334           add some debug
25335
25336 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
25337
25338         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25339         (gst_base_transform_prepare_output_buf),
25340         (gst_base_transform_handle_buffer):
25341         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
25342         (gst_capsfilter_prepare_buf):
25343           Remove the requirement for sub-classes to call the parent
25344           implementation of prepare_output_buffer with a wrapper function.
25345           
25346         * gst/gsttaglist.h:
25347         * gst/gsttagsetter.h:
25348           Fix #define wrapper
25349
25350 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
25351
25352         * docs/gst/gstreamer-sections.txt:
25353           more doc cleanups
25354
25355 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25356
25357         * docs/gst/gstreamer-sections.txt:
25358         * docs/gst/tmpl/gstelement.sgml:
25359         * docs/gst/tmpl/gstplugin.sgml:
25360         * gst/gstminiobject.c:
25361         * gst/gstvalue.h:
25362           docs now stop throwing warnings
25363
25364 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25365
25366         * docs/gst/gstreamer-sections.txt:
25367         * docs/gst/gstreamer.types:
25368         * docs/gst/tmpl/gstpad.sgml:
25369         * docs/gst/tmpl/gsttypes.sgml:
25370         * gst/base/gstadapter.h:
25371         * gst/base/gstbasesink.h:
25372         * gst/base/gstbasesrc.h:
25373         * gst/gstbin.h:
25374         * gst/gstbuffer.h:
25375         * gst/gstbus.h:
25376         * gst/gstcaps.h:
25377         * gst/gstclock.h:
25378         * gst/gstelement.h:
25379         * gst/gstevent.h:
25380         * gst/gstmessage.h:
25381         * gst/gstpad.h:
25382         * gst/gststructure.c:
25383         * gst/registries/gstlibxmlregistry.h:
25384           various documentation fixes
25385
25386 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25387
25388         * docs/gst/gstreamer-sections.txt:
25389         * docs/gst/tmpl/gstvalue.sgml:
25390           rearrange gstvalue section
25391         * gst/gstutils.c: (gst_element_state_get_name):
25392           NONE -> VOID
25393         * gst/gstvalue.c: (_gst_value_initialize):
25394         * gst/gstvalue.h:
25395           doc updates
25396
25397 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
25398
25399         * check/gst-libs/controller.c:
25400           Header include fix.
25401         * gst/base/gstbasetransform.c:
25402         (gst_base_transform_default_prepare_buf),
25403         (gst_base_transform_handle_buffer):
25404         * gst/base/gstbasetransform.h:
25405           Some more basetransform changes and fixes to enable sub-classes
25406           that modify buffer metadata only.
25407         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
25408         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
25409         (gst_capsfilter_prepare_buf):
25410           If the output pad has fixed allowed caps and input buffers 
25411           don't have any, set the fixed caps on outgoing buffers.
25412
25413 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
25414         * check/elements/identity.c: (GST_START_TEST):
25415           Make the error a little clearer when the test fails because
25416           identity made a copy of the buffer.
25417         * docs/gst/gstreamer-sections.txt:
25418           New symbols in gstbasetransform.h
25419         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25420         (gst_base_transform_init), (gst_base_transform_transform_size),
25421         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
25422         (gst_base_transform_default_prepare_buf),
25423         (gst_base_transform_get_unit_size),
25424         (gst_base_transform_buffer_alloc),
25425         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
25426         (gst_base_transform_change_state),
25427         (gst_base_transform_set_passthrough),
25428         (gst_base_transform_set_in_place),
25429         (gst_base_transform_is_in_place):
25430         * gst/base/gstbasetransform.h:
25431           Change BaseTransform to separate in_place operate from same_caps
25432           output. in_place implies that the element can perform the transform
25433           on incoming buffers in-place, even if the caps on the output are
25434           different.
25435           Sub-class elements can now implement special buffer allocation
25436           methods for outgoing buffers if they wish to.
25437           Big documentation addition.
25438         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
25439         * gst/elements/gstelements.c:
25440           Changes for basetransform modifications.
25441         * gst/elements/Makefile.am:
25442         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
25443           Compile fix. Extra debug output.
25444
25445 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25446
25447         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
25448         (gst_pad_suite):
25449           add tests for valid pad naming
25450         * gst/check/gstcheck.c: (gst_check_log_message_func),
25451         (gst_check_log_critical_func):
25452           add ASSERT_WARNING
25453           remove printing of code, it is fragile when the code contains
25454           % and the line number is enough info
25455         * gst/check/gstcheck.h:
25456         * gst/gstpad.c: (gst_pad_template_new):
25457           fix memleaks
25458
25459 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25460
25461         * configure.ac:
25462           say what CHECK flags we use
25463         * docs/libs/gstreamer-libs.types:
25464         * libs/gst/controller/Makefile.am:
25465         * libs/gst/controller/gst-controller.c:
25466         * libs/gst/controller/gst-controller.h:
25467         * libs/gst/controller/gst-helper.c:
25468         * libs/gst/controller/gst-interpolation.c:
25469         * libs/gst/controller/gstcontroller.c:
25470         * libs/gst/controller/gsthelper.c:
25471         * libs/gst/controller/gstinterpolation.c:
25472         * tools/gst-inspect.c: (print_plugin_info):
25473           we don't use dashes in header names
25474
25475 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25476
25477         * check/Makefile.am:
25478         * check/gst/.cvsignore:
25479         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
25480         (gst_pipeline_suite), (main):
25481           adding a test for pipelines and state changes
25482         * gst/gstutils.c: (get_state_func):
25483           add some debugging
25484         * gstreamer.spec.in:
25485           fix up spec file
25486
25487 2005-09-08  Michael Smith <msmith@fluendo.com>
25488
25489         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
25490         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
25491         (gst_file_src_is_seekable), (gst_file_src_get_size),
25492         (gst_file_src_start):
25493         * gst/elements/gstfilesrc.h:
25494           Various fixes for unseekable, unmmapable, and non-normal files, so
25495           that fallback to read() rather than mmap() works.
25496         * gst/gstevent.c: (gst_event_new_newsegment):
25497           Allow newsegment events with segment_start == segment_end, as will
25498           correctly happen if you use filesrc on a zero-size file, for
25499           example.
25500
25501 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
25502
25503         * gst/gstplugin.c: (gst_plugin_load_file):
25504           Call g_module_close when we don't load the module
25505
25506         * gst/registries/gstlibxmlregistry.c:
25507         (gst_xml_registry_get_property):
25508           Port leak fix from 0.8
25509
25510 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25511
25512         * docs/gst/gstreamer-docs.sgml:
25513         * docs/gst/tmpl/.cvsignore:
25514         * docs/gst/tmpl/gsttrace.sgml:
25515         * docs/gst/tmpl/gsttrashstack.sgml:
25516         * gst/Makefile.am:
25517         * gst/gst.h:
25518         * gst/gstelement.h:
25519         * gst/gstevent.h:
25520         * gst/gstmessage.c:
25521         * gst/gstmessage.h:
25522         * gst/gsttag.c:
25523         * gst/gsttag.h:
25524         * gst/gsttaginterface.c:
25525         * gst/gsttaginterface.h:
25526         * gst/gsttaglist.c:
25527         * gst/gsttaglist.h:
25528         * gst/gsttagsetter.c:
25529         * gst/gsttagsetter.h:
25530         * gst/gsttrace.c:
25531         * gst/gsttrace.h:
25532         * gst/gsttrashstack.c:
25533           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
25534           inlined docs for gsttrace, gsttrashstack
25535
25536 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25537
25538         * gst/Makefile.am:
25539         * gst/elements/gstbufferstore.h:
25540         * gst/elements/gsttypefindelement.c:
25541         * gst/elements/gsttypefindelement.h:
25542         * gst/gst.h:
25543         * gst/gsttypefind.c:
25544         * gst/gsttypefind.h:
25545         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
25546         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
25547         (gst_type_find_factory_dispose),
25548         (gst_type_find_factory_unload_thyself),
25549         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
25550         (gst_type_find_factory_get_caps),
25551         (gst_type_find_factory_get_extensions),
25552         (gst_type_find_factory_call_function):
25553         * gst/gsttypefindfactory.h:
25554         * gst/registries/gstlibxmlregistry.c:
25555         * gst/registries/gstxmlregistry.c:
25556           splitted gsttypefind into gsttypefind, gsttypefindfactory
25557
25558 2005-09-07  Andy Wingo  <wingo@pobox.com>
25559
25560         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
25561         condition whereby the pad's task function is entered before the
25562         pad_mode variable was set.
25563
25564 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
25565
25566         * gst/gstpad.c: (gst_pad_alloc_buffer):
25567           Catch misbehaving pad_alloc functions that don't
25568           set up caps and do it for them.
25569
25570 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25571
25572         * check/pipelines/simple_launch_lines.c: (run_pipeline):
25573           test for pipe!=NULL
25574         * docs/gst/tmpl/.cvsignore:
25575         * docs/gst/tmpl/gstmemchunk.sgml:
25576         * docs/gst/tmpl/gstparse.sgml:
25577         * docs/gst/tmpl/gsttaglist.sgml:
25578         * docs/gst/tmpl/gsttagsetter.sgml:
25579         * docs/gst/tmpl/gsttypefind.sgml:
25580         * docs/gst/tmpl/gsttypefindfactory.sgml:
25581         * gst/gstmemchunk.c:
25582         * gst/gstparse.c:
25583         * gst/gsttag.c:
25584         * gst/gsttaginterface.c:
25585         * gst/gsttypefind.c:
25586         * gst/gsttypefind.h:
25587           inlined more docs
25588
25589 === release 0.9.2 ===
25590
25591 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
25592
25593         * NEWS:
25594         * RELEASE:
25595         * configure.ac:
25596           releasing 0.9.2, "South"
25597
25598 2005-09-05  Andy Wingo  <wingo@pobox.com>
25599
25600         * gst/registries/gstxmlregistry.h:
25601         * gst/registries/gstxmlregistry.c: Um... resurrect...
25602         
25603         * gst/registries/gstxmlregistry.h:
25604         * gst/registries/gstxmlregistry.c: and update to newer API.
25605         Incidentally they should be a bit faster now that they don't have
25606         to parse the caps.
25607         
25608 2005-09-05  Andy Wingo  <wingo@pobox.com>
25609
25610         * gst/registries/gstxmlregistry.h:
25611         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
25612         replaced by the libxml registry a while back
25613
25614 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
25615
25616         * docs/gst/tmpl/gstplugin.sgml:
25617         * gst/elements/gstelements.c:
25618         * gst/gst.c:
25619         * gst/gstplugin.c: (gst_plugin_register_func),
25620         (gst_plugin_desc_copy), (gst_plugin_desc_free),
25621         (gst_plugin_get_source):
25622         * gst/gstplugin.h:
25623         * gst/registries/gstlibxmlregistry.c: (load_plugin),
25624         (gst_xml_registry_save_plugin):
25625         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
25626         (gst_xml_registry_save_plugin):
25627         * tools/gst-inspect.c: (print_plugin_info):
25628           add a "source" plugin description field, to represent the source
25629           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
25630           will set it to PACKAGE, which is automake's idea of the name of
25631           the source project.
25632
25633 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
25634
25635         * Makefile.am:
25636         * autogen.sh:
25637         * configure.ac:
25638         * docs/Makefile.am:
25639         * docs/faq/Makefile.am:
25640         * docs/gst/tmpl/gstelement.sgml:
25641         * docs/gst/tmpl/gsttypes.sgml:
25642         * docs/htmlinstall.mak:
25643         * docs/manual/Makefile.am:
25644         * docs/pwg/Makefile.am:
25645           reorganize doc build a little
25646           split out docbook and gtk-doc stuff
25647           have two separate --enable's and enable them through autogen
25648           but disable by default in configure (to be similar to other
25649           projects)
25650         * gstreamer.spec.in:
25651           clean up docs install
25652         * po/af.po:
25653         * po/az.po:
25654         * po/ca.po:
25655         * po/cs.po:
25656         * po/de.po:
25657         * po/en_GB.po:
25658         * po/fr.po:
25659         * po/it.po:
25660         * po/nb.po:
25661         * po/nl.po:
25662         * po/ru.po:
25663         * po/sq.po:
25664         * po/sr.po:
25665         * po/sv.po:
25666         * po/tr.po:
25667         * po/uk.po:
25668         * po/vi.po:
25669           translation updates
25670
25671 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
25672
25673         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
25674           Add comment.
25675           
25676         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
25677         (gst_fake_sink_change_state):
25678           Make state change function thread-safe.
25679           
25680         * gst/gstpad.c: (gst_pad_alloc_buffer):
25681           Set offset on generic buffer allocated by fallback.
25682
25683 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
25684
25685         * docs/gst/gstreamer-sections.txt:
25686         * docs/gst/tmpl/gstelement.sgml:
25687         * gst/gstpad.c:
25688         * libs/gst/controller/gst-controller.c:
25689         (gst_controlled_property_set_interpolation_mode),
25690         (gst_controlled_property_new),
25691         (gst_controller_find_controlled_property):
25692          run the wingo-magic script against the docs
25693
25694 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
25695
25696         * docs/gst/gstreamer-docs.sgml:
25697         * docs/gst/gstreamer-sections.txt:
25698         * docs/gst/tmpl/.cvsignore:
25699         * docs/gst/tmpl/gstelementdetails.sgml:
25700         * docs/gst/tmpl/gstelementfactory.sgml:
25701         * gst/gst.c:
25702         * gst/gstbus.c:
25703         * gst/gstelementfactory.c:
25704         * gst/gstelementfactory.h:
25705           merged elementdetails docs into elementfactory docs
25706           inlined both
25707
25708 2005-09-02  Andy Wingo  <wingo@pobox.com>
25709
25710         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
25711         consider this enum an enum and not a flags.
25712
25713 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
25714
25715         * docs/gst/gstreamer-docs.sgml:
25716         * docs/gst/tmpl/.cvsignore:
25717         * docs/gst/tmpl/gstghostpad.sgml:
25718         * docs/gst/tmpl/gstiterator.sgml:
25719         * docs/gst/tmpl/gstmacros.sgml:
25720         * docs/gst/tmpl/gstrealpad.sgml:
25721         * docs/gst/tmpl/gstregistry.sgml:
25722         * docs/gst/tmpl/gstregistrypool.sgml:
25723         * docs/gst/tmpl/gststructure.sgml:
25724         * docs/gst/tmpl/gstsystemclock.sgml:
25725         * docs/gst/tmpl/gsttrace.sgml:
25726         * gst/gstghostpad.c:
25727         * gst/gstmacros.h:
25728         * gst/gstmemchunk.c:
25729         * gst/gstmemchunk.h:
25730         * gst/gstqueue.c:
25731         * gst/gstregistry.c:
25732         * gst/gstregistrypool.c:
25733         * gst/gststructure.c:
25734         * gst/gstsystemclock.c:
25735           more docs inlined
25736
25737 2005-09-02  Andy Wingo  <wingo@pobox.com>
25738
25739         * gst/gstelement.h (GstState): Renamed from GstElementState,
25740         changed to be a normal enum instead of flags.
25741         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
25742         munged to be GST_STATE_CHANGE_*.
25743         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
25744         work with the new state representation.
25745         (GstStateChange): New enumeration of possible state transitions.
25746         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
25747         (GstElementClass::change_state): Pass the GstStateChange along as
25748         an argument. Helps language bindings, so they don't have to use
25749         tricky lock-needing macros like GST_STATE_CHANGE ().
25750
25751         * scripts/update-states (file): New script. Run it on a file to
25752         update it for state naming and API changes. Updates files in
25753         place.
25754
25755         * All files updated for the new API.
25756
25757 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
25758
25759         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
25760         * gst/gstutils.c: (gst_util_set_value_from_string),
25761         (gst_util_set_object_arg):
25762           fix a bunch of unchecked return values
25763         * tools/gst-complete.c: (main):
25764         * gstreamer.spec.in:
25765           clean up a little
25766
25767 2005-09-01  Wim Taymans  <wim@fluendo.com>
25768
25769         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25770         (gst_base_sink_event), (gst_base_sink_do_sync),
25771         (gst_base_sink_handle_event):
25772         * gst/base/gstbasesink.h:
25773         Handle newsegments more correctly.
25774
25775         * gst/gstbus.c:
25776         Fix docs.
25777
25778         * gst/gstevent.c: (gst_event_new_newsegment):
25779         A newsegment cannot have a start_time of -1
25780
25781 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
25782
25783         * win32/gstenumtypes.c:
25784         * win32/gstenumtypes.h:
25785           Update
25786
25787 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
25788
25789         * libs/gst/controller/gst-controller.c:
25790         (gst_controlled_property_set_interpolation_mode),
25791         (gst_controlled_property_new):
25792          fixed boolean again
25793
25794 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
25795
25796         * docs/faq/gst-uninstalled:
25797           add -good
25798         * gst/gstevent.c:
25799         * gst/gstevent.h:
25800           remove wrong docs
25801         * gst/gstutils.c: (gst_element_link_filtered):
25802         * gst/gstutils.h:
25803           add gst_element_link_filtered
25804
25805 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
25806
25807         * docs/gst/gstreamer-docs.sgml:
25808         * docs/gst/gstreamer-sections.txt:
25809         * docs/gst/tmpl/.cvsignore:
25810         * docs/gst/tmpl/gsterror.sgml:
25811         * docs/gst/tmpl/gstfilter.sgml:
25812         * docs/gst/tmpl/gsturihandler.sgml:
25813         * docs/gst/tmpl/gsturitype.sgml:
25814         * docs/gst/tmpl/gstutils.sgml:
25815         * docs/gst/tmpl/gstxml.sgml:
25816         * gst/gsterror.c:
25817         * gst/gsterror.h:
25818         * gst/gstfilter.c:
25819         * gst/gsturi.c:
25820         * gst/gsturitype.c:
25821         * gst/gstutils.c:
25822         * gst/gstxml.c:
25823           inlined more docs, fixed double id-ref
25824
25825 2005-08-31  Wim Taymans  <wim@fluendo.com>
25826
25827         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
25828         (gst_base_transform_handle_buffer):
25829         Passthrough elements don't need the caps as they don't care.
25830
25831 2005-08-31  Wim Taymans  <wim@fluendo.com>
25832
25833         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
25834         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
25835         Don't leak refcounts on buffers.
25836
25837 2005-08-31  Wim Taymans  <wim@fluendo.com>
25838
25839         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
25840         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
25841         (gst_base_transform_chain), (gst_base_transform_change_state):
25842         * gst/base/gstbasetransform.h:
25843         Handle the case where we are not negotiated more gracefully.
25844
25845 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
25846
25847         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
25848         (gst_file_src_map_region):
25849           Set READONLY flag on mmap'ed buffers, otherwise
25850           gst_buffer_make_writable() won't work properly (#314708).
25851
25852 2005-08-31  Wim Taymans  <wim@fluendo.com>
25853
25854         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
25855         passthrough elements can even do inplace on non writable
25856         buffers (as they don't touch them).
25857
25858 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
25859
25860         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
25861         (gst_test_mono_source_set_property),
25862         (gst_test_mono_source_class_init), (GST_START_TEST),
25863         (gst_controller_suite):
25864           more tests (hehe I have the most)
25865         * gst/gstbus.c:
25866           describe popping messages whenusing mulltiple sources
25867         * libs/gst/controller/gst-controller.c:
25868         (gst_controlled_property_set_interpolation_mode),
25869         (gst_controlled_property_new):
25870         * libs/gst/controller/gst-controller.h:
25871         * libs/gst/controller/gst-interpolation.c:
25872           implement boolean properties
25873
25874 2005-08-31  Wim Taymans  <wim@fluendo.com>
25875
25876         * gst/gstminiobject.c: (gst_mini_object_ref):
25877         Cannot assert that the refcount has to be positive
25878         since a disposed object can be resurrected.
25879
25880 2005-08-31  Wim Taymans  <wim@fluendo.com>
25881
25882         * gst/gstpad.c: (gst_pad_init):
25883         Revert change, need to first fix badly behaving 
25884         apps.
25885
25886 2005-08-30  Wim Taymans  <wim@fluendo.com>
25887
25888         * check/elements/fakesrc.c: (setup_fakesrc):
25889         * check/elements/identity.c: (setup_identity):
25890         Activate pads before using them.
25891
25892 2005-08-30  Wim Taymans  <wim@fluendo.com>
25893
25894         * gst/base/gstadapter.c: (gst_adapter_flush):
25895         Flushing out 0 bytes is ok for this function.
25896
25897         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
25898         no newsegment gives a warning and sets the start/stop to 
25899         invalid.
25900
25901         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
25902         (gst_base_transform_set_passthrough):
25903         Some debug info.
25904
25905         * gst/gstminiobject.c: (gst_mini_object_ref):
25906         Check refcount here too.
25907
25908         * gst/gstpad.c: (gst_pad_init):
25909         Pads are initially flushing and refusing data.
25910
25911         * gst/gstutils.c: (gst_element_link_pads_filtered):
25912         When adding a capsfilter element make sure it has the
25913         same state as the parent bin.
25914
25915 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
25916
25917         * docs/gst/tmpl/.cvsignore:
25918         * docs/gst/tmpl/gstformat.sgml:
25919         * docs/gst/tmpl/gstversion.sgml:
25920         * gst/gstbus.h:
25921         * gst/gstformat.c:
25922         * gst/gstformat.h:
25923         * gst/gstversion.h.in:
25924           more docs and two more inlined
25925
25926 2005-08-30  Wim Taymans  <wim@fluendo.com>
25927
25928         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
25929         Don't sync to clock.
25930
25931 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
25932
25933         * docs/gst/gstreamer-sections.txt:
25934           ultral33t func10ns deserve to appear in the docs actually
25935         * docs/gst/tmpl/.cvsignore:
25936         * docs/gst/tmpl/gstcompat.sgml:
25937         * docs/gst/tmpl/gstconfig.sgml:
25938         * gst/check/gstcheck.c:
25939         * gst/gstcompat.h:
25940         * gst/gstconfig.h.in:
25941           inlined more docs
25942
25943 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
25944
25945         * docs/gst/tmpl/.cvsignore:
25946         * docs/gst/tmpl/gstquery.sgml:
25947         * docs/gst/tmpl/gstutils.sgml:
25948         * gst/gstquery.c:
25949         * gst/gstquery.h:
25950           inlined and extended docs
25951
25952 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
25953
25954         * check/gst-libs/controller.c: (GST_START_TEST),
25955         (gst_controller_suite):
25956           more tests
25957         * docs/gst/tmpl/gstutils.sgml:
25958         * docs/libs/gstreamer-libs-sections.txt:
25959         * docs/libs/tmpl/gstdataprotocol.sgml:
25960           include path fixes
25961         * examples/controller/audio-example.c: (main):
25962           controller example works now
25963         * gst/gstclock.h:
25964           doc fixes
25965         * tools/gst-inspect.c: (print_element_properties_info):
25966           show param spec flags
25967
25968 2005-08-29  Andy Wingo  <wingo@pobox.com>
25969
25970         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
25971
25972 2005-08-28  Andy Wingo  <wingo@pobox.com>
25973
25974         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
25975         as having two arguments instead of just one. Allows superclasses
25976         to access information on subclasses -- see the terrible for() loop
25977         in gtype.c:g_type_create_instance for the reason why. All callers
25978         changed.
25979
25980 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
25981
25982         * docs/design/part-messages.txt:
25983           update info
25984         * docs/gst/tmpl/.cvsignore:
25985         * docs/gst/tmpl/gstcaps.sgml:
25986         * docs/gst/tmpl/gstclock.sgml:
25987         * gst/gstbus.c:
25988         * gst/gstcaps.c:
25989         * gst/gstcaps.h:
25990         * gst/gstclock.c:
25991         * gst/gstclock.h:
25992         * gst/gstmessage.c:
25993           added descriptions for bus and message
25994           inline caps and clock docs
25995
25996 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
25997
25998         * gst/gstmessage.c:
25999         * gst/gstmessage.h:
26000           doc fixes
26001
26002 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
26003
26004         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
26005           fix div-by-zero
26006
26007 2005-08-26  Andy Wingo  <wingo@pobox.com>
26008
26009         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
26010         element_set_state's return val.
26011         (test_2_elements): Add test that's been disabled for months.
26012
26013         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
26014         can-activate-pull properties.
26015
26016         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
26017         can-activate-pull properties. Implement is_seekable so fakesrc can
26018         operate in pull mode.
26019
26020         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
26021         properties.
26022         (gst_base_sink_activate, gst_base_sink_activate_pull)
26023         (gst_base_sink_activate_push): Make activation mode choosing work.
26024         Cleanups.
26025         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
26026         is right. Make pull mode work. Post an eos before pausing in pull
26027         mode.
26028         (gst_base_sink_change_state): Pay attention to the core's
26029         change_state() return val.
26030         
26031         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
26032         has-getrange properties. Cleanups.
26033         
26034         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
26035         has_getrange and replace with can_activate_pull and
26036         can_activate_push.
26037
26038         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
26039         locking comments. Remove has_loop, has_chain and replace with
26040         can_activate_pull and can_activate_push.
26041
26042 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
26043
26044         * configure.ac:
26045         * examples/Makefile.am:
26046         * examples/metadata/Makefile.am:
26047         * examples/metadata/read-metadata.c: (message_loop),
26048         (have_pad_handler), (make_pipeline), (print_tag), (main):
26049           Add metadata reading example that loops over a list of filenames,
26050           dumping any tags found.
26051
26052         * gst/gstbus.c: (gst_bus_dispose):
26053         * gst/gstelement.c: (gst_element_dispose):
26054           Release a few potentially-held references in dispose.
26055
26056 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26057
26058         * docs/gst/tmpl/gstminiobject.sgml:
26059           do *not* add tmpl/*.sgml files to CVS!
26060
26061 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26062
26063         * libs/gst/bytestream/.cvsignore:
26064         * libs/gst/bytestream/Makefile.am:
26065         * libs/gst/bytestream/adapter.c:
26066         * libs/gst/bytestream/adapter.h:
26067         * libs/gst/bytestream/bytestream.c:
26068         * libs/gst/bytestream/bytestream.h:
26069         * libs/gst/bytestream/filepad.c:
26070         * libs/gst/bytestream/filepad.h:
26071           removing obsolete files
26072
26073 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26074
26075         * docs/gst/gstreamer-docs.sgml:
26076         * docs/libs/gstreamer-libs-docs.sgml:
26077           disabed additional index entries again, as this makes docs-gen just
26078           slow and they aren't useful yet
26079         * docs/libs/gstreamer-libs-sections.txt:
26080           little -section.txt cleanup for libs
26081
26082 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
26083
26084         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26085         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
26086           fix up some debugging
26087         (gst_base_transform_get_unit_size),
26088         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
26089         (gst_base_transform_handle_buffer):
26090         * gst/base/gstbasetransform.h:
26091           handle and store timed NEWSEGMENT events so that subclasses that
26092           calculate time by counting samples have a segment_start time they
26093           need to add to their timestamps - see audioresample
26094
26095 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26096
26097         * gst/gstbin.h:
26098           removed ';' from the end of macro defs
26099         * docs/gst/gstreamer-docs.sgml:
26100         * docs/gst/gstreamer-sections.txt:
26101         * docs/gst/tmpl/.cvsignore:
26102         * gst/gstbus.h:
26103         * gst/gstelement.c: (gst_element_class_init),
26104         (gst_element_set_state), (activate_pads),
26105         (gst_element_save_thyself):
26106         * gst/gstevent.c: (gst_event_new_newsegment):
26107         * gst/gstevent.h:
26108         * gst/gstiterator.c:
26109         * gst/gstiterator.h:
26110         * gst/gstpad.c:
26111         * gst/gstprobe.h:
26112         * gst/gstutils.c: (gst_pad_query_convert):
26113         * gst/gstutils.h:
26114           fixed parameter name mismatches between source, header and docs
26115           added some more docs, resolved the last batch of unused elements in
26116           docs (now someone needs to doc them)
26117
26118 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
26119
26120         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
26121         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
26122           don't walk through the plugins backwards.  Where is all this
26123           reversed logic coming from ?
26124
26125 2005-08-25  Wim Taymans  <wim@fluendo.com>
26126
26127         * gst/base/gstbasetransform.c: (gst_base_transform_init),
26128         (gst_base_transform_transform_size),
26129         (gst_base_transform_configure_caps),
26130         (gst_base_transform_get_unit_size),
26131         (gst_base_transform_buffer_alloc),
26132         (gst_base_transform_change_state):
26133         * gst/base/gstbasetransform.h:
26134         Cache caps unit_size.
26135         Make sure we cannot negotiate up and downstream at the
26136         same time.
26137
26138 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
26139
26140         * gst/gst.c: (init_pre), (init_post):
26141           register the installed plugin path after the env var
26142         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
26143         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
26144           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
26145           directories, so the tests can prefer uninstalled over installed
26146
26147 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
26148
26149         * gst/base/gstbasetransform.h:
26150           comment
26151         * gst/gstpad.c:
26152           add to docs
26153
26154 2005-08-25  Wim Taymans  <wim@fluendo.com>
26155
26156         * gst/gstbin.c: (bin_bus_handler):
26157         Be a bit more conservative about the posted message.
26158         
26159         * gst/gstbus.c: (gst_bus_post):
26160         Some cleanups, warn wrong return values.
26161
26162 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
26163
26164         * check/gst/gstbin.c: (GST_START_TEST):
26165         * gst/gstbin.c: (bin_bus_handler):
26166         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26167         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26168         (gst_message_new_warning), (gst_message_new_tag),
26169         (gst_message_new_state_changed), (gst_message_new_segment_start),
26170         (gst_message_new_segment_done), (gst_message_new_custom):
26171         * gst/gstmessage.h:
26172         * tools/gst-launch.c: (event_loop):
26173         * tools/gst-md5sum.c: (event_loop):
26174           Revert unpopular change for GST_MESSAGE_SRC to GObject.
26175
26176 2005-08-25  Wim Taymans  <wim@fluendo.com>
26177
26178         * check/generic/states.c: (GST_START_TEST):
26179         Cleanup can be done at the end.
26180
26181         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
26182         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26183         (gst_task_get_state), (gst_task_start), (gst_task_pause):
26184         Oh boy.. Thanks for finding this, Thomas. 
26185
26186 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
26187
26188         * docs/gst/gstreamer.types:
26189           added missing types
26190
26191 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
26192
26193         * docs/gst/gstreamer-docs.sgml:
26194         * docs/gst/gstreamer-sections.txt:
26195         * docs/gst/tmpl/.cvsignore:
26196         * gst/gstbin.c:
26197         * gst/gstiterator.c:
26198         * gst/gstutils.c:
26199         * gst/registries/gstxmlregistry.h:
26200           added missing classes and symbols (123 more to go)
26201           removed removed symbols from section file
26202           fixed many doc-comments
26203
26204 2005-08-24  Wim Taymans  <wim@fluendo.com>
26205
26206         * check/generic/states.c: (GST_START_TEST):
26207         Make sure all tasks are stopped.
26208
26209         * check/gst/gstbin.c: (GST_START_TEST):
26210         Unref after usage for proper valgrinding.
26211
26212         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
26213         Really wait for the task to stop before destroying the
26214         mutex.
26215
26216         * gst/gstqueue.c: (gst_queue_sink_activate_push),
26217         (gst_queue_src_activate_push):
26218         Small cleanups. Don't stop the task when we did not start
26219         it.
26220
26221         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
26222         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26223         (gst_task_get_state), (gst_task_start), (gst_task_pause),
26224         (gst_task_join):
26225         * gst/gsttask.h:
26226         Protect the stream lock with the object lock.
26227         Disallow setting the stream lock when running.
26228         Add cleanup_all to wait for the threadpool to finish.
26229         Remove code to autoallocate a mutex if none was provided.
26230         Add _join() to wait for a task to stop.
26231         Protect the thread pool with a global lock.
26232
26233 2005-08-24  Wim Taymans  <wim@fluendo.com>
26234
26235         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26236         (gst_base_sink_get_times), (gst_base_sink_do_sync),
26237         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
26238         * gst/base/gstbasesink.h:
26239         Handle newsegment events correctly.
26240         Drop buffers out of the segment range.
26241
26242 2005-08-22  Andy Wingo  <wingo@pobox.com>
26243
26244         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
26245         macro, implements an interface and gstimplementsinterface for a
26246         new type.
26247
26248 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
26249
26250         * check/Makefile.am:
26251         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
26252           add a test that does a bunch of state changes on elements
26253           needs some fixing for valgrind
26254         * check/states/sinks.c: (gst_object_suite):
26255           whitespace
26256         * gst/gstcaps.h:
26257           add prototype for gst_caps_is_equal_fixed
26258         * gst/gstplugin.c:
26259         * gst/gstregistrypool.c:
26260           doc fixes
26261
26262 2005-08-24  Andy Wingo  <wingo@pobox.com>
26263
26264         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
26265         convert a negative value. Doesn't make much sense. Mostly this is
26266         here to force callers to ensure -1 maps to -1.
26267
26268 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
26269
26270         * docs/pwg/advanced-types.xml:
26271           Well done to Michael for catching my deliberate introduction
26272           of this spelling mistake. 
26273         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
26274         * gst/gstelement.h:
26275           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
26276           unlink pads before removing the element from the bin.
26277
26278 2005-08-24  Andy Wingo  <wingo@pobox.com>
26279
26280         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
26281         the same thing as GST_DEBUG=*:4.
26282         (parse_debug_level, parse_debug_category): New helper parsers.
26283
26284 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
26285
26286         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26287         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
26288         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
26289         (gst_base_transform_buffer_alloc),
26290         (gst_base_transform_handle_buffer):
26291           use gboolean return values and pointers to size so we can use the
26292           full GST_BUFFER_SIZE range (guint) for buffer sizes
26293           use GstPadDirection for transform_caps
26294         * gst/base/gstbasetransform.h:
26295           rename get_size to get_unit_size since that's what it is
26296         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
26297           use GstPadDirection for transform_caps
26298         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26299         * gst/gstutils.h:
26300           cleanup and debugging
26301
26302 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
26303
26304         * gst/gstelement.c: (gst_element_class_init),
26305         (gst_element_set_state), (activate_pads),
26306         (gst_element_save_thyself):
26307         * tools/gst-compprep.c: (main):
26308         * tools/gst-inspect.c: (print_element_properties_info):
26309         * tools/gst-xmlinspect.c: (print_element_properties):
26310           Fixed long standing mem-leak
26311
26312 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
26313
26314         * check/gst/gstbin.c: (GST_START_TEST):
26315         * gst/gstbin.c: (bin_bus_handler):
26316         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26317         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26318         (gst_message_new_warning), (gst_message_new_tag),
26319         (gst_message_new_state_changed), (gst_message_new_segment_start),
26320         (gst_message_new_segment_done), (gst_message_new_custom):
26321         * gst/gstmessage.h:
26322         * tools/gst-launch.c: (event_loop):
26323         * tools/gst-md5sum.c: (event_loop):
26324           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
26325           that applications can sensibly post custom messages with references
26326           to their own objects.
26327
26328 2005-08-24  Andy Wingo  <wingo@pobox.com>
26329
26330         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
26331         already.
26332
26333 2005-08-24  Wim Taymans  <wim@fluendo.com>
26334
26335         * gst/base/gstbasetransform.c: (gst_base_transform_init),
26336         (gst_base_transform_transform_caps),
26337         (gst_base_transform_transform_size),
26338         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
26339         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
26340         (gst_base_transform_handle_buffer):
26341         * gst/base/gstbasetransform.h:
26342         Many fixes and new features added by Thomas. Can now also do
26343         transforms with variable sizes and a custom fixate_caps function.
26344
26345 2005-08-24  Wim Taymans  <wim@fluendo.com>
26346
26347         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26348         Some debugging.
26349
26350         * gst/gstclock.h:
26351         Cast to ClockTime before formatting to time.
26352
26353         * gst/gstutils.h:
26354         Cleanups.
26355
26356 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
26357
26358         * check/gst-libs/controller.c: (GST_START_TEST),
26359         (gst_controller_suite):
26360         * docs/gst/tmpl/gstcaps.sgml:
26361         * docs/gst/tmpl/gstghostpad.sgml:
26362         * docs/gst/tmpl/gstquery.sgml:
26363         * docs/gst/tmpl/gstutils.sgml:
26364         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
26365         (gst_object_sink_values), (gst_object_get_value_arrays),
26366         (gst_object_get_value_array):
26367           gracefully handle helper method calls to objects that are not beeing
26368           controlled, added test case for that          
26369
26370 2005-08-23  Wim Taymans  <wim@fluendo.com>
26371
26372         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
26373         (gst_event_new_newsegment), (gst_event_parse_newsegment),
26374         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
26375         (gst_event_parse_qos), (gst_event_new_seek),
26376         (gst_event_parse_seek):
26377         * gst/gstevent.h:
26378         Some more debugging output and doc cleanups.
26379
26380         * gst/gstqueue.c: (gst_queue_handle_sink_event):
26381         Fix possible deadlock.
26382
26383 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26384
26385         * docs/gst/gstreamer-docs.sgml:
26386         * docs/gst/gstreamer-sections.txt:
26387         * docs/gst/gstreamer.types:
26388         * docs/gst/tmpl/.cvsignore:
26389         * gst/gstbin.h:
26390         * gst/gstbus.c:
26391         * gst/gstelement.c:
26392         * gst/gstevent.h:
26393           added 100 symbols from gstreamer-unused.txt to the right sections
26394           fixed more broken comments
26395           added GstBus to docs
26396
26397 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26398
26399         * docs/gst/gstreamer-sections.txt:
26400         * docs/gst/tmpl/.cvsignore:
26401         * docs/gst/tmpl/gstbin.sgml:
26402         * docs/gst/tmpl/gstbuffer.sgml:
26403         * gst/base/gstbasesrc.c:
26404         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
26405         * gst/gstbuffer.c:
26406         * gst/gstbuffer.h:
26407         * tools/gst-launch.1.in:
26408           inlined more doc comments, added missing comments and fixed comments
26409           fixed typos
26410
26411 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
26412
26413         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26414           some debugging
26415         * gst/gstcaps.h:
26416           whitespace fixes
26417         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
26418           more debugging
26419         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
26420         * gst/gststructure.h:
26421           add a fixate function for booleans; add a FIXME that these func
26422           names should probably be gst_structure_fixate_*
26423
26424 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26425
26426         * docs/gst/gstreamer-docs.sgml:
26427         * docs/gst/gstreamer-sections.txt:
26428         * gst/Makefile.am:
26429         * gst/gstbin.c: (gst_bin_get_type),
26430         (gst_bin_child_proxy_get_child_by_index),
26431         (gst_bin_child_proxy_get_children_count),
26432         (gst_bin_child_proxy_init):
26433         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
26434         (gst_child_proxy_get_child_by_index),
26435         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
26436         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
26437         (gst_child_proxy_get), (gst_child_proxy_set_property),
26438         (gst_child_proxy_set_valist), (gst_child_proxy_set),
26439         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
26440         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
26441         * gst/gstchildproxy.h:
26442         * gst/parse/grammar.y:
26443         * tools/gst-inspect.c: (print_interfaces),
26444         (print_element_properties_info), (print_element_info):
26445           ported gstchildproxy over from 0.8
26446           ported gst-inspect fixes and enhancements over from 0.8
26447
26448 2005-08-22  Wim Taymans  <wim@fluendo.com>
26449
26450         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26451         (gst_base_transform_handle_buffer):
26452         Also call the transform function if we have ANY caps.
26453
26454         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
26455         Fix debug info.
26456
26457 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
26458
26459         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
26460           Don't pretend to handle seek events if the source is not seekable
26461
26462 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
26463
26464         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26465           Remove extra parameter to debug output
26466
26467         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26468         (gst_base_src_do_seek), (gst_base_src_activate_push):
26469           Fix seek event handling.
26470
26471         * gst/gstpipeline.c: (gst_pipeline_change_state):
26472         * gst/gstqueue.c: (gst_queue_handle_sink_event),
26473         (gst_queue_src_activate_push):
26474           Don't start the src pad task on FLUSH_STOP if the pad
26475           isn't linked.
26476           Debug changes.
26477
26478 2005-08-22  Wim Taymans  <wim@fluendo.com>
26479
26480         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
26481         Added check for gst_static_caps_get() refcounting.
26482
26483 2005-08-22  Wim Taymans  <wim@fluendo.com>
26484
26485         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
26486         Make _static_caps_get() refcounting sane.
26487         
26488         * gst/gstelement.c: (gst_element_set_state):
26489         Add g_return_val_if_fail() to protect against segfaults.
26490
26491 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
26492
26493         * docs/gst/tmpl/gstevent.sgml:
26494         * gst/gstevent.c:
26495         * gst/gstevent.h:
26496           inlined remaining docs, added missing doc comments
26497
26498 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
26499
26500         * check/gst/gstbin.c: (GST_START_TEST):
26501           since we don't know when preroll is done, use refcount range
26502           check for the sink
26503         * gst/check/gstcheck.h:
26504           add macro for checking refcount range
26505
26506 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
26507
26508         * check/Makefile.am:
26509           clean up environment for when registry gets built versus
26510           when actual tests are run; valgrind seems to not report
26511           leaks if GST_PLUGIN_PATH is set to some specific values
26512         * check/gst/gstbin.c: (GST_START_TEST):
26513           add more refcounting checks; maybe this exposes a
26514           preroll lock bug ?
26515         * common/check.mak:
26516         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26517         * gst/check/gstcheck.h:
26518         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
26519         (gst_bin_change_state):
26520         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
26521           add/fix debugging/whitespace
26522
26523 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
26524
26525         * check/gst/gstevent.c: (event_probe), (test_event),
26526         (GST_START_TEST):
26527          Er, don't call gst_bin_watch_for_state_change you idiot.
26528
26529 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
26530
26531         * check/Makefile.am:
26532           Use CHECK_CFLAGS and CHECK_LIBS
26533         * check/gst/gstevent.c: (event_probe), (test_event),
26534         (GST_START_TEST):
26535           Don't leak events.
26536         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26537         (gst_base_src_start), (gst_base_src_stop),
26538         (gst_base_src_activate_push), (gst_base_src_activate_pull),
26539         (gst_base_src_change_state):
26540           Sprinkle gst_base_src_stop liberally around error paths to fix
26541           problems reusing a source after failed state changes.
26542         * gst/base/gsttypefindhelper.c: (helper_find_peek),
26543         (helper_find_suggest), (gst_type_find_helper):
26544           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
26545         * gst/gstevent.h:
26546         * docs/gst/tmpl/gstevent.sgml:
26547           Migrate part of the docs from the SGML file. Wait for ensonic to
26548           tell me how I did it wrong ;)
26549         * tools/gst-typefind.c: (main):
26550           Extra robustness to state changes between files.
26551
26552 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
26553
26554         * check/Makefile.am:
26555           don't valgrind the controller test - it's leaking - Stefan, HELP
26556         * gst/check/gstcheck.c: (gst_check_message_error),
26557         (gst_check_chain_func), (gst_check_setup_element),
26558         (gst_check_teardown_element), (gst_check_setup_src_pad),
26559         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
26560         (gst_check_teardown_sink_pad):
26561         * gst/check/gstcheck.h:
26562           add a bunch of methods to set up elements, and src and sink pads
26563         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
26564         * check/elements/identity.c: (setup_identity), (cleanup_identity),
26565         (GST_START_TEST):
26566           use them
26567         * gst/gstmessage.c:
26568         * gst/gsttag.h:
26569           whitespace/doc fixes
26570
26571 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26572
26573         * gst/gstelement.h:
26574           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
26575           be handled by the application and not always printed as well
26576
26577 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26578
26579         * check/Makefile.am:
26580           set GST_TOOLS_DIR
26581         * gst/check/gstcheck.c: (gst_check_message_error):
26582         * gst/check/gstcheck.h:
26583           add a fail_unless_equals_int
26584           add fail_unless for error messages
26585
26586 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26587
26588         * check/Makefile.am:
26589         * check/gst.supp:
26590         * common/Makefile.am:
26591         * common/check.mak:
26592         * common/gst.supp:
26593           factor out some of the common stuff so we can use it
26594
26595 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26596
26597         * check/Makefile.am:
26598         * check/gst/gstiterator.c: (GST_START_TEST):
26599         * check/gst/gstsystemclock.c: (GST_START_TEST),
26600         (gst_systemclock_suite):
26601         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
26602         * gst/gstclock.c:
26603           valgrind more tests
26604
26605 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26606
26607         * check/elements/.cvsignore:
26608         * check/elements/gstfakesrc.c:
26609           rename to name of element
26610         * check/elements/identity.c: (chain_func), (event_func),
26611         (setup_identity), (cleanup_identity), (GST_START_TEST),
26612         (identity_suite), (main):
26613           add a test for identity
26614         * check/Makefile.am:
26615         * pkgconfig/Makefile.am:
26616         * pkgconfig/gstreamer-check.pc.in:
26617         * pkgconfig/gstreamer-check-uninstalled.pc.in:
26618         * gst/check:
26619         * gst/Makefile.am:
26620         * configure.ac:
26621           move the check stuff to a library that gets installed
26622         * check/gst-libs/controller.c: (GST_START_TEST):
26623         * check/gst-libs/gdp.c:
26624         * check/gst/gst.c: (GST_START_TEST):
26625         * check/gst/gstbin.c:
26626         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26627         * check/gst/gstbus.c:
26628         * check/gst/gstcaps.c: (GST_START_TEST):
26629         * check/gst/gstelement.c:
26630         * check/gst/gstghostpad.c:
26631         * check/gst/gstiterator.c:
26632         * check/gst/gstmessage.c:
26633         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
26634         * check/gst/gstobject.c:
26635         * check/gst/gstpad.c: (GST_START_TEST):
26636         * check/gst/gststructure.c: (GST_START_TEST):
26637         * check/gst/gstsystemclock.c: (GST_START_TEST),
26638         (gst_systemclock_suite):
26639         * check/gst/gsttag.c: (gst_tag_suite):
26640         * check/gst/gstvalue.c:
26641         * check/pipelines/cleanup.c:
26642         * check/pipelines/simple_launch_lines.c:
26643         * check/states/sinks.c:
26644           change include statement
26645
26646         * docs/gst/gstreamer-sections.txt:
26647         * docs/gst/tmpl/gstpad.sgml:
26648           document more pad stuff
26649         * gst/gstminiobject.c: (gst_mini_object_ref),
26650         (gst_mini_object_unref):
26651           debug refcounting
26652
26653 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
26654
26655         * docs/gst/tmpl/gst.sgml:
26656         * gst/gst.c:
26657           eliminate another tmpl file, fix spelling in the long-description
26658
26659 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26660
26661         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26662         (test_event), (timediff), (gstevents_suite):
26663           Should fix build on 64-bit arch's
26664
26665 2005-08-18  Andy Wingo  <wingo@pobox.com>
26666
26667         Make sure that when a pipeline goes to PLAYING, that data has
26668         actually hit the sink.
26669
26670         * check/states/sinks.c (test_sink): A sink that doesn't get any
26671         data shouldn't return SUCCESS for going to either PLAYING or
26672         PAUSED. Test also the return values on the way back down.
26673
26674         * gst/gstelement.c (gst_element_set_state): When changing the
26675         state of an element currently changing state asynchronously, go to
26676         lost-state after commiting the pending state. Makes future calls
26677         to get_state continue to return ASYNC.
26678
26679         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
26680         ASYNC when going to PLAYING if we still don't have preroll, as can
26681         happen with live sources.
26682
26683 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26684
26685         * docs/pwg/advanced-types.xml:
26686           Hack long paragraph into 2 chunks as a workaround for buggy
26687           jadetex version in sid and breezy that loops infinitely and
26688           eats all RAM.
26689
26690 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26691
26692         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26693         (test_event), (timediff), (gstevents_suite):
26694           Provide more error margin in clock measurements to allow for 
26695           g_get_current_time inaccuracies.
26696
26697 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26698
26699         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26700         (test_event), (timediff), (gstevents_suite):
26701            Fix error message output so I might be able to tell why the
26702            test works here but fails on the build farm.
26703
26704 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26705
26706         * check/Makefile.am:
26707         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26708         (test_event), (timediff), (gstevents_suite), (main):
26709           I wrote a test!
26710
26711         * docs/design/part-seeking.txt:
26712           Spelling correction
26713
26714         * docs/gst/tmpl/gstevent.sgml:
26715         * docs/gst/tmpl/gstfakesrc.sgml:
26716           Docs updates.
26717
26718         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26719           Treat a buffer-without-newsegment the same as a receiving 
26720           a newsegment not in time format, and disable syncing to the clock
26721           with a warning.
26722
26723         * gst/gstbus.c: (gst_bus_set_sync_handler):
26724           Assert if anyone tries to replace the existing sync_handler for bus, 
26725           as only the owner should be setting it.
26726
26727         * gst/gstevent.h:
26728           Have a fixed set of custom event enums with events identified by
26729           their structure name (as in 0.8), rather than a free-for-all
26730           allowing collisions between enum values from different plugins.
26731
26732         * gst/gstpad.c: (gst_pad_class_init):
26733           Docs change.
26734           
26735         * gst/gstqueue.c: (gst_queue_handle_sink_event):
26736           Handle out-of-band downstream events from the sending thread.
26737
26738 2005-08-17  Andy Wingo  <wingo@pobox.com>
26739
26740         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
26741         play-timeout==0 to mean no timeout at all. In that case, don't
26742         bother with a get_state or a warning, just return directly, even
26743         if it's ASYNC.
26744
26745         * gst/base/gstbasetransform.c: Debug changes.
26746
26747         * gst/gstutils.h:
26748         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
26749         ensure bins post state change messages. A bit of a hack but I can't
26750         think of a way to avoid it.
26751
26752         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
26753
26754 2005-08-16  Andy Wingo  <wingo@pobox.com>
26755
26756         * gst/base/gstadapter.h:
26757         * gst/base/gstadapter.c (gst_adapter_take): New function, like
26758         peek() but you own the data. Not terribly efficient atm.
26759
26760 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26761
26762         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
26763         (gst_element_found_tags):
26764         * gst/gstutils.h:
26765           Add two utility functions for tag handling.
26766
26767 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26768
26769         * docs/manual/advanced-dataaccess.xml:
26770         * docs/manual/basics-helloworld.xml:
26771           Fix docs to use _bin_add() before _link(), which fixes the examples
26772           with recent core versions (reported by Madhan Raj M
26773           <raj_madan@rediffmail.com>, #313199).
26774
26775 2005-08-16  Wim Taymans  <wim@fluendo.com>
26776
26777         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
26778         Added subtract checks.
26779
26780         * docs/design/part-events.txt:
26781         Some more docs about newsegment
26782
26783         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
26784         Fix FIXME
26785
26786         * gst/gstcaps.c: (gst_caps_to_string):
26787         Add comments, cleanups.
26788         
26789         * gst/gstelement.c: (gst_element_save_thyself):
26790         cleanups
26791         
26792         * gst/gstvalue.c: (gst_value_collect_int_range),
26793         (gst_string_unwrap), (gst_value_union_int_int_range),
26794         (gst_value_union_int_range_int_range),
26795         (gst_value_intersect_int_int_range),
26796         (gst_value_intersect_int_range_int_range),
26797         (gst_value_intersect_double_double_range),
26798         (gst_value_intersect_double_range_double_range),
26799         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
26800         (gst_value_subtract_int_range_int),
26801         (gst_value_subtract_double_range_double),
26802         (gst_value_subtract_double_range_double_range),
26803         (gst_value_subtract_from_list), (gst_value_subtract_list),
26804         (gst_value_can_compare), (gst_value_compare_fraction):
26805         Cleanups, add comments, remove unneeded asserts.
26806
26807 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
26808
26809         * tools/gst-launch.c: (event_loop):
26810           don't convert NULL structures to strings
26811
26812 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
26813
26814         * docs/gst/gstreamer-sections.txt:
26815           made some defines private
26816         * docs/gst/tmpl/gstconfig.sgml:
26817         * docs/gst/tmpl/gstqueue.sgml:
26818         * docs/gst/tmpl/gsttaglist.sgml:
26819         * docs/gst/tmpl/gsttypes.sgml:
26820         * docs/gst/tmpl/gstutils.sgml:
26821         * docs/pwg/appendix-porting.xml:
26822         * gst/base/gstbasesink.h:
26823         * gst/base/gstbasesrc.c:
26824         * gst/base/gstbasesrc.h:
26825         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
26826         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
26827         * gst/gstelement.c: (gst_element_class_init):
26828         * gst/gstpad.c: (gst_pad_class_init):
26829         * gst/gstqueue.c: (gst_queue_class_init):
26830         * gst/gstxml.c: (gst_xml_class_init):
26831           documented all undocumented signal inline
26832         * libs/gst/controller/gst-controller.h:
26833           added padding
26834
26835 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26836
26837         * docs/pwg/appendix-porting.xml:
26838           Document _set_link_function -> _set_setcaps_function.
26839
26840 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
26841
26842         * check/Makefile.am:
26843           add a .check target for running the check
26844         * check/gst-libs/controller.c: (GST_START_TEST):
26845           cosmetic fixups
26846         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26847           complete checks for gstbuffer; would be nice if I could get the
26848           gcov stuff to work so I can see if I actually completed gstbuffer.c
26849         * check/gstcheck.h:
26850           add ASSERT_BUFFER_REFCOUNT
26851
26852 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
26853
26854         * docs/gst/gstreamer-sections.txt:
26855         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
26856         * gst/gsttag.h:
26857           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
26858           spew out a warning if a tag that is already registered
26859           is re-registered, unless it is re-registered with a 
26860           different type (#308438).
26861
26862 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
26863
26864         * docs/pwg/appendix-porting.xml:
26865         * docs/pwg/building-state.xml:
26866           Add some paragraphs about state changes in 0.9 to the PWG
26867           and the porting guide, in particular about the new meaning
26868           of GST_STATE_PAUSED and how to write state change functions
26869           with concurrent access by multiple threads in mind.
26870
26871 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
26872
26873         * docs/gst/gstreamer-docs.sgml:
26874         * docs/libs/gstreamer-libs-docs.sgml:
26875           added deprecation and since indexes
26876         * libs/gst/controller/gst-controller.c:
26877         * libs/gst/controller/gst-helper.c:
26878           added since tags
26879
26880
26881 2005-08-11  Wim Taymans  <wim@fluendo.com>
26882
26883         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
26884         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
26885         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
26886         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
26887         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
26888         (gst_ghost_pad_set_target):
26889         Actually implement (re)setting the target on a ghostpad
26890         as described in the docs.
26891
26892 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
26893
26894         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
26895           Check whether GST_DEBUG_NO_COLOR environment variable is
26896           set and disable coloured debug output if that is the case.
26897
26898 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
26899
26900         * gst/base/gsttypefindhelper.c: (helper_find_peek),
26901         (gst_type_find_helper):
26902           The memory returned by gst_type_find_peek() needs to
26903           stay valid until the end of a typefind function, and
26904           typefind functions may keep results from different 
26905           offsets around, so we can't just unref the buffer from
26906           the previous _peek(), but have to save all buffers 
26907           returned by _peek() until typefinding is done and only
26908           free them then.
26909
26910 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
26911
26912         * docs/gst/gstreamer-sections.txt:
26913         * gst/gstutils.h:
26914           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
26915
26916 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26917
26918         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
26919           Fix a pretty good memleak.
26920
26921 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
26922
26923         * gst/gstiterator.h:
26924           Fix wrong include and 'make distcheck'.
26925
26926 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26927
26928         * gst/gstbin.c: (bin_bus_handler):
26929           Use gst_element_post_message() instead.
26930
26931 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
26932
26933         * gst/base/gstadapter.h:
26934         * gst/base/gstbasesink.h:
26935         * gst/base/gstbasesrc.h:
26936         * gst/base/gstbasetransform.h:
26937         * gst/base/gstcollectpads.h:
26938         * gst/base/gstpushsrc.h:
26939         * gst/gstiterator.h:
26940           Add padding to our base elements' class and instance structs and
26941           to GstIterator (you will need to rebuild all plugins and apps!)
26942
26943 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26944
26945         * gst/gstbin.c: (bin_bus_handler):
26946           Make default message forwarding from child->bus to bin->bus
26947           threadsafe and make it not emit warnings if the parent has no bus.
26948
26949 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26950
26951         * gst/gstelement.c: (activate_pads):
26952           On paused->ready, set pad->caps to NULL, as is the documented
26953           behaviour in this state change. Fixes playback of series of
26954           media files when visualization is enabled in Totem.
26955
26956 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26957
26958         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
26959           Allow NULL as filter-caps (which means "any").
26960
26961 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
26962
26963         * docs/libs/gstreamer-libs-sections.txt:
26964         * libs/gst/controller/gst-controller.c:
26965         * libs/gst/controller/gst-controller.h:
26966         * libs/gst/controller/gst-helper.c:
26967           adding more entries to the docs and fix small doc-bugs
26968
26969 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
26970
26971         * docs/gst/gstreamer-docs.sgml:
26972         * docs/gst/gstreamer-sections.txt:
26973         * docs/gst/gstreamer.types:
26974         * docs/gst/tmpl/gstbasesink.sgml:
26975         * docs/gst/tmpl/gstbasesrc.sgml:
26976         * docs/gst/tmpl/gstbasetransform.sgml:
26977         * docs/gst/tmpl/gstfakesrc.sgml:
26978         * gst/base/gstcollectpads.c:
26979         * gst/base/gstcollectpads.h:
26980         * libs/gst/controller/gst-controller.c:
26981         * libs/gst/controller/gst-controller.h:
26982         * libs/gst/controller/gst-helper.c:
26983         * libs/gst/controller/gst-interpolation.c:
26984         * libs/gst/controller/lib.c:
26985           added long/short desc for controller docs
26986           added collectpads base class docs
26987           added correct includes to base-class docs
26988
26989 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
26990
26991         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
26992         (gst_test_mono_source_set_property),
26993         (gst_test_mono_source_class_init), (GST_START_TEST),
26994         (gst_controller_suite):
26995         * docs/gst/gstreamer-docs.sgml:
26996         * docs/gst/gstreamer-sections.txt:
26997         * docs/gst/gstreamer.types:
26998         * docs/libs/gstreamer-libs-docs.sgml:
26999         * docs/libs/gstreamer-libs-sections.txt:
27000         * gst/base/gstadapter.c:
27001         * libs/gst/controller/gst-controller.c:
27002         (gst_controlled_property_new), (gst_controlled_property_free),
27003         (gst_controller_new_valist),
27004         (gst_controller_remove_properties_valist),
27005         (gst_controller_sink_values), (_gst_controller_finalize):
27006         * libs/gst/controller/gst-controller.h:
27007         * libs/gst/controller/gst-helper.c:
27008         (gst_object_control_properties), (gst_object_uncontrol_properties),
27009         (gst_object_get_controller), (gst_object_set_controller),
27010         (gst_object_sink_values), (gst_object_get_value_arrays),
27011         (gst_object_get_value_array):
27012           more tests (and fixes) for the controller
27013           more docs for the controller
27014           integrated companies docs for the adapter 
27015
27016 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
27017
27018         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
27019         (GST_START_TEST), (fakesrc_suite):
27020           add tests for sizetype
27021
27022 2005-08-04  Andy Wingo  <wingo@pobox.com>
27023
27024         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
27025         fixes buffer_alloc proxying among other things.
27026
27027         * gst/base/gstbasetransform.c:
27028         * gst/base/gstbasetransform.h:
27029         Revert patch to gstbasetransform from 7-28 removing
27030         delay_configure.
27031
27032         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
27033         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
27034         Semantics changed, should return not the size of the output buffer
27035         but the byte size of a buffer with a given caps.
27036
27037         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
27038         debug object.
27039         (gst_base_transform_configure_caps): Don't set out_size here: (in,
27040         out) are not the pad caps until setcaps finishes.
27041         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
27042         not-in-place case as well. Deal with changing from in-place to
27043         not-in-place within calling pad_alloc_buffer. Still a bit
27044         concerned about the overhead here...
27045
27046 2005-08-03  Andy Wingo  <wingo@pobox.com>
27047
27048         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
27049         fixating is an error.
27050
27051 2005-08-04  Edward Hervey  <edward@fluendo.com>
27052
27053         * gst/base/gstadapter.h: 
27054         Added gst_adapter_get_type() to the header
27055
27056 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
27057
27058         * check/Makefile.am:
27059         * check/gst-libs/controller.c:
27060         * libs/gst/controller/gst-controller.c:
27061         (gst_controller_new_valist):
27062           added check test suite for the controller
27063         * gst/base/gstpushsrc.c:
27064           fixed a doc typo
27065
27066 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
27067
27068         * docs/gst/Makefile.am:
27069         * docs/gst/gstreamer-docs.sgml:
27070         * docs/gst/gstreamer-sections.txt:
27071         * docs/gst/gstreamer.types:
27072         * docs/gst/tmpl/gstfakesrc.sgml:
27073         * gst/base/README:
27074         * gst/base/gstbasesink.c:
27075         * gst/base/gstbasesink.h:
27076         * gst/base/gstbasesrc.c:
27077         * gst/base/gstbasesrc.h:
27078         * gst/base/gstbasetransform.c:
27079         * gst/base/gstpushsrc.c:
27080         * gst/base/gstpushsrc.h:
27081           add short/long description docs to base classes
27082           add pushsrc to the docs
27083           remove consolidated doc fragments
27084
27085 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
27086
27087         * configure.ac:
27088         * docs/libs/Makefile.am:
27089         * docs/libs/gstreamer-libs-docs.sgml:
27090         * docs/libs/gstreamer-libs-sections.txt:
27091         * docs/libs/gstreamer-libs.types:
27092         * examples/Makefile.am:
27093         * examples/controller/.cvsignore:
27094         * examples/controller/Makefile.am:
27095         * examples/controller/audio-example.c: (main):
27096         * libs/gst/Makefile.am:
27097         * libs/gst/controller/.cvsignore:
27098         * libs/gst/controller/Makefile.am:
27099         * libs/gst/controller/gst-controller.c:
27100         (on_object_controlled_property_changed), (gst_timed_value_compare),
27101         (gst_timed_value_find),
27102         (gst_controlled_property_set_interpolation_mode),
27103         (gst_controlled_property_new), (gst_controlled_property_free),
27104         (gst_controller_find_controlled_property),
27105         (gst_controller_new_valist), (gst_controller_new),
27106         (gst_controller_remove_properties_valist),
27107         (gst_controller_remove_properties), (gst_controller_set),
27108         (gst_controller_set_from_list), (gst_controller_unset),
27109         (gst_controller_get), (gst_controller_get_all),
27110         (gst_controller_sink_values), (gst_controller_get_value_arrays),
27111         (gst_controller_get_value_array),
27112         (gst_controller_set_interpolation_mode),
27113         (_gst_controller_finalize), (_gst_controller_init),
27114         (_gst_controller_class_init), (gst_controller_get_type):
27115         * libs/gst/controller/gst-controller.h:
27116         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
27117         (g_object_uncontrol_properties), (g_object_get_controller),
27118         (g_object_set_controller), (g_object_sink_values),
27119         (g_object_get_value_arrays), (g_object_get_value_array):
27120         * libs/gst/controller/gst-interpolation.c:
27121         (gst_controlled_property_find_timed_value_node),
27122         (interpolate_none_get), (interpolate_trigger_get),
27123         (interpolate_trigger_get_value_array):
27124         * libs/gst/controller/lib.c: (gst_controller_init):
27125         * pkgconfig/Makefile.am:
27126         * pkgconfig/gstreamer-control-uninstalled.pc.in:
27127         * pkgconfig/gstreamer-control.pc.in:
27128         * testsuite/Makefile.am:
27129         * testsuite/controller/.cvsignore:
27130         * testsuite/controller/Makefile.am:
27131         * testsuite/controller/interpolator.c: (main):
27132           added controller code
27133           removed dparam pc files
27134
27135 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
27136         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
27137         (gst_collectpads_stop):
27138           Broadcast the condition when shutting down, to make sure we wake all
27139           threads up. Shut down pads on finalize, for safety.
27140
27141 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
27142         * gst/base/gstbasetransform.c: (gst_base_transform_init),
27143         (gst_base_transform_handle_buffer),
27144         (gst_base_transform_change_state):
27145           Handle PAUSED->READY->PAUSED transition after negotiation
27146           occurred already.
27147         * gst/gstmessage.c: (gst_message_init):
27148           Extra piece of debug for new messages.
27149
27150 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
27151
27152         * configure.ac:
27153         * docs/gst/tmpl/gstbasesrc.sgml:
27154         * docs/gst/tmpl/gstelement.sgml:
27155         * docs/gst/tmpl/gstevent.sgml:
27156         * docs/gst/tmpl/gstfakesrc.sgml:
27157         * docs/gst/tmpl/gstformat.sgml:
27158         * docs/gst/tmpl/gstghostpad.sgml:
27159         * docs/gst/tmpl/gstpad.sgml:
27160         * docs/gst/tmpl/gstquery.sgml:
27161         * docs/gst/tmpl/gststructure.sgml:
27162         * docs/gst/tmpl/gsttaglist.sgml:
27163         * docs/gst/tmpl/gstvalue.sgml:
27164         * docs/libs/gstreamer-libs-docs.sgml:
27165         * docs/libs/gstreamer-libs-sections.txt:
27166         * docs/libs/gstreamer-libs.types:
27167         * libs/gst/Makefile.am:
27168         * libs/gst/control/.cvsignore:
27169         * libs/gst/control/Makefile.am:
27170         * libs/gst/control/control.c:
27171         * libs/gst/control/control.h:
27172         * libs/gst/control/dparam.c:
27173         * libs/gst/control/dparam.h:
27174         * libs/gst/control/dparam_smooth.c:
27175         * libs/gst/control/dparam_smooth.h:
27176         * libs/gst/control/dparamcommon.h:
27177         * libs/gst/control/dparammanager.c:
27178         * libs/gst/control/dparammanager.h:
27179         * libs/gst/control/dplinearinterp.c:
27180         * libs/gst/control/dplinearinterp.h:
27181         * libs/gst/control/unitconvert.c:
27182         * libs/gst/control/unitconvert.h:
27183         * testsuite/Makefile.am:
27184         * testsuite/dynparams/.cvsignore:
27185         * testsuite/dynparams/Makefile.am:
27186         * testsuite/dynparams/dparamstest.c:
27187         * tools/Makefile.am:
27188         * tools/gst-inspect.c: (print_element_info), (main):
27189         * tools/gst-xmlinspect.c: (print_element_info), (main):
27190           deactivate and remove dparams (libgstcontrol)
27191
27192 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
27193
27194         * gst/elements/gsttypefindelement.c:
27195         (gst_type_find_element_have_type), (gst_type_find_element_init),
27196         (stop_typefinding), (gst_type_find_element_handle_event),
27197         (gst_type_find_element_chain), (gst_type_find_element_getrange):
27198         * gst/elements/gsttypefindelement.h:
27199           Set caps on all outgoing buffers, not just the first one.
27200
27201 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
27202
27203         * gst/elements/gsttypefindelement.c:
27204         (gst_type_find_element_have_type),
27205         (gst_type_find_element_check_set_buffer_caps),
27206         (gst_type_find_element_init), (stop_typefinding),
27207         (gst_type_find_element_handle_event),
27208         (gst_type_find_element_chain), (gst_type_find_element_getrange):
27209         * gst/elements/gsttypefindelement.h:
27210           Set caps on first outgoing buffer when we've found the type.
27211
27212 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
27213
27214         * docs/gst/gstreamer-docs.sgml:
27215         * docs/gst/gstreamer-sections.txt:
27216         * docs/gst/tmpl/gstscheduler.sgml:
27217         * docs/gst/tmpl/gstschedulerfactory.sgml:
27218           Remove some old cruft from docs.
27219
27220 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
27221
27222         * gst/gstpad.h:
27223           Fix inline docs for GstPadLinkReturn.
27224           
27225         * gst/gststructure.c: (gst_structure_has_name):
27226         * gst/gststructure.h:
27227         * docs/gst/gstreamer-sections.txt:
27228           New API: gst_structure_has_name().
27229
27230 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
27231
27232         * configure.ac:
27233           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
27234           and _LARGEFILE_SOURCE in config.h as required. Do not 
27235           export those flags in our .pc files any longer (#142209).
27236
27237           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
27238
27239         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
27240         (gst_file_sink_do_seek), (gst_file_sink_event),
27241         (gst_file_sink_get_current_offset), (gst_file_sink_render):
27242           Redo seek/tell calls with large file support in mind; add some
27243           debugging messages; add log message that tells us when large
27244           file support is unavailable or not enabled for some reason.
27245
27246         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
27247           Add log message that tells us when large file support 
27248           is unavailable or not enabled for some reason.
27249
27250 2005-07-29  Wim Taymans  <wim@fluendo.com>
27251
27252         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27253         Added test for removing an element with ghostpad from a bin.
27254         Fixed test as current implementation does the right thing.
27255
27256         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
27257         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
27258         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
27259         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
27260         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
27261         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
27262         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
27263         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
27264         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
27265         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
27266         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
27267         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
27268         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
27269         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
27270         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
27271         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
27272         * gst/gstghostpad.h:
27273         Clean up ghostpads, remove properties for internal stuff.
27274         Make threadsafe.
27275         Fix refcounting.
27276         Prepare for switching targets, not all use cases work yet.
27277
27278 2005-07-29  Wim Taymans  <wim@fluendo.com>
27279
27280         * docs/design/part-gstghostpad.txt:
27281         Small update.
27282
27283         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27284         (gst_bin_remove_func):
27285         Unlinking pads while holding the bin LOCK is not a good
27286         idea.
27287
27288         * gst/gstpad.c: (gst_pad_class_init),
27289         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
27290         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
27291         No prob setting template after creating the pad.
27292
27293 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
27294
27295         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
27296         (gst_bus_peek), (gst_bus_source_dispatch),
27297         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
27298         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
27299           gst_bus_poll may be called from other threads. Handle
27300           this nicely by not making poll_data disappear off the
27301           stack once gst_bus_poll returns.
27302           gst_bus_peek now increments the refcount on the returned
27303           message.
27304
27305 2005-07-29  Wim Taymans  <wim@fluendo.com>
27306
27307         * docs/design/part-gstghostpad.txt:
27308         Overview of current GhostPad datastructures and use
27309         cases for changing the target.
27310
27311 2005-07-28  Wim Taymans  <wim@fluendo.com>
27312
27313         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
27314         Added checks for hierarchy consistency whan adding linked
27315         elements to bins.
27316
27317         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
27318         Added check to test element scheduling without bin/pipeline.
27319
27320         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
27321         First add elements to bin, then link.
27322         
27323         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27324         (gst_bin_remove_func):
27325         Unlink pads from elements added/removed from bin to maintain
27326         hierarchy consistency.
27327
27328 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27329
27330         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
27331         (gst_base_transform_handle_buffer):
27332         * gst/base/gstbasetransform.h:
27333           Remove broken delay_configure (fixes renegotiation of software
27334           scaling pipelines); remove some leftover printf()s.
27335
27336 2005-07-28  Wim Taymans  <wim@fluendo.com>
27337
27338         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27339         Added some more tests for wrong hierarchy
27340
27341         * docs/design/part-overview.txt:
27342         Some updates.
27343
27344         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
27345         Cleanups.
27346
27347         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
27348         (gst_element_dispose):
27349         Some more cleanups.
27350
27351         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
27352         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
27353         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27354         (gst_pad_set_caps), (gst_pad_send_event):
27355         Check for correct hierarchy when linking pads. Moving to
27356         strict requirement for ghostpads when linking elements in
27357         different bins.
27358
27359         * gst/gstpad.h:
27360         Clean ups. Added WRONG_HIERARCHY return value.
27361
27362 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27363
27364         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
27365           Better debug if no transform is possible.
27366
27367 2005-07-27  Wim Taymans  <wim@fluendo.com>
27368
27369         * docs/random/wtay/network-transp:
27370         Some old doc I had.
27371
27372 2005-07-27  Wim Taymans  <wim@fluendo.com>
27373
27374         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27375         (gst_dp_event_from_packet):
27376         Fix serialization of seek events.
27377
27378 2005-07-27  Wim Taymans  <wim@fluendo.com>
27379
27380         * check/gst-libs/gdp.c: (GST_START_TEST):
27381         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27382         Fix compilation and fix event serialization.
27383
27384 2005-07-27  Wim Taymans  <wim@fluendo.com>
27385
27386         * CHANGES-0.9:
27387         * docs/design/part-TODO.txt:
27388         * docs/design/part-events.txt:
27389         Some docs updates
27390
27391         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27392         (gst_base_sink_event), (gst_base_sink_do_sync),
27393         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27394         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
27395         (gst_base_src_do_seek), (gst_base_src_event_handler),
27396         (gst_base_src_loop):
27397         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27398         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27399         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
27400         (gst_base_transform_event), (gst_base_transform_handle_buffer),
27401         (gst_base_transform_set_passthrough),
27402         (gst_base_transform_is_passthrough):
27403         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27404         * gst/elements/gstfilesink.c: (gst_file_sink_event):
27405         Event updates.
27406
27407         * gst/gstbuffer.h:
27408         Use faster casts.
27409
27410         * gst/gstelement.c: (gst_element_seek):
27411         * gst/gstelement.h:
27412         Update gst_element_seek.
27413
27414         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
27415         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
27416         (gst_event_new_flush_start), (gst_event_new_flush_stop),
27417         (gst_event_new_eos), (gst_event_new_newsegment),
27418         (gst_event_parse_newsegment), (gst_event_new_tag),
27419         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
27420         (gst_event_parse_qos), (gst_event_new_seek),
27421         (gst_event_parse_seek), (gst_event_new_navigation):
27422         * gst/gstevent.h:
27423         Make GstEvent use GstStructure. Add parsing code, make sure the
27424         API is sufficiently generic.
27425         Mark possible directions of events and serialization.
27426
27427         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
27428         (_gst_message_copy), (gst_message_new_segment_start),
27429         (gst_message_new_segment_done), (gst_message_new_custom),
27430         (gst_message_parse_segment_start),
27431         (gst_message_parse_segment_done):
27432         Small cleanups.
27433
27434         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27435         (gst_pad_set_caps), (gst_pad_send_event):
27436         Update for new events. 
27437         Catch events sent in wrong directions.
27438
27439         * gst/gstqueue.c: (gst_queue_link_src),
27440         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
27441         (gst_queue_handle_src_query):
27442         Event updates.
27443
27444         * gst/gsttag.c:
27445         * gst/gsttag.h:
27446         Remove event code from this file.
27447
27448         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27449         (gst_dp_event_from_packet):
27450         Event updates.
27451
27452 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27453
27454         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
27455         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27456         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
27457           Make debugging actually useful.
27458
27459 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27460
27461         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
27462         (gst_pad_fixate_caps):
27463           Implement default fixation once again, so that gst_pad_fixate()
27464           actually does anything at all. This probably needs to be some
27465           sort of a last resort, and use profile-based fixation first, but
27466           since that doesn't exist yet, this is the best we have. Fixes
27467           visualization in Totem.
27468
27469 2005-07-22  Wim Taymans  <wim@fluendo.com>
27470
27471         * docs/design/part-events.txt:
27472         Small update.
27473
27474         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27475         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
27476         (gst_base_sink_activate_pull):
27477         Some more comments.
27478
27479         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
27480         (gst_fake_src_create):
27481         Fix handoff marshall.
27482
27483         * gst/elements/gstidentity.c: (gst_identity_class_init),
27484         (gst_identity_transform_ip):
27485         We're a real inplace element.
27486
27487         * gst/gstbus.c: (gst_bus_post):
27488         Added some comments.
27489
27490         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
27491         * tests/muxing/case1.c: (main):
27492         * tests/sched/dynamic-pipeline.c: (main):
27493         * tests/sched/interrupt1.c: (main):
27494         * tests/sched/interrupt2.c: (main):
27495         * tests/sched/interrupt3.c: (main):
27496         * tests/sched/runxml.c: (main):
27497         * tests/sched/sched-stress.c: (main):
27498         * tests/seeking/seeking1.c: (event_received), (main):
27499         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
27500         (main):
27501         * tests/threadstate/threadstate3.c: (main):
27502         * tests/threadstate/threadstate4.c: (main):
27503         * tests/threadstate/threadstate5.c: (main):
27504         Fix the tests.
27505
27506 2005-07-21  Wim Taymans  <wim@fluendo.com>
27507
27508         * docs/design/part-seeking.txt:
27509         Some small additions.
27510
27511         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27512         (gst_base_sink_get_times), (gst_base_sink_do_sync),
27513         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27514         * gst/base/gstbasesink.h:
27515         discont values are gint64, handle the math correctly.
27516
27517         * gst/base/gstbasesrc.c: (gst_base_src_loop):
27518         Make the basesrc report error if the source pad is not linked.
27519
27520         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
27521         (gst_queue_loop), (gst_queue_handle_src_query),
27522         (gst_queue_src_activate_push):
27523         Make queue collect data even if the srcpad is not linked.
27524         Start pushing out data as soon as it is linked.
27525
27526         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
27527         * gst/gstutils.h:
27528         Added gst_flow_get_name() to ease error reporting.
27529
27530 2005-07-20  Wim Taymans  <wim@fluendo.com>
27531
27532         * gst/gstmessage.c: (gst_message_new_segment_start),
27533         (gst_message_new_segment_done), (gst_message_parse_segment_start),
27534         (gst_message_parse_segment_done):
27535         * gst/gstmessage.h:
27536         Added a bunch of messages for advanced seeking.
27537
27538         * gst/parse/grammar.y:
27539         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
27540         (gst_dpman_state_changed):
27541         Fix some new-pad -> pad-added signals
27542
27543 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27544
27545         * docs/manual/appendix-porting.xml:
27546         * docs/pwg/appendix-porting.xml:
27547           Document new-pad/state-change signal renames and the FixedList
27548           type rename.
27549
27550 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27551
27552         * docs/manual/advanced-autoplugging.xml:
27553         * docs/manual/basics-helloworld.xml:
27554         * docs/manual/basics-pads.xml:
27555         * docs/random/ds/0.9-suggested-changes:
27556         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
27557         * gst/gstelement.h:
27558         * gst/gstevent.h:
27559         * gst/gstformat.h:
27560         * gst/gstquery.h:
27561         * gst/gststructure.c: (gst_structure_value_get_generic_type),
27562         (gst_structure_parse_array), (gst_structure_parse_value):
27563         * gst/gstvalue.c: (gst_type_is_fixed),
27564         (gst_value_list_prepend_value), (gst_value_list_append_value),
27565         (gst_value_list_get_size), (gst_value_list_get_value),
27566         (gst_value_transform_array_string), (gst_value_serialize_array),
27567         (gst_value_deserialize_array), (gst_value_intersect_array),
27568         (gst_value_is_fixed), (_gst_value_initialize):
27569         * gst/gstvalue.h:
27570           GstElement::new-pad -> pad-added, GstElement::state-change ->
27571           state-changed, GstValueFixedList -> GstValueArray, add format and
27572           flags as their own arguments in gst_element_seek() (should improve
27573           "bindeability"), remove function generators since they don't work
27574           under a whole bunch of compilers (they were deprecated already
27575           anyway).
27576
27577 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27578
27579         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
27580         (_gst_debug_register_funcptr):
27581         * gst/gstinfo.h:
27582           Fix illegal cast on some platforms (#309253).
27583
27584 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27585
27586         * gst/gstmessage.c: (gst_message_new_custom):
27587         * gst/gstmessage.h:
27588           Add _new_custom, make _new_application a macro to _new_custom.
27589
27590 2005-07-20  Wim Taymans  <wim@fluendo.com>
27591
27592         * gst/base/gstbasesrc.c: (gst_base_src_init),
27593         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
27594         * gst/base/gstbasesrc.h:
27595         Add a gboolean to decide when to push out a discont.
27596
27597         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
27598         (gst_queue_loop), (gst_queue_handle_src_query),
27599         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
27600         (gst_queue_set_property), (gst_queue_get_property):
27601         Some cleanups.
27602
27603         * tests/threadstate/threadstate1.c: (main):
27604         Make a thread test compile and run... very silly..
27605
27606
27607 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27608
27609         * docs/manual/appendix-porting.xml:
27610           Mention removal of libgstgconf-0.9.la and existence of gconf
27611           elements.
27612
27613 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27614
27615         * docs/pwg/advanced-clock.xml:
27616         * docs/pwg/appendix-porting.xml:
27617         * docs/pwg/intro-preface.xml:
27618         * docs/pwg/other-base.xml:
27619         * docs/pwg/other-manager.xml:
27620         * docs/pwg/other-nton.xml:
27621         * docs/pwg/other-ntoone.xml:
27622         * docs/pwg/other-oneton.xml:
27623         * docs/pwg/pwg.xml:
27624           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
27625           demuxer), remove n-to-n (was never written), fix some code examples
27626           and links and update the porting section to include all this.
27627
27628 2005-07-19  Wim Taymans  <wim@fluendo.com>
27629
27630         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
27631         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
27632         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
27633         (gst_queue_src_activate_push), (gst_queue_change_state),
27634         (gst_queue_get_property):
27635         * gst/gstqueue.h:
27636         Propagate GstFlowReturn more intelligently upstream and output
27637         an ERROR/EOS when streaming stopped due to fatal error.
27638
27639 2005-07-19  Wim Taymans  <wim@fluendo.com>
27640
27641         * tools/gst-launch.c: (check_intr), (event_loop), (main):
27642         Don't block forever for the state change to complete, the
27643         pipeline already did with a sensible timeout.
27644
27645 2005-07-19  Wim Taymans  <wim@fluendo.com>
27646
27647         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
27648         Make sure we never call the create function is we
27649         got deactivated.
27650
27651 2005-07-19  Andy Wingo  <wingo@pobox.com>
27652
27653         * gst/parse/parse.l: Attempt to solve bug #172815.
27654
27655 2005-07-19  Wim Taymans  <wim@fluendo.com>
27656
27657         * docs/design/part-clocks.txt:
27658         * docs/design/part-events.txt:
27659         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
27660         Small docs updates.
27661         Only update the seeking values when we are not
27662         busy streaming.
27663
27664 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
27665
27666         * gst/base/gstbasesrc.c: (gst_base_src_loop):
27667           Oops, ignore the result of gst_pad_push_event here.
27668
27669 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
27670
27671         * gst/base/gstbasesrc.c: (gst_base_src_loop),
27672         (gst_base_src_activate_push):
27673           Send discont event from the loop function, as pads
27674           aren't activated yet in the activate_push handler.
27675
27676         * gst/gstbin.c: (bin_bus_handler):
27677           Don't leak element name.
27678
27679 2005-07-18  Andy Wingo  <wingo@pobox.com>
27680
27681         * configure.ac: Use AS_LIBTOOL_TAGS.
27682
27683 2005-07-18  Wim Taymans  <wim@fluendo.com>
27684
27685         * docs/gst/gstreamer.types:
27686         Remove deleted types.
27687
27688 2005-07-18  Wim Taymans  <wim@fluendo.com>
27689
27690         * check/elements/gstfakesrc.c: (GST_START_TEST):
27691         * configure.ac:
27692         * gst/Makefile.am:
27693         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
27694         (init_popt_callback):
27695         * gst/gst.h:
27696         * gst/gst_private.h:
27697         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
27698         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
27699         * gst/gstbin.h:
27700         * gst/gstbus.h:
27701         * gst/gstconfig.h.in:
27702         * gst/gstelement.c: (gst_element_class_init),
27703         (gst_element_set_base_time), (gst_element_get_base_time),
27704         (iterator_fold_with_resync), (gst_element_change_state),
27705         (gst_element_dispose), (gst_element_get_bus):
27706         * gst/gstelement.h:
27707         * gst/gstelementfactory.h:
27708         * gst/gsterror.c: (_gst_core_errors_init):
27709         * gst/gsterror.h:
27710         * gst/gstevent.h:
27711         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
27712         * gst/gstindex.c:
27713         * gst/gstinfo.c: (_gst_debug_init):
27714         * gst/gstmessage.c: (_gst_message_copy):
27715         * gst/gstmessage.h:
27716         * gst/gstminiobject.h:
27717         * gst/gstobject.c:
27718         * gst/gstobject.h:
27719         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27720         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
27721         * gst/gstpad.h:
27722         * gst/gstparse.h:
27723         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
27724         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
27725         (gst_pipeline_get_last_stream_time):
27726         * gst/gstpipeline.h:
27727         * gst/gstpluginfeature.h:
27728         * gst/gstquery.h:
27729         * gst/gstscheduler.c:
27730         * gst/gstscheduler.h:
27731         * gst/gststructure.h:
27732         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
27733         (gst_task_finalize), (gst_task_func), (gst_task_create),
27734         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
27735         (gst_task_stop), (gst_task_pause):
27736         * gst/gsttask.h:
27737         * gst/gsttypefind.h:
27738         * gst/gsttypes.h:
27739         * gst/registries/gstlibxmlregistry.c: (load_feature),
27740         (gst_xml_registry_load), (gst_xml_registry_save_feature):
27741         * gst/registries/gstxmlregistry.c:
27742         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
27743         * gst/schedulers/threadscheduler.c:
27744         * libs/gst/control/dparammanager.h:
27745         * tools/gst-inspect.c: (print_element_list),
27746         (print_plugin_features), (print_element_features):
27747         * tools/gst-xmlinspect.c: (print_element_list),
27748         (print_plugin_info), (main):
27749         Removed plugable schedulers.
27750         Removed Scheduler/Manager from elements.
27751         Removed gsttypes.h, rearranged includes.
27752         Removed dependency pad<->element, element<>pipeline, and
27753         various others,  fix includes.
27754         implement gst_pad_get_parent() with gst_object_get_parent()
27755         Make GstTask sefcontained.
27756         Fix _get_state() on GstBin, it did not return ASYNC with a 0
27757         timeout.
27758         Fix endless loop in iterator_fold_with_resync.
27759
27760
27761 2005-07-18  Wim Taymans  <wim@fluendo.com>
27762
27763         * gst/Makefile.am:
27764         * gst/gstarch.h:
27765         Remove old file.
27766
27767 2005-07-18  Wim Taymans  <wim@fluendo.com>
27768
27769         * gst/Makefile.am:
27770         No more cothreads.h
27771
27772 2005-07-18  Wim Taymans  <wim@fluendo.com>
27773
27774         * gst/cothreads.c:
27775         * gst/cothreads.h:
27776         Let's remove these.
27777
27778 2005-07-18  Wim Taymans  <wim@fluendo.com>
27779
27780         * docs/design/part-dynamic.txt:
27781         * docs/design/part-events.txt:
27782         * docs/design/part-seeking.txt:
27783         Some more docs in the works.
27784
27785         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27786         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
27787         (gst_base_transform_setcaps), (gst_base_transform_get_size),
27788         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
27789         (gst_base_transform_handle_buffer),
27790         (gst_base_transform_sink_activate_push),
27791         (gst_base_transform_src_activate_pull),
27792         (gst_base_transform_set_passthrough),
27793         (gst_base_transform_is_passthrough):
27794         Refcounting fixes.
27795
27796         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
27797         Cleanups.
27798
27799         * gst/gstevent.c: (gst_event_finalize):
27800         Set SRC to NULL.
27801
27802         * gst/gstutils.c: (gst_element_unlink),
27803         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
27804         (gst_pad_proxy_setcaps):
27805         * gst/gstutils.h:
27806         Add _get_parent_element() to get a pads parent as an element.
27807
27808 2005-07-18  Wim Taymans  <wim@fluendo.com>
27809
27810         * check/gst/gstbin.c: (GST_START_TEST):
27811         Remove bogus test.
27812
27813 2005-07-18  Wim Taymans  <wim@fluendo.com>
27814
27815         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
27816         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
27817         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
27818         (gst_base_sink_event), (gst_base_sink_do_sync),
27819         (gst_base_sink_chain), (gst_base_sink_loop),
27820         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
27821         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
27822         Refcounting fixes.
27823         Fix logic for returning ASYNC when not prerolled.
27824
27825 2005-07-18  Wim Taymans  <wim@fluendo.com>
27826
27827         * gst/gstqueue.c: (gst_queue_handle_sink_event):
27828         Fix nasty refcount bug.
27829
27830 2005-07-16 Philippe Khalaf <burger@speedy.org>
27831
27832         * gst/elements/gstfdsrc.c:
27833         * gst/elements/gstfdsrc.h:
27834         * gst/elements/gstelements.c:
27835         * gst/elements/Makefile.am:
27836         Ported fdsrc to 0.9.
27837
27838 2005-07-16  Wim Taymans  <wim@fluendo.com>
27839
27840         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27841         (gst_base_sink_do_sync):
27842         Fix compile error.
27843
27844 2005-07-16  Wim Taymans  <wim@fluendo.com>
27845
27846         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27847         (gst_base_sink_event), (gst_base_sink_get_times),
27848         (gst_base_sink_do_sync), (gst_base_sink_change_state):
27849         * gst/base/gstbasesink.h:
27850         Store and use discont values when syncing buffers as described
27851         in design docs.
27852         
27853         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
27854         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
27855         (gst_base_src_activate_push):
27856         Push discont event when starting.
27857
27858         * gst/elements/gstidentity.c: (gst_identity_transform):
27859         Small cleanups.
27860
27861         * gst/gstbin.c: (gst_bin_change_state):
27862         Small cleanups in base_time  distribution.
27863
27864         * gst/gstelement.c: (gst_element_set_base_time),
27865         (gst_element_get_base_time), (gst_element_change_state):
27866         * gst/gstelement.h:
27867         Added methods for the base_time of the element.
27868         Some MT fixes.
27869
27870         * gst/gstpipeline.c: (gst_pipeline_send_event),
27871         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
27872         (gst_pipeline_get_last_stream_time):
27873         * gst/gstpipeline.h:
27874         MT fixes.
27875         Handle seeking as described in design doc, remove stream_time
27876         hack.
27877         Cleanups clock and stream_time selection code. Added accessors
27878         for the stream_time.
27879         
27880
27881 2005-07-16  Andy Wingo  <wingo@pobox.com>
27882
27883         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
27884         (#305291).
27885
27886 2005-07-16  Wim Taymans  <wim@fluendo.com>
27887
27888         * check/gst/gstbin.c: (GST_START_TEST):
27889         Make elements silent as the deep_notify refs the
27890         parent, which might make the test fail.
27891
27892         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
27893         Don't hold the lock for too long.
27894
27895 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
27896
27897         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
27898           Don't unref the caps we passed to gst_caps_make_writable() after
27899           passing them. gst_caps_make_writable() will do that for us.
27900
27901 2005-07-15  Andy Wingo  <wingo@pobox.com>
27902
27903         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
27904         (#157311).
27905
27906         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
27907         own marshalling function for the handoff signal. Properly type the
27908         buffer as a buffer. Fixes some warnings. Should do a more general
27909         solution.
27910         (gst_identity_class_init): Plug into the right marshaller.
27911
27912 2005-07-15  Wim Taymans  <wim@fluendo.com>
27913
27914         * docs/design/part-TODO.txt:
27915         * docs/design/part-clocks.txt:
27916         * docs/design/part-element-sink.txt:
27917         * docs/design/part-events.txt:
27918         * docs/design/part-gstpipeline.txt:
27919         Updated docs, mostly DISCONT related.
27920
27921 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
27922
27923         * docs/pwg/building-pads.xml:
27924           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
27925
27926 2005-07-15  Andy Wingo  <wingo@pobox.com>
27927
27928         * tools/gst-typefind.c: Update, add copyright block.
27929
27930         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
27931         Normalize and truncate caps before fixation.
27932
27933         * gst/gstcaps.h:
27934         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
27935         discards all but the first structure from its argument.
27936
27937 2005-07-15  Wim Taymans  <wim@fluendo.com>
27938
27939         * gst/base/gstbasetransform.c: (gst_base_transform_init),
27940         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
27941         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27942         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
27943         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
27944         (gst_base_transform_chain), (gst_base_transform_change_state),
27945         (gst_base_transform_set_passthrough),
27946         (gst_base_transform_is_passthrough):
27947         * gst/base/gstbasetransform.h:
27948         Make passthrough work using the bufferpools.
27949         Changed API a bit, subclasses have to write into a buffer
27950         provided by the base class.
27951         More debug info in nego functions.
27952         
27953         * gst/elements/gstidentity.c: (gst_identity_init),
27954         (gst_identity_transform):
27955         Port to new base class.
27956
27957 2005-07-15  Wim Taymans  <wim@fluendo.com>
27958
27959         * gst/gstmessage.c: (gst_message_new_state_changed):
27960         * tools/gst-launch.c: (event_loop), (main):
27961         Totally dump messages in -launch with the -m option.
27962         Fix message name for State messages,
27963
27964 2005-07-14  Wim Taymans  <wim@fluendo.com>
27965
27966         * gst/base/gstbasesrc.c: (gst_base_src_loop):
27967         Post error messages on errors.
27968
27969 2005-07-14  Wim Taymans  <wim@fluendo.com>
27970
27971         * gst/gstcaps.c: (gst_caps_do_simplify):
27972         Remove debug info.
27973
27974         * gst/gsterror.h:
27975         Define error for stream stopped.
27976
27977         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
27978         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
27979         Do proper return values.
27980
27981         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27982         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
27983         (gst_pad_get_range):
27984         Better return values.
27985
27986         * gst/gstpad.h:
27987         Reorganise return values, add macro to check for fatal errors.
27988
27989         * gst/gstqueue.c: (gst_queue_chain):
27990         Return proper GstFlowReturn values,
27991
27992 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
27993
27994         * docs/gst/gstreamer-sections.txt:
27995         * docs/gst/gstreamer.types:
27996         * docs/gst/tmpl/gst.sgml:
27997         * docs/gst/tmpl/gstbasesink.sgml:
27998         * docs/gst/tmpl/gstbasesrc.sgml:
27999         * docs/gst/tmpl/gstbasetransform.sgml:
28000         * docs/gst/tmpl/gstbin.sgml:
28001         * docs/gst/tmpl/gstbuffer.sgml:
28002         * docs/gst/tmpl/gstcaps.sgml:
28003         * docs/gst/tmpl/gstclock.sgml:
28004         * docs/gst/tmpl/gstcompat.sgml:
28005         * docs/gst/tmpl/gstconfig.sgml:
28006         * docs/gst/tmpl/gstelement.sgml:
28007         * docs/gst/tmpl/gstelementdetails.sgml:
28008         * docs/gst/tmpl/gstelementfactory.sgml:
28009         * docs/gst/tmpl/gstenumtypes.sgml:
28010         * docs/gst/tmpl/gsterror.sgml:
28011         * docs/gst/tmpl/gstevent.sgml:
28012         * docs/gst/tmpl/gstfakesink.sgml:
28013         * docs/gst/tmpl/gstfakesrc.sgml:
28014         * docs/gst/tmpl/gstfilesink.sgml:
28015         * docs/gst/tmpl/gstfilesrc.sgml:
28016         * docs/gst/tmpl/gstfilter.sgml:
28017         * docs/gst/tmpl/gstformat.sgml:
28018         * docs/gst/tmpl/gstghostpad.sgml:
28019         * docs/gst/tmpl/gstimplementsinterface.sgml:
28020         * docs/gst/tmpl/gstindex.sgml:
28021         * docs/gst/tmpl/gstindexfactory.sgml:
28022         * docs/gst/tmpl/gstinfo.sgml:
28023         * docs/gst/tmpl/gstiterator.sgml:
28024         * docs/gst/tmpl/gstmacros.sgml:
28025         * docs/gst/tmpl/gstmemchunk.sgml:
28026         * docs/gst/tmpl/gstminiobject.sgml:
28027         * docs/gst/tmpl/gstobject.sgml:
28028         * docs/gst/tmpl/gstpad.sgml:
28029         * docs/gst/tmpl/gstpadtemplate.sgml:
28030         * docs/gst/tmpl/gstparse.sgml:
28031         * docs/gst/tmpl/gstpipeline.sgml:
28032         * docs/gst/tmpl/gstplugin.sgml:
28033         * docs/gst/tmpl/gstpluginfeature.sgml:
28034         * docs/gst/tmpl/gstquery.sgml:
28035         * docs/gst/tmpl/gstqueue.sgml:
28036         * docs/gst/tmpl/gstregistry.sgml:
28037         * docs/gst/tmpl/gstregistrypool.sgml:
28038         * docs/gst/tmpl/gstscheduler.sgml:
28039         * docs/gst/tmpl/gstschedulerfactory.sgml:
28040         * docs/gst/tmpl/gststructure.sgml:
28041         * docs/gst/tmpl/gstsystemclock.sgml:
28042         * docs/gst/tmpl/gsttaglist.sgml:
28043         * docs/gst/tmpl/gsttagsetter.sgml:
28044         * docs/gst/tmpl/gsttrace.sgml:
28045         * docs/gst/tmpl/gsttrashstack.sgml:
28046         * docs/gst/tmpl/gsttypefind.sgml:
28047         * docs/gst/tmpl/gsttypefindfactory.sgml:
28048         * docs/gst/tmpl/gsttypes.sgml:
28049         * docs/gst/tmpl/gsturihandler.sgml:
28050         * docs/gst/tmpl/gsturitype.sgml:
28051         * docs/gst/tmpl/gstutils.sgml:
28052         * docs/gst/tmpl/gstvalue.sgml:
28053         * docs/gst/tmpl/gstversion.sgml:
28054         * docs/gst/tmpl/gstxml.sgml:
28055         * docs/libs/tmpl/gstcontrol.sgml:
28056         * docs/libs/tmpl/gstdataprotocol.sgml:
28057         * docs/libs/tmpl/gstdparam.sgml:
28058         * docs/libs/tmpl/gstdplinint.sgml:
28059         * docs/libs/tmpl/gstdpman.sgml:
28060         * docs/libs/tmpl/gstdpsmooth.sgml:
28061         * docs/libs/tmpl/gstgetbits.sgml:
28062         * docs/libs/tmpl/gstunitconvert.sgml:
28063         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
28064         (gst_push_src_base_init), (gst_push_src_class_init),
28065         (gst_push_src_init), (gst_push_src_create):
28066         * gst/base/gstpushsrc.h:
28067         * gst/elements/gstelements.c:
28068         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
28069         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
28070         (gst_fake_sink_init), (gst_fake_sink_set_property),
28071         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
28072         (gst_fake_sink_event), (gst_fake_sink_preroll),
28073         (gst_fake_sink_render), (gst_fake_sink_change_state):
28074         * gst/elements/gstfakesink.h:
28075         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
28076         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
28077         (gst_fake_src_base_init), (gst_fake_src_class_init),
28078         (gst_fake_src_init), (gst_fake_src_event_handler),
28079         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
28080         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
28081         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
28082         (gst_fake_src_create_buffer), (gst_fake_src_create),
28083         (gst_fake_src_start), (gst_fake_src_stop):
28084         * gst/elements/gstfakesrc.h:
28085         * gst/elements/gstfilesink.c: (_do_init),
28086         (gst_file_sink_base_init), (gst_file_sink_class_init),
28087         (gst_file_sink_init), (gst_file_sink_dispose),
28088         (gst_file_sink_set_location), (gst_file_sink_set_property),
28089         (gst_file_sink_get_property), (gst_file_sink_open_file),
28090         (gst_file_sink_close_file), (gst_file_sink_query),
28091         (gst_file_sink_event), (gst_file_sink_render),
28092         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
28093         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
28094         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
28095         * gst/elements/gstfilesink.h:
28096         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
28097         (gst_file_src_class_init), (gst_file_src_init),
28098         (gst_file_src_finalize), (gst_file_src_set_location),
28099         (gst_file_src_set_property), (gst_file_src_get_property),
28100         (gst_file_src_map_region), (gst_file_src_map_small_region),
28101         (gst_file_src_create_mmap), (gst_file_src_create_read),
28102         (gst_file_src_create), (gst_file_src_is_seekable),
28103         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
28104         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
28105         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
28106         (gst_file_src_uri_handler_init):
28107         * gst/elements/gstfilesrc.h:
28108           more autistic cleanliness in functions/names/defines
28109
28110 2005-07-13  Andy Wingo  <wingo@pobox.com>
28111
28112         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
28113         source couldn't negotiate.
28114
28115         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
28116         connections again.
28117
28118         * gst/gstutils.h:
28119         * gst/gstutils.c (gst_element_link_pads_filtered): New old
28120         function. I am channeling Hades. Put your boots on suckers!!!
28121
28122 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
28123
28124         * testsuite/caps/Makefile.am:
28125         * testsuite/caps/value_compare.c:
28126         * testsuite/caps/value_intersect.c:
28127         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
28128           move two testsuite apps over to the check dir
28129
28130 2005-07-12  Wim Taymans  <wim@fluendo.com>
28131
28132         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
28133         Added more debug info in the negotiate process.
28134
28135         * gst/gstmessage.h:
28136         Prepare for segment playback.
28137
28138         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
28139         Better debugging.
28140
28141         * gst/gstutils.c:
28142         Some more docs.
28143
28144         * tools/gst-launch.c: (main):
28145         NULL pipeline on errors.
28146
28147 2005-07-12  Andy Wingo  <wingo@pobox.com>
28148
28149         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
28150         not it comes from a malloc region. Make sure our copy gets freed.
28151
28152 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
28153
28154         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
28155         * check/gst/gstmessage.c: (GST_START_TEST):
28156         * check/gst/gststructure.c: (GST_START_TEST),
28157         (gst_structure_suite), (main):
28158           more testing
28159         * gst/gstelement.c: (gst_element_message_full):
28160           clean up GError and debug string now that they get copied
28161         * gst/gstmessage.c: (gst_message_new_error),
28162         (gst_message_new_warning), (gst_message_parse_error),
28163         (gst_message_parse_warning):
28164           use GST_TYPE_G_ERROR for structure_new, and take copies of
28165           arguments, so that we don't mess up refcounting
28166
28167 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
28168
28169         * check/Makefile.am:
28170           add per-test valgrind targets
28171         * check/gst-libs/gdp.c: (GST_START_TEST),
28172         (gst_data_protocol_suite), (main):
28173           clean up
28174
28175 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
28176
28177         * check/Makefile.am:
28178           instate more valgrindable tests
28179         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28180         (GST_START_TEST), (fakesrc_suite):
28181         * check/gst/gstpad.c: (GST_START_TEST):
28182         * check/gst/gststructure.c: (GST_START_TEST):
28183           fix test leaks
28184         * docs/gst/tmpl/gstminiobject.sgml:
28185         * gst/gstpad.c: (gst_pad_finalize):
28186           fix the static mutex leak
28187
28188 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28189
28190         * check/Makefile.am:
28191           add two more tests for valgrinding
28192         * check/gst/gstvalue.c: (GST_START_TEST):
28193           test refcount of deserialized buffer, found a leak
28194         * docs/gst/gstreamer-docs.sgml:
28195         * docs/gst/gstreamer-sections.txt:
28196         * docs/gst/gstreamer.types:
28197         * docs/gst/tmpl/gstminiobject.sgml:
28198           add miniobject to docs
28199         * gst/gstminiobject.c:
28200           add some docs
28201         * gst/gstvalue.c: (gst_value_deserialize_buffer),
28202         (gst_string_unwrap):
28203           fix a hard-to-find invalid write for one of the tests
28204           fix a leak for deserialized buffers
28205
28206 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28207
28208         * docs/pwg/advanced-events.xml:
28209         * docs/pwg/advanced-request.xml:
28210         * docs/pwg/advanced-scheduling.xml:
28211         * docs/pwg/appendix-porting.xml:
28212         * docs/pwg/building-boiler.xml:
28213         * docs/pwg/intro-preface.xml:
28214         * docs/pwg/other-ntoone.xml:
28215           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
28216           of example code and explanation for pad activation, loop() and
28217           getrange() functions and a bit more. Remove old comments pointing
28218           to loop-functions.
28219         * examples/pwg/Makefile.am:
28220           Add loop/getrange examples.
28221
28222 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28223
28224         * configure.ac:
28225           check for valgrind binary + some fixes
28226         * check/gst.supp:
28227           valgrind suppressions for the tests
28228         * check/Makefile.am:
28229           add a valgrind: target that valgrinds the unit tests
28230         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
28231         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
28232         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28233         * check/gst/gstghostpad.c:
28234           added some cleanup
28235         * check/gst/gstdata.c:
28236           removed
28237         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
28238         (thread_unref), (gst_mini_object_suite), (main):
28239           added
28240         * gst/gst.c: (gst_deinit):
28241         * gst/gst.h:
28242           add a method to clean up.
28243         * gst/gstsystemclock.c: (gst_system_clock_dispose),
28244         (gst_system_clock_obtain):
28245           allow for disposing the system clock.
28246         * tools/gst-launch.c: (main):
28247           deinit
28248
28249 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28250
28251         * docs/gst/tmpl/gstbasesrc.sgml:
28252         * docs/gst/tmpl/gstfakesrc.sgml:
28253         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28254         (gst_base_src_init), (gst_base_src_set_property),
28255         (gst_base_src_get_property), (gst_base_src_get_range),
28256         (gst_base_src_start):
28257         * gst/base/gstbasesrc.h:
28258           add num-buffers property
28259         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28260         (gst_fakesrc_init), (gst_fakesrc_set_property),
28261         (gst_fakesrc_get_property), (gst_fakesrc_create),
28262         (gst_fakesrc_start):
28263           remove num-buffers property
28264
28265 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28266
28267         * docs/gst/gstreamer-sections.txt:
28268         * docs/gst/tmpl/gstbasesink.sgml:
28269         * docs/gst/tmpl/gstbasesrc.sgml:
28270         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
28271         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
28272         (gst_base_sink_finalize), (gst_base_sink_set_clock),
28273         (gst_base_sink_set_property), (gst_base_sink_get_property),
28274         (gst_base_sink_handle_object), (gst_base_sink_event),
28275         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
28276         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
28277         (gst_base_sink_loop), (gst_base_sink_deactivate),
28278         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
28279         (gst_base_sink_change_state):
28280         * gst/base/gstbasesink.h:
28281         * gst/base/gstbasesrc.h:
28282         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
28283         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
28284         (gst_filesink_init):
28285           more macro splitting
28286
28287 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28288
28289         * gst/gstelement.c: (gst_element_get_bus):
28290           add debug
28291         * tools/gst-launch.c: (check_intr), (event_loop):
28292           fix bus leaks
28293
28294 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28295
28296         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
28297           fix a caps leak
28298
28299 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28300
28301         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28302         (gst_base_src_finalize):
28303           add finalize method and clean up properly
28304         * gst/gstpipeline.c: (gst_pipeline_dispose):
28305           add debug
28306
28307 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28308
28309         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
28310         (gst_bin_suite):
28311           add more things to check
28312         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
28313         * gst/gstelement.c:
28314           more debug
28315
28316 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28317
28318         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28319         (GST_START_TEST), (fakesrc_suite):
28320         * check/gst-libs/gdp.c: (GST_START_TEST):
28321         * check/gst/gst.c: (GST_START_TEST):
28322         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
28323         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28324         * check/gst/gstbus.c: (GST_START_TEST):
28325         * check/gst/gstcaps.c: (GST_START_TEST):
28326         * check/gst/gstdata.c: (GST_START_TEST):
28327         * check/gst/gstelement.c: (GST_START_TEST):
28328         * check/gst/gstghostpad.c: (GST_START_TEST):
28329         * check/gst/gstiterator.c: (GST_START_TEST):
28330         * check/gst/gstmessage.c: (GST_START_TEST):
28331         * check/gst/gstobject.c: (GST_START_TEST):
28332         * check/gst/gstpad.c: (GST_START_TEST):
28333         * check/gst/gststructure.c: (GST_START_TEST):
28334         * check/gst/gstsystemclock.c: (GST_START_TEST),
28335         (gst_systemclock_suite):
28336         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
28337         * check/gst/gstvalue.c: (GST_START_TEST):
28338         * check/pipelines/cleanup.c: (GST_START_TEST):
28339         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
28340         * check/states/sinks.c: (GST_START_TEST):
28341         * check/gstcheck.c: (gst_check_init):
28342         * check/gstcheck.h:
28343           add debugging category
28344           use GST_START_TEST now, so we add a debug line
28345
28346 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28347
28348         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
28349           add test for state change message on a bin
28350         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
28351           add another test
28352         * gst/gstbin.c: (gst_bin_init):
28353         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
28354         * gst/gstelement.c: (gst_element_post_message),
28355         (gst_element_set_state):
28356         * gst/gstelementfactory.c: (gst_element_factory_create):
28357         * gst/gstmessage.c: (gst_message_new):
28358         * gst/gstscheduler.c:
28359           various debugging additions and cleanups
28360
28361 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28362
28363         * check/Makefile.am:
28364         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
28365         (main):
28366           adding tests for elements
28367         * gst/gstelement.c: (gst_element_dispose):
28368
28369 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28370
28371         * gst/registries/gstlibxmlregistry.c: (load_feature):
28372           plug more leaks.  A simple gst_init() now is leakfree, yay.
28373
28374 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28375
28376         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
28377         (gst_xml_registry_load):
28378           plug another memleak
28379
28380 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28381
28382         * configure.ac:
28383           use GST_SET_ERROR_CFLAGS
28384         * docs/faq/cvs.xml:
28385           change to ERROR_CFLAGS
28386
28387 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28388
28389         * configure.ac:
28390           make GST_ERROR_CFLAGS overridable and re-enable Werror
28391         * docs/faq/cvs.xml:
28392           add a note about error CFLAGS
28393         * docs/gst/tmpl/gstfakesrc.sgml:
28394         * gst/elements/gstfakesrc.c:
28395           comment out some unused code
28396         * gst/gst.c: (split_and_iterate):
28397         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
28398         (load_feature):
28399           plug some memleaks
28400
28401 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
28402
28403         * common/Makefile.am:
28404         * common/gtk-doc.mak:
28405         * docs/gst/Makefile.am:
28406           factor out gtk-doc.mak
28407
28408 2005-07-07  Wim Taymans  <wim@fluendo.com>
28409
28410         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
28411         (gst_thread_scheduler_dispose):
28412         Unlock the STREAM_LOCK completely.
28413
28414 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
28415
28416         * check/Makefile.am:
28417         * check/elements/.cvsignore:
28418         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28419         (START_TEST), (fakesrc_suite), (main):
28420         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28421         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
28422         (gst_fakesrc_create), (gst_fakesrc_start):
28423         * gst/elements/gstfakesrc.h:
28424           adding a first element test
28425
28426 2005-07-07  Andy Wingo  <wingo@pobox.com>
28427
28428         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
28429         debug message.
28430
28431 2005-07-07  Wim Taymans  <wim@fluendo.com>
28432
28433         * gst/gstquery.c:
28434         * gst/gstquery.h:
28435         Remove old types
28436
28437 2005-07-07  Wim Taymans  <wim@fluendo.com>
28438
28439         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
28440         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
28441         Allow subclasses to implement their own negotiation.
28442
28443 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28444
28445         * docs/design/part-gstbin.txt:
28446         * docs/design/part-gstpipeline.txt:
28447           Update design notes to reflect the movement of
28448           responsibility for bus handling from GstPipeline to
28449           GstBin
28450
28451 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28452
28453         * configure.ac:
28454           Remove unnecessary queue2/3/4 examples.
28455
28456 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28457
28458         * examples/Makefile.am:
28459         * examples/helloworld/helloworld.c: (event_loop), (main):
28460         * examples/queue/queue.c: (event_loop), (main):
28461         * examples/queue2/queue2.c: (main):
28462           Update a couple of the examples to work again.
28463
28464         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28465         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
28466          Spelling corrections and extra debug.
28467         
28468         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
28469         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
28470         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
28471         * gst/gstbin.h:
28472         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
28473         (gst_pipeline_change_state):
28474         * gst/gstpipeline.h:
28475           Move the bus handler for children to the GstBin, and create a
28476           separate bus for receiving messages from children to the one the
28477           bus sends 'upwards' on.
28478
28479 2005-07-06  Wim Taymans  <wim@fluendo.com>
28480
28481         * gst/base/README:
28482         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28483         (gst_base_sink_handle_object), (gst_base_sink_loop),
28484         (gst_base_sink_change_state):
28485         * gst/base/gstbasesink.h:
28486         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28487         (gst_base_src_init), (gst_base_src_setcaps),
28488         (gst_base_src_getcaps), (gst_base_src_loop),
28489         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
28490         (gst_base_src_start), (gst_base_src_change_state):
28491         * gst/base/gstbasesrc.h:
28492         Make basesrc negotiate.
28493         Handle the case where preroll fails in basesink.
28494         Update README.
28495
28496 2005-07-06  Wim Taymans  <wim@fluendo.com>
28497
28498         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
28499         Implement the fixate function.
28500         Clean up acceptcaps.
28501
28502 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28503
28504         * docs/pwg/building-filterfactory.xml:
28505         * docs/pwg/pwg.xml:
28506           Remove never-written filter-factory chapter; I'll add the various
28507           base classes to part 4 ("other element types") later on.
28508
28509 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28510
28511         * docs/pwg/advanced-negotiation.xml:
28512         * docs/pwg/building-boiler.xml:
28513         * docs/pwg/building-pads.xml:
28514         * docs/pwg/pwg.xml:
28515         * examples/pwg/Makefile.am:
28516           Add a chapter on caps negotiation, simplify the original code
28517           samples a bit w.r.t. caps negotiation, add link to the advanced
28518           section. Add a bunch of examples showing different use cases of
28519           different types of caps negotiation. Upstream renegotiation isn't
28520           fully documented yet since nobody knows how that works.
28521
28522 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
28523
28524         * check/gst/gstpad.c:
28525         * check/gstcheck.c:
28526         * gst/gstpad.c: (gst_pad_get_internal_links_default):
28527           if pad has no parent, return NULL as list of internal links
28528
28529 2005-07-05  Andy Wingo  <wingo@pobox.com>
28530
28531         * gst/elements/gstfilesrc.c:
28532         * gst/elements/gstfakesrc.c: 
28533         * gst/base/gstpushsrc.c:
28534         * gst/base/gstbasesrc.h: 
28535         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
28536         
28537 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
28538
28539         * Makefile.am:
28540           better report generation target (lcov needs a patch)
28541
28542 2005-07-05  Andy Wingo  <wingo@pobox.com>
28543
28544         * gst/elements, testsuite: Null if we got it...
28545
28546 2005-07-05  Wim Taymans  <wim@fluendo.com>
28547
28548         * configure.ac:
28549         * libs/gst/dataprotocol/Makefile.am:
28550         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
28551         * libs/gst/dataprotocol/dataprotocol.h:
28552         * pkgconfig/Makefile.am:
28553         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
28554         * pkgconfig/gstreamer-dataprotocol.pc.in:
28555         Ported dataprotol to 0.9. 
28556         Added pkgconfig files.
28557
28558 2005-07-05  Andy Wingo  <wingo@pobox.com>
28559
28560         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
28561         Default to returning TRUE for the case when tranform_caps returns
28562         a fixed caps, like for identity or volume.
28563
28564         * check/gst/gstbus.c (pound_bus_with_messages): 
28565         * check/gst/gstmessage.c (START_TEST): 
28566         * check/pipelines/simple_launch_lines.c (got_handoff): Application
28567         message API change.
28568
28569         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
28570         logic weaks here: always run transform_caps, trying passthrough
28571         operation only if the original caps intersects with the transform.
28572
28573         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
28574         source and sink caps.
28575
28576         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
28577         Intersect the peer caps with the pad template before going into
28578         transform_caps.
28579         (gst_base_transform_transform_caps): More debugging.
28580
28581         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
28582         src argument.
28583
28584 2005-07-04  Edward Hervey  <edward@fluendo.com>
28585
28586         * gst/gstutils.c:
28587         * gst/gstutils.h:
28588         (gst_pad_add_*_probe): now returns the signal id for better wrapping
28589         in bindings.
28590
28591 2005-07-04  Andy Wingo  <wingo@pobox.com>
28592
28593         * check/gst/gstpad.c: Only set explicit caps on pads.
28594
28595 2005-07-01  Andy Wingo  <wingo@pobox.com>
28596
28597         * tests/network-clock.scm: Commentary update.
28598
28599         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
28600         Didn't really make sense, not implementable with basetransform,
28601         etc.
28602         (gst_identity_transform): Unref inbuf via make_writable. Feeble
28603         attempt at implementing the sync property, needs an unlock method.
28604
28605         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
28606         New func, by default returns the same caps (the identity
28607         transformation).
28608         (gst_base_transform_getcaps): Uses transform_caps to return
28609         something sensible.
28610         (gst_base_transform_setcaps): Complicated logic to get caps on
28611         both pads, even if they are different, and to call set_caps once
28612         for every time both pads get their caps set.
28613         (gst_base_transform_handle_buffer): Give the ref to the transform
28614         function. Allows in-place modification of the buffer.
28615
28616         * gst/base/gstbasetransform.h (transform_caps): New class method.
28617         Given caps on one side, what can I do on the other.
28618         (set_caps): Take two caps, one for each side of the element.
28619
28620         * gst/gstpad.h:
28621         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
28622         caps in place. This is safe because we can check the mutability of
28623         the caps, and a good idea because fixate functions are just called
28624         as a matter of last resort. (Not actually implemented.)
28625         (gst_pad_set_caps): If the caps we're setting is actually the same
28626         as the existing pad caps, just update the pointer without calling
28627         setcaps. Assert that caps is either NULL or fixed, as per the
28628         docs.
28629
28630         * gst/gstghostpad.c: Update for fixate changes.
28631
28632 2005-07-02  Andy Wingo  <wingo@pobox.com>
28633
28634         * gst/gstcaps.c:
28635         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
28636         two refcounts makes it immutable, which is enough. Doc more.
28637
28638 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
28639
28640         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
28641           Put the mini_object into GValue as a mini_object,
28642           not a gpointer, since that's how we declared
28643           the signal.
28644
28645 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28646
28647         * examples/pwg/Makefile.am:
28648           Fix buildbot again.
28649
28650 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28651
28652         * docs/pwg/building-testapp.xml:
28653           Add extra check.
28654         * examples/pwg/Makefile.am:
28655           Fix buildbot.
28656
28657 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28658
28659         * configure.ac:
28660         * examples/Makefile.am:
28661         * examples/pwg/Makefile.am:
28662         * examples/pwg/extract.pl:
28663           Enable building the PWG examples.
28664         * docs/pwg/advanced-interfaces.xml:
28665           Add URI interface stub.
28666         * docs/pwg/advanced-types.xml:
28667         * docs/pwg/other-autoplugger.xml:
28668         * docs/pwg/appendix-porting.xml:
28669         * docs/pwg/pwg.xml:
28670           Add porting guide (mostly stubs), remove autoplugging (see ADM).
28671         * docs/pwg/building-boiler.xml:
28672         * docs/pwg/building-chainfn.xml:
28673         * docs/pwg/building-pads.xml:
28674         * docs/pwg/building-props.xml:
28675         * docs/pwg/building-state.xml:
28676         * docs/pwg/building-testapp.xml:
28677           Update the building-*.xml parts for 0.9 changes. All examples
28678           code blocks compile in examples/pwg/*.
28679
28680 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28681
28682         * docs/manual/advanced-autoplugging.xml:
28683         * docs/manual/appendix-checklist.xml:
28684         * docs/manual/appendix-integration.xml:
28685         * docs/manual/highlevel-components.xml:
28686           Fix playbin/decodebin examples, update docs a bit, mention bus
28687           instead of signals in various places, mention kmplayer and
28688           kaffeine since they have a working GStreamer backend in the KDE
28689           section.
28690
28691 2005-06-30  Wim Taymans  <wim@fluendo.com>
28692
28693         * CHANGES-0.9:
28694         * docs/design/draft-ghostpads.txt:
28695         * docs/design/draft-push-pull.txt:
28696         * docs/design/draft-query.txt:
28697         * docs/design/part-TODO.txt:
28698         * docs/design/part-query.txt:
28699         Added CHANGES-0.9 doc, updated status of other docs.
28700         
28701         * gst/gstquery.h:
28702         Remove "hmm" macro
28703
28704 2005-06-30  Wim Taymans  <wim@fluendo.com>
28705
28706         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28707         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
28708         (gst_base_sink_change_state):
28709         * gst/base/gstbasesink.h:
28710         Some tweaks, only EOS and a buffer complete a preroll.
28711
28712 2005-06-30  Andy Wingo  <wingo@pobox.com>
28713
28714         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
28715         activate_push down to the internal pad as well.
28716
28717 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
28718
28719         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28720
28721         * gst/gsttaginterface.c:
28722           Some documentation fixes (#307394 and #307397).
28723
28724 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
28725
28726         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28727
28728         * gst/gstvalue.c: (gst_value_intersect_list):
28729           Fix memleak (#309125).
28730
28731 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28732
28733         * docs/manual/advanced-dataaccess.xml:
28734           Fix fakesrc example to compile; doesn't work, bug somewhere...?
28735         * docs/manual/basics-pads.xml:
28736           Add reference for filtered caps to above chapter.
28737
28738 2005-06-30  Wim Taymans  <wim@fluendo.com>
28739
28740         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
28741         (gst_bin_change_state):
28742         Probes are gone.
28743         Lame attempt at making the state change function a bit
28744         more readable.
28745
28746 2005-06-30  Wim Taymans  <wim@fluendo.com>
28747
28748         * docs/design/part-clocks.txt:
28749         * docs/design/part-element-sink.txt:
28750         * docs/design/part-events.txt:
28751         * docs/design/part-preroll.txt:
28752         * docs/design/part-states.txt:
28753         Some more tweeks and additions to the docs.
28754
28755 2005-06-30  Wim Taymans  <wim@fluendo.com>
28756
28757         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28758         (default_have_data), (gst_pad_class_init), (gst_pad_init),
28759         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
28760         (gst_pad_check_pull_range), (gst_pad_get_range),
28761         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
28762         * gst/gstpad.h:
28763         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
28764         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
28765         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
28766         (gst_pad_remove_buffer_probe):
28767         Removed atomic operations, use existing LOCK.
28768         Move exception handling out of main code path.
28769
28770 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28771
28772         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28773         (silly_return_true_function), (gst_pad_class_init),
28774         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
28775         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
28776         (gst_pad_send_event):
28777           Fix accumulator, add default value by using _emitv() instead
28778           of _emit() for signal emission.
28779
28780 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28781
28782         * docs/manual/advanced-dataaccess.xml:
28783         * examples/manual/Makefile.am:
28784           Add probe example.
28785         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
28786           Make work (??).
28787
28788 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
28789
28790         * gst/elements/gstfilesink.c: (gst_filesink_render):
28791           Simplify code so that we don't have to handle short
28792           writes and return GST_FLOW_ERROR if an error occured.
28793
28794 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28795
28796         * docs/gst/gstreamer-docs.sgml:
28797           Remove probes more.
28798
28799 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28800
28801         * docs/gst/gstreamer-sections.txt:
28802         * docs/gst/tmpl/gstpad.sgml:
28803         * docs/gst/tmpl/gstprobe.sgml:
28804         * gst/Makefile.am:
28805         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28806         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
28807         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
28808         (gst_pad_push_event), (gst_pad_send_event):
28809         * gst/gstpad.h:
28810         * gst/gstutils.c: (gst_pad_add_data_probe),
28811         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
28812         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
28813         (gst_pad_remove_buffer_probe):
28814         * gst/gstutils.h:
28815           Remove old probes, add new g-signal-based probes and some utility
28816           functions.
28817
28818 2005-06-29  Edward Hervey  <edward@fluendo.com>
28819
28820         * gst/gstelementfactory.c:
28821         * gst/gstutils.h:
28822         * gst/gstutils.c:
28823         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
28824         the definition to the header file.
28825
28826 2005-06-29  Andy Wingo  <wingo@pobox.com>
28827
28828         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
28829         plugins from the source directory.
28830
28831 2005-06-29  Wim Taymans  <wim@fluendo.com>
28832
28833         * docs/gst/tmpl/gstbuffer.sgml:
28834         * docs/gst/tmpl/gstclock.sgml:
28835         Some fixings for blantently wrong text.
28836
28837 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
28838
28839         * check/Makefile.am:
28840         * gst/gst.c: (add_path_func), (init_pre):
28841         * gst/gstregistry.c: (gst_registry_add_path):
28842           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
28843           only scan the GST_PLUGIN_PATH locations, and not add
28844           system locations
28845
28846 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
28847
28848         * docs/gst/gstreamer-sections.txt:
28849         * docs/gst/tmpl/gstbasesrc.sgml:
28850         * gst/gstelement.c:
28851         * gst/gstelement.h:
28852         * gst/gstevent.c:
28853         * gst/gstutils.c:
28854           doc fixes
28855
28856 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28857
28858         * docs/manual/advanced-autoplugging.xml:
28859           Fix autoplugging example.
28860
28861 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28862
28863         * docs/manual/advanced-autoplugging.xml:
28864         * docs/manual/mime-world.fig:
28865           Try to get autoplugging working, fix type detection. Fix text
28866           in hello-world image.
28867
28868 2005-06-29  Wim Taymans  <wim@fluendo.com>
28869
28870         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
28871         (gst_base_sink_change_state):
28872         Small debug line.
28873
28874         * gst/gstclock.h:
28875         map SIGNAL and BROADCAST to the right function.
28876
28877         * gst/gstobject.h:
28878         Remove redundant braces.
28879
28880         * gst/gstpad.c: (gst_pad_set_caps):
28881         Don't call setcaps function when reseting caps to NULL.
28882
28883         * gst/gstsystemclock.c: (gst_system_clock_dispose),
28884         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
28885         (gst_system_clock_id_unschedule):
28886         Use BROADCAST as this is what we do.
28887
28888 2005-06-29  Wim Taymans  <wim@fluendo.com>
28889
28890         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
28891         We are actually prerolling before commiting the state
28892         change. 
28893
28894 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28895
28896         * docs/manual/advanced-clocks.xml:
28897         * docs/manual/advanced-interfaces.xml:
28898         * docs/manual/advanced-metadata.xml:
28899         * docs/manual/advanced-position.xml:
28900         * docs/manual/advanced-schedulers.xml:
28901         * docs/manual/advanced-threads.xml:
28902         * docs/manual/appendix-porting.xml:
28903         * docs/manual/basics-bins.xml:
28904         * docs/manual/basics-bus.xml:
28905         * docs/manual/basics-elements.xml:
28906         * docs/manual/basics-helloworld.xml:
28907         * docs/manual/basics-pads.xml:
28908         * docs/manual/highlevel-components.xml:
28909         * docs/manual/manual.xml:
28910         * docs/manual/thread.fig:
28911           Update (until threads/scheduling) Application Development Manual;
28912           remove GstThread, add GstBus, add simple porting checklist, add
28913           documentation for tag writing, clocks, make all examples until this
28914           part compile and run.
28915         * examples/manual/Makefile.am:
28916           Update from changes to Application Development Manual; add bus
28917           example, remove thread example.
28918
28919 2005-06-28  Wim Taymans  <wim@fluendo.com>
28920
28921         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
28922         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
28923         (gst_bus_source_dispatch):
28924         Add debugging messages.
28925         Make internal methods static.
28926         Handle the case where the bus is flushed in the handler.
28927         
28928         * gst/gstelement.c: (gst_element_get_bus):
28929         Fix refcount in _get_bus();
28930
28931         * gst/gstpipeline.c: (gst_pipeline_change_state),
28932         (gst_pipeline_get_clock_func):
28933         Clock refcounting fixes.
28934         Handle the case where preroll timed out more gracefully.
28935         
28936         * gst/gstsystemclock.c: (gst_system_clock_dispose):
28937         Clean up the internal thread in dispose. This is needed
28938         for subclasses that actually get disposed.
28939         
28940         * gst/schedulers/threadscheduler.c:
28941         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
28942         (gst_thread_scheduler_dispose):
28943         Free thread pool in dispose.
28944
28945 2005-06-28  Andy Wingo  <wingo@pobox.com>
28946
28947         * tests/network-clock-utils.scm (debug, print-event): New utils.
28948
28949         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
28950         (*packet-loss*): Unified loss probability.
28951         (network-time): Report out-of-band events.
28952
28953         * tests/plot-data: Add support for out-of-band events. Hack it
28954         into this script instead of passing it down the pipe; should fix
28955         this later.
28956
28957 2005-06-28  Wim Taymans  <wim@fluendo.com>
28958
28959         * docs/gst/gstreamer.types:
28960         * docs/gst/tmpl/gstbasesrc.sgml:
28961         * docs/gst/tmpl/gstpad.sgml:
28962         Docs fixes.
28963
28964 2005-06-28  Wim Taymans  <wim@fluendo.com>
28965
28966         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28967         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
28968         (gst_proxy_pad_do_fixatecaps):
28969         Correctly proxy the check_pull_range function.
28970
28971 2005-06-28  Andy Wingo  <wingo@pobox.com>
28972
28973         * tests/network-clock.scm: Removed need for slib.
28974         
28975 2005-06-28  Wim Taymans  <wim@fluendo.com>
28976
28977         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
28978         (gst_basesink_preroll_queue_flush):
28979         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
28980         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
28981         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28982         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
28983         (gst_proxy_pad_set_property):
28984         * gst/gstpad.c:
28985         * gst/gstpad.h:
28986         * gst/gstqueue.c: (gst_queue_init):
28987         The deprecated pad loop function is removed now.
28988
28989 2005-06-28  Andy Wingo  <wingo@pobox.com>
28990
28991         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
28992         New parameters, simulate network packet loss.
28993
28994         * tests/network-clock-utils.scm: Initialize the RNG.
28995
28996 2005-06-28  Wim Taymans  <wim@fluendo.com>
28997
28998         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
28999         (gst_basesink_event), (gst_basesink_deactivate):
29000         Flushing the preroll queue always needs to unlock the waiters.
29001
29002 2005-06-28  Edward Hervey  <edward@fluendo.com>
29003
29004         * gst/gstpipeline.c: (gst_pipeline_send_event): 
29005         Wheen a seek was successful on a pipeline, set the stream_time to the
29006         seek offset in order to have a synchronized stream_time.
29007
29008 2005-06-28  Wim Taymans  <wim@fluendo.com>
29009
29010         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29011         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
29012         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
29013         (gst_proxy_pad_do_fixatecaps):
29014         Call wrapper function instead of just calling the function
29015         pointers. This takes care of any locking and whatmore.
29016
29017 2005-06-28  Wim Taymans  <wim@fluendo.com>
29018
29019         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
29020         (gst_pad_pull_range):
29021         * gst/gstpad.h:
29022         CONNECTED -> LINKED.
29023
29024 2005-06-28  Andy Wingo  <wingo@pobox.com>
29025
29026         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
29027         source-munging commit!!!
29028
29029         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
29030         (gst_object_sink): Take gpointer arguments, not GstObject --
29031         avoids casts. Like GLib.
29032
29033         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
29034         activate.
29035
29036 2005-06-27  Andy Wingo  <wingo@pobox.com>
29037
29038         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
29039         remaining buffer.
29040
29041         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
29042         returns a sorted copy of the trace list.
29043         (gst_alloc_trace_print_live): New API, only prints traces with
29044         live objects. Sort the list.
29045         (gst_alloc_trace_print_all): Sort the list.
29046         (gst_alloc_trace_print): Align columns.
29047
29048         * gst/elements/gstttypefindelement.c:
29049         * gst/elements/gsttee.c:
29050         * gst/base/gstbasesrc.c:
29051         * gst/base/gstbasesink.c:
29052         * gst/base/gstbasetransform.c:
29053         * gst/gstqueue.c: Adapt for pad activation changes.
29054
29055         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
29056         sched.
29057         (gst_pipeline_dispose): Drop ref on sched.
29058
29059         * gst/gstpad.c (gst_pad_init): Set the default activate func.
29060         (gst_pad_activate_default): Push mode by default.
29061         (pre_activate_switch, post_activate_switch): New stubs, things to
29062         do before and after switching activation modes on pads.
29063         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
29064         the pad's activate function to choose which mode to activate.
29065         Shortcut on deactivation and call the right function directly.
29066         (gst_pad_activate_pull): New API, (de)activates a pad in pull
29067         mode.
29068         (gst_pad_activate_push): New API, same for push mode.
29069         (gst_pad_set_activate_function) 
29070         (gst_pad_set_activatepull_function) 
29071         (gst_pad_set_activatepush_function): Setters for new API.
29072
29073         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
29074         Trace all miniobjects.
29075         (gst_mini_object_make_writable): Unref the arg if we copy, like
29076         gst_caps_make_writable.
29077
29078         * gst/gstmessage.c (_gst_message_initialize): No trace init.
29079
29080         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
29081         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
29082         Adapt for new pad API.
29083
29084         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
29085
29086         * gst/gstelement.h:
29087         * gst/gstelement.c (gst_element_iterate_src_pads) 
29088         (gst_element_iterate_sink_pads): New API functions.
29089         
29090         * gst/gstelement.c (iterator_fold_with_resync): New utility,
29091         should fold into gstiterator.c in some form.
29092         (gst_element_pads_activate): Simplified via use of fold and
29093         delegation of decisions to gstpad->activate.
29094
29095         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
29096         help in debugging.
29097
29098         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
29099         class once in init, like gstmessage. Didn't run into this issue
29100         but it seems correct. Don't initialize a trace, gstminiobject does
29101         that.
29102
29103         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
29104         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
29105         to the bus.
29106         (assert_live_count): New util function, uses alloc traces to check
29107         cleanup.
29108
29109         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
29110         To be modified when unlink drops the internal pad.
29111
29112 2005-06-27  Wim Taymans  <wim@fluendo.com>
29113
29114         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
29115         (gst_bin_change_state):
29116         Cleanup the get_state() function a little, make sure it
29117         iterates the same set of elements.
29118         Added stub iterate_state_order().
29119
29120 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
29121
29122         * docs/gst/gstreamer-docs.sgml:
29123         * docs/gst/gstreamer-sections.txt:
29124         * docs/gst/gstreamer.types:
29125         * docs/gst/tmpl/gstbasesink.sgml:
29126         * docs/gst/tmpl/gstbasesrc.sgml:
29127         * docs/gst/tmpl/gstbasetransform.sgml:
29128         * docs/gst/tmpl/gstelement.sgml:
29129         * docs/gst/tmpl/gstiterator.sgml:
29130         * gst/base/gstbasesrc.c:
29131         * gst/base/gstbasesrc.h:
29132         * gst/base/gstbasetransform.h:
29133         * gst/gstelement.c:
29134         * gst/gstiterator.h:
29135           adding basetransform and iterator docs
29136
29137 2005-06-27  Andy Wingo  <wingo@pobox.com>
29138
29139         * docs/design/part-activation.txt: Notes on how activation should
29140         work -- not quite implemented yet.
29141
29142 2005-06-25  Wim Taymans  <wim@fluendo.com>
29143
29144         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
29145         At least get the chain function correct, needs more
29146         fixing.
29147
29148 2005-06-25  Wim Taymans  <wim@fluendo.com>
29149
29150         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29151         (gst_basesink_handle_object), (gst_basesink_event),
29152         (gst_basesink_do_sync), (gst_basesink_handle_event),
29153         (gst_basesink_change_state):
29154         * gst/gsttask.h:
29155         Right, two problems here: ghostpads don't take locks and
29156         glib _rec_mutex_lock_full() with depth==0 still locks.
29157         Catch illegal locking and g_warn them.
29158
29159 2005-06-25  Wim Taymans  <wim@fluendo.com>
29160
29161         * check/states/sinks.c: (START_TEST), (gst_object_suite):
29162         Have to check for completion now...
29163
29164 2005-06-25  Wim Taymans  <wim@fluendo.com>
29165
29166         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29167         (gst_basesink_handle_object), (gst_basesink_event),
29168         (gst_basesink_do_sync), (gst_basesink_handle_event),
29169         (gst_basesink_change_state):
29170         * gst/gstpad.h:
29171         Unlock STREAM_LOCK whatever the recursion was.
29172
29173 2005-06-25  Wim Taymans  <wim@fluendo.com>
29174
29175         * gst/base/gstbasesink.c: (gst_basesink_set_property),
29176         (gst_basesink_preroll_queue_empty),
29177         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
29178         (gst_basesink_event), (gst_basesink_do_sync),
29179         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
29180         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
29181         (gst_basesink_change_state):
29182         Reworked the base sink, handle event and buffer serialisation
29183         correctly and removed possible deadlock.
29184         Handle EOS correctly.
29185
29186 2005-06-25  Wim Taymans  <wim@fluendo.com>
29187
29188         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
29189         (gst_pipeline_change_state):
29190         * tools/gst-launch.c: (check_intr), (event_loop), (main):
29191         Allow elements to post EOS in the state change function.
29192         Fix up -launch, make it exit the poll loop when the
29193         pipeline actually changed state.
29194         Fix up warning parsing in -launch.
29195
29196 2005-06-25  Wim Taymans  <wim@fluendo.com>
29197
29198         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
29199         (gst_tee_sink_activate):
29200         Core takes STREAM_LOCK for us now.
29201
29202 2005-06-25  Wim Taymans  <wim@fluendo.com>
29203
29204         * gst/gstelement.c: (gst_element_get_state_func),
29205         (gst_element_set_state):
29206         * gst/gstelement.h:
29207         * gst/gstmessage.c: (gst_message_parse_error),
29208         (gst_message_parse_warning):
29209         Keep track of current target state while performing a state
29210         change so that subclasses can do something interesting.
29211         Fix parsing of warning/error messages when GError is NULL.
29212
29213 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
29214
29215         * docs/gst/Makefile.am:
29216         * docs/gst/gstreamer-docs.sgml:
29217         * docs/gst/gstreamer-sections.txt:
29218         * docs/gst/gstreamer.types:
29219         * docs/gst/tmpl/gstbasesink.sgml:
29220         * docs/gst/tmpl/gstbasesrc.sgml:
29221         * docs/gst/tmpl/gstbin.sgml:
29222         * docs/gst/tmpl/gstcompat.sgml:
29223         * docs/gst/tmpl/gstfakesink.sgml:
29224         * docs/gst/tmpl/gstfakesrc.sgml:
29225         * docs/gst/tmpl/gstfilesink.sgml:
29226         * docs/gst/tmpl/gstfilesrc.sgml:
29227         * docs/gst/tmpl/gstindex.sgml:
29228         * docs/manual/appendix-quotes.xml:
29229         * gst/base/gstbasesrc.h:
29230         * gst/elements/gstfakesrc.h:
29231         * gst/gstmessage.h:
29232           start pulling in base classes and elements in our docs
29233
29234 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
29235
29236         * docs/gst/Makefile.am:
29237         * docs/libs/Makefile.am:
29238           fixed make distcheck with gtk-doc 1.3
29239
29240 2005-06-23  Wim Taymans  <wim@fluendo.com>
29241
29242         * gst/gstelement.c: (gst_element_get_state_func),
29243         (gst_element_set_state), (gst_element_change_state):
29244         When the state did not change, also report NO_PREROLL
29245         when it matters.
29246
29247 2005-06-23  Wim Taymans  <wim@fluendo.com>
29248
29249         * gst/gstpad.c: (gst_pad_event_default):
29250         * gst/gstqueue.c: (gst_queue_loop):
29251         No unsafe task pausing please.
29252
29253 2005-06-23  Wim Taymans  <wim@fluendo.com>
29254
29255         * gst/schedulers/threadscheduler.c:
29256         (gst_thread_scheduler_task_start),
29257         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
29258         Ref the task before pushing it on the threadpool. This
29259         makes sure that we have a ref when the threadfunction is
29260         actually called.
29261
29262 2005-06-23  Andy Wingo  <wingo@pobox.com>
29263
29264         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
29265         offset is greater than the file's size.
29266
29267         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
29268         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
29269         * gst/gstobject.c (gst_object_class_init): Make the class lock
29270         recursive. Wim won't let me drop deep_notify. Decodebin works
29271         again, whoopdy doo.
29272
29273         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
29274         internal pad, and hacks accordingly. Doesn't do it on the target
29275         pad because we change its caps. Probably catches all cases of
29276         interest tho.
29277         (gst_ghost_pad_set_property): Connect to notify::caps as
29278         appropritate.
29279
29280         * tests/network-clock.scm (plot-simulation): Pipe data to the
29281         elite python skript.
29282
29283         * tests/network-clock-utils.scm (define-parameter): New macro,
29284         defines a parameter that can be set via the command line.
29285         (set-parameter!, parse-parameter-arguments): Command line args
29286         parser.
29287
29288         * tests/plot-data: Simple matplotlib-based plotter, takes input on
29289         stdin.
29290
29291 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
29292
29293         * gst/elements/gsttypefindelement.c:
29294         (gst_type_find_element_handle_event):
29295           Don't restart typefinding on a discont.
29296         * gst/gstelement.c: (gst_element_set_state):
29297           Debug spelling fix.
29298         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
29299           Allow changing mode of an active pad.
29300           Debug output fixes.
29301         * gst/registries/gstlibxmlregistry.c: (load_feature):
29302           Don't cast a static pad template to a normal pad template.
29303
29304 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
29305
29306         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29307         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29308           remove gst_strtoll completely, since it didn't actually do
29309           anything more than what g_ascii_strtoull already does.
29310           check for range errors when deserializing
29311           do a cast for the unsigned cases; but further fixing needs
29312           a decision on what the interpretation of "(int)" and
29313           deserialization should be for values that fall outside the
29314           type's boundaries (ie, refuse, or interpret as casting)
29315
29316 2005-06-23  Wim Taymans  <wim@fluendo.com>
29317
29318         * check/Makefile.am:
29319         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
29320         * docs/design/part-live-source.txt:
29321         * docs/design/part-states.txt:
29322         * gst/base/gstbasesrc.c: (gst_basesrc_init),
29323         (gst_basesrc_set_live), (gst_basesrc_is_live),
29324         (gst_basesrc_get_range), (gst_basesrc_activate),
29325         (gst_basesrc_change_state):
29326         * gst/base/gstbasesrc.h:
29327         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
29328         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
29329         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
29330         * gst/gstelement.c: (gst_element_get_state_func),
29331         (gst_element_set_state):
29332         * gst/gstelement.h:
29333         * gst/gsttypes.h:
29334         * tools/gst-launch.c: (event_loop), (main):
29335         Added support for live sources and other elements that
29336         cannot do preroll.
29337         Updated design docs, added live-source design doc.
29338         Implemented live source functionality in basesrc
29339         Fix error condition in _bin_get_state()
29340         Implement live source handling in -launch.
29341         Added check for live sources.
29342         Fixed case in GstBin where elements were changed state
29343         multiple times.
29344
29345
29346 2005-06-23  Andy Wingo  <wingo@pobox.com>
29347
29348         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
29349         borken refcounting.
29350
29351         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
29352         gst_caps_replace takes care of this for us.
29353
29354         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
29355         gst_pad_set_caps on the target, not just its setcaps() function.
29356
29357         * tests/network-clock.scm: 
29358         * tests/network-clock-utils.scm: A network clock simulator.
29359         Something of an algorithmic testbed before doing something in C.
29360
29361 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29362
29363         * check/Makefile.am:
29364         * check/gst/capslist.h:
29365           copy over from 0.8, and add two with bitmasks specified with
29366           (int) 0xFF...
29367         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29368           add test to parse everything from capslist.h
29369         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
29370         (main):
29371           add test for structure deserialization
29372         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29373           add tests for deserialization of strings to int types
29374         * gst/gststructure.c: (gst_structure_nth_field_name):
29375         * gst/gststructure.h:
29376           add a way to get the name of a field referenced by index
29377         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29378           instead of checking if the resulting long long lies between
29379           min and max, we check if the long long would fit into
29380           a number of bytes for the final type.
29381           This fixes cases where a string represents 2^32 - 1, which
29382           when cast to int would be the (valid) -1, but is bigger than
29383           G_MAXINT
29384
29385 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29386
29387         * gst/parse/grammar.y:
29388           add a log line for type deserialization
29389
29390 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29391
29392         * check/gst/gstvalue.c: (START_TEST):
29393         * gst/gstvalue.c: (gst_value_deserialize):
29394           return long long, not int, so gint64 deserialization actually
29395           works.  Is there any flag that makes the compiler check this ?
29396           Fixes #308559
29397
29398 2005-06-22  Wim Taymans  <wim@fluendo.com>
29399
29400         * gst/gstbuffer.h:
29401         Added convenience macros for setting buffers in GValue.
29402
29403 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
29404
29405         * check/gst/.cvsignore:
29406         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29407           add a test deserializing int64, and comment part out because
29408           it fails, yay !
29409
29410 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
29411
29412         * check/Makefile.am:
29413         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
29414         * testsuite/Makefile.am:
29415         * testsuite/caps/Makefile.am:
29416         * testsuite/caps/value_serialize.c:
29417         * testsuite/test_gst_init.c:
29418           move a value_serialize test over
29419
29420 2005-06-20  Wim Taymans  <wim@fluendo.com>
29421
29422         * gst/gstpad.c:
29423         Small doc updates.
29424         
29425         * gst/gstvalue.c: (gst_value_compare_buffer),
29426         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
29427         (gst_value_compare_flags), (gst_value_serialize_flags),
29428         (gst_value_deserialize_flags), (_gst_value_initialize):
29429         Fix serialisation of buffers, they are not boxed types anymore
29430
29431 2005-06-20  Wim Taymans  <wim@fluendo.com>
29432
29433         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29434         Testcase to show error in buffer-on-caps serialisation.
29435
29436 2005-06-20  Andy Wingo  <wingo@pobox.com>
29437
29438         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
29439         will be adding to later.
29440
29441         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
29442         if its socks fill with rocks.
29443         (gst_system_clock_obtain): Set the name on object construction.
29444         Avoid double-checked locking.
29445
29446 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
29447
29448         * gst/gsturi.c: (gst_element_make_from_uri):
29449           Fix potential endless loop.
29450
29451 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29452
29453         * check/Makefile.am:
29454           add gsttag
29455         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
29456         (main):
29457           move over from testsuite dir and clean up
29458         * configure.ac:
29459         * gst/gsttag.c:
29460         * testsuite/Makefile.am:
29461         * testsuite/tags/.cvsignore:
29462         * testsuite/tags/Makefile.am:
29463         * testsuite/tags/merge.c:
29464           remove testsuite/tags
29465
29466 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29467
29468         * docs/gst/gstreamer-sections.txt:
29469         * docs/gst/tmpl/gstenumtypes.sgml:
29470         * win32/gstenumtypes.c:
29471           clean up documentation build a little
29472
29473 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29474
29475         * check/gstcheck.h:
29476           add macros for checking refcounts on objects and caps
29477         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
29478           add some more unit tests
29479         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
29480         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
29481           fix leaked refcounts (I hope :)) so unittest works
29482         * gst/gstpad.h:
29483           whitespace removal
29484
29485 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29486
29487         * configure.ac: back to HEAD
29488
29489 === release 0.9.1 ===
29490
29491 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
29492
29493         * NEWS:
29494         * RELEASE:
29495           updated
29496
29497 2005-06-17  Andy Wingo  <wingo@pobox.com>
29498
29499         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
29500         assert; it's always possible that the pad gets deactivated in
29501         between the checks in gstpad.c and the implementation. Rely on
29502         finish_preroll() to return a FLUSHING or similar instead of on the
29503         assert.
29504         
29505         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
29506         clock and post an EOS message if we come out of finish_preroll in
29507         the playing state.
29508
29509 2005-06-16  David Schleef  <ds@schleef.org>
29510
29511         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
29512         (gst_capsfilter_set_property): Allow NULL as possible value
29513         for filter_caps property, indicating GST_CAPS_ANY.
29514
29515 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
29516
29517         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
29518           fix debug output
29519         * gst/schedulers/Makefile.am:
29520           use libgst prefix
29521         * gstreamer.spec.in:
29522           fix spec for it
29523
29524 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
29525
29526         * gstreamer.spec.in:
29527           clean up
29528
29529 2005-06-08  Andy Wingo  <wingo@pobox.com>
29530
29531         * gst/gstutils.c: RPAD fixes all around.
29532         (gst_element_link_pads): Refcounting fixes.
29533
29534         * tools/gst-inspect.c:
29535         * tools/gst-xmlinspect.c:
29536         * parse/grammar.y:
29537         * gst/base/gsttypefindhelper.c:
29538         * gst/base/gstbasesink.c:
29539         * gst/gstqueue.c: RPAD fixes.
29540
29541         * gst/gstghostpad.h:
29542         * gst/gstghostpad.c: New ghost pad implementation as full proxy
29543         pads. The tricky thing is they provide both source and sink
29544         interfaces, since they proxy the internal pad for the external
29545         pad, and vice versa. Implement with lower-level ProxyPad objects,
29546         with the interior proxy pad as a child of the exterior ghost pad.
29547         Should write a doc on this.
29548         
29549         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
29550         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
29551         gst_object API.
29552         
29553         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
29554         pads are real pads. No ghost pads in this file. Not documenting
29555         the myriad s/RPAD/PAD/ and REALIZE fixes.
29556         (gst_pad_class_init): Add properties for "direction" and
29557         "template". Both are construct-only, so they can't change during
29558         the life of the pad. Fixes properly deriving from GstPad.
29559         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
29560         derived objects, just set properties when creating the objects via
29561         g_object_new.
29562         (gst_pad_get_parent): Implement as a function, return NULL if the
29563         parent is not an element.
29564         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
29565         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
29566         
29567         * gst/gstobject.c (gst_object_class_init): Make name a construct
29568         property. Don't set it in the object init.
29569
29570         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
29571         with UNKNOWN direction.
29572         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
29573         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
29574         (gst_element_remove_pad): Remove ghost-pad special cases.
29575         (gst_element_pads_activate): Remove rpad cruft.
29576
29577         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
29578         catch the pad's-parent-not-an-element case.
29579
29580         * gst/gst.h: Include gstghostpad.h.
29581
29582         * gst/gst.c (init_post): No more real, ghost pads.
29583
29584         * gst/Makefile.am: Add gstghostpad.[ch].
29585
29586         * check/Makefile.am:
29587         * check/gst/gstbin.c:
29588         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
29589         into a bin creates ghost pads, and that the refcounts are right.
29590         Partly moved from gstbin.c.
29591
29592 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29593
29594         * check/gst-libs/.cvsignore:
29595         * check/gst/.cvsignore:
29596         * check/pipelines/.cvsignore:
29597           ignore more
29598         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
29599         (START_TEST), (cleanup_suite), (main):
29600           add some tests related to cleanup after running pipelines
29601
29602 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29603
29604         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
29605           add a testsuite for GstBuffer
29606
29607 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29608
29609         * gst/gstminiobject.h:
29610           add defines for accessing the refcount
29611
29612 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
29613
29614         * Makefile.am: added support for html unit test coverage reports
29615
29616 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
29617
29618         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
29619           Free existing caps if the capsfilter changes. Add a FIXME about
29620           setting those caps on the pads.
29621
29622         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
29623           Before adding a ghost pad to a parent bin, check that there isn't
29624           already one for the element on the bin. Prevents infinite recursion
29625           when using decodebin in parse pipelines. Andy says he'll rewrite the
29626           way this works anyway, so ignore the hack.
29627
29628 2005-06-02  Andy Wingo  <wingo@pobox.com>
29629
29630         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
29631         file size, pass it on to the type find helper.
29632
29633         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
29634         segment_start and segment_end properly according to the seek
29635         method. Segment_end is still a bit flaky because offset can be
29636         negative for CUR and END cases, but it takes -1 as an "unset"
29637         value.
29638
29639 2005-06-02  Wim Taymans  <wim@fluendo.com>
29640
29641         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
29642         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
29643         (gst_basesink_activate):
29644         * gst/base/gstbasesink.h:
29645         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29646         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29647         (gst_pad_query), (gst_pad_start_task):
29648         * gst/gstpad.h:
29649         * gst/gstqueue.c: (gst_queue_bufferalloc),
29650         (gst_queue_handle_sink_event), (gst_queue_chain):
29651         Bufferalloc: return GstFlowReturn to more accuratly report
29652         why allocation failed.
29653
29654 2005-06-02  Wim Taymans  <wim@fluendo.com>
29655
29656         * gst/gstpipeline.c: (gst_pipeline_send_event):
29657         Take snapshot of state without blocking.
29658
29659 2005-06-02  Wim Taymans  <wim@fluendo.com>
29660
29661         * docs/design/part-TODO.txt:
29662         * docs/design/part-caps.txt:
29663         * docs/design/part-clocks.txt:
29664         * docs/design/part-negotiation.txt:
29665         * docs/design/part-preroll.txt:
29666         Small doc updates 
29667
29668 2005-05-30  Wim Taymans  <wim@fluendo.com>
29669
29670         * gst/elements/gstidentity.c: (gst_identity_event),
29671         (gst_identity_transform), (gst_identity_get_property):
29672         Protect last_message property as it is accessed from
29673         multiple threads.
29674
29675 2005-05-30  Wim Taymans  <wim@fluendo.com>
29676
29677         * gst/gstelement.c: (gst_element_init),
29678         (gst_element_pads_activate), (gst_element_change_state):
29679         Slicker pad activation code.
29680
29681 2005-05-30  Wim Taymans  <wim@fluendo.com>
29682
29683         * gst/Makefile.am:
29684         * gst/gstelement.h:
29685         * gst/gstelementfactory.h:
29686         * gst/gsttypes.h:
29687         Move elementfactory methods to separate .h file.
29688
29689 2005-05-30  Wim Taymans  <wim@fluendo.com>
29690
29691         * docs/design/part-overview.txt:
29692         * gst/gstsystemclock.h:
29693         Small typo fixes, doc updates.
29694
29695 2005-05-30  Wim Taymans  <wim@fluendo.com>
29696
29697         * gst/gst.c: (gst_init_get_popt_table), (init_post),
29698         (init_popt_callback):
29699         Remove cpu-opt flag.
29700
29701 2005-05-30  Wim Taymans  <wim@fluendo.com>
29702
29703         * gst/gstbuffer.c: (gst_subbuffer_finalize),
29704         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
29705         * gst/gstbuffer.h:
29706         Avoid typechecking in places where not needed.
29707         Added accessor for malloc_data.
29708
29709 2005-05-30  Wim Taymans  <wim@fluendo.com>
29710
29711         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
29712         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
29713         (gst_pad_configure_sink), (gst_pad_configure_src),
29714         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
29715         (gst_pad_start_task):
29716         Propagate errors from _set_caps() in configure_src/sink
29717         functions instead of returning TRUE.
29718         FLUSH events can travel up and downstream
29719
29720
29721 2005-05-30  Wim Taymans  <wim@fluendo.com>
29722
29723         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
29724         (gst_basesink_activate):
29725         Handle EOS in preroll.
29726
29727 2005-05-30  Wim Taymans  <wim@fluendo.com>
29728
29729         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
29730         (gst_queue_loop), (gst_queue_handle_src_event):
29731         Remove old pieces of code
29732         Flushing the queue in an upstream event is a very bad idea.
29733
29734 2005-05-26  Andy Wingo  <wingo@pobox.com>
29735
29736         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
29737         gst_value_set_mini_object so as to add a ref on the object (which
29738         will be removed when the value is unset).
29739
29740         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
29741         arg type in ::handoff.
29742
29743         * gst/gstelement.c (gst_element_change_state): Also deactivate
29744         pads in READY->NULL, just in case the element didn't make it to
29745         PAUSED. Wingo tested, Wim approved.
29746
29747 2005-05-26  Wim Taymans  <wim@fluendo.com>
29748
29749         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29750         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29751         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
29752         A flushing pad cannot be used to alloc_buffer from.
29753
29754 2005-05-26  Wim Taymans  <wim@fluendo.com>
29755
29756         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
29757         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
29758         (gst_bus_source_dispatch), (gst_bus_source_finalize),
29759         (gst_bus_create_watch), (gst_bus_add_watch_full):
29760         * gst/gstbus.h:
29761         Implement a real GSource and use g_main_context_wakeup() to
29762         signal new messages instead of the socketpair.
29763
29764 2005-05-25  Wim Taymans  <wim@fluendo.com>
29765
29766         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
29767         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
29768         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29769         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
29770         (gst_pad_send_event), (gst_pad_start_task):
29771         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
29772         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
29773         (gst_queue_sink_activate), (gst_queue_src_activate),
29774         (gst_queue_change_state):
29775         * gst/gstqueue.h:
29776         Fix state changes for non sinks. We now change sinks, then elements
29777         with unconnected srcpads, then the rest.
29778         More efficient queue unlocking in flush and state changes.
29779         Set the pad activate mode even if it does not have an activate
29780         function.
29781
29782 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29783
29784         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
29785           Don't go in pull mode for non-seekable sources.
29786         * gst/elements/gsttypefindelement.h:
29787         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
29788         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
29789         (free_entry), (stop_typefinding),
29790         (gst_type_find_element_handle_event), (find_peek),
29791         (gst_type_find_element_chain), (do_pull_typefind),
29792         (gst_type_find_element_change_state):
29793           Allow typefinding (w/o seeking) in push-mode, simplified version
29794           of what was in 0.8.
29795         * gst/gstutils.c: (gst_buffer_join):
29796         * gst/gstutils.h:
29797           gst_buffer_join() from 0.8.
29798
29799 2005-05-25  Wim Taymans  <wim@fluendo.com>
29800
29801         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29802         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
29803         (gst_pad_send_event), (gst_pad_start_task):
29804         Disable attempt at mode switching until it is figured out.
29805
29806 2005-05-25  Wim Taymans  <wim@fluendo.com>
29807
29808         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
29809         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
29810         (gst_basesink_finish_preroll), (gst_basesink_chain),
29811         (gst_basesink_loop), (gst_basesink_activate),
29812         (gst_basesink_change_state):
29813         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
29814         (gst_basesrc_get_range), (gst_basesrc_loop),
29815         (gst_basesrc_activate):
29816         * gst/elements/gsttee.c: (gst_tee_sink_activate):
29817         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
29818         (gst_real_pad_init), (gst_real_pad_set_property),
29819         (gst_real_pad_get_property), (gst_pad_set_active),
29820         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
29821         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
29822         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
29823         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
29824         (gst_pad_event_default_dispatch), (gst_pad_event_default),
29825         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
29826         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
29827         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
29828         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
29829         (gst_pad_stop_task):
29830         * gst/gstpad.h:
29831         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
29832         (gst_queue_loop), (gst_queue_src_activate):
29833         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
29834         (gst_task_get_state):
29835         * gst/gsttask.h:
29836         * gst/schedulers/threadscheduler.c:
29837         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
29838         Implement gst_pad_pause/start/stop_task(), take STREAM lock
29839         in task function.
29840         Remove ACTIVE pad flag, use FLUSHING everywhere
29841         Added _pad_chain(), _pad_get_range() to call chain/getrange 
29842         functions.
29843         Add locks around IS_FLUSHING when reading.
29844         Take STREAM lock in chain(), get_range() functions so plugins
29845         don't need to take it anymore.
29846         
29847
29848
29849 2005-05-25  Wim Taymans  <wim@fluendo.com>
29850
29851         * tools/gst-launch.c: (event_loop):
29852         Unref message after using its contents instead of
29853         before.
29854
29855 2005-05-24  Wim Taymans  <wim@fluendo.com>
29856
29857         * docs/design/draft-ghostpads.txt:
29858         * docs/design/draft-push-pull.txt:
29859         * docs/design/draft-query.txt:
29860         * docs/design/part-overview.txt:
29861         Docs updates, added general overview doc.
29862
29863 2005-05-21  David Schleef  <ds@schleef.org>
29864
29865         * docs/gst/tmpl/old/GstBin.sgml:
29866         * docs/gst/tmpl/old/GstBuffer.sgml:
29867         * docs/gst/tmpl/old/GstCaps.sgml:
29868         * docs/gst/tmpl/old/GstClock.sgml:
29869         * docs/gst/tmpl/old/GstCompat.sgml:
29870         * docs/gst/tmpl/old/GstData.sgml:
29871         * docs/gst/tmpl/old/GstElement.sgml:
29872         * docs/gst/tmpl/old/GstEvent.sgml:
29873         * docs/gst/tmpl/old/GstIndex.sgml:
29874         * docs/gst/tmpl/old/GstStructure.sgml:
29875         * docs/gst/tmpl/old/GstTag.sgml:
29876         * docs/gst/tmpl/old/cothreads.sgml:
29877         * docs/gst/tmpl/old/cothreads_compat.sgml:
29878         * docs/gst/tmpl/old/gettext.sgml:
29879         * docs/gst/tmpl/old/gobject2gtk.sgml:
29880         * docs/gst/tmpl/old/grammar.tab.sgml:
29881         * docs/gst/tmpl/old/gst-i18n-app.sgml:
29882         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
29883         * docs/gst/tmpl/old/gst_private.sgml:
29884         * docs/gst/tmpl/old/gstaggregator.sgml:
29885         * docs/gst/tmpl/old/gstarch.sgml:
29886         * docs/gst/tmpl/old/gstatomic_impl.sgml:
29887         * docs/gst/tmpl/old/gstbufferstore.sgml:
29888         * docs/gst/tmpl/old/gstdata_private.sgml:
29889         * docs/gst/tmpl/old/gstdisksink.sgml:
29890         * docs/gst/tmpl/old/gstdisksrc.sgml:
29891         * docs/gst/tmpl/old/gstelementfactory.sgml:
29892         * docs/gst/tmpl/old/gstextratypes.sgml:
29893         * docs/gst/tmpl/old/gstfakesink.sgml:
29894         * docs/gst/tmpl/old/gstfakesrc.sgml:
29895         * docs/gst/tmpl/old/gstfdsink.sgml:
29896         * docs/gst/tmpl/old/gstfdsrc.sgml:
29897         * docs/gst/tmpl/old/gstfilesink.sgml:
29898         * docs/gst/tmpl/old/gstfilesrc.sgml:
29899         * docs/gst/tmpl/old/gsthttpsrc.sgml:
29900         * docs/gst/tmpl/old/gstidentity.sgml:
29901         * docs/gst/tmpl/old/gstindexfactory.sgml:
29902         * docs/gst/tmpl/old/gstmarshal.sgml:
29903         * docs/gst/tmpl/old/gstmd5sink.sgml:
29904         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
29905         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
29906         * docs/gst/tmpl/old/gstpadtemplate.sgml:
29907         * docs/gst/tmpl/old/gstpipefilter.sgml:
29908         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
29909         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
29910         * docs/gst/tmpl/old/gstshaper.sgml:
29911         * docs/gst/tmpl/old/gstspider.sgml:
29912         * docs/gst/tmpl/old/gstspideridentity.sgml:
29913         * docs/gst/tmpl/old/gststatistics.sgml:
29914         * docs/gst/tmpl/old/gsttee.sgml:
29915         * docs/gst/tmpl/old/gsttimecache.sgml:
29916         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
29917         * docs/gst/tmpl/old/gstxmlregistry.sgml:
29918         * docs/gst/tmpl/old/gthread-cothreads.sgml:
29919         * docs/gst/tmpl/old/types.sgml:
29920           I didn't intend to add these or check them in.
29921
29922 2005-05-19  David Schleef  <ds@schleef.org>
29923
29924         * configure.ac: Use -no-common everywhere.  In a sane world, it
29925           would be the default in libtool, because without it, you can't
29926           build DLLs on Windows.
29927         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
29928         * docs/gst/gstreamer-sections.txt:
29929         * docs/gst/tmpl/gstcpu.sgml:
29930         * docs/gst/tmpl/gstdata.sgml:
29931         * docs/gst/tmpl/gstthread.sgml:
29932
29933 2005-05-19  David Schleef  <ds@schleef.org>
29934
29935         * gst/gstminiobject.c: (gst_value_set_mini_object),
29936         (gst_value_take_mini_object), (gst_value_get_mini_object):
29937         * gst/gstminiobject.h: Add GValue set/get functions.
29938
29939 2005-05-19  Wim Taymans  <wim@fluendo.com>
29940
29941         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
29942         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
29943         (gst_subbuffer_init), (gst_buffer_is_span_fast):
29944         * gst/gstbuffer.h:
29945         * gst/gstbus.c: (gst_bus_post):
29946         * gst/gstelement.c: (gst_element_get_random_pad):
29947         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
29948         Make subbufer unref the parent in finalize.
29949         some more debugging info.
29950
29951
29952 2005-05-19  Wim Taymans  <wim@fluendo.com>
29953
29954         * gst/base/gstbasesink.c: (gst_basesink_class_init),
29955         (gst_basesink_init), (gst_basesink_finalize),
29956         (gst_basesink_activate), (gst_basesink_change_state):
29957         Don't free preroll queue too early.
29958
29959 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29960
29961         * gst/Makefile.am:
29962         * gst/ROADMAP:
29963           Hi, I'm outdated. Please shoot me.
29964
29965 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29966
29967         * gst/gstpipeline.c: (gst_pipeline_send_event):
29968           Do not access variables after they have been deleted.
29969
29970 2005-05-19  Wim Taymans  <wim@fluendo.com>
29971
29972         * tools/gst-inspect.c: (print_plugin_features):
29973         A plugin feature does unfortunatly not use the
29974         object name yet...
29975
29976 2005-05-18  Wim Taymans  <wim@fluendo.com>
29977
29978         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
29979         Port _span() functions to new subbuffers.
29980
29981 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29982
29983         * gst/gstbin.c: (gst_bin_add_func):
29984           Fix clock settery in bins when adding kids after the clock has
29985           been selected.
29986
29987 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29988
29989         * gst/elements/gstidentity.c: (gst_identity_class_init):
29990           Workaround until signals support GstMiniObject.
29991
29992 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
29993
29994         * gst/gstbuffer.c:
29995         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
29996
29997 2005-05-18  Wim Taymans  <wim@fluendo.com>
29998
29999         * gst/base/Makefile.am:
30000         * gst/base/gstadapter.c: (gst_adapter_base_init),
30001         (gst_adapter_class_init), (gst_adapter_init),
30002         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
30003         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
30004         (gst_adapter_flush), (gst_adapter_available),
30005         (gst_adapter_available_fast):
30006         * gst/base/gstadapter.h:
30007         Ported and added adapter to the base classes.
30008
30009 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
30010
30011         * gst/gst.c:
30012         * gst/gstmessage.c:
30013           Make sure the class is reffed/unreffed once before threads can be
30014           used.  Fixes #304551.
30015
30016 2005-05-17  Wim Taymans  <wim@fluendo.com>
30017
30018         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
30019         (gst_basesink_chain_unlocked), (gst_basesink_activate):
30020         * gst/gstminiobject.c: (gst_mini_object_get_type),
30021         (gst_mini_object_free):
30022         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
30023         (gst_pad_push), (gst_pad_push_event):
30024         * gst/gstqueue.c: (gst_queue_change_state):
30025         Don't queue buffers in basesink when we are flushing.
30026         Unref buffer when flushing in basesink.
30027         Flush queue when going to READY
30028         Unref buffer when _push() returns an error.
30029         Don't free MiniObject instance when refcount is incremented
30030         in _finalize() so that we can recover objects.
30031
30032 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
30033
30034         * docs/manual/advanced-schedulers.xml:
30035         * docs/manual/appendix-checklist.xml:
30036         * docs/pwg/advanced-clock.xml:
30037         * docs/pwg/advanced-interfaces.xml:
30038         * docs/pwg/advanced-request.xml:
30039         * docs/pwg/advanced-types.xml:
30040         * docs/pwg/intro-preface.xml:
30041         * examples/plugins/example.c: (gst_example_get_type),
30042         (gst_example_class_init), (gst_example_chain),
30043         (gst_example_set_property), (gst_example_get_property),
30044         (gst_example_change_state), (plugin_init):
30045         * examples/plugins/example.h:
30046           small doc fixes
30047
30048 2005-05-17  Wim Taymans  <wim@fluendo.com>
30049
30050         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
30051         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
30052         * gst/gstqueue.c: (gst_queue_change_state):
30053         Clear queue when going to READY.
30054         Remove IN_SETCAPS flag too.
30055
30056 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
30057
30058         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
30059           Remove implicit cast from gboolean to GstElementStateReturn;
30060           make sure we still return failure in paused => ready case if
30061           the parent class fails to change state and our own stop 
30062           vfunc succeeds.
30063
30064 2005-05-17  Wim Taymans  <wim@fluendo.com>
30065
30066         * tools/gst-launch.c: (event_loop):
30067         Message was unreffed too soon.
30068
30069 2005-05-16  Andy Wingo  <wingo@pobox.com>
30070
30071         * gst/gstbin.c (sink_iterator_filter): Err... um...
30072
30073         * check/gst/gstbin.c (test_ghost_pads): New test for the
30074         ghosting-if-elements-not-in-same-bin behavior.
30075
30076 2005-05-16  David Schleef  <ds@schleef.org>
30077
30078         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
30079         accessing refcount directly.
30080
30081 2005-05-15  David Schleef  <ds@schleef.org>
30082
30083         * check/Makefile.am: remove GstData checks
30084         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
30085         * gst/Makefile.am: add miniobject, remove data
30086         * gst/gst.h: add miniobject, remove data
30087         * gst/gstdata.c: remove
30088         * gst/gstdata.h: remove
30089         * gst/gstdata_private.h: remove
30090         * gst/gsttypes.h: remove GstEvent and GstMessage
30091         * gst/gstelement.c: (gst_element_post_message): fix for API changes
30092         * gst/gstmarshal.list: change BOXED -> OBJECT
30093
30094         Implement GstMiniObject.
30095         * gst/gstminiobject.c:
30096         * gst/gstminiobject.h:
30097
30098         Modify to be subclasses of GstMiniObject.
30099         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
30100         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
30101         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
30102         (gst_subbuffer_get_type), (gst_subbuffer_init),
30103         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
30104         (gst_buffer_span):
30105         * gst/gstbuffer.h:
30106         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
30107         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
30108         (_gst_event_copy), (gst_event_new):
30109         * gst/gstevent.h:
30110         * gst/gstmessage.c: (_gst_message_initialize),
30111         (gst_message_get_type), (gst_message_class_init),
30112         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
30113         (gst_message_new), (gst_message_new_error),
30114         (gst_message_new_warning), (gst_message_new_tag),
30115         (gst_message_new_state_changed), (gst_message_new_application):
30116         * gst/gstmessage.h:
30117         * gst/gstprobe.c: (gst_probe_perform),
30118         (gst_probe_dispatcher_dispatch):
30119         * gst/gstprobe.h:
30120         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
30121         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
30122         (_gst_query_copy), (gst_query_new):
30123
30124         Update elements for GstData -> GstMiniObject changes
30125         * gst/gstquery.h:
30126         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
30127         (gst_queue_chain), (gst_queue_loop):
30128         * gst/elements/gstbufferstore.c:
30129         (gst_buffer_store_add_buffer_func),
30130         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
30131         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30132         (gst_fakesink_render):
30133         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
30134         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
30135         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
30136         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
30137         (gst_filesrc_create_read):
30138         * gst/elements/gstidentity.c: (gst_identity_class_init):
30139         * gst/elements/gsttypefindelement.c:
30140         (gst_type_find_element_src_event), (free_entry_buffers),
30141         (gst_type_find_element_handle_event):
30142         * libs/gst/dataprotocol/dataprotocol.c:
30143         (gst_dp_header_from_buffer):
30144         * libs/gst/dataprotocol/dataprotocol.h:
30145         * libs/gst/dataprotocol/dp-private.h:
30146
30147 2005-05-15  David Schleef  <ds@schleef.org>
30148
30149         * gst/elements/gstelements.c: Don't include headers that were
30150         just removed.
30151
30152 2005-05-15  David Schleef  <ds@schleef.org>
30153
30154         * gst/elements/Makefile.am: Remove some elements that don't
30155         need to be in the core (or even exist at all).
30156         * gst/elements/gstaggregator.c:
30157         * gst/elements/gstaggregator.h:
30158         * gst/elements/gstmd5sink.c:
30159         * gst/elements/gstmd5sink.h:
30160         * gst/elements/gstmultifilesrc.c:
30161         * gst/elements/gstmultifilesrc.h:
30162         * gst/elements/gstpipefilter.c:
30163         * gst/elements/gstpipefilter.h:
30164         * gst/elements/gstshaper.c:
30165         * gst/elements/gstshaper.h:
30166         * gst/elements/gststatistics.c:
30167         * gst/elements/gststatistics.h:
30168         * po/POTFILES.in: Remove above files.
30169
30170 2005-05-14  Andy Wingo  <wingo@pobox.com>
30171
30172         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
30173         so as to get the refs right.
30174         (sink_iterator_filter): New function, wraps bin_element_is_sink,
30175         unreffing objects that don't pass the filter.
30176
30177         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
30178         gst_element_set_bus.
30179         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
30180         normal cases, this will destroy the bus.
30181
30182         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
30183         object.
30184
30185         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
30186         has no sinks.
30187
30188 2005-05-13  Andy Wingo  <wingo@pobox.com>
30189
30190         * gst/gstutils.c (gst_element_link_pads): Instead of calling
30191         gst_pad_link, call pad_link_maybe_ghosting,
30192         (pad_link_maybe_ghosting): Links pads, making sure that the
30193         elements being linked are in the same bin.
30194         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
30195         Helpers for pad_link_maybe_ghosting.
30196
30197 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
30198
30199         * configure.ac:
30200           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
30201
30202 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
30203
30204         * docs/design/part-element-source.txt:
30205           Mention GstPushSrc
30206
30207 2005-05-12  Wim Taymans  <wim@fluendo.com>
30208
30209         * gst/base/gstbasesink.c: (gst_basesink_init),
30210         (gst_basesink_activate):
30211         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
30212         (gst_basesrc_is_seekable):
30213         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
30214         (bin_element_is_sink), (gst_bin_change_state):
30215         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30216         * gst/gstelement.h:
30217         Identify sinks by their flag to avoid overly complicated
30218         checks (fow now).
30219         Do state changes even for elements not reachable from the
30220         sinks.
30221         BaseSink is a sink now :)
30222         Some more debugging info in the basesrc.
30223
30224
30225 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30226
30227         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
30228           Implement _query on a bin, similar to _send_event.
30229
30230 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
30231
30232         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
30233           Discont event offset format should be GST_FORMAT_BYTES,
30234           not GST_FORMAT_TIME.
30235
30236 2005-05-12  Wim Taymans  <wim@fluendo.com>
30237
30238         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
30239         Same fix as Ronald's but without the signal. 
30240
30241 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30242
30243         * gst/gstutils.c: (gst_element_query_position):
30244           No, an element is not a pad.
30245
30246 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30247
30248         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
30249         (gst_bin_get_state):
30250           If a child is removed from a bin while we remove the child from
30251           the bin and while we're retrieving its state, signal this to the
30252           get_state function so we abort the wait (instead of waiting for
30253           a timeout) and can immediately re-iterate over all other elements.
30254
30255 2005-05-12  Wim Taymans  <wim@fluendo.com>
30256
30257         * gst/base/Makefile.am:
30258         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
30259         (gst_basesrc_start):
30260         * gst/base/gstbasesrc.h:
30261         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
30262         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
30263         (gst_pushsrc_init), (gst_pushsrc_create):
30264         * gst/base/gstpushsrc.h:
30265         Added is_seekable to BaseSrc
30266         Added simple PushSrc.
30267
30268 2005-05-11  Wim Taymans  <wim@fluendo.com>
30269
30270         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30271         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30272         (gst_element_link_pads), (gst_element_query_position),
30273         (gst_element_query_convert), (intersect_caps_func),
30274         (gst_pad_query_position), (gst_pad_query_convert):
30275         Fix refcounting in utils function.
30276         No point in trying to activate a pad when it's added, it could
30277         be added from the state change function and then we deadlock, the
30278         element has to decide what to do.
30279
30280 2005-05-10  Andy Wingo  <wingo@pobox.com>
30281
30282         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
30283         *all* the arguments.
30284
30285         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
30286         stream lock if it's a FLUSH_DONE; normal flushes don't get the
30287         lock (according to the docs -- if this is wrong change the docs).
30288
30289         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
30290         flush messages in the NULL state.
30291
30292         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
30293         message immediately and return.
30294         (gst_bus_set_flushing): New function. If a bus is flushing, it
30295         flushes out any queued messages and immediately unrefs new
30296         messages. This is so when an element goes to NULL, all of the
30297         unhandled messages coming from it can be freed, and their
30298         references to the element dropped. In other words: message source
30299         ref considered harmful :P
30300
30301         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
30302         we're finished with it.
30303
30304         * gst/gstmessage.c (gst_message_new_state_changed): 
30305
30306 2005-05-10  Wim Taymans  <wim@fluendo.com>
30307
30308         * gst/gstvalue.c: (gst_value_compare_flags),
30309         (gst_value_serialize_flags), (gst_value_deserialize_flags),
30310         (_gst_value_initialize):
30311         Added flags serialize/deserialize/compare code.
30312
30313 2005-05-09  Andy Wingo  <wingo@pobox.com>
30314
30315         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
30316         Intersect the peer's caps with our caps.
30317
30318 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30319
30320         * gst/base/gsttypefindhelper.c: (helper_find_peek):
30321         * gst/elements/gsttypefindelement.c: (find_peek):
30322           Handle negative offsets better. Fixes decodebin.
30323
30324 2005-05-09  Wim Taymans  <wim@fluendo.com>
30325
30326         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
30327         (gst_base_transform_event):
30328         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
30329         Implement accept_caps.
30330         Fix silly lock/unlock mismatch in base class.
30331
30332 2005-05-09  Wim Taymans  <wim@fluendo.com>
30333
30334         * docs/design/draft-push-pull.txt:
30335         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
30336         * gst/elements/gstfilesink.c: (gst_filesink_init),
30337         (gst_filesink_query):
30338         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
30339         (gst_type_find_handle_src_query), (find_element_get_length):
30340         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
30341         * gst/gstelement.h:
30342         * gst/gstmessage.c:
30343         * gst/gstmessage.h:
30344         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
30345         (gst_real_pad_get_caps_unlocked),
30346         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
30347         (gst_pad_event_default_dispatch), (gst_pad_event_default),
30348         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
30349         (gst_real_pad_dispose), (gst_real_pad_finalize),
30350         (gst_pad_load_and_link), (gst_pad_save_thyself),
30351         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
30352         (gst_pad_check_pull_range), (gst_pad_pull_range),
30353         (gst_pad_template_get_type), (gst_pad_template_class_init),
30354         (gst_pad_template_init), (gst_pad_template_dispose),
30355         (name_is_valid), (gst_static_pad_template_get),
30356         (gst_pad_template_new), (gst_static_pad_template_get_caps),
30357         (gst_pad_template_get_caps), (gst_pad_set_element_private),
30358         (gst_pad_get_element_private), (gst_pad_start_task),
30359         (gst_pad_pause_task), (gst_pad_stop_task),
30360         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
30361         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
30362         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
30363         (gst_ghost_pad_new):
30364         * gst/gstpad.h:
30365         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
30366         (gst_query_new_position), (gst_query_set_position),
30367         (gst_query_parse_position), (gst_query_new_convert),
30368         (gst_query_set_convert), (gst_query_parse_convert):
30369         * gst/gstquery.h:
30370         * gst/gstqueryutils.c:
30371         * gst/gstqueryutils.h:
30372         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30373         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30374         (gst_queue_handle_src_query):
30375         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30376         (gst_element_query_position), (gst_element_query_convert),
30377         (intersect_caps_func), (gst_pad_query_position),
30378         (gst_pad_query_convert):
30379         * gst/gstutils.h:
30380         * tools/gst-inspect.c: (print_pad_info):
30381         * tools/gst-xmlinspect.c: (print_element_info):
30382         Remove old query functions. Ported old code.
30383         Added position/convert helper functions to gstutils.
30384         Reordered gstpad.c code, grouping relevant things.
30385         Remove gst_message_new(), always need to speficy a specific
30386         message.
30387
30388
30389 2005-05-09  Andy Wingo  <wingo@pobox.com>
30390
30391         * gst/gstiterator.h: Add some includes.
30392
30393         * gst/gstqueryutils.h: Include more headers.
30394
30395         * gst/gstpad.h:
30396         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
30397         some uses of gst_pad_query.
30398
30399         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
30400         NULL out parameters.
30401         (gst_query_new_position): New proc, allocates a new position
30402         query.
30403
30404         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
30405         gstqueryutils.c to the build.
30406
30407         * gst/gststructure.c (gst_structure_set_valist): Implement with
30408         the generic G_VALUE_COLLECT.
30409         
30410 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
30411
30412         * gst/Makefile.am: (gst_headers):
30413         Added gstqueryutils.h to the list of headers to install, that was
30414         a 'nachty' move wingo :)
30415
30416 2005-05-06  Andy Wingo  <wingo@pobox.com>
30417
30418         * gst/gstquery.h
30419         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
30420         GstData, init a memchunk.
30421         (standard_definitions): Add a few query types, deprecate a few.
30422         (gst_query_get_type): New proc.
30423         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
30424         implementation.
30425         (gst_query_new_application, gst_query_get_structure): New public
30426         procs.
30427
30428         * docs/design/draft-query.txt: Removed LINKS from the query types,
30429         because all the rest can be dispatched to other pads -- seemed
30430         ugly to have a query that couldn't be dispatched. internal_links
30431         is fine as a pad method.
30432
30433         * gst/gstpad.h: Add query2 as a pad method, add the new functions
30434         in gstpad.c, but maintain binary compatibility for the moment.
30435         Will fix before 0.9 is out.
30436
30437         * gst/gstqueryutils.c: 
30438         * gst/gstqueryutils.h: New files, implement 3 methods for each
30439         query type: parse_query, parse_response, and set. Probably need an
30440         allocator as well.
30441
30442         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
30443
30444         * gst/elements/gstfilesink.c (gst_filesink_query2):
30445         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
30446         query_types, and formats methods.
30447
30448         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
30449         (gst_pad_set_query2_function): New functions.
30450         (gst_real_pad_init): Set query2_default as the default query2
30451         function. Basically just dispatches to internally linked pads.
30452
30453         Needs review!
30454         
30455         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
30456         without using the atomic operations. Only one thread can possibly
30457         be accessing the data at this point. Changed so as to avoid
30458         gst_atomic operations.
30459
30460 2005-05-06  Wim Taymans  <wim@fluendo.com>
30461
30462         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
30463         Also set caps if we use the fallback buffer alloc.
30464
30465 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
30466
30467         * docs/gst/Makefile.am:
30468         * docs/gst/gstreamer-docs.sgml:
30469         * docs/gst/gstreamer-sections.txt:
30470         * docs/gst/tmpl/gstatomic.sgml:
30471         * docs/gst/tmpl/gstmemchunk.sgml:
30472         * testsuite/elements/struct_i386.h:
30473         * win32/GStreamer.vcproj:
30474         * win32/Makefile:
30475           Purge GstAtomic stuff from docs and win32 makefiles as well
30476
30477 2005-05-06  Wim Taymans  <wim@fluendo.com>
30478
30479         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
30480         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
30481         * gst/gstpad.c: (gst_pad_peer_get_caps):
30482         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30483         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30484         (gst_queue_src_activate), (gst_queue_change_state):
30485         * gst/gstqueue.h:
30486         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30487         (intersect_caps_func):
30488         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
30489         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
30490         Some fixes for the peer_get_caps() change.
30491
30492 2005-05-06  Wim Taymans  <wim@fluendo.com>
30493
30494         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
30495         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
30496         (gst_basesink_activate):
30497         Actually do something with error codes returned from the push
30498         functions.
30499
30500 2005-05-06  Wim Taymans  <wim@fluendo.com>
30501
30502         * docs/design/part-element-sink.txt:
30503         * docs/design/part-element-source.txt:
30504         * gst/base/gstbasesink.c: (gst_basesink_class_init),
30505         (gst_basesink_event), (gst_basesink_activate):
30506         * gst/base/gstbasesink.h:
30507         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
30508         (gst_basesrc_activate):
30509         * gst/base/gstbasesrc.h:
30510         * gst/gstelement.c: (gst_element_pads_activate):
30511         Some more documentation.
30512         Fixed scheduling decision in _pads_activate().
30513
30514 2005-05-05  Andy Wingo  <wingo@pobox.com>
30515
30516         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
30517         the test suite.
30518
30519 2005-05-05  Wim Taymans  <wim@fluendo.com>
30520
30521         * gst/base/Makefile.am:
30522         * gst/base/gstbasesink.h:
30523         * gst/base/gstbasesrc.c: (gst_basesrc_init),
30524         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
30525         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
30526         (gst_collectpads_class_init), (gst_collectpads_init),
30527         (gst_collectpads_finalize), (gst_collectpads_new),
30528         (gst_collectpads_set_function), (gst_collectpads_add_pad),
30529         (find_pad), (gst_collectpads_remove_pad),
30530         (gst_collectpads_is_active), (gst_collectpads_collect),
30531         (gst_collectpads_collect_range), (gst_collectpads_start),
30532         (gst_collectpads_stop), (gst_collectpads_peek),
30533         (gst_collectpads_pop), (gst_collectpads_available),
30534         (gst_collectpads_read), (gst_collectpads_flush),
30535         (gst_collectpads_chain):
30536         * gst/base/gstcollectpads.h:
30537         * gst/elements/Makefile.am:
30538         * gst/elements/gstelements.c:
30539         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30540         (gst_fakesink_get_times), (gst_fakesink_event),
30541         (gst_fakesink_preroll), (gst_fakesink_render):
30542         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
30543         (gst_filesink_init), (gst_filesink_set_location),
30544         (gst_filesink_open_file), (gst_filesink_close_file),
30545         (gst_filesink_pad_query), (gst_filesink_event),
30546         (gst_filesink_render), (gst_filesink_change_state):
30547         * gst/elements/gstfilesink.h:
30548         Added object to help in making collect pad based elements.
30549         Ported filesink.
30550         Make event function in sink baseclass return gboolean.
30551
30552 2005-05-05  Wim Taymans  <wim@fluendo.com>
30553
30554         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
30555         (gst_bin_get_by_name):
30556         * gst/gstbuffer.h:
30557         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
30558         (gst_clock_finalize):
30559         * gst/gstdata.c: (gst_data_replace):
30560         * gst/gstdata.h:
30561         * gst/gstelement.c: (gst_element_request_pad),
30562         (gst_element_pads_activate):
30563         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
30564         (gst_object_unref):
30565         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30566         (gst_pad_set_checkgetrange_function),
30567         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
30568         (gst_pad_check_pull_range), (gst_pad_pull_range),
30569         (gst_static_pad_template_get_caps), (gst_pad_start_task),
30570         (gst_pad_pause_task), (gst_pad_stop_task):
30571         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30572         (gst_element_request_pad), (gst_pad_proxy_getcaps):
30573         Fix name lookup in GstBin.
30574         Added _data_replace() function and _buffer_replace()
30575         Use finalize method to clean up clock.
30576         Fix refcounting on request pads.
30577         Fix pad schedule mode error.
30578         Some more object refcounting debug info,
30579
30580
30581 2005-05-04  Andy Wingo <wingo@pobox.com>
30582
30583         * check/Makefile.am:
30584         * docs/gst/tmpl/gstatomic.sgml:
30585         * docs/gst/tmpl/gstplugin.sgml:
30586         * gst/base/gstbasesink.c: (gst_basesink_activate):
30587         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
30588         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
30589         (gst_basesrc_query), (gst_basesrc_set_property),
30590         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
30591         (gst_basesrc_activate):
30592         * gst/base/gstbasesrc.h:
30593         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
30594         (gst_base_transform_src_activate):
30595         * gst/elements/gstelements.c:
30596         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
30597         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
30598         * gst/elements/gsttee.c: (gst_tee_sink_activate):
30599         * gst/elements/gsttypefindelement.c: (find_element_get_length),
30600         (gst_type_find_element_checkgetrange),
30601         (gst_type_find_element_activate):
30602         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
30603         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
30604         (gst_caps_load_thyself):
30605         * gst/gstelement.c: (gst_element_pads_activate),
30606         (gst_element_save_thyself), (gst_element_restore_thyself):
30607         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
30608         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
30609         * gst/gstpad.h:
30610         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
30611         (gst_xml_parse_file), (gst_xml_parse_memory),
30612         (gst_xml_get_element), (gst_xml_make_element):
30613         * gst/indexers/gstfileindex.c: (gst_file_index_load),
30614         (_file_index_id_save_xml), (gst_file_index_commit):
30615         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
30616         (read_enum), (load_pad_template), (load_feature), (load_plugin),
30617         (load_paths):
30618         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
30619         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
30620         * tools/gst-complete.c: (main):
30621         * tools/gst-compprep.c: (main):
30622         * tools/gst-inspect.c: (print_element_properties_info):
30623         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
30624         * tools/gst-xmlinspect.c: (print_element_properties):
30625         GCC 4 fixen.
30626         
30627 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
30628
30629         * gst/gstplugin.c: (gst_plugin_check_module),
30630         (gst_plugin_check_file), (gst_plugin_load_file):
30631             apply patch from #172526 to make register work on MacOSX
30632
30633 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30634
30635         * docs/gst/tmpl/gstconfig.sgml:
30636         * gst/gstconfig.h.in:
30637           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
30638         * testsuite/debug/printf_extension.c: (main):
30639           Do not use GST_PTR_FORMAT on pointers to types with
30640           sizeof < sizeof(gpointer).  Fixes test on 64-bit
30641         * testsuite/elements/property.h:
30642           use correct printf format
30643
30644 2005-05-02  Wim Taymans  <wim@fluendo.com>
30645
30646         * docs/design/draft-push-pull.txt:
30647         * docs/design/draft-query.txt:
30648         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
30649         (gst_basesrc_start):
30650         Added draft for new query API.
30651         Added draft for better selecting scheduling methods.
30652         Make basesrc ignore length if the subclass does not support
30653         it.
30654
30655 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30656
30657         * gst/Makefile.am:
30658           possible fixes for automake-1.5 - _LIBADD is reserved
30659
30660 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30661
30662         * docs/faq/Makefile.am:
30663         * docs/manual/Makefile.am:
30664         * docs/manuals.mak:
30665         * docs/pwg/Makefile.am:
30666         * gst/Makefile.am:
30667           possible fixes for automake-1.5
30668
30669 2005-04-28  Wim Taymans  <wim@fluendo.com>
30670
30671         * gst/base/gstbasesink.c: (gst_basesink_base_init),
30672         (gst_basesink_pad_getcaps), (gst_basesink_init),
30673         (gst_basesink_do_sync):
30674         * gst/gstclock.c: (gst_clock_entry_new):
30675         * gst/gstevent.c: (gst_event_discont_get_value):
30676         * gst/gstpipeline.c: (pipeline_bus_handler),
30677         (gst_pipeline_change_state):
30678         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
30679         Better debugging of clocking info.
30680         Allow NULL values when getting discont values.
30681
30682 2005-04-27  Wim Taymans  <wim@fluendo.com>
30683
30684         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
30685         * check/gst/gstpad.c: (gst_pad_suite):
30686         Increase timeout for checks.
30687
30688 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
30689
30690         * check/Makefile.am:
30691           fix the broken rule for cleanup.  Apparently this rule is
30692           only needed on FC2, so maybe this warrants further autotool
30693           inspection.
30694
30695 2005-04-26  Wim Taymans  <wim@fluendo.com>
30696
30697         * gst/gsttrashstack.h:
30698         Ooohh. a nasty one! After having a failed pop() from the stack,
30699         it's possible that the stack is empty. In that case, don't
30700         follow the NULL pointer.
30701
30702 2005-04-25  Wim Taymans  <wim@fluendo.com>
30703
30704         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30705         (gst_pad_set_checkgetrange_function),
30706         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
30707         (gst_pad_check_pull_range), (gst_pad_pull_range),
30708         (gst_static_pad_template_get_caps), (gst_pad_start_task),
30709         (gst_pad_pause_task), (gst_pad_stop_task):
30710         * gst/gstplugin.c: (gst_plugin_load):
30711         * gst/gstplugin.h:
30712         Remove gst_library_load as it does more harm than good with
30713         the new g_module flags.
30714         Revert bogus caps template check in pad linking, pad caps
30715         are important when linking not the template, which is more
30716         general than the current caps.
30717
30718 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30719
30720         * gst/autoplug/.cvsignore:
30721         * gst/autoplug/Makefile.am:
30722         * gst/autoplug/gstsearchfuncs.c:
30723         * gst/autoplug/gstsearchfuncs.h:
30724         * gst/autoplug/gstspider.c:
30725         * gst/autoplug/gstspider.h:
30726         * gst/autoplug/gstspideridentity.c:
30727         * gst/autoplug/gstspideridentity.h:
30728         * gst/autoplug/spidertest.c:
30729           Die, spider, die.
30730
30731 2005-04-25  Wim Taymans  <wim@fluendo.com>
30732
30733         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30734         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
30735         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
30736         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
30737         * gst/gstpad.h:
30738         Added stubs for unimplemented functions. 
30739
30740 2005-04-24  David Schleef  <ds@schleef.org>
30741
30742         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
30743         please fix.
30744
30745 2005-04-24  David Schleef  <ds@schleef.org>
30746
30747         Convert everything from GstAtomicInt to g_atomic_int_*, and
30748         remove gstatomic.
30749         * gst/Makefile.am:
30750         * gst/gstatomic.c:
30751         * gst/gstatomic.h:
30752         * gst/gstatomic_impl.h:
30753         * gst/gstbuffer.c:
30754         * gst/gstcaps.c:
30755         * gst/gstcaps.h:
30756         * gst/gstclock.c:
30757         * gst/gstclock.h:
30758         * gst/gstdata.c:
30759         * gst/gstdata.h:
30760         * gst/gstdata_private.h:
30761         * gst/gstevent.c:
30762         * gst/gstinfo.c:
30763         * gst/gstinfo.h:
30764         * gst/gstmessage.c:
30765         * gst/gstobject.c:
30766         * gst/gstobject.h:
30767         * gst/gststructure.c:
30768         * gst/gststructure.h:
30769         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
30770         * gst/gstutils.h:
30771
30772 2005-04-24  David Schleef  <ds@schleef.org>
30773
30774         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
30775         make the regressions tests work.  Remove some code that is no
30776         longer true.
30777         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
30778         Disable warning for pads without templates.
30779
30780 2005-04-24  David Schleef  <ds@schleef.org>
30781
30782         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
30783         functions that handle filtered links.
30784         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
30785         removed functions.
30786         * gst/gstutils.c: Fix/remove utility functions that handle
30787         filtered caps.
30788         * gst/gstutils.h:
30789         * gst/gstvalue.c: Add serialization/deserialization of caps
30790         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
30791         requires fixing so that the filter caps notation creates
30792         a capsfilter element and sets the filter_caps property.  I
30793         think everyone probably wants to keep the shorthand notation.
30794         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
30795         * docs/gst/tmpl/gstpad.sgml:
30796
30797         * gst/elements/gstelements.c: Register capsfilter element.
30798         * gst/Makefile.am: fix spacing
30799         * docs/random/ds/0.9-suggested-changes: random
30800
30801 2005-04-23  David Schleef  <ds@schleef.org>
30802
30803         * gst/elements/Makefile.am:
30804         * gst/elements/gstcapsfilter.c: New element that acts like an
30805         identity, but filters caps.  Will eventually replace filtered
30806         caps in pad linking.
30807         * gst/gstutils.c: (gst_element_create_all_pads): New function
30808         to create all the ALWAYS pads that are registered with an
30809         element class.  This functionality should eventually be
30810         merged in with GstElement initialization.
30811         * gst/gstutils.h:
30812         * testsuite/trigger/README: part of trigger test code that should
30813         have been checked in a long time ago.
30814
30815 2005-04-23  David Schleef  <ds@schleef.org>
30816
30817         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
30818         needed with new versions of libtool (nobody will confirm this),
30819         and hard to carry around.
30820         * gst/autoplug/Makefile.am:
30821         * gst/base/Makefile.am:
30822         * gst/elements/Makefile.am:
30823         * gst/indexers/Makefile.am:
30824         * gst/schedulers/Makefile.am:
30825         * libs/gst/bytestream/Makefile.am:
30826         * libs/gst/control/Makefile.am:
30827         * libs/gst/dataprotocol/Makefile.am:
30828         * libs/gst/getbits/Makefile.am:
30829
30830 2005-04-21  Wim Taymans  <wim@fluendo.com>
30831
30832         * docs/design/draft-push-pull.txt:
30833         * docs/design/part-MT-refcounting.txt:
30834         * docs/design/part-TODO.txt:
30835         * docs/design/part-caps.txt:
30836         * docs/design/part-events.txt:
30837         * docs/design/part-gstbus.txt:
30838         * docs/design/part-gstpipeline.txt:
30839         * docs/design/part-messages.txt:
30840         * docs/design/part-push-pull.txt:
30841         * docs/design/part-query.txt:
30842         Some more docs.
30843
30844 2005-04-21  Wim Taymans  <wim@fluendo.com>
30845
30846         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
30847         (gst_message_new), (gst_message_new_error),
30848         (gst_message_new_warning), (gst_message_new_tag),
30849         (gst_message_new_state_changed), (gst_message_new_application),
30850         (gst_message_get_structure):
30851         * gst/gstmessage.h:
30852         * gst/gststructure.c: (gst_structure_set_parent_refcount),
30853         (gst_structure_copy_conditional):
30854         Use parent refcount in GstMessage to ensure GstStructure
30855         consistency.
30856         Cleaned up headers a bit.
30857         
30858
30859 2005-04-20  Wim Taymans  <wim@fluendo.com>
30860
30861         * gst/base/gstbasesink.c: (gst_basesink_base_init),
30862         (gst_basesink_pad_getcaps), (gst_basesink_init),
30863         (gst_basesink_chain_unlocked):
30864         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
30865         (gst_type_find_helper):
30866         * gst/elements/gsttypefindelement.c:
30867         (gst_type_find_element_have_type), (gst_type_find_element_init),
30868         (stop_typefinding), (gst_type_find_element_handle_event),
30869         (find_suggest), (gst_type_find_element_chain),
30870         (gst_type_find_element_checkgetrange),
30871         (gst_type_find_element_getrange), (do_typefind),
30872         (gst_type_find_element_activate):
30873         * gst/gstbuffer.c: (_gst_buffer_sub_free),
30874         (gst_buffer_default_free), (gst_buffer_default_copy),
30875         (gst_buffer_set_caps):
30876         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
30877         (gst_caps_replace):
30878         * gst/gstmessage.c: (gst_message_new),
30879         (gst_message_new_state_changed):
30880         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30881         (gst_pad_set_checkgetrange_function),
30882         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
30883         (gst_pad_set_caps), (gst_pad_check_pull_range),
30884         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
30885         * gst/gstpad.h:
30886         * gst/gsttypefind.c: (gst_type_find_register):
30887         Make gst_caps_replace() work like other _replace() functions.
30888         Use _caps_replace() where possible.
30889         Make sure _message_new() initialises its field.
30890         Add gst_static_pad_template_get_caps()
30891
30892
30893 2005-04-18  Andy Wingo  <wingo@pobox.com>
30894
30895         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
30896         on the peer, not the pad. I think that was a typo. Pass an extra
30897         arg to see if random access is possible. Activate the pads as
30898         PULL_RANGE if possible.
30899
30900         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
30901
30902         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
30903         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
30904         to PROP_....
30905
30906 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30907
30908         * docs/faq/using.xml:
30909           Add note on gstreamer-properties (#154996).
30910
30911 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30912
30913         * docs/random/bbb/optional-properties:
30914           Some analysis on optional properties.
30915
30916 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30917
30918         * docs/gst/tmpl/gstelementfactory.sgml:
30919         * gst/gstelement.h:
30920         * gst/gstelementfactory.c: (gst_element_factory_init),
30921         (gst_element_factory_cleanup), (gst_element_register),
30922         (__gst_element_factory_add_static_pad_template),
30923         (gst_element_factory_get_static_pad_templates),
30924         (gst_element_factory_can_src_caps),
30925         (gst_element_factory_can_sink_caps):
30926         * gst/registries/Makefile.am:
30927         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
30928         (gst_xml_registry_class_init), (gst_xml_registry_init),
30929         (gst_xml_registry_new), (gst_xml_registry_set_property),
30930         (gst_xml_registry_get_property), (get_time), (make_dir),
30931         (gst_xml_registry_get_perms_func),
30932         (plugin_times_older_than_recurse), (plugin_times_older_than),
30933         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
30934         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
30935         (add_to_char_array), (read_string), (read_uint), (read_enum),
30936         (load_pad_template), (load_feature), (load_plugin), (load_paths),
30937         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
30938         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
30939         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
30940         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
30941         (gst_xml_registry_rebuild):
30942         * gst/registries/gstlibxmlregistry.h:
30943         * tools/gst-compprep.c: (main):
30944         * tools/gst-inspect.c: (print_pad_templates_info):
30945         * tools/gst-xmlinspect.c: (print_element_info):
30946           Use libxml2 for registry parsing, use staticpadtemplates in
30947           elementfactories. Makes gst_init() +/- 10x faster.
30948
30949 2005-04-12  Wim Taymans  <wim@fluendo.com>
30950
30951         * gst/base/Makefile.am:
30952         * gst/base/gstbasesink.c: (gst_basesink_base_init),
30953         (gst_basesink_pad_getcaps), (gst_basesink_init),
30954         (gst_basesink_event), (gst_basesink_change_state):
30955         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
30956         (gst_basesrc_init), (gst_basesrc_query),
30957         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
30958         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
30959         (gst_basesrc_check_get_range), (gst_basesrc_loop),
30960         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
30961         (gst_basesrc_stop), (gst_basesrc_activate),
30962         (gst_basesrc_change_state):
30963         * gst/base/gsttypefindhelper.c: (helper_find_peek),
30964         (helper_find_suggest), (gst_type_find_helper):
30965         * gst/base/gsttypefindhelper.h:
30966         * gst/elements/Makefile.am:
30967         * gst/elements/gstelements.c:
30968         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30969         (gst_fakesink_get_times), (gst_fakesink_event),
30970         (gst_fakesink_preroll), (gst_fakesink_render):
30971         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
30972         (gst_fakesrc_init), (gst_fakesrc_event_handler),
30973         (gst_fakesrc_get_property), (gst_fakesrc_create),
30974         (gst_fakesrc_start), (gst_fakesrc_stop):
30975         * gst/elements/gstfakesrc.h:
30976         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
30977         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
30978         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
30979         (gst_filesrc_create_read), (gst_filesrc_create),
30980         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
30981         (gst_filesrc_start):
30982         * gst/elements/gsttypefindelement.c:
30983         (gst_type_find_element_have_type), (gst_type_find_element_init),
30984         (start_typefinding), (stop_typefinding), (push_buffer_store),
30985         (gst_type_find_element_handle_event),
30986         (gst_type_find_element_chain),
30987         (gst_type_find_element_checkgetrange),
30988         (gst_type_find_element_getrange), (do_typefind),
30989         (gst_type_find_element_activate),
30990         (gst_type_find_element_change_state):
30991         * gst/elements/gsttypefindelement.h:
30992         * gst/gstpipeline.c: (pipeline_bus_handler):
30993         Added typefind helper.
30994         Small preroll fix in the base sink.
30995         Disable typefind code in basesrc.
30996         Crude port of typefindelement.
30997         Fakesrc cleanups.
30998
30999
31000 2005-04-11  Wim Taymans  <wim@fluendo.com>
31001
31002         * check/gst/gstbus.c: (gstbus_suite):
31003         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
31004         * check/gstcheck.h:
31005           Fix up the timeout so that the test does not fail.
31006
31007 2005-04-06  Wim Taymans  <wim@fluendo.com>
31008
31009         * gst/base/README:
31010         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31011         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
31012         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
31013         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
31014         (gst_basesrc_check_get_range), (gst_basesrc_loop),
31015         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
31016         (gst_basesrc_stop), (gst_basesrc_activate),
31017         (gst_basesrc_change_state), (basesrc_find_peek),
31018         (basesrc_find_suggest), (gst_basesrc_type_find):
31019         * gst/base/gstbasesrc.h:
31020         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
31021         (gst_filesrc_class_init), (gst_filesrc_init),
31022         (gst_filesrc_finalize), (gst_filesrc_set_location),
31023         (gst_filesrc_set_property), (gst_filesrc_get_property),
31024         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
31025         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
31026         (gst_filesrc_create_read), (gst_filesrc_create),
31027         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
31028         * gst/elements/gstfilesrc.h:
31029         * gst/gstelement.c: (gst_element_get_state_func),
31030         (gst_element_lost_state), (gst_element_pads_activate):
31031         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31032         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
31033         (gst_pad_pull_range):
31034         * gst/gstpad.h:
31035         More work on the generic source base class, implement seeking,
31036         query.
31037         Make filesrc extend the base source class.
31038         Added gst_pad_set_checkgetrange_function to GstPad.
31039
31040 2005-04-06  Andy Wingo  <wingo@pobox.com>
31041
31042         * pkgconfig/gstreamer-base.pc.in:
31043         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
31044
31045         * pkgconfig/Makefile.am:
31046         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
31047
31048 2005-04-04  Wim Taymans  <wim@fluendo.com>
31049
31050         * gst/base/Makefile.am:
31051         * gst/base/README:
31052         * gst/base/gstbasesink.c: (gst_basesink_base_init),
31053         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
31054         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
31055         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
31056         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31057         (gst_basesrc_base_init), (gst_basesrc_class_init),
31058         (gst_basesrc_init), (gst_basesrc_get_formats),
31059         (gst_basesrc_get_query_types), (gst_basesrc_query),
31060         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
31061         (gst_basesrc_set_property), (gst_basesrc_get_property),
31062         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
31063         (gst_basesrc_loop), (gst_basesrc_activate),
31064         (gst_basesrc_change_state):
31065         * gst/base/gstbasesrc.h:
31066         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
31067         (gst_fakesrc_class_init), (gst_fakesrc_init),
31068         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
31069         (gst_fakesrc_get_property), (gst_fakesrc_create):
31070         * gst/elements/gstfakesrc.h:
31071         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
31072         (gst_filesrc_open_file), (gst_filesrc_loop),
31073         (gst_filesrc_activate), (filesrc_find_peek),
31074         (gst_filesrc_type_find):
31075         Made base source class, make fakesrc extend it.
31076         Add comments to basesink class.
31077         Some filesrc cleanup.
31078
31079 2005-03-31  David Schleef  <ds@schleef.org>
31080
31081         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
31082         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
31083         expected to link against libgstreamer.
31084         * gst/base/Makefile.am: link against libgstreamer
31085         * gst/elements/Makefile.am: same
31086
31087 2005-03-31  Andy Wingo  <wingo@pobox.com>
31088
31089         * tests/instantiate/Makefile.am:
31090         * tests/instantiate/caps.c: Add test to test speed of caps copy
31091         and free.
31092
31093         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
31094         GMemChunk to be fair.
31095
31096         * gst/gsttrashstack.h: Remove warning about using the fallback
31097         trash stack implementation, it's still faster than malloc.
31098
31099 2005-03-30  Andy Wingo  <wingo@pobox.com>
31100
31101         * tests/complexity.c: Add a copyright.
31102
31103 2005-03-31  Wim Taymans  <wim@fluendo.com>
31104
31105         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
31106         (gst_base_transform_class_init), (gst_base_transform_init),
31107         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
31108         (gst_base_transform_get_property),
31109         (gst_base_transform_sink_activate),
31110         (gst_base_transform_src_activate),
31111         (gst_base_transform_change_state):
31112         * gst/base/gstbasetransform.h:
31113         * gst/elements/gstidentity.c: (gst_identity_class_init),
31114         (gst_identity_event), (gst_identity_check_perfect),
31115         (gst_identity_transform), (gst_identity_start),
31116         (gst_identity_stop):
31117         Added start/stop methods to transform base class so subclasses 
31118         don't need to deal with state changes even.
31119
31120 2005-03-31  Wim Taymans  <wim@fluendo.com>
31121
31122         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
31123         (gst_event_new_discontinuous), (gst_event_discont_get_value):
31124         * gst/gstevent.h:
31125         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31126         (gst_pad_pull_range):
31127         Added rate to the discont event to prepare for variable speed
31128         and reverse playback.
31129
31130 2005-03-29  David Schleef  <ds@schleef.org>
31131
31132         * configure.ac:
31133         * testsuite/trigger/Makefile.am:
31134         * testsuite/trigger/trigger.c: A little example program to show
31135         how trigger-based elements can work.
31136
31137 2005-03-29  Wim Taymans  <wim@fluendo.com>
31138
31139         * gst/base/Makefile.am:
31140         * gst/base/README:
31141         * gst/base/gstbasesink.c: (gst_basesink_get_type),
31142         (gst_basesink_base_init), (gst_basesink_class_init),
31143         (gst_basesink_pad_getcaps), (gst_basesink_init),
31144         (gst_basesink_activate), (gst_basesink_change_state):
31145         * gst/base/gstbasesink.h:
31146         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
31147         (gst_base_transform_base_init), (gst_base_transform_finalize),
31148         (gst_base_transform_class_init), (gst_base_transform_init),
31149         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
31150         (gst_base_transform_event), (gst_base_transform_getrange),
31151         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
31152         (gst_base_transform_set_property),
31153         (gst_base_transform_get_property),
31154         (gst_base_transform_sink_activate),
31155         (gst_base_transform_src_activate),
31156         (gst_base_transform_change_state):
31157         * gst/base/gstbasetransform.h:
31158         * gst/elements/gstidentity.c: (gst_identity_finalize),
31159         (gst_identity_class_init), (gst_identity_init),
31160         (gst_identity_event), (gst_identity_check_perfect),
31161         (gst_identity_transform), (gst_identity_set_property),
31162         (gst_identity_get_property), (gst_identity_change_state):
31163         * gst/elements/gstidentity.h:
31164         * gst/gstelement.c: (gst_element_get_state_func),
31165         (gst_element_lost_state), (gst_element_pads_activate):
31166         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31167         (gst_pad_check_pull_range), (gst_pad_pull_range):
31168         * gst/gstpad.h:
31169         Simplify pad activation.
31170         Added function to check if pull_range can be performed.
31171         Error out when pulling inactive or flushing pads.
31172         Removed const from refcounted types as it does not make sense.
31173         Simplify pad templates in basesink
31174         Added base class for simple 1-to-1 transforms.
31175         Make identity subclass the base transform.
31176
31177 2005-03-29  Andy Wingo  <wingo@pobox.com>
31178
31179         * docs/libs/gstreamer-libs-overrides.txt: 
31180         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
31181         really don't understand what's going on, but like whatever. I want
31182         green buildbot!
31183
31184         * docs/gst/Makefile.am:
31185         * docs/libs/Makefile.am: Dist the overrides files.
31186
31187         * check/Makefile.am (clean-local): Remove .libs directories.
31188
31189         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
31190         elements to EXTRA_DIST, so po/ files are happy.
31191
31192         * po/POTFILES.in: Er, remove it here.
31193
31194         * po/POTFILES: Remove gstspider.c.
31195
31196         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
31197
31198         * docs/libs/gstreamer-libs-docs.sgml: 
31199         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
31200         bytestream.
31201
31202         * tests/complexity.c (main): Set the length of the preroll queue
31203         on the sinks to prevent a lockup.
31204
31205         * libs/gst/dataprotocol/Makefile.am: 
31206         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
31207         the same as the one in check/gst-libs/gdp.c.
31208
31209         * po/, docs/gst/: Commit automatic changes to docs and po files.
31210
31211         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
31212         the versioned libgstbase.
31213
31214         * check/Makefile.am: Depend on an unversioned gst-register, seems
31215         to make autoconf happier.
31216
31217         * gst/base/Makefile.am: Make libgstbase a versioned lib.
31218
31219 2005-03-28  Wim Taymans  <wim@fluendo.com>
31220
31221         * configure.ac:
31222         * docs/design/part-gstelement.txt:
31223         * docs/design/part-negotiation.txt:
31224         * docs/design/part-preroll.txt:
31225         * docs/design/part-scheduling.txt:
31226         * docs/design/part-states.txt:
31227         * gst/Makefile.am:
31228         * gst/base/Makefile.am:
31229         * gst/base/README:
31230         * gst/base/gstbasesink.c: (gst_basesink_get_template),
31231         (gst_basesink_base_init), (gst_basesink_class_init),
31232         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
31233         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
31234         (gst_basesink_set_pad_functions),
31235         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
31236         (gst_basesink_set_property), (gst_basesink_get_property),
31237         (gst_base_sink_get_template), (gst_base_sink_get_caps),
31238         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
31239         (gst_basesink_preroll_queue_push),
31240         (gst_basesink_preroll_queue_empty),
31241         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
31242         (gst_basesink_event), (gst_basesink_get_times),
31243         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
31244         (gst_basesink_chain_unlocked), (gst_basesink_chain),
31245         (gst_basesink_loop), (gst_basesink_activate),
31246         (gst_basesink_change_state):
31247         * gst/base/gstbasesink.h:
31248         * gst/elements/Makefile.am:
31249         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
31250         (gst_fakesink_class_init), (gst_fakesink_init),
31251         (gst_fakesink_set_property), (gst_fakesink_get_property),
31252         (gst_fakesink_get_times), (gst_fakesink_event),
31253         (gst_fakesink_preroll), (gst_fakesink_render),
31254         (gst_fakesink_change_state):
31255         * gst/elements/gstfakesink.h:
31256         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31257         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
31258         * gst/gstelement.c: (gst_element_add_pad),
31259         (gst_element_get_state_func), (gst_element_abort_state),
31260         (gst_element_commit_state), (gst_element_lost_state),
31261         (gst_element_set_state), (gst_element_pads_activate):
31262         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
31263         * gst/gstpipeline.c: (gst_pipeline_send_event),
31264         (gst_pipeline_change_state):
31265         Added state change code.
31266         Added/updated docs.
31267         Added sink base class, make fakesink extend the base class.
31268         Small cleanups in GstPipeline.
31269
31270 2005-03-26  David Schleef  <ds@schleef.org>
31271
31272         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
31273         is broken and should be implemented in a different library.
31274         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
31275         * gst/gst.h: remove gstcpu.h
31276         * gst/gstcpu.c: remove
31277         * gst/gstcpu.h: remove
31278         * gst/Makefile.am.future: Remove this file.  It's ancient.
31279
31280 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31281
31282         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31283         (gst_bin_send_event):
31284           Add default event/set_manager handlers. The set_manager handler
31285           takes care that the manager is distributed over kids that were
31286           already in the bin before the manager was set. The event handler
31287           is a utility virtual function that sends the event over all sinks,
31288           so that gst_element_send_event (bin, event); has the expected
31289           behaviour.
31290         * gst/gstpad.c: (gst_pad_event_default):
31291           Re-install default event handling for discontinuities, so that
31292           seeking works without requiring hacks in applications or extra
31293           code in sinks.
31294         * gst/gstpipeline.c: (gst_pipeline_class_init),
31295         (gst_pipeline_send_event):
31296           Half hack, half utility: set a pipeline to PAUSED for seek events,
31297           since that is the only way we can guarantee a/v sync. Means that
31298           you can do gst_element_seek (pipeline, method, pos); on a pipeline
31299           and it "just works".
31300
31301 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31302
31303         * gst/gstpipeline.c: (gst_pipeline_use_clock):
31304           Lock/unlock mismatch.
31305
31306 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
31307
31308         * docs/faq/gst-uninstalled:
31309           add gst-plugins-base
31310         * docs/gst/Makefile.am:
31311           don't error out until docs are fixed
31312         * docs/gst/gstreamer.types:
31313           remove thread
31314
31315 2005-03-22  Wim Taymans  <wim@fluendo.com>
31316
31317         * check/Makefile.am:
31318         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
31319         * gst/gststructure.c: (gst_structure_set_valist),
31320         (gst_structure_copy_conditional):
31321         Activated more tests.
31322         Added message test.
31323         Added G_TYPE_POINTER to GstStructure.
31324         
31325
31326 2005-03-22  Wim Taymans  <wim@fluendo.com>
31327
31328         * docs/design/part-TODO.txt:
31329         * docs/design/part-events.txt:
31330         * docs/design/part-gstbin.txt:
31331         * docs/design/part-gstbus.txt:
31332         * docs/design/part-gstpipeline.txt:
31333         * docs/design/part-messages.txt:
31334         * gst/gstbus.c:
31335         * gst/gstmessage.c:
31336         Docs updates
31337
31338 2005-03-21  Wim Taymans  <wim@fluendo.com>
31339
31340         * gst/gstbus.c: (gst_bus_post):
31341         Fix copy-and-paste error.
31342
31343 2005-03-21  Wim Taymans  <wim@fluendo.com>
31344
31345         * check/Makefile.am:
31346         * gst/Makefile.am:
31347         * gst/elements/Makefile.am:
31348         * gst/elements/gstelements.c:
31349         * gst/elements/gstfakesink.c: (gst_fakesink_init),
31350         (gst_fakesink_event), (gst_fakesink_chain):
31351         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
31352         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
31353         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
31354         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
31355         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
31356         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
31357         (gst_fakesrc_loop), (gst_fakesrc_activate),
31358         (gst_fakesrc_change_state):
31359         * gst/elements/gstfakesrc.h:
31360         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
31361         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
31362         (gst_filesrc_open_file), (gst_filesrc_loop),
31363         (gst_filesrc_activate), (gst_filesrc_change_state),
31364         (filesrc_find_peek), (filesrc_find_suggest),
31365         (gst_filesrc_type_find):
31366         * gst/elements/gstidentity.c: (gst_identity_finalize),
31367         (gst_identity_class_init), (gst_identity_init),
31368         (gst_identity_proxy_getcaps), (identity_queue_push),
31369         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
31370         (gst_identity_getrange), (gst_identity_chain),
31371         (gst_identity_sink_loop), (gst_identity_src_loop),
31372         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
31373         (gst_identity_set_property), (gst_identity_get_property),
31374         (gst_identity_change_state):
31375         * gst/elements/gstidentity.h:
31376         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
31377         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
31378         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
31379         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
31380         (gst_tee_sink_activate):
31381         * gst/elements/gsttee.h:
31382         * gst/gst.c: (gst_register_core_elements), (init_post):
31383         * gst/gst.h:
31384         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
31385         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
31386         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
31387         (gst_bin_change_state):
31388         * gst/gstbin.h:
31389         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
31390         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
31391         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
31392         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
31393         (gst_bus_set_sync_handler), (gst_bus_create_watch),
31394         (bus_watch_callback), (bus_watch_destroy),
31395         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
31396         (poll_timeout), (gst_bus_poll):
31397         * gst/gstbus.h:
31398         * gst/gstcaps.h:
31399         * gst/gstdata.h:
31400         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
31401         (gst_element_post_message), (gst_element_message_full),
31402         (gst_element_get_state_func), (gst_element_get_state),
31403         (gst_element_abort_state), (gst_element_commit_state),
31404         (gst_element_lost_state), (gst_element_set_state),
31405         (gst_element_pads_activate), (gst_element_change_state),
31406         (gst_element_dispose), (gst_element_set_manager_func),
31407         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
31408         (gst_element_set_manager), (gst_element_get_manager),
31409         (gst_element_set_bus), (gst_element_get_bus),
31410         (gst_element_set_scheduler), (gst_element_get_scheduler):
31411         * gst/gstelement.h:
31412         * gst/gstevent.c: (gst_event_new_segment_seek),
31413         (gst_event_new_flush):
31414         * gst/gstevent.h:
31415         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
31416         (_gst_message_free), (gst_message_get_type), (gst_message_new),
31417         (gst_message_new_eos), (gst_message_new_error),
31418         (gst_message_new_warning), (gst_message_new_tag),
31419         (gst_message_new_state_changed), (gst_message_new_application),
31420         (gst_message_get_structure), (gst_message_parse_tag),
31421         (gst_message_parse_state_changed), (gst_message_parse_error),
31422         (gst_message_parse_warning):
31423         * gst/gstmessage.h:
31424         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
31425         (gst_real_pad_set_property), (gst_pad_set_active),
31426         (gst_pad_is_active), (gst_pad_set_blocked_async),
31427         (gst_pad_set_blocked), (gst_pad_is_blocked),
31428         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
31429         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
31430         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
31431         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
31432         (gst_pad_link_filtered), (gst_pad_relink_filtered),
31433         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
31434         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
31435         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
31436         (gst_pad_set_caps), (gst_pad_configure_sink),
31437         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
31438         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
31439         (gst_real_pad_dispose), (gst_real_pad_finalize),
31440         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
31441         (gst_pad_event_default_dispatch), (gst_pad_event_default),
31442         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
31443         * gst/gstpad.h:
31444         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
31445         (pipeline_bus_handler), (gst_pipeline_change_state),
31446         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
31447         * gst/gstpipeline.h:
31448         * gst/gstprobe.h:
31449         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
31450         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
31451         (gst_queue_link_src), (gst_queue_bufferalloc),
31452         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
31453         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
31454         (gst_queue_loop), (gst_queue_handle_src_event),
31455         (gst_queue_handle_src_query), (gst_queue_src_activate),
31456         (gst_queue_change_state):
31457         * gst/gstqueue.h:
31458         * gst/gstscheduler.c: (gst_scheduler_init),
31459         (gst_scheduler_dispose), (gst_scheduler_create_task),
31460         (gst_scheduler_factory_create):
31461         * gst/gstscheduler.h:
31462         * gst/gststructure.c: (gst_structure_get_type),
31463         (gst_structure_copy_conditional):
31464         * gst/gststructure.h:
31465         * gst/gsttaginterface.h:
31466         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
31467         (gst_task_init), (gst_task_dispose), (gst_task_create),
31468         (gst_task_get_state), (gst_task_start), (gst_task_stop),
31469         (gst_task_pause):
31470         * gst/gsttask.h:
31471         * gst/gstthread.c:
31472         * gst/gstthread.h:
31473         * gst/gsttypes.h:
31474         * gst/schedulers/Makefile.am:
31475         * gst/schedulers/cothreads_compat.h:
31476         * gst/schedulers/entryscheduler.c:
31477         * gst/schedulers/faircothreads.c:
31478         * gst/schedulers/faircothreads.h:
31479         * gst/schedulers/fairscheduler.c:
31480         * gst/schedulers/gstbasicscheduler.c:
31481         * gst/schedulers/gstoptimalscheduler.c:
31482         * gst/schedulers/gthread-cothreads.h:
31483         * gst/schedulers/threadscheduler.c:
31484         (gst_thread_scheduler_task_get_type),
31485         (gst_thread_scheduler_task_class_init),
31486         (gst_thread_scheduler_task_init),
31487         (gst_thread_scheduler_task_start),
31488         (gst_thread_scheduler_task_stop),
31489         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
31490         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
31491         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
31492         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
31493         (plugin_init):
31494         * libs/gst/Makefile.am:
31495         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
31496         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
31497         (gst_file_pad_parent_set):
31498         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
31499         (gst_dp_event_from_packet):
31500         * tests/complexity.c: (main):
31501         * tests/mass_elements.c: (main):
31502         * testsuite/states/locked.c: (message_received), (main):
31503         * testsuite/states/parent.c: (main):
31504         * tools/gst-inspect.c: (print_element_flag_info),
31505         (print_implementation_info), (print_pad_info):
31506         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
31507         (main):
31508         * tools/gst-md5sum.c: (event_loop), (main):
31509         * tools/gst-typefind.c: (main):
31510         * tools/gst-xmlinspect.c: (print_element_info):
31511         Next big merge.
31512         Added GstBus for mainloop integration.
31513         Added GstMessage for sending notifications on the bus.
31514         Added GstTask as an abstraction for pipeline entry points.
31515         Removed GstThread.
31516         Removed Schedulers.
31517         Simplified GstQueue for multithreaded core.
31518         Made _link threadsafe, removed old capsnego.
31519         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
31520         Added pad blocking functions.
31521         Reworked scheduling functions in GstPad to prepare for
31522         scheduling updates soon.
31523         Moved events out of data stream.
31524         Simplified GstEvent types.
31525         Added return values to push/pull.
31526         Removed clocking from GstElement.
31527         Added prototypes for state change function for next merge.
31528         Removed iterate from bins and state change management.
31529         Fixed some elements, disabled others for now.
31530         Fixed -inspect and -launch.
31531         Added check for GstBus.
31532
31533 2005-03-10  Wim Taymans  <wim@fluendo.com>
31534
31535         * docs/design/part-MT-refcounting.txt:
31536         * docs/design/part-clocks.txt:
31537         * docs/design/part-gstelement.txt:
31538         * docs/design/part-gstobject.txt:
31539         * docs/design/part-standards.txt:
31540         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31541         (gst_bin_remove_func), (gst_bin_remove):
31542         * gst/gstbin.h:
31543         * gst/gstbuffer.c:
31544         * gst/gstcaps.h:
31545         * testsuite/clock/clock1.c: (main):
31546         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
31547         (main):
31548         * testsuite/dlopen/loadgst.c: (do_test):
31549         * testsuite/refcounting/bin.c: (add_remove_test1),
31550         (add_remove_test2), (main):
31551         * testsuite/refcounting/element.c: (main):
31552         * testsuite/refcounting/element_pad.c: (main):
31553         * testsuite/refcounting/pad.c: (main):
31554         * tools/gst-launch.c: (sigint_handler_sighandler):
31555         * tools/gst-typefind.c: (main):
31556         Doc updates.
31557         Added doc about clock.
31558         removed gst_bin_iterate_recurse_up(), marked methods
31559         for removal.
31560         Fix more testsuites.
31561
31562 2005-03-09  Wim Taymans  <wim@fluendo.com>
31563
31564         * gst/gstpad.c: (gst_pad_get_direction),
31565         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
31566         (gst_pad_collect_valist):
31567         * testsuite/bins/interface.c: (main):
31568         * testsuite/caps/audioscale.c: (test_caps):
31569         * testsuite/caps/caps.c: (test1), (test2), (test3):
31570         * testsuite/caps/deserialize.c: (main):
31571         * testsuite/caps/enumcaps.c: (main):
31572         * testsuite/caps/filtercaps.c: (main):
31573         * testsuite/caps/intersect2.c: (main):
31574         * testsuite/caps/random.c: (main):
31575         * testsuite/caps/renegotiate.c: (my_fixate), (main):
31576         * testsuite/caps/sets.c: (check_caps):
31577         * testsuite/caps/simplify.c: (check_caps), (main):
31578         * testsuite/caps/subtract.c: (check_caps):
31579         Fix _pad_get_direction wrt ghostpads.
31580         Fix caps testsuite.
31581
31582 2005-03-09  Wim Taymans  <wim@fluendo.com>
31583
31584         * check/Makefile.am:
31585         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
31586         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
31587         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
31588         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
31589         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
31590         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
31591         (gst_bin_remove), (gst_bin_iterate_recurse_up),
31592         (bin_element_is_sink), (gst_bin_iterate_sinks),
31593         (gst_bin_iterate_all_by_interface):
31594         * gst/gstbin.h:
31595         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
31596         (gst_element_change_state), (gst_element_dispose),
31597         (gst_element_finalize), (gst_element_set_loop_function):
31598         * gst/gstelement.h:
31599         * gst/gstiterator.c: (find_custom_fold_func):
31600         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31601         (gst_pad_collectv), (gst_pad_collect_valist),
31602         (gst_pad_template_new):
31603         * gst/gstpipeline.c: (gst_pipeline_class_init),
31604         (gst_pipeline_dispose), (gst_pipeline_set_property),
31605         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
31606         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
31607         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
31608         * gst/gstutils.h:
31609         * gst/schedulers/entryscheduler.c:
31610         * gst/schedulers/gstbasicscheduler.c:
31611         (gst_basic_scheduler_cothreaded_chain),
31612         (gst_basic_scheduler_chain_add_element):
31613         * testsuite/bins/interface.c: (main):
31614         Added GstBin test.
31615         Added GstSystemClock test.
31616         Implemented clock distribution code in GstBin.
31617         Implemented iterate sinks method for future use.
31618         Rearranged gstelement.h
31619         Fix GstIterator comparison bug.
31620         Moved some code to GstPipeline, mostly clocking related.
31621
31622 2005-03-09  Wim Taymans  <wim@fluendo.com>
31623
31624         * configure.ac:
31625         * gst/gst_private.h:
31626         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31627         (gst_bin_remove_func), (gst_bin_remove),
31628         (gst_bin_get_by_name_recurse_up):
31629         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
31630         (gst_clock_id_compare_func), (gst_clock_id_wait),
31631         (gst_clock_id_wait_async), (gst_clock_init),
31632         (gst_clock_adjust_unlocked), (gst_clock_get_time):
31633         * gst/gstelement.h:
31634         * gst/gstinfo.c: (_gst_debug_init):
31635         * gst/gstobject.h:
31636         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31637         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
31638         * gst/gstpad.h:
31639         Bump version number, we're now 0.9.0
31640         Add future debugging category.
31641         Fix NULL _unref() in _get_by_name_recurse_up
31642         Rearrange gstpad.h.
31643         Update some docs.
31644
31645 2005-03-08  Wim Taymans  <wim@fluendo.com>
31646
31647         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
31648         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
31649         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
31650         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
31651         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
31652         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
31653         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
31654         * gst/elements/gstidentity.c: (gst_identity_class_init):
31655         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
31656         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
31657         * gst/elements/gstshaper.c: (gst_shaper_class_init):
31658         * gst/elements/gststatistics.c: (gst_statistics_class_init):
31659         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
31660         (gst_tee_link):
31661         * gst/gstelement.c: (gst_element_class_init),
31662         (gst_element_base_class_init), (gst_element_init),
31663         (gst_element_get_random_pad), (gst_element_wait_state_change),
31664         (gst_element_change_state), (gst_element_dispose),
31665         (gst_element_finalize), (gst_element_set_loop_function):
31666         * gst/gstelement.h:
31667         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
31668         * gst/gstthread.c: (gst_thread_class_init),
31669         (gst_thread_release_children_locks), (gst_thread_change_state):
31670         * gst/schedulers/gstbasicscheduler.c:
31671         (gst_basic_scheduler_loopfunc_wrapper),
31672         (gst_basic_scheduler_chain_wrapper),
31673         (gst_basic_scheduler_src_wrapper),
31674         (gst_basic_scheduler_remove_element):
31675         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
31676         Remove threadsafe properties. Fix elements because GObject
31677         complains when installing a property before declaring a
31678         set/get_property handler.
31679         Rearrange gstelement.h file, use STATE macros for state locks.
31680         Free mutexes in the finalize method instead of dispose.
31681
31682 2005-03-08  Wim Taymans  <wim@fluendo.com>
31683
31684         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
31685         * gst/gstthread.c: (gst_thread_release_children_locks):
31686         Added parentage check.
31687         Fix build og GstThread again.
31688
31689 2005-03-08  Wim Taymans  <wim@fluendo.com>
31690
31691         * docs/design/part-MT-refcounting.txt:
31692         * docs/design/part-conventions.txt:
31693         * docs/design/part-gstobject.txt:
31694         * docs/design/part-relations.txt:
31695         * docs/design/part-standards.txt:
31696         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31697         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
31698         (gst_bin_get_by_name), (gst_bin_get_by_interface),
31699         (gst_bin_iterate_all_by_interface):
31700         * gst/gstbuffer.h:
31701         * gst/gstclock.h:
31702         * gst/gstelement.c: (gst_element_class_init),
31703         (gst_element_change_state), (gst_element_set_loop_function):
31704         * gst/gstelement.h:
31705         * gst/gstiterator.c:
31706         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
31707         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
31708         (gst_object_dispatch_properties_changed), (gst_object_set_name),
31709         (gst_object_set_parent), (gst_object_unparent),
31710         (gst_object_check_uniqueness):
31711         * gst/gstobject.h:
31712         Docs updates, clean up some headers.
31713
31714 2005-03-07  Wim Taymans  <wim@fluendo.com>
31715
31716         * check/.cvsignore:
31717         * check/Makefile.am:
31718         * check/gst-libs/.cvsignore:
31719         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
31720         * check/gst/.cvsignore:
31721         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
31722         (START_TEST), (gstbus_suite), (main):
31723         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
31724         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
31725         (gst_data_suite), (main):
31726         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
31727         (add_fold_func), (gstiterator_suite), (main):
31728         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
31729         (thread_name_object), (thread_name_object_default),
31730         (gst_object_name_compare), (gst_object_suite), (main):
31731         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
31732         (gst_pad_suite), (main):
31733         * check/gstcheck.c: (gst_check_log_message_func),
31734         (gst_check_log_critical_func), (gst_check_init):
31735         * check/gstcheck.h:
31736         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
31737         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
31738         Added checks.
31739
31740 2005-03-07  Wim Taymans  <wim@fluendo.com>
31741
31742         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
31743         (gst_list_iterator_next), (gst_list_iterator_resync),
31744         (gst_list_iterator_free), (gst_iterator_new_list),
31745         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
31746         (gst_iterator_free), (gst_iterator_push), (filter_next),
31747         (filter_resync), (filter_uninit), (filter_free),
31748         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
31749         (gst_iterator_foreach), (find_custom_fold_func),
31750         (gst_iterator_find_custom):
31751         * gst/gstiterator.h:
31752         Added missing files.
31753
31754 2005-03-07  Wim Taymans  <wim@fluendo.com>
31755
31756         * Makefile.am:
31757         * configure.ac:
31758         * docs/design/part-MT-refcounting.txt:
31759         * docs/design/part-conventions.txt:
31760         * docs/design/part-gstobject.txt:
31761         * docs/design/part-relations.txt:
31762         * examples/mixer/mixer.c: (main):
31763         * examples/thread/thread.c: (eos), (main):
31764         * gst/Makefile.am:
31765         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
31766         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
31767         (gst_spider_plug_from_srcpad):
31768         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
31769         (gst_spider_identity_change_state),
31770         (gst_spider_identity_sink_loop_type_finding):
31771         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
31772         * gst/elements/gstidentity.c: (gst_identity_init):
31773         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
31774         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
31775         * gst/elements/gsttypefindelement.c: (free_entry):
31776         * gst/gst.c:
31777         * gst/gst.h:
31778         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
31779         (gst_bin_set_clock_func), (gst_bin_auto_clock),
31780         (gst_bin_set_index), (gst_bin_set_element_sched),
31781         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
31782         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
31783         (gst_bin_iterate_elements), (iterate_child_recurse),
31784         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
31785         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
31786         (compare_interface), (gst_bin_get_by_interface),
31787         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
31788         * gst/gstbin.h:
31789         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
31790         (gst_buffer_default_free), (gst_buffer_default_copy),
31791         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
31792         (gst_buffer_create_sub):
31793         * gst/gstbuffer.h:
31794         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
31795         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
31796         (gst_caps_unref), (gst_static_caps_get),
31797         (gst_caps_remove_and_get_structure), (gst_caps_append),
31798         (gst_caps_append_structure), (gst_caps_remove_structure),
31799         (gst_caps_copy_nth), (gst_caps_set_simple),
31800         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
31801         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
31802         (gst_caps_structure_intersect_field), (gst_caps_intersect),
31803         (gst_caps_structure_subtract_field), (gst_caps_subtract),
31804         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
31805         (gst_caps_structure_figure_out_union),
31806         (gst_caps_switch_structures), (gst_caps_do_simplify),
31807         (gst_caps_replace), (gst_caps_from_string),
31808         (gst_caps_copy_conditional):
31809         * gst/gstcaps.h:
31810         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
31811         (_gst_clock_id_free), (gst_clock_id_unref),
31812         (gst_clock_id_compare_func), (gst_clock_id_wait),
31813         (gst_clock_id_wait_async), (gst_clock_class_init),
31814         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
31815         (gst_clock_get_time), (gst_clock_set_time_adjust),
31816         (gst_clock_set_property), (gst_clock_get_property):
31817         * gst/gstclock.h:
31818         * gst/gstcompat.h:
31819         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
31820         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
31821         * gst/gstdata.h:
31822         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
31823         (gst_element_requires_clock), (gst_element_provides_clock),
31824         (gst_element_set_clock), (gst_element_clock_wait),
31825         (gst_element_wait), (gst_element_set_time_delay),
31826         (gst_element_is_indexable), (gst_element_add_pad),
31827         (gst_element_add_ghost_pad), (gst_element_remove_pad),
31828         (pad_compare_name), (gst_element_get_static_pad),
31829         (gst_element_request_pad), (gst_element_get_request_pad),
31830         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
31831         (gst_element_class_get_pad_template_list),
31832         (gst_element_class_get_pad_template), (gst_element_error_func),
31833         (gst_element_get_random_pad), (gst_element_get_event_masks),
31834         (gst_element_send_event), (gst_element_seek),
31835         (gst_element_get_query_types), (gst_element_query),
31836         (gst_element_get_formats), (gst_element_convert),
31837         (gst_element_is_locked_state), (gst_element_set_locked_state),
31838         (gst_element_sync_state_with_parent), (gst_element_change_state),
31839         (gst_element_finalize), (gst_element_yield),
31840         (gst_element_interrupt), (gst_element_set_scheduler),
31841         (gst_element_get_scheduler), (gst_element_set_loop_function):
31842         * gst/gstelement.h:
31843         * gst/gstevent.h:
31844         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
31845         (gst_format_get_by_nick), (gst_format_get_details),
31846         (gst_format_iterate_definitions):
31847         * gst/gstformat.h:
31848         * gst/gstindex.c: (gst_index_gtype_resolver):
31849         * gst/gstinfo.c:
31850         * gst/gstinfo.h:
31851         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
31852         (gst_mem_chunk_free):
31853         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
31854         (gst_object_ref), (gst_object_unref), (gst_object_sink),
31855         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
31856         (gst_object_dispatch_properties_changed),
31857         (gst_object_set_name_default), (gst_object_set_name),
31858         (gst_object_get_name), (gst_object_set_name_prefix),
31859         (gst_object_get_name_prefix), (gst_object_set_parent),
31860         (gst_object_get_parent), (gst_object_unparent),
31861         (gst_object_check_uniqueness), (gst_object_save_thyself),
31862         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
31863         (gst_object_set_property), (gst_object_get_property),
31864         (gst_object_get_path_string):
31865         * gst/gstobject.h:
31866         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
31867         (gst_real_pad_init), (gst_real_pad_get_property),
31868         (gst_pad_custom_new), (gst_pad_get_direction),
31869         (gst_pad_set_active), (gst_pad_is_active),
31870         (gst_pad_set_event_function), (gst_pad_is_linked),
31871         (gst_pad_link_free), (gst_pad_link_intersect),
31872         (gst_pad_link_fixate), (gst_pad_set_caps),
31873         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
31874         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
31875         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
31876         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
31877         (gst_pad_get_caps), (gst_pad_peer_get_caps),
31878         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
31879         (gst_pad_realize), (gst_pad_get_allowed_caps),
31880         (gst_real_pad_dispose), (gst_real_pad_finalize),
31881         (gst_pad_collectv), (gst_pad_collect_valist),
31882         (gst_pad_template_dispose), (gst_pad_template_new),
31883         (gst_pad_get_internal_links):
31884         * gst/gstpad.h:
31885         * gst/gstpipeline.c: (gst_pipeline_dispose),
31886         (gst_pipeline_change_state):
31887         * gst/gstpipeline.h:
31888         * gst/gstplugin.c:
31889         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
31890         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
31891         * gst/gstpluginfeature.h:
31892         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
31893         * gst/gstquery.c: (_gst_query_type_initialize),
31894         (gst_query_type_register), (gst_query_type_get_by_nick),
31895         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
31896         * gst/gstquery.h:
31897         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
31898         * gst/gstscheduler.c: (gst_scheduler_add_element),
31899         (gst_scheduler_factory_create):
31900         * gst/gststructure.c: (gst_structure_set_parent_refcount),
31901         (gst_structure_free), (gst_structure_set_name),
31902         (gst_structure_id_set_value), (gst_structure_set_value),
31903         (gst_structure_set_valist), (gst_structure_remove_field),
31904         (gst_structure_remove_fields),
31905         (gst_structure_remove_fields_valist),
31906         (gst_structure_remove_all_fields), (gst_structure_foreach),
31907         (gst_structure_map_in_place),
31908         (gst_caps_structure_fixate_field_nearest_int),
31909         (gst_caps_structure_fixate_field_nearest_double):
31910         * gst/gststructure.h:
31911         * gst/gstsystemclock.c: (gst_system_clock_class_init),
31912         (gst_system_clock_init), (gst_system_clock_dispose),
31913         (gst_system_clock_async_thread),
31914         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
31915         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
31916         * gst/gstsystemclock.h:
31917         * gst/gsttag.c: (gst_tag_list_add_value_internal),
31918         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
31919         * gst/gsttaginterface.c:
31920         * gst/gstthread.c: (gst_thread_dispose),
31921         (gst_thread_release_children_locks), (gst_thread_change_state),
31922         (gst_thread_main_loop):
31923         * gst/gsttrashstack.h:
31924         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
31925         * gst/gsttypes.h:
31926         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
31927         (gst_element_request_pad), (gst_element_get_pad_from_template),
31928         (gst_element_request_compatible_pad),
31929         (gst_element_get_compatible_pad_filtered),
31930         (gst_element_get_compatible_pad), (gst_element_state_get_name),
31931         (gst_element_link_pads_filtered), (gst_element_link_filtered),
31932         (gst_element_link_many), (gst_element_link),
31933         (gst_element_link_pads), (gst_element_unlink_pads),
31934         (gst_element_unlink_many), (gst_element_unlink),
31935         (gst_pad_can_link_filtered), (gst_pad_can_link),
31936         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
31937         (gst_object_default_error), (gst_bin_add_many),
31938         (gst_bin_remove_many), (gst_element_populate_std_props),
31939         (gst_element_class_install_std_props), (gst_buffer_merge),
31940         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
31941         (link_fold_func), (gst_pad_proxy_setcaps):
31942         * gst/gstutils.h:
31943         * gst/gstvalue.c: (gst_value_deserialize_string):
31944         * gst/parse/grammar.y:
31945         * gst/schedulers/gstbasicscheduler.c:
31946         (gst_basic_scheduler_cothreaded_chain),
31947         (gst_basic_scheduler_chain_recursive_add),
31948         (gst_basic_scheduler_pad_link):
31949         * gst/schedulers/gstoptimalscheduler.c:
31950         (get_group_schedule_function),
31951         (gst_opt_scheduler_state_transition),
31952         (gst_opt_scheduler_add_element), (element_get_reachables_func):
31953         * libs/gst/bytestream/bytestream.c:
31954         * libs/gst/dataprotocol/dataprotocol.c:
31955         (gst_dp_header_from_buffer):
31956         * po/nb.po:
31957         * po/ru.po:
31958         * tests/threadstate/threadstate2.c: (eos):
31959         * tools/gst-compprep.c: (main):
31960         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
31961         (print_pad_info), (print_children_info):
31962         * tools/gst-launch.c: (idle_func), (main):
31963         * tools/gst-md5sum.c: (idle_func), (main):
31964         * tools/gst-xmlinspect.c: (print_element_info):
31965         First THREADED backport attempt, focusing on adding locks and
31966         making sure the API is threadsafe. Needs more work. More docs
31967         follow this week.
31968
31969 2005-02-24  Andy Wingo  <wingo@pobox.com>
31970
31971         * tests/bench-complexity.scm:
31972         * tests/complexity.gnuplot: New files, good for running complexity
31973         benchmarks.
31974
31975         * tests/Makefile.am:
31976         * tests/complexity.c: New test, sets up N elements, at each level
31977         teeing into M streams per element. Eeeenteresting.
31978
31979         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
31980         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
31981         running bench-mass_elements.scm.
31982
31983         * tests/bench-mass_elements.scm: New script, runs mass_elements
31984         for various numbers of identities, outputting the results to a
31985         file. Requires guile 1.6. Just for testing.
31986
31987 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
31988
31989         * gst/schedulers/fairscheduler.c:
31990           compile with debug disabled
31991
31992 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
31993
31994         * configure.ac:
31995           hunting season on 0.9 is now OPEN