Require gettext 0.17 because older versions don't mix with libtool 2.2. At build...
[platform/upstream/gstreamer.git] / ChangeLog
1 2008-11-29  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2
3         Patch by: Cygwin Ports maintainer
4                   <yselkowitz at users dot sourceforge dot net>
5
6         * autogen.sh:
7         * configure.ac:
8         Require gettext 0.17 because older versions don't mix with libtool
9         2.2. At build time an older gettext version will still work.
10         Fixes bug #556091.
11
12 2008-11-27  Wim Taymans  <wim.taymans@collabora.co.uk>
13
14         Patch by: 이문형 <iwings at gmail dot com>
15
16         * gst/gstpoll.c: (gst_poll_fd_ctl_write), (gst_poll_fd_has_error):
17         Adds support for FD_CONNECT event (win32). See #562258.
18
19 2008-11-24  Stefan Kost  <ensonic@users.sf.net>
20
21         * libs/gst/base/gstbasesink.c:
22           Turn comment into gtk-doc comment.
23
24 2008-11-24  Wim Taymans  <wim.taymans@collabora.co.uk>
25
26         * libs/gst/base/gstbasetransform.c:
27         (gst_base_transform_acceptcaps):
28         Revert quick accepcaps attempt, it's not fully equivalent to the old
29         behaviour and thus causes regressions.
30
31 2008-11-24  Edward Hervey  <edward.hervey@collabora.co.uk>
32
33         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
34         Fix memory leak.
35
36 2008-11-24  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
37
38         Patch by: Simon Holm Thøgersen <odie at cs dot aau dot dk>
39
40         * gst/gstregistry.c: (gst_registry_scan_path_level):
41         Reduce the number of stat() calls for every file from three times
42         to one time. Fixes bug #560360.
43
44 2008-11-22  Wim Taymans  <wim.taymans@collabora.co.uk>
45
46         * libs/gst/base/gstbasetransform.c:
47         (gst_base_transform_acceptcaps):
48         Rename a variable to make the code clearer.
49
50 2008-11-21  Stefan Kost  <ensonic@users.sf.net>
51
52         * plugins/elements/gstidentity.c:
53         Don't warning on offset==-1. Taken from _check_imperfect_offset().
54
55 2008-11-21  Michael Smith <msmith@songbirdnest.com>
56
57         * plugins/elements/gstfilesrc.c:
58           Check for localhost in URI was backwards, fix it. Fixes unit test.
59
60 2008-11-21  Wim Taymans  <wim.taymans@collabora.co.uk>
61
62         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
63         (gst_base_transform_getcaps), (gst_base_transform_find_transform),
64         (gst_base_transform_acceptcaps), (gst_base_transform_getrange):
65         Add beginnings of a more optimized acceptcaps function than the default
66         core one.
67
68 2008-11-21  Wim Taymans  <wim.taymans@collabora.co.uk>
69
70         * gst/gstpad.c: (gst_pad_accept_caps):
71         Avoid getting the acceptcaps function too early.
72
73 2008-11-21  Wim Taymans  <wim.taymans@collabora.co.uk>
74
75         * tools/gst-launch.c: (event_loop):
76         Make gst-launch handle LATENCY messages and make it recalculate the
77         latency.
78
79 2008-11-20  Michael Smith <msmith@songbirdnest.com>
80
81         * plugins/elements/gstfilesrc.c:
82           Use g_filename_from_uri() for URI parsing in filesrc rather than rolling
83           out own slightly incorrect version. Fixes use of some paths on
84           win32.
85
86 2008-11-20  Michael Smith <msmith@songbirdnest.com>
87
88         * gst/gstregistrybinary.c:
89           In win32 codepath, if we fail to write the registry, create the
90           directory for it and try again, matching the behaviour in non-win32
91           codepaths.
92
93 2008-11-20  Wim Taymans  <wim.taymans@collabora.co.uk>
94
95         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_render_delay):
96         Changing the render delay changes the latency and so we must post a
97         latency message.
98
99 2008-11-20  Wim Taymans  <wim.taymans@collabora.co.uk>
100
101         * gst/gstquery.c:
102         * gst/gstquery.h:
103         Add GstQueryType for custom queries instead of having to use the
104         not-so-very-convenient registration infrastructure to register new
105         types.
106
107 2008-11-19  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
108
109         Patch by: Andrew Feren <acferen at yahoo dot com>
110
111         * gst/gstobject.c: (gst_object_default_deep_notify):
112         Unref the GEnumClass after usage again. Fixes bug #561501.
113
114 2008-11-19  Wim Taymans  <wim.taymans@collabora.co.uk>
115
116         * gst/gstbin.c: (_gst_boolean_accumulator), (gst_bin_class_init),
117         (gst_bin_recalculate_latency), (gst_bin_do_latency_func),
118         (gst_bin_change_state_func):
119         * gst/gstbin.h:
120         Add do-latency signal with the old default fallback implementation. This
121         allows for custom latency calculations for when the default is not
122         sufficient.
123         API: GstBin::do-latency signal.
124
125 2008-11-18  Wim Taymans  <wim.taymans@collabora.co.uk>
126
127         * win32/common/libgstreamer.def:
128         Add new symbols to .def file.
129
130 2008-11-18  Wim Taymans  <wim.taymans@collabora.co.uk>
131
132         * docs/gst/gstreamer-sections.txt:
133         * gst/gstbin.c: (gst_bin_recalculate_latency),
134         (gst_bin_change_state_func):
135         * gst/gstbin.h:
136         Add method to recalculate and redistribute the latency on a bin.
137         API: gst_bin_recalculate_latency().
138
139 2008-11-18  Wim Taymans  <wim.taymans@collabora.co.uk>
140
141         * gst/gstbuffer.h:
142         Document the free_func.
143
144 2008-11-17  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
145
146         * libs/gst/controller/gstinterpolation.c:
147         * libs/gst/controller/gstlfocontrolsource.c:
148         Use gst_guint64_to_gdouble instead of gst_util_guint64_to_gdouble
149         as it is mapped to a cast on non-win32 platforms.
150
151 2008-11-17  Stefan Kost  <ensonic@users.sf.net>
152
153         * libs/gst/controller/gstcontroller.c:
154         * libs/gst/controller/gstcontrollerprivate.h:
155           Keep last-value and only call set_property if value has changed. This
156           supresses all the g_object_notifies we would trigger otherwise. It
157           also allows the user to chage the value while there is no controller
158           change.
159
160 2008-11-17  Stefan Kost  <ensonic@users.sf.net>
161
162         * gst/gstvalue.c:
163           Don't crash if either of the string GValues is empty.
164
165 2008-11-17  Andy Wingo  <wingo@pobox.com>
166
167         * tools/gst-inspect.c (print_all_uri_handlers): New function,
168         prints a summary of what URI schemes are supported by what
169         elements.
170         (main): Plumb in support for --uri-handlers or -u, and fix the
171         argc check for -a and -u.
172
173 2008-11-17  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
174
175         * gst/gstutils.h:
176         Add G_GNUC_PURE to gst_util_uint64_scale* and the double<->uint64
177         conversion functions.
178
179 2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>
180
181         * gst/gstbuffer.c: (gst_buffer_finalize):
182         Avoid costly typechecking for trivially correct pointers.
183
184         * gst/gstpoll.c: (gst_poll_wait):
185         Add some G_LIKELY here and there.
186
187         * libs/gst/base/gstadapter.c: (gst_adapter_push):
188         Add some debug info.
189
190 2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>
191
192         * docs/random/wtay/poll-timeout:
193         Small tweaks.
194
195 2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>
196
197         * tests/old/testsuite/caps/intersection.c: (main):
198         * tests/old/testsuite/plugin/loading.c: (main):
199         Remove references to deprecated API g_mem_chunk*.
200         Fixes #560442.
201
202 2008-11-12  Wim Taymans  <wim.taymans@collabora.co.uk>
203
204         * tools/gst-inspect.c: (main):
205         Add --plugin option. Fixes #560301.
206
207 2008-11-12  Wim Taymans  <wim.taymans@collabora.co.uk>
208
209         * docs/random/wtay/poll-timeout:
210         Quick braindump for a possible (not totally verified) atomic case.
211
212 2008-11-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
213
214         * gst/gstregistrybinary.c: (gst_registry_binary_write_chunk),
215         (gst_registry_binary_initialize_magic),
216         (gst_registry_binary_write_cache),
217         (gst_registry_binary_check_magic):
218         * gst/gstregistrybinary.h:
219         Don't write and check a CRC for the binary registry file. It's
220         guaranteed that the registry is completely written (it's first written
221         to a temporary file and then moved) and if the registry was corrupted
222         by some hardware failure we would have bigger problems.
223
224         Bump binary registry version to 0.10.21.1 for this as it's an
225         incompatible change and to ensure that the registry gets rebuild
226         after the update.
227
228         This saves some milliseconds for reading/writing the registry.
229         Fixes bug #560399.
230
231 2008-11-11  Wim Taymans  <wim.taymans@collabora.co.uk>
232
233         * docs/random/wtay/poll-timeout:
234         Some pseudo code for how we could implement clock timeouts with GstPoll.
235
236 2008-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
237
238         * plugins/elements/gstfilesink.c:
239           Update Author string to match others.
240
241 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
242
243         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
244         Reorganize some more, be more conservative with the GST_TYPE_ARRAY not
245         being fixed and inline the trivial check.
246
247 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
248
249         * gst/gstcaps.c: (gst_caps_copy), (_gst_caps_free),
250         (gst_caps_merge_structure), (gst_caps_get_structure),
251         (gst_caps_copy_nth), (gst_caps_set_simple),
252         (gst_caps_set_simple_valist), (gst_caps_is_fixed),
253         (gst_caps_is_equal_fixed), (gst_caps_intersect),
254         (gst_caps_subtract), (gst_caps_normalize), (gst_caps_do_simplify),
255         (gst_caps_to_string):
256         Callgrind micro optimisations.
257         Avoid array bounds checks and force inline of trivial function.
258
259         * gst/gstobject.c: (gst_object_set_name_default):
260         -1 is equivalent to letting glib to the strlen but then there is more
261         room for optimisations and it's not our fault.
262
263         * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
264         no need to clear the array, we're cool.
265
266         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
267         The most common _is_fixed() check is done on fundamental glib base
268         types so we check this first instead of doing a huge amount of
269         useless GST_TYPE_ARRAY calls.
270
271 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
272
273         * gst/gstevent.h:
274         Add a SKIP seek flag for use with advanced trickmodes.
275         API: GstSeekFlags::GST_SEEK_FLAG_SKIP
276
277 2008-11-05  Wim Taymans  <wim.taymans@collabora.co.uk>
278
279         * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
280         No need to memset, we can clear the value ourselves.
281
282         * gst/gstvalue.c: (gst_type_is_fixed),
283         (gst_value_get_compare_func):
284         Some optimisations from a few callgrind sessions:
285         When checking if a type is fixed, check for trivial fundamental types
286         first before checking types for which we need to get the type followed
287         by the heavy duty type checks, this reduces the amount of
288         g_type_fundamental() calls a lot.
289         When getting the compare function, first check for our registered types.
290         If that fails, do the heavy duty g_type_is_a() checks, reduces the
291         amount of g_type_is_a() considerably.
292
293 2008-11-05  Wim Taymans  <wim.taymans@collabora.co.uk>
294
295         * docs/design/part-TODO.txt:
296         Mumble something about removing GstXML.
297
298 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
299
300         * gst/gstbin.c: (gst_bin_handle_message_func):
301         Get the seqnum before we dispose the message.
302
303 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
304
305         * docs/design/part-TODO.txt:
306         Refer to the framestepping document.
307
308 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
309
310         * gst/gstbin.c: (bin_handle_async_start),
311         (gst_bin_handle_message_func), (gst_bin_query):
312         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
313         (gst_base_sink_event), (gst_base_sink_change_state):
314         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
315         (gst_base_src_loop), (gst_base_src_change_state):
316         Copy seqnums from events to messages so that they can all be related
317         back to eachother.
318
319 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
320
321         * tools/gst-launch.c: (event_loop):
322         Print the message seqnums.
323
324 2008-11-04  Andy Wingo  <wingo@pobox.com>
325
326         * gst/gstutils.c (gst_util_seqnum_next): Refactor for clarity.
327
328 2008-11-04  Andy Wingo  <wingo@pobox.com>
329
330         Add sequence numbers to events and messages. See #559250.
331
332         * gst/gstutils.c (gst_util_seqnum_next, gst_util_seqnum_compare):
333         API: New functions.
334
335         * gst/gstevent.h:
336         * gst/gstevent.c (_gst_event_copy, gst_event_new): Initialize new
337         events with a new sequence number, and copy it when copying.
338         (gst_event_get_seqnum, gst_event_set_seqnum): API: Accessors for
339         an event's sequence number.
340
341         * gst/gstmessage.h:
342         * gst/gstmessage.c (_gst_message_copy, gst_message_new_custom):
343         (gst_event_get_seqnum, gst_event_set_seqnum): API: As with events,
344         so with messages.
345
346         * docs/gst/gstreamer-sections.txt: Add new functions to the docs.
347
348 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
349
350         * docs/manual/advanced-position.xml:
351         * docs/manual/basics-bins.xml:
352         * docs/manual/basics-bus.xml:
353         * docs/manual/basics-pads.xml:
354         * docs/manual/intro-gstreamer.xml:
355         * docs/manual/intro-preface.xml:
356         Some Application Development Manual fixes thanks to
357         Andrew Feren. Fixes #558459.
358
359 2008-11-03  Stefan Kost  <ensonic@users.sf.net>
360
361         * gst/gstregistrybinary.c:
362           Don't bother with the GTimer if we don't output the results.
363
364 2008-11-03  Wim Taymans  <wim.taymans@collabora.co.uk>
365
366         Patch by: David Schleef  <ds@schleef.org>
367
368         * libs/gst/net/Makefile.am:
369         Add WIN32_LIBS to libgstnet LIBADD. Fixes #557300.
370
371 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
372
373         * gst/gstregistrybinary.c:
374           Oh my, studip, stupid me. Remove double stat() call.
375
376 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
377
378         * gst/gstpreset.c:
379           Use g_unlink instead of unlink.
380
381         * gst/gststructure.c:
382           Use glib type.
383
384         * gst/gstutils.c:
385           Add a FIXME:.
386
387         * gst/gsttaglist.c:
388         * gst/gsttypefind.c:
389         * gst/gstvalue.c:
390           Formatting & whitespaces.
391
392 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
393
394         * plugins/elements/gstidentity.c:
395           Doc typo. Use return value of parent_class->event.
396   
397         * plugins/elements/gsttypefindelement.c:
398           Chain up at the end for consistency.
399   
400 2008-10-30  Stefan Kost  <ensonic@users.sf.net>
401
402         * docs/Makefile.am:
403         * docs/gst/gstreamer-docs.sgml:
404         * docs/gst/gstreamer-sections.txt:
405         * docs/gst/running.xml:
406         * docs/libs/gstreamer-libs-docs.sgml:
407           Change to xinclude based build - its faster and easier to maintain.
408
409 2008-10-30  Stefan Kost  <ensonic@users.sf.net>
410
411         * gst/gstregistrybinary.c:
412         * gst/gstregistryxml.c:
413           Use g_unlink() as none of these are directories.
414
415 2008-10-29  Wim Taymans  <wim.taymans@collabora.co.uk>
416
417         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func):
418         Some more comments.
419
420 2008-10-27  Wim Taymans  <wim.taymans@collabora.co.uk>
421
422         * libs/gst/base/gstbasetransform.c:
423         (gst_base_transform_find_transform), (gst_base_transform_getrange):
424         If we have a fixate function, call it even if we already have fixed caps
425         because the subclass might add some caps. Makes audioconvert add a
426         default channel layout.
427
428 2008-10-24  Wim Taymans  <wim.taymans@collabora.co.uk>
429
430         * libs/gst/base/gstbasetransform.c:
431         (gst_base_transform_prepare_output_buffer),
432         (gst_base_transform_getrange):
433         Clear the output buffer variable.
434         Cleanups to the error path in the getrange function.
435         Fixes #557649.
436
437 2008-10-23  Sebastian Dröge  <slomo@circular-chaos.org>
438
439         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
440         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
441         Use gst_buffer_try_new_and_alloc() and handle errors instead of
442         using gst_buffer_new_and_alloc() which aborts if the buffer couldn't
443         be allocated.
444
445 2008-10-23  Wim Taymans  <wim.taymans@collabora.co.uk>
446
447         * gst/gstsegment.c: (gst_segment_set_newsegment_full):
448         Set the last_stop to a more meaningful position when configuring the
449         segment. ie. the start/stop of the segment or clipped against the
450         updated segment boundaries.
451
452         * tests/check/gst/gstsegment.c: (GST_START_TEST):
453         Add some unit tests for the last_stop.
454
455 2008-10-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
456
457         * libs/gst/base/gstbytereader.c:
458         Use GST_(READ|WRITE)_(FLOAT|DOUBLE)_(LE|BE) instead of our own
459         copies of them.
460
461 2008-10-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
462
463         * docs/gst/gstreamer-sections.txt:
464         * gst/gstutils.h:
465         API: Move float endianness conversion macros from libgstfloatcast
466         to core as it's useful in general, even in core. Fixes bug #555196.
467         This adds GDOUBLE_FROM_BE, GDOUBLE_FROM_LE, GDOUBLE_TO_BE,
468         GDOUBLE_TO_LE, GDOUBLE_SWAP_LE_BE, GFLOAT_FROM_BE, GFLOAT_FROM_LE,
469         GFLOAT_TO_BE, GFLOAT_TO_LE, GFLOAT_SWAP_LE_BE.
470
471         Also add GST_READ_ and GST_WRITE_ macros for floats and doubles:
472         GST_READ_FLOAT_LE, GST_READ_FLOAT_BE, GST_READ_DOUBLE_LE,
473         GST_READ_DOUBLE_BE, GST_WRITE_FLOAT_LE, GST_WRITE_FLOAT_BE,
474         GST_WRITE_DOUBLE_LE, GST_WRITE_DOUBLE_BE.
475
476 2008-10-22  Sebastian Dröge  <slomo@circular-chaos.org>
477
478         * docs/libs/gstreamer-libs-sections.txt:
479         * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_data),
480         (gst_byte_reader_peek_data):
481         * libs/gst/base/gstbytereader.h:
482         * win32/common/libgstbase.def:
483         API: Add gst_byte_reader_get_data and gst_byte_reader_peek_data
484         to get a pointer to the data at the current position and have
485         a guaranteed size.
486
487 2008-10-22  Jan Schmidt  <jan.schmidt@sun.com>
488
489         * configure.ac:
490         Fix a bug in the output of the configure script summary
491         when --gst-disable-registry is supplied
492
493 2008-10-22  Jan Schmidt  <jan.schmidt@sun.com>
494
495         * libs/gst/base/gstbitreader.c:
496         * libs/gst/base/gstbytereader.c:
497         Fix the names of 2 functions in the docs strings.
498
499 2008-10-21  Wim Taymans  <wim.taymans@collabora.co.uk>
500
501         * libs/gst/base/gstbasetransform.c:
502         (gst_base_transform_prepare_output_buffer),
503         (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
504         Protect sink_alloc caps with the sinkpad lock to avoid nasty caps
505         refcount problems as seen in banshee and maybe also in farsight2.
506         Remove atomic int now that we need to take the lock anyways.
507
508 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
509
510         * libs/gst/base/gstbasesink.c: (gst_base_sink_default_do_seek),
511         (gst_base_sink_default_prepare_seek_segment),
512         (gst_base_sink_perform_seek), (gst_base_sink_get_position_last),
513         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
514         (gst_base_sink_query):
515         Implement more seeking in pull mode.
516         Use pad convert functions to convert position to the requested format.
517         Fix position/duration reporting in pull mode.
518         Implement position and duration reporting in other formats than time.
519
520         * libs/gst/base/gstbasesink.h:
521         Add member to keep track of when the segment is playing.
522
523 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
524
525         * gst/gstpad.c: (gst_pad_configure_src):
526         When we use gst_pad_alloc_buffer() without wanting to set the caps we
527         also don't need to check if the caps are compatible because the caller
528         presumably is going to perform its own custom checks. Fixes some cases
529         where basetransform elements would error out when it was not needed.
530
531 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
532
533         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
534         Update comment.
535
536         * libs/gst/base/gstbasetransform.c:
537         (gst_base_transform_handle_buffer),
538         (gst_base_transform_reconfigure):
539         Add some debug info.
540
541         * win32/common/libgstbase.def:
542         Add new method.
543
544 2008-10-19  Stefan Kost  <ensonic@users.sf.net>
545
546         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek);
547           Remove duplicated assignment and log a message in failure case.
548
549 2008-10-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
550
551         Patch by: Dig Ge <dig.ge.cn at gmail com>
552
553         * tests/examples/helloworld/helloworld.c: (main):
554           Fix copy'n'paste bug in hello world example (#556900).
555
556 2008-10-17  Wim Taymans  <wim.taymans@collabora.co.uk>
557
558         * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate_pull),
559         (gst_base_sink_query):
560         Query the total number of bytes when activating the pad in pull mode.
561         Implement duration query in pull mode by using the installed pad convert
562         function to convert from bytes to the requested format.
563
564 2008-10-16  Wim Taymans  <wim.taymans@collabora.co.uk>
565
566         * docs/libs/gstreamer-libs-sections.txt:
567         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_preroll),
568         (gst_base_sink_flush_start), (gst_base_sink_flush_stop),
569         (gst_base_sink_event), (gst_base_sink_perform_seek),
570         (gst_base_sink_loop), (gst_base_sink_pad_activate_pull),
571         (gst_base_sink_send_event), (gst_base_sink_change_state):
572         * libs/gst/base/gstbasesink.h:
573         Add method to commit the state in subclasses.
574         Refactor the flush_start and flush_stop code because we need it for
575         flushing while seeking too.
576         Implement the beginnings of seeking in pull mode.
577         Use the segment last_stop field for the pulling offset.
578         Fix the pause method in pull mode.
579         Configure the segment to BYTES for pull mode.
580         API: GstBaseSink::gst_base_sink_do_preroll()
581
582 2008-10-16  Wim Taymans  <wim.taymans@collabora.co.uk>
583
584         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
585         Update some docs.
586
587 2008-10-14  Tim-Philipp Müller  <tim.muller at collabora co uk>
588
589         * gst/gstquark.c: (_priv_gst_quarks_initialize):
590           Fix printf format warning.
591
592 2008-10-14  Sebastian Dröge  <slomo@circular-chaos.org>
593
594         * plugins/elements/gsttee.c: (gst_tee_handle_buffer):
595         Fix flow aggregation of tee. Error out immediately for all flow returns
596         except OK and NOT_LINKED, return NOT_LINKED if all pads are not linked
597         and return OK if at least one pad is linked.
598
599         Before we errored out on "fatal" flow returns (i.e. not for WRONG_STATE)
600         and otherwise returned the flow return of the last pad, which is wrong.
601         
602         * tests/check/elements/tee.c: (_fake_chain), (_fake_chain_error),
603         (GST_START_TEST), (tee_suite):
604         Add unit tests for the flow aggregation.
605
606 2008-10-13  Wim Taymans  <wim.taymans@collabora.co.uk>
607
608         * docs/design/part-TODO.txt:
609         Remove item from the todo list because it was fixed with the latency
610         state change rewrites.
611
612         * docs/design/part-seeking.txt:
613         * docs/design/part-segments.txt:
614         Update some docs.
615
616         * gst/gstevent.c: (gst_event_new_new_segment_full),
617         (gst_event_parse_new_segment_full), (gst_event_new_buffer_size),
618         (gst_event_parse_buffer_size), (gst_event_new_qos),
619         (gst_event_parse_qos), (gst_event_new_seek),
620         (gst_event_parse_seek), (gst_event_new_latency),
621         (gst_event_parse_latency):
622         Use quarks to construct and parse events.
623
624         * gst/gstquark.c: (_priv_gst_quarks_initialize):
625         * gst/gstquark.h:
626         Add some more quarks to the table.
627         Emit a warning when the quark tables are not in sync.
628
629         * tests/check/gst/gstbus.c: (GST_START_TEST):
630         Add an assert.
631
632 2008-10-13  Stefan Kost  <ensonic@users.sf.net>
633
634         * plugins/elements/Makefile.am:
635         * plugins/indexers/Makefile.am:
636           Don't install static libs for plugins. Fixes #550851 for core.
637
638 2008-10-13  Wim Taymans  <wim.taymans@collabora.co.uk>
639
640         * gst/gstbus.c: (gst_bus_source_finalize),
641         (gst_bus_add_watch_full_unlocked), (gst_bus_add_watch_full),
642         (gst_bus_enable_sync_message_emission),
643         (gst_bus_disable_sync_message_emission),
644         (gst_bus_add_signal_watch_full), (gst_bus_remove_signal_watch):
645         Fix deadlock, g_source_get_id() cannot be called in finalize.
646         Keep track of the watch source by keeping a pointer to the source object
647         instead.
648         Use the bus lock to protect access to the pointer to the current
649         watch source.
650
651 2008-10-13  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
652
653         Base on Patch by: Olivier Crete <tester at tester dot ca>
654
655         * gst/gstbus.c: (gst_bus_source_finalize),
656         (gst_bus_add_watch_full), (gst_bus_add_signal_watch_full):
657         Only allow one bus watch to be set at a time. This is necessary
658         because the dispatcher pops the message from the bus and the second
659         watcher will then get NULL or the next message (and the first won't
660         get this next message then, etc). If more than one "watcher" is
661         required signal watches should be used. Fixes bug #526044.
662
663 2008-10-12  Jan Schmidt  <jan.schmidt@sun.com>
664
665         * tools/gst-launch.c:
666         Change the printing of the 'buffering...' output to avoid putting
667         a \r in a translateable string (flagged by the TP).
668
669 2008-10-10  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
670
671         * gst/gstxml.c:
672         Clarify that the save_thyself() and restore_thyself() virtual
673         functions of GstObject need to be overriden, not
674         gst_object_(save|restore)_thyself() which is impossible.
675         Fixes bug #555700.
676
677 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
678
679         * gst/gstpad.c: (gst_pad_get_range), (gst_pad_pull_range):
680         Revert a patch from 21 months ago that broke caps negotiation in pull
681         mode. Basically, having a buffer pass over a pad will trigger the
682         setcaps function when caps change, just like in push mode.
683
684 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
685
686         * docs/design/part-negotiation.txt:
687         Update the docs some more.
688
689         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
690         If we pull a buffer with non-trivial caps, suggest those caps with the
691         max probability.
692
693 2008-10-10  Edward Hervey  <edward.hervey@collabora.co.uk>
694
695         * docs/design/part-TODO.txt:
696         Add another limitation of pad-blocking with segment seeks not pushing
697         EOS events.
698
699 2008-10-10  Jan Schmidt  <jan.schmidt@sun.com>
700
701         * win32/common/libgstbase.def:
702         * win32/common/libgstreamer.def:
703         Add new symbols to the win32 defs files
704
705 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
706
707         * gst/gstbin.c: (gst_bin_remove_func), (update_degree),
708         (gst_bin_handle_message_func):
709         The message src can be NULL, don't try to print the object names in that
710         case.
711
712         * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate):
713         Add some more debug info.
714
715         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline),
716         (GST_START_TEST):
717         Add some debug.
718         Fix the test, pull based sinks go ASYNC to PAUSED, just like other
719         scheduling modes.
720
721 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
722
723         * docs/design/part-negotiation.txt:
724         Small doc update.
725
726         * docs/libs/gstreamer-libs-sections.txt:
727         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
728         (gst_base_sink_pad_getcaps), (gst_base_sink_pad_setcaps),
729         (gst_base_sink_init), (gst_base_sink_set_blocksize),
730         (gst_base_sink_get_blocksize), (gst_base_sink_set_property),
731         (gst_base_sink_get_property), (gst_base_sink_needs_preroll),
732         (gst_base_sink_loop), (gst_base_sink_pad_activate),
733         (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
734         (gst_base_sink_change_state):
735         * libs/gst/base/gstbasesink.h:
736         Add blocksize property and methods to control the amount of data
737         to pull.
738         Negotiate first before activating upstream in pull mode so that they can
739         negotiate themselves.
740         When we operate in pull mode, we only accept the caps that we
741         negotiated.
742         Make the sink go ASYNC to PAUSED, like all other sinks.
743         API: GstBaseSink::gst_base_sink_set_blocksize()
744         API: GstBaseSink::gst_base_sink_get_blocksize()
745         API: GstBaseSink::blocksize
746
747         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
748         (gst_base_src_set_live), (gst_base_src_is_live),
749         (gst_base_src_set_format), (gst_base_src_query_latency),
750         (gst_base_src_set_blocksize), (gst_base_src_get_blocksize),
751         (gst_base_src_set_do_timestamp), (gst_base_src_get_do_timestamp),
752         (gst_base_src_set_property), (gst_base_src_get_property):
753         * libs/gst/base/gstbasesrc.h:
754         Add typechecking in public API functions.
755         Add methods to control the blocksize in subclasses.
756         API: GstBaseSrc::gst_base_src_set_blocksize()
757         API: GstBaseSrc::gst_base_src_get_blocksize()
758
759 2008-10-10  Edward Hervey  <edward.hervey@collabora.co.uk>
760
761         * tests/check/gst/gstutils.c: (probe_do_nothing), (data_probe),
762         (buffer_probe), (event_probe), (GST_START_TEST):
763         We now see 3 events go through our pad, since basesink now sends
764         upstream latency events.
765
766 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
767
768         * gst/gstpipeline.c: (gst_pipeline_change_state):
769         Release the object lock before trying to flush the bus.
770
771 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
772
773         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
774         Forward LATENCY events upstreams so that elements know about the total
775         pipeline latency. Fixes #555307.
776
777 2008-10-08  Jan Schmidt  <jan.schmidt@sun.com>
778
779         * plugins/elements/gstqueue.c:
780         Allow through queries when we don't know how
781         to adjust them (not TIME or BYTES), as otherwise it's
782         not possible to query the current position in order
783         to seek in other formats at all.
784
785 2008-10-08  Andy Wingo  <wingo@pobox.com>
786
787         * docs/gst/gstreamer-sections.txt: Placate doc pendants.
788
789 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
790
791         * gst/gstghostpad.c:
792         * gst/gstghostpad.h:
793         Unbreak -good build, private is a reserved c++ keyword.
794
795 2008-10-08  Andy Wingo  <wingo@pobox.com>
796
797         * gst/gstghostpad.h (GST_GHOST_PAD_CAST):
798         * gst/gstghostpad.c (GST_GHOST_PAD_CAST): Fix unintended API
799         removal: re-add GST_GHOST_PAD_CAST to the header.
800
801         * gst/gstghostpad.h (GstProxyPad, GstProxyPadClass, GstGhostPad)
802         (GstGhostPadClass): Publically expose these structures so as to
803         allow easy subclassing from C. Hide the member data behind a
804         private opaque data pointer.
805
806         * gst/gstghostpad.c: Adapt to store instance data in the type
807         instance's private data region, not in the public struct.
808
809 2008-10-08  Andy Wingo  <wingo@pobox.com>
810
811         * gst/gstghostpad.c (gst_ghost_pad_construct): If we got a
812         template via g_object_get(), be sure to unref it.
813
814         * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): Fix incorrect doc.
815
816 2008-10-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
817
818         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
819         If we can't get a cache file don't try to save something to it.
820         Dereferencing NULL pointers usually isn't a good idea.
821
822 2008-10-07  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
823
824         * tests/check/Makefile.am:
825         * tests/check/gst/gstabi.c:
826         * tests/check/gst/struct_sparc.h:
827         * tests/check/libs/libsabi.c:
828         * tests/check/libs/struct_sparc.h:
829         Add Sparc ABI checks
830
831         * tests/check/gst/gstvalue.c: (GST_START_TEST):
832         Cast signed integer to unsigned to avoid a compiler warning.
833
834 2008-10-07  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
835
836         * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_uint24_le),
837         (gst_byte_reader_get_uint24_be), (gst_byte_reader_get_int24_le),
838         (gst_byte_reader_get_int24_be), (gst_byte_reader_peek_uint24_le),
839         (gst_byte_reader_peek_uint24_be), (gst_byte_reader_peek_int24_le),
840         (gst_byte_reader_peek_int24_be):
841         Use new GST_READ_UINT24_(LE|BE) macros.
842
843 2008-10-07  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
844
845         * docs/gst/gstreamer-sections.txt:
846         * gst/gstutils.h:
847         Always use the unaligned variants of GST_READ_UINT* and GST_WRITE_UINT*
848         as it's too easy to break the ISO C strict aliasing rules with simple
849         casts to the corresponding type and this would introduce hard to debug
850         bugs. Fixes bug #545714.
851
852         API: Add GST_READ_UINT24_(LE|BE) and GST_WRITE_UINT24_(LE|BE).
853
854 2008-10-07  Tim-Philipp Müller  <tim.muller at collabora co uk>
855
856         * gst/gstbuffer.h: (GST_BUFFER_FREE_FUNC):
857         * gst/gstghostpad.c: (gst_ghost_pad_construct):
858           Add 'Since' bits to gtk-doc chunks for new API.
859
860 2008-10-06  Thijs Vermeir  <thijsvermeir@gmail.com>
861
862         * docs/gst/gstreamer-sections.txt:
863         Fix documentation
864
865 2008-10-06  Andy Wingo  <wingo@pobox.com>
866
867         * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): New API, a free function
868         that will be called on the malloc_data to free it. Basically a way
869         to avoid subclassing when all you need is a different free
870         function, i.e. free() instead of g_free().
871
872         * gst/gstbuffer.c (gst_buffer_finalize): Free malloc_data via
873         calling the free function.
874         (gst_buffer_init): Initialize the free function to g_free.
875
876 2008-10-06  Andy Wingo  <wingo@pobox.com>
877
878         * gst/gstghostpad.h:
879         * gst/gstghostpad.c (gst_ghost_pad_construct): New function,
880         finishes the initialization of ghost pad. Useful for language
881         bindings and subclassers of GstGhostPad. Fixes #539108.
882         (gst_ghost_pad_new_full): Use the new constructor.
883
884 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
885
886         Base on Patch by: Olivier Crete <tester at tester dot ca>
887
888         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
889         (gst_bin_remove_func), (update_degree),
890         (gst_bin_sort_iterator_new), (gst_bin_handle_message_func):
891         Keep track of pads that are being linked/unlinked and resync the state
892         changes.
893
894         * gst/gstpad.c: (gst_pad_get_direction),
895         (gst_pad_set_chain_function), (gst_pad_set_getrange_function),
896         (gst_pad_set_checkgetrange_function), (gst_pad_unlink),
897         (gst_pad_link_prepare), (gst_pad_link),
898         (gst_pad_event_default_dispatch), (gst_pad_chain), (gst_pad_push),
899         (gst_pad_check_pull_range), (gst_pad_get_range),
900         (gst_pad_pull_range):
901         Some code cleanups, use macros to check pad direction.
902         Don't need to take the lock on the pad direction.
903         Post structure change when pads are linked/unlinked.
904         Change some checks into _return_if_fail().
905
906         * tests/check/gst/gstbin.c:
907         (test_link_structure_change_state_changed_sync_cb),
908         (GST_START_TEST), (gst_bin_suite):
909         Add testcase for pad link/unlinke resync during a state change.
910         Fixes #510354.
911
912 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
913
914         * docs/gst/gstreamer-sections.txt:
915         * gst/gstmessage.c: (gst_message_new_structure_change),
916         (gst_message_parse_structure_change):
917         * gst/gstmessage.h:
918         Implement STRUCTURE_CHANGED messages. These messages will be used to
919         signal the parent bin of link/unlink operations that could require a
920         resync when doing a state change. See ##510354.
921         API: gst_message_new_structure_change()
922         API: gst_message_parse_structure_change()
923
924 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
925
926         * gst/gstquark.c:
927         * gst/gstquark.h:
928         Add some more quarks for new message. See #510354.
929
930 2008-10-06  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
931
932         * docs/libs/gstreamer-libs-docs.sgml:
933         * docs/libs/gstreamer-libs-sections.txt:
934         * libs/gst/base/Makefile.am:
935         * libs/gst/base/gstbitreader.c: (gst_bit_reader_new),
936         (gst_bit_reader_new_from_buffer), (gst_bit_reader_free),
937         (gst_bit_reader_init), (gst_bit_reader_init_from_buffer),
938         (gst_bit_reader_set_pos), (gst_bit_reader_get_pos),
939         (gst_bit_reader_get_remaining), (gst_bit_reader_skip),
940         (gst_bit_reader_skip_to_byte):
941         * libs/gst/base/gstbitreader.h:
942         * libs/gst/base/gstbytereader.c: (GDOUBLE_SWAP_LE_BE),
943         (GFLOAT_SWAP_LE_BE), (gst_byte_reader_new),
944         (gst_byte_reader_new_from_buffer), (gst_byte_reader_free),
945         (gst_byte_reader_init), (gst_byte_reader_init_from_buffer),
946         (gst_byte_reader_set_pos), (gst_byte_reader_get_pos),
947         (gst_byte_reader_get_remaining), (gst_byte_reader_skip),
948         (gst_byte_reader_get_uint8), (gst_byte_reader_get_int8),
949         (gst_byte_reader_peek_uint8), (gst_byte_reader_peek_int8),
950         (gst_byte_reader_get_uint24_le), (gst_byte_reader_get_uint24_be),
951         (gst_byte_reader_get_int24_le), (gst_byte_reader_get_int24_be),
952         (gst_byte_reader_peek_uint24_le), (gst_byte_reader_peek_uint24_be),
953         (gst_byte_reader_peek_int24_le), (gst_byte_reader_peek_int24_be):
954         * libs/gst/base/gstbytereader.h:
955         * tests/check/Makefile.am:
956         * tests/check/libs/bitreader.c: (GST_START_TEST),
957         (gst_bit_reader_suite):
958         * tests/check/libs/bytereader.c: (GST_START_TEST),
959         (gst_byte_reader_suite):
960         API: Add bit reader and byte reader classes, including documentation
961         and an extensive unit test suite. Fixes bug #553554.
962
963 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
964
965         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position),
966         (gst_base_sink_query):
967         Improve position reporting while flushing and other intermediate state
968         changes. Fixes #553874.
969
970 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
971
972         Patch by: Antoine Tremblay <hexa00 at gmail dot com>
973
974         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
975         Original patch by : Simon Descaries
976         Fix small refount leak in caps compatibility check.
977         Fixes #551676.
978
979 2008-10-06  Stefan Kost  <ensonic@users.sf.net>
980
981         * docs/pwg/advanced-request.xml:
982           Fix 0.8 api usage in example. Fixes #554561
983
984         * docs/pwg/appendix-porting.xml:
985           Change 0.9 to 0.10 here.
986
987 2008-10-06  Stefan Kost  <ensonic@users.sf.net>
988
989         * docs/manual/basics-data.xml:
990           Change "event-event interaction" to "element-element interaction".
991           Fixes #552448. Also fix sample code for seeking and do more 0.8->0.10
992           updates.
993
994 2008-10-05  Jan Schmidt  <jan.schmidt@sun.com>
995
996         * configure.ac:
997         Back to development -> 0.10.21.1
998
999 === release 0.10.21 ===
1000
1001 2008-10-02  Jan Schmidt <jan.schmidt@sun.com>
1002
1003         * configure.ac:
1004           releasing 0.10.21, "Take These Things From Me"
1005
1006 2008-09-28  Jan Schmidt  <jan.schmidt@sun.com>
1007
1008         * configure.ac:
1009         0.10.20.4 pre-release
1010
1011 2008-09-28  Jan Schmidt  <jan.schmidt@sun.com>
1012
1013         * libs/gst/base/gstbasetransform.c:
1014         * plugins/elements/gstcapsfilter.c:
1015         * tests/check/Makefile.am:
1016         * tests/check/elements/.cvsignore:
1017         * tests/check/elements/capsfilter.c:
1018         Fix assertion in basetransform when the subclass chooses not to
1019         allocate a buffer in prepare_buffer(), and make capsfilter error out
1020         cleanly if requested to apply caps that don't completely specify the
1021         buffer. Fixes #551509
1022
1023 2008-09-24  Wim Taymans  <wim.taymans@collabora.co.uk>
1024
1025         * libs/gst/base/gstbasetransform.c:
1026         (gst_base_transform_prepare_output_buffer):
1027         Take new caps ref because our old one might have been gone when the
1028         subclass performs a gst_pad_set_caps() on the srcpad. See #548764.
1029
1030 2008-09-15  Stefan Kost  <ensonic@users.sf.net>
1031
1032         * configure.ac:
1033           Do not probe availability of check unit test library when cross
1034           compiling, as test would not work anyway. Also cleanup verbose output
1035           of the check test. Fixes #551952.
1036
1037 2008-09-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1038
1039         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
1040
1041         * gst/gstelement.c: (gst_element_sync_state_with_parent):
1042         Avoid leaking the parent ref when we fail changing the state of the
1043         element using gst_element_sync_state_with_parent(). Fixes #551978.
1044
1045 2008-09-11  Tim-Philipp Müller  <tim.muller at collabora co uk>
1046
1047         * docs/manual/intro-motivation.xml::
1048           Remove some bits that no longer apply, update others (#551642).
1049
1050 2008-09-10  Jan Schmidt  <jan.schmidt@sun.com>
1051
1052         * configure.ac:
1053         0.10.20.2 pre-release
1054
1055         * po/LINGUAS:
1056         * po/id.po:
1057         * po/pt_BR.po:
1058
1059         New translations.
1060
1061 2008-09-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
1062
1063         * win32/common/config.h.in:
1064           Add GST_DATADIR, hard-code cpu to x86.
1065
1066         * win32/common/libgstreamer.def:
1067           Spaces to tabs.
1068
1069 2008-09-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
1070
1071         * gst/gsttaglist.h:
1072           Fix Since: markers for new geo tags.
1073
1074 2008-09-02  Stefan Kost  <ensonic@users.sf.net>
1075
1076         * gst/gsttaglist.h:
1077           Fix actual tag name define after renaming from altitude to elevation.
1078
1079 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1080
1081         * gst/gstpad.c: (add_unref_pad_to_list),
1082         (gst_pad_get_internal_links_default):
1083         Add fallback when calling the deprecated function on an element that
1084         implements the new internal_link handler.
1085
1086 2008-09-01  Stefan Kost  <ensonic@users.sf.net>
1087
1088         * docs/gst/gstreamer-sections.txt:
1089         * gst/gsttaglist.c:
1090         * gst/gsttaglist.h:
1091           Add new tags for geo location and clarify purpose of existing location
1092           tag. Fixes #481169
1093
1094 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1095
1096         Patch by: Olivier Crete <tester at tester dot ca>
1097
1098         * gst/gstpad.c: (gst_pad_iterate_internal_links_default),
1099         (gst_pad_event_default_dispatch), (gst_pad_dispatcher):
1100         Use thread-safe internal links iterator. Fixes #549504.
1101
1102 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1103
1104         Based on patch by: Olivier Crete <tester at tester dot ca>
1105
1106         * docs/gst/gstreamer-sections.txt:
1107         * win32/common/libgstreamer.def:
1108         * gst/gstpad.c: (gst_pad_init),
1109         (gst_pad_set_iterate_internal_links_function),
1110         (int_link_iter_data_free), (iterate_pad),
1111         (gst_pad_iterate_internal_links_default),
1112         (gst_pad_iterate_internal_links), (gst_pad_get_internal_links):
1113         * gst/gstpad.h:
1114         Add threadsafe replacement functions for getting internal links of an
1115         element. Deprecate the old internal links functions.
1116         API:GstPad::gst_pad_set_iterate_internal_links_function()
1117         API:GstPad::GstPadIterIntLinkFunction
1118         API:GstPad::gst_pad_iterate_internal_links()
1119         API:GstPad::gst_pad_iterate_internal_links_default()
1120
1121         * gst/gstghostpad.c: (gst_proxy_pad_do_iterate_internal_links),
1122         (gst_proxy_pad_init):
1123         Implement threadsafe internal links.
1124
1125         * tests/check/elements/tee.c: (GST_START_TEST), (tee_suite):
1126         Unit test for internal links on tee. See #549504.
1127
1128 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
1129
1130         * tests/check/Makefile.am:
1131         libs/transform1 test requires libs/test_transform.c
1132
1133 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
1134
1135         * gst/gstpad.c: (gst_pad_get_internal_links_default):
1136         Die evil deadlock, die !
1137
1138 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
1139
1140         * gst/gstutils.c: (gst_element_get_compatible_pad):
1141         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1142         * tests/check/gst/gstpad.c: (name_is_valid), (GST_START_TEST):
1143         Fix all leaks due to the bug in gst_pad_template_new() by which it does
1144         not steal the refcount of the given caps as stated.
1145
1146         REVERT THIS COMMIT ONCE FIXED !
1147         REVERT THIS COMMIT ONCE FIXED !
1148         REVERT THIS COMMIT ONCE FIXED !
1149         REVERT THIS COMMIT ONCE FIXED !
1150         REVERT THIS COMMIT ONCE FIXED !
1151         REVERT THIS COMMIT ONCE FIXED !
1152
1153 2008-08-29  Wim Taymans  <wim.taymans@collabora.co.uk>
1154
1155         * gst/gstiterator.c:
1156         * gst/gstiterator.h:
1157         After 3 years it's about time to revise the documentation of the
1158         iterator objects.
1159
1160 2008-08-29  Wim Taymans  <wim.taymans@collabora.co.uk>
1161
1162         * gst/gstpad.c: (gst_pad_get_internal_links_default):
1163         Make the internal links function less thread-unsafe and add some
1164         comments, dunno why.
1165
1166 2008-08-29  Tim-Philipp Müller  <tim.muller at collabora co uk>
1167
1168         * gst/gst_private.h:
1169           Include gstinfo.h even if GST_DISABLE_GST_DEBUG is defined. Fixes
1170           build with --disable-gst-debug.
1171
1172 2008-08-28  David Schleef  <ds@schleef.org>
1173
1174         * gst/gstpadtemplate.c: Revert last change, since it breaks
1175           a few plugins, ffmpeg, alaw, and mulaw.  Code is correct,
1176           but shouldn't be enabled until we've released fixed versions
1177           of -good and -ffmpeg.
1178
1179 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
1180
1181         * gst/gstobject.c:
1182           Put the gst_object_get_name() back in.
1183
1184 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
1185
1186         * gst/gstpadtemplate.c:
1187           The old behaviour was that gst_pad_template_new() takes ownership of
1188           the caps. As we now call g_object_new() which calls g_object_set() and
1189           which copies the caps, we have to unref them to not leak them. Fixes
1190           make valgrid for me.
1191
1192 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
1193
1194         * gst/gsturi.c:
1195           Don't segfault on input like "tel:+1-123-555-1234".
1196
1197 2008-08-27  Stefan Kost  <ensonic@users.sf.net>
1198
1199         * gst/gstobject.c:
1200           Due to popular request also include ObjectType in
1201           gst_object_get_path_string(). Makes gst-launch -v bit more useful.
1202
1203 2008-08-26  David Schleef  <ds@schleef.org>
1204
1205         * gst/gstutils.c: Remove check in gst_pad_query_convert() that
1206           src_val must be positive, because that's not a requirement.
1207           This causes problems with converting negative granulepos
1208           values for Dirac.
1209         * gst/gstquery.c: Same, gst_query_new_convert().
1210
1211 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1212
1213         * gst/gstclock.c: (gst_clock_add_observation):
1214         Add some more debugging to the clock slaving code.
1215
1216         * win32/common/libgstbase.def:
1217         Add new basetransform method.
1218
1219 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1220
1221         * gst/gstbin.c: (gst_bin_element_set_state):
1222         Take the (recursive) state lock between getting the locked state of an
1223         element and changing the element state. This allows the application to
1224         lock an element's state and then change its state without races.
1225
1226 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1227
1228         * gst/gstbin.c: (gst_bin_element_set_state):
1229         When an element is in the locked state we still want to update the
1230         base_time of the element.
1231
1232 2008-08-21  Wim Taymans  <wim.taymans@collabora.co.uk>
1233
1234         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1235         Use the result from gst_pad_set_caps() instead of assuming the element
1236         always accepted the caps computed by the default negotiate function.
1237
1238 2008-08-20  Wim Taymans  <wim.taymans@collabora.co.uk>
1239
1240         * docs/libs/gstreamer-libs-sections.txt:
1241         * libs/gst/base/gstbasetransform.c:
1242         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1243         (gst_base_transform_chain), (gst_base_transform_suggest),
1244         (gst_base_transform_reconfigure):
1245         * libs/gst/base/gstbasetransform.h:
1246         Implement method for reconfiguring basetransform.
1247         API: GstBaseTransform::gst_base_transform_reconfigure()
1248
1249 2008-08-20  Stefan Kost  <ensonic@users.sf.net>
1250
1251         patch by: Murray Cumming <murrayc@murrayc.com>
1252
1253         * gst/gstutils.c:
1254           Mention that this is just like gst_buffer_merge() but with extra
1255           unreffing for C coders. Advise language bindings not to wrap it.
1256           Fixes Bug #533856.
1257           
1258           Also fix file comment.
1259
1260 2008-08-20  Stefan Kost  <ensonic@users.sf.net>
1261
1262         reviewed by: Wim Taymans <wim.taymans@collabora.co.uk>
1263
1264         * plugins/elements/gstfakesink.c:
1265         * plugins/elements/gstfakesrc.c:
1266           Call super::event() when not handling it. Fixes #544855.
1267
1268 2008-08-19  Michael Smith <msmith@songbirdnest.com>
1269
1270         Patch by: Alessandro Decina <alessandro@nnva.org>
1271         * plugins/elements/gstfilesrc.c:
1272           Use 64 bit variants of stat functions on win32, to enable support
1273           of large files there.
1274           Fixes #547277.
1275
1276 2008-08-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1277
1278         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
1279         (gst_base_sink_event), (gst_base_sink_chain_unlocked),
1280         (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
1281         (gst_base_sink_get_position), (gst_base_sink_change_state):
1282         Improve position reporting in the flushing state.
1283         Also report the position when we are not yet prerolled but we
1284         have a newsegment event. Fixes #543444.
1285         Improve the pull-based negotiation code.
1286
1287         * tests/check/elements/fakesink.c: (GST_START_TEST),
1288         (fakesink_suite):
1289         Add testcase for position reporting while flushing in PAUSED and
1290         PLAYING.
1291
1292         * tests/check/generic/sinks.c: (GST_START_TEST):
1293         Update unit-test, we can now query the position as soon as we receive a
1294         NEWSEGMENT event.
1295
1296 2008-08-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1297
1298         Based on patch by: Jason Zhao <e3423c at motorola dot com>
1299
1300         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object):
1301         When the subclass event handler releases the PREROLL_LOCK, we could be
1302         in the flushing state and we have to ignore the event. Fixes #548394.
1303
1304 2008-08-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
1305
1306         * tools/gst-launch.1.in:
1307           Document GST_REGISTRY_UPDATE environment variable.
1308
1309 2008-08-18  Wim Taymans  <wim.taymans@collabora.co.uk>
1310
1311         * libs/gst/base/gstbasetransform.c:
1312         (gst_base_transform_prepare_output_buffer):
1313         If the element is configured in passthrough mode but the
1314         prepare_output_buffer gave us a new output buffer, discard that buffer
1315         and reuse the input buffer.
1316
1317 2008-08-15  Wim Taymans  <wim.taymans@collabora.co.uk>
1318
1319         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
1320
1321         * plugins/elements/gsttee.c: (gst_tee_finalize), (gst_tee_init),
1322         (gst_tee_request_new_pad), (gst_tee_release_pad),
1323         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc):
1324         * plugins/elements/gsttee.h:
1325         Protect pad_alloc with a new lock so that we can be sure that nothing is
1326         performing a pad_alloc when removing the pad. Fixes #547835.
1327
1328         * tests/check/elements/tee.c: (buffer_alloc_harness_setup),
1329         (buffer_alloc_harness_teardown), (app_thread_func),
1330         (final_sinkpad_bufferalloc), (GST_START_TEST), (tee_suite):
1331         Added testcase for shutdown race.
1332
1333 2008-08-14  Thijs Vermeir  <thijsvermeir@gmail.com>
1334
1335         * gst/gstpad.h:
1336         Add doc
1337
1338 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1339
1340         * libs/gst/base/gstbasetransform.c:
1341         (gst_base_transform_prepare_output_buffer),
1342         (gst_base_transform_buffer_alloc):
1343         Go over the buffer_alloc function again and make sure we always end up
1344         allocating a buffer.
1345         Add some more docs.
1346         Avoid doing pad alloc when we have a pending suggestion because we
1347         cannot yet deal with changing caps in that case. Fixes #547728
1348
1349 2008-08-14  Stefan Kost  <ensonic@users.sf.net>
1350
1351         patch by: Luc Pionchon <luc.pionchon@nokia.com>
1352
1353         * docs/manual/advanced-clocks.xml:
1354         * docs/manual/clocks.png:
1355         * docs/manual/diagrams-clocks.svg:
1356           Add one more image showing different times together with a describing
1357           paragraph. Fixes #547729.
1358
1359 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1360
1361         * win32/common/libgstbase.def:
1362         Add new method.
1363
1364 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1365
1366         * libs/gst/base/gstbasetransform.c:
1367         (gst_base_transform_transform_caps),
1368         (gst_base_transform_prepare_output_buffer),
1369         (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
1370         Don't overwrite the outsize when calculating the expected size of a new
1371         buffer because we still need it in case we cannot process the new
1372         buffer.
1373         When converting the size of the new buffer to an upstream size, actually
1374         use the expected size of the buffer, not some other random value.
1375         Use an atomic int to signal that a new upstream caps suggestion is
1376         available.
1377         When we can convert the current buffer to a new format, check if the
1378         buffer size is of the expected size and allocate a new buffer of the
1379         expected size when this is not the case. Fixes #546883.
1380
1381         * tests/check/libs/transform1.c: (GST_START_TEST):
1382         remove ifdeffed code from the unit test.
1383
1384 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1385
1386         * pkgconfig/gstreamer-uninstalled.pc.in:
1387         * pkgconfig/gstreamer.pc.in:
1388           Remove -lgstcontrol-0.10 which never worked anyway as the lib is
1389           called gstcontroller-0.10.
1390
1391 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1392
1393         * gst/gstchildproxy.h:
1394         * gst/gstpreset.h:
1395           Remove double interface from doc-string.        
1396
1397 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1398
1399         * libs/gst/base/gstbasesrc.c:
1400         * libs/gst/base/gstbasetransform.c:
1401           Fix headings in docs and gtk-doc warnings.
1402
1403 2008-08-11  Michael Smith <msmith@songbirdnest.com>
1404
1405         * gst/gstregistrybinary.c:
1406           Don't use g_mkstmp() on win32, it's unsafe if glib is using a different
1407           libc.
1408           Fixes #544776.
1409
1410 2008-08-11  Edward Hervey  <edward.hervey@collabora.co.uk>
1411
1412         * libs/gst/base/gstbasetransform.c:
1413         (gst_base_transform_buffer_alloc):
1414         Fix a "may be used unitialized" warning.
1415
1416 2008-08-11  Stefan Kost  <ensonic@users.sf.net>
1417
1418         * docs/gst/gstreamer-sections.txt:
1419         * gst/gstpreset.h:
1420           Document preset-iface vmethods.
1421
1422 2008-08-11  Stefan Kost  <ensonic@users.sf.net>
1423
1424         * docs/manual/advanced-interfaces.xml:
1425           Turn thoughts about HAL into a note-tag. Remove mentioning that is
1426           only used to discover devices.
1427
1428 2008-08-07  Tim-Philipp Müller  <tim.muller at collabora co uk>
1429
1430         Patch by: Frederic Crozat <fcrozat@mandriva.org>
1431
1432         * gst/gst.c: (init_pre):
1433         Make sure gettext returns translations in UTF-8 encoding rather
1434         than in the current locale encoding (#546822).
1435
1436 2008-08-07  Wim Taymans  <wim.taymans@collabora.co.uk>
1437
1438         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
1439         Fix subset test.
1440
1441         * tests/check/gst/gstcaps.c: (GST_START_TEST):
1442         Improve unit test subset tests and add a testcase for the subset failure
1443         cases.
1444
1445         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1446         Improve subtraction unit test.
1447
1448 2008-08-07  Stefan Kost  <ensonic@users.sf.net>
1449
1450         * plugins/elements/gsttee.c:
1451           Unlock, instead of locking again.
1452
1453 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1454
1455         * gst/gstpad.h:
1456         Clarify the docs a bit more.
1457
1458 2008-08-05  Stefan Kost  <ensonic@users.sf.net>
1459
1460         * tests/examples/metadata/read-metadata.c:
1461           Don't leak old taglist.
1462
1463 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1464
1465         Patch by: Olivier Crete <tester at tester dot ca>
1466
1467         * gst/gststructure.c:
1468         (gst_structure_fixate_field_nearest_fraction):
1469         Avoid overflows in fixation code when dealing with MAXINT values, which
1470         v4l2src seems to do.
1471         Fixes #546328.
1472
1473         * tests/check/gst/gststructure.c: (GST_START_TEST):
1474         Make a unit test to check the fix. 
1475
1476 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1477
1478         * plugins/elements/gstcapsfilter.c: (copy_func),
1479         (gst_capsfilter_set_property):
1480         Use new caps suggestion feature of basetransform to request a caps
1481         negotiation upstream.
1482
1483 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1484
1485         * docs/libs/gstreamer-libs-sections.txt:
1486         Add new function:
1487         API: GstBaseTransform::gst_base_transform_suggest()
1488
1489         * libs/gst/base/gstbasetransform.c: (gst_base_transform_finalize),
1490         (gst_base_transform_init), (gst_base_transform_transform_caps),
1491         (gst_base_transform_transform_size),
1492         (gst_base_transform_configure_caps),
1493         (gst_base_transform_can_transform),
1494         (gst_base_transform_find_transform), (gst_base_transform_setcaps),
1495         (gst_base_transform_prepare_output_buffer),
1496         (gst_base_transform_buffer_alloc),
1497         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1498         (gst_base_transform_chain), (gst_base_transform_activate),
1499         (gst_base_transform_set_passthrough),
1500         (gst_base_transform_is_passthrough),
1501         (gst_base_transform_set_in_place),
1502         (gst_base_transform_is_in_place), (gst_base_transform_update_qos),
1503         (gst_base_transform_set_qos_enabled),
1504         (gst_base_transform_is_qos_enabled),
1505         (gst_base_transform_set_gap_aware), (gst_base_transform_suggest),
1506         (gst_base_transform_reconfigure):
1507         * libs/gst/base/gstbasetransform.h:
1508         Rewrite of basetransform to perform negotiation outside of the
1509         buffer_alloc functions.  Fixes #545853.
1510
1511         * tests/check/libs/transform1.c: (GST_START_TEST),
1512         (buffer_alloc_ct2):
1513         Update unit test.
1514
1515 2008-08-05  Stefan Kost  <ensonic@users.sf.net>
1516
1517         * tests/check/gst/gstpreset.c:
1518           Only run preset tests when $HOME is writable. Preliminary fix for
1519           #545433.
1520
1521 2008-08-04  Wim Taymans  <wim.taymans@collabora.co.uk>
1522
1523         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1524         (gst_bin_change_state_func), (bin_handle_async_done),
1525         (gst_bin_handle_message_func):
1526         Fix race for bins that simulate ASYNC state changes by inserting
1527         ASYNC_START and ASYNC_DONE messages in their bus. We need to check for
1528         pending ASYNC messages even when the bin does not have ASYNC children.
1529         We note detect this behaviour because we will receive an ASYNC message
1530         that is originating from the bin itself. 
1531         Fixes races with decodebin2 state changes.
1532
1533         * tests/check/gst/gstbin.c: (GST_START_TEST):
1534         Add some more debug.
1535
1536 2008-08-04  Tim-Philipp Müller  <tim.muller at collabora co uk>
1537
1538         * gst/gsttaglist.c: (_gst_tag_initialize):
1539           Fix typo.
1540
1541 2008-08-04  Stefan Kost  <ensonic@users.sf.net>
1542
1543         * gst/gsttaglist.c:
1544           Argh. actually save the text before committing. Now adds
1545           gst_tag_merge_strings_with_comma() to gst_tag_register().
1546
1547 2008-08-04  Stefan Kost  <ensonic@users.sf.net>
1548
1549         * gst/gsttaglist.c:
1550         * gst/gsttaglist.h:
1551           Do as tim pointed out and actually register the new tag. Also improve
1552           te docs and use gst_tag_merge_strings_with_comma() method to allow
1553           retriving all keywords merged in one list.
1554
1555 2008-08-01  Stefan Kost  <ensonic@users.sf.net>
1556
1557         * configure.ac:
1558         * docs/gst/gstreamer.types:
1559           Revert 'accidential' change of the configure option removal. We still
1560           need to generate the types file in configure --disable-load-save.
1561
1562 2008-08-01  Stefan Kost  <ensonic@users.sf.net>
1563
1564         * docs/gst/gstreamer-sections.txt:
1565         * gst/gsttaglist.h:
1566           Add new taglist item GST_TAG_KEYWORDS, needed for #520694 .
1567
1568 2008-08-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
1569
1570         * gst/gstpadtemplate.c:
1571           (gst_pad_template_class_init), (gst_static_pad_template_get),
1572           (gst_pad_template_new), (gst_pad_template_pad_created),
1573           (gst_pad_template_set_property), (gst_pad_template_get_property):
1574           Add "name-template", "direction", "presence" and "caps" properties,
1575           so that gst_pad_template_new() is just a thin wrapper around
1576           g_object_new(), which is better for bindings. (Fixes: #539772)
1577
1578 2008-07-31  Michael Smith <msmith@songbirdnest.com>
1579
1580         * gst/gsturi.c:
1581           Be more liberal in what URIs we accept.
1582           Do not unescape bits of the URI for no apparent reason before passing to
1583           the element. Fixes #545352.
1584
1585 2008-07-31  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1586
1587         Patch by: Robert Schwebel <r.schwebel@pengutronix.de>
1588
1589         * gst/gst.c:
1590         Include gstconfig.h as macros from it are used. Fixes bug #545607.
1591
1592 2008-07-31  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1593
1594         * configure.ac:
1595         * docs/gst/gstreamer-sections.txt:
1596         * docs/gst/gstreamer.types:
1597         * docs/gst/gstreamer.types.in:
1598         * gst/Makefile.am:
1599         * gst/gst.c:
1600         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func):
1601         * gst/gstconfig.h.in:
1602         * gst/gstelement.c: (gst_element_get_index):
1603         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
1604         (gst_registry_binary_load_feature),
1605         (gst_registry_binary_read_cache):
1606         * gst/gstregistryxml.c: (load_feature),
1607         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
1608         * plugins/Makefile.am:
1609         * tools/gst-indent:
1610         * tools/gst-inspect.c: (print_index_info), (print_element_list),
1611         (print_plugin_features), (print_element_features):
1612         * tools/gst-xmlinspect.c: (print_event_masks),
1613         (print_element_info):
1614         * win32/common/gstconfig.h:
1615         Remove GST_DISABLE_(ENUMTYPES|INDEX|URI) everywhere.
1616
1617         Disabling the indexers and URI handler code will only reduce the
1618         required amount of memory by a very small amount but on the other hand
1619         requires much more maintaince work. Apart from that many places of
1620         code are broken when disabling them.
1621
1622         Disabling the enum types doesn't reduce the required amount of memory
1623         by more than a few bytes and makes it hard to fix bugs like #539772,
1624         i.e. use the enums as GObject properties.
1625
1626 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1627
1628         * docs/design/part-TODO.txt:
1629         Add some thoughts and problems with upstream renegotiation.
1630
1631 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1632
1633         * gst/gstpad.c: (gst_pad_acceptcaps_default),
1634         (gst_pad_configure_src), (gst_pad_alloc_buffer_full):
1635         Remove silly redundant debug.
1636         Add some more debug info.
1637         Clarify the docs regarding new caps received from pad_alloc.
1638
1639 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1640
1641         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_set_property),
1642         (gst_capsfilter_get_property), (gst_capsfilter_transform_caps):
1643         Make setting the caps more threadsafe.
1644
1645 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1646
1647         * docs/design/part-element-transform.txt:
1648         Update docs.
1649
1650 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1651
1652         * plugins/elements/gstqueue.c: (gst_queue_init),
1653         (gst_queue_acceptcaps):
1654         Add and use a custom acceptcaps function instead of falling back to the
1655         potentially less optimized default implementation.
1656
1657 2008-07-29  Tim-Philipp Müller  <tim.muller at collabora co uk>
1658
1659         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
1660           Only sanity-check the buffer size if requested_caps == buffer_caps
1661           (ie. don't take pad caps into account, they're not relevant here)
1662
1663 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1664
1665         * plugins/elements/gsttee.c:
1666         * plugins/elements/gsttee.h:
1667           Reverting as not everything is clear yet. Needs some general design
1668           work.
1669
1670 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1671
1672         * ChangeLog:
1673           ChangeLog surgery for tee commit.
1674
1675 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1676
1677         * docs/gst/gstreamer-sections.txt:
1678           Cleanup section-file.
1679
1680 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1681
1682         * plugins/elements/gsttee.c:
1683         * plugins/elements/gsttee.h:
1684           Relay tag events in tee. Fixes parts of #474016.
1685           Downgrades 3 reoccurring debugs to log.
1686
1687 2008-07-28  Michael Smith <msmith@songbirdnest.com>
1688
1689         * configure.ac:
1690         * libs/gst/Makefile.am:
1691           Build the net library if we have winsock2.
1692
1693 2008-07-26  Stefan Kost  <ensonic@users.sf.net>
1694
1695         patch by: Luc Pionchon <luc.pionchon@nokia.com>
1696
1697         * docs/manual/advanced-threads.xml:
1698         * docs/manual/diagrams-pipelines.svg:
1699         * docs/manual/hello-world.png:
1700         * docs/manual/linked-elements.png:
1701         * docs/manual/mime-world.png:
1702         * docs/manual/queue.png:
1703         * docs/manual/thread-buffering.png:
1704         * docs/manual/thread-synchronizing.png:
1705           Replace one diagram with two separate ones and updates others.
1706           Fixes #542401.
1707
1708 2008-07-25  Thijs Vermeir  <thijsvermeir@gmail.com>
1709
1710         * gst/gstelement.h:
1711         Fix link in documentation.
1712
1713 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
1714
1715         * gst/gstmessage.c:
1716         Fix confusing documentation.
1717
1718 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
1719
1720         * libs/gst/base/gstbasesrc.h:
1721         revert the changes to the header file for the ABI.
1722
1723 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
1724
1725         * libs/gst/base/gstbasesrc.c:
1726         * libs/gst/base/gstbasesrc.h:
1727         Don't cache the seekable status.
1728         Fixes bug #544174
1729
1730 2008-07-24  Rene Stadler  <mail@renestadler.de>
1731
1732         * docs/manual/advanced-autoplugging.xml: Add fakesink to example
1733         code to close the pipeline graph.  This prevents the program from
1734         printing internal data flow errors.
1735
1736 2008-07-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1737
1738         * docs/manual/basics-bus.xml:
1739         Correct typo. Fixes bug #544320.
1740
1741 2008-07-22  Michael Smith <msmith@songbirdnest.com>
1742
1743         * configure.ac:
1744           Remove AC_ISC_POSIX macro; it's broken on some platforms and not needed.
1745           Add check (taken from -base) for winsock, adds WIN32_LIBS
1746         * gst/Makefile.am:
1747           Add WIN32_LIBS to LIBADD for libgstreamer. Needed now that gstpoll uses
1748           winsock.
1749           Define GST_EXPORTS when building libgstreamer (only used on win32)
1750         * gst/gst_private.h:
1751         * gst/gstinfo.h:
1752           Use GST_EXPORT instead of locally-defined (and incorrect IMPORT_SYMBOL)
1753           for symbols that we need to export in both these files.
1754         * gst/gstpoll.c:
1755           Include gst_private.h higher up to avoid some compile problems on win32.
1756
1757 2008-07-22  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1758
1759         * gst/gstvalue.c:
1760         Fix typos.
1761
1762 2008-07-22  Thijs Vermeir  <thijsvermeir@gmail.com>
1763
1764         * gst/gstcaps.c:
1765         Previous commit was wrong NULL caps does not exist
1766         and indicate an error, so also add a FIXME to
1767         gst_caps_is_equal where NULL caps are accepted.
1768
1769 2008-07-22  Thijs Vermeir  <thijsvermeir@gmail.com>
1770
1771         * gst/gstcaps.c:
1772         Allow passing of NULL to gst_caps_union
1773
1774 2008-07-21  Thijs Vermeir  <thijsvermeir@gmail.com>
1775
1776         * gst/gstghostpad.c:
1777         Add in doc that gst_ghost_pad_set_target can accept
1778         NULL to clear target
1779
1780 2008-07-15  Michael Smith <msmith@songbirdnest.com>
1781
1782         * gst/gstplugin.c:
1783         * gst/gstregistry.c:
1784           GstRegistryPool doesn't exist; don't refer to it in docs.
1785           Don't refer to functions that don't exist in docs, it's
1786           unhelpful.
1787
1788 2008-07-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1789
1790         * gst/gst.c:
1791         Fix scanning of paths given via --gst-plugin-path. Fixes bug #542175.
1792
1793 2008-07-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1794
1795         Patch by: Tristan Matthews <le dot businessman at gmail dot com>
1796
1797         * docs/pwg/building-testapp.xml:
1798         Don't use an undeclared variable in the example program.
1799         Fixes bug #542573.
1800
1801 2008-07-12  Stefan Kost  <ensonic@users.sf.net>
1802
1803         * gst/gstdebugutils.c:
1804           Squeeze ghost-pad links and remove <> from classname labels to save
1805           more horizontal space.
1806
1807 2008-07-11  Stefan Kost  <ensonic@users.sf.net>
1808
1809         * gst/gstdebugutils.c:
1810           Give request and sometimes pads a different shpe style. Condense the
1811           graphs a little more.
1812
1813 2008-07-09  Michael Smith <msmith@songbirdnest.com>
1814
1815         * configure.ac:
1816           Don't require flex and bison if the parser is disabled.
1817
1818 2008-07-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1819
1820         * libs/gst/controller/gstinterpolationcontrolsource.c:
1821         (_list_find_sorted_custom):
1822         Don't use declarations after statements.
1823
1824 2008-07-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1825
1826         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
1827         Add FIXMEs for 0.11 to use GST_TYPE_OBJECT in the signature
1828         of the the child-added / -removed signals as GstChildProxy
1829         only supports GstObjects.
1830
1831 2008-07-07  Thijs Vermeir  <thijsvermeir@gmail.com>
1832
1833         * gst/gstdebugutils.c:
1834         Fix memleak
1835
1836 2008-07-06  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1837
1838         Patch by: Alessandro Decina <alessandro at nnva dot org>
1839
1840         * gst/gstpoll.c:
1841         Fix "ignored return value" compiler warning with newer glibc.
1842
1843 2008-07-05  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1844
1845         * gst/gstchildproxy.c:
1846         Fix copy&paste error in gst_child_proxy_removed() documentation.
1847
1848 2008-07-02  Tim-Philipp Müller  <tim.muller at collabora co uk>
1849
1850         * gst/gstplugin.c: (CHECK_PLUGIN_DESC_FIELD), (gst_plugin_load_file):
1851           Print error debug message if plugin description fields that should
1852           be set are NULL.
1853
1854         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string):
1855           Don't crash if the string to serialise is NULL (it really should
1856           not be, but apparently this used to work with the xml registry ...).
1857
1858 2008-07-02  Thijs Vermeir  <thijsvermeir@gmail.com>
1859
1860         * tools/gst-plot-timeline.py:
1861         Fix parsing of log messages
1862
1863 2008-07-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
1864
1865         * win32/common/libgstbase.def::
1866           Sort alphabetically so make check-exports doesn't barf.
1867
1868 2008-07-01  Stefan Kost  <ensonic@users.sf.net>
1869
1870         * gst/gstevent.c:
1871           Use gst_format_get_name() to improve debug output.
1872
1873         * gst/gstpreset.c:
1874           Remove #ifdef'ed code. Add TODO comment.
1875
1876         * gst/gstsegment.c:
1877           Add debug output to ease spotting format != segment.format assertions.
1878
1879 2008-06-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1880
1881         * tests/check/libs/gdp.c: (gst_dp_suite):
1882         Also enable the GDP unit test again on PPC now that the bug
1883         is fixed.
1884
1885 2008-06-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1886
1887         * libs/gst/dataprotocol/dataprotocol.c:
1888         Don't write to the same region of memory as a uint64 and uint16
1889         as this breaks strict aliasing rules and apparantly breaks on PPC
1890         and s390. Thanks to Sjoerd Simons for analysing. Fixes bug #348114.
1891
1892 2008-06-29  Stefan Kost  <ensonic@users.sf.net>
1893
1894         * libs/gst/controller/gstinterpolationcontrolsource.c:
1895           Optimize list handling. Use own find function. Exploit that fact that
1896           the list is sorted. Also pass back the node before, so that we can
1897           insert quickly. Have a fast path for append.
1898
1899 2008-06-29  Stefan Kost  <ensonic@users.sf.net>
1900
1901         * docs/design/draft-framestep.txt:
1902         * docs/design/part-negotiation.txt:
1903           Fix two typos.
1904
1905 2008-06-27  Stefan Kost  <ensonic@users.sf.net>
1906
1907         * configure.ac:
1908           Show configuration sumary after configure run. Based on patch by
1909           Luc Pionchon <luc.pionchon@nokia.com>. Fixes: #540134
1910
1911 2008-06-27  Stefan Kost  <ensonic@users.sf.net>
1912
1913         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
1914
1915         * docs/manual/advanced-autoplugging.xml:
1916         * docs/manual/advanced-threads.xml:
1917         * docs/manual/basics-bins.xml:
1918         * docs/manual/basics-elements.xml:
1919         * docs/manual/basics-helloworld.xml:
1920         * docs/manual/basics-pads.xml:
1921           Add scale factor for pdf output.
1922
1923         * docs/manual/intro-basics.xml:
1924           Switched sections "pads" and "bins" and added a pipeline diagram.
1925
1926         * docs/manual/intro-gstreamer.xml:
1927           Added more info on gstreamer.
1928
1929         * docs/manual/intro-motivation.xml:
1930           Commented out the whole section "current problem", which sounds
1931           historical and somehow osolete; it could be turned in a positive
1932           way and reused to improve the design principles.
1933
1934         * docs/manual/intro-preface.xml:
1935           - Update URLs to library.gnome.org. 
1936           - Do not mention GTK+ in preliminary reading (irrelevant). 
1937           - Mention Plugin Writer's Manual and further reading only in the
1938             previous section.
1939           - Added a list of most relevant GObject/glib topics.
1940
1941         * docs/manual/Makefile.am:
1942         * docs/manual/bin-element-ghost.fig:
1943         * docs/manual/bin-element-ghost.png:
1944         * docs/manual/bin-element-noghost.fig:
1945         * docs/manual/bin-element-noghost.png:
1946         * docs/manual/bin-element.fig:
1947         * docs/manual/bin-element.png:
1948         * docs/manual/filter-element-multi.fig:
1949         * docs/manual/filter-element-multi.png:
1950         * docs/manual/filter-element.fig:
1951         * docs/manual/filter-element.png:
1952         * docs/manual/gstreamer-overview.png:
1953         * docs/manual/hello-world.fig:
1954         * docs/manual/hello-world.png:
1955         * docs/manual/linked-elements.fig:
1956         * docs/manual/linked-elements.png:
1957         * docs/manual/mime-world.fig:
1958         * docs/manual/mime-world.png:
1959         * docs/manual/queue.fig:
1960         * docs/manual/queue.png:
1961         * docs/manual/simple-player.png:
1962         * docs/manual/sink-element.fig:
1963         * docs/manual/sink-element.png:
1964         * docs/manual/src-element.fig:
1965         * docs/manual/src-element.png:
1966         * docs/manual/diagrams-general.svg:
1967         * docs/manual/diagrams-pipelines.svg:
1968           Removed .fig, added .png counterpart.
1969           
1970           Fixes: #539137
1971
1972 2008-06-26  Thijs Vermeir  <thijsvermeir@gmail.com>
1973
1974         * plugins/elements/gstmultiqueue.c:
1975         * plugins/elements/gstmultiqueue.h:
1976         revert extra-size-buffers stuff, caused some race conditions
1977         and extra-size-buffers is not used anymore. Docs needs some updates
1978
1979 2008-06-26  Tim-Philipp Müller  <tim.muller at collabora co uk>
1980
1981         * win32/common/config.h:
1982         * win32/common/gstenumtypes.c:
1983         * win32/common/gstenumtypes.h:
1984         * win32/common/gstversion.h:
1985           Update win32 files.
1986
1987 2008-06-26  Tim-Philipp Müller  <tim.muller at collabora co uk>
1988
1989         * gst/gstdebugutils.h: (GstDebugGraphDetails),
1990           (GST_DEBUG_BIN_TO_DOT_FILE):
1991           Add missing Since' markers to gtk-doc blurbs.
1992
1993 2008-06-26  Wim Taymans  <wim.taymans@collabora.co.uk>
1994
1995         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
1996         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
1997         (set_caps_1), (set_caps_ct1), (transform_ct1),
1998         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
1999         (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
2000         (transform_size_ct2), (buffer_alloc_ct2):
2001         Add some more tests with switching caps in buffer_alloc.
2002
2003 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2004
2005         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2006         (gst_test_trans_class_init), (result_sink_chain),
2007         (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
2008         (gst_test_trans_push), (gst_test_trans_pop):
2009         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2010         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2011         (set_caps_1), (set_caps_ct1), (transform_ct1),
2012         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2013         (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
2014         (transform_size_ct2), (buffer_alloc_ct2),
2015         (gst_basetransform_suite):
2016         More tests, prepare for tests with switching caps in buffer_alloc.
2017
2018 2008-06-25  Thijs Vermeir  <thijsvermeir@gmail.com>
2019
2020         * plugins/elements/gstmultiqueue.c:
2021         * plugins/elements/gstmultiqueue.h:
2022         Fix dead-lock in underrun_cb
2023
2024 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2025
2026         * docs/design/part-states.txt:
2027         Fix device open/close docs.
2028
2029 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2030
2031         * ChangeLog:
2032           Mention bugnumber for last commit.
2033
2034 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2035
2036         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
2037
2038         * docs/manual/manual.xml:
2039         - Reorganised the previous "introduction" bundle into Foreword,
2040         Introduction, and About GStreamer. The two first are <preface>
2041         docbook elements. The later is the first part of the book.
2042         - added intro-gstreamer.xml (content partially from
2043         intro-preface.xml)
2044         - moved appendix-win32.xml into appendix-integration.xml
2045
2046         * docs/manual/intro-preface.xml: gstreamer section moved...
2047         * docs/manual/intro-gstreamer.xml: ...here. new file.
2048
2049         * docs/manual/appendix-win32.xml: removed file. Content moved...
2050         * docs/manual/appendix-integration.xml: ...here.
2051         
2052         * docs/manual/highlevel-components.xml: section about GstEditor moved...
2053         * docs/manual/appendix-checklist.xml: ...here.
2054         
2055         Fixes: 538764
2056
2057 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2058
2059         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
2060
2061         * docs/manual/basics-helloworld.xml:
2062         * docs/manual/hello-world.fig:
2063           - Explicitely include glib.h.
2064           - Do not use global variables.
2065           - Use g_printerr() instead of g_print().
2066           - Minor formating/renaming to increase readibility.
2067           - Renamed new_pad() to on_pad_added()
2068           - Improved explenatory comments.
2069           - renamed ogg parser to ogg demuxer
2070           - Use "autoaudiosink" instead of "alsasink".
2071           Fixes: #538619
2072
2073 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2074
2075         * ChangeLog:
2076           Remove cvs conflict marker.
2077
2078 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2079
2080         * docs/README:
2081           Document that for plgin-docs we extraxt he short-desc from the element
2082           details.
2083
2084         * docs/design/part-states.txt:
2085           Tell that devices should be closed in PAUSED -> READY.
2086
2087         * docs/manual/README:
2088           Document how tests in the manual are handled.
2089
2090         * docs/manuals.mak:
2091           Typo in comment.
2092
2093 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2094
2095         * gst/gstbin.c: (bin_query_latency_fold):
2096         Only care about latency min and max when the sink is actually a live
2097         sink.
2098
2099 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2100
2101         * docs/design/part-block.txt:
2102         Fix typo.
2103
2104         * docs/design/part-element-transform.txt:
2105         Add notes about why transform needs to know input/output sizes.
2106         Add some issues that need to be solved.
2107         Add some more use cases.
2108
2109         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2110         (gst_test_trans_class_init), (result_sink_chain),
2111         (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
2112         (gst_test_trans_push), (gst_test_trans_pop):
2113         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2114         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2115         (set_caps_1), (set_caps_ct1), (transform_ct1),
2116         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2117         (gst_basetransform_suite):
2118         Add suport for different pad templates and buffer-alloc.
2119         Add more checks for caps and buffer-alloc.
2120         Add checks for proxy buffer alloc.
2121         Add unit test for copy transform.
2122
2123 2008-06-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2124
2125         Patch by: Luc Pionchon  <luc.pionchon@nokia.com>
2126
2127         * docs/manual/appendix-integration.xml:
2128         * docs/manual/appendix-licensing.xml:
2129         * docs/manual/basics-elements.xml:
2130         * docs/manual/basics-helloworld.xml:
2131         * docs/manual/basics-pads.xml:
2132         * docs/manual/highlevel-components.xml:
2133         * docs/manual/highlevel-xml.xml:
2134         * docs/manual/intro-basics.xml:
2135         * docs/manual/intro-preface.xml:
2136           Typo and formatting fixes (#538594).
2137
2138 2008-06-24  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2139
2140         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2141         Fix some memory leaks and uses of object instances that we don't
2142         actually own.
2143
2144 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
2145
2146         * plugins/elements/gstmultiqueue.c:
2147         Add functionality to extra-size-buffers property.
2148
2149 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
2150
2151         * plugins/elements/gstmultiqueue.c:
2152         Don't update the cur_time on GST_CLOCK_TIME_NONE (#537804) and don't
2153         activate the pads if they are added in STATE_NULL.
2154
2155 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
2156
2157         * docs/libs/gstreamer-libs-sections.txt:
2158         Add new API to doc
2159         * libs/gst/check/gstcheck.c:
2160         * libs/gst/check/gstcheck.h:
2161         API: gst_check_teardown_pad_by_name
2162
2163 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
2164
2165         * libs/gst/check/gstcheck.c:
2166         * libs/gst/check/gstcheck.h:
2167         Also setup request pads and allow setup pads by name (#537812)
2168         API: gst_check_setup_src_pad_by_name
2169         API: gst_check_setup_sink_pad_by_name
2170
2171 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2172
2173         * tests/check/gst/gstbuffer.c:
2174         * tests/check/pipelines/parse-launch.c:
2175           Use HAVE_VALGRIND_H some more.
2176
2177 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2178
2179         * scripts/cvs-update.sh:
2180           Pass arguments to make.
2181           Run autoregen.sh if Makefile is not there.
2182
2183 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2184
2185         * configure.ac:
2186         * gst/gstinfo.c:
2187           Don't assume that <valgrind/valgrind.h> exists just because
2188           the binary is there.
2189
2190 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2191
2192         * tests/check/Makefile.am:
2193         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2194         (gst_test_trans_class_init), (gst_test_trans_init),
2195         (gst_test_trans_set_data), (result_sink_chain),
2196         (gst_test_trans_new), (gst_test_trans_free), (gst_test_trans_push),
2197         (gst_test_trans_pop):
2198         * tests/check/libs/transform1.c: (GST_START_TEST),
2199         (transform_ip_1), (set_caps_1), (gst_basetransform_suite):
2200         Add some test basetransform element and the beginnings of various
2201         unit tests for it.
2202
2203 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2204
2205         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
2206         Increase code readability.
2207         Don't try to compare buffer offsets when ther are invalid.
2208
2209 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
2210
2211         * docs/design/Makefile.am:
2212           Dist some more design docs.
2213
2214         * docs/random/moving-plugins:
2215           Small addition: good plugins mustn't have functional code
2216           within assertion macros.
2217
2218 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2219
2220         * docs/design/draft-framestep.txt:
2221         Some ideas about a framestep API
2222
2223         * docs/design/part-element-transform.txt:
2224         Start design and use cases for basetransform in order to get it
2225         fixed soon.
2226
2227 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
2228
2229         * gst/gsttaglist.h:
2230           In GST_TAG_ATTACHEMENT docs, mention that the file name needs to
2231           be in UTF-8 encoding.
2232
2233 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
2234
2235         * gst/gstbus.c:
2236           Make it known that gst_bus_poll() is pure evil (fixes #538810).
2237
2238 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2239
2240         * plugins/elements/gstcapsfilter.c:
2241         * plugins/elements/gstfakesink.c:
2242         * plugins/elements/gstfakesrc.c:
2243         * plugins/elements/gstfdsink.c:
2244         * plugins/elements/gstfdsrc.c:
2245         * plugins/elements/gstfilesink.c:
2246         * plugins/elements/gstfilesrc.c:
2247         * plugins/elements/gstidentity.c:
2248         * plugins/elements/gstmultiqueue.c:
2249         * plugins/elements/gstqueue.c:
2250         * plugins/elements/gsttee.c:
2251         * plugins/elements/gsttypefindelement.c:
2252           Remove short_description. Add basic docs for gsttypefindelement.
2253           Simplify markup for fakesrc/fdsrc.
2254
2255 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2256
2257         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
2258         Added Since doc.
2259
2260 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2261
2262         Patch by: Joel Larsson <tilljoel at gmail dot com>
2263
2264         * docs/plugins/gstreamer-plugins.args:
2265         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
2266         (gst_fd_src_init), (gst_fd_src_update_fd),
2267         (gst_fd_src_set_property), (gst_fd_src_get_property),
2268         (gst_fd_src_create):
2269         * plugins/elements/gstfdsrc.h:
2270         Add timeout property like udpsrc. Fixes #538628.
2271         Add some more docs and example pipelines.
2272
2273 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2274
2275         * docs/libs/gstreamer-libs-sections.txt:
2276         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2277         (gst_base_sink_query_latency), (gst_base_sink_set_render_delay),
2278         (gst_base_sink_get_render_delay), (gst_base_sink_wait_eos),
2279         (gst_base_sink_do_sync):
2280         * libs/gst/base/gstbasesink.h:
2281         * win32/common/libgstbase.def:
2282         Add method to allow sinks to specify additional delay between the sync
2283         times and the actual rendering of the data.
2284         API: gst_base_sink_set_render_delay()
2285         API: gst_base_sink_get_render_delay()
2286
2287 2008-06-20  Jan Schmidt  <jan.schmidt@sun.com>
2288
2289         * configure.ac:
2290         Bump version number back to dev -> 0.10.20.1
2291
2292 2008-06-20  Sebastian Dröge  <slomo@circular-chaos.org>
2293
2294         * docs/gst/gstreamer-sections.txt:
2295         * gst/gsttaglist.c: (_gst_tag_initialize):
2296         * gst/gsttaglist.h:
2297         API: Add GST_TAG_ATTACHMENT for generic file attachments to streams.
2298         Fixes bug #538568.
2299
2300 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2301
2302         * libs/gst/controller/gstcontroller.c:
2303           Revert one change, that make ret value possible uninitialized.
2304
2305 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2306
2307         * libs/gst/controller/gstcontroller.c:
2308           Use freeze/thaw notify to sync notify emission a bit (its also more
2309           efficient). Move debug output to LOG (is called a lot in a loop).
2310           Always unset g_values if the have been initialized.
2311
2312 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2313
2314         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2315         (gst_base_sink_wait_eos), (gst_base_sink_event):
2316         If we have not seen a buffer before EOS, use the segment values to
2317         report the current position instead of invalid positions.
2318
2319 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2320
2321         * docs/plugins/tmpl/.cvsignore:
2322         * tests/check/gst/.cvsignore:
2323           Ignore more.
2324
2325 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2326
2327         * libs/gst/controller/gstinterpolation.c:
2328         * libs/gst/controller/gstinterpolationcontrolsource.c:
2329         * tests/check/libs/controller.c:
2330           Rewrite handling of default values. Fix overflow with unsigned types
2331           in linear interpolation. Remove now obsolete _first_value() function.
2332           Add more tests. Fixes #538201.
2333
2334 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2335
2336         * libs/gst/base/gstbasetransform.c:
2337         (gst_base_transform_class_init), (gst_base_transform_init),
2338         (gst_base_transform_transform_caps),
2339         (gst_base_transform_prepare_output_buffer):
2340         Add debug info.
2341         When a buffer is writable, its metadata is also writable so we don't
2342         need to subbuffer (which then makes the buffer not-writable anymore).
2343
2344 === release 0.10.20 ===
2345
2346 2008-06-18  Jan Schmidt <jan.schmidt@sun.com>
2347
2348         * configure.ac:
2349           releasing 0.10.20, "You Crazy Diamond"
2350
2351 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
2352
2353         * configure.ac:
2354         0.10.19.3 pre-release
2355
2356 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
2357
2358         * configure.ac:
2359         * gst/gstpreset.c:
2360         Rename DATADIR to GST_DATADIR to avoid build problems
2361         on win32. Patch By: David Schleef <ds@schleef.org>
2362         Fixes: #536857
2363
2364 2008-06-05  Sebastian Dröge  <slomo@circular-chaos.org>
2365
2366         * configure.ac:
2367         Explicitely link with -ldl if dladdr() is found there. Before it was
2368         implicitely linked by the gmodule pkgconfig file but in glib 2.17.0
2369         -ldl has moved from Libs to Libs.private. Fixes bug #536744.
2370
2371 2008-06-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
2372
2373         * gst/gsterror.c: (_gst_stream_errors_init):
2374           Fix typo (spotted by Fabricio Godoy, #536723).
2375
2376 2008-06-05  Jan Schmidt  <jan.schmidt@sun.com>
2377
2378         * configure.ac:
2379         0.10.19.2 pre-release
2380
2381 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
2382
2383         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_async_enabled),
2384         (gst_base_sink_set_ts_offset), (gst_base_sink_perform_qos):
2385         Add some debug.
2386         Make sure we don't generate invalid QoS messages.
2387
2388 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
2389
2390         * gst/gstevent.c: (gst_event_new_qos):
2391         Add some assert and docs for invalid input to the qos function.
2392
2393 2008-05-30  Wim Taymans  <wim.taymans@collabora.co.uk>
2394
2395         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2396         (gst_base_sink_get_position):
2397         The reported position must always be smaller than the last seen
2398         timestamps (or timestamp + duration for reverse).
2399
2400 2008-05-30  Sebastian Dröge  <slomo@circular-chaos.org>
2401
2402         Patch by: Rob Bradford <rob at robster dot org dot uk>
2403
2404         * gst/gstregistry.c: (gst_registry_scan_path_level):
2405         Don't recurse into .debug directories as some distros install
2406         the debugging symbols next to the plugins in .debug directories
2407         and dlopen() crashes on them sometimes. Fixes bug #508070.
2408
2409         Add FIXME for 0.11 to not recurse into directories at all because
2410         it's very inconsistent to the behaviour of other PATH environment
2411         variables.
2412
2413 2008-05-29  Wim Taymans  <wim.taymans@collabora.co.uk>
2414
2415         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2416         (gst_base_sink_get_position_last), (gst_base_sink_get_position):
2417         Fix position query range checks in reverse playback.
2418
2419 2008-05-29  Sebastian Dröge  <slomo@circular-chaos.org>
2420
2421         * gst/gstelement.c:
2422         * gst/gstelement.h:
2423         Deprecated gst_element_get_pad() as it can't be used sanely. It's not
2424         clear of the reference to the resulting pad must be released later
2425         or not, resulting in possible leaks. Fixes bug #533865.
2426
2427 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
2428
2429         Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
2430
2431         * gst/gstelementfactory.c:
2432         Small doc fix. Fixes #535285.
2433
2434 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
2435
2436         Based on patch by: Bjarne Rosengren <bjarne at axis dot com>
2437
2438         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
2439         (gst_base_src_get_range), (gst_base_src_pad_get_range),
2440         (gst_base_src_loop), (gst_base_src_set_flushing),
2441         (gst_base_src_change_state):
2442         Make sending an EOS event to the basesrc non-blocking even if the
2443         implementation does blocking waits in the create function. This is done
2444         by unlocking the create function when EOS is sent.
2445         Fixes #535218.
2446
2447 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
2448
2449         * tools/gst-inspect.c: (print_element_properties_info):
2450         If possible print the element type of GValueArray properties.
2451
2452 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
2453
2454         * gst/gstiterator.c:
2455         Remove an unused field from the private GstListIterator struct.
2456
2457 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2458
2459         * libs/gst/controller/gstcontroller.c:
2460           Add parameter guards.
2461
2462 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2463
2464         * tests/check/gst/gstpipeline.c:
2465           Revert test change and add comment why it should not work.
2466
2467 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2468
2469         * tests/check/gst/gstpipeline.c:
2470           Extending the test a little to verify that we also get the NULL state-
2471           change message.
2472
2473 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
2474
2475         * gst/gstpreset.c: (gst_preset_default_get_meta),
2476           (gst_preset_get_preset_names), (gst_preset_get_property_names),
2477           (gst_preset_load_preset), (gst_preset_save_preset),
2478           (gst_preset_rename_preset), (gst_preset_delete_preset),
2479           (gst_preset_set_meta):
2480           Add Since: markers to docs blurbs.
2481
2482         * win32/common/libgstreamer.def:
2483           Add recently-added API.
2484
2485 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2486
2487         Patch by: Stefan Kost  <ensonic@users.sf.net>
2488
2489         * configure.ac:
2490         Add DATADIR for storing presets.
2491
2492         * docs/gst/gstreamer-docs.sgml:
2493         * docs/gst/gstreamer-sections.txt:
2494         * docs/gst/gstreamer.types.in:
2495         Add GstPreset to docs.
2496
2497         * gst/Makefile.am:
2498         * gst/gst.h:
2499         * gst/gstpreset.c: (preset_get_paths), (preset_skip_property),
2500         (preset_open_and_parse_header), (preset_parse_version),
2501         (preset_merge), (preset_get_keyfile),
2502         (gst_preset_default_get_preset_names),
2503         (gst_preset_default_get_property_names),
2504         (gst_preset_default_load_preset),
2505         (gst_preset_default_save_presets_file),
2506         (gst_preset_default_save_preset),
2507         (gst_preset_default_rename_preset),
2508         (gst_preset_default_delete_preset), (gst_preset_default_set_meta),
2509         (gst_preset_default_get_meta), (gst_preset_default_randomize),
2510         (gst_preset_default_reset), (gst_preset_get_preset_names),
2511         (gst_preset_get_property_names), (gst_preset_load_preset),
2512         (gst_preset_save_preset), (gst_preset_rename_preset),
2513         (gst_preset_delete_preset), (gst_preset_set_meta),
2514         (gst_preset_get_meta), (gst_preset_class_init),
2515         (gst_preset_base_init), (gst_preset_get_type):
2516         * gst/gstpreset.h:
2517         Add GstPreset to core. Fixes #396779
2518
2519         * tests/check/Makefile.am:
2520         * tests/check/gst/gstpreset.c: (gst_preset_test_get_property),
2521         (gst_preset_test_set_property), (gst_preset_test_class_init),
2522         (gst_preset_test_base_init), (gst_preset_test_get_type),
2523         (gst_preset_test_plugin_init), (GST_START_TEST),
2524         (remove_preset_file), (test_setup), (test_teardown),
2525         (gst_preset_suite):
2526         Add GstPreset unit tests.
2527
2528 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2529
2530         * gst/gstpad.c: (gst_pad_event_default_dispatch):
2531         The default event function on a sinkpad should return TRUE when
2532         there are no internal links but should collect the return values from
2533         the internal links otherwise.
2534
2535 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2536
2537         * plugins/elements/gsttypefindelement.c:
2538         (gst_type_find_element_src_event),
2539         (gst_type_find_element_handle_event):
2540         Use faster and safer _pad_push_event().
2541
2542 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
2543
2544         * docs/gst/gstreamer-sections.txt:
2545         * gst/gstutils.c: (element_find_unlinked_pad),
2546           (gst_bin_find_unlinked_pad), (gst_bin_find_unconnected_pad),
2547         * gst/gstutils.h:
2548           API: add gst_bin_find_unlinked_pad()
2549           API: deprecate gst_bin_find_unconnected_pad() (#401456)
2550
2551 2008-05-26  Peter Kjellerstedt  <pkj@axis.com>
2552
2553         * gst/gstclock.c:
2554         * gst/gstclock.h:
2555         * gst/gsttask.c:
2556         * gst/gsttask.h:
2557         Fixed a bunch of typos.
2558
2559 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2560
2561         * gst/gstpad.h:
2562         * gst/gstutils.c: (gst_element_unlink), (element_find_unlinked_pad),
2563           (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description),
2564           (gst_parse_bin_from_description_full):
2565         * gst/gstutils.h:
2566           'unconnected pad' -> 'unlinked pad' for consistency (#401456).
2567
2568 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2569
2570         * docs/pwg/advanced-tagging.xml:
2571           Small docs update, can't be bothered to rewrite the nonsensical
2572           examples right now.
2573
2574 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2575
2576         * gst/gstevent.h:
2577           Clarify docs for GST_SEEK_TYPE_CUR (#534505).
2578
2579 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2580
2581         * gst/parse/grammar.y:
2582           Remove unneeded casts.
2583
2584 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2585
2586         * gst/parse/grammar.y:
2587         * tests/check/pipelines/parse-launch.c:
2588           Get all missing elements from a parse launch string if possible
2589           (ie. if the FATAL_ERRORS flag has been specified). Fixes #528178.
2590
2591 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2592
2593         * tests/check/Makefile.am:
2594         * tests/check/pipelines/parse-launch.c:
2595           Add some unit tests for the new gst_parse_launch*_full() API.
2596           (Exposes a previously-existing memory leak in the error code
2597           path, so adding to VALGRIND_TO_FIX for now).
2598
2599 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2600
2601         * docs/gst/gstreamer-sections.txt:
2602         * gst/gst.c: (init_post):
2603         * gst/gst_private.h: (_GstParseContext):
2604         * gst/gstparse.c: (gst_parse_error_quark), (gst_parse_context_new),
2605           (gst_parse_context_free), (gst_parse_context_get_missing_elements),
2606           (gst_parse_launchv), (gst_parse_launchv_full), (gst_parse_launch),
2607           (gst_parse_launch_full):
2608         * gst/gstparse.h: (GST_PARSE_FLAG_NONE), (GST_PARSE_FLAG_FATAL_ERRORS),
2609           (GstParseFlags), (GstParseContext):
2610         * gst/gstutils.c: (gst_parse_bin_from_description),
2611           (gst_parse_bin_from_description_full):
2612         * gst/gstutils.h:
2613         * gst/parse/grammar.y:
2614         * gst/parse/types.h:
2615         * win32/common/libgstreamer.def:
2616           Add new gst_parse_*_full API (#528178):
2617           API: gst_parse_launch_full()
2618           API: gst_parse_launchv_full()
2619           API: gst_parse_bin_from_description_full()
2620           API: gst_parse_context_new()
2621           API: gst_parse_context_free()
2622           API: gst_parse_context_get_missing_elements()
2623
2624 2008-05-23  Stefan Kost  <ensonic@users.sf.net>
2625
2626         patch by: Suresh Kumar P <sureshkumar.pp@gmail.com>
2627
2628         * docs/faq/gst-uninstalled:
2629           Also support ffmpeg in gst-uninstalled.
2630
2631 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
2632
2633         * configure.ac:
2634         After discussion on IRC use the binary registry as default
2635         but allow to disable it with --disable-binary-registry.
2636
2637         * win32/common/libgstreamer.def:
2638         Add the two new symbols for the binary registry.
2639
2640 2008-05-22  Tim-Philipp Müller  <tim.muller at collabora co uk>
2641
2642         * gst/gstparse.c: (_gst_parse_escape), (gst_parse_launchv):
2643         * gst/gstutils.c: (gst_parse_bin_from_description):
2644         * gst/parse/grammar.y: (graph):
2645           More guards against bad input; typo fix; some minor clean-ups.
2646
2647 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
2648
2649         Patch by: Sjoerd Simons <sjoerd at luon dot net>
2650
2651         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2652         If nothing else can be used, use the last buffer's start time as
2653         the segment's last stop. Fixes bug #534258.
2654
2655 2008-05-21  Tim-Philipp Müller  <tim.muller at collabora co uk>
2656
2657         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
2658           Move size sanity check to the right place: downstream may return
2659           a buffer with a smaller size if the buffer caps are different than
2660           the requested ones, as may happen when doing reverse negotiation.
2661
2662 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2663
2664         * plugins/elements/gstfilesink.c: (gst_file_sink_set_location),
2665         (gst_file_sink_render):
2666         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location),
2667         (gst_file_src_start):
2668         Small cleanups. Add note adbout g_fopen() on windows and why we don't
2669         use it yet.
2670
2671 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2672
2673         * gst/gstpad.c: (gst_pad_load_and_link):
2674         * gst/gstutils.c: (gst_element_link_pads),
2675         (gst_element_unlink_pads):
2676         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2677         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
2678         (gst_check_teardown_sink_pad),
2679         (gst_check_element_push_buffer_list):
2680         * tests/check/elements/fakesink.c: (GST_START_TEST):
2681         * tests/check/elements/filesink.c:
2682         * tests/check/elements/filesrc.c: (GST_START_TEST):
2683         * tests/check/elements/multiqueue.c: (setup_multiqueue),
2684         (mq_sinkpad_to_srcpad):
2685         * tests/check/elements/tee.c: (GST_START_TEST):
2686         * tests/check/generic/sinks.c: (GST_START_TEST):
2687         * tests/check/gst/gstbin.c: (GST_START_TEST):
2688         * tests/check/gst/gstevent.c: (GST_START_TEST):
2689         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2690         * tests/check/gst/gstpipeline.c: (GST_START_TEST):
2691         * tests/check/gst/gstquery.c: (GST_START_TEST):
2692         * tests/check/gst/gstutils.c: (GST_START_TEST):
2693         * tests/check/libs/basesrc.c: (GST_START_TEST):
2694         * tests/check/pipelines/parse-launch.c: (run_delayed_test),
2695         (gst_parse_test_element_change_state):
2696         Don't use gst_element_get_pad().
2697
2698 2008-05-21  Felipe Contreras  <felipe.contreras@gmail.com>
2699
2700         * docs/Makefile.am:
2701         Fix installing plugin documentation when gtk-doc is disabled.
2702
2703 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2704
2705         * docs/manual/advanced-autoplugging.xml:
2706         * docs/manual/basics-helloworld.xml:
2707         * docs/manual/basics-pads.xml:
2708         * docs/manual/highlevel-components.xml:
2709         Avoid using a bad function in the example code.
2710
2711 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2712
2713         * gst/gstclock.c: (gst_clock_set_calibration):
2714         Fix debug of the new clock rate.
2715
2716 2008-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
2717
2718         * win32/common/libgstbase.def:
2719         Add gst_base_sink_wait_clock() to the exported symbols.
2720
2721 2008-05-20  Sebastian Dröge  <slomo@circular-chaos.org>
2722
2723         Patch by: Tim-Philipp Müller  <tim.muller at collabora co uk>
2724
2725         * libs/gst/base/gstbasetransform.c:
2726         (gst_base_transform_sink_event):
2727         Unref events that the GstBaseTransform::event vfunc didn't want to
2728         have forwarded by the base class. Closes a leak in identity.
2729         Fixes bug #446763.
2730
2731 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2732
2733         * docs/libs/gstreamer-libs-sections.txt:
2734         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock):
2735         * libs/gst/base/gstbasesink.h:
2736         Expose a method that was previously used internally to synchronize
2737         against the clock because it can be useful for subclasses too.
2738         API: GstBaseSink::gst_base_sink_wait_clock()
2739
2740 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
2741
2742         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
2743           Add sanity check to make sure we don't get smaller buffers
2744           than requested (and fallback to normal buffer alloc if we do).
2745
2746 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2747
2748         * libs/gst/base/gstbasesink.c: (gst_base_sink_adjust_time),
2749         (gst_base_sink_wait_clock), (gst_base_sink_wait_eos),
2750         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked):
2751         Refactor adjusting the running_time with latency and offset into a
2752         separate method.
2753         When doing clipping, we still want to use the subclass get_times method,
2754         just in case the DURATION or TIMESTAMP are not set.
2755
2756 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
2757
2758         * docs/gst/gstreamer-sections.txt:
2759         * gst/gsttypefind.c: (gst_type_find_suggest_simple):
2760         * gst/gsttypefind.h:
2761         * win32/common/libgstreamer.def:
2762           API: add gst_type_find_suggest_simple(), #533740.
2763
2764 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
2765
2766         * libs/gst/base/gstbasesrc.c: (gst_base_src_start):
2767           Use right error code when typefinding fails, so we can use
2768           the default (translated) error messages.
2769
2770 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2771
2772         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
2773         (gst_base_src_start):
2774         When the subclass did not set caps on outgoing buffers, configure the
2775         caps we negotiated on the source pad.
2776         When the typefind helper does not find caps, error out properly instead
2777         of doing things with NULL caps.
2778
2779 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
2780
2781         * gst/gsttypefind.h:
2782           Tabs to spaces, oh yes!
2783
2784 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
2785
2786         * tests/check/gst/gstcaps.c: (test_intersect2), (gst_caps_suite):
2787           Add David's and Benjamin's tests for array intersection to the
2788           unit test suite (#147931).
2789
2790 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
2791
2792         * gst/gstevent.c:
2793           Document that gst_event_new_tag() and gst_event_new_navigation()
2794           take ownership of the taglist/structure passed to them. (#533635).
2795
2796 2008-05-17  Jan Schmidt  <jan.schmidt@sun.com>
2797
2798         * docs/Makefile.am:
2799         Don't descend into the plugins dir if plugin docs building
2800         is disabled.
2801
2802         * docs/README:
2803         Add a note about the new type:GTypeName syntax for the plugin
2804         documentation .types file.
2805
2806 2008-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
2807
2808         * gst/gstmessage.c: (gst_message_new_error),
2809         (gst_message_new_warning), (gst_message_new_info):
2810         * gst/gstmessage.h:
2811         Mark the debug string parameters as const. Fixes bug #533490.
2812
2813 2008-05-16  Sebastian Dröge  <slomo@circular-chaos.org>
2814
2815         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
2816         Sort buffer cache list by end offsets. This makes sure that we don't
2817         stop to search for a cached buffer that contains the requested data
2818         too early.
2819         Also read a minimum of 4k bytes instead of 512 bytes as this is a bit
2820         more efficient. Fixes bug #459862.
2821
2822 2008-05-14  Stefan Kost  <ensonic@users.sf.net>
2823
2824         * gst/gstinfo.c:
2825           Explain why we copy the list.
2826
2827         * gst/gstpipeline.c:
2828           Improve docs.
2829
2830         * gst/gstutils.c:
2831           Add one debug-log statement to help tracing probelms with linking pads.
2832
2833 2008-05-12  Stefan Kost  <ensonic@users.sf.net>
2834
2835         * tests/check/gst/gstinfo.c:
2836         Add a test for removing the default log handler. Seems to fail under
2837         windows.
2838
2839 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
2840
2841         * gst/gstpad.c: (gst_pad_peer_accept_caps):
2842         Release pad lock before calling out to avoid a possible deadlock.
2843
2844 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
2845
2846         * gst/parse/grammar.y:
2847         Remove unneeded value unset.
2848
2849         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2850         Add unit test for de/serialization of caps.
2851
2852 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2853
2854         * plugins/elements/gstfakesink.c:
2855         (marshal_VOID__MINIOBJECT_OBJECT), (gst_fake_sink_class_init):
2856         * plugins/elements/gstfakesrc.c: (marshal_VOID__MINIOBJECT_OBJECT),
2857         (gst_fake_src_class_init):
2858         Use custom marshalers that take GstMiniObject as first parameter.
2859         Using OBJECT as parameter while a GstMiniObject is given will lead
2860         to assertions if built with G_ENABLE_DEBUG. Fixes bug #525532.
2861
2862 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2863
2864         * plugins/elements/gsttypefindelement.c:
2865         (gst_type_find_element_handle_event),
2866         (gst_type_find_element_send_cached_events),
2867         (gst_type_find_element_change_state):
2868         Clean up on FLUSH_STOP and not FLUSH_START. Forward both events
2869         immediately.
2870
2871 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2872
2873         * plugins/elements/gsttypefindelement.c:
2874         (gst_type_find_handle_src_query), (stop_typefinding),
2875         (gst_type_find_element_handle_event),
2876         (gst_type_find_element_send_cached_events),
2877         (gst_type_find_element_change_state):
2878         Forward FLUSH_START events immediately and clean up instead of
2879         caching them.
2880
2881 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2882
2883         Patch by: Sjoerd Simons <sjoerd at luon dot net>
2884
2885         * libs/gst/base/gstbasetransform.c:
2886         (gst_base_transform_buffer_alloc):
2887         Check the caps of the buffer returned by gst_pad_alloc_buffer() and
2888         fall back to default negotiation in the chain function if the caps
2889         are different from what was requested. Fixes bug #526768.
2890
2891 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
2892
2893         * gst/gstsegment.c:
2894         * tests/check/gst/gstsegment.c:
2895           No, let's not use g_slice_{dup|copy} here, since they only exist
2896           since GLib 2.14 and we still depend only on >= 2.12. Also add
2897           unit test for gst_segment_copy().
2898
2899 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
2900
2901         * gst/gstutils.h: (GST_BOILERPLATE_FULL):
2902           Try to fix 'dereferencing type-punned pointer will break strict
2903           aliasing rules' warnings with C++ compilers and GLib >= 2.14.0: GLib
2904           changed the default GType typedef from gulong to gsize at some point,
2905           but kept GType typedef'ed to gulong for C++ for ABI reasons; the
2906           g_once_* functions all take a gsize * though, so work around the type
2907           mismatch for C++ by doing everything in gsize and casting to GType
2908           later.
2909
2910 2008-05-09  Jan Schmidt  <jan.schmidt@sun.com>
2911
2912         * plugins/elements/gstmultiqueue.c:
2913         Add documentation for the signals to push our core plugin docs
2914         coverage back up to 100%.
2915
2916 2008-05-08  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
2917
2918         * gst/gstinfo.h (GST_FUNCTION):
2919           Reverted GST_FUNCTION to the old version as we don't want the
2920           full signature in C++ code. Also added support for MSVC.
2921
2922 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
2923
2924         * gst/gstutils.h:
2925         Intern the type name string, similar to what G_DEFINE_TYPE does.
2926
2927 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
2928
2929         * gst/gstutils.h:
2930         Make GST_BOILERPLATE thread-safe if building with GLib 2.14 or newer.
2931
2932 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
2933
2934         Based on a patch by: Sjoerd Simons <sjoerd at luon dot net>
2935
2936         * libs/gst/base/gstbasetransform.c:
2937         (gst_base_transform_buffer_alloc):
2938         Don't passthrough buffer allocation too easily if the caps change.
2939         This breaks when working in passthrough mode and upstream changes
2940         it's caps. Fixes bug #526768.
2941
2942 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
2943
2944         * gst/gstinfo.c (gst_debug_log_valist):
2945           Improved the __FILE__ part of debug output for MSVC.
2946
2947 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
2948
2949         * libs/gst/base/gstbasesrc.c (gst_base_src_default_query):
2950           Declaration after statement fix for compilers like MSVC.
2951
2952 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
2953
2954         * win32/common/config.h.in:
2955           Don't define GST_FUNCTION, if GLib supports MSVC we'd much rather
2956           use the real thing than having "???" unconditionally.
2957
2958 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
2959
2960         * gst/gstinfo.h (GST_FUNCTION):
2961           Made GST_FUNCTION an alias for G_STRFUNC to avoid duplication.
2962
2963 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
2964
2965         * libs/gst/base/gstadapter.c: (gst_adapter_available_fast):
2966         Small code cleanup.
2967
2968         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
2969         (gst_base_sink_set_flushing):
2970         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
2971         Fix some comments.
2972
2973 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
2974
2975         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2976         (gst_fake_src_init), (gst_fake_src_set_property),
2977         (gst_fake_src_get_property), (gst_fake_src_start):
2978         * plugins/elements/gstfakesrc.h:
2979         Added format property to control the format of the newsegment events.
2980         API: GstFakeSrc:format
2981
2982 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
2983
2984         * win32/common/libgstreamer.def:
2985         Add gst_pad_has_name() to the exported symbols.
2986
2987 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
2988
2989         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
2990         * libs/gst/base/gstbasetransform.c:
2991         (gst_base_transform_prepare_output_buffer):
2992         Don't allow negative sizes when allocating new buffers.
2993         Fixes bug #461253.
2994
2995 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
2996
2997         Patch by: Sjoerd Simons <sjoerd at luon net>
2998
2999         * gst/gstbus.c: (gst_bus_source_dispatch):
3000           Don't print a warning if the queue is empty when we try to pop
3001           here. That could happen if another thread or callback set the
3002           bus to flushing between the source's check/prepare and the
3003           dispatch being called (#531538).
3004
3005 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
3006
3007         * plugins/elements/gstmultiqueue.c:
3008           Small docs fix.
3009         
3010 2008-05-05  Sebastian Dröge  <slomo@circular-chaos.org>
3011
3012         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3013         Add unit test for deserializing uint64s and check some really large
3014         numbers in the int64 test.
3015
3016 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
3017
3018         * tools/gst-inspect.c: (n_print), (print_hierarchy),
3019         (print_interfaces), (print_element_properties_info),
3020         (print_signal_info):
3021         Use "%s" as format string instead of printing strings directly.
3022
3023 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
3024
3025         * gst/gstclock.c: (gst_clock_set_calibration):
3026         Make some checks actually useful.
3027
3028         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
3029         Remove some unused code. Unsigned integers tend to be >= 0.
3030
3031 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3032
3033         * gst/gstminiobject.c: (gst_value_get_mini_object):
3034           Fix 'Since:' version in gst_value_dup_mini_object() docs blurb: this
3035           function was not in the unscheduled 0.10.19 release.
3036
3037 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3038
3039         * gst/gstregistry.c: (gst_registry_scan_path_level):
3040           Only print one log message per non-plugin file.
3041
3042 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3043
3044         * gst/gstinfo.c: (gst_debug_log_default):
3045           Fix alignment of debug log columns on 64-bit.
3046
3047 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3048
3049         * docs/libs/Makefile.am:
3050         * docs/libs/gstreamer-libs-sections.txt:
3051           Ignore private controller headers for docs.
3052
3053 2008-05-03  Sebastian Dröge  <slomo@circular-chaos.org>
3054
3055         * libs/gst/controller/gstcontrollerprivate.h:
3056         * libs/gst/controller/gsthelper.c:
3057         * libs/gst/controller/gstinterpolation.c:
3058         * libs/gst/controller/gstinterpolationcontrolsource.c:
3059         (gst_interpolation_control_source_set_interpolation_mode):
3060         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
3061         * libs/gst/controller/lib.c:
3062         Move some private declarations into private headers.
3063
3064 2008-05-02  Sebastian Dröge  <slomo@circular-chaos.org>
3065
3066         * gst/gstdebugutils.c: (debug_dump_element_pad):
3067         Remove some code that is unused after Stefan's refactoring and uses
3068         uninitialized variables now, resulting in a compiler warning.
3069
3070 2008-05-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
3071
3072         * gst/gstregistry.c: (gst_registry_scan_path_level):
3073           Run g_str_has_suffix() only on the file name, not the
3074           entire file path.
3075
3076 2008-04-30  Tim-Philipp Müller  <tim.muller at collabora co uk>
3077
3078         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream):
3079           Since we're not called only from the chain function any longer,
3080           we can't assume that there's always data in the queue, so move
3081           the is_full check to the beginning of the loop (otherwise we'd
3082           hit the assert when changing the limit properties while the
3083           queue is empty or not running yet).
3084           Also, only set a discont if items were actually removed from
3085           the queue.
3086
3087         * tests/check/elements/queue.c: (test_leaky_downstream):
3088           Test case for the above.
3089
3090 2008-04-30  Wim Taymans  <wim.taymans@collabora.co.uk>
3091
3092         Patch by: Jonas Holmberg <jonas dot holmberg at axis dot com>
3093
3094         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream),
3095         (gst_queue_chain), (queue_capacity_change),
3096         (gst_queue_set_property):
3097         When changing thr max capacity of a leaky queue, immediatly drop buffers
3098         instead of waiting for a push on the sinkpad. Fixes #530637.
3099
3100 2008-04-30  Stefan Kost  <ensonic@users.sf.net>
3101
3102         * gst/gstdebugutils.c:
3103           Refactor code and fix handling of ghostpads and their proxypads.
3104
3105 2008-04-29  Wim Taymans  <wim.taymans@collabora.co.uk>
3106
3107         * docs/gst/gstreamer-sections.txt:
3108         * gst/gstevent.c: (gst_event_has_name):
3109         * gst/gstevent.h:
3110         * tests/check/gst/gstevent.c: (GST_START_TEST):
3111         Add method to conveniently check the name of a custom event with
3112         gst_event_has_name().
3113         Reformat the event docs so that related methods are put together instead
3114         of the default alphabetical sort.
3115         Update unit test with new method.
3116         API: GstEvent::gst_event_has_name()
3117
3118 2008-04-28  Michael Smith <msmith@songbirdnest.com>
3119
3120         * libs/gst/check/Makefile.am:
3121           Don't add an explicit link to libgstreamer-0.10.la; it's already
3122           included in GST_OBJ_LIBS.
3123
3124 2008-04-28  Sebastian Dröge  <slomo@circular-chaos.org>
3125
3126         * gst/gst.c:
3127         Register GstClock type from a type-safe context. Fixes bug #530317.
3128
3129 2008-04-25  Michael Smith <msmith@songbirdnest.com>
3130
3131         Patch by Edward Hervey <edward.hervey@collabora.co.uk>
3132         * tools/gst-run.c:
3133           Include <unistd.h> conditionally on HAVE_UNISTD_H as elsewhere.
3134
3135 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
3136
3137         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
3138         (gst_bin_dispose):
3139         Use the GLib stuff to create a private structure.
3140         Add some locking around some dispose methods to make them a little
3141         safer, see #529723. Patch by: Antoine Tremblay <hexa00 at gmail dot com>
3142
3143 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
3144
3145         * libs/gst/base/gstbasesink.h:
3146         * libs/gst/base/gstbasesrc.h:
3147         * libs/gst/base/gstbasetransform.h:
3148         * libs/gst/base/gstcollectpads.h:
3149           Fix doc typos and unify caps a bit.
3150
3151 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
3152
3153         * tools/gst-launch.1.in:
3154           Forgot to also add the envvar docs here.
3155
3156 2008-04-25  Tim-Philipp Müller  <tim at centricular dot net>
3157
3158         * gst/gst.c: (init_post), (gst_deinit):
3159         * tests/check/gst/gstpipeline.c: (GST_START_TEST), (pipeline_thread),
3160           (test_concurrent_create), (gst_pipeline_suite):
3161           Ref some more classes in gst_init() to work around thread-safety
3162           issues in pre-2.16 GLibs, and add basic unit test.
3163
3164 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
3165
3166         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3167         (gst_base_sink_send_event):
3168         Rearrange the latency query code. We always want to do the upstream
3169         query, even if we are not live so that the upstream elements can get the
3170         latency results too. If we fail doing the query and we are live, we
3171         return TRUE afterwards.
3172
3173 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
3174
3175         patch by: Jason Zhao <e3423c@motorola.com>
3176
3177         * docs/gst/running.xml:
3178         * gst/gst.c:
3179           Enable/disable scan_and_update_registry() based on commandline switch
3180           or environment variable. Fixes #520468.
3181           
3182         * ChangeLog:
3183           Fix typo in my previous commit.
3184
3185 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
3186
3187         * gst/gstregistrybinary.c:
3188           Add a warning if we hit unhandled factories when saving.
3189           More debug logging detail, but move to LOG category.
3190
3191 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
3192
3193         * gst/gstregistry.c:
3194           Tell the *truth* when improving the documentation.
3195
3196 2008-04-23  Sebastian Dröge  <slomo@circular-chaos.org>
3197
3198         * gst/gstelementfactory.c: (gst_element_factory_make):
3199         Unref the factory after it was used the last time, not before.
3200
3201         * gst/gstindexfactory.c: (gst_index_factory_make):
3202         Improve debugging a bit and don't leak a ref to the index factory with
3203         each call.
3204
3205 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3206
3207         * gst/gstregistry.c:
3208           Improve the documentation.
3209
3210 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3211
3212         * gst/gstsegment.c:
3213           The glib macro seems to be borked. Use g_slice_copy directly and cast
3214           in the hope that this fixes the warning on 64bit.
3215
3216 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3217
3218         * gst/gstsegment.c:
3219           Document the new function. Use g_slice_dup() (no need for
3220           gst_segment_init()).    
3221
3222 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3223
3224         * docs/gst/gstreamer-sections.txt:
3225           Move GParamSepc macros to standart section.
3226   
3227         * gst/gstbin.c:
3228           Dn't document _get_type - its in private section in docs anyway and
3229           this doc-blob was incomplete.
3230
3231         * gst/gstclock.h:
3232           Fix wrong symbol names in docs.
3233
3234         * gst/gstmacros.h:
3235           Add once doc sentence.
3236
3237         * tests/check/gst/.cvsignore:
3238           Ignore more.
3239
3240 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
3241
3242         * docs/gst/Makefile.am:
3243           And remove those libs here.
3244
3245 2008-04-21  Tim-Philipp Müller  <tim at centricular dot net>
3246
3247         * docs/libs/Makefile.am:
3248           Fix docs build again by adding libgstnet-0.10.so to SCANOBJ_DEPS.
3249
3250 2008-04-21  Wim Taymans  <wim.taymans@collabora.co.uk>
3251
3252         Patch by: Olivier Crete <tester at tester dot ca>
3253
3254         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
3255         Add the min-threshold to the min latency if possible. Fixes #529148.
3256
3257 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
3258
3259         * docs/gst/gstreamer.types.in:
3260           Stupid editor, I removed that line as it should go in yet.
3261
3262 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
3263
3264         * docs/gst/gstreamer.types.in:
3265         * docs/libs/gstreamer-libs.types:
3266           Remove library types fro core docs and have them in libs docs.
3267           Reformat and cleanup. Add comment for miniobject types.
3268
3269 2008-04-20  Tim-Philipp Müller  <tim at centricular dot net>
3270
3271         * gst/gsturi.c: (gst_uri_get_protocol):
3272           Fix leak: g_strdown operates on the string in place, while
3273           g_ascii_strdown() returns a newly-allocated string.
3274
3275 2008-04-20  Sebastian Dröge  <slomo@circular-chaos.org>
3276
3277         * tools/gst-inspect.c: (print_uri_handler_info),
3278         (print_element_info):
3279         Print the URI protocols and the URI type supported by the element.
3280
3281 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3282
3283         * gst/gsttaglist.c: (gst_tag_merge_strings_with_comma):
3284         Use g_value_take_string() instead of the deprecated
3285         g_value_set_string_take_ownership().
3286
3287 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3288
3289         * gst/gstregistrybinary.c: (_gst_crc32):
3290         Return the old CRC instead of 0 if we give a NULL buffer
3291         or a buffer with a length of 0.
3292
3293 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3294
3295         * gst/gsturi.c: (gst_uri_protocol_check_internal),
3296         (gst_uri_get_protocol), (gst_uri_has_protocol),
3297         (gst_uri_construct), (gst_uri_handler_set_uri):
3298         A valid URI scheme can also include '+', '-' and '.' additional
3299         to alphanumeric characters as per RFC 3986 Section 3.1.
3300
3301         Handle URI schemes case insensitive in all places and convert
3302         to lower-case when constructing an URI or setting an URI with
3303         the GstURIHandler interface. Fixes bug #528868.
3304         All elements can still assume (as before) that they will
3305         get passed URIs with a lower-case URI scheme by the GstURIHandler
3306         interface.
3307
3308 2008-04-17  Tim-Philipp Müller  <tim at centricular dot net>
3309
3310         * gst/gstcaps.c: (gst_static_caps_get):
3311         * gst/gstclock.c: (gst_clock_entry_new):
3312           Don't use g_atomic_set_int where it's not needed.
3313
3314 2008-04-17  Wim Taymans  <wim.taymans@collabora.co.uk>
3315
3316         * gst/gstvalue.c: (gst_value_deserialize_caps):
3317         * gst/parse/grammar.y:
3318         Fix 2 caps leaks.
3319
3320 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
3321
3322         * gst/gstutils.c: (gst_atomic_int_set):
3323         Use g_atomic_int_set() here too instead of assignment +
3324         g_atomic_int_get().
3325
3326 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
3327         
3328         * gst/gstutils.c:
3329         * gst/gstutils.h:
3330         API: Deprecate gst_atomic_int_set(), g_atomic_int_set() should be used
3331         now that we depend on new enough GLib.
3332
3333         * gst/gstcaps.c: (gst_static_caps_get):
3334         * gst/gstclock.c: (gst_clock_entry_new):
3335         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_set_colored),
3336         (gst_debug_set_default_threshold), (_gst_debug_category_new),
3337         (gst_debug_category_set_threshold):
3338         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3339         (gst_base_sink_set_qos_enabled):
3340         * libs/gst/net/gstnettimeprovider.c:
3341         (gst_net_time_provider_set_property):
3342         Use g_atomic_int_set() instead of gst_atomic_int_set().
3343
3344 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3345
3346         * gst/gstquery.c:
3347           Also use G_GINT64_CONSTANT for the queries.
3348
3349 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3350
3351         * gst/gstmessage.c:
3352           Use G_GINT64_CONSTANT in varargs function.
3353
3354 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3355
3356         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic):
3357         Initialize the registry magic with zeroes.
3358
3359 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3360
3361         * gst/gstregistrybinary.c: (_gst_crc32),
3362         (gst_registry_binary_write),
3363         (gst_registry_binary_initialize_magic),
3364         (gst_registry_binary_write_cache),
3365         (gst_registry_binary_check_magic),
3366         (gst_registry_binary_read_cache):
3367         * gst/gstregistrybinary.h:
3368         Add crc32 checksum to the binary registry file and check this before
3369         accepting a registry file.
3370
3371         Also free the data list when writing to the registry file fails.
3372
3373 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3374
3375         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
3376         (gst_registry_binary_load_feature),
3377         (gst_registry_binary_load_plugin):
3378         If an element supports the Uri interface, returns a valid pointer
3379         to the supported URI protocols but this pointer contains nothing
3380         don't try to save that as it will corrupt the registry.
3381
3382         Don't unref the plugin if we added it to the registry already but
3383         fail to load a feature as gst_registry_add_plugin() takes ownership
3384         of the plugin.
3385
3386         Improve debugging a bit.
3387
3388 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3389
3390         * gst/gsttaglist.h:
3391           Clarify some tag item docs after discussion on irc.
3392
3393 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3394
3395         * docs/gst/gstreamer-docs.sgml:
3396           Remove commented out plugins (they have their own docs). Update
3397           comments.
3398
3399 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3400
3401         * docs/gst/gstreamer-docs.sgml:
3402         * docs/gst/gstreamer-sections.txt:
3403         * gst/gstparamspecs.c:
3404         * gst/gstparamspecs.h:
3405           Add GST_PARAM_CONTROLLABLE and GST_PARAM_USER_SHIFT. Move paramspec
3406           docs to own section.
3407
3408         * gst/gstvalue.c:
3409           This now only documents GValue.
3410           
3411         * docs/libs/gstreamer-libs-sections.txt:
3412         * libs/gst/controller/gstcontroller.h:
3413           Remove GST_PARAM_CONTROLLABLE.
3414
3415 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3416
3417         * docs/README:
3418           Correct file path. Tell about how to use -overrides.txt.
3419         * docs/design/draft-tagreading.txt:
3420           Small design update.
3421
3422 2008-04-14  Sebastian Dröge  <slomo@circular-chaos.org>
3423
3424         * gst/gstregistrybinary.c: (gst_registry_binary_load_feature),
3425         (gst_registry_binary_load_plugin):
3426         Fix a typo in a debug message and revert change from yesterday as
3427         gst_registry_add_plugin() will only fail if something is really wrong
3428         already and we can't survive it anyway.
3429
3430 2008-04-14  Tim-Philipp Müller  <tim at centricular dot net>
3431
3432         * gst/gst.c: (init_post), (gst_deinit):
3433           Pre-register GstGError GType from a thread-safe context
3434           (fixes #527967); unref enum type classes in deinit.
3435
3436 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3437
3438         Patch by: Rene Stadler <mail at renestadler de>
3439
3440         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
3441           Merging an empty list with another list in KEEP_ALL mode should
3442           yield an empty list as result and not the second list (#512578).
3443
3444         * tests/check/gst/gsttagsetter.c:
3445           Add unit test for tag merge modes and the aforementioned bug.
3446
3447 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3448
3449         Patch by: Rene Stadler <mail at renestadler de>
3450
3451         * gst/gsttaglist.h:
3452           Fix description to match the order in the table (#512577).
3453   
3454 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3455
3456         Patch by: Kwang Yul Seo  <kwangyul.seo gmail com>
3457
3458         * libs/gst/net/gstnettimepacket.h:
3459         * docs/libs/gstreamer-libs-sections.txt:
3460           Define socklen_t as int if it's not defined yet. Fixes compilation
3461           with MSVC6 and other versions where socklen_t is not defined in
3462           the windows headers (#518022).
3463
3464 2008-04-13  Sebastian Dröge  <slomo@circular-chaos.org>
3465
3466         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
3467         If gst_registry_add_plugin() fails our reference to the plugin is
3468         invalid so don't try to use it anymore and instead error out.
3469
3470 2008-04-12  Tim-Philipp Müller  <tim at centricular dot net>
3471
3472         * tools/gst-xmlinspect.c: (print_element_info), (main):
3473           De-cruft a bit. If no argument is specified, print all elements in
3474           XML syntax rather than a freestyle list of elements like gst-inspect.
3475           Also, don't print XML header chunk unless we actually have something
3476           to print (ie. don't print it before an error message); print error
3477           message to stderr not stdout. Remove support for printing plugin
3478           info (it would just output something freestyle along the lines of
3479           gst-inspect so far), which fixes #514507. Also add license header.
3480
3481 2008-04-11  Julien Moutte  <julien@fluendo.com>
3482
3483         Mac OS X love...
3484         * configure.ac: Merge platform specific defines, introduce a new
3485         define on OS X to remember that forking when updating registry is
3486         unsafe.
3487         * docs/faq/gst-uninstalled: Updated to include gst-libs in the bad
3488         module.
3489         * gst/gst.c: Don't fork when updating registry if GST_HAVE_UNSAFE_FORK
3490         is defined.
3491         * gst/gstregistry.c: (gst_registry_scan_path_level): Fixed a bogus
3492         condition that leads to absolutely no plugins being registered on
3493         OS X.
3494
3495 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
3496
3497         Based on patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
3498
3499         * gst/gstutils.c: (gst_pad_add_data_probe),
3500           (gst_pad_add_data_probe_full), (gst_pad_add_event_probe),
3501           (gst_pad_add_event_probe_full), (gst_pad_add_buffer_probe),
3502           (gst_pad_add_buffer_probe_full):
3503         * gst/gstutils.h:
3504         * docs/gst/gstreamer-sections.txt:
3505         * win32/common/libgstreamer.def:
3506           Add gst_pad_add_*_probe_full() functions with a notify callback that
3507           lets the caller free the data it passes to the probe functions. This
3508           is useful for bindings such as gst-python or gstreamermm (#526814).
3509           API: gst_pad_add_data_probe_full
3510           API: gst_pad_add_buffer_probe_full
3511           API: gst_pad_add_event_probe_full
3512
3513         * tests/check/gst/gstutils.c:
3514           Add minimal unit test to make sure freeing the data actually works
3515           as expected.
3516
3517         * tests/benchmarks/.cvsignore:
3518           Random cvsignore addendum.
3519
3520 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
3521
3522         * gst/gstdebugutils.h: (GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS),
3523           (GST_DEBUG_BIN_TO_DOT_FILE):
3524           Mention GstDebugGraphDetails enum type in doc blurb so we get a link
3525           to it in the docs (since these are macros the types of the arguments
3526           won't be shown in the docs otherwise).
3527
3528 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
3529
3530         * gst/gstpad.c:
3531           Do not abort on out of memory for pad_alloc_buffer.
3532
3533 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
3534
3535         * libs/gst/check/gstcheck.c:
3536           Remove blank line between symbol name ad parameters to fix gtkdoc
3537           warning.
3538
3539 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3540
3541         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
3542
3543         * docs/gst/gstreamer-sections.txt:
3544         * gst/gstsegment.c:
3545         * gst/gstsegment.h:
3546         * win32/common/libgstreamer.def:
3547           Expose gst_segment_copy() to make things easier for the c++ bindings.
3548           Fixes #518932.
3549           API: gst_segment_copy()
3550
3551 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3552
3553         * gst/gst.c: (gst_init_get_option_group), (init_post):
3554           Fix const position; ref GType classes for enum types to work
3555           around thread-safety issues in GLib versions < 2.16.
3556
3557 2008-04-09  Wim Taymans  <wim.taymans@collabora.co.uk>
3558
3559         * docs/design/part-buffering.txt:
3560         Fix some typos and set the estimated total for push mode to -1.
3561
3562         * gst/gstquery.c: (gst_query_new_buffering):
3563         Set buffering-left to 0 as we're not buffering by default.
3564
3565         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
3566         Implement BUFFERING query.
3567
3568 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3569
3570         Based on patch by: Milosz Derezynski <internalerror gmail com>
3571
3572         * gst/gsterror.c: (_gst_stream_errors_init):
3573         * gst/gsterror.h:
3574           Add two new error codes for encrypted content. Fixes #524659.
3575           API: GST_STREAM_ERROR_DECRYPT
3576           API: GST_STREAM_ERROR_DECRYPT_NOKEY
3577
3578 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3579
3580         * gst/gstquery.h:
3581           Fix typo.
3582
3583         * win32/common/libgstreamer.def:
3584           Add new functions.
3585
3586 2008-04-09  Sebastian Dröge  <slomo@circular-chaos.org>
3587
3588         * plugins/elements/gstidentity.c: (gst_identity_event),
3589         (gst_identity_start):
3590         Fix imperfect timestamp/offset checks when we get another NEWSEGMENT
3591         event after processing some data. Fixes bug #526042.
3592
3593 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3594
3595         * docs/gst/gstreamer-sections.txt:
3596         * gst/gstquery.c: (gst_query_parse_latency),
3597         (gst_query_set_buffering_percent),
3598         (gst_query_parse_buffering_percent),
3599         (gst_query_set_buffering_range), (gst_query_parse_buffering_range):
3600         * gst/gstquery.h:
3601         Rename _avail -> _range
3602         API: gst_query_set_buffering_range
3603         API: gst_query_parse_buffering_range
3604
3605 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3606
3607         * docs/design/part-buffering.txt:
3608         * gst/gstquark.c:
3609         * gst/gstquark.h:
3610         * gst/gstquery.c: (gst_query_parse_latency),
3611         (gst_query_new_buffering), (gst_query_set_buffering_percent),
3612         (gst_query_parse_buffering_percent):
3613         * gst/gstquery.h:
3614         Add busy field and quark for the buffering query so that the app can
3615         only use the query to see if buffering is in progress.
3616
3617 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3618
3619         * docs/gst/gstreamer-sections.txt:
3620         * gst/gstmessage.c: (gst_message_set_buffering_stats),
3621         (gst_message_parse_buffering_stats):
3622         * gst/gstmessage.h:
3623         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
3624         (gst_query_parse_latency), (gst_query_new_buffering),
3625         (gst_query_set_buffering_percent),
3626         (gst_query_parse_buffering_percent),
3627         (gst_query_set_buffering_stats), (gst_query_parse_buffering_stats),
3628         (gst_query_set_buffering_avail), (gst_query_parse_buffering_avail):
3629         * gst/gstquery.h:
3630         Reorder the message docs and headers for clarity.
3631         Add aditional buffering stats API for messages.
3632         Add buffering query.
3633         Convert some leftover queries to use GstQuark.
3634         API: gst_message_set_buffering_stats
3635         API: gst_message_parse_buffering_stats
3636         API: GST_QUERY_BUFFERING
3637         API: GstBufferingMode
3638         API: gst_query_new_buffering
3639         API: gst_query_set_buffering_percent
3640         API: gst_query_parse_buffering_percent
3641         API: gst_query_set_buffering_stats
3642         API: gst_query_parse_buffering_stats
3643
3644 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3645
3646         * gst/gstmessage.c: (gst_message_new_error),
3647         (gst_message_new_warning), (gst_message_new_info),
3648         (gst_message_new_buffering), (gst_message_new_state_changed),
3649         (gst_message_new_clock_provide), (gst_message_new_clock_lost),
3650         (gst_message_new_new_clock), (gst_message_new_segment_start),
3651         (gst_message_new_segment_done), (gst_message_new_duration),
3652         (gst_message_new_async_start), (gst_message_parse_buffering),
3653         (gst_message_parse_state_changed),
3654         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
3655         (gst_message_parse_new_clock), (gst_message_parse_error),
3656         (gst_message_parse_warning), (gst_message_parse_info),
3657         (gst_message_parse_segment_start),
3658         (gst_message_parse_segment_done), (gst_message_parse_duration),
3659         (gst_message_parse_async_start):
3660         Use GstQuark for messages.
3661
3662 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3663
3664         * gst/gstquark.c: (_priv_gst_quarks_initialize):
3665         * gst/gstquark.h:
3666         Add some more quarks needed for messages and queries.
3667
3668 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3669
3670         * docs/design/part-buffering.txt:
3671         Remove the "none" buffering mode, STREAM is a good default.
3672         Move estimated-time to the avail query, that's when it will be needed.
3673         Other small typo fixes and updates.
3674
3675 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
3676
3677         * gst/gstindex.c: (gst_index_resolver_get_type):
3678           Don't put descriptions into the nick field of a GEnumValue: it's not
3679           meant for that and some language bindings rely on the nick field to
3680           construct constants and the like. Fixes #526705.
3681
3682 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
3683
3684         * NEWS:
3685         * RELEASE:
3686         * gstreamer.doap:
3687           Merge other changes from 0.10.19 release branch.
3688
3689 2008-04-06  Sebastian Dröge  <slomo@circular-chaos.org>
3690
3691         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3692
3693         * configure.ac:
3694         Actually build dlls when cross-compiling with mingw32.
3695         Fixes bug #526247.
3696
3697 2008-04-05  Sebastian Dröge  <slomo@circular-chaos.org>
3698
3699         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3700
3701         * gst/gstpoll.c:
3702         Fix compilation of GstPoll with mingw32. Fixes bug #526236.
3703
3704 2008-04-04  Wim Taymans  <wim.taymans@collabora.co.uk>
3705
3706         * docs/design/draft-latency.txt:
3707         Fix typo.
3708
3709         * docs/design/part-buffering.txt:
3710         Update design docs with more buffering ideas.
3711
3712 2008-04-03  Tim-Philipp Müller  <tim at centricular dot net>
3713
3714         * configure.ac:
3715           Bump version to 0.10.19.1 after the unscheduled 0.10.19 release.
3716
3717 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
3718
3719         * configure.ac:
3720           Revert part that belongs to the preset patch.
3721
3722 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
3723
3724         * configure.ac:
3725           Add qoutes to the define. Fixes # 525961.
3726
3727 2008-04-03  Sebastian Dröge  <slomo@circular-chaos.org>
3728
3729         * plugins/indexers/gstfileindex.c: (_file_index_id_free),
3730         (gst_file_index_load), (gst_file_index_add_id),
3731         (gst_file_index_get_assoc_entry):
3732         * plugins/indexers/gstmemindex.c: (gst_mem_index_free_format),
3733         (gst_mem_index_free_id), (gst_mem_index_add_id),
3734         (gst_mem_index_index_format):
3735         Use GSlice when possible.
3736
3737 2008-04-02  Sebastian Dröge  <slomo@circular-chaos.org>
3738
3739         * libs/gst/controller/gstinterpolationcontrolsource.c:
3740         (gst_control_point_free),
3741         (gst_interpolation_control_source_set_internal):
3742         Use GSlice for allocating the control points.
3743
3744 2008-04-02  Wim Taymans  <wim.taymans@collabora.co.uk>
3745
3746         * plugins/elements/gsttypefindelement.c:
3747         (gst_type_find_element_class_init),
3748         (gst_type_find_element_set_property),
3749         (gst_type_find_element_get_property),
3750         (gst_type_find_element_activate):
3751         * plugins/elements/gsttypefindelement.h:
3752         Cleanup properties.
3753         Fix pad leak when peer query fails.
3754         We can still typefind when the peer returns -1.
3755         Add property to force caps and bypass typefinding. This will be used in
3756         uridecodebin.
3757         API::force-caps
3758
3759 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
3760
3761         * configure.ac:
3762         Require GLib 2.12.
3763
3764         * gst/glib-compat-private.h:
3765         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free):
3766         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
3767         Unconditionally use GSlice for allocation.
3768
3769         * gst/gstpoll.c: (gst_poll_new), (gst_poll_free):
3770         * gst/gstsegment.c: (gst_segment_new), (gst_segment_free):
3771         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
3772         (gst_structure_free):
3773         Use GSlice for allocation.
3774
3775 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
3776
3777         * gst/parse/Makefile.am:
3778         * gst/parse/grammar.tab.pre.c:
3779         * gst/parse/grammar.tab.pre.h:
3780         * gst/parse/lex._gst_parse_yy.pre.c:
3781         Require a new enough flex and bison and remove the parser hacks to use
3782         a pre-regenerated version.
3783
3784 2008-04-01  Julien Moutte  <julien@fluendo.com>
3785
3786         patch by: Jason Zhao <E3423C@motorola.com>
3787
3788         * configure.ac: Add a configure switch to disable option parsing
3789         in gst_init.
3790         Fixes #522882.
3791
3792 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
3793
3794         * configure.ac:
3795         * gst/gstregistry.c:
3796           MacOS has plugins under .so or under .dylib. Add detection for MacOS
3797           and handle this case.
3798
3799         * gst/gst.c:
3800           Add a comment here describing, why we stat each plugin and not try to
3801           be smart.
3802
3803 2008-03-31  Sebastian Dröge  <slomo@circular-chaos.org>
3804
3805         * libs/gst/base/gstbasetransform.c:
3806         (gst_base_transform_prepare_output_buffer):
3807         Also unset the GAP flag on buffers if we're working inplace but
3808         the element is not GAP-aware.
3809
3810         Mark a comment as FIXME 0.11.
3811
3812 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
3813
3814         * gst/gst.c:
3815           Fix type in log message and add one to ease seeing how long registry
3816           cache verification takes.
3817
3818         * gst/gstregistry.c:
3819           Only test plugin filenames against G_MODULE_SUFFIX.
3820
3821 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
3822
3823         * gst/gstdebugutils.c:
3824           Improve handling ghost/proxy pads.
3825
3826 2008-03-27  Stefan Kost  <ensonic@users.sf.net>
3827
3828         * docs/gst/gstreamer-sections.txt:
3829         * gst/gstpad.c:
3830         * gst/gstpad.h:
3831           Expose macro to docs and fix link to it.
3832
3833 2008-03-27  Michael Smith <msmith@fluendo.com>
3834
3835         * libs/gst/dataprotocol/dataprotocol.c:
3836         (gst_dp_packet_from_event_1_0):
3837           When calculating GDP body CRC, use the correct pointer. 
3838           Fixes part of #522401.
3839
3840 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3841
3842         Patch by: Mark Nauwelaerts <manauw at skynet be>
3843
3844         * plugins/elements/gstidentity.c: (gst_identity_class_init),
3845         (gst_identity_init), (gst_identity_prepare_output_buffer):
3846         Identity is not always a passthrough element, it can modify the buffer
3847         timestamps when it has a datarate and operates in single-segment mode.
3848         We therefore make it an in_place filter with a custom buffer prepare
3849         function that conditionally makes the input buffer metadata writable
3850         when needed.  Fixes #523985.
3851
3852 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3853
3854         Patch by: Mark Nauwelaerts <manauw at skynet be>
3855
3856         * gst/gstclock.h:
3857         * libs/gst/base/gstbasesrc.h:
3858         * libs/gst/base/gstbasetransform.c:
3859         * libs/gst/check/gstcheck.c:
3860         Small documentation fixes. Fixes #523978.
3861
3862 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3863
3864         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
3865         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
3866         Also retry our poll_wait when we get EAGAIN. Fixes #524041.
3867
3868 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3869
3870         * plugins/elements/gstmultiqueue.c: (single_queue_overrun_cb),
3871         (single_queue_underrun_cb):
3872         When trying to make room in the queue, bump the max allowed buffers
3873         bigger than the current amount of buffers in the queue. this fixes some
3874         nasty deadlocks in multiqueue when dynamically changing the limits of
3875         the queue.
3876
3877 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3878
3879         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
3880
3881         * gst/gstcaps.c: (gst_caps_set_simple),
3882         (gst_caps_set_simple_valist), (gst_caps_intersect):
3883         * gst/gstcaps.h:
3884         Constify the field gchar * params in set_simple and friends.
3885         Fixes #522326.
3886
3887 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3888
3889         * gst/gstvalue.c: (gst_value_transform_object_string):
3890         Transform a GstObject to a more meaningfull string that includes the
3891         object type in addition to its name.
3892
3893 2008-03-23  Stefan Kost  <ensonic@users.sf.net>
3894
3895         * ChangeLog:
3896           ChangeLog surgery to add bugnumber to commit.
3897
3898 2008-03-23  Rene Stadler  <mail@renestadler.de>
3899
3900         * libs/gst/base/gstbasetransform.c:
3901         (gst_base_transform_set_gap_aware): Fix confusing documentation.
3902
3903 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
3904
3905         * gst/gstregistrybinary.c: (gst_registry_binary_write):
3906         Rename constant everywhere and don't forget one occurence.
3907
3908 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
3909
3910         * gst/gstregistrybinary.c: (gst_registry_binary_write):
3911         Align memory to the pointer size even if the architecture allows
3912         unaligned memory access. Unaligned memory access usually comes with
3913         performance penality.
3914
3915 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
3916
3917         * gst/gstregistrybinary.c: (gst_registry_binary_write),
3918         (gst_registry_binary_check_magic),
3919         (gst_registry_binary_load_pad_template),
3920         (gst_registry_binary_load_feature),
3921         (gst_registry_binary_load_plugin):
3922         Align memory to the pointer size instead of always 32 bit. Fixes
3923         unaligned memory accesses on ia64 and friends.
3924
3925         * gst/gstregistrybinary.h:
3926         Bump binary registry format version for this as it changes the
3927         format on those architectures that don't have unaligned access
3928         and 64 bit pointers.
3929
3930 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
3931
3932         * docs/pwg/advanced-dparams.xml:
3933         * docs/pwg/building-props.xml:
3934         * docs/pwg/other-source.xml:
3935         * gst/glib-compat.h:
3936         * gst/gstbin.c: (gst_bin_class_init):
3937         * gst/gstclock.c: (gst_clock_class_init):
3938         * gst/gstindex.c: (gst_index_class_init):
3939         * gst/gstobject.c: (gst_object_class_init):
3940         * gst/gstpad.c: (gst_pad_class_init):
3941         * gst/gstpipeline.c: (gst_pipeline_class_init):
3942         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
3943         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
3944         * libs/gst/base/gstbasetransform.c:
3945         (gst_base_transform_class_init):
3946         * libs/gst/base/gstdataqueue.c: (gst_data_queue_class_init):
3947         * libs/gst/check/gstcheck.c: (_gst_check_fault_handler_restore),
3948         (_gst_check_fault_handler_sighandler),
3949         (_gst_check_fault_handler_setup), (gst_check_init):
3950         * libs/gst/controller/gstcontroller.c:
3951         (_gst_controller_class_init):
3952         * libs/gst/controller/gstlfocontrolsource.c:
3953         (gst_lfo_control_source_class_init):
3954         * libs/gst/net/gstnetclientclock.c:
3955         (gst_net_client_clock_class_init):
3956         * libs/gst/net/gstnettimeprovider.c:
3957         (gst_net_time_provider_class_init):
3958         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
3959         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
3960         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
3961         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
3962         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
3963         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
3964         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
3965         * plugins/elements/gstidentity.c: (gst_identity_class_init):
3966         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_class_init):
3967         * plugins/elements/gstqueue.c: (gst_queue_class_init):
3968         * plugins/elements/gsttee.c: (gst_tee_class_init):
3969         * plugins/elements/gsttypefindelement.c:
3970         (gst_type_find_element_class_init):
3971         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
3972         Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and
3973         use it everywhere for GParamSpecs that use static strings (i.e. all).
3974         This gives us less memory usage, fewer allocations and thus less
3975         memory defragmentation. Fixes bug #523806.
3976
3977 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
3978
3979         * gst/gstminiobject.c: (gst_value_dup_mini_object),
3980         (gst_param_spec_mini_object):
3981         * gst/gstminiobject.h:
3982         * win32/common/libgstreamer.def:
3983         * docs/gst/gstreamer-sections.txt:
3984         API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
3985         GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object. Also move
3986         GstParamSpecMiniObject into a public header for this.
3987
3988         This make GstMiniObject a bit more consistent with GObject and makes
3989         it possible to extend the param specs.
3990
3991         gst_value_dup_mini_object is mainly useful for set_property methods.
3992
3993         Fixes bug #523798.
3994
3995         * tools/gst-inspect.c: (print_element_properties_info):
3996         Print something useful for GstMiniObject properties and not just
3997         "unknown type".
3998
3999 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
4000
4001         * docs/gst/gstreamer-sections.txt:
4002         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
4003         (gst_registry_binary_check_magic):
4004         * gst/gstregistrybinary.h:
4005         Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent
4006         and add it to the (private part) of the docs to fix the build.
4007
4008 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
4009
4010         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
4011         (gst_registry_binary_check_magic),
4012         (gst_registry_binary_read_cache):
4013         * gst/gstregistrybinary.h:
4014         Don't use GST_MAJORMINOR for the binary registry version. Instead
4015         hardcode a value that must be changed whenever the format changes
4016         in an incompatible way.
4017         Also don't GST_ERROR when there is a version mismatch, just
4018         regenerate the registry silently.
4019
4020 2008-03-21  Jan Schmidt  <jan.schmidt@sun.com>
4021
4022         * configure.ac:
4023         Back to development - 0.10.18.1
4024
4025 === release 0.10.18 ===
4026
4027 2008-03-20  Jan Schmidt <jan.schmidt@sun.com>
4028
4029         * configure.ac:
4030           releasing 0.10.18, "So far away"
4031
4032 2008-03-18  Jan Schmidt  <jan.schmidt@sun.com>
4033
4034         * configure.ac:
4035         * win32/common/config.h:
4036         0.10.17.4 pre-release
4037
4038 2008-03-18  Wim Taymans  <wim.taymans@collabora.co.uk>
4039
4040         Patch by: Ole André Vadla Ravnås
4041             <ole dot andre dot ravnas at tandberg dot com>
4042
4043         * docs/gst/gstreamer-sections.txt:
4044         * gst/gstpoll.c: (gst_poll_winsock_error_to_errno),
4045         (gst_poll_update_winsock_event_mask),
4046         (gst_poll_prepare_winsock_active_sets),
4047         (gst_poll_collect_winsock_events), (gst_poll_new), (gst_poll_free),
4048         (gst_poll_add_fd_unlocked), (gst_poll_fd_ctl_write),
4049         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ignored),
4050         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
4051         (gst_poll_check_ctrl_commands), (gst_poll_wait):
4052         * gst/gstpoll.h:
4053         * win32/common/libgstreamer.def:
4054         Add new function gst_poll_fd_ignored() for improved Windows
4055         compatibility.
4056         Various minor fixes and cleanups. See #520808.
4057
4058 2008-03-17  Tim-Philipp Müller  <tim at centricular dot net>
4059
4060         * gst/gstindex.c: (gst_index_entry_free):
4061         * gst/gstindex.h:
4062           Don't free key strings which we don't own. Fixes crash in
4063           gst_index_entry_free() (#522741).
4064
4065         * tests/check/Makefile.am:
4066         * tests/check/gst/.cvsignore:
4067         * tests/check/gst/gstindex.c: (test_index_entries),
4068           (gst_index_suite), (gst_index):
4069           Add unit test for the above.
4070
4071 2008-03-11  Sebastian Dröge  <slomo@circular-chaos.org>
4072
4073         * win32/common/libgstreamer.def:
4074         Remove symbols that were removed recently. Fixes bug #521740.
4075
4076 2008-03-11  Jan Schmidt  <jan.schmidt@sun.com>
4077
4078         * configure.ac:
4079         * win32/common/config.h:
4080         0.10.17.3 pre-release
4081
4082 2008-03-07  Wim Taymans  <wim.taymans@collabora.co.uk>
4083
4084         Patch by: Ole André Vadla Ravnås
4085             <ole dot andre dot ravnas at tandberg dot com>
4086
4087         * docs/gst/gstreamer-sections.txt:
4088         * gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event),
4089         (gst_poll_update_winsock_event_mask), (gst_poll_new),
4090         (gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked),
4091         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
4092         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed),
4093         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
4094         (gst_poll_fd_can_write), (gst_poll_wait),
4095         (gst_poll_set_controllable), (gst_poll_restart),
4096         (gst_poll_set_flushing):
4097         * gst/gstpoll.h:
4098         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
4099         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start),
4100         (gst_net_time_provider_new):
4101         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
4102         * plugins/elements/gstfdsrc.c: (gst_fd_src_start):
4103         * tests/benchmarks/gstpollstress.c: (main):
4104         * tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite):
4105         Remove GstPollMode from the API, it does not make sense to let the
4106         application control this.
4107         Add support for Win32.
4108         Fix the testsuite. Fixes #520671.
4109
4110 2008-03-07  Sebastian Dröge  <slomo@circular-chaos.org>
4111
4112         Patch by: Ole André Vadla Ravnås
4113             <ole dot andre dot ravnas at tandberg dot com>
4114
4115         * gst/gstregistrybinary.c:
4116         Include io.h for write() and close() when building with MSVC. Fixes
4117         bug #520877.
4118
4119 2008-03-07  Stefan Kost  <ensonic@users.sf.net>
4120
4121         * configure.ac:
4122         * gst/gst_private.h:
4123         * gst/gstconfig.h.in:
4124         * gst/gstregistry.h:
4125         * gst/gstregistrybinary.c:
4126         * win32/common/gstconfig.h:
4127           Move registry backend API to private headers where we can. Add
4128           fixme-0.11 comments for the others. Add stubs for the xml backend when
4129           using the binary to ensure they functions exists (they should not be
4130           used though). Fixes #520756.
4131
4132 2008-03-04  Jan Schmidt  <jan.schmidt@sun.com>
4133
4134         * configure.ac:
4135         * win32/common/config.h:
4136         0.10.17.2 prelease
4137
4138 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
4139
4140         * gst/gstregistrybinary.c: (gst_registry_binary_write),
4141         (gst_registry_binary_read_cache):
4142         * gst/gstregistryxml.c: (gst_registry_save):
4143         * gst/gsturi.c: (unescape_string), (gst_uri_has_protocol):
4144         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file):
4145         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4146         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
4147         Switch to using portabl gsize/gssize instead of size_t/ssize_t
4148         Fixes #520152
4149
4150 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
4151
4152         * gst/gstminiobject.c:
4153         Import gst_private.h before any other header that might include other
4154         glib headers. This fixes the build on windows using native compilers.
4155
4156 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
4157
4158         * win32/common/gstconfig.h:
4159           Add here too, just for completeness.
4160
4161 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
4162
4163         * configure.ac:
4164         * gst/gstconfig.h.in:
4165         * gst/gstregistry.h:
4166           Fix broken use of config.h-defined preprocessor directive in a public
4167           header file. Add a corresponding define to gstconfig.h, since we can't
4168           really remove those function declarations from the header file now
4169           (or can we? and why are they there in the first place?).
4170
4171 2008-03-03  Andy Wingo  <wingo@pobox.com>
4172
4173         * tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
4174         the new warning.
4175
4176         * gst/gststructure.c (gst_structure_from_string): Warn if
4177         structure_from_string didn't consume the whole string, but the
4178         caller did not provide an end pointer.
4179
4180 2008-03-01  Tim-Philipp Müller  <tim at centricular dot net>
4181
4182         Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it>
4183
4184         * gst/gstregistryxml.c: (read_string), (load_feature):
4185           Strings allocated by libxml2 should be freed with xmlFree(), not
4186           with g_free(). Fixes issues on windows in certain contexts (#519698).
4187
4188 2008-02-29  Tim-Philipp Müller  <tim at centricular dot net>
4189
4190         * gst/gstinterface.c: (gst_element_implements_interface):
4191           Don't crash if the element supports the interface queried, but does
4192           not implement GstImplementsInterface. Fixes #519584.
4193
4194         * tests/check/Makefile.am:
4195         * tests/check/gst/.cvsignore:
4196         * tests/check/gst/gstinterface.c:
4197           Add unit test for the above.
4198
4199 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4200
4201         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4202         Small doc update.
4203
4204 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4205
4206         * gst/gstsegment.c: (gst_segment_set_seek),
4207         (gst_segment_to_stream_time):
4208         Improve some comment.
4209         Update variables where it makes more sense.
4210
4211 2008-02-29  Rene Stadler  <mail@renestadler.de>
4212
4213         * gst/gsturi.c: (gst_uri_handler_get_protocols):
4214         Use the get_protocols_full vfunc if get_protocols is NULL.  Fixes
4215         URIHandlers implemented using language bindings.
4216
4217 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4218
4219         * gst/gstelementfactory.h:
4220         * tests/check/elements/fakesink.c:
4221         * tests/check/elements/fakesrc.c: (setup_fakesrc):
4222         * tests/check/elements/fdsrc.c: (setup_fdsrc):
4223         * tests/check/elements/filesink.c: (setup_filesink):
4224         * tests/check/elements/filesrc.c: (setup_filesrc):
4225         * tests/check/elements/identity.c: (setup_identity):
4226         * tests/check/elements/tee.c:
4227         * tests/check/generic/sinks.c:
4228         * tests/check/generic/states.c: (setup), (teardown):
4229         * tests/check/gst/gst.c:
4230         * tests/check/gst/gstabi.c:
4231         * tests/check/gst/gstbin.c:
4232         * tests/check/gst/gstbus.c: (pull_messages):
4233         * tests/check/gst/gstcaps.c:
4234         * tests/check/gst/gstelement.c:
4235         * tests/check/gst/gstevent.c:
4236         * tests/check/gst/gstghostpad.c:
4237         * tests/check/gst/gstiterator.c:
4238         * tests/check/gst/gstmessage.c:
4239         * tests/check/gst/gstminiobject.c: (my_foo_init):
4240         * tests/check/gst/gstobject.c: (thread_name_object),
4241         (gst_object_suite):
4242         * tests/check/gst/gstpad.c:
4243         * tests/check/gst/gstplugin.c:
4244         * tests/check/gst/gstpoll.c:
4245         * tests/check/gst/gstquery.c:
4246         * tests/check/gst/gstsegment.c:
4247         * tests/check/gst/gststructure.c:
4248         * tests/check/gst/gstsystemclock.c:
4249         * tests/check/gst/gsttask.c:
4250         * tests/check/gst/gstutils.c:
4251         * tests/check/gst/gstvalue.c:
4252         * tests/check/gst/struct_hppa.h:
4253         * tests/check/gst/struct_i386.h:
4254         * tests/check/gst/struct_ppc32.h:
4255         * tests/check/gst/struct_ppc64.h:
4256         * tests/check/gst/struct_x86_64.h:
4257         * tests/check/libs/adapter.c: (create_and_fill_adapter):
4258         * tests/check/libs/basesrc.c:
4259         * tests/check/libs/controller.c: (GST_START_TEST):
4260         * tests/check/libs/gdp.c:
4261         * tests/check/libs/gstnetclientclock.c:
4262         * tests/check/libs/gstnettimeprovider.c:
4263         * tests/check/libs/libsabi.c:
4264         * tests/check/libs/struct_hppa.h:
4265         * tests/check/libs/struct_i386.h:
4266         * tests/check/libs/struct_ppc32.h:
4267         * tests/check/libs/struct_ppc64.h:
4268         * tests/check/libs/struct_x86_64.h:
4269         * tests/check/pipelines/cleanup.c:
4270         * tests/check/pipelines/simple-launch-lines.c:
4271         * tests/check/pipelines/stress.c:
4272         And correct even more valid sparse warnings.
4273
4274         * win32/common/libgstreamer.def:
4275         Add gst_poll_fd_init to the list of symbols.
4276
4277 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4278
4279         * gst/gstconfig.h.in:
4280         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
4281         * libs/gst/check/gstcheck.c: (gst_check_log_message_func),
4282         (gst_check_log_critical_func), (gst_check_drop_buffers),
4283         (gst_check_element_push_buffer_list):
4284         * libs/gst/controller/gstcontroller.c: (gst_controller_get),
4285         (gst_controller_get_type):
4286         * libs/gst/controller/gsthelper.c: (gst_object_control_properties),
4287         (gst_object_get_controller), (gst_object_get_control_source):
4288         * libs/gst/controller/gstinterpolationcontrolsource.c:
4289         (gst_interpolation_control_source_new):
4290         * libs/gst/controller/gstlfocontrolsource.c:
4291         (gst_lfo_control_source_new):
4292         * libs/gst/dataprotocol/dataprotocol.c:
4293         (gst_dp_event_from_packet_0_2):
4294         * plugins/elements/gstfdsrc.c:
4295         * plugins/elements/gstmultiqueue.c:
4296         * plugins/elements/gsttee.c:
4297         * plugins/elements/gsttypefindelement.c:
4298         * plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
4299         (gst_file_index_add_association):
4300         * plugins/indexers/gstmemindex.c:
4301         * tests/benchmarks/gstpollstress.c: (mess_some_more):
4302         * tests/check/elements/queue.c: (setup_queue):
4303         * tests/check/gst/gstpipeline.c:
4304         * tests/check/libs/collectpads.c: (setup), (teardown),
4305         (gst_collect_pads_suite):
4306         * tests/examples/adapter/adapter_test.c:
4307         * tests/examples/metadata/read-metadata.c: (make_pipeline):
4308         * tests/examples/xml/createxml.c:
4309         * tests/examples/xml/runxml.c:
4310         * tools/gst-inspect.c:
4311         * tools/gst-run.c:
4312         Correct all relevant warnings found by the sparse semantic code
4313         analyzer. This include marking several symbols static, using
4314         NULL instead of 0 for pointers, not using variable sized arrays
4315         on the stack, moving variable declarations to the beginning of
4316         a block and using "foo (void)" instead of "foo ()" for declarations.
4317
4318 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4319
4320         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4321         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4322         Don't reset GstPollFDs, this is not necessary at all.
4323
4324         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4325         (delayed_restart), (delayed_control):
4326         Use GST_POLL_FD_INIT.
4327
4328 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4329
4330         * gst/gstpoll.c: (gst_poll_fd_init):
4331         * gst/gstpoll.h:
4332         Added Since tags.
4333
4334         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4335         Use some more init macros.
4336
4337 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4338
4339         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
4340         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4341         Use init macros and functions.
4342
4343 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4344
4345         * docs/gst/gstreamer-sections.txt:
4346         * gst/gstpoll.c: (gst_poll_fd_init):
4347         * gst/gstpoll.h:
4348         Add INIT macro and _init method for initializing the GstPollFD.
4349
4350 2008-02-28  Sebastian Dröge  <slomo@circular-chaos.org>
4351
4352         * plugins/elements/gstfdsink.c: (gst_fd_sink_start),
4353         (gst_fd_sink_update_fd):
4354         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4355         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4356         (delayed_restart), (delayed_control):
4357         Initialize some uninitialized variables as spotted by valgrind.
4358
4359 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
4360
4361         * tests/benchmarks/Makefile.am:
4362         * tests/benchmarks/gstpollstress.c: (mess_some_more), (run_test),
4363         (main):
4364         Add poll stress test.
4365
4366 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
4367
4368         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4369
4370         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
4371         (gst_fd_sink_start), (gst_fd_sink_stop), (gst_fd_sink_unlock),
4372         (gst_fd_sink_unlock_stop), (gst_fd_sink_update_fd):
4373         * plugins/elements/gstfdsink.h:
4374         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
4375         (gst_fd_src_start), (gst_fd_src_stop), (gst_fd_src_unlock),
4376         (gst_fd_src_unlock_stop), (gst_fd_src_create),
4377         (gst_fd_src_uri_set_uri):
4378         * plugins/elements/gstfdsrc.h:
4379         Port to GstPoll. See #505417.
4380
4381 2008-02-27  Jan Schmidt  <jan.schmidt@sun.com>
4382
4383         * win32/common/libgstreamer.def:
4384         Add new gst_poll_ symbols to win32 defs.
4385
4386 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4387
4388         * docs/libs/gstreamer-libs-sections.txt:
4389         * libs/gst/net/gstnetclientclock.c:
4390         (gst_net_client_clock_class_init), (gst_net_client_clock_init),
4391         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4392         (gst_net_client_clock_thread), (gst_net_client_clock_start),
4393         (gst_net_client_clock_stop), (gst_net_client_clock_new):
4394         * libs/gst/net/gstnetclientclock.h:
4395         * libs/gst/net/gstnettimeprovider.c:
4396         (gst_net_time_provider_class_init), (gst_net_time_provider_init),
4397         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4398         (gst_net_time_provider_start), (gst_net_time_provider_stop),
4399         (gst_net_time_provider_new):
4400         * libs/gst/net/gstnettimeprovider.h:
4401         Use a private stuct to not break ABI.
4402
4403 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4404
4405         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4406
4407         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_init),
4408         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4409         (gst_net_client_clock_thread), (gst_net_client_clock_start),
4410         (gst_net_client_clock_stop), (gst_net_client_clock_new):
4411         * libs/gst/net/gstnetclientclock.h:
4412         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_init),
4413         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4414         (gst_net_time_provider_start), (gst_net_time_provider_stop),
4415         (gst_net_time_provider_new):
4416         * libs/gst/net/gstnettimeprovider.h:
4417         Massive code removal and cleanups because of GstPoll.
4418         Fixes #505417.
4419
4420 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4421
4422         * configure.ac:
4423         Add checks for poll, ppoll and pselect.
4424
4425         * docs/gst/gstreamer-docs.sgml:
4426         * docs/gst/gstreamer-sections.txt:
4427         Add docs for GstPoll.
4428
4429         * gst/Makefile.am:
4430         * gst/gst.h:
4431         * gst/gstpoll.c: (find_index), (selectable_fds),
4432         (pollable_timeout), (choose_mode), (pollfd_to_fd_set),
4433         (fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
4434         (gst_poll_set_mode), (gst_poll_get_mode),
4435         (gst_poll_add_fd_unlocked), (gst_poll_add_fd),
4436         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
4437         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
4438         (gst_poll_fd_has_closed), (gst_poll_fd_has_error),
4439         (gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
4440         (gst_poll_fd_can_write), (gst_poll_wait),
4441         (gst_poll_set_controllable), (gst_poll_restart),
4442         (gst_poll_set_flushing):
4443         * gst/gstpoll.h:
4444         Add generic poll abstraction. We ideally don't want to have this in core
4445         here but in glib intead...
4446         This code will be used in various network elements and ultimately for
4447         the nanosecond precision monotonic clock (that's why it's here in core).
4448         It'll allow us to implement cancelable socket operations for windows too.
4449
4450         * tests/check/Makefile.am:
4451         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4452         (delayed_stop), (delayed_restart), (delayed_flush),
4453         (delayed_control), (gst_poll_suite):
4454         Add GstPoll unit test.
4455
4456 2008-02-25  Tim-Philipp Müller  <tim at centricular dot net>
4457
4458         * gst/gstfilter.c:
4459           Improve documentation of gst_filter_run(). Fixes #518627.
4460
4461 2008-02-23  Tim-Philipp Müller  <tim at centricular dot net>
4462
4463         * docs/README:
4464           Add a few lines about the new 'check-inspected-versions' target.
4465
4466 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
4467
4468         * tests/check/gst/gstevent.c:
4469           Add qos to the event test. Rename tcase/tsuite; is not only about
4470           custom events.
4471
4472 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
4473
4474         * plugins/elements/gstqueue.c:
4475           Ensure that buffer metadata is writeable, before modifying. Spotted by
4476           Mike.
4477
4478 2008-02-20  Stefan Kost  <ensonic@users.sf.net>
4479
4480         * plugins/elements/gstqueue.c:
4481         * plugins/elements/gstqueue.h:
4482           When dropping buffers in leaky modes, mark next buffers we sent as
4483           DISCONT.
4484
4485 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
4486
4487         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region):
4488           Also, if mmap() fails that would be a READ error, not OPEN_READ.
4489
4490 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
4491
4492         * plugins/elements/Makefile.am:
4493         * plugins/elements/gstbufferstore.c:
4494         * plugins/elements/gstbufferstore.h:
4495         * plugins/elements/gsttypefindelement.h:
4496           Remove GstBufferStore, no idea why we were still building it.
4497           It's not used anywhere and superseded by GstAdapter.
4498
4499         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4500           (gst_file_src_create_mmap):
4501         * plugins/indexers/gstfileindex.c: (gst_file_index_add_association):
4502           Printf format fixes for 64-bit integers.
4503
4504 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4505
4506         * configure.ac:
4507         Don't set GST_CACHE_DIR and allow to set it by a configure parameter.
4508         We're not in 0.8 times anymore.
4509
4510 2008-02-19  Jan Schmidt  <Jan.Schmidt@sun.com>
4511
4512         * libs/gst/check/gstcheck.c: (gst_check_drop_buffers),
4513         (gst_check_element_push_buffer_list):
4514         * libs/gst/check/gstcheck.h:
4515         Make the declaration in the header for
4516         gst_check_element_push_buffer_list match the implementation.
4517
4518         Fix up spelling, grammar and wording of the documentation in a few
4519         places, and add the Since keyword to new API functions.
4520         Use g_list_delete_link instead of g_list_remove in
4521         gst_check_drop_buffers, since it's immeasurably more efficient.
4522
4523         * tests/check/elements/fakesrc.c: (GST_START_TEST):
4524         Use new gst_check_drop_buffers function where appropriate.
4525
4526         * win32/common/libgstbase.def:
4527         * win32/common/libgstreamer.def:
4528         Add new symbols gst_collect_pads_take_buffer, 
4529         gst_collect_pads_read_buffer, gst_index_set_resolver_full to the
4530         exports
4531
4532         Changelog surgery to add API keyword to new gst_check API.
4533
4534 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4535
4536         * gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer),
4537         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra):
4538         Update pre-generated flex files with flex 2.3.34.
4539
4540 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4541
4542         * gst/gstminiobject.c:
4543           Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
4544           friendly to subclasses and not require them to know all internals
4545           of their parent class.
4546
4547 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
4548
4549         * docs/libs/gstreamer-libs-sections.txt:
4550         * libs/gst/base/gstcollectpads.c:
4551         * libs/gst/base/gstcollectpads.h:
4552           Add sub-buffer functions to collectpads. Fixes #516187.
4553           API: gst_collect_pads_take_buffer(), gst_collect_pads_read_buffer()
4554
4555 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
4556
4557         * gst/gstbuffer.c:
4558           Copy selected buffer-flags when creating subbuffers.
4559           Fixes #516395.
4560
4561 2008-02-12  Sebastian Dröge  <slomo@circular-chaos.org>
4562
4563         * gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
4564         * gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
4565         * gst/gstmessage.c: (gst_message_class_init),
4566         (gst_message_finalize):
4567         * gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
4568         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
4569         (gst_mmap_buffer_finalize):
4570         Properly chain up finalize functions to the parent class.
4571
4572 2008-02-11  Wim Taymans  <wim.taymans@collabora.co.uk>
4573
4574         Patch by: Siavash Safi <siavash dot safi at gmail dot com>
4575
4576         * gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
4577         (gst_index_set_resolver_full):
4578         * gst/gstindex.h:
4579         Add new function with option to dispose of user_data in resolver.
4580         Actually call the dispose function when finalizing the object and not
4581         just when changing the resolver/filter.
4582         API: GstIndex::gst_index_set_resolver_full()
4583
4584         * docs/gst/gstreamer-sections.txt:
4585         Add new function to docs. Fixes #515469.
4586
4587 2008-02-11  Sebastian Dröge  <slomo@circular-chaos.org>
4588
4589         * gst/gstindex.c: (gst_index_finalize):
4590         Chain up finalize to the parent class. Fixes leaking the GstObject
4591         name and other things.
4592
4593 2008-02-08  Jan Schmidt  <jan.schmidt@sun.com>
4594
4595         * configure.ac:
4596         Make DISABLE_DEPRECATED defined *only* during CVS, not during
4597         pre-releases or releases.
4598
4599         * docs/faq/gst-uninstalled:
4600         Add gst-plugins-gl
4601
4602         * docs/random/release:
4603         Change one of the steps - we only upload core & base to Gnome FTP
4604
4605 2008-02-06  Stefan Kost  <ensonic@users.sf.net>
4606
4607         * gst/gstconfig.h.in:
4608           Add 'id' for example.
4609
4610         * gst/gstpad.c:
4611         * gst/gstutils.c:
4612         * plugins/elements/gstfdsink.c:
4613           Link to signals. Doc and comment fixes.
4614
4615 2008-02-05  Tim-Philipp Müller  <tim at centricular dot net>
4616
4617         * gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
4618         * gst/gstpluginfeature.h: (GstPluginFeatureClass):
4619           Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
4620           unused and unimplemented; finally, it is plugin features, not
4621           plugins, that have ranks.
4622           
4623 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
4624
4625         * gst/gstpluginfeature.h:
4626           Clarify GstRank range docs.
4627
4628 2008-02-05  David Schleef  <ds@schleef.org>
4629
4630         * gst/gst.c: Add a separate gst_deinitialized that prevents
4631           gst_init() from being called after gst_deinit().  Fixes #509559
4632
4633 2008-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
4634
4635         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
4636         (gst_bin_class_init):
4637         * gst/gstelement.c: (gst_element_base_class_init),
4638         (gst_element_class_add_pad_template):
4639         * gst/gstpadtemplate.c: (gst_pad_template_init):
4640         * gst/gstpipeline.c: (gst_pipeline_get_type),
4641         (gst_pipeline_base_init), (gst_pipeline_class_init):
4642         * libs/gst/base/gstbasesink.c:
4643         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4644         (gst_base_src_base_init), (gst_base_src_class_init):
4645         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4646         (gst_capsfilter_class_init):
4647         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4648         (gst_fake_sink_class_init):
4649         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4650         (gst_fake_src_class_init):
4651         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4652         (gst_fd_sink_class_init):
4653         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4654         (gst_fd_src_class_init):
4655         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4656         (gst_file_sink_class_init):
4657         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4658         (gst_file_src_class_init):
4659         * plugins/elements/gstidentity.c: (gst_identity_base_init),
4660         (gst_identity_class_init):
4661         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4662         (gst_multi_queue_class_init):
4663         * plugins/elements/gstqueue.c: (gst_queue_base_init),
4664         (gst_queue_class_init):
4665         * plugins/elements/gsttee.c: (gst_tee_base_init),
4666         (gst_tee_class_init):
4667         * plugins/elements/gsttypefindelement.c:
4668         (gst_type_find_element_base_init),
4669         (gst_type_find_element_class_init):
4670         * tests/check/gst/gstelement.c: (gst_element_suite):
4671         Revert previous changes to the behaviour of GstPadTemplates, etc
4672         and the possiblity to call them in class_init as it breaks too
4673         many elements. Reopens bug #491501.
4674
4675         Should be applied again for 0.11, thus added a few FIXME 0.11 at
4676         several places.
4677
4678 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
4679
4680         * tools/gst-launch.c:
4681         Dump one graph per pipeline state-change and state change name
4682         (if GST_DEBUG_DUMP_DOT_DIR is set).
4683
4684 2008-02-04  Thijs Vermeir  <thijsvermeir@gmail.com>
4685
4686         * gst/gstpad.c:
4687         * tests/check/gst/gstpad.c:
4688         Be sure that we have a new copy of the caps and not
4689         reffed caps from a template
4690
4691 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
4692
4693         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
4694         * gst/gstpipeline.c: (gst_pipeline_get_type),
4695         (gst_pipeline_class_init):
4696         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
4697         (gst_base_sink_class_init):
4698         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4699         (gst_base_src_class_init):
4700         * libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
4701         (gst_base_transform_class_init):
4702         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4703         (gst_collect_pads_class_init):
4704         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
4705         * libs/gst/net/gstnettimeprovider.c:
4706         (gst_net_time_provider_base_init),
4707         (gst_net_time_provider_class_init):
4708         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4709         (gst_capsfilter_class_init):
4710         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4711         (gst_fake_sink_class_init):
4712         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4713         (gst_fake_src_class_init):
4714         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4715         (gst_fd_sink_class_init):
4716         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4717         (gst_fd_src_class_init):
4718         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4719         (gst_file_sink_class_init):
4720         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4721         (gst_file_src_class_init):
4722         * plugins/elements/gstidentity.c: (gst_identity_base_init),
4723         (gst_identity_class_init):
4724         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4725         (gst_multi_queue_class_init):
4726         * plugins/elements/gstqueue.c: (gst_queue_base_init),
4727         (gst_queue_class_init):
4728         * plugins/elements/gsttee.c: (gst_tee_base_init),
4729         (gst_tee_class_init):
4730         * plugins/elements/gsttypefindelement.c:
4731         (gst_type_find_element_base_init),
4732         (gst_type_find_element_class_init):
4733         Don't use base_init where not absolutely necessary. For example it's
4734         not necessary anymore for adding pad templates or setting element
4735         details.
4736
4737         Leave empty base_init functions in several places as GST_BOILERPLATE
4738         still defines and uses them.
4739
4740 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
4741
4742         * gst/gstelement.c: (gst_element_base_class_init),
4743         (gst_element_class_add_pad_template):
4744         * gst/gstpadtemplate.c:
4745         Make it possible (and recommended) to set element details and add
4746         pad templates in the class_init functions by copying the details/pad
4747         templates in GstElement's base_init.
4748
4749         Also make it possible to replace existing pad templates by adding
4750         a new one with the same name. This was done in a hackish fashion
4751         in same elements before already.
4752
4753         Don't reference pad templates that are added a second time. A
4754         new pad template has a refcount of one and is not floating anymore
4755         and to be owned by the element's class. Make this more explicit by
4756         mentioning it in the docs of gst_element_class_add_pad_template().
4757
4758         These changes are backwards compatible. Fixes bug #491501.
4759
4760         * tests/check/gst/gstelement.c:
4761         Add unit test for setting element details, adding pad templates and
4762         replacing them in a subclass.
4763
4764 2008-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
4765
4766         * tools/gst-inspect.c: (print_interfaces),
4767         (print_element_properties_info), (print_pad_info),
4768         (print_signal_info), (print_element_info):
4769         Fix a few memory leaks.
4770
4771 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
4772
4773         * docs/libs/gstreamer-libs-sections.txt:
4774         * libs/gst/check/gstcheck.c:
4775         * libs/gst/check/gstcheck.h:
4776         Add more functions for unit testing: gst_check_drop_buffers,
4777         gst_check_caps_equal, gst_check_element_push_buffer_list,
4778         gst_check_element_push_buffer
4779         API: gst_check_drop_buffers
4780         API: gst_check_caps_equal
4781         API: gst_check_element_push_buffer_list
4782         API: gst_check_element_push_buffer
4783
4784 2008-02-01  Julien Moutte  <julien@fluendo.com>
4785
4786         * docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
4787         * gst/gstindex.c: (gst_index_class_init), (gst_index_free_writer),
4788         (gst_index_finalize), (gst_index_entry_free),
4789         (gst_index_add_association): Fix memory leaks.
4790         * gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
4791         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
4792         (gst_mem_index_free_format), (gst_mem_index_free_id),
4793         (gst_mem_index_finalize): Fix memory leaks.
4794         * win32/common/config.h: Updated to CVS HEAD.
4795
4796 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
4797
4798         * docs/README:
4799           Some more details about how the plugin docs works.
4800
4801         * docs/plugins/gstreamer-plugins-sections.txt:
4802           Whitespace cleanup.
4803
4804 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
4805
4806         * gst/parse/grammar.tab.pre.c:
4807         * gst/parse/grammar.tab.pre.h:
4808         * gst/parse/grammar.y:
4809         * gst/parse/lex._gst_parse_yy.pre.c:
4810           Add delayed set-property. This allows to set properties on dynamicaly
4811           created objects (pads in videomxer). Fixes #509391.
4812
4813 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
4814
4815         * gst/gstutils.c:
4816         Check if caps are not NULL (fix bug #510194)
4817
4818 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
4819
4820         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop),
4821         (gst_base_sink_get_position_paused):
4822         Add fixme regarding EOS in pull mode.
4823         Fix position reporting in PAUSED for negative rates.
4824
4825 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
4826
4827         * gst/gstminiobject.c: (gst_mini_object_replace):
4828         When replacing a miniobject, do a quick equality check first so that we
4829         can avoid a ref/unref pair.
4830
4831 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
4832
4833         * docs/design/part-synchronisation.txt:
4834         Update some docs.
4835
4836         * docs/plugins/Makefile.am:
4837         * docs/plugins/gstreamer-plugins-docs.sgml:
4838         * docs/plugins/gstreamer-plugins-sections.txt:
4839         * plugins/elements/gstmultiqueue.c:
4840         Add multiqueue to the docs.
4841
4842 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4843
4844         * configure.ac:
4845           Back to CVS
4846
4847 === release 0.10.17 ===
4848
4849 2008-01-30  Jan Schmidt <jan.schmidt@sun.com>
4850
4851         * configure.ac:
4852           releasing 0.10.17, "Due Negligence"
4853
4854 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4855
4856         * gst/gstutils.c:
4857         Revert caps != NULL check temporarily for 0.10.17 release.
4858
4859 2008-01-30  Thijs Vermeir  <thijsvermeir@gmail.com>
4860
4861         * gst/gstutils.c:
4862         Check if caps are not NULL (fix bug #510194)
4863
4864 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4865
4866         * gst/gstutils.c:
4867         Fix compilation on systems that have posix timers but no
4868         monotonic clock.
4869         Fixes: #512715
4870         Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
4871         dot net>
4872
4873 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4874
4875         * tools/gst-inspect.c:
4876         Revert previous commit in preparation for an impromptu 0.10.17 release
4877
4878 2008-01-29  Sebastian Dröge  <slomo@circular-chaos.org>
4879
4880         * tools/gst-inspect.c: (print_interfaces),
4881         (print_element_properties_info), (print_pad_info),
4882         (print_signal_info), (print_element_info):
4883         Fix a few memory leaks.
4884
4885 2008-01-28  Jan Schmidt  <jan.schmidt@sun.com>
4886
4887         * configure.ac:
4888         Back to CVS
4889
4890 === release 0.10.16 ===
4891
4892 2008-01-28  Jan Schmidt <thaytan@noraisin.net>
4893
4894         * configure.ac:
4895           releasing 0.10.16, "Special Dispensation"
4896
4897 2008-01-24  Tim-Philipp Müller  <tim at centricular dot net>
4898
4899         * configure.ac:
4900           Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for
4901           _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes configure
4902           not fail when trying to crosscompile on OpenEmbedded (#511750).
4903
4904 2008-01-20  Sebastian Dröge  <slomo@circular-chaos.org>
4905
4906         * docs/manuals.mak:
4907         Use $(MAKE) instead of make to fix the build if GNU make is
4908         called different. Fixes bug #510747.
4909
4910 2008-01-20  Tim-Philipp Müller  <tim at centricular dot net>
4911
4912         * gst/gstplugin.c: (_gst_plugin_initialize):
4913           Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
4914           again, which I broke two commits ago when changing the API
4915           of gst_plugin_register_static(): the g_list_foreach() in
4916           _gst_plugin_register_static still assumed the old function
4917           signature and would therefore fail (re-fixes #510187).
4918
4919         * gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
4920           (_gst_plugin_register_static), (gst_plugin_register_static):
4921           Revert the (technically correct) change to call g_thread_init() from
4922           the pre-main() constructor. This will break programs which call
4923           g_thread_init() without an if (!g_thread_supported()) guard in their
4924           main function. We could just blame it on GLib or the application, but
4925           it's probably best to just avoid this altogether and simply not use
4926           any GLib functions here and use plain old malloc() with a simple
4927           array to store the plugins to register later when gst_init() is
4928           finally called (re-fixes #510187).
4929
4930         * tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
4931           (GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
4932           (plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
4933           (GST_START_TEST), (gst_plugin_suite):
4934           Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
4935           works.
4936
4937 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
4938
4939         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
4940           Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
4941           This makes gtk-doc complain, but results in slightly better
4942           compiler errors. The old _gst_plugin_register_static() is
4943           still guarded, so there'll be a compiler warning about that
4944           instead. Fixes #510187 too.
4945
4946 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
4947
4948         * gst/gst.c: (init_post):
4949         * gst/gstplugin.c: (_gst_plugin_register_static),
4950           (gst_plugin_register_static), (_gst_plugin_initialize):
4951         * gst/gstplugin.h: (GstPluginFilter):
4952           Change API of gst_plugin_register_static() to not take
4953           a GstPluginDesc, but rather just take all the arguments
4954           in a GstPluginDesc directly. This is more intuitive and
4955           avoids certain mistakes when porting code from
4956           GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
4957           Fixes #510187.
4958
4959         * tests/check/gst/gstplugin.c:
4960           Fix up for changed API.
4961
4962 2008-01-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4963
4964         * docs/faq/legal.xml:
4965           Update FAQ, Totem actually has an exception these days.
4966
4967 2008-01-14  Jan Schmidt  <jan.schmidt@sun.com>
4968
4969         * win32/common/libgstreamer.def:
4970         Add new API declarations
4971
4972 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
4973
4974         * gst/gstminiobject.c:
4975           Spelling fixes for the API docs.
4976
4977 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
4978
4979         * libs/gst/base/gstbasetransform.c:
4980           Fix long property description for QoS.
4981
4982 2008-01-12  Jan Schmidt  <Jan.Schmidt@sun.com>
4983
4984         * gst/gst.c:
4985         _gst_trace_on is already provided by gsttrace.h, no need to declare
4986         it ourselves.
4987
4988         * docs/libs/gstreamer-libs-sections.txt:
4989         Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
4990         and remove strange tcase_add_test which is outputting a warning.
4991
4992         * libs/gst/check/gstcheck.c:
4993         * libs/gst/check/gstcheck.h:
4994         Properly declare 'buffers', 'check_cond', 'check_mutex' extern
4995         and define them in gstcheck.c instead of having every .c file whcih
4996         includes gstcheck.h be defining its own copy and relying on symbol
4997         interposing to marry them all, which doesn't work on Solaris.
4998
4999         * tests/check/elements/identity.c: (GST_START_TEST):
5000         Don't define 'buffers' locally, it comes from libgstcheck.
5001
5002         * tests/check/generic/sinks.c: (send_buffer):
5003         Fix type of variable (GstFlowReturn, not GstStateChangeReturn)
5004
5005         * tests/check/gst/gststructure.c: (GST_START_TEST):
5006         * tests/check/gst/gstsystemclock.c: (GST_START_TEST):
5007         * tests/check/gst/gstutils.c: (GST_START_TEST):
5008         * tests/check/gst/gstvalue.c: (GST_START_TEST):
5009         Add a bunch of casts to make various constants fit the types
5010         they're being assigned to.
5011
5012 2008-01-10  Stefan Kost  <ensonic@users.sf.net>
5013
5014         * gst/gstchildproxy.c:
5015           Improve docs and add some ideas for making this more general-purpose.
5016
5017 2008-01-10  Tim-Philipp Müller  <tim at centricular dot net>
5018
5019         * gst/gst_private.h: (GST_CAT_TYPES):
5020           Add GST_CAT_TYPES, for consistency, and so that the other
5021           debug categories don't make fun of it. Spotted by Saur on IRC.
5022
5023 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
5024
5025         * gst/parse/Makefile.am:
5026           Move types.h from EXTRA_DIST to noinst_HEADERS.
5027
5028 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
5029
5030         * autogen.sh:
5031           Add -Wno-portability to the automake parameters to stop warnings
5032           about GNU make extensions being used. We require GNU make in almost
5033           every Makefile anyway.
5034
5035         * configure.ac:
5036           Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
5037           at the same time is required for per target flags.
5038
5039 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5040
5041         * gst/gstmacros.h:
5042           Include glib/gmacros.h for G_BEGIN_DECLS. Check if
5043           __GNUC__ is defined before using it.
5044
5045 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5046
5047         * docs/gst/gstreamer-sections.txt:
5048         * gst/gst.c: (init_post):
5049         * gst/gstplugin.c: (_gst_plugin_register_static),
5050           (gst_plugin_register_static), (_gst_plugin_initialize),
5051           (gst_plugin_register_func):
5052         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
5053           API: add gst_plugin_register_static() and deprecate
5054           GST_PLUGIN_DEFINE_STATIC, since it's not portable
5055           (#498924).
5056           Also, in _gst_plugin_register_static(), make sure to call
5057           g_thread_init() before calling GLib functions such as
5058           g_list_append() if we're not initialised yet, since that
5059           may lead to random crashes with older GSlice/GLib versions.
5060
5061         * tests/check/gst/gstplugin.c:
5062           Adapt unit test to above changes.
5063
5064 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5065
5066         * gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
5067         * gst/gstcaps.c: (gst_caps_to_string):
5068         * gst/gststructure.c: (GST_ASCII_IS_STRING),
5069           (priv_gst_structure_append_to_gstring), (gst_structure_to_string):
5070           Yet another gratuitous GString micro-optimisation: add a (private)
5071           function that serialises a structure appending to an existing
5072           GString, so that when we serialise caps we don't need to alloc+free
5073           a throwaway GString for each structure (each of which also entailing
5074           multiple reallocs on the way); also use g_string_sized_new() in
5075           various places with an approximate string length to avoid reallocs
5076           within GString. See #500143.
5077
5078 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5079
5080         * gst/gststructure.c: (gst_structure_id_set_value):
5081           Always check UTF-8 conformance of structure strings and not only
5082           if the debugging system is enabled; reasoning: the behaviour of
5083           the actual code shouldn't really change depending on whether the
5084           debugging system is enabled or not (#508291).
5085
5086 2008-01-09  Stefan Kost  <ensonic@users.sf.net>
5087
5088         * Makefile.am:
5089           Remove old coverage target in favour of "make lcov".
5090
5091 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
5092
5093         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
5094         (gst_base_src_loop):
5095         The start segment for reverse playback goes from start to last_stop.
5096
5097 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
5098
5099         Patch by: Peter Kjellerstedt <pkj axis com>
5100
5101         * gst/gstclock.h:
5102         Cast the results from the timeval/spec_to_time macros to what the
5103         docs say it casts to, a GstClockTime. fixes #508175.
5104
5105 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
5106
5107         * gst/gstbuffer.c:
5108         Update some comments.
5109
5110         * tools/gst-inspect.c: (print_element_properties_info):
5111         Improve printing of flags.
5112
5113 2008-01-08  Tim-Philipp Müller  <tim at centricular dot net>
5114
5115         * libs/gst/base/gstbasetransform.c:
5116           (gst_base_transform_transform_size):
5117           Print element name with g_warning() if there's a problem
5118           with the unit size.
5119
5120 2008-01-07  David Schleef  <ds@schleef.org>
5121
5122         Patch by: Damien Lespiau <damien.lespiau@gmail.com>
5123
5124         * libs/gst/controller/gstcontroller.h:
5125         * libs/gst/controller/gstcontrolsource.h:
5126         * libs/gst/controller/gstinterpolationcontrolsource.h:
5127         * libs/gst/controller/gstlfocontrolsource.h:
5128         * libs/gst/dataprotocol/dataprotocol.h:
5129           Fix empty prototypes.  Fixes bug #507957.
5130
5131 2008-01-07  David Schleef  <ds@schleef.org>
5132
5133         * docs/faq/dependencies.xml: Fix typo.
5134
5135 2008-01-07  Wim Taymans  <wim.taymans@collabora.co.uk>
5136
5137         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek),
5138         (gst_base_src_loop):
5139         Don't update the last_stop position in do_seek, that's the position we
5140         did a seek to.
5141         Read backwards when we have a negative rate.
5142
5143         * tests/check/elements/filesrc.c: (event_func), (wait_eos),
5144         (setup_filesrc), (cleanup_filesrc), (GST_START_TEST),
5145         (filesrc_suite):
5146         Add check for reverse reading.
5147
5148 2008-01-07  Tim-Philipp Müller  <tim at centricular dot net>
5149
5150         Patch by: Alexis Ballier <aballier at gentoo org>
5151
5152         * tests/check/gst/gstabi.c:
5153         * tests/check/gst/struct_ppc64.h:
5154         * tests/check/libs/libsabi.c:
5155         * tests/check/libs/struct_ppc64.h:
5156           Decide which header to include based on the userland ABI target
5157           and not the kernel/cpu. Fix up structure sizes of ppc64 header
5158           for 64-bit userland (#503590).  Might need something similar for
5159           x86 too.
5160
5161 2008-01-05  Tim-Philipp Müller  <tim at centricular dot net>
5162
5163         * gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
5164           Log the reason why fopen fails in addition to the fact that it failed.
5165           
5166 2008-01-04  Sebastian Dröge  <slomo@circular-chaos.org>
5167
5168         * gst/parse/parse.l:
5169         Use "%option never-interactive" to prevent useless calls to isatty()
5170         on every input when parsing. Also use "%option noinput" to not define
5171         the static input/yyinput functions which we don't use anyway. This
5172         removes a compiler warning with gcc 4.3 and saves some bytes in the
5173         library.
5174         
5175         * gst/parse/lex._gst_parse_yy.pre.c:
5176         Regenerated for the above change.
5177
5178 2008-01-04  Wim Taymans  <wim.taymans@collabora.co.uk>
5179
5180         * gst/gstpad.c: (fixate_value):
5181         Don't crash when trying to fixate and empty list.
5182         Fixes #506643.
5183
5184 2008-01-03  Sebastian Dröge  <slomo@circular-chaos.org>
5185
5186         * docs/faq/gst-uninstalled:
5187         Clarify the comments to make the usage of this script and what it
5188         does easier to understand.
5189
5190 2008-01-01  Thijs Vermeir  <thijsvermeir@gmail.com>
5191
5192         * tools/gst-plot-timeline.py:
5193         Add more options to gst-plot-timeline
5194
5195 2007-12-31  Wim Taymans  <wim.taymans@collabora.co.uk>
5196
5197         * docs/design/part-synchronisation.txt:
5198         Some more info on how the stream_time in GstBaseSink is done.
5199
5200 2007-12-30  Tim-Philipp Müller  <tim at centricular dot net>
5201
5202         * tests/check/generic/sinks.c: (gst_sinks_suite):
5203           Put back the tcase_set_timeout(), apparently it's needed after
5204           all; fix it up in a way that makes things work with valgrind too.
5205
5206 2007-12-30  Thijs Vermeir  <thijsvermeir@gmail.com>
5207
5208         * gst/gstdebugutils.c:
5209           Add warning when failed to open file for writing.
5210
5211 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
5212
5213         Based on patch by: Laurent Glayal  <spglegle yahoo fr>
5214
5215         * gst/gstvalue.c: (gst_value_is_fixed):
5216           Optimisation: bail out of the loop as early as possible (#500143).
5217
5218 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
5219
5220         * gst/gstcaps.c: (gst_caps_to_string):
5221         * gst/gstinfo.c: (gst_debug_construct_term_color):
5222         * gst/gstparse.c: (gst_parse_launchv):
5223         * gst/gstutils.c: (gst_util_dump_mem):
5224         * gst/gstvalue.c: (gst_value_serialize_any_list),
5225           (gst_value_transform_any_list_string):
5226           Bunch of gratuitous nano-optimisations.
5227
5228 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
5229
5230         * tests/check/generic/sinks.c: (async_done_func),
5231           (async_done_eos_func):
5232           Fix leak in unit test (bus sync handler must unref the message
5233           if it returns GST_BUS_DROP). Don't fiddle with the default test
5234           timeout, this is smaller than the current preconfigured value
5235           via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
5236           because it overrides the value specified in CK_DEFAULT_TIMEOUT.
5237
5238 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
5239
5240         Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5241
5242         * configure.ac:
5243         Check for stdio_ext.h for the filesink changes.
5244
5245         * plugins/elements/gstfilesink.c: (buffer_mode_get_type),
5246         (gst_file_sink_class_init), (gst_file_sink_init),
5247         (gst_file_sink_dispose), (gst_file_sink_set_property),
5248         (gst_file_sink_get_property), (gst_file_sink_open_file),
5249         (gst_file_sink_close_file):
5250         * plugins/elements/gstfilesink.h:
5251         Add two properties to control the buffering mode and size.
5252         API: GstFileSink::buffer-mode
5253         API: GstFileSink::buffer-size
5254         Fixes #500150.
5255
5256 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
5257
5258         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
5259         Add some more docs to explain why a FIXME was wrongly added. 
5260
5261 2007-12-22  Sebastian Dröge  <slomo@circular-chaos.org>
5262
5263         * gst/gstobject.c:
5264           Fix typo in the gst_object_{ref,unref} documentation.
5265
5266 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
5267
5268         * tests/check/libs/controller.c:
5269         * tests/check/libs/typefindhelper.c:
5270         * tests/check/pipelines/parse-launch.c:
5271           Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
5272           going to be deprecated (see #498924).
5273
5274 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
5275
5276         * gst/gsttypefind.c: (gst_type_find_register):
5277           Make gst_type_find_register work for static typefind functions,
5278           ie. allow passing plugin == NULL (prerequisite for #498924).
5279
5280         * gst/gstelementfactory.c: (gst_element_register):
5281           Small docs addition.
5282
5283 2007-12-21  Wim Taymans  <wim.taymans@collabora.co.uk>
5284
5285         * gst/gstpad.c: (gst_pad_dispose):
5286         Really unlink the peer pad instead of setting the peer pointer to NULL
5287         when we dispose the pad.
5288         This correctly calls the unlink functions and makes sure that the peer
5289         does not have a handle to invalid memory. See #504671.
5290
5291         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
5292         Add testsuite for above case.
5293
5294 2007-12-20  Tim-Philipp Müller  <tim at centricular dot net>
5295
5296         Patch by: Peter Kjellerstedt <pkj axis com>
5297
5298         * libs/gst/check/gstcheck.h:
5299           Fix detection of the check version we're compiling against (would
5300           otherwise break if check goes v0.10.0); correctly report the
5301           name of the failed test again in case of failure, instead of
5302           just 'tf' (fixes #504499).
5303
5304 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
5305
5306         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
5307         (gst_base_src_get_range), (gst_base_src_pad_get_range),
5308         (gst_base_src_loop), (gst_base_src_set_flushing),
5309         (gst_base_src_change_state):
5310         Allow sending EOS to the source to make it send out an EOS event from
5311         the streaming thread.
5312         Update docs and deprecate the old NULL/READY shutdown method.
5313
5314         * tests/check/libs/basesrc.c: (GST_START_TEST),
5315         (gst_basesrc_suite):
5316         Add unit test for controlled shutdown.
5317
5318 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
5319
5320         * docs/design/part-synchronisation.txt:
5321         Small updates.
5322
5323         * gst/gstsegment.c: (gst_segment_set_seek),
5324         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
5325         (gst_segment_to_running_time):
5326         The seek format can be different from the segment format when the start
5327         and stop values are not to be updated, when we only do a rate change for
5328         example.
5329
5330         * tests/check/gst/gstsegment.c: (GST_START_TEST),
5331         (gst_segment_suite):
5332         Add a testcase for the rate-only seeks, checking that the format is
5333         correctly ignored when start and stop are not updated.
5334
5335 2007-12-18  Sebastian Dröge  <slomo@circular-chaos.org>
5336
5337         Patch by: Matthias Bolte <photon at mail dot upb dot de>
5338
5339         * win32/vs8/grammar.vcproj:
5340         * win32/vs8/libgstcontroller.vcproj:
5341         * win32/vs8/libgstreamer.vcproj:
5342         Fix compilation with VS8 and include some missing files.
5343
5344 2007-12-18  Tim-Philipp Müller  <tim at centricular dot net>
5345
5346         * gst/gsttaglist.c:
5347           Small docs addition: mention that the strings returned by
5348           gst_tag_list_get_string*() are in UTF-8 encoding.
5349
5350 2007-12-17  Tim-Philipp Müller  <tim at centricular dot net>
5351
5352         * Makefile.am:
5353           The check-exports stuff moved to common/win32.mak, so include that.
5354
5355 2007-12-17  Wim Taymans  <wim.taymans@collabora.co.uk>
5356
5357         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
5358         (gst_base_src_perform_seek), (gst_base_src_get_range),
5359         (gst_base_src_set_playing), (gst_base_src_change_state):
5360         Make _wait_playing() not check any variables so that we can call this
5361         function from subclasses. Move the checks elsewhere similar to
5362         _wait_preroll() in basesink.
5363         Add some debugging.
5364         Only signal the LIVE cond when we are going back to PLAYING.
5365
5366 2007-12-16  Tim-Philipp Müller  <tim at centricular dot net>
5367
5368         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
5369           Use g_remove() and g_rename(). Check result of g_rename(), and
5370           don't leak the open file descriptor if we error out when writing.
5371
5372         * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
5373           Must check the return value of close() after writing out the new
5374           registry file.  Sometimes write problems such as out-of-diskspace
5375           are only reported when the file is closed and not already during
5376           the write.  This may have caused partial/broken registry files in
5377           some rare circumstances. Should fix #503675.
5378
5379 2007-12-16  Edward Hervey  <edward.hervey@collabora.co.uk>
5380
5381         * docs/gst/.cvsignore:
5382         * docs/libs/.cvsignore:
5383         * docs/plugins/.cvsignore:
5384         Ignore files generated by new common/* modifications
5385
5386 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5387
5388         * win32/common/libgstbase.def:
5389           Yes, you can also have a <TAB> if you want.
5390
5391 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5392
5393         * win32/common/libgstbase.def:
5394           Add new basetransform API to win export file.
5395
5396 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5397
5398         * tests/check/gst/gstbin.c:
5399           Adjust the test to the refcount change two days ago.
5400
5401 2007-12-14  David Schleef  <ds@schleef.org>
5402
5403         * docs/faq/getting.xml: Fix typo.
5404
5405 2007-12-14  Sebastian Dröge  <slomo@circular-chaos.org>
5406
5407         * docs/libs/gstreamer-libs-sections.txt:
5408         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
5409           (gst_base_transform_prepare_output_buffer),
5410           (gst_base_transform_set_gap_aware):
5411         * libs/gst/base/gstbasetransform.h:
5412           API: Add gst_base_transform_set_gap_aware() to control whether
5413           the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
5414           get buffers with this flag at all. Fixes #503231.
5415
5416 2007-12-13  Stefan Kost  <ensonic@users.sf.net>
5417
5418         * libs/gst/base/gstbasesink.c:
5419         * libs/gst/base/gstbasesrc.c:
5420         * libs/gst/base/gstbasetransform.c:
5421           Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
5422           thread. Correct log message in gstbasesrc.c.
5423
5424 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
5425
5426         * gst/gstutils.c: (element_find_unconnected_pad):
5427           Fix possible compiler warning (#503417).
5428
5429 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
5430
5431         * gst/gstobject.c: (gst_object_dispatch_properties_changed):
5432           Don't use GST_CAT_EVENT here for logging, it makes no sense.
5433
5434 2007-12-13  Sebastian Dröge  <slomo@circular-chaos.org>
5435
5436         * tools/gst-inspect.c: (print_element_properties_info):
5437           Add support for GstFraction properties.
5438
5439 2007-12-12  Tim-Philipp Müller  <tim at centricular dot net>
5440
5441         * Makefile.am:
5442           Add check-exports target and run it as part of 'make check'
5443           (see #499140 and #493983).
5444
5445         * gst/gst_private.h:
5446         * gst/gstelementfactory.h:
5447         * gst/gstghostpad.c: (gst_proxy_pad_class_init):
5448         * gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
5449           (_priv_gst_in_valgrind):
5450         * gst/gstinfo.h: (GstLogFunction):
5451         * gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
5452           (gst_type_find_register):
5453         * gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
5454           (gst_type_find_factory_get_type):
5455         * libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
5456           (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
5457           (gst_controller_new_valist), (gst_controller_new_list),
5458           (_gst_controller_dispose), (_gst_controller_class_init):
5459         * libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
5460         * libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
5461           (GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
5462           (gst_object_get_controller), (gst_object_set_controller),
5463           (gst_object_suggest_next_sync), (gst_object_sync_values),
5464           (gst_object_set_control_source), (gst_object_get_control_source),
5465           (gst_object_get_value_arrays), (gst_object_get_value_array),
5466           (gst_object_get_control_rate), (gst_object_set_control_rate):
5467         * libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
5468         * libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
5469           Make some functions that should be static static; rename some
5470           private symbols so that they don't get exported; add some FIXME
5471           comments so we can move accidentally exported functions into
5472           our private section in 0.11.
5473
5474         * win32/common/libgstreamer.def:
5475           Add gst_utils_get_timestamp().
5476
5477 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
5478
5479         * gst/gstvalue.c:
5480         * gst/gstvalue.h:
5481           Add more missing "Since:" tags to docs.
5482
5483 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
5484
5485         * gst/gstutils.c:
5486           Add mising "Since:" to docs.
5487
5488 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5489
5490         * gst/gstplugin.c:
5491           Include "glib-compat-private.h" to fix the build on system with
5492           glib < 2.10. Fixes #503131.
5493
5494 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5495
5496         * gst/gstutils.c:
5497         * gst/gstutils.h:
5498           Actually its not PURE as it gets the time from elsewhere.
5499
5500 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5501
5502         * docs/gst/gstreamer-sections.txt:
5503         * gst/gstclock.h:
5504         * gst/gstdebugutils.c:
5505         * gst/gstinfo.c:
5506         * gst/gstutils.c:
5507         * gst/gstutils.h:
5508         * libs/gst/base/gstbasesink.c:
5509         * tools/gst-launch.c:
5510           Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
5511           uses as we don't have HAVE_POSIX_TIMERS in public headers.
5512           Thanks Tim for spotting.
5513           API: gst_util_get_timestamp
5514
5515 2007-12-09  Sebastian Dröge  <slomo@circular-chaos.org>
5516
5517         * configure.ac:
5518           Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.
5519
5520 2007-12-08  Tim-Philipp Müller  <tim at centricular dot net>
5521
5522         * gst/gststructure.c: (gst_structure_validate_name),
5523           (gst_structure_new_valist), (gst_structure_parse_value),
5524           (gst_structure_from_string):
5525           Don't crash in _from_string() if the structure name is not valid
5526           (fixes #501560).  Allow structure names to start with a number
5527           again (this apparently broke the ubuntu codec installer).
5528
5529         * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
5530           (GST_START_TEST):
5531           Add unit test for the crash; update unit tests for new behaviour.
5532
5533 2007-12-03  Wim Taymans  <wim.taymans@gmail.com>
5534
5535         * gst/gstutils.c:
5536         Clarify gst_element_get_compatible_pad() documentation.
5537         Fixes #500919.
5538
5539 2007-12-02  Sebastian Dröge  <slomo@circular-chaos.org>
5540
5541         * tests/check/Makefile.am:
5542           Don't forget to dist {gst,libs}/struct_hppa.h.
5543
5544 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5545
5546         * libs/gst/base/gstbasesink.c:
5547           Use new API to get elapsed time.
5548
5549 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5550
5551         * gst/gstdebugutils.c:
5552         * gst/gstinfo.c:
5553           Fix wrong order of args in GST_CLOCK_DIFF() usage.
5554
5555         * tools/gst-launch.c:
5556           Use new API to get elapsed time.
5557
5558 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5559
5560         * docs/gst/gstreamer-sections.txt:
5561         * gst/gstclock.h:
5562         * gst/gstdebugutils.c:
5563         * gst/gstinfo.c:
5564           Rename new API + ChangeLog surgery to remove old name from last entry..
5565
5566 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5567
5568         * docs/gst/gstreamer-sections.txt:
5569         * gst/gstclock.h:
5570         * gst/gstdebugutils.c:
5571         * gst/gstinfo.c:
5572           Now hide the different clock stuff behind a macro.
5573
5574 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5575
5576         * configure.ac:
5577         * gst/gstdebugutils.c:
5578         * gst/gstinfo.c:
5579           Apply the posix-timer check from #361155. Conditionally use the posix
5580           timer for logging. This gives better timestamp precission, less
5581           overhead and no ntp jitter.
5582
5583 2007-11-28  Sebastian Dröge  <slomo@circular-chaos.org>
5584
5585         * gst/gstminiobject.c: (gst_mini_object_get_type),
5586         (gst_mini_object_class_init), (gst_mini_object_copy_default),
5587         (gst_mini_object_finalize), (gst_mini_object_copy),
5588         (gst_mini_object_is_writable), (gst_mini_object_make_writable),
5589         (gst_mini_object_replace), (param_mini_object_validate),
5590         (gst_param_spec_mini_object_get_type):
5591         Some cleanup and checking against invalid function parameters.
5592
5593 2007-11-28  Wim Taymans  <wim.taymans@gmail.com>
5594
5595         * docs/gst/gstreamer-sections.txt:
5596         * gst/gstclock.h:
5597         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
5598         (gst_systemclock_suite):
5599         Start merging in the easy bits of #361155, the monotonic clock patch.
5600         This one adds a few handy macros with docs and a testsuite.
5601
5602 2007-11-27  Wim Taymans  <wim.taymans@gmail.com>
5603
5604         * plugins/elements/gstfilesink.c: (gst_file_sink_event):
5605         Be a bit smarter when seeking, like, don't try to do a seek when it's
5606         not needed. This avoids errors when the file is not seekable.
5607         Fixes #499771.
5608
5609 2007-11-26  Stefan Kost  <ensonic@users.sf.net>
5610
5611         * docs/gst/gstreamer-docs.sgml:
5612         * docs/gst/gstreamer-sections.txt:
5613         * docs/gst/gstreamer.types.in:
5614         * gst/Makefile.am:
5615         * gst/gst.h:
5616         * gst/gstpreset.c:
5617         * gst/gstpreset.h:
5618         * plugins/elements/gstqueue.c:
5619           Due to popular request remove preset interface again. :-(.
5620
5621 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5622
5623         * tools/gst-inspect.c:
5624           Print 'default value' for enums and flags too.
5625
5626 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5627
5628         * docs/random/ensonic/profiling.txt:
5629           More ideas.
5630
5631         * gst/gstbin.c:
5632           Fix typo and give better log output.
5633
5634         * gst/gstdebugutils.c:
5635         * gst/gstdebugutils.h:
5636           More ideas, make graphs a bit smaller and fix param name in macro.
5637
5638 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5639
5640         * gst/gstpreset.c:
5641           Try harder to use the return value from fgets().
5642
5643 2007-11-21  Stefan Kost  <ensonic@users.sf.net>
5644
5645         * gst/gstpreset.c:
5646           For theses two fgets we handle the error below.
5647
5648 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
5649
5650         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
5651         Only send upstream events upstream. Fixes #498746.
5652
5653 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
5654
5655         Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5656
5657         * plugins/elements/gstidentity.c: (gst_identity_class_init),
5658         (gst_identity_init), (gst_identity_transform_ip),
5659         (gst_identity_set_property), (gst_identity_get_property):
5660         * plugins/elements/gstidentity.h:
5661         Add property to disable handoff signal emission. Fixes #498694.
5662         API: GstIdentity::signal-handoffs
5663
5664 2007-11-21  Julien Moutte  <julien@fluendo.com>
5665
5666         * docs/faq/gst-uninstalled: Yet another missing library for the
5667         uninstalled script (fft)
5668
5669 2007-11-21  Jan Schmidt  <jan.schmidt@sun.com>
5670
5671         * docs/faq/developing.xml:
5672         Add a question about how to submit new translations.
5673
5674         * docs/random/release:
5675         Update the contact email address for the Translation Project
5676
5677         * plugins/elements/gstfdsrc.c:
5678         The parent_class for fdsrc is pushsrc, not GstElement.
5679
5680 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
5681
5682         * gst/gstpreset.c:
5683           Plug a leak and fix saving.
5684
5685 2007-11-20  Sebastian Dröge  <slomo@circular-chaos.org>
5686
5687         * docs/gst/gstreamer-sections.txt:
5688         Add new gst_preset__get_property_names() function to the docs
5689         to fix the build.
5690
5691 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
5692
5693         * gst/gstpreset.c:
5694         * gst/gstpreset.h:
5695           Change _get_preset_names API to return a strv with copies. Add
5696           _get_property_names to allow implementations to filter and provide
5697           good default implementation.
5698
5699 2007-11-20  Julien MOUTTE  <julien@moutte.net>
5700
5701         * docs/faq/gst-uninstalled: Add another library to the uninstalled
5702         script (sdp).
5703
5704 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
5705
5706         * gst/gstpreset.c:
5707           More cleanups, docs, and TODOs from comments that now slowly come in.
5708
5709 2007-11-19  Julien MOUTTE  <julien@moutte.net>
5710
5711         * docs/faq/gst-uninstalled: Add new base libraries in the LD 
5712         search path.
5713
5714 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
5715
5716         * gst/gstpreset.c:
5717           Fix bogus warning and make the property type specific code more
5718           similar.
5719
5720 2007-11-19  Julien MOUTTE  <julien@moutte.net>
5721
5722         * gst/gstpreset.c: (gst_preset_default_create_preset): Make
5723         it build on OS X.
5724
5725 2007-11-19  Wim Taymans  <wim.taymans@gmail.com>
5726
5727         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5728         (gst_bin_add_func), (gst_bin_remove_func),
5729         (gst_bin_change_state_func), (gst_bin_continue_func):
5730         Change email, cleanups add some more debug and comments.
5731         Also set bus and clock on new elements when the pipeline was in error.
5732
5733 2007-11-18  Stefan Kost  <ensonic@users.sf.net>
5734
5735         * gst/gstbin.c:
5736         * gst/gstdebugutils.c:
5737           Fix build with --disable-gst-debug. Fixes #497859.
5738           Spotted by Sameer Naik.
5739
5740 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
5741
5742         * gst/gstevent.c:
5743           Little documentation improvment.
5744
5745         * gst/gstpreset.c:
5746           More TODO cleanups. Remove c++ comments.
5747
5748         * libs/gst/controller/gstcontroller.c:
5749           Add TODO and use quark from static string.
5750
5751         * tests/check/gst/gstmessage.c:
5752         * tests/check/gst/gststructure.c:
5753           Use quark from static string.
5754
5755 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
5756
5757         * gst/gstpreset.c:
5758           Add some comments and TODOs.
5759
5760         * gst/gstpreset.h:
5761           Add padding for future changes.
5762
5763         * plugins/elements/gstqueue.c:
5764           Implement the iface.    
5765
5766 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
5767
5768         * docs/gst/gstreamer-docs.sgml:
5769         * docs/gst/gstreamer-sections.txt:
5770         * docs/gst/gstreamer.types.in:
5771         * gst/Makefile.am:
5772         * gst/gst.h:
5773         * gst/gstpreset.c:
5774         * gst/gstpreset.h:
5775           Add the preset interface (Fixes #396779). Do some doc cleanups along.
5776
5777 2007-11-16  Jan Schmidt  <jan.schmidt@sun.com>
5778
5779         * configure.ac:
5780
5781         Back to CVS
5782
5783 === release 0.10.15 ===
5784
5785 2007-11-15  Jan Schmidt <jan.schmidt@sun.com>
5786
5787         * configure.ac:
5788           releasing 0.10.15, "October"
5789
5790 2007-11-14  Jan Schmidt  <jan.schmidt@sun.com>
5791
5792         * win32/vs6/libgstreamer.dsp:
5793         Convert line endings back to DOS.
5794
5795 2007-11-13  Stefan Kost  <ensonic@users.sf.net>
5796
5797         * docs/design/draft-tagreading.txt:
5798         * docs/random/ensonic/profiling.txt:
5799         Update fast tagreading draft and performance profiling ideas.
5800
5801 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
5802
5803         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
5804         Don't hold the object lock when unreffing a buffer because it could
5805         cause a deadlock when the finalize function wants to grab the object
5806         lock too. Fixes #495133.
5807
5808 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
5809
5810         * gst/gstsegment.c: (gst_segment_set_newsegment_full),
5811         (gst_segment_to_stream_time), (gst_segment_to_running_time):
5812         Also accumulate time correctly when doing reverse playback. Fixes
5813         #488201,
5814         When converting to running and stream time, use default values for
5815         start/stop/time/accum when comparing different formats. Fixes #494245.
5816
5817         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
5818         Do running/stream time in TIME format.
5819
5820         * tests/check/gst/gstsegment.c: (GST_START_TEST),
5821         (gst_segment_suite):
5822         2 new unit tests for segment accumulation.
5823
5824 2007-11-07  Tim-Philipp Müller  <tim at centricular dot net>
5825
5826         * gst/gst.c: (init_pre):
5827         * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
5828           (_gst_debug_bin_to_dot_file):
5829           Move getenv() back into gst_init, so everyone can live happily
5830           ever after. Make sure the symbol isn't exported though.
5831
5832 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5833
5834         Patch by: Sebastien Moutte  <sebastien moutte net>
5835
5836         * win32/common/gstenumtypes.c:
5837         * win32/common/gstenumtypes.h:
5838           Update enum types.
5839
5840         * win32/vs6/libgstreamer.dsp:
5841           Update vs6 project files (#494343).
5842
5843 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5844
5845         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
5846         (gst_base_src_perform_seek), (gst_base_src_default_event),
5847         (gst_base_src_set_flushing), (gst_base_src_activate_push),
5848         (gst_base_src_activate_pull):
5849         Unify flushing code, remove some old unlock code that is no longer used.
5850         Take the streaming lock when seeking to avoid races. Fixes #492729.
5851         Added some more comments.
5852
5853 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5854
5855         * gst/gst.c: (_gst_disable_segtrap):
5856           Make  _gst_disable_segtrap static, it's only used in gstplugin.c and
5857           we can use gst_segtrap_is_enabled() there now that we have that API.
5858           Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
5859           to do the getenv here (and export the variable).
5860
5861         * gst/gstdebugutils.c: (debug_dump_element),
5862           (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
5863           Don't use VLAs which is a C99ism and throws off MSVC (#493983).
5864
5865         * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
5866           (gst_debug_log_default):
5867           Rename _gst_info_start_time to priv_gst_info_start_time so it
5868           doesn't get exported (was never in any header).
5869
5870         * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
5871           (gst_plugin_loading_mutex):
5872           Make static mutex gst_plugin_loading_mutex really static (was never
5873           in any header), and use gst_segtrap_is_enabled() instead of
5874           _gst_disable_segtrap.
5875
5876         * gst/gsttrace.c: (_gst_trace_default):
5877           Make local _gst_trace_default static (was never in any header).
5878
5879 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5880
5881         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
5882
5883         * win32/common/libgstbase.def:
5884         * win32/common/libgstcontroller.def:
5885         * win32/common/libgstdataprotocol.def:
5886         * win32/common/libgstnet.def:
5887         * win32/common/libgstreamer.def:
5888           Add more missing symbols, remove some duplicates, and sort
5889           as the 'sort' command sorts it (partially fixes #493983).
5890
5891 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5892
5893         * gst/gstelement.c: (gst_element_set_state_func):
5894         Only change the state cookie if a different state was set on the
5895         element. See #492729.
5896
5897 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5898
5899         * gst/gstvalue.c:
5900           Remove unused and uninitialised type variables that were still
5901           exported for some reason (they were never in any header files
5902           though).
5903
5904 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5905
5906         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
5907         (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
5908         (gst_base_sink_event), (gst_base_sink_get_position_last),
5909         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
5910         (gst_base_sink_change_state):
5911         Don't try to report a 0 position when we don't know, return -1 and FALSE
5912         instead. This mostly happens when we are prerolling.
5913         Make sure we can report the right position before we post the ASYNC_DONE
5914         message so that a message handler can query position without races.
5915
5916         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
5917         (async_done_handoff), (async_done_func), (send_buffer),
5918         (async_done_eos_func), (gst_sinks_suite):
5919         Add two tests for the above.
5920
5921 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5922
5923         * MAINTAINERS:
5924         Update with new email address.
5925
5926         * docs/design/part-TODO.txt:
5927         Add some more info about future pad-block and negotiation changes.
5928
5929         * docs/design/part-buffering.txt:
5930         Add some ideas about buffering reporting.
5931
5932 2007-11-06  Jan Schmidt  <jan.schmidt@sun.com>
5933
5934         * tests/check/gst/gstobject.c:
5935         Disable silly racy test that always fails on this combination of CPU
5936         and kernel.
5937
5938 2007-11-03  Tim-Philipp Müller  <tim at centricular dot net>
5939
5940         Patch by: Murray Cumming  <murrayc@murrayc.com>
5941
5942         * gst/gstobject.c:
5943           Corrected the registration of the parent-set and parent-unset
5944           signals: The parameter is a GstObject, not a GObject (#493134).
5945
5946 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
5947
5948         * gst/gst_private.h:
5949         * gst/gstbuffer.h:
5950         * gst/gstevent.h:
5951         * gst/gstformat.h:
5952         * gst/gstmessage.h:
5953         * gst/gstplugin.h:
5954         * gst/gstquery.h:
5955         * gst/gsttaglist.h:
5956         * gst/gstvalue.h:
5957           Move declaration of private _gst_foo_initialize() functions into
5958           our private header file where they should have been all along.
5959
5960 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
5961
5962         * docs/plugins/gstreamer-plugins-sections.txt:
5963         * gst/gstdebugutils.h:
5964         * gst/gstxml.h:
5965         * plugins/elements/gstqueue.c:
5966           gtk-doc fixes; trailing-comma-in-enum fix.
5967
5968 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
5969
5970         * gst/gst.c: (gst_deinit):
5971           Clean up on deinit (not the external ones though, doesn't seem to be
5972           needed for some reason).
5973
5974 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
5975
5976         * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
5977           Remove __declspec(dllimport) for MSVC that was copied over into core
5978           from a plugin, obviously without ever having been tested (note the
5979           single underscore in _declspec in the initial commit), and that doesn't
5980           really make sense.  See #492077.
5981
5982 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
5983
5984         * gst/gst.c: (init_post):
5985         * gst/gstevent.c: (_gst_event_initialize):
5986         * gst/gstquery.c: (_gst_query_initialize):
5987         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
5988           g_type_class_ref() other types as well, see #349410 and #64764.
5989
5990         * gst/gstbuffer.c: (_gst_buffer_initialize):
5991         * gst/gstmessage.c: (_gst_message_initialize):
5992           Simplify existing g_type_class_ref().
5993
5994 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
5995
5996         * gst/gstformat.c: (_gst_format_initialize):
5997           g_type_class_ref() our GstFormat type to make sure we avoid the
5998           thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
5999           bug #64764. Should fix intermittent tee unit test failures (#474823).
6000
6001 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
6002
6003         * tests/check/elements/tee.c: (test_num_buffers):
6004           Simplify, simplify, simplify - or not.  Rewrite unit test
6005           not to use gst_parse_launch(); allow N sub-streams. Increasing
6006           the number of sub-streams seems to reproduce #474823 more easily.
6007
6008 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
6009
6010         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
6011
6012         * gst/gsttrace.c:
6013         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
6014         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
6015         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
6016           Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
6017           starting with 2.14.0, GLib won't provide a pipe() macro any longer,
6018           so use _pipe() directly (#492077).
6019
6020         * win32/common/dirent.c: (_treaddir):
6021           Add a couple of casts to make it build without warnings with MSVC.
6022
6023         * win32/common/libgstreamer.def:
6024           Add some more symbols that need to be exported.
6025
6026 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
6027
6028         * tests/examples/metadata/read-metadata.c: (message_loop):
6029           Use _KEEP as merge mode rather than _KEEP_ALL, so tags
6030           arriving in a second or third tag message are added to
6031           the tag list as well.
6032
6033 2007-10-31  Stefan Kost  <ensonic@users.sf.net>
6034
6035         * libs/gst/base/gstbasesrc.c:
6036           Its "Since:" and not "@Since:". And remove an superflous cast.
6037
6038 2007-10-30  Wim Taymans  <wim.taymans@gmail.com>
6039
6040         * docs/libs/gstreamer-libs-sections.txt:
6041         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6042         (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
6043         (gst_base_sink_get_property), (gst_base_sink_render_object),
6044         (gst_base_sink_preroll_object),
6045         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
6046         (gst_base_sink_change_state):
6047         * libs/gst/base/gstbasesink.h:
6048         Add a new last-buffer property that contains the last buffer used in
6049         basesink for preroll or rendering. useful for making snapshots.
6050         API: gst_base_sink_get_last_buffer()
6051         API: GstBaseSink::last-buffer
6052
6053 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
6054
6055         * docs/gst/running.xml:
6056         * gst/gst.c:
6057         * gst/gstdebugutils.c:
6058         * gst/gstdebugutils.h:
6059         * tools/gst-launch.c:
6060           Improve bin graph dumping, by using the envvar to specify a path.
6061           Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
6062
6063 2007-10-29  Tim-Philipp Müller  <tim at centricular dot net>
6064
6065         * plugins/elements/gsttypefindelement.c:
6066           (gst_type_find_element_handle_event),
6067           (gst_type_find_element_activate):
6068           Post special error message if we can't determine the type of a stream
6069           because it's empty.
6070
6071 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
6072
6073         * docs/gst/running.xml:
6074         * gst/gstdebugutils.c:
6075           Document new env-var. Add one log-line after dumpng a graph.
6076
6077 2007-10-26  Tim-Philipp Müller  <tim at centricular dot net>
6078
6079         * configure.ac:
6080           Ugly hack to put the (recently removed and non-portable, apparently)
6081           -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
6082           GNU ld, because without that 'make check' fails miserably on my debian
6083           stable box.  Someone with more knowledge of linker intricacies and
6084           portability issues than me fix this properly please.
6085
6086 2007-10-25  Wim Taymans  <wim.taymans@gmail.com>
6087
6088         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
6089         Reset last seen position after flushing so that we don't report the old
6090         position anymore.
6091
6092 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
6093
6094         * gst/gstelementfactory.c: (gst_element_register):
6095         * gst/gsturi.h:
6096         Patch from Alessandro Decina adding get_type_full and
6097         get_protocols_full private vfuncs to the URIHandler interface
6098         to allow bindings to support creating URI handlers. 
6099         Partially fixes: #339279
6100         API: GstURIHandlerInterface::get_type_full
6101         API: GstURIHandlerInterface::get_protocols_full
6102
6103 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
6104
6105         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
6106         (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
6107         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
6108         Make it so that pads are considered linked until a buffer is pushed
6109         and discovered otherwise. This avoids problems with decodebin2 hanging
6110         after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
6111         case.
6112
6113         Make sure we lock the multiqueue when updating the max-size properties.
6114         
6115         Fix a crash on Solaris in a debug statement in get_request_pad that
6116         passes a NULL string to GST_DEBUG. 
6117
6118         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
6119         (run_output_order_test):
6120         Fix the test to allow the first buffer on not-linked pads to come out
6121         of sequence while multiqueue discovers that they are not-linked.
6122
6123 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
6124
6125         * configure.ac:
6126         * libs/gst/check/Makefile.am:
6127         Use a custom export symbol regex for libgstcheck, as it needs
6128         to export symbols that don't match the standard GStreamer gst_*
6129         pattern, and  --export-dynamic is not portable (only works on 
6130         GNU ld)
6131
6132         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
6133         (gst_check_setup_sink_pad):
6134         Make sure to pass a message parameter to the fail_* macros.
6135
6136         * tests/check/gst/gstinfo.c: (GST_START_TEST):
6137         Fix some compiler warnings.
6138
6139 2007-10-25  Tim-Philipp Müller  <tim at centricular dot net>
6140
6141         * tests/check/gst/gststructure.c: (test_to_string):
6142           Disable test that checks that white spaces are not allowed
6143           in structure names or field names, since we need to
6144           support that for now for backwards compatibility reasons.
6145
6146 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
6147
6148         * docs/gst/gstreamer-sections.txt:
6149         * gst/gsttaglist.c:
6150         * gst/gsttaglist.h:
6151           API: add GST_TAG_ARTIST_SORTNAME
6152           API: add GST_TAG_ALBUM_SORTNAME
6153           API: add GST_TAG_TITLE_SORTNAME
6154           Add tag variants for sorting (#414539).
6155
6156 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
6157
6158         * gst/gststructure.c:
6159           Also allow white space for names so we don't break
6160           backwards compatibility.
6161
6162 2007-10-22  Wim Taymans  <wim.taymans@gmail.com>
6163
6164         * docs/design/part-TODO.txt:
6165         * docs/design/part-segments.txt:
6166         * docs/design/part-streams.txt:
6167         Small updates.
6168
6169 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
6170
6171         * docs/gst/gstreamer-sections.txt:
6172          Fixed documentation from my previous commit (added new API add
6173          gst_value_set_structure(), add gst_value_get_structure() and
6174          GST_VALUE_HOLDS_STRUCTURE).
6175
6176 2007-10-22  Stefan Kost  <ensonic@users.sf.net>
6177
6178         * gst/gstdebugutils.c:
6179           Reflow code to fix uninitialized variable warning.
6180
6181 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
6182
6183         * gst/gstcaps.c: (gst_caps_to_string),
6184         (gst_caps_from_string_inplace):
6185         * gst/gststructure.c: (gst_structure_get_abbrs),
6186         (gst_structure_to_string), (gst_structure_from_string):
6187         * gst/gstvalue.c: (gst_value_set_structure),
6188         (gst_value_get_structure), (gst_value_serialize_structure),
6189         (gst_value_deserialize_structure), (_gst_value_initialize):
6190         * gst/gstvalue.h:
6191         * tests/check/gst/gststructure.c: (GST_START_TEST),
6192         (gst_structure_suite):
6193         * tests/check/gst/gstvalue.c: (GST_START_TEST):
6194          Added GstStructure to gst_value_table and its related functions.
6195          Changed gst_structure_to_string to print ';' in the end.
6196          Changed gst_caps_to_string to not print ';' beteween its
6197          fields (structures) anymore and remove the lastes ';' from latest
6198          structure. Now it is possible to have nested structures.
6199          In addition, backward compatibilty is assured by accepting '\0' as
6200          end delimiter. Fixes: #487969.
6201          API: add gst_value_set_structure()
6202          API: add gst_value_get_structure()
6203          API: add GST_VALUE_HOLDS_STRUCTURE
6204
6205 2007-10-19  Tim-Philipp Müller  <tim at centricular dot net>
6206
6207         * gst/gstbus.c:
6208           When no GSource callback has been set up, tell developer
6209           to use a function that actually exists.
6210
6211 2007-10-17  Stefan Kost  <ensonic@users.sf.net>
6212
6213         * docs/gst/gstreamer-sections.txt:
6214         * gst/Makefile.am:
6215         * gst/gst.c:
6216         * gst/gst.h:
6217         * gst/gstdebugutils.c:
6218         * gst/gstdebugutils.h:
6219         * gst/gstinfo.c:
6220         * gst/gstinfo.h:
6221         * tools/gst-launch.c:
6222           Allow dumping pipelines as dot graphs. Fixes #456573.
6223
6224 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6225
6226         * gst/gststructure.c:
6227           Allow '+' as well, it can be part of media or mime types
6228           such as image/svg+xml.
6229
6230 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6231
6232         * docs/gst/gstreamer-sections.txt:
6233         * gst/gstbus.c:
6234         * gst/gstbus.h:
6235           API: add gst_bus_pop_filtered
6236           API: add gst_bus_timed_pop_filtered
6237           Two new functions for waiting for specific message types on the
6238           bus for a specified amount of time without iterating any main
6239           loops or main contexts.
6240
6241         * tests/check/gst/gstbus.c:
6242           Some tests for the new functions.
6243
6244 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6245
6246         * docs/libs/gstreamer-libs-sections.txt:
6247           Make gtk-doc ignore stuff it should ignore.
6248
6249 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6250
6251         * libs/gst/check/gstcheck.c:
6252         * libs/gst/check/gstcheck.h:
6253           Allow runtime selection of unit tests to run via the GST_CHECKS
6254           environment variable (test case function names, comma-separated).
6255
6256 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
6257
6258         * gst/gststructure.c:
6259         * tests/check/gst/gststructure.c:
6260           Revert serialisation change and constrain structure-names after
6261           consensus on irc. Update api documentation to reflect the change.
6262
6263 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
6264
6265         * gst/gststructure.c:
6266           Improve serialization and fix tests.
6267
6268         * tests/check/gst/gststructure.c:
6269           Add another test that covers why I actually did the previous structure
6270           change.
6271
6272 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
6273
6274         * tools/gst-inspect.c: (print_element_info):
6275         Don't crash when inspecting an element.
6276
6277 2007-10-15  Tim-Philipp Müller  <tim at centricular dot net>
6278
6279         * tests/check/gst/gststructure.c:
6280           Add unit test for escaping of structure name when serialising
6281           and deserialising to/from strings.
6282
6283 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
6284
6285         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
6286         (gst_single_queue_new):
6287         * plugins/elements/gstqueue.c: (gst_queue_init),
6288         (gst_queue_push_one):
6289         Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
6290         upstream is tricked into thinking it can suggest a format downstream
6291         while downstream does not support that format. The real problem is that
6292         core calls acceptcaps when pushing a buffer with new caps, for which we
6293         do a little workaround by setting the caps on the srcpad ourselves
6294         before pushing the buffer (until this is figured out). Fixes #486758.
6295
6296 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6297
6298         * gst/gststructure.c:
6299         * gst/gstvalue.c:
6300           Add some more comments and debug output. Quote structure name to fix
6301           deserialisation of some strings.
6302
6303 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6304
6305         * gst/gstbuffer.h:
6306           Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
6307           on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
6308
6309 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6310
6311         * tools/gst-inspect.c:
6312           Save approx. 400 1 byte allocs when printing. Use API to acces element
6313           details.
6314
6315         * tools/gst-run.c:
6316           Avoid a strdup.
6317
6318         * tools/gst-xmlinspect.c:
6319           Use API to acces element details.
6320
6321 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6322
6323         * gst/gstinfo.c:
6324           Fix some spelling errors.
6325
6326 2007-10-14  Wim Taymans  <wim.taymans@gmail.com>
6327
6328         * gst/gstbin.c: (bin_handle_async_done):
6329         Correctly set the next state if all of our async children commited their
6330         state. This makes sure we can actually cancel the state change in
6331         progress. Fixes a regression in Rhythmbox when seeking.
6332
6333 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
6334
6335         * gst/gstbin.c:
6336           Don't shadow local variable.
6337
6338         * gst/gstinfo.c:
6339           Don't shadow global function name.
6340
6341 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
6342
6343         * gst/gstelementfactory.c:
6344         * gst/gstpluginfeature.c:
6345         * gst/gstpluginfeature.h:
6346         * gst/gstregistrybinary.c:
6347         * gst/gstregistryxml.c:
6348         * gst/gsttypefind.c:
6349           Use already-interned string for the private GstPluginFeature
6350           plugin_name field.
6351
6352 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6353
6354         * docs/libs/gstreamer-libs-sections.txt:
6355           Add new API to docs; fixes the build.
6356
6357 2007-10-10  Wim Taymans  <wim.taymans@gmail.com>
6358         
6359         Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
6360
6361         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
6362         (gst_base_sink_event):
6363         * libs/gst/base/gstbasesink.h:
6364         Add function to wait for EOS, subclasses can use this to correctly wait
6365         for devices to drain before performing the EOS logic. Fixes #485343.
6366         API: gst_base_sink_wait_eos()
6367
6368 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6369
6370         * gst/gstplugin.h:
6371           Cast description string constants in GST_PLUGIN_DEFINE macros
6372           to a (gchar*) to make C++ code using these macros compile
6373           without warning with g++-4.2 (see #462737).  Even if slightly
6374           ugly, this seems preferable to putting the description strings
6375           into the GLib quark table or making the structure member a
6376           const gchar * and doing casts in core code that allocs and
6377           frees these strings, or requiring a cast in the C++ code.
6378
6379 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6380
6381         * gst/gstinfo.h:
6382           Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
6383           to print the entire class/function signature into the log
6384           file for C++ code.  This only affects C++ code, for C code
6385           everything remains the same.
6386
6387 2007-10-09  Wim Taymans  <wim.taymans@gmail.com>
6388
6389         * gst/gstbin.c: (remove_from_queue):
6390         Work around a problem with pipelines containing (semi)loops until a
6391         proper, more complicated solution is ready. See #475455.
6392
6393 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6394
6395         * gst/gstplugin.c:
6396         * gst/gstplugin.h:
6397         * gst/gstregistrybinary.c:
6398         * gst/gstregistryxml.c:
6399           Put more strings into the GLib quark table. No need to keep
6400           a hundred-something copies of identical version strings,
6401           license strings, package name strings and package origin
6402           strings around. 
6403
6404 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6405
6406         * docs/manual/advanced-dataaccess.xml:
6407           Don't imply that it's okay to unconditionally change
6408           buffer data or buffer metadata in a pad probe callback,
6409           and a bunch of other comments. Fixes #430031.
6410
6411 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6412
6413         * win32/common/gstenumtypes.c:
6414         * win32/common/gstenumtypes.h:
6415         * win32/common/gstversion.h:
6416           Update generated files.
6417
6418 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6419
6420         * docs/manual/advanced-autoplugging.xml:
6421           Prefix section with broken code with a warning (see #342432).
6422
6423 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6424
6425         * docs/manual/appendix-integration.xml:
6426         * docs/manual/basics-init.xml:
6427           Call g_thread_init() before g_option_context_new() to
6428           avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
6429
6430 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6431
6432         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6433         (gst_base_sink_queue_object_unlocked),
6434         (gst_base_sink_queue_object), (gst_base_sink_event),
6435         (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
6436         When we received EOS and are waiting for when to post the EOS message,
6437         our state is prerolled and we should not return ASYNC.
6438         Reorganize some code paths to implement this behavior.
6439
6440         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
6441         (gst_sinks_suite):
6442         Add unit test to verify above EOS fix.
6443
6444 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6445
6446         * plugins/elements/gsttypefindelement.c:
6447         (gst_type_find_element_have_type), (gst_type_find_element_init),
6448         (gst_type_find_element_setcaps), (gst_type_find_element_chain):
6449         Move detecting the input caps of the sinkpad to the setcaps function.
6450         This allows us to update the output caps when we receive new input caps
6451         instead of always using the first detected caps.
6452
6453 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6454
6455         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
6456         (gst_base_sink_get_position):
6457         Don't try to preroll non-async elements after a flush.
6458         Subtract latency form clock times when reporting position.
6459
6460 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6461
6462         * gst/gstpad.c: (gst_pad_pause_task):
6463         * gst/gstutils.c:
6464         Small comment and documentation update.
6465
6466 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6467
6468         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
6469         (gst_base_src_set_live), (gst_base_src_is_live),
6470         (gst_base_src_query_latency), (gst_base_src_perform_seek),
6471         (gst_base_src_default_event), (gst_base_src_wait),
6472         (gst_base_src_do_sync), (gst_base_src_get_range),
6473         (gst_base_src_pad_get_range), (gst_base_src_loop),
6474         (gst_base_src_unlock), (gst_base_src_unlock_stop),
6475         (gst_base_src_set_flushing), (gst_base_src_set_playing),
6476         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6477         (gst_base_src_change_state):
6478         Rework the locking of basesrc in a similar fashion to basesink. We
6479         basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
6480         us to handle live sources and semi live ones much better.
6481         Simplify flushing.
6482         Fix unlocking when seeking, shutting down and pausing in live sources.
6483
6484 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6485
6486         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
6487         Fix compilation again.
6488
6489 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6490
6491         * gst/gstelement.c:
6492           Use meaningful categories for the logs to clean the default one.
6493
6494 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6495
6496         * tests/check/pipelines/cleanup.c:
6497           Print message name and not just number.
6498
6499 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6500
6501         * docs/design/draft-tagreading.txt:
6502           Add some more thoughts.
6503
6504 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6505
6506         * tests/check/pipelines/simple-launch-lines.c:
6507           Print message name and not just number.
6508
6509 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6510
6511         * libs/gst/base/gsttypefindhelper.c:
6512           Speedup typefinding. This is work in progress (see #459862).
6513
6514 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6515
6516         * gst/gstplugin.c:
6517           Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
6518           Spotted by Josep Torra Valles <josep@fluendo.com>.
6519
6520 2007-10-03  Tim-Philipp Müller  <tim at centricular dot net>
6521
6522         * gst/gstclock.h:
6523           Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
6524           field has moved to GstObject.
6525
6526 2007-10-02  Wim Taymans  <wim.taymans@gmail.com>
6527
6528         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
6529         (gst_base_src_get_range), (gst_base_src_change_state):
6530         Call unlock for live sources so that they can't get stuck in _create and
6531         produce a buffer before they are set back to PLAYING.
6532
6533 2007-10-02  Edward Hervey  <bilboed@bilboed.com>
6534
6535         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6536         (gst_queue_locked_dequeue):
6537         Comment the segment-related code... in the PROPER function.
6538         See #482147 and my commit from yesterday.
6539
6540 2007-10-01  Wim Taymans  <wim.taymans@gmail.com>
6541
6542         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
6543         Also initialize the counter that calculates the first timestamp on a
6544         buffer correctly for non-live sources.
6545
6546 2007-10-01  Edward Hervey  <bilboed@bilboed.com>
6547
6548         * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
6549         Disable code that's breaking the current-time-level reporting.
6550         See #482147
6551
6552 2007-09-30  Sebastian Dröge  <slomo@circular-chaos.org>
6553
6554         * docs/gst/gstreamer-sections.txt:
6555         Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
6556         as they shouldn't show up. Fixes the docs build.
6557
6558 2007-09-29  Sebastien Moutte  <sebastien@moutte.net>
6559         
6560         * gst/gstinfo.h:
6561         Add an explicit variable importation needed on VS6 (only for MSC_VER)
6562         Define M_PI which is used in files which are including gstinfo.h. 
6563         VS6 includes doesn't define it.
6564         * win32/common/libgstbase.def:
6565         * win32/common/libgstcontroller.def:
6566         * win32/common/libgstreamer.def:
6567         Add new exported functions and variables.
6568         * win32/vs6/libgstcontroller.dsp:
6569         * win32/vs6/libgstreamer.dsp:
6570         Update the list of files to build.
6571         
6572 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
6573
6574         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6575
6576         * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
6577         (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
6578         (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
6579         Improve debugging. Fixes #480858.
6580
6581 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
6582
6583         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6584
6585         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
6586         First patch of code cleanups, use the macros and right arguments in the
6587         macros to signal and lock the queue. See #480858.
6588
6589 2007-09-26  Wim Taymans  <wim.taymans@gmail.com>
6590
6591         * gst/gstbus.c: (poll_func):
6592         Improve debugging when dealing with _poll().
6593
6594 2007-09-26  Tim-Philipp Müller  <tim at centricular dot net>
6595
6596         * gst/gstregistryxml.c:
6597           Fix memory leak I introduced a few days ago.
6598
6599 2007-09-26  Michael Smith <msmith@fluendo.com>
6600
6601         * gst/gstbuffer.c: (gst_buffer_finalize):
6602           Make it once again possible to free GstBuffers in the default
6603           build.
6604           The poisoning scribbles on parts of the miniobject we need in
6605           order to free it.
6606           Fixes #480341
6607
6608 2007-09-25  Tim-Philipp Müller  <tim at centricular dot net>
6609
6610         * docs/gst/gstreamer-sections.txt:
6611         * gst/gsttaglist.c:
6612         * gst/gsttaglist.h:
6613         API: add GST_TAG_COMPOSER, fixes #459809.
6614
6615 2007-09-24  Sebastian Dröge  <slomo@circular-chaos.org>
6616
6617         * gst/gstplugin.c:
6618         * gst/gstplugin.h:
6619         Add the 3-clause BSD license and the MIT/X11 license to the license
6620         list. Fixes #479784.
6621
6622 2007-09-24  Tim-Philipp Müller  <tim at centricular dot net>
6623
6624         * docs/faq/getting.xml:
6625           Add Q+A about different GStreamer versions (#364056).
6626
6627 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6628
6629         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6630         (gst_base_sink_event), (gst_base_sink_change_state):
6631         Return correct gboolean from query function.
6632
6633 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6634
6635         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6636         (gst_base_sink_event), (gst_base_sink_query),
6637         (gst_base_sink_change_state):
6638         Simplify latency query.
6639         When not synchronizing, we can report latency without querying the peer
6640         element.
6641
6642 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6643
6644         * gst/gstobject.h:
6645         * gst/gstvalue.c:
6646         Fix small typos in the docs.
6647
6648 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6649
6650         * docs/design/draft-latency.txt:
6651         * docs/design/draft-push-pull.txt:
6652         * docs/design/draft-tagreading.txt:
6653         * docs/design/part-MT-refcounting.txt:
6654         * docs/design/part-activation.txt:
6655         * docs/design/part-block.txt:
6656         * docs/design/part-element-source.txt:
6657         * docs/design/part-events.txt:
6658         * docs/design/part-gstbin.txt:
6659         * docs/design/part-gstelement.txt:
6660         * docs/design/part-gstobject.txt:
6661         * docs/design/part-gstpipeline.txt:
6662         * docs/design/part-messages.txt:
6663         * docs/design/part-preroll.txt:
6664         * docs/design/part-push-pull.txt:
6665         * docs/design/part-qos.txt:
6666         * docs/design/part-query.txt:
6667         * docs/design/part-scheduling.txt:
6668         * docs/design/part-seeking.txt:
6669         * docs/design/part-segments.txt:
6670         * docs/design/part-states.txt:
6671         Documentation updates and typo fixes.
6672
6673 2007-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6674
6675         * plugins/elements/gstfakesink.c:
6676           Add some debug text to error message to indicate that
6677           we errored out on request.
6678
6679         * tools/gst-launch.c:
6680           When the state change to PLAYING fails, check for an
6681           error message on the bus and print it.
6682
6683 2007-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6684
6685         translated by: Jorge González González <aloriel@gmail.com>
6686
6687         * po/LINGUAS:
6688         * po/es.po:
6689           Added Spanish translation.
6690
6691 2007-09-21  Wim Taymans  <wim.taymans@gmail.com>
6692
6693         * plugins/elements/gstqueue.c: (gst_queue_push_one):
6694         Fix printf arguments.
6695
6696 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
6697
6698         * tests/check/generic/states.c:
6699           Improved state change unit test.
6700
6701 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
6702
6703         * gst/gstbin.h:
6704           Move priv to the right place.
6705
6706         * gst/gstsystemclock.c:
6707           Add FIXME: and improve log.
6708
6709         * tests/check/Makefile.am:
6710         * tests/examples/manual/Makefile.am:
6711           Work with all types of registries.
6712
6713 2007-09-19  Wim Taymans  <wim.taymans@gmail.com>
6714
6715         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6716         Don't unref the event after pushing it. Fixes #478401.
6717
6718 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
6719
6720         * .cvsignore:
6721         * tests/examples/manual/.cvsignore:
6722           Ignore registries in any format.
6723
6724 2007-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6725
6726         * gst/glib-compat-private.h:
6727           Add compatibility macro for g_intern_string() for
6728           GLib-2.8 (any reason we can't just bump the
6729           requirement to at least 2.10?)
6730
6731         * gst/gstpadtemplate.h:
6732         * gst/gstelementfactory.c:
6733         * gst/gstregistryxml.c:
6734         * gst/gstregistrybinary.c:
6735           Make GstStaticPadTemplate's templ_name field a const gchar * and fix
6736           up the internal code accordingly.  This shouldn't be a problem, since
6737           there is no reason external code could ever assume the string in such
6738           a structure is dynamically allocated unless it did that itself;  the
6739           use of g_strdup() is private to element factories.  The new code also
6740           saves some memory by putting pad template name strings into the GLib
6741           quark table instead of allocating them dynamically.
6742           Declaring this field constant fixes warnings with g++-4.2 when using
6743           the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
6744
6745 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
6746
6747         * gst/gstelementfactory.c:
6748           Release static caps. Fixes #475723.
6749
6750 2007-09-18  Tim-Philipp Müller  <tim at centricular dot net>
6751
6752         * gst/gstinfo.c:
6753         * gst/gstinfo.h:
6754           Make some internal API take const gchar * instead of just
6755           gchar * to avoid compiler warnings with g++-4.2.2 when
6756           passing string constants (partially fixes #478092).
6757
6758 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
6759
6760         * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
6761         A latency query fails when one of the sinks fail.
6762
6763         * gst/gstelement.c: (gst_element_set_base_time):
6764         Improve debugging.
6765
6766 2007-09-17  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
6767
6768         * gst/gstbin.c: (gst_bin_continue_func):
6769         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
6770         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
6771         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
6772
6773         Fix minor compilation warnings shown with Forte.
6774
6775 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
6776
6777         * plugins/elements/gstqueue.c: (apply_buffer),
6778         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
6779         Measure queue level based on the diff between head and tail timestamps
6780         even when pushing the first buffer.
6781
6782 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
6783
6784         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6785         (gst_base_sink_event), (gst_base_sink_change_state):
6786         Sinks that don't preroll can always be queried for the latency.
6787         Don't post ASYNC start when we are not async.
6788
6789 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
6790
6791         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6792         (gst_queue_handle_sink_event), (gst_queue_chain),
6793         (gst_queue_push_one), (gst_queue_handle_src_query),
6794         (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
6795         * plugins/elements/gstqueue.h:
6796         When downstream returns UNEXPECTED from pushing a buffer, don't try to
6797         push more buffers but allow pushing of EOS and NEWSEGMENT.
6798         Add some more debug info here and there. Fixes #476514.
6799
6800 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
6801
6802         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
6803         (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
6804         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
6805         (gst_base_sink_set_flushing), (gst_base_sink_query),
6806         (gst_base_sink_change_state):
6807         Latency query is allowed after we are prerolled. Introduce a new flag
6808         for this and stop abusing other variables.
6809
6810 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6811
6812         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6813         Push OOB events downstream when we get them in send_event. This allows
6814         the application to insert events in the pipeline.
6815         Add some more comments.
6816
6817 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6818
6819         * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
6820         (do_bin_latency), (gst_bin_change_state_func):
6821         * gst/gstpipeline.c: (gst_pipeline_change_state):
6822         Move latency query from GstPipeline to GstBin so that we can also
6823         use it when async-handling is enabled on bins.
6824
6825 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6826
6827         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
6828         (gst_base_src_do_sync), (gst_base_src_change_state):
6829         Update docs.
6830         Clean up the timestamping and syncing code for pseudo live sources.
6831
6832 2007-09-13  Tim-Philipp Müller  <tim at centricular dot net>
6833
6834         Patch by: Steve Fink  <sphink gmail com>
6835
6836         * docs/manual/appendix-checklist.xml:
6837           Mention less -R switch in the section about debug output (#474055).
6838
6839 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6840
6841         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
6842         Queue can latency to the pipeline up to the configured max size in time.
6843         Report this fact in the latency query.
6844
6845 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
6846
6847         Patch by: Sebastien Moutte <sebastien at moutte dot net>
6848
6849         * libs/gst/controller/gstinterpolation.c:
6850         * libs/gst/controller/gstlfocontrolsource.c:
6851         Use gst_guint64_to_gdouble() when converting from a uint64 or
6852         GstClockTime to double to fix the build on win32. Fixes #474371.
6853
6854 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
6855
6856         * gst/gstbuffer.c: (gst_buffer_finalize):
6857         Implement poisoning for GstBuffer if --enable-poisoning is specified.
6858         When finalizing a buffer the complete struct is filled with 0xff,
6859         thus making a use of the buffer after the final unref impossible.
6860
6861 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
6862
6863         * tests/check/libs/controller.c: (GST_START_TEST):
6864         Use fail_unless_equals_int(a, b) instead of
6865         fail_unless_equals (a == b) to get better output on failures.
6866
6867 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
6868
6869         * tests/check/gst/gsturi.c:
6870           Also check for the other file URI variant on win32.
6871
6872 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
6873
6874         * gst/gsturi.c: (gst_uri_get_location):
6875           If there's no hostname, we want to return 'c:/foo/bar.txt'
6876           and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
6877
6878         * tests/check/gst/gsturi.c:
6879           Unit test for the above and a few more things.
6880
6881 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
6882
6883         * docs/design/part-live-source.txt:
6884         Add docs on how live sources should timestamp.
6885
6886         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
6887         Add some more debug info.
6888         For subclasses that are live and like to sync, add aditional startup
6889         latency to sync time and timestamps so that we timstamp according to the
6890         design doc.
6891
6892 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
6893
6894         * gst/gstbuffer.c:
6895           Also do a g_type_class_ref() for the subbuffer type in
6896           the init function.
6897
6898 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
6899
6900         * docs/gst/gstreamer-sections.txt:
6901         * gst/gstpad.c: (gst_pad_peer_query):
6902         * gst/gstpad.h:
6903         Add function to perform a query on the peer of a pad.
6904         API: gst_pad_peer_query()
6905
6906 2007-09-11  Stefan Kost  <ensonic@users.sf.net>
6907
6908         * tests/check/gst/gstsystemclock.c:
6909           Cleanup the test a little (use gst-logging and not g_message). Improve
6910           test to check if a wait reached the target.
6911
6912 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
6913
6914         * docs/libs/gstreamer-libs-sections.txt:
6915           Add new API to docs and fix the build.
6916
6917 2007-09-10  Wim Taymans  <wim.taymans@gmail.com>
6918
6919         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6920         (gst_base_src_init), (gst_base_src_set_do_timestamp),
6921         (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
6922         (gst_base_src_get_property), (gst_base_src_do_sync):
6923         * libs/gst/base/gstbasesrc.h:
6924         Add property to make the basesrc timestamp buffers based on the current
6925         running time.
6926         API: GstBaseSrc::do-timestamp
6927         API: gst_base_src_set_do_timestamp()
6928         API: gst_base_src_get_do_timestamp()
6929
6930 2007-09-08  Tim-Philipp Müller  <tim at centricular dot net>
6931
6932         * docs/random/release:
6933           Really make sure translations are up-to-date before
6934           a release (#465010).
6935
6936 2007-09-07  Sebastian Dröge  <slomo@circular-chaos.org>
6937
6938         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
6939         Always destroy the timer, also in error cases.
6940
6941 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
6942
6943         * docs/manual/highlevel-xml.xml:
6944         Fix XML example code. Fixes #472714.
6945
6946 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
6947
6948         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6949         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
6950         (gst_base_sink_query):
6951         Protect eos and have_preroll with the OBJECT lock so we don't need to
6952         take the PREROLL lock when querying the latency. Fixes #473846.
6953
6954 2007-09-05  Stefan Kost  <ensonic@users.sf.net>
6955
6956         * gst/gstelement.c:
6957           Give some log-messages a category.
6958
6959 2007-09-04  Wim Taymans  <wim.taymans@gmail.com>
6960
6961         * gst/gststructure.c:
6962         (gst_structure_fixate_field_nearest_fraction):
6963         Fix fraction list fixation code. Take the fraction with the smallest
6964         difference with the target instead of the first one in the list.
6965
6966         * tests/check/gst/gststructure.c: (GST_START_TEST),
6967         (gst_structure_suite):
6968         Added test to verify correct fraction list fixation behaviour.
6969
6970 2007-09-02  Tim-Philipp Müller  <tim at centricular dot net>
6971
6972         * win32/common/libgstreamer.def:
6973           Export gst_bus_add_signal_watch too.
6974
6975 2007-08-30  Wim Taymans  <wim.taymans@gmail.com>
6976
6977         * docs/libs/gstreamer-libs-sections.txt:
6978         Add new methods to docs.
6979
6980         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6981         (gst_base_sink_init), (gst_base_sink_set_ts_offset),
6982         (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
6983         (gst_base_sink_get_property), (gst_base_sink_wait_clock):
6984         * libs/gst/base/gstbasesink.h:
6985         Add ts-offset property to fine-tune the synchronisation.
6986         API: GstBaseSink::ts-offset property
6987         API: gst_base_sink_set_ts_offset()
6988         API: gst_base_sink_get_ts_offset()
6989
6990 2007-08-29  Wim Taymans  <wim.taymans@gmail.com>
6991
6992         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6993         (gst_base_sink_init), (gst_base_sink_set_sync),
6994         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
6995         (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
6996         (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
6997         (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
6998         (gst_base_sink_get_property), (gst_base_sink_change_state):
6999         * libs/gst/base/gstbasesink.h:
7000         Add async property to instruct the sink never to inform the parent about
7001         ASYNC state changes, update docs.
7002         Check argument with g_return_* for the public functions.
7003         API: GstBaseSink::async property
7004         API: gst_base_sink_set_async_enabled()
7005         API: gst_base_sink_is_async_enabled()
7006
7007 2007-08-28  Wim Taymans  <wim.taymans@gmail.com>
7008
7009         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
7010         Improve debugging.
7011
7012         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
7013         (gst_base_src_default_query), (gst_base_src_wait),
7014         (gst_base_src_do_sync), (gst_base_src_change_state):
7015         Rearrange some code so that we can add support for measuring the 
7016         startup latency.
7017
7018 2007-08-27  Stefan Kost  <ensonic@users.sf.net>
7019
7020         * docs/random/ensonic/dynlink.txt:
7021           More thoughs on this.
7022
7023         * plugins/elements/gstcapsfilter.c:
7024           Add bugzilla ticket number to FIXME comment.
7025
7026 2007-08-24  Wim Taymans  <wim.taymans@gmail.com>
7027
7028         * docs/design/part-TODO.txt:
7029         * docs/design/part-block.txt:
7030         Update some docs.
7031
7032 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7033
7034         * gst/Makefile.am:
7035           Revert patch which uses $(gst_headers) instead of $^ because it
7036           breaks make dist.
7037
7038 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7039
7040         * tests/check/gst/gstbin.c: (GST_START_TEST):
7041           Fix leaks in the new unit test.
7042
7043 2007-08-23  Tim-Philipp Müller  <tim at centricular dot net>
7044
7045         * gst/gst.c:
7046           Don't use GST_INFO before the debug system is actually initialised
7047           (shouldn't do any harm, but won't print anything either, so we can
7048           just as well remove it).
7049
7050         * gst/gstinfo.h:
7051           GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
7052           compilers that don't support variadic macros (such as MSVC), should
7053           check for debug_level <= __gst_debug_min as well, since that's the
7054           function called from all the level-specific GST_CAT_*_LOG_OBJECT()
7055           inline helper functions. Should improve performance a bit, but also
7056           makes sure uses of GST_INFO et.al are ignored if the debugging
7057           system isn't initialised yet (instead of printing an assertion
7058           failure).
7059
7060 2007-08-23  Stefan Kost  <ensonic@users.sf.net>
7061
7062         patch by: David Nečas <yeti@physics.muni.cz>
7063
7064         * gst/Makefile.am:
7065           Replace some non portable makefile constructs.
7066
7067 2007-08-21  Stefan Kost  <ensonic@users.sf.net>
7068
7069         * common/gtk-doc-plugins.mak:
7070           Grrrrr. Don't remove the types file on make clean.
7071
7072 2007-08-20  Wim Taymans  <wim.taymans@gmail.com>
7073
7074         * tools/gst-launch.1.in:
7075         Add colorspace to example pipeline. Fixes #458274.
7076
7077 2007-08-20  Tim-Philipp Müller  <tim at centricular dot net>
7078
7079         * docs/random/release:
7080           The release manager should run 'make download-po' before making a
7081           release to make sure translations are up-to-date.
7082
7083         * po/LINGUAS:
7084         * po/be.po:
7085         * po/pl.po:
7086         * po/rw.po:
7087           Add some new translations.
7088
7089 2007-08-17  Wim Taymans  <wim.taymans@gmail.com>
7090
7091         * tools/gst-launch.c: (event_loop), (main):
7092         Don´t try to do any state management when a live pipeline posts
7093         buffering messages.
7094         Also make the buffering string translatable.
7095
7096 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
7097
7098         * gst/gstbin.c: (is_eos), (gst_bin_add_func),
7099         (bin_handle_async_start), (gst_bin_handle_message_func):
7100         Improve debugging.
7101         When adding elements, insert messages into the bus of the newly added
7102         element and make sure the element is the source of the message. This
7103         allows the parent bin to intercept the message and do the
7104         right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
7105         messages to the app (which is not allowed).
7106         Update some docs.
7107
7108         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
7109         Fix testsuite so that is does not work around messages that should not
7110         have been posted in the first place.
7111
7112 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
7113
7114         * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
7115         (update_degree), (gst_bin_sort_iterator_next):
7116         Fix annoying bug in the sorted iterator where a sink that is not really
7117         a sink (when it has downstream links) screwed up the iterator.
7118
7119         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7120         Unit test to verify the fix.
7121
7122 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
7123
7124         * gst/gstmessage.h:
7125         Add some more docs for the messages.
7126
7127         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7128         (gst_base_sink_query):
7129         Add some more debugging.
7130
7131         * tools/gst-launch.c: (event_loop):
7132         When interrupting, don't try to set pipeline to PAUSED twice.
7133
7134 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
7135
7136         
7137         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
7138         (bin_handle_async_start), (gst_bin_handle_message_func):
7139         Move ASYNC_START message posting to where it belongs, similar to
7140         async_done. 
7141         Don't post ASYNC_START when we are in error. 
7142         Post ASYNC_START when we added an async element to a bin.
7143
7144 2007-08-14  Julien MOUTTE  <julien@moutte.net>
7145
7146         * gst/gstindex.c: (gst_index_add_association): Fix index entry
7147         generation from vargs. Fixes #466595.
7148
7149 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
7150
7151         * gst/gstbin.c: (gst_bin_element_set_state):
7152         Always change the state of a NO_PREROLL element even if it has ASYNC
7153         elements inside (in case of a bin).
7154
7155         * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
7156         Unit test for this case.
7157
7158 2007-08-13  Stefan Kost  <ensonic@users.sf.net>
7159
7160         * libs/gst/check/gstbufferstraw.c:
7161         * libs/gst/check/gstcheck.h:
7162         * libs/gst/controller/gstcontroller.c:
7163         * libs/gst/controller/gstcontrolsource.h:
7164         * libs/gst/controller/gstlfocontrolsource.h:
7165         * plugins/elements/gstcapsfilter.h:
7166         * plugins/elements/gstfdsink.h:
7167         * plugins/elements/gstfdsrc.h:
7168           Add more missing docs.
7169
7170 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
7171
7172         * gst/gststructure.c:
7173         Add Since tag to docs.
7174
7175 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
7176
7177         * docs/gst/gstreamer-sections.txt:
7178         * gst/gststructure.c: (gst_structure_get_uint):
7179         * gst/gststructure.h:
7180         Add function to get uint from a structure.
7181         API: gst_structure_get_uint()
7182
7183 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
7184
7185         * gst/gstcaps.c: (gst_caps_set_simple_valist),
7186         (gst_caps_intersect):
7187         Fix proper check for simple caps.
7188
7189 2007-08-10  Stefan Kost  <ensonic@users.sf.net>
7190
7191         * docs/gst/Makefile.am:
7192         * docs/libs/Makefile.am:
7193           Remove cruft and do some cleanups.
7194
7195         * docs/gst/gstreamer-docs.sgml:
7196         * docs/libs/gstreamer-libs-docs.sgml:
7197           Prepare for comming gtkdoc features (rebase against online docs).
7198
7199 2007-08-10  Michael Smith <msmith@fluendo.com>
7200
7201         * docs/gst/gstreamer-sections.txt:
7202           Add gst_registry_add_path to docs.
7203
7204 2007-08-10  Michael Smith <msmith@fluendo.com>
7205
7206         * gst/gstregistry.h:
7207           Add gst_registry_add_path, which was missing from this header.
7208
7209 2007-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7210
7211         * libs/gst/controller/gstlfocontrolsource.c:
7212           Printf format fix.
7213
7214 2007-08-09  Philippe Kalaf <philippe.kalaf@collabora.co.uk>
7215
7216         * libs/gst/base/gstbasesink.c:
7217           Don't send an async_start message during downwards state change if 
7218           target state is less than READY
7219
7220 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7221
7222         translated by: Gabor Kelemen <kelemeng@gnome.hu>
7223
7224         * po/LINGUAS:
7225         * po/hu.po:
7226           Added Hungarian translation.
7227
7228 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7229
7230         * po/fi.po:
7231         * po/it.po:
7232         * po/nl.po:
7233         * po/sv.po:
7234         * po/uk.po:
7235           Updated translations.
7236
7237 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
7238
7239         * libs/gst/controller/Makefile.am:
7240         Dist gstlfocontrolsourceprivate.h
7241
7242 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
7243
7244         * docs/libs/gstreamer-libs.types:
7245         Don't register the enum type gst_lfo_waveform_get_type() in the
7246         .types file - only GObject derived types belong.
7247
7248 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
7249
7250         Patch by: <arenevier at fdn dot fr>
7251
7252         * gst/gstbuffer.h:
7253         Remove comma from last element in enum to avoid compile errors when
7254         using -pendantic. Fixes #464366.
7255
7256 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
7257
7258         * docs/design/part-TODO.txt:
7259         Add some more TODO items
7260
7261         * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
7262         Improve debugging.
7263
7264         * gst/gstcaps.c: (gst_caps_intersect):
7265         Optimize trivial intersection case between identical caps pointers.
7266
7267         * gst/gstelement.c: (gst_element_continue_state),
7268         (gst_element_set_state_func):
7269         * gst/gstpad.c:
7270         Fix spelling and grammar mistakes.
7271
7272 2007-08-05  Stefan Kost  <ensonic@users.sf.net>
7273
7274         * po/POTFILES.in:
7275         * po/POTFILES.skip:
7276           Update POTFILES. Fixes #461599.
7277
7278 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
7279
7280         * gst/gst.c:
7281         Fix confusing typo in debug output.
7282
7283 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
7284
7285         reviewed by: Stefan Kost <ensonic@users.sf.net>
7286
7287         * libs/gst/controller/Makefile.am:
7288         * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
7289         (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
7290         (gst_lfo_control_source_new),
7291         (gst_lfo_control_source_set_waveform),
7292         (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
7293         (gst_lfo_control_source_finalize),
7294         (gst_lfo_control_source_dispose),
7295         (gst_lfo_control_source_set_property),
7296         (gst_lfo_control_source_get_property),
7297         (gst_lfo_control_source_class_init):
7298         * libs/gst/controller/gstlfocontrolsource.h:
7299         * libs/gst/controller/gstlfocontrolsourceprivate.h:
7300         API: Add GstLFOControlSource, a control source that gives values
7301         for specific timestamps based on several periodic waveforms.
7302         Fixes #459717.
7303
7304         * tests/check/libs/controller.c: (GST_START_TEST),
7305         (gst_controller_suite):
7306         * docs/libs/gstreamer-libs-docs.sgml:
7307         * docs/libs/gstreamer-libs-sections.txt:
7308         * docs/libs/gstreamer-libs.types:
7309         Add documentation and unit tests for GstLFOControlSource.
7310
7311 2007-08-03  Jan Schmidt  <thaytan@mad.scientist.com>
7312
7313         * configure.ac:
7314         Back to CVS
7315
7316 === release 0.10.14 ===
7317
7318 2007-08-03  Jan Schmidt <thaytan@mad.scientist.com>
7319
7320         * configure.ac:
7321           releasing 0.10.14, "Breathing Vacuum"
7322
7323 2007-08-02  Tim-Philipp Müller  <tim at centricular dot net>
7324
7325         * gst/gstelement.c: (gst_element_class_set_details_simple):
7326         * gst/gstelement.h:
7327           Make strings passed to gst_element_class_set_details_simple()
7328           constant, as they should be (#462752).
7329
7330 2007-08-02  Wim Taymans  <wim.taymans@gmail.com>
7331
7332         * gst/gstbin.c: (gst_bin_change_state_func),
7333         (bin_handle_async_done), (gst_bin_handle_message_func):
7334         Don't forget about the fact that some element went ASYNC even after a
7335         resync. This makes us post the ASYNC_DONE message correctly.
7336         Fixes #462558.
7337
7338 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
7339
7340         * gst/gstregistry.c: (gst_registry_add_feature):
7341         When replacing an existing feature in the registry, make sure to
7342         continue holding a reference until we've replaced the name string
7343         within our feature hash table. Make sure to use g_hash_table_replace
7344         instead of g_hash_table_insert to ensure the new name string is used
7345         as a key instead of the old one that we're about to free.
7346         Fixes: #462085
7347
7348 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
7349
7350         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7351         (gst_plugin_feature_set_name):
7352         Revert patch from #459466 until after the release and we can work
7353         out exactly what the problem is (if any).
7354
7355 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
7356
7357         * docs/gst/gstreamer-sections.txt:
7358         * gst/gsttaglist.c:
7359         * gst/gsttaglist.h:
7360           API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
7361
7362 2007-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
7363
7364         * docs/libs/Makefile.am:
7365         Include our build-prefix libs and includes before the generic ones to
7366         avoid linking against the installed libs when we want the build-tree
7367         ones.
7368
7369 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
7370
7371         Patch by: Steve Fink  <sphink gmail com>
7372
7373         * docs/pwg/building-testapp.xml:
7374           Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
7375           if people try to build or install the example from the plugin
7376           template against a GStreamer from package using the configure
7377           defaults.
7378
7379 2007-07-25  Tim-Philipp Müller  <tim at centricular dot net>
7380
7381         Patch by: Steve Fink  <sphink gmail com>
7382
7383         * tools/gst-inspect.1.in:
7384           Document --print-all and --print-plugin-auto-install-info command
7385           line options in man page.
7386
7387 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
7388
7389         * docs/gst/gstreamer-sections.txt:
7390         Add docs for new api function.
7391
7392 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
7393
7394         * gst/gstelementfactory.c: (gst_element_factory_has_interface):
7395         * gst/gstelementfactory.h:
7396         API: gst_element_factory_has_interface()
7397         Added method to check if an element factory implements a named
7398         interface.
7399
7400 2007-07-25  Stefan Kost  <ensonic@users.sf.net>
7401
7402         * configure.ac:
7403         * docs/gst/gstreamer.types.in:
7404           Another conditional doc check.
7405
7406         * gst/gstmessage.c:
7407         * gst/gstparamspecs.h:
7408         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7409         * gst/gstvalue.c:
7410         * gst/gstxml.h:
7411           API-doc fixes.
7412
7413 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7414
7415         * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
7416         (gst_registry_binary_load_feature),
7417         (gst_registry_binary_load_plugin),
7418         (gst_registry_binary_read_cache):
7419           Print error just once and with additional info.
7420
7421 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7422
7423         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
7424         (helper_find_suggest), (helper_find_get_length),
7425         (gst_type_find_helper_get_range), (buf_helper_find_suggest),
7426         (gst_type_find_helper_for_buffer):
7427           Cleanup the typefindhelper code and add private doc comments.
7428
7429 2007-07-24  Edward Hervey  <bilboed@bilboed.com>
7430
7431         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7432         (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
7433         Fix capsfilter for cases where the caps set on capsfilter will provide
7434         additional information.
7435         Fixes #449197
7436
7437 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7438
7439         * gst/gsttypefindfactory.c:
7440           Fix docs that recommened wrong function to use.
7441
7442 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7443
7444         * tools/gst-inspect.c: (print_plugin_features):
7445           Also give media-type for typefinders in element output.
7446
7447 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7448
7449         * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
7450         (gst_registry_remove_features_for_plugin_unlocked),
7451         (gst_registry_add_feature), (gst_registry_remove_feature),
7452         (gst_registry_lookup_feature_locked):
7453         * gst/gstregistry.h:
7454           Speed up gst_registry_lookup_feature_locked() by using a hashmap.
7455           Fixes #459501.
7456
7457 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7458
7459         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7460         (gst_plugin_feature_set_name):
7461           Avoid double memory usage for pluginfeature names. Fixes #459466.
7462
7463 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
7464
7465         * gst/gstpad.h:
7466           Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
7467           driving the pipeline may need to explicitly check for NOT_LINKED as
7468           well, since IS_FATAL doesn't cover that.
7469
7470 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
7471
7472         * docs/pwg/advanced-types.xml:
7473           Fix typo and duplicate entry in video formats list.
7474
7475 2007-07-22  Sebastian Dröge  <slomo@circular-chaos.org>
7476
7477         * libs/gst/controller/gstinterpolation.c:
7478         Also round to the nearest int when using cubic interpolation.
7479
7480 2007-07-19  Jan Schmidt  <thaytan@noraisin.net>
7481
7482         * libs/gst/controller/gstinterpolation.c:
7483         When linearly interpolating integer types, round to the nearest int
7484         by adding 0.5. Don't do it for float/double types.
7485         Fixes the failing controller test on my machine, which is somehow
7486         rounding differently than on the buildbots.
7487
7488 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7489
7490         * tools/gst-plot-timeline.py:
7491           Better log parsing (categories can have -). Adjust text vs. lines, so
7492           that they span the same y-range.        
7493
7494 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7495
7496         * docs/random/ensonic/audiobaseclasses.txt:
7497         * docs/random/ensonic/dynlink.txt:
7498         * docs/random/ensonic/profiling.txt:
7499           Save my thoughts.
7500
7501         * docs/random/moving-plugins:
7502           Add note to use g_assert type macros.
7503
7504 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7505
7506         * configure.ac:
7507         * libs/gst/check/Makefile.am:
7508           Add libm check as we use in for plugins.
7509
7510 2007-07-18  Jan Schmidt  <thaytan@noraisin.net>
7511
7512         * gst/gstbin.c: (gst_bin_continue_func):
7513         Check that the state_cookie hasn't changed since the continue_func
7514         was scheduled. Avoids problems where the state changes back to
7515         something it shouldn't be because it was changed in the meantime.
7516
7517 2007-07-17  Stefan Kost  <ensonic@users.sf.net>
7518
7519         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
7520         (gst_registry_binary_save_string),
7521         (gst_registry_binary_save_pad_template),
7522         (gst_registry_binary_save_feature),
7523         (gst_registry_binary_save_plugin),
7524         (gst_registry_binary_load_feature),
7525         (gst_registry_binary_load_plugin),
7526         (gst_registry_binary_read_cache):
7527           Fix memory leak. Be less verbose in the log.
7528
7529 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7530
7531         * tests/check/elements/.cvsignore:
7532         Add file to cvsignore as commanded.
7533
7534 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7535
7536         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
7537         (mq_dummypad_event), (run_output_order_test):
7538         Use a GStaticMutex to protect all cases where libcheck
7539         fail_if/fail_unless macros might be called from multiple threads
7540         simultaneously to avoid errors like:
7541           "check_pack.c:107: :-1081725400:Bad message type arg"
7542
7543 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7544
7545         * tests/check/pipelines/stress.c: (GST_START_TEST):
7546         Make sure we set the pipeline back to the NULL state before
7547         dropping our final reference.
7548
7549 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7550
7551         * tests/check/elements/tee.c: (GST_START_TEST):
7552         Make the tee stress-test a little less stressful so it doesn't just
7553         time out on slow-machines, and remove a small race when it's starting 
7554         up by adding a get_state() call.
7555
7556 2007-07-16  Stefan Kost  <ensonic@users.sf.net>
7557
7558         * gst/gst.c:
7559           Avoid reading registry twice on startup. Fixes #457322.
7560
7561 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
7562
7563         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7564         * pkgconfig/gstreamer-check.pc.in:
7565         Substitute the CFLAGS for libcheck into our .pc file too so that
7566         dependent modules will pick it up properly if libcheck is installed
7567         into some other prefix.
7568
7569 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
7570
7571         * configure.ac:
7572         Revert the pkg-config check for libcheck, since it pulls in the
7573         wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
7574         a proper solution, either from the check project, or something else.
7575
7576 2007-07-12  Stefan Kost  <ensonic@users.sf.net>
7577
7578         * configure.ac:
7579           Use pkg-config to locate check.
7580
7581 2007-07-10  Stefan Kost  <ensonic@users.sf.net>
7582
7583         * gst/gsttaglist.c:
7584           Fix doc syntax.
7585
7586         * gst/gstutils.c:
7587         * gst/gstutils.h:
7588           Add deprecation guards.
7589
7590         * libs/gst/base/gstcollectpads.h:
7591           Don't document object (this is implicitly private).
7592
7593 2007-07-08  Tim-Philipp Müller  <tim at centricular dot net>
7594
7595         * gst/gststructure.c: (gst_structure_parse_value):
7596           When deserialising foo=bar without a type cast, check if it's a
7597           boolean before falling back to a string type, otherwise things like
7598           audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
7599           because the filtercaps end up having a signed=(string)true field,
7600           which causes problems later when intersection caps.
7601
7602         * tests/check/gst/gststructure.c: (GST_START_TEST):
7603           Add a unit test for this.
7604
7605 2007-07-06  Sebastian Dröge  <slomo@circular-chaos.org>
7606
7607         Reviewed by: Stefan Kost <ensonic@users.sf.net>
7608
7609         * libs/gst/controller/Makefile.am:
7610         * libs/gst/controller/gstcontroller.c:
7611         (gst_controlled_property_add_interpolation_control_source),
7612         (gst_controlled_property_new), (gst_controlled_property_free),
7613         (gst_controller_find_controlled_property),
7614         (gst_controller_new_valist), (gst_controller_new_list),
7615         (gst_controller_new), (gst_controller_remove_properties_valist),
7616         (gst_controller_remove_properties_list),
7617         (gst_controller_remove_properties),
7618         (gst_controller_set_property_disabled),
7619         (gst_controller_set_disabled), (gst_controller_set_control_source),
7620         (gst_controller_get_control_source), (gst_controller_get),
7621         (gst_controller_sync_values), (gst_controller_get_value_array),
7622         (_gst_controller_dispose), (gst_controller_get_type),
7623         (gst_controlled_property_set_interpolation_mode),
7624         (gst_controller_set), (gst_controller_set_from_list),
7625         (gst_controller_unset), (gst_controller_unset_all),
7626         (gst_controller_get_all), (gst_controller_set_interpolation_mode):
7627         * libs/gst/controller/gstcontroller.h:
7628         * libs/gst/controller/gstcontrollerprivate.h:
7629         * libs/gst/controller/gstcontrolsource.c:
7630         (gst_control_source_class_init), (gst_control_source_init),
7631         (gst_control_source_get_value),
7632         (gst_control_source_get_value_array), (gst_control_source_bind):
7633         * libs/gst/controller/gstcontrolsource.h:
7634         * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
7635         (gst_object_get_control_source):
7636         * libs/gst/controller/gstinterpolation.c:
7637         (gst_interpolation_control_source_find_control_point_node),
7638         (gst_interpolation_control_source_get_first_value),
7639         (_interpolate_none_get), (interpolate_none_get),
7640         (interpolate_none_get_boolean_value_array),
7641         (interpolate_none_get_enum_value_array),
7642         (interpolate_none_get_string_value_array),
7643         (_interpolate_trigger_get), (interpolate_trigger_get),
7644         (interpolate_trigger_get_boolean_value_array),
7645         (interpolate_trigger_get_enum_value_array),
7646         (interpolate_trigger_get_string_value_array):
7647         * libs/gst/controller/gstinterpolationcontrolsource.c:
7648         (gst_control_point_free), (gst_interpolation_control_source_reset),
7649         (gst_interpolation_control_source_new),
7650         (gst_interpolation_control_source_set_interpolation_mode),
7651         (gst_interpolation_control_source_bind),
7652         (gst_control_point_compare), (gst_control_point_find),
7653         (gst_interpolation_control_source_set_internal),
7654         (gst_interpolation_control_source_set),
7655         (gst_interpolation_control_source_set_from_list),
7656         (gst_interpolation_control_source_unset),
7657         (gst_interpolation_control_source_unset_all),
7658         (gst_interpolation_control_source_get_all),
7659         (gst_interpolation_control_source_get_count),
7660         (gst_interpolation_control_source_init),
7661         (gst_interpolation_control_source_finalize),
7662         (gst_interpolation_control_source_dispose),
7663         (gst_interpolation_control_source_class_init):
7664         * libs/gst/controller/gstinterpolationcontrolsource.h:
7665         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
7666         API: Refactor GstController into the core controller which can take
7667         a GstControlSource for providing actual values for timestamps.
7668         Implement a interpolation control source and use this for backward
7669         compatibility, deprecate a bunch of functions that are now handled
7670         by GstControlSource or GstInterpolationControlSource.
7671         Make it possible to disable the controller completely or only for
7672         specific properties. Fixes #450711.
7673         * docs/libs/gstreamer-libs-docs.sgml:
7674         * docs/libs/gstreamer-libs-sections.txt:
7675         * docs/libs/gstreamer-libs.types:
7676         Add new functions and classes to the docs.
7677         * tests/check/libs/controller.c: (GST_START_TEST),
7678         (gst_controller_suite):
7679         * tests/examples/controller/audio-example.c: (main):
7680         Port unit test and example to the new API and add some new
7681         unit tests.
7682
7683 2007-07-05  Wim Taymans  <wim.taymans@gmail.com>
7684
7685         Patch by: Mark Nauwelaerts <manauw at skynet be>
7686
7687         * plugins/elements/gstmultiqueue.c:
7688         (gst_multi_queue_get_internal_links), (apply_buffer),
7689         (single_queue_overrun_cb), (gst_single_queue_new):
7690         Implement non-default GstPadIntLinkFunction for multiqueue pads so that
7691         the pipeline layout can be tracked correctly. Fixes #453732.
7692
7693 2007-07-05  Stefan Kost  <ensonic@users.sf.net>
7694
7695         * docs/gst/Makefile.am:
7696         * docs/libs/Makefile.am:
7697         * docs/plugins/Makefile.am:
7698           Simplify --extra-dir as gtkdoc scans recursively.
7699
7700 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
7701
7702         * tools/gst-launch.c: (main):
7703         When we got an error, there is no point in waiting for preroll when
7704         shutting down.
7705
7706 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
7707
7708         * plugins/elements/gsttee.c: (gst_tee_base_init),
7709         (gst_tee_request_new_pad), (gst_tee_release_pad),
7710         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
7711         (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
7712         (gst_tee_chain):
7713         Be a lot smarter when deciding what srcpad to use for proxying
7714         the buffer_alloc. Also handle pad added/removed when doing so.
7715         Fixes #357959.
7716         Keep track of what pads we already pushed on in case we have pads
7717         added/removed while pushing. Fixes #374639 
7718
7719         * tests/check/Makefile.am:
7720         * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
7721         (tee_suite):
7722         Added unit test for pad resync.
7723
7724 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7725
7726         * po/nl.po:
7727         * po/sv.po:
7728           Updated translations.
7729
7730 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7731
7732         translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
7733
7734         * po/LINGUAS:
7735         * po/fi.po:
7736           Added new Finnish translation.
7737
7738 2007-06-28  Wim Taymans  <wim@fluendo.com>
7739
7740         * plugins/elements/gstmultiqueue.c: (apply_buffer),
7741         (single_queue_overrun_cb):
7742         When figuring out when a queue is filled, use our internal time estimate
7743         based on segments, just like check_full does.
7744
7745 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
7746
7747         * gst/gstminiobject.c: (gst_mini_object_get_type):
7748           Remove 3 do-nothing methods.
7749
7750 2007-06-27  Wim Taymans  <wim@fluendo.com>
7751
7752         Patch by: Tim Angus <tim at ngus dot net>
7753
7754         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7755         (gst_capsfilter_set_property):
7756         Take a reference instead of a copy when setting "caps".
7757         Fix documentation to clarify this behaviour. Fixes #449414.
7758
7759 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
7760
7761         * gst/gstindexfactory.c: (gst_index_factory_get_type):
7762         * gst/gstplugin.c: (gst_plugin_init):
7763         * gst/gstpluginfeature.c: (gst_plugin_feature_init):
7764         * gst/gstquery.c: (gst_query_get_type):
7765         * gst/gstregistry.c: (gst_registry_init):
7766         * gst/gsturi.c: (gst_uri_handler_base_init):
7767           Remove empty instance_init() functions to save relocs and lessen the
7768           noise. Remove some of the function prototypes that are doubled by
7769           G_DEFINE_TYPE.
7770           
7771 2007-06-27  Wim Taymans  <wim@fluendo.com>
7772
7773         Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
7774
7775         * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
7776         Add peer and direction in the XML serialisation of ghostpads.
7777         Fixes #449226.
7778
7779 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
7780
7781         * configure.ac:
7782           Preserve useful information, thanks Tim.
7783
7784 2007-06-26  Jan Schmidt  <thaytan@noraisin.net>
7785
7786         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
7787         (gst_single_queue_flush), (apply_segment), (apply_buffer),
7788         (gst_single_queue_push_one), (gst_multi_queue_loop),
7789         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
7790         (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
7791         (compute_high_id), (gst_single_queue_new):
7792         * plugins/elements/gstmultiqueue.h:
7793         Take the multiqueue lock when updating the fill level so we don't get
7794         confused. 
7795
7796         After applying a buffer or event on the src pad segment, make sure to
7797         call gst_data_queue_limits_changed() to get the data queue to unblock
7798         and check the filled state again.
7799         
7800         Rework the not-linked pad handling so the logic is that not-linked 
7801         pads can push as fast as they like, but only so they never get 
7802         ahead of any linked pads.
7803
7804         * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
7805         (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
7806         (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
7807
7808         Add a test to check that not-linked pads always stay behind
7809         linked pads.
7810
7811         Fixes: #430682
7812
7813 2007-06-26  Jan Schmidt  <thaytan@mad.scientist.com>
7814
7815         * docs/random/release:
7816           Some updates to the release procedure.
7817
7818 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
7819
7820         * gst/gstelementfactory.c: (__gst_element_details_clear):
7821           Microoptimization that saves stunning 80 bytes.
7822
7823 2007-06-25  Stefan Kost  <ensonic@users.sf.net>
7824
7825         * docs/plugins/gstreamer-plugins.args:
7826         * docs/plugins/inspect/plugin-coreelements.xml:
7827         * docs/plugins/inspect/plugin-coreindexers.xml:
7828           Update docs with caps info.
7829
7830 2007-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7831
7832         * po/it.po:
7833           Updated Italian translation.
7834
7835 2007-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7836
7837         * ChangeLog:
7838         * po/vi.po:
7839           Update Vietnamese translations.
7840
7841 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
7842
7843         * libs/gst/base/gstbasesink.c:
7844           Remove unused signal enum.
7845
7846 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
7847
7848         * docs/gst/gstreamer-sections.txt:
7849         * gst/gstelement.c:
7850         * gst/gstutils.c: (gst_type_register_static_full):
7851         Beef up and include the docs for gst_type_register_static_full and
7852         gst_element_class_set_details_simple and add the API keyword
7853         in the ChangeLog.
7854
7855 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
7856
7857         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
7858         (update_time_level), (gst_single_queue_push_one),
7859         (gst_multi_queue_chain), (gst_multi_queue_sink_event),
7860         (single_queue_overrun_cb), (single_queue_underrun_cb),
7861         (single_queue_check_full):
7862         Fix setting max-* properties after adding queues.
7863         Use IS_FILLED for checking visible items.
7864         Signal overrun if multiple queues overrun.
7865         Add extra debug output.
7866         Patch by: Wim Taymans <wim@fluendo.com>
7867
7868 2007-06-21  Stefan Kost  <ensonic@users.sf.net>
7869
7870         * gst/gstelement.c: (gst_element_class_set_details_simple):
7871         * gst/gstelement.h:
7872         * gst/gstutils.c: (gst_type_register_static_full):
7873         * gst/gstutils.h:
7874         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
7875         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
7876         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
7877         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
7878         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
7879         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
7880         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
7881         * plugins/elements/gstidentity.c: (gst_identity_base_init):
7882         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
7883         * plugins/elements/gstqueue.c: (gst_queue_base_init),
7884         (apply_buffer), (gst_queue_chain):
7885         * plugins/elements/gsttee.c: (gst_tee_base_init):
7886         * plugins/elements/gsttypefindelement.c:
7887         (gst_type_find_element_base_init),
7888         (gst_type_find_element_class_init):
7889           Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
7890           API: add gst_type_register_static_full
7891           API: add gst_element_class_set_details_simple
7892
7893 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
7894
7895         * docs/pwg/advanced-types.xml:
7896           Fix typo in iana.org URI.
7897
7898 2007-06-19  Andy Wingo  <wingo@pobox.com>
7899
7900         * tests/check/pipelines/simple-launch-lines.c
7901         (test_state_change_returns): Enable pull-mode tests now that
7902         basesink has been fixed.
7903
7904         * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
7905         Changed from gst_base_sink_is_prerolled, reversing the sense of
7906         the return value. Returns FALSE also if the sink is in pull mode,
7907         in which case it needs no preroll.
7908         (gst_base_sink_query, gst_base_sink_change_state): Update for
7909         needs_preroll change.
7910         (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
7911         chaining up, in which we return SUCCESS directly if we activated
7912         in pull mode instead of ASYNC. Involves countering an async_start
7913         message sent before chaining up; not sure if this is correct, in
7914         an ideal world we only send async-start when activating in push
7915         mode.
7916
7917         * tests/check/pipelines/simple-launch-lines.c
7918         (test_state_change_returns): New test, partially disabled until
7919         basesink is fixed.
7920
7921 2007-06-19  Wim Taymans  <wim@fluendo.com>
7922
7923         * plugins/elements/gstmultiqueue.c: (apply_buffer),
7924         (gst_multi_queue_sink_event):
7925         Fix event leak.
7926
7927 2007-06-19  Wim Taymans  <wim@fluendo.com>
7928
7929         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
7930         (gst_bin_change_state_func), (bin_push_state_continue),
7931         (bin_handle_async_start), (bin_handle_async_done),
7932         (gst_bin_handle_message_func):
7933         Move the common code for posting state-change messages into
7934         one function.
7935         Broadcast the state signal after we posted the messages.
7936         Mark the bin as busy when it's doing a state-change.
7937         Make sure async-start/done messages don't interfere with the bin's
7938         state when it's busy.
7939         After the state change, let the bin check which elements completed the
7940         state change while it was busy so that it can update its state.
7941
7942 2007-06-19  Jan Schmidt  <thaytan@mad.scientist.com>
7943
7944         * docs/random/release:
7945         Add a note about updating the doap file to the release checklist
7946
7947 2007-06-18  Wim Taymans  <wim@fluendo.com>
7948
7949         * plugins/elements/gstmultiqueue.c: (apply_buffer),
7950         (gst_single_queue_push_one), (gst_multi_queue_chain),
7951         (gst_multi_queue_sink_event):
7952         Make sure we don't reference the buffer/event after we have given away
7953         ownership in the queue.
7954
7955 2007-06-18  Wim Taymans  <wim@fluendo.com>
7956
7957         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
7958         (gst_multi_queue_chain), (gst_multi_queue_sink_event):
7959         Update queue state _after_ adding the item in the queue because else we
7960         could end up being full without the element added yet.
7961
7962 2007-06-18  Wim Taymans  <wim@fluendo.com>
7963
7964         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
7965         (gst_bin_remove_func), (gst_bin_get_state_func),
7966         (gst_bin_element_set_state), (gst_bin_continue_func),
7967         (bin_push_state_continue), (bin_handle_async_start),
7968         (bin_handle_async_done), (gst_bin_handle_message_func):
7969         * gst/gstbin.h:
7970         Immediatly commit the toplevel bin state when receiving an async-done
7971         message. This enables us to avoid spawning a thread to commit the state
7972         in some common cases and it also avoids some races.
7973         Avoid spawning a state thread when adding/removing async elements to a
7974         toplevel bin. Instead we immediatly update the bin state.
7975         Get rid of iterating all the children when getting the state in the bin
7976         because it is now always up-to-date.
7977         Fix bug where locked elements would always return _SUCCESS even it they
7978         returned NO_PREROLL before being locked.
7979         Fix the order of the state_change, async-start/done messages that was
7980         sometimes incorrect.
7981         Mark the state_dirty field as deprecated, we don't need it anymore as we
7982         are always up-to-date.
7983
7984         * gst/gstelement.c: (gst_element_get_state_func),
7985         (gst_element_continue_state):
7986         Small debug inprovements.
7987         Return the previous element state return when nothing is pending instead
7988         of blindly returning SUCCESS.
7989
7990         * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
7991         (gst_sinks_suite):
7992         Add a whole bunch of new testcases.
7993
7994 2007-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
7995
7996         * po/uk.po:
7997         * po/vi.po:
7998           Update translations.
7999
8000 2007-06-15  Jan Schmidt  <thaytan@mad.scientist.com>
8001
8002         * gst/gstpad.c:
8003         Fix typo in the docs.
8004
8005 2007-06-15  Wim Taymans  <wim@fluendo.com>
8006
8007         * docs/libs/gstreamer-libs-sections.txt:
8008         Add docs for new methods.
8009
8010 2007-06-15  Wim Taymans  <wim@fluendo.com>
8011
8012         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
8013         (gst_multi_queue_item_new):
8014         Don't use GSlice because we don't depend on >= 2.10 yet.
8015
8016 2007-06-15  Wim Taymans  <wim@fluendo.com>
8017
8018         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
8019         (update_time_level), (apply_segment), (apply_buffer),
8020         (gst_single_queue_push_one), (gst_multi_queue_item_new),
8021         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
8022         (gst_multi_queue_sink_event), (single_queue_overrun_cb),
8023         (single_queue_underrun_cb), (single_queue_check_full):
8024         Remove debug printf.
8025
8026 2007-06-15  Wim Taymans  <wim@fluendo.com>
8027
8028         * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
8029         (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
8030         (gst_data_queue_set_flushing), (gst_data_queue_push),
8031         (gst_data_queue_pop), (gst_data_queue_drop_head),
8032         (gst_data_queue_limits_changed), (gst_data_queue_get_level):
8033         * libs/gst/base/gstdataqueue.h:
8034         Various cleanups.
8035         Added methods to get the current levels and to inform the queue that the
8036         'full' limits changed.
8037
8038         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
8039         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
8040         (gst_single_queue_flush), (update_time_level), (apply_segment),
8041         (apply_buffer), (gst_single_queue_push_one),
8042         (gst_multi_queue_item_steal_object),
8043         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
8044         (gst_multi_queue_loop), (gst_multi_queue_chain),
8045         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
8046         (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
8047         (gst_multi_queue_src_query), (single_queue_overrun_cb),
8048         (single_queue_underrun_cb), (single_queue_check_full),
8049         (gst_single_queue_new):
8050         Keep track of time in the queue by measuring the difference between
8051         running_time on input and output. This gives more accurate results and
8052         can compensate for segments correctly.
8053         Make a queue by default only 5 buffers deep. We will now increase the
8054         buffer size depending on the filledness of the other queues.
8055         Factor out commong flush code.
8056         Make sure we don't add additional refcounts to buffers when we can avoid
8057         it.
8058         Propagate GstFlowReturn differently.
8059         Use GSlice for intermediate GstMultiQueueItems.
8060         Keep track of EOS.
8061         Resize queues on over and underruns based on filled level of other
8062         queues.
8063         When checking if the queue is filled, prefer to measure in time if we
8064         can and fall back to bytes when no time is known.
8065
8066         * plugins/elements/gstqueue.c:
8067         Fix return value.
8068
8069 2007-06-15  Wim Taymans  <wim@fluendo.com>
8070
8071         * libs/gst/base/gstbasetransform.c:
8072         (gst_base_transform_sink_event):
8073         Work around the brokenness of the event vmethod in basetransform. Prefer
8074         to return TRUE when the subclass returned FALSE (meaning don't forward
8075         the event). 
8076
8077         * libs/gst/base/gstbasetransform.h:
8078         Clarify the docs.
8079
8080 2007-06-15  Wim Taymans  <wim@fluendo.com>
8081
8082         * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
8083         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
8084         (gst_base_src_default_query), (gst_base_src_get_range),
8085         (gst_base_src_start):
8086         * tests/check/pipelines/parse-launch.c: (setup_pipeline):
8087         Improve debugging.
8088
8089 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
8090
8091         * docs/pwg/advanced-types.xml:
8092           Added more formats to caps table.
8093
8094 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
8095
8096         * tools/gst-launch.c: (main):
8097           Remove crufy code. GOption does not need this workaround.
8098
8099 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
8100
8101         * libs/gst/controller/gstcontroller.c:
8102         (gst_controlled_property_set_interpolation_mode):
8103           Fix wrong getter for enums in controller.
8104
8105 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8106
8107         * libs/gst/check/gstcheck.c: (gst_check_init):
8108           Intercept criticals and warnings in the Gst-Phonon log domain, so
8109           ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
8110           well.
8111         
8112 2007-06-14  Edward Hervey  <edward@fluendo.com>
8113
8114         * gst/gstparamspecs.c: (_gst_param_fraction_validate):
8115         Since this file doesn't include "gst.h" it will not go through the
8116         macros that disable GST_LOG if debugging was disabled.
8117
8118 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8119
8120         * libs/gst/check/Makefile.am:
8121         * libs/gst/check/gstcheck.h:
8122         * pkgconfig/gstreamer-check-uninstalled.pc.in:
8123         * pkgconfig/gstreamer-check.pc.in:
8124           Ugly 'fix' for the controller unit test on the p5 bot: in
8125           fail_unless_equals_float() check whether the values are 'almost
8126           equal' by allowing a small absolute error, which should be good
8127           enough for our use cases (normal numbers and values close to 0).
8128           Proper fixage left to floating point arithmetic aficionados.
8129
8130 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
8131
8132         * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
8133         (gst_base_sink_render_object), (gst_base_sink_get_position):
8134           Add two breaks thats where missing.
8135
8136 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8137
8138         * docs/libs/gstreamer-libs-sections.txt:
8139         * libs/gst/check/gstcheck.h:
8140           API: add fail_unless_equals_float() and assert_equals_float().
8141           Add documentation for some of the macros.
8142
8143         * tests/check/libs/controller.c: (GST_START_TEST):
8144           Use newly-added asserts.
8145
8146 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
8147
8148         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
8149           Show the caps change in the log to help spotting the case of not
8150           exactly matching caps.
8151
8152 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8153
8154         * docs/pwg/building-boiler.xml:
8155           Fix typos, spotted by Thijs Vermeir (#447190).
8156
8157 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8158
8159         * docs/plugins/tmpl/.cvsignore:
8160         Ignore file to keep the buildbots happy
8161
8162 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8163
8164         * docs/plugins/Makefile.am:
8165         * docs/plugins/gstreamer-plugins-docs.sgml:
8166         * docs/plugins/gstreamer-plugins-sections.txt:
8167         Pull fdsink into the docs too.
8168
8169 2007-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
8170
8171         * libs/gst/controller/gstinterpolation.c:
8172         Actually use the new functions with min/max checks for the trigger and
8173         none interpolation modes for get() and get_value_array() instead of
8174         just the latter.
8175
8176 2007-06-10  Sebastian Dröge  <slomo@circular-chaos.org>
8177
8178         * libs/gst/controller/gstcontroller.c:
8179         (gst_controlled_property_free):
8180         Unset the minimum and maximum GValues when freeing the corresponding
8181         GstControllerProperty struct.
8182
8183 2007-06-09  Sebastian Dröge  <slomo@circular-chaos.org>
8184
8185         * libs/gst/controller/gstcontroller.c:
8186         (gst_controlled_property_new):
8187         * libs/gst/controller/gstcontrollerprivate.h:
8188         * libs/gst/controller/gstinterpolation.c:
8189         (gst_controlled_property_find_control_point_node),
8190         (interpolate_none_get), (interpolate_none_get_enum_value_array),
8191         (interpolate_none_get_string_value_array),
8192         (interpolate_trigger_get),
8193         (interpolate_trigger_get_enum_value_array),
8194         (interpolate_trigger_get_string_value_array):
8195         Protect against values larger or smaller than the minimum or maximum
8196         allowed value for the property when using values that can be compared.
8197
8198         Optimize trigger interpolator a bit by taking the last requested value
8199         into account instead of always looping through the complete list.
8200
8201         Fix coding style a bit, everywhere else we use "return foo" instead
8202         of "return (foo)".
8203         
8204         * tests/check/libs/controller.c: (GST_START_TEST),
8205         (gst_controller_suite):
8206         Add unit test for the protection against too large or too small
8207         values.
8208
8209 2007-06-08  Sebastian Dröge  <slomo@circular-chaos.org>
8210
8211         * docs/random/slomo/controller.txt:
8212         Add some thoughts about the future of the controller.
8213
8214 2007-06-08  Wim Taymans  <wim@fluendo.com>
8215
8216         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
8217         Don't overflow in retimestamping code.
8218
8219 2007-06-07  Sebastien Moutte  <sebastien@moutte.net>
8220
8221         * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
8222         Use gst_util_guint64_to_gdouble for conversions.
8223         * win32/common/libgstreamer.def:
8224         Add new exported functions.
8225
8226 2007-06-07  Tim-Philipp Müller  <tim at centricular dot net>
8227
8228         * gst/gstutils.c:
8229           Small docs addition.
8230
8231 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8232
8233         * README:
8234           Remove that test line again.
8235
8236 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8237
8238         * README:
8239           Test commit mail sending.
8240
8241 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8242
8243         * configure.ac:
8244           Fix typo and test commit mail sending.
8245
8246 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8247
8248         * tests/examples/controller/audio-example.c:
8249           Improve comment and test commit mail sending.
8250
8251 2007-06-07  Wim Taymans  <wim@fluendo.com>
8252
8253         * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
8254         (gst_bin_remove_func), (gst_bin_element_set_state),
8255         (bin_handle_async_start), (bin_handle_async_done),
8256         (gst_bin_handle_message_func):
8257         Add helper function to find messages.
8258         Generate the async-done messages together with the state change
8259         messages.
8260         Small cleanups in handling toplevel bins.
8261
8262 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8263
8264         * libs/gst/base/gstdataqueue.c:
8265         * libs/gst/base/gstdataqueue.h:
8266         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
8267         (gst_multi_queue_item_new), (gst_multi_queue_chain),
8268         (gst_multi_queue_sink_event):
8269         * tests/check/elements/multiqueue.c: (multiqueue_suite):
8270           Fix multiqueue leaking buffers and events when downstream or the
8271           queue are flushing. Make refcounting assumptions explicit and
8272           document them (shouldn't break existing code that uses it other than
8273           maybe leak miniobjects, but that already happens anyway). Add unit
8274           test for the most common flushing case. Fixes #423700.
8275           
8276 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
8277
8278         * libs/gst/controller/gstcontroller.c:
8279         Clarify docs: The get_all, get_value_array(s) functions
8280         don't modify the GObject properties.
8281
8282 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
8283
8284         * libs/gst/controller/gstcontroller.c:
8285         (gst_controlled_property_set_interpolation_mode),
8286         (gst_controlled_property_prepend_default),
8287         (gst_controlled_property_new), (gst_controller_set_unlocked),
8288         (gst_controller_set), (gst_controller_set_from_list),
8289         (gst_controller_unset), (gst_controller_unset_all):
8290         * libs/gst/controller/gstcontrollerprivate.h:
8291         * libs/gst/controller/gstinterpolation.c:
8292         Factor out the 'set' logic into gst_controller_set_unlocked for the
8293         gst_controller_set and gst_controller_set_from_list functions.
8294
8295         To make life of the interpolators easier always add a control point
8296         at timestamp zero with the default value.
8297
8298         In the linear interpolator make things more obvious by better variable
8299         naming (slope).
8300
8301         Implement cubic interpolation mode (by using a natural cubic spline)
8302         and map the quadratic interpolation mode to this too (as quadratic
8303         doesn't make much sense, see discussion on the list).
8304
8305         * tests/check/libs/controller.c: (GST_START_TEST),
8306         (gst_controller_suite):
8307         Add unit test for the cubic interpolation mode and check everywhere
8308         if the interpolation mode could be set as expected.
8309
8310 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8311
8312         * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
8313           Don't use GLib-2.10 functions, we still depend on
8314           GLib-how-old-is-it-again-2.8.
8315
8316 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8317
8318         * docs/gst/gstreamer-sections.txt:
8319         * gst/Makefile.am:
8320         * gst/gst.c:
8321         * gst/gst.h:
8322         * gst/gstparamspecs.c: (_gst_param_fraction_init),
8323         (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
8324         (_gst_param_fraction_values_cmp),
8325         (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
8326         * gst/gstparamspecs.h:
8327         * gst/gstvalue.c:
8328         * tests/check/Makefile.am:
8329         * tests/check/gst/.cvsignore:
8330         * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
8331         (gst_dummy_obj_class_init), (gst_dummy_obj_init),
8332         (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
8333         (GST_START_TEST), (gst_param_spec_suite):
8334           API: add GstParamSpecFraction, so elements can have fraction
8335           properties without lots of painful string parsing (#444648).
8336
8337 2007-06-05  Wim Taymans  <wim@fluendo.com>
8338
8339         * gst/gstobject.c: (gst_object_class_init):
8340         Fix signal signature.
8341
8342         * gst/gstsegment.c:
8343         Add small clarification in the api docs.
8344
8345         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
8346         States are protected with object lock.
8347
8348 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
8349
8350         * AUTHORS:
8351         I should probably be listed as an author by now.
8352
8353         * docs/random/release:
8354         Update the release doc
8355
8356 2007-06-05  Tim-Philipp Müller  <tim at centricular dot net>
8357
8358         * gst/gstvalue.c:
8359           Make docs for gst_value_compare() mention return enums that
8360           actually exist.
8361
8362 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
8363
8364         * configure.ac:
8365           Back to CVS
8366
8367 === release 0.10.13 ===
8368
8369 2007-06-05  Jan Schmidt <thaytan@mad.scientist.com>
8370
8371         * configure.ac:
8372           releasing 0.10.13, "With or without you"
8373
8374 2007-05-25  Wim Taymans  <wim@fluendo.com>
8375
8376         * gst/gstbin.c: (bin_handle_async_done):
8377         Make sure that the child bin stops after completing the async state
8378         change so that the parent can continue the state change to PLAYING.
8379         Fixes #441159.
8380
8381 2007-05-25  Wim Taymans  <wim@fluendo.com>
8382
8383         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8384         (unref_data), (gst_collect_pads_remove_pad),
8385         (gst_collect_pads_check_pads):
8386         Use additional refcounting to avoid crashes when dynamically adding and
8387         removing pads. Fixes #420206.
8388
8389 2007-05-24  Wim Taymans  <wim@fluendo.com>
8390
8391         * tools/gst-launch.c: (event_loop):
8392         When buffering goes from a two digit to a single digit number, make sure
8393         to remove the old second digit by writing a blank over it.
8394
8395 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
8396
8397         * libs/gst/base/gstdataqueue.c:
8398           Eliminate tabs and trailing comma in enum list; fix some typos.
8399
8400 2007-05-24  Wim Taymans  <wim@fluendo.com>
8401
8402         * tests/check/gst/gstbin.c: (GST_START_TEST):
8403         Allow refcount of 3 and 4 because some state thread might still be busy
8404         with it.
8405
8406 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
8407
8408         * plugins/elements/Makefile.am:
8409         * plugins/elements/gstmultiqueue.h:
8410         * plugins/elements/gstqueue.h:
8411           These are not installed headers, no need for padding.
8412
8413 2007-05-24  Wim Taymans  <wim@fluendo.com>
8414
8415         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
8416         (gst_bin_continue_func):
8417         Enable latency for next release.
8418         Restore STATE_LOCK around recalc_state that was left out during the
8419         rewrite and could result in racy behaviour when _get_state and
8420         recalc_state are run concurrently. See #440463.
8421
8422 2007-05-23  Wim Taymans  <wim@fluendo.com>
8423
8424         * tests/check/gst/gstsystemclock.c: (store_callback),
8425         (GST_START_TEST):
8426         Improve test_async_order to also work when both timers are already
8427         expired when we get scheduled to check it.
8428
8429 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8430
8431         * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
8432         (gst_bin_set_property), (gst_bin_get_property),
8433         (gst_bin_remove_func), (gst_bin_handle_message_func):
8434         * gst/gstbin.h:
8435           'private' is a c++ keyword, let's not use that in header files,
8436           otherwise c++ compilers will throw a tantrum.
8437
8438 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8439
8440         * plugins/elements/gstelements.c:
8441         * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
8442         (gst_file_sink_get_current_offset):
8443         * plugins/indexers/gstindexers.c: (plugin_init):
8444           Use #ifdef for HAVE_XYZ for consistency.
8445
8446         * tests/check/Makefile.am:
8447         * tests/check/elements/.cvsignore:
8448         * tests/check/elements/filesink.c: (setup_filesink),
8449         (cleanup_filesink), (GST_START_TEST), (filesink_suite):
8450           Add some unit tests for filesink.
8451
8452 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8453
8454         Patch by: Mark Nauwelaerts <manauw at skynet be>
8455
8456         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
8457         (gst_file_sink_query), (gst_file_sink_do_seek),
8458         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8459         * plugins/elements/gstfilesink.h:
8460           Fix position reporting; rename data_written member to current_pos to
8461           reflect its real meaning (fixes #412648).
8462
8463 2007-05-22  Edward Hervey  <edward@fluendo.com>
8464
8465         * docs/gst/gstreamer-sections.txt:
8466         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
8467         (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
8468         (gst_bin_remove_func), (gst_bin_handle_message_func):
8469         * gst/gstbin.h:
8470         Add a property for bins that handle the state change of their childs.
8471         Fixes #435880
8472
8473 2007-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
8474
8475         * libs/gst/controller/gstinterpolation.c:
8476         Use an array of the correct type when using _get_value_array with
8477         linear interpolation.
8478
8479 2007-05-22  Stefan Kost  <ensonic@users.sf.net>
8480
8481         * gst/gstelement.c (gst_element_requires_clock,
8482           gst_element_provides_clock, gst_element_request_pad,
8483           gst_element_class_set_details, gst_element_class_set_details_simple,
8484           gst_element_default_send_event, gst_element_abort_state,
8485           gst_element_continue_state, gst_element_set_state,
8486           gst_element_set_state_func, iterator_activate_fold_with_resync):
8487         * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
8488           gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
8489           gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
8490           gst_pad_get_range, gst_pad_pull_range):
8491         * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
8492           GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
8493           GstPadActivateModeFunction, GstPadChainFunction,
8494           GstPadGetCapsFunction, GstPadAcceptCapsFunction,
8495           GstPadFixateCapsFunction, GstPadTemplate):
8496         * gst/gstpipeline.c (gst_pipeline_change_state,
8497           gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
8498           gst_pipeline_set_clock, gst_pipeline_auto_clock,
8499           gst_pipeline_get_delay):
8500           Whitespace and docs fixes.
8501
8502 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8503
8504         * libs/gst/controller/gstinterpolation.c:
8505         (interpolate_trigger_get_enum_value_array),
8506         (interpolate_trigger_get_string_value_array):
8507         Add support for retrieving value arrays when using the trigger
8508         interpolation mode. 
8509
8510 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8511
8512         * libs/gst/controller/gstcontroller.c:
8513         (gst_controller_get_value_array):
8514         * libs/gst/controller/gstcontroller.h:
8515         Clarify the docs of gst_controller_get_value_array(): The array where
8516         the values should be written to must be allocated as there seems to be
8517         no way to get the size of a random GType. This doesn't change any
8518         behaviour. Also fix some typos all over the place and remove an unused,
8519         commented function that is not necessary as g_object_set() could be
8520         used instead.
8521         * tests/check/libs/controller.c: (GST_START_TEST),
8522         (gst_controller_suite):
8523         Add unit test for gst_controller_get_value_array().
8524
8525 2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>
8526
8527         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
8528
8529         Disable part of the gst_buffer_try_new_and_alloc test, because
8530         it can happily succeed on 64-bit systems where there's more address
8531         space available.
8532
8533 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8534
8535         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
8536         Add unit test for the improved caps checking from bug #421543.
8537
8538 2007-05-21  Wim Taymans  <wim@fluendo.com>
8539
8540         * docs/design/part-synchronisation.txt:
8541         Small addition.
8542
8543         * gst/gstbin.c: (gst_bin_query):
8544         * plugins/elements/gstqueue.c: (apply_segment):
8545         Improve debugging.
8546
8547         * gst/gstmessage.h:
8548         Improve docs.
8549
8550 2007-05-21  Wim Taymans  <wim@fluendo.com>
8551
8552         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
8553         (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
8554         (gst_pad_configure_src):
8555         Added simple version of improved caps checking. It was previously
8556         assumed that a setcaps function would check the validity of the caps but
8557         people prefer us to check caps against the template automatically. 
8558         Fixes #421543.
8559
8560 2007-05-21  Wim Taymans  <wim@fluendo.com>
8561
8562         * libs/gst/base/gstbasetransform.h:
8563         Fix macro for locking/unlocking the transform lock.
8564
8565 2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
8566
8567         * docs/plugins/tmpl/.cvsignore:
8568           Ignore more.
8569
8570 2007-05-18  Edward Hervey  <edward@fluendo.com>
8571
8572         * plugins/elements/gstqueue.c: (gst_queue_loop):
8573         Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
8574         for the subtle art of warning a potentially blocking thread that it
8575         should check the source pad return value, and relay the information
8576         upstream.
8577
8578 2007-05-18  Edward Hervey  <edward@fluendo.com>
8579
8580         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
8581         Release the queue lock !
8582
8583 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8584
8585         * docs/libs/gstreamer-libs-sections.txt:
8586         Add the two new controller functions to the appropiate places.
8587
8588 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8589
8590         reviewed by: Stefan Kost <ensonic@users.sf.net>
8591
8592         * libs/gst/controller/gstcontroller.c:
8593         (gst_controller_suggest_next_sync), (gst_controller_sync_values),
8594         (_gst_controller_get_property), (_gst_controller_set_property),
8595         (_gst_controller_init), (_gst_controller_class_init):
8596         * libs/gst/controller/gstcontroller.h:
8597         * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
8598         (gst_object_get_control_rate), (gst_object_set_control_rate):
8599         API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
8600         Add API that provides sync suggestion timestamps for elements that
8601         call gst_object_sync_values() from which those elements can subdivide
8602         their processing loop to get the best results for the controlled
8603         properties. For now it just suggests last_sync + control_rate as
8604         new timestamp but this will be improved in the future.
8605
8606         While doing that change the control-rate property to a GstClockTime
8607         from guint and change it's meaning from samples to nanoseconds as
8608         the GstController doesn't know anything about sampling rate. Strictly
8609         speaking this breaks ABI but as the control-rate property didn't do
8610         anything in the past and as such couldn't be used this should be no
8611         problem.        
8612
8613 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8614
8615         reviewed by: Stefan Kost <ensonic@users.sf.net>
8616
8617         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
8618         (gst_controller_unset_all):
8619         * libs/gst/controller/gstcontrollerprivate.h:
8620         * libs/gst/controller/gstinterpolation.c:
8621         (gst_controlled_property_find_control_point_node):
8622         Save last synced value from the list to continue searching from there
8623         in future syncs. This speeds everything up a bit.
8624         
8625 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8626
8627         reviewed by: Stefan Kost <ensonic@users.sf.net>
8628
8629         * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
8630         (gst_control_point_find), (gst_controlled_property_new),
8631         (gst_control_point_free), (gst_controlled_property_free),
8632         (gst_controller_set), (gst_controller_set_from_list),
8633         (gst_controller_unset), (gst_controller_unset_all),
8634         (gst_controller_sync_values):
8635         * libs/gst/controller/gstcontroller.h:
8636         * libs/gst/controller/gstcontrollerprivate.h:
8637         * libs/gst/controller/gstinterpolation.c:
8638         (gst_controlled_property_find_control_point_node),
8639         (interpolate_none_get), (interpolate_trigger_get):
8640         Add a new private GstControlPoint struct which "inherits" from
8641         GstTimedValue to allow different interpolators to store internal
8642         values next to each control point. From the outside everything is
8643         still a GstControlPoint so we don't loose binary compatibility.
8644         Also fixup all the GValue handling to not leak GValues or list nodes.
8645         * tests/check/libs/controller.c: (GST_START_TEST):
8646         Free the list nodes and GValues in the controller_misc test.
8647
8648 2007-05-17  Edward Hervey  <edward@fluendo.com>
8649
8650         * gst/gstsegment.c:
8651         Small doc fix.
8652
8653 2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
8654
8655         * gst/gstplugin.c: (gst_plugin_load_file):
8656           If we fail to load a plugin because of unresolved symbols or missing
8657           libraries and spew a warning to stderr, we may just as well mention
8658           which plugin it was that failed to load.
8659
8660 2007-05-13  David Schleef  <ds@schleef.org>
8661
8662         * docs/Makefile.am: the gtk-doc makefile snippet correctly
8663           handles the case when ENABLE_GTK_DOC is false, and installs
8664           the prebuilt documentation.  So gtk-doc subdirs are 
8665           unconditionally enabled.  Fixes: #349099.
8666
8667 2007-05-13  David Schleef  <ds@schleef.org>
8668
8669         * gst/gstutils.h: Reword some documentation.
8670
8671 2007-05-12  David Schleef  <ds@schleef.org>
8672
8673         * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
8674           do anything with the passed "module" parameter, so remove it.
8675           Allows removal of additional vestigal code.
8676
8677 2007-05-12  David Schleef  <ds@schleef.org>
8678
8679         * gst/gstplugin.c:
8680           Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
8681           Switch to using g_stat() because it's more portable.
8682
8683 2007-05-12  David Schleef  <ds@schleef.org>
8684
8685         * gst/gst.c:
8686           Add GST_DISABLE_OPTION_PARSING, in order to disable option
8687           parsing for embedded systems.
8688         * gst/gstelementfactory.c:
8689           Allow gst_element_register() to be called with plugin==NULL.
8690           Did nobody notice that static elements were broken?
8691
8692 2007-05-12  Wim Taymans  <wim@fluendo.com>
8693
8694         * tools/gst-launch.c: (event_loop):
8695         Give more interesting info when buffering starts and stops.
8696         Fix case where buffering starts but we fail to update the buffering flag
8697         because the target state is not PLAYING.
8698
8699 2007-05-12  Wim Taymans  <wim@fluendo.com>
8700
8701         * plugins/elements/gstqueue.c: (gst_queue_init),
8702         (gst_queue_finalize), (update_time_level), (apply_segment),
8703         (apply_buffer), (gst_queue_locked_flush),
8704         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
8705         (gst_queue_handle_sink_event), (gst_queue_chain),
8706         (gst_queue_push_one), (gst_queue_loop):
8707         * plugins/elements/gstqueue.h:
8708         Refactor an cleanup queue a bit.
8709         Do better time level calculations that also work when the srcpad is not
8710         yet running.
8711         Remove some unneeded debug lines.
8712
8713         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
8714         Added testcase for time level measurement.
8715         Try to make some stuff more racefree.
8716
8717 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
8718
8719         * gst/gsturi.c: (gst_element_make_from_uri):
8720           Don't leak plugin feature.
8721
8722         * tests/check/Makefile.am:
8723         * tests/check/gst/.cvsignore:
8724         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
8725           Add brain-dead unit test.
8726
8727 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
8728
8729         Patch by: Jeroen Wouters <woutersj at gmail com>
8730
8731         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
8732           Treat protocol strings in a case-insensitive way (#437563).
8733
8734 2007-05-11  Michael Smith <msmith@fluendo.com>
8735
8736         * gst/gstplugin.c: (gst_plugin_load_file):
8737         * gst/gstregistry.c: (gst_registry_scan_path_level):
8738           Don't print a g_warning for any failure to load a shared object.
8739           Instead, push this down into gstplugin.c, and warn _only_ if we
8740           failed to open the module (i.e. failure to link).
8741           Avoids warnings on normal, working, non-plugin .so files.
8742
8743 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
8744
8745         * gst/gstplugin.c (gst_plugin_load_file):
8746         * gst/gstregistry.c (GST_CAT_DEFAULT,
8747           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
8748           Print a g_warning if there was an error when loading a plugins during
8749           registry scan. The shuld help beginners starting with gst-plugin
8750           template.
8751
8752 2007-05-10  Wim Taymans  <wim@fluendo.com>
8753
8754         * plugins/elements/gstqueue.c: (gst_queue_class_init),
8755         (update_time_level), (gst_queue_locked_flush),
8756         (gst_queue_handle_sink_event), (gst_queue_chain),
8757         (gst_queue_push_one), (gst_queue_loop):
8758         * plugins/elements/gstqueue.h:
8759         Be smarter when calculating the current amount of data in the queue by
8760         measuring the difference between start and end timestamps (in running
8761         time) inside the queue. Fixes #432876.
8762         API: GstQueue::pushing to notify elements that we are pushing data again
8763         since the running signal is rather broken for this purpose.
8764
8765 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
8766
8767         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
8768           gst_queue_base_init, gst_queue_init):
8769           use GST_BOILERPLATE
8770
8771 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
8772
8773         * win32/common/libgstreamer.def:
8774         Add new exported functions.
8775         * win32/vs6/grammar.dsp:
8776         Use grammar pre-generated files.
8777
8778 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
8779
8780         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
8781
8782         * gst/Makefile.am:
8783         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
8784         * gst/gstparse.h:
8785         * gst/gstutils.c: (gst_parse_bin_from_description):
8786         * gst/gstutils.h:
8787           Maintain API and ABI when --disable-parse is used. Now that
8788           we have an appropriate error code, we can just return NULL and the
8789           appropriate error when gst_parse_launch() is used despite it having
8790           been disabled (#342564).
8791
8792         * tests/check/Makefile.am:
8793         * tests/check/pipelines/.cvsignore:
8794         * tests/check/pipelines/parse-disabled.c:
8795           Make sure these functions exist and return NULL plus a GError when
8796           --disable-parse is used.
8797
8798 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
8799
8800         * tests/benchmarks/complexity.c: (main):
8801         * tests/benchmarks/mass-elements.c: (main):
8802           Set a good example and don't leak messages.
8803
8804 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
8805
8806         * docs/gst/Makefile.am:
8807         * docs/libs/Makefile.am:
8808           Correct fixxrefs options.
8809
8810         * docs/plugins/Makefile.am:
8811         * docs/plugins/gstreamer-plugins-docs.sgml:
8812         * docs/plugins/gstreamer-plugins-sections.txt:
8813         * plugins/elements/Makefile.am:
8814         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
8815         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
8816           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
8817           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
8818           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
8819           _GstCapsFilterClass, trans_class):
8820         * plugins/elements/gstelements.c (name, rank, type, _elements):
8821         * plugins/elements/gstidentity.c
8822           (gst_identity_check_imperfect_timestamp,
8823           gst_identity_check_imperfect_offset):
8824           Document capsfilter and add doc-blurb to identity.
8825
8826 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
8827
8828         * libs/gst/controller/gstcontroller.c:
8829         (gst_controlled_property_set_interpolation_mode):
8830         * libs/gst/controller/gstinterpolation.c:
8831           Don't crash if someone tries to set an interpolation mode that
8832           is invalid or that isn't supported yet. Fixes #422295.
8833
8834         * tests/check/libs/controller.c: (GST_START_TEST),
8835         (gst_controller_suite):
8836           Add a test case for the above.
8837
8838 2007-05-03  Edward Hervey  <edward@fluendo.com>
8839
8840         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
8841         Properly set the last_stop position on GstSegment. This will only happen
8842         if there is a buffer to push out.
8843
8844 2007-05-03  Wim Taymans  <wim@fluendo.com>
8845
8846         * libs/gst/base/gstbasetransform.c:
8847         (gst_base_transform_buffer_alloc):
8848         always_in_place does not mean that the sink and source caps are the
8849         same! Make sure we don't blindly proxy the buffer_alloc in this case.
8850
8851 2007-05-03  Wim Taymans  <wim@fluendo.com>
8852
8853         * docs/libs/gstreamer-libs-sections.txt:
8854         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
8855         (gst_base_src_default_query), (gst_base_src_get_range):
8856         * libs/gst/base/gstbasesrc.h:
8857         API: gst_base_src_query_latency(). Added method so that subclasses can
8858         easily get the latency values of the base source class.
8859
8860 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
8861
8862         * tools/gst-inspect.c (print_implementation_info):
8863         Remove 0.8 cruft.
8864
8865 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
8866
8867         * tools/Makefile.am:
8868         * tools/gst-launch.1.in:
8869           Don't create a customised man page based on the host architecture,
8870           describe the default registry path generically. That way the man
8871           page is the same for all architectures and packagers have one
8872           multilib issue less to deal with. Fixes #434926.
8873
8874 2007-05-02  Wim Taymans  <wim@fluendo.com>
8875
8876         * gst/gstpad.c:
8877         Fix documentation as spotted by rg on IRC. 
8878
8879 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
8880
8881         * gst/gstutils.c:
8882           Improve docs for gst_element_{link,unlink}.
8883
8884 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
8885
8886         * docs/design/part-events.txt:
8887         * docs/design/part-overview.txt:
8888         * gst/gstevent.c:
8889         * gst/gsturi.c:
8890         * gst/gsturi.h:
8891         * libs/gst/base/gstbasesink.c:
8892           Typo fixes; minor docs addition.
8893
8894 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
8895
8896         * docs/gst/gstreamer-sections.txt:
8897         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
8898         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
8899         * gst/gsturi.h:
8900         API: Add gst_uri_protocol_is_supported(), which checks if a sink
8901         or src that supports a given URI protocol exists.
8902
8903 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
8904
8905         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
8906         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
8907         Set the location to NULL if "file://" is set as URI. Otherwise
8908         some random previous URI would still be set if "file://" is
8909         set on an already used filesink/filesrc.
8910
8911 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
8912
8913         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
8914         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
8915         Special case the "file://" URI as as this is used by some
8916         applications to test with gst_element_make_from_uri if there's
8917         an element that supports the URI protocol.
8918         Also move the g_path_is_absolute() check for the location part
8919         of the URI to also check this for "file://localhost/bla" URIs.
8920
8921 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
8922
8923         * docs/gst/gstreamer-sections.txt:
8924         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
8925         * gst/gstbuffer.h:
8926         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
8927         (gst_buffer_suite):
8928           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
8929
8930 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
8931
8932         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
8933         (gst_registry_binary_load_pad_template),
8934         (gst_registry_binary_load_plugin),
8935         (gst_registry_binary_read_cache):
8936         * gst/gstregistrybinary.h:
8937           Implement no-mmap alternative for registry reading. Do code cleanups.
8938           Add more comments about avoiding strdups for all text data. Comments
8939           welcome.
8940
8941 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
8942
8943         * gst/gstregistrybinary.h (GstBinaryPluginElement,
8944           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
8945           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
8946           Comment structs and reformat to fix the build (that stuff should go
8947           into a priv. header).
8948
8949 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
8950
8951         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
8952         (gst_registry_binary_load_feature):
8953         * gst/gstregistrybinary.h:
8954           Refactor so that we can implement multiple features. Add support for
8955           TypeFindFactory features.
8956
8957 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
8958
8959         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
8960
8961         * configure.ac:
8962           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
8963
8964 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
8965
8966         * gst/gstbin.c: (gst_bin_element_set_state),
8967         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
8968         (bin_handle_async_done), (gst_bin_handle_message_func):
8969           Fix build with --gst-disable-gst-debug
8970
8971 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
8972
8973         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
8974           Make sure streaming has finished before calling the ::stop() vfunc,
8975           since that vfunc might clear state which is being used in the
8976           streaming thread. This fixes a race that caused crashes in
8977           audioresample when shutting down a pipeline (#420106).
8978
8979 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
8980
8981         * docs/gst/gstreamer-sections.txt:
8982           That was one byte missing.
8983
8984 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
8985
8986         * configure.ac:
8987         * docs/gst/gstreamer-sections.txt:
8988         * gst/Makefile.am:
8989         * gst/gstconfig.h.in:
8990         * gst/gstobject.c: (gst_object_class_init),
8991         (gst_signal_object_class_init):
8992         * gst/gstobject.h:
8993           2nd attempt to have a xml-less build as a joined effort of #413123
8994           and #421480.
8995
8996 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
8997
8998         * docs/design/draft-tagreading.txt:
8999           Added open issues/thoughts to draft.
9000
9001 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
9002
9003         * gst/parse/grammar.tab.pre.c:
9004         * gst/parse/grammar.tab.pre.h:
9005         * gst/parse/lex._gst_parse_yy.pre.c:
9006         Update the prebuild parser sources.
9007
9008 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
9009
9010         * gst/parse/Makefile.am:
9011         And now fix the building of the flex sources. Now everything should
9012         work as expected.
9013
9014 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
9015
9016         * gst/parse/Makefile.am:
9017         Now hopefully fix the build failures by setting proper rule
9018         dependencies and moving instead of copying.
9019
9020 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
9021
9022         * tests/benchmarks/complexity.gnuplot:
9023         * tests/benchmarks/complexity.scm:
9024         * tests/benchmarks/mass-elements.gnuplot:
9025         * tests/benchmarks/mass-elements.scm:
9026           Total licensification.
9027
9028 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
9029
9030         * gst/parse/Makefile.am:
9031           Fix the build by correcting the rule that gave wrong files to flex.
9032
9033 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
9034
9035         * tests/benchmarks/complexity.c:
9036         * tests/benchmarks/mass-elements.c:
9037           Change licence to LGPL as granted by Benjamin and Andy.
9038
9039 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
9040
9041         * gst/parse/Makefile.am:
9042         Add correct grammar.tab.h dependency if compiling without new enough
9043         flex. Fixes #431150.
9044
9045 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
9046
9047         * gst/parse/Makefile.am:
9048         Fix typo and use outdated sources if the flex/bison sources are newer
9049         than the pregenerated ones but flex is too old. Print a warning in
9050         that case. This should fix the build on the build bot.
9051
9052 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
9053
9054         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
9055         * gst/parse/Makefile.am:
9056         * gst/parse/grammar.y:
9057         * gst/parse/parse.l:
9058         Make the parser reentrant and recursively callable. This requires flex
9059         >= 2.5.31, for older versions pregenerated sources are used as we
9060         can't bump the build dependency. Finally fixes #349180.
9061
9062         * gst/gstparse.c: (gst_parse_launch):
9063         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
9064         now anyway.
9065
9066         * docs/gst/Makefile.am:
9067         * docs/gst/Makefile.am:
9068         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
9069         (__gst_parse_strfree), (__gst_parse_link_new),
9070         (__gst_parse_link_free), (__gst_parse_chain_new),
9071         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
9072         (gst_parse_element_set), (gst_parse_free_link),
9073         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
9074         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
9075         (_gst_parse_launch):
9076         * gst/parse/grammar.tab.pre.h:
9077         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
9078         (yy_get_previous_state), (yy_try_NUL_trans), (input),
9079         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
9080         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
9081         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
9082         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
9083         (_gst_parse_yypop_buffer_state),
9084         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
9085         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
9086         (yy_fatal_error), (_gst_parse_yyget_extra),
9087         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
9088         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
9089         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
9090         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
9091         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
9092         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
9093         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
9094         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
9095         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
9096         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
9097         (_gst_parse_yyfree):
9098         If the installed flex version is too old use pre-generated parser
9099         sources. These pre-generated parser sources are always updated when
9100         the actual flex/bison sources change but require everybody who wants
9101         to change something in the parser to have flex >= 2.5.31 installed.
9102
9103 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
9104
9105         * common/m4/gst-gettext.m4:
9106         * gst/gst-i18n-lib.h:
9107           Make --disable-nls to work
9108
9109 2007-04-17  Wim Taymans  <wim@fluendo.com>
9110
9111         * gst/gstconfig.h.in:
9112         Revert previous change that broke the build.
9113
9114 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
9115
9116         * configure.ac:
9117         * gst/Makefile.am:
9118         * gst/gstconfig.h.in:
9119           Drop libxml2 dependency when building with 
9120           --enable-binary-registry --disable-loadsave
9121
9122 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
9123
9124         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
9125         (gst_registry_binary_read_cache):
9126         * gst/gstregistrybinary.h:
9127           Remove unnecessary <sys/mman.h> include which broke the win32 build
9128           with MingW; move includes from header file to .c file, even if the
9129           header file isn't installed; use g_strerror() where UTF-8 strings
9130           are expected, such as in GST_DEBUG messages.
9131
9132 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9133
9134         * docs/libs/gstreamer-libs-sections.txt:
9135         Remove bogus addition for API I didn't end up keeping.
9136
9137         * libs/gst/base/gstbasesrc.h:
9138         Mention Since: 0.10.13 in the documentation.
9139
9140         Add the API keyword to the previous ChangeLog entry.
9141
9142 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9143
9144         * docs/libs/gstreamer-libs-sections.txt:
9145         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9146         (gst_base_src_default_prepare_seek_segment),
9147         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
9148         * libs/gst/base/gstbasesrc.h:
9149         Allow basesrc derived classes to execute seeks in other formats
9150         by providing a prepare_seek_segment vmethod. Sub-classes can choose
9151         to prepare the GstSegment in any format that their perform_seek method
9152         will be able to understand. The default implementation provides the
9153         old behaviour of attempting to convert the seek offsets to the 
9154         configured native format.
9155
9156         API: basesrc::prepare_seek_segment vmethod.
9157
9158 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9159
9160         * gst/gstelement.c: (gst_element_get_state_func):
9161         Don't output the same debug statement twice.
9162
9163         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
9164         (gst_adapter_peek), (gst_adapter_take_buffer):
9165         Optimise the case where we have buffers at the head of the queue that
9166         can be joined quickly (because they're contiguous sub-buffers) by
9167         merging them together rather than copying data out into new memory.
9168
9169         * gst/parse/grammar.y:
9170         * tests/check/pipelines/parse-launch.c:
9171         Fix a leak in an error path for parse_launch, and add a check 
9172         for it to the testsuite.
9173
9174 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9175
9176         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
9177           Don't deadlock when releasing a pad - gst_pad_set_active may try
9178           and take the multiqueue lock too.
9179
9180 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
9181
9182         * gst/gsterror.c: (_gst_core_errors_init):
9183         * gst/gsterror.h:
9184           API: add GST_CORE_ERROR_DISABLED (#392804).
9185
9186 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9187
9188         * docs/faq/gst-uninstalled:
9189           don't get empty paths on the PATH variables
9190         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
9191           Don't format for the uncommon terminal width of 84 characters.
9192
9193 2007-04-06  Wim Taymans  <wim@fluendo.com>
9194
9195         * gst/gstpipeline.c: (reset_stream_time),
9196         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
9197         Only try to select a different pipeline clock when we went back to
9198         PAUSED and not when we merely got flushed.
9199
9200 2007-04-05  Michael Smith  <msmith@fluendo.com>
9201
9202         * tools/gst-launch.1.in:
9203           fractions are better supported in gstreamer than ractions, so
9204           suggest using those.
9205
9206 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9207
9208         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
9209
9210         * po/LINGUAS:
9211         * po/da.po:
9212           Added Danish translation.
9213
9214 2007-04-05  Wim Taymans  <wim@fluendo.com>
9215
9216         * libs/gst/base/gstbasesink.c:
9217         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
9218         Fix leak caused when refusing newsegment after EOS.
9219
9220         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
9221         (gst_fake_sink_init), (gst_fake_sink_set_property),
9222         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
9223         (gst_fake_sink_render), (gst_fake_sink_change_state):
9224         * plugins/elements/gstfakesink.h:
9225         Add num-buffers property to make the element generate EOS after a
9226         configurable amount of buffers.
9227         API: fakesink::num-buffers property.
9228
9229         * tests/check/elements/fakesink.c: (GST_START_TEST),
9230         (fakesink_suite):
9231         Fix GstBus leak in test.
9232         Test for fakesink num-buffers.
9233
9234 2007-04-05  Wim Taymans  <wim@fluendo.com>
9235
9236         * libs/gst/base/gstbasesink.c:
9237         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
9238         (gst_base_sink_change_state):
9239         Don't accept anything after an EOS, return UNEXPECTED instead.
9240
9241         * tests/check/elements/fakesink.c: (GST_START_TEST),
9242         (fakesink_suite):
9243         Unit test for new EOS behaviour.
9244
9245 2007-04-05  Wim Taymans  <wim@fluendo.com>
9246
9247         * gst/gstelement.c: (gst_element_get_request_pad):
9248         Make padtemplates also work when they don't contain %s or %d.
9249
9250 2007-04-05  Wim Taymans  <wim@fluendo.com>
9251
9252         * docs/gst/gstreamer-sections.txt:
9253         * gst/gstclock.c: (gst_clock_adjust_unlocked),
9254         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
9255         * gst/gstclock.h:
9256         Improve _adjust_unlocked() so that it overflows less.
9257         Add gst_clock_unadjust_unlocked to convert from external time to
9258         internal time based on calibration.
9259         Add some more debug.
9260         API: GstClock::gst_clock_unadjust_unlocked()
9261
9262 2007-04-03  Wim Taymans  <wim@fluendo.com>
9263
9264         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
9265
9266         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
9267         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
9268         when releasing sink pad. Fixes #425400.
9269
9270 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
9271
9272         * docs/random/ensonic/dynlink.txt:
9273           More work on proposal for new core api.
9274
9275         * docs/libs/gstreamer-libs-sections.txt:
9276         * libs/gst/base/gstbasetransform.h:
9277           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
9278           
9279         * libs/gst/controller/gstcontroller.c:
9280         (on_object_controlled_property_changed),
9281         (gst_controller_sync_values),
9282         (gst_controller_set_interpolation_mode):
9283         * libs/gst/controller/gstcontroller.h:
9284           Less verbose logging add docs for unimplemented parts and correctly
9285           return when using unavailable parts.
9286
9287 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
9288
9289         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
9290         Move all the debug to the CLOCK category, and associate it with
9291         the clock object.
9292
9293 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
9294
9295         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
9296         Make take_buffer a bit quicker by removing redundant checks
9297         caused by calling gst_adapter_take.
9298
9299 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
9300
9301         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
9302           Don't leak GCond.
9303
9304         * tests/check/Makefile.am:
9305         * tests/check/elements/.cvsignore:
9306         * tests/check/elements/multiqueue.c: (setup_multiqueue),
9307         (GST_START_TEST), (multiqueue_suite):
9308           Add some dead simple unit tests for the 'multiqueue' element
9309           (some bits don't work yet and are disabled for now).
9310
9311 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
9312
9313         * gst/gstelement.c: (gst_element_get_request_pad),
9314         (gst_element_class_get_request_pad_template):
9315           Make gst_element_get_request_pad() create request pads only for
9316           request pad templates and not for, say, sometimes pad templates.
9317
9318 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
9319
9320         * docs/design/draft-klass.txt:
9321           Add example that needs more thinking.
9322         
9323         * docs/design/draft-missing-plugins.txt:
9324           More thoughts about wrapper plugins.
9325         
9326         * docs/random/ensonic/embedded.txt:
9327         * docs/random/ensonic/profiling.txt:
9328           More design work.
9329
9330 2007-03-25  Wim Taymans  <wim@fluendo.com>
9331
9332         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
9333         (gst_base_src_loop):
9334         Only push the segment events in the PLAYING state for live sources.
9335
9336 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
9337
9338         * gst/gstpipeline.c: (gst_pipeline_change_state):
9339         Modify the clock distribution path in PAUSED->PLAYING so that we 
9340         never attempt to choose a new clock unless we're actually leaving
9341         the PAUSED state for the first time. This prevents choosing a
9342         different clock when the state_change gets called for a 2nd time due
9343         to some element doing an async state change.
9344
9345 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
9346
9347         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
9348         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
9349         (gst_pad_chain_unchecked), (gst_pad_push):
9350         Revert last commit. This needs some more thoughts.
9351
9352 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
9353
9354         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
9355         (gst_pad_chain_unchecked), (gst_pad_push):
9356         Check in set_caps if the caps are compatible with the pad and remove
9357         two functions that are redundant now. Fixes #421543.
9358
9359 2007-03-22  Wim Taymans  <wim@fluendo.com>
9360
9361         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
9362         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
9363         Unref some more to make valgrind happy.
9364
9365 2007-03-22  Wim Taymans  <wim@fluendo.com>
9366
9367         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
9368         (gst_system_clock_id_wait_jitter),
9369         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
9370         Fix anoying regression that survived a few releases. When adding an
9371         async entry while blocking on a sync entry, the sync entry will unblock
9372         but still be busy, so it should continue to wait instead of returning
9373         _BUSY to the app.
9374         Add some comments here and there.
9375
9376         * tests/check/gst/gstsystemclock.c: (mixed_thread),
9377         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
9378         Add testcase for this.
9379
9380 2007-03-22  Wim Taymans  <wim@fluendo.com>
9381
9382         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
9383         Handle errors from the clock sync better, only UNSCHEDULED indicates a
9384         WRONG_STATE and can silently pause the task. All other cases should
9385         error out.
9386
9387 2007-03-22  Wim Taymans  <wim@fluendo.com>
9388
9389         Patch by: Ville Syrjala <syrjala at sci dot fi>
9390
9391         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
9392         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
9393         Improve debugging.
9394
9395 2007-03-21  Michael Smith  <msmith@fluendo.com>
9396
9397         * docs/pwg/advanced-types.xml:
9398           Fix some errors in the typefinding docs pointed out on irc.
9399
9400 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
9401
9402         * libs/gst/base/gstbasesrc.c:
9403         Clarify FIXME comment in the face of having added unlock_stop()
9404
9405 2007-03-21  Wim Taymans  <wim@fluendo.com>
9406
9407         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
9408         Prepare for release where we warn against possible app breakage in the
9409         case of live pipelines along with an env var to enable/disable live
9410         preroll mode (GST_COMPAT=[no-]live-preroll).
9411
9412 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9413
9414         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
9415         So we should use correct constants for checking for None offset.
9416
9417 2007-03-20  Wim Taymans  <wim@fluendo.com>
9418
9419         * docs/design/part-block.txt:
9420         Mention the fact that the newly switched element should be set to at
9421         least PAUSED.
9422
9423 2007-03-20  Wim Taymans  <wim@fluendo.com>
9424
9425         * gst/gst.c:
9426         Fix compilation with registry disabled as spotted by Saur.
9427
9428 2007-03-20  Wim Taymans  <wim@fluendo.com>
9429
9430         Patch by: Olivier Crete <tester at tester dot ca>
9431
9432         * gst/gstelement.c: (gst_element_sync_state_with_parent):
9433         Look at the pending state too when syncing the element state to the
9434         parent. Fixes #420133.
9435
9436 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
9437
9438         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
9439         (gst_base_sink_change_state):
9440         * libs/gst/base/gstbasesink.h:
9441         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
9442         (gst_base_src_default_event), (gst_base_src_unlock_stop),
9443         (gst_base_src_deactivate):
9444         * libs/gst/base/gstbasesrc.h:
9445         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
9446         for sub-classes to correctly clear any state they set trying to
9447         unlock, such as clearing out unlock commands from a command fd.
9448         API: basesrc::unlock_stop
9449         API: basesink::unlock_stop
9450
9451         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
9452         (gst_fd_sink_render), (gst_fd_sink_unlock),
9453         (gst_fd_sink_unlock_stop):
9454         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
9455         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
9456         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
9457
9458         Implement unlock_stop in fdsrc and fdsink.
9459         Implement seeking in fdsrc when a seekable fd is passed, as in
9460         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
9461
9462 2007-03-19  Wim Taymans  <wim@fluendo.com>
9463
9464         Patch by: Evan Nemerson <evan at coeus dash group dot com>
9465
9466         * gst/gstelement.c: (gst_element_class_init):
9467         Fix pad-added and pad-removed signal signatures so that the pad type is
9468         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
9469
9470 2007-03-19  Wim Taymans  <wim@fluendo.com>
9471
9472         * docs/gst/gstreamer-sections.txt:
9473         Add new element field and method.
9474
9475         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
9476         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
9477         (gst_bin_recalc_state), (gst_bin_get_state_func),
9478         (gst_bin_element_set_state), (gst_bin_change_state_func),
9479         (gst_bin_continue_func), (bin_bus_handler),
9480         (bin_push_state_continue), (bin_handle_async_start),
9481         (bin_handle_async_done), (gst_bin_handle_message_func):
9482         Make async state changes a bit smarter by using new ASYNC_START and
9483         ASYNC_DONE messages. This reduces the number of times we run the state
9484         recalculation thread.
9485         Don't change state of element with a pending ASYNC_START message.
9486         Deprecate STATE_DIRTY messages.
9487         
9488         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
9489         (gst_element_get_state_func), (gst_element_continue_state),
9490         (gst_element_lost_state), (gst_element_set_state_func),
9491         (gst_element_change_state):
9492         * gst/gstelement.h:
9493         Keep the state that was last set by the app in a new element field.
9494         Don't allow state changes when handling an element event.
9495         Post ASYNC_START and ASYNC_DONE messages.
9496         Change lost_state so that we go to PAUSED and wait for the parent to set
9497         us to PLAYING again (so latency calculation can be performed)
9498         Export gst_element_change_state() method so that subclasses can use it.
9499         API: gst_element_change_state()
9500         API: GST_STATE_TARGET
9501
9502         * gst/gstpipeline.c: (gst_pipeline_class_init),
9503         (reset_stream_time), (gst_pipeline_change_state),
9504         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
9505         Using the new ASYNC_START message we can reset the base_time when
9506         needed. This can then be used to implement base_time redistribution in
9507         flushing seeks so that we can remove the explicit seek handling.
9508         Perform latency query and configuration when going to PLAYING.
9509
9510         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9511         (gst_base_sink_query), (gst_base_sink_change_state):
9512         Post new ASYNC_START/ASYNC_DONE messages.
9513
9514         * tests/check/generic/sinks.c: (GST_START_TEST):
9515         Fix test because the bin will not set the async element to PLAYING right
9516         away.
9517
9518         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
9519         Make the message check a little stronger.
9520         Handle ASYNC messages.
9521
9522         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
9523         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
9524         Expect ASYNC_DONE messages.
9525
9526 2007-03-19  Wim Taymans  <wim@fluendo.com>
9527
9528         * docs/gst/gstreamer-sections.txt:
9529         * gst/gstmessage.c: (gst_message_new_async_start),
9530         (gst_message_new_async_done), (gst_message_parse_info),
9531         (gst_message_parse_async_start):
9532         * gst/gstmessage.h:
9533         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
9534         support.
9535
9536 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
9537
9538         * tools/gst-inspect.c:
9539         (print_plugin_automatic_install_info_codecs):
9540           Now that we don't check for the 'Codec' keyword any longer in the
9541           klass, we shouldn't spew a warning if the klass isn't a decoder or
9542           encoder (since it might be a Source/Network, for example).
9543
9544 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
9545
9546         * tools/gst-inspect.c:
9547         (print_plugin_automatic_install_info_codecs):
9548           Don't require decoder/demuxer/depayloader elements or
9549           encoder/muxer/paylader elements to have 'Codec' as part of their
9550           factory class string when introspecting a plugin's capabilities.
9551           draft-klass.txt mentions that it might be removed in future, and
9552           flump3dec doesn't have it as part of its class string, so chances
9553           are others might also not have it.
9554
9555 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9556
9557         * po/af.po:
9558         * po/az.po:
9559         * po/bg.po:
9560         * po/ca.po:
9561         * po/cs.po:
9562         * po/de.po:
9563         * po/en_GB.po:
9564         * po/fr.po:
9565         * po/it.po:
9566         * po/nb.po:
9567         * po/nl.po:
9568         * po/ru.po:
9569         * po/sq.po:
9570         * po/sr.po:
9571         * po/sv.po:
9572         * po/tr.po:
9573         * po/uk.po:
9574         * po/vi.po:
9575         * po/zh_CN.po:
9576         * po/zh_TW.po:
9577           Update translations from translation project
9578
9579 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
9580
9581         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
9582         (gst_child_proxy_set_property):
9583           Invert precondition check to be alike the ones in the mimiced gobject
9584           api.
9585
9586 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
9587
9588         * docs/design/draft-tagreading.txt:
9589         * docs/random/ensonic/audiobaseclasses.txt:
9590           Do some Architect work.
9591
9592         * gst/gstobject.c: (gst_object_set_name):
9593           Add a WARNING.
9594
9595         * gst/gstpad.c:
9596           Add docs that point from gst_pad_get_range to gst_pad_pull_range
9597
9598 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
9599
9600         * gst/gstsystemclock.c: (gst_system_clock_init),
9601         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
9602         Defer starting the async system clock thread until the first async
9603         wait is scheduled. Fixes #414986.
9604
9605 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
9606
9607         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
9608         (gst_single_queue_free):
9609           Fix small leak (free GstSingleQueue structure too, not only contents).
9610
9611 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
9612
9613         * gst/gstbin.c:(gst_bin_add):
9614         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
9615         * win32/common/libgstbase.def:
9616         * win32/common/libgstreamer.def:
9617         Add new exported functions.
9618
9619 2007-03-09  Wim Taymans  <wim@fluendo.com>
9620
9621         * docs/plugins/gstreamer-plugins-sections.txt:
9622         Fix GstTee docs.
9623
9624 2007-03-09  Wim Taymans  <wim@fluendo.com>
9625
9626         * docs/gst/gstreamer-sections.txt:
9627         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
9628         * gst/gstbuffer.h:
9629         Add metadata copy functions. Fixes #393099.
9630         API: gst_buffer_copy_metadata()
9631
9632         * gst/gstutils.c: (gst_buffer_stamp):
9633         * libs/gst/base/gstbasetransform.c:
9634         (gst_base_transform_prepare_output_buffer):
9635         Use new metadata copy functions.
9636
9637 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9638
9639         * plugins/elements/gstidentity.c: (gst_identity_class_init),
9640         (gst_identity_init), (gst_identity_check_perfect),
9641         (gst_identity_check_imperfect_timestamp),
9642         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
9643         (gst_identity_set_property), (gst_identity_get_property):
9644         * plugins/elements/gstidentity.h:
9645         Separate out check-imperfect-timestamp and check-imperfect-offset.
9646         Put back check-perfect as it was to keep compatibility.
9647
9648 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
9649
9650         * gst/gstelement.c: (gst_element_dispose):
9651         There's no need to warn if VOID_PENDING is not NONE here, as
9652         long as the state is NULL it's ok, and that's checked immediately
9653         above.
9654
9655 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9656
9657         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9658         Fix check for perfect stream to ignore buffers with -1 
9659         offsets/offset ends when checking data contiguity.
9660
9661 2007-03-08  Wim Taymans  <wim@fluendo.com>
9662
9663         * tools/gst-launch.c: (event_loop):
9664         Print INFO messages.
9665
9666 2007-03-08  Wim Taymans  <wim@fluendo.com>
9667
9668         * libs/gst/base/gstbasetransform.c:
9669         (gst_base_transform_sink_eventfunc),
9670         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
9671         (gst_base_transform_activate):
9672         * libs/gst/base/gstbasetransform.h:
9673         Add support for dropping buffers with custom GstFlowReturn.
9674         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
9675         buffers or dropped buffers.
9676
9677         * docs/libs/gstreamer-libs-sections.txt:
9678         docs for new custom return code.
9679
9680         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
9681         Use drop support in base class to implement drop-probability.
9682
9683 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
9684
9685         * gst/gst.c: (load_plugin_func):
9686         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
9687         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
9688         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
9689           Remove newlines at end of debug log strings.
9690
9691 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9692
9693         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9694         Only post bus message at max, once per buffer received.
9695
9696 2007-03-07  Wim Taymans  <wim@fluendo.com>
9697
9698         * docs/design/Makefile.am:
9699         * docs/design/part-synchronisation.txt:
9700         Add doc about synchronisation
9701
9702         * docs/design/draft-latency.txt:
9703         * docs/design/part-TODO.txt:
9704         * docs/design/part-clocks.txt:
9705         * docs/design/part-events.txt:
9706         * docs/design/part-gstbus.txt:
9707         * docs/design/part-gstpipeline.txt:
9708         * docs/design/part-live-source.txt:
9709         * docs/design/part-messages.txt:
9710         * docs/design/part-overview.txt:
9711         * docs/design/part-streams.txt:
9712         * docs/design/part-trickmodes.txt:
9713         Documentation updates.
9714
9715 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
9716
9717         * gstreamer.doap:
9718         Update the doap file.
9719
9720 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9721
9722         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9723         Rename non-perfect to imperfect for Mike and for the sanctity of the
9724         language.
9725         Also make sure bus message gets emitted for data-incontiguities.
9726
9727 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9728
9729         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
9730         (gst_identity_start):
9731         * plugins/elements/gstidentity.h:
9732         Emit bus message if check-perfect is true and we encounter a
9733         non-perfect stream between 2 consecutive buffers.
9734         Fixes #415394.
9735
9736 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
9737
9738         * configure.ac:
9739         Back to CVS
9740
9741 === release 0.10.12 ===
9742
9743 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
9744
9745         * configure.ac:
9746           releasing 0.10.12, "Inevitable Demise"
9747
9748 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
9749
9750         * configure.ac:
9751          Version 0.10.11.2 (0.10.12 pre-release)
9752          Bump libtool versioning.
9753
9754 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
9755
9756         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
9757           Log flow-names and not numbers.
9758
9759 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9760
9761         * configure.ac:
9762           Convert to new AG_GST style.
9763
9764 2007-02-28  Wim Taymans  <wim@fluendo.com>
9765
9766         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
9767         Don't unref query twice.
9768
9769 2007-02-28  Wim Taymans  <wim@fluendo.com>
9770
9771         * gst/gstvalue.c: (gst_value_transform_object_string),
9772         (_gst_value_initialize):
9773         Implement GstObject -> string transform so we print object names
9774         when serializing GValues containing GstObjects.
9775
9776 2007-02-28  Wim Taymans  <wim@fluendo.com>
9777
9778         * docs/gst/gstreamer-sections.txt:
9779         Add new stuff to docs.
9780
9781 2007-02-28  Wim Taymans  <wim@fluendo.com>
9782
9783         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
9784         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
9785         (gst_base_sink_change_state):
9786         Improve latency query code.
9787         Don't leak latency events.
9788
9789         * tests/check/gst/gstbin.c: (GST_START_TEST):
9790         Improve debugging.
9791
9792 2007-02-28  Wim Taymans  <wim@fluendo.com>
9793
9794         * gst/gstelement.c: (gst_element_message_full),
9795         (gst_element_get_state_func):
9796         * gst/gstelement.h:
9797         Improve docs a little. Added Since: for new macro.
9798
9799         * gst/gstobject.c: (gst_object_sink):
9800         * gst/gstpipeline.c: (gst_pipeline_change_state),
9801         (gst_pipeline_set_new_stream_time):
9802         * gst/gstpipeline.h:
9803         Improve debugging and docs.
9804
9805         * gst/gstutils.c: (gst_element_state_change_return_get_name):
9806         Improve debugging.
9807
9808 2007-02-28  Wim Taymans  <wim@fluendo.com>
9809
9810         * gst/gstelement.c: (gst_element_message_full),
9811         (gst_element_set_locked_state), (gst_element_get_state_func),
9812         (gst_element_change_state):
9813         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
9814         Documentation updates.
9815         Small code cleanups.
9816
9817         * gst/gstmessage.c: (gst_message_new_info),
9818         (gst_message_parse_info):
9819         * gst/gstmessage.h:
9820         API: gst_message_new_info()
9821         API: gst_message_parse_info()
9822         Add INFO message create and parse code.
9823
9824 2007-02-28  Wim Taymans  <wim@fluendo.com>
9825
9826         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
9827         (bin_query_latency_done):
9828         Also report the live parameter of a latency query.
9829
9830 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9831
9832         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
9833           Copy the current generic/states example from -base and adapt so
9834           we can use the exact same code everywhere.
9835           Check a STATES_IGNORE_ELEMENTS env var which can be used
9836           to ignore certain element factories for this test, which is
9837           what is being done in -base
9838         * tests/check/Makefile.am:
9839           Mention this environment variable.
9840
9841 2007-02-27  Wim Taymans  <wim@fluendo.com>
9842
9843         * docs/gst/gstreamer-sections.txt:
9844         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
9845         (gst_bus_timed_pop), (gst_bus_pop):
9846         * gst/gstbus.h:
9847         API: gst_bus_timed_pop()
9848         Implement gst_bus_timed_pop() to do a blocking timed wait for a
9849         message to arrive on the bus.
9850
9851         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
9852         (gst_bus_suite):
9853         Two unit tests for new _timed_pop() function.
9854
9855 2007-02-23  Wim Taymans  <wim@fluendo.com>
9856
9857         * gst/gstpipeline.c: (gst_pipeline_change_state),
9858         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
9859         Don't ref a NULL clock in _provide_clock_func().
9860         Don't allow an INVALID delay.
9861         Don't try to calculate base_time with an invalid start_time.
9862         Also distribute and notify a NULL clock when it was selected.
9863
9864         * tools/gst-launch.c: (event_loop):
9865         Don't crash when a NULL clock was selected in the pipeline.
9866
9867 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
9868
9869         * docs/design/Makefile.am:
9870         * docs/design/draft-missing-plugins.txt:
9871         * docs/random/draft-missing-plugins.txt:
9872           Some small updates: update plugin system identifier prefix
9873           ('gstreamer.net' to 'gstreamer'), mention our new install
9874           API in libgstbaseutils rather than libgimme-codec, add
9875           reference to the online docs.
9876
9877 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9878
9879         * win32/common/config.h:
9880           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
9881           use moap cl ci to only check in what is mentioned in the ChangeLog.
9882
9883 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9884
9885         * docs/gst/gstreamer-sections.txt:
9886         * gst/gstelement.h:
9887           Fix up documentation to link to the correct GstGError section.
9888           Add GST_ELEMENT_INFO macro since someone else added a Info message.
9889
9890 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9891
9892         * tools/gst-launch.c: (event_loop):
9893           Make sure that we actually show the important message part of a
9894           warning message.
9895           No need to check if the gerror is not NULL to free; first of all
9896           g_free accepts NULL; and second the default error handler would
9897           segfault if gerror was NULL.
9898
9899 2007-02-21  Wim Taymans  <wim@fluendo.com>
9900
9901         * docs/gst/gstreamer-sections.txt:
9902         Removed docs as well.
9903
9904 2007-02-21  Wim Taymans  <wim@fluendo.com>
9905
9906         * gst/gstmessage.c: (gst_message_parse_duration):
9907         * gst/gstmessage.h:
9908         Remove new messages for release.
9909
9910 2007-02-20  Wim Taymans  <wim@fluendo.com>
9911
9912         * docs/design/part-gstghostpad.txt:
9913         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
9914         (gst_ghost_pad_new_full):
9915         Make the ghostpad a parent of the internal pad again for better backward
9916         compatibility. Don't write code that relies on this however.
9917
9918         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
9919         (gst_pad_link_check_hierarchy):
9920         Require that parents should be GstElements in the hierarchy check.
9921
9922 2007-02-20  Wim Taymans  <wim@fluendo.com>
9923
9924         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
9925         (gst_bin_change_state_func), (bin_query_min_max_init),
9926         (bin_query_latency_fold), (bin_query_latency_done),
9927         (gst_bin_query):
9928         Improve debug info.
9929         Implement latency query.
9930
9931 2007-02-20  Wim Taymans  <wim@fluendo.com>
9932
9933         * docs/design/part-gstghostpad.txt:
9934         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
9935         (gst_ghost_pad_internal_do_activate_push),
9936         (gst_ghost_pad_internal_do_activate_pull),
9937         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
9938         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
9939         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
9940         Do not set the internal pad as a parent anymore so we can avoid
9941         hierarchy linking errors when the ghostpad has no parent yet. This also
9942         fixes failed activation because of unlinked internal pads, which in
9943         turn fixes the impossible case where you have to activate a pad before
9944         you can add it to a running element.
9945         Also fix the docs.
9946
9947         * gst/gstpad.c: (pre_activate), (post_activate),
9948         (gst_pad_set_active), (gst_pad_activate_pull),
9949         (gst_pad_activate_push), (gst_pad_check_pull_range):
9950         Add some more debug info.
9951         Mark activation mode in pre_activate so that we don't try to activate in
9952         endless loops. Fixes #385084.
9953
9954 2007-02-19  Wim Taymans  <wim@fluendo.com>
9955
9956         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
9957         (gst_base_transform_check_get_range):
9958         Implement a checkgetrange function instead of relying on the default
9959         core behaviour that assumes we can operate in pull mode if we have a
9960         getrange function. First step at fixing #385084.
9961
9962 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
9963
9964         * gst/gstchildproxy.h:
9965         * libs/gst/base/gstbasesink.h:
9966         * libs/gst/base/gstbasesrc.h:
9967         * libs/gst/base/gstbasetransform.h:
9968         More docs coverage and some ChangeLog surgery (add missing names)
9969
9970 2007-02-15  Wim Taymans  <wim@fluendo.com>
9971
9972         * docs/design/part-TODO.txt:
9973         * docs/design/part-activation.txt:
9974         * docs/design/part-block.txt:
9975         * docs/design/part-buffering.txt:
9976         * docs/design/part-clocks.txt:
9977         * docs/design/part-element-source.txt:
9978         * docs/design/part-events.txt:
9979         * docs/design/part-gstbin.txt:
9980         * docs/design/part-gstbus.txt:
9981         * docs/design/part-gstpipeline.txt:
9982         * docs/design/part-live-source.txt:
9983         * docs/design/part-messages.txt:
9984         * docs/design/part-overview.txt:
9985         * docs/design/part-qos.txt:
9986         * docs/design/part-query.txt:
9987         * docs/design/part-states.txt:
9988         * docs/design/part-trickmodes.txt:
9989         Some doc updates. Start renaming from stream_time to running_time where
9990         it was used wrongly.
9991
9992 2007-02-15  Wim Taymans  <wim@fluendo.com>
9993
9994         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
9995         Answer LATENCY query.
9996
9997 2007-02-15  Wim Taymans  <wim@fluendo.com>
9998
9999         * tests/check/gst/gstevent.c: (event_probe), (test_event),
10000         (GST_START_TEST):
10001         Improve debugging.
10002
10003 2007-02-15  Wim Taymans  <wim@fluendo.com>
10004
10005         * gst/gstpad.c: (gst_pad_get_internal_links_default),
10006         (gst_pad_dispatcher):
10007         Improve debugging of default pad dispatcher and query functions.
10008
10009 2007-02-15  Wim Taymans  <wim@fluendo.com>
10010
10011         * docs/gst/gstreamer-sections.txt:
10012         Remove old unused method.
10013
10014 2007-02-13  Wim Taymans  <wim@fluendo.com>
10015
10016         * tests/check/gst/gstsegment.c: (GST_START_TEST):
10017         Fix check
10018
10019 2007-02-13  Wim Taymans  <wim@fluendo.com>
10020
10021         * docs/design/part-seeking.txt:
10022         Some small update.
10023
10024         * gst/gstsegment.c: (gst_segment_set_seek):
10025         Revert old bogus change that should make seeking work again.
10026
10027 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
10028
10029         * docs/random/ensonic/dynlink.txt:
10030         * docs/random/ensonic/interfaces.txt:
10031         * docs/random/ensonic/receipies.txt:
10032           Possible dynamic reconnection api, plus some type fixes the other two
10033           docs.
10034
10035 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
10036
10037         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
10038         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
10039         Also check for an absolute path following file:// in the filesrc
10040         element. Remove redundant check and call g_path_is_absolute() on the
10041         unescaped location.
10042
10043 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
10044
10045         * docs/design/draft-klass.txt:
10046           Add existing category analysis.
10047           
10048         * gst/gstcaps.c:
10049           Fix doc example, framerate is a fraction.
10050
10051 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
10052
10053         * configure.ac:
10054         * docs/gst/Makefile.am:
10055         * docs/gst/gstreamer-sections.txt:
10056         * docs/libs/Makefile.am:
10057           Erm, forgot a bunch of --extra-dir.
10058
10059 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
10060
10061         * configure.ac:
10062         * docs/gst/Makefile.am:
10063         * docs/libs/Makefile.am:
10064         * docs/plugins/Makefile.am:
10065           Add crossreferences to glib/gobject docs.
10066
10067 2007-02-12  Wim Taymans  <wim@fluendo.com>
10068
10069         * docs/design/draft-latency.txt:
10070         Small update.
10071
10072         * docs/libs/gstreamer-libs-sections.txt:
10073         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
10074         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
10075         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
10076         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
10077         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
10078         (gst_base_sink_get_position), (gst_base_sink_query),
10079         (gst_base_sink_change_state):
10080         * libs/gst/base/gstbasesink.h:
10081         API: gst_base_sink_query_latency() to let subclasses query the upstream
10082         latency.
10083         API: gst_base_sink_get_latency() to let subclasses query the configured
10084         latency in the sink.
10085         Implement query and set latency.
10086         Update some docs.
10087         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
10088         don't continue preroll when we are flushing. Fixes #405284.
10089
10090         * tests/check/pipelines/stress.c: (change_state_timeout),
10091         (quit_timeout), (GST_START_TEST), (stress_suite):
10092         Test for #405284.
10093
10094 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
10095
10096         Patch by: René Stadler <mail at renestadler de>
10097
10098         * docs/gst/gstreamer-sections.txt:
10099         * gst/gsttaglist.c: (_gst_tag_initialize):
10100         * gst/gsttaglist.h:
10101           API: add GST_TAG_REFERENCE_LEVEL (#403597).
10102
10103 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
10104
10105         * docs/libs/Makefile.am:
10106           Fix path to core docs.
10107
10108         * gst/gstbin.c: (gst_bin_get_by_interface),
10109         (gst_bin_iterate_all_by_interface):
10110           Refix docs by also renaming 'interface' to 'iface' in implementation.
10111
10112         * docs/gst/gstreamer-sections.txt:
10113         * gst/gstcaps.c:
10114         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
10115         * gst/gstchildproxy.h:
10116         * gst/gstelementfactory.c:
10117         * gst/gstpadtemplate.h:
10118         * libs/gst/controller/gstcontroller.c:
10119         (gst_controlled_property_new):
10120           Document more.
10121
10122 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
10123
10124         * gst/gstbin.h:(gst_bin_get_by_interface),
10125         (gst_bin_iterate_all_by_interface):
10126         Replace interface parameter name by iface as interface is 
10127         a reserved keyword in Visual Studio for C++ projects so it removes
10128         a build error for application developpers using VS.
10129         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
10130         Fix a bug on Windows in uri format check. Now the prefix checked
10131         is file:// and next we check if the path after file:// is absolute.
10132         * win32/common/libgstbase.def:
10133         * win32/common/libgstdataprotocol.def:
10134         * win32/common/libgstgstreamer.def:
10135         Add new exported functions.
10136
10137 2007-02-09  Andy Wingo  <wingo@pobox.com>
10138
10139         * tests/check/pipelines/simple-launch-lines.c
10140         (simple_launch_lines_suite, test_tee): Disable tee test until I
10141         have time to fix it :-(
10142
10143         * tests/check/Makefile.am (noinst_HEADERS): 
10144         * tests/check/libs/libsabi.c: 
10145         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
10146         * tests/check/gst/gstabi.c: 
10147         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
10148
10149         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
10150         tests for push and pull tee behavior.
10151
10152         * plugins/elements/gsttee.h: 
10153         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
10154         mark as deprecated as well as unimplemented. It was a crack idea.
10155         Add support for tee operating in pull mode, off by default.
10156
10157         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
10158         normal-case logs down to LOG, raise errors to WARNING.
10159         (gst_registry_xml_read_cache): Don't log before calling a function
10160         that logs.
10161
10162         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
10163         exit (registry finalize).
10164         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
10165         DEBUG log when we emit signals that people don't even have the
10166         chance to connect to.
10167         (gst_registry_scan_path_level): Less logging in the normal case.
10168
10169 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
10170
10171         Patch by: Michal Benes <michal dot benes at itonis dot tv>
10172
10173         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
10174         Correctly generate EOS for non-seekable files. We don't have a total
10175         length for them and would get an unexpected end of file if we only
10176         special-cased for regular files. (Fixes: #404569)
10177
10178 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
10179
10180         * tests/check/elements/filesrc.c: (GST_START_TEST),
10181         (filesrc_suite):
10182         Add unit test for the GstURIHandler interface in filesrc. This also
10183         tests the newly added file://localhost/foo/bar support.
10184
10185 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
10186
10187         * gst/gstelementfactory.h:
10188           The klass string is not a hierarchy. Add reference to the design doc
10189           for more information and common types.
10190
10191 2007-02-02  Wim Taymans  <wim@fluendo.com>
10192
10193         * gst/gstquery.c: (gst_query_new_latency):
10194         Remove old structure field.
10195
10196 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
10197
10198         * tools/gst-launch.1.in:
10199           Give example for network streaming (#351998)
10200
10201 2007-02-02  Wim Taymans  <wim@fluendo.com>
10202
10203         * docs/gst/gstreamer-sections.txt:
10204         Add docs for new methods.
10205
10206         * gst/gstevent.c: (gst_event_new_latency),
10207         (gst_event_parse_latency):
10208         * gst/gstevent.h:
10209         Add new LATENCY event to configure latency in a pipeline.
10210         API: gst_event_new_latency
10211         API: gst_event_parse_latency
10212
10213         * gst/gstmessage.c: (gst_message_new_buffering),
10214         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
10215         (gst_message_new_latency), (gst_message_parse_buffering),
10216         (gst_message_parse_lost_preroll):
10217         * gst/gstmessage.h:
10218         Added messages used in draft-latency.
10219         API: gst_message_new_lost_preroll
10220         API: gst_message_parse_lost_preroll
10221         API: gst_message_new_prerolled
10222         API: gst_message_new_latency
10223
10224         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
10225         (gst_query_parse_latency):
10226         * gst/gstquery.h:
10227         Implemented new latency query as in design doc.
10228         API: gst_query_new_latency
10229         API: gst_query_set_latency
10230         API: gst_query_parse_latency
10231
10232 2007-02-02  Wim Taymans  <wim@fluendo.com>
10233
10234         * docs/design/draft-latency.txt:
10235         Slight redesign to allow for dynamic latency adjustments.
10236
10237         * docs/design/part-negotiation.txt:
10238         Fix some typos.
10239
10240 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
10241
10242         reviewed by: Wim Taymans <wim@fluendo.com>
10243
10244         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
10245         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
10246         Allow file://localhost/foo/bar URLs and correctly fail for every other
10247         hostname that one sets. This was gnomevfssrc is linked for those if
10248         installed as it can handle it (#403172)
10249
10250 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
10251
10252         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
10253
10254         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10255         (unref_data), (gst_collect_pads_add_pad_full):
10256         * libs/gst/base/gstcollectpads.h:
10257         Don't put the previously added destroy notify in the GstCollectData
10258         struct as all it's padding is already used and we don't want to break
10259         ABI. Instead put in the pad's GObject data for now. This should be
10260         cleaned up for 0.11 (#402393).
10261
10262 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
10263
10264         reviewed by: Wim Taymans <wim@fluendo.com>
10265
10266         * docs/libs/gstreamer-libs-sections.txt:
10267         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10268         (unref_data), (gst_collect_pads_add_pad),
10269         (gst_collect_pads_add_pad_full):
10270         * libs/gst/base/gstcollectpads.h:
10271         API: Add function to specify a destroy notification for custom
10272         GstCollectData when adding new pads in GstCollectPads (#402393).
10273
10274 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
10275
10276         * po/sv.po:
10277           Update Swedish translation (#378255).
10278
10279 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
10280
10281         * docs/design/draft-klass.txt:
10282           Fix the previous change, this is a list of categories and not a hierarchy.
10283
10284 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
10285
10286         * docs/design/draft-klass.txt:
10287           Add info about how to get a list of used classes.
10288
10289 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
10290
10291         * plugins/elements/gsttypefindelement.c:
10292         (gst_type_find_element_chain_do_typefinding),
10293         (gst_type_find_element_change_state):
10294           Don't leak found caps in chain function (no idea why that never
10295           showed up as a leak anywhere).
10296
10297 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
10298
10299         * gst/gstplugin.h:
10300           Fix and expand GstPluginDesc API docs.
10301
10302 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
10303
10304         * gst/gstcaps.c:
10305         * gst/gstelementfactory.c:
10306         * gst/gstpadtemplate.h:
10307           api doc fixes
10308
10309         * libs/gst/controller/gstcontroller.c:
10310         (gst_controlled_property_new):
10311         * tests/examples/controller/audio-example.c:
10312           comment fixes
10313
10314 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
10315
10316         * configure.ac:
10317           comment about refining the xml deps
10318
10319         * docs/manuals.mak:
10320           comments about moving away from jade for docs
10321         
10322         * gst/gst.c:
10323           recommit the ifdefs to use the binary registry
10324         
10325         * gst/gstbin.c: (gst_bin_change_state_func):
10326           this break is obsolete
10327
10328         * gst/gstelementfactory.h:
10329           better GST_ELEMENT_DETAILS docs, add comment about translation
10330
10331         * gst/gstinfo.h:
10332           remove eol slash
10333
10334         * gst/gstobject.c: (gst_signal_object_get_type):
10335           add G_UNLIKELY as usual
10336
10337         * gst/gstpad.c: (gst_pad_event_default):
10338           add fall trhu comment
10339
10340         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10341         (gst_registry_binary_initialize_magic),
10342         (gst_registry_binary_save_string),
10343         (gst_registry_binary_save_pad_template),
10344         (gst_registry_binary_save_feature),
10345         (gst_registry_binary_save_plugin),
10346         (gst_registry_binary_write_cache),
10347         (gst_registry_binary_check_magic),
10348         (gst_registry_binary_load_pad_template),
10349         (gst_registry_binary_load_feature),
10350         (gst_registry_binary_load_plugin),
10351         (gst_registry_binary_read_cache):
10352           comment typo and formatting
10353
10354         * gst/gstutils.c: (gst_element_state_get_name),
10355         (gst_element_state_change_return_get_name):
10356           remove obsolete breaks
10357
10358         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
10359           add FIXME 0.11 and remove cpp comment
10360
10361 2007-01-29  Edward Hervey  <edward@fluendo.com>
10362
10363         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10364         Fix print statement in an even more portable way.
10365
10366 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
10367
10368         * docs/gst/gstreamer-sections.txt:
10369         * gst/gstutils.h:
10370           API: add GST_ROUND_DOWN_* macros (#401781).
10371
10372 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
10373
10374         * docs/gst/gstreamer.types.in:
10375         * gst/gstregistry.c: (gst_registry_class_init):
10376           Document registry signals and make gtk-doc pick them up (#401381).
10377
10378 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
10379
10380         * docs/pwg/building-testapp.xml:
10381           Add some audioconverts and audioresample to the pipeline, and some
10382           more comments and error handling.
10383
10384 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
10385
10386         * docs/manual/manual.xml:
10387         * docs/pwg/pwg.xml:
10388           Fix typo (#400987).
10389
10390 2007-01-26  Wim Taymans  <wim@fluendo.com>
10391
10392         * gst/gstcaps.c: (gst_static_caps_get):
10393         Init caps flags too.
10394
10395 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
10396
10397         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
10398
10399         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
10400         If not using mmap'ed files try to seek to the end instead of the
10401         start to determine whether we can seek at all. This fixes the case
10402         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
10403         seeks for everything afterwards fail. Fixes #400656
10404
10405 2007-01-25  Wim Taymans  <wim@fluendo.com>
10406
10407         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
10408         Add some refcount debugging.
10409         Make gst_static_caps_get threadsafe, which is needed when autoplugging
10410         in multiple streaming threads.
10411
10412 2007-01-25  Wim Taymans  <wim@fluendo.com>
10413
10414         Patch by: David Schleef <ds at schleef dot org>
10415
10416         * docs/libs/gstreamer-libs-sections.txt:
10417         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
10418         * libs/gst/base/gstadapter.h:
10419         API: gst_adapter_copy() that can reduce the amount of memcpy when
10420         getting data from the adapter. Fixes #388201.
10421
10422 2007-01-25  Edward Hervey  <edward@fluendo.com>
10423
10424         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10425         In print statements, "%x" is for guint. Fixes build on macosx.
10426
10427 2007-01-24  Edward Hervey  <edward@fluendo.com>
10428
10429         * plugins/elements/gstmultiqueue.c:
10430         (gst_multi_queue_loop):
10431         Small fix.
10432         (single_queue_overrun_cb), (single_queue_underrun_cb),
10433         (single_queue_check_full), (gst_single_queue_new):
10434         Implement single queue growth system.
10435         This uses the extra-size properties, and will grow single queues by
10436         that much if one goes full whereas there are others empty. This is
10437         called extra-mode in the code.
10438         When a single queue's levels go back below the initial max-size
10439         limits, it is no longer in extra-mode. This is to ensure we don't
10440         consume too much memory.
10441         Fixes #399875
10442
10443 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
10444
10445         * gst/gst.c: (gst_init_get_option_group):
10446           Make warning about late g_thread_init() calls a bit more explicit,
10447           so that it's more obvious to application developers what they need
10448           to do if a user files a bug against their application.
10449
10450 2007-01-22  Edward Hervey  <edward@fluendo.com>
10451
10452         * plugins/elements/gstmultiqueue.c:
10453         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
10454         Remove previous hack of unsetting the flushing flag for the source pad
10455         instead of activating it. Instead, fix the source pad activate function
10456         so that it no longer depends on having a parent set or not.
10457
10458 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
10459
10460         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
10461
10462         * docs/manual/basics-bus.xml:
10463           Fix example code, gst_element_unref() doesn't exist any longer.
10464
10465 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
10466
10467         Patch by: Mark Nauwelaerts <manauw at skynet be>
10468
10469         * gst/gstpad.c:
10470           Fix two docs typoes (#399094).
10471
10472 2007-01-19  Edward Hervey  <edward@fluendo.com>
10473
10474         * docs/faq/gst-uninstalled:
10475         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
10476         depending on libgstbaseutils can work in uninstalled environment.
10477
10478 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
10479
10480         * gst/gsttaglist.h:
10481         * gst/gsttagsetter.c:
10482         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
10483         statement for new tag.
10484
10485 2007-01-17  Edward Hervey  <edward@fluendo.com>
10486
10487         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
10488         When dynamically creating single queues, activate sinkpad before adding
10489         it.
10490         We should be doing the same thing for the source pad, but we can't
10491         since it would call a method which needs the parent to be set in order
10492         to work propertly. Instead of activating the source pad, we just unset
10493         the flushing flag, which is the minimal requirement for adding a pad
10494         to an element in a state greater than READY.
10495
10496 2007-01-17  Edward Hervey  <edward@fluendo.com>
10497
10498         * docs/faq/gst-uninstalled:
10499         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
10500         Mac OS X.
10501
10502 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
10503
10504         * tests/check/gst/gstabi.c:
10505         * tests/check/gst/struct_hppa.h:
10506         * tests/check/libs/libsabi.c:
10507         * tests/check/libs/struct_hppa.h:
10508           Add ABI structs for HPPA (see #393796).
10509
10510 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
10511
10512         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
10513           Actually write ABI structs to the file specified in the GST_ABI
10514           environment variable, as the message we print claims we would.
10515
10516 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10517
10518         * tests/check/gst/gsttask.c:
10519           Fix header comment.
10520
10521 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10522
10523         * gst/gsttaglist.c: (_gst_tag_initialize):
10524           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
10525           previous two entries.
10526
10527 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10528
10529         * docs/gst/gstreamer-sections.txt:
10530         * gst/gsttaglist.c: (_gst_tag_initialize):
10531         * gst/gsttaglist.h:
10532           Add tag support for beat-per-minute.
10533
10534 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10535
10536         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10537         (gst_registry_binary_initialize_magic),
10538         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
10539         (gst_registry_binary_save_pad_template),
10540         (gst_registry_binary_save_feature),
10541         (gst_registry_binary_save_plugin),
10542         (gst_registry_binary_write_cache),
10543         (gst_registry_binary_check_magic),
10544         (gst_registry_binary_load_pad_template),
10545         (gst_registry_binary_load_feature),
10546         (gst_registry_binary_load_plugin),
10547         (gst_registry_binary_read_cache):
10548         * gst/gstregistrybinary.h:
10549           Use glib types, cleanup comments, impement interfaces and uri-types.
10550
10551 2007-01-13  Andy Wingo  <wingo@pobox.com>
10552
10553         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
10554         getrange() to return buffers with other caps, while we fix
10555         demuxers and typefind, or otherwise change part-negotiation.txt.
10556
10557 2007-01-12  Andy Wingo  <wingo@pobox.com>
10558
10559         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
10560         Factor start/stop into this private function instead of partially
10561         in activate functions and partially in the change_state function.
10562         Fixes setup before the element has changed from READY->PAUSED, as
10563         is the case in pull-mode pipelines.
10564         (gst_base_transform_sink_activate_push)
10565         (gst_base_transform_src_activate_pull): Refactor to use
10566         gst_base_transform_activate().
10567         (gst_base_transform_change_state): Removed, not needed any more.
10568
10569         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10570         Truncate before fixating.
10571         
10572         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10573         Don't set_caps() if the result of fixating is ANY, as it's not
10574         supported, and not necessary in the case of a link with no
10575         template caps on either side. Fixes tests/check/libs/basesrc in
10576         some pull-mode tests.
10577
10578         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
10579         (gst_base_transform_init, gst_base_transform_sink_activate_push)
10580         (gst_base_transform_src_activate_pull): 
10581         Track the activation mode.
10582         (gst_base_transform_setcaps): In pull mode, when activating the
10583         src pad, after activating the sink pad, activate the sink pad's
10584         peer, as discussed in part-negotiation.txt.
10585
10586         * libs/gst/base/gstbasesrc.h: 
10587         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
10588         vmethod, as in basesink.
10589
10590         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
10591
10592         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
10593         mode, first proxy the setcaps to the peer pad.
10594         (gst_base_sink_pad_fixate): Add a fixate function that calls the
10595         new fixate vmethod.
10596         (gst_base_sink_default_activate_pull): Rename from
10597         gst_base_sink_activate_pull.
10598         (gst_base_sink_negotiate_pull): New function, performs negotiation
10599         in pull mode before calling ::activate_pull().
10600         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
10601         vmethod instead of the default implementation. I have no idea how
10602         this worked before. Negotiate before calling activate_pull.
10603
10604         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
10605         sink pads in pull mode. In addition to being correct, fixes
10606         filesrc ! decodebin ! identity ! fakesink.
10607         (gst_pad_get_range, gst_pad_pull_range): Don't call
10608         gst_pad_set_caps() if the caps changes; instead error out with
10609         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
10610
10611 2007-01-12  Andy Wingo  <wingo@pobox.com>
10612
10613         * docs/design/part-negotiation.txt: Update with more policy.
10614
10615 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10616
10617         * libs/gst/check/gstbufferstraw.h:
10618         * libs/gst/check/gstcheck.h:
10619           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
10620           belongs.
10621
10622 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10623
10624         * tests/check/Makefile.am:
10625         * tests/check/gst/.cvsignore:
10626         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
10627         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
10628         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
10629         (GST_START_TEST), (gst_tag_setter_suite):
10630           Add minimal unit test for beforementioned GstTagSetter bug.
10631
10632 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10633
10634         Patch by: René Stadler <mail at renestadler dot de>
10635
10636         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
10637           gst_tag_list_merge() returns a new list, so it's not the best idea
10638           to ingore its return value. Effectively meant that tags could only
10639           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
10640           Also add function guard to require a non-NULL taglist as input (has
10641           always been so due to gst_tag_list_copy(), just making it explicit).
10642
10643 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10644
10645         * docs/random/draft-missing-plugins.txt:
10646           Some additions: mention new API that is supposed to be used at the
10647           various stages; short blob about new gst-inspect introspection
10648           option; mention potential future problem with plugins that have
10649           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
10650
10651 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10652
10653         * tools/gst-inspect.c:
10654         (print_plugin_automatic_install_info_codecs),
10655         (print_plugin_automatic_install_info_protocols),
10656         (print_plugin_automatic_install_info), (main):
10657         Add --print-plugin-auto-install-info option to gst-inspect, so we can
10658         introspect plugin files and get machine-parsable output that corresponds
10659         to the last bit of the missing-plugin installer string (small gotcha:
10660         doesn't take into account ranks).
10661
10662 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
10663
10664         * configure.ac:
10665         * docs/gst/gstreamer-sections.txt:
10666         * gst/Makefile.am:
10667         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
10668         (gst_registry_lookup_locked):
10669         * gst/gstregistry.h:
10670         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10671         (gst_registry_binary_initialize_magic),
10672         (gst_registry_binary_save_string),
10673         (gst_registry_binary_save_pad_template),
10674         (gst_registry_binary_save_feature),
10675         (gst_registry_binary_save_plugin),
10676         (gst_registry_binary_write_cache),
10677         (gst_registry_binary_check_magic),
10678         (gst_registry_binary_load_pad_template),
10679         (gst_registry_binary_load_feature),
10680         (gst_registry_binary_load_plugin),
10681         (gst_registry_binary_read_cache):
10682         * gst/gstregistrybinary.h:
10683         * gst/gstregistryxml.c: (load_feature),
10684         (gst_registry_xml_read_cache):
10685           commit binary registry (disabled by default, see #359653)
10686
10687 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10688
10689         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
10690           Fix 'make check' too.
10691
10692 2007-01-10  Andy Wingo  <wingo@pobox.com>
10693
10694         * docs/design/part-negotiation.txt: Fix a typo, add a couple
10695         notes.
10696         
10697         * docs/design/part-negotiation.txt: Update with, um, one way that
10698         pull-mode negotiation might work?
10699
10700         * gst/gstpad.h: 
10701         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
10702         that the pad must be a src pad; makes sense to call it the other
10703         way in pull mode, and the logic is symmetric anyway.
10704
10705 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
10706
10707         * plugins/elements/gstfilesink.c:
10708           Include <stdio.h> for fseeko().
10709
10710 2007-01-10  Wim Taymans  <wim@fluendo.com>
10711
10712         * gst/gstevent.c:
10713         * gst/gstevent.h:
10714         Reserve LATENCY event.
10715
10716 2007-01-09  Wim Taymans  <wim@fluendo.com>
10717
10718         * docs/design/draft-latency.txt:
10719         Updates.
10720
10721 2007-01-09  Wim Taymans  <wim@fluendo.com>
10722
10723         * docs/design/draft-latency.txt:
10724         Updates.
10725
10726         * gst/gstelement.h:
10727         * gst/gststructure.c:
10728         * gst/gsttrace.c:
10729         Small typo fixes.
10730
10731 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
10732
10733         * tests/check/.cvsignore:
10734           Ignore test-registry.xml as well.
10735
10736 2007-01-09  Wim Taymans  <wim@fluendo.com>
10737
10738         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
10739         unref data at the end when we are done with the pad.
10740
10741 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
10742
10743         * docs/gst/gstreamer-sections.txt:
10744         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
10745         (init_post), (gst_deinit), (gst_update_registry):
10746         * gst/gst.h:
10747           API: add gst_update_registry() (#391296).
10748
10749         * tests/check/Makefile.am:
10750         * tests/check/gst/gstregistry.c:
10751         * tests/check/gst/.cvsignore:
10752           Simple unit test for the above.
10753
10754 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
10755
10756         * gst/gstregistry.c: (gst_registry_scan_path_level):
10757           Plugin extension on HP-UX is .sl, add that to the list of approved
10758           plugin extensions (see #393796).
10759
10760         * tests/check/gst/gstpad.c: (GST_START_TEST):
10761           ulong => gulong. Fixes compilation with HP-UX compiler.
10762
10763         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
10764           Fix compilation if valgrind headers are not available.
10765
10766 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
10767
10768         * win32/common/libgstreamer.def: 
10769           Add new exported function.
10770         * win32/vs6/libgstbase.dsp: 
10771           Add gstdataqueue.c to the build.
10772         * win32/vs6/libgstcoreelements.dsp:
10773           Add gstmultiqueue.c to the build.
10774         
10775 2007-01-06  Andy Wingo  <wingo@pobox.com>
10776
10777         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
10778         activate_pull(), providing for a way to specialize the process of
10779         spawning a thread to pull on the sink pad. There is a default
10780         implementation.
10781
10782         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
10783         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
10784         (gst_base_sink_init): Renamed pad activation functions (inserting
10785         "_pad" in their names). Refactor to use the new activate_pull
10786         vmethod, as appropriate.
10787         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
10788         default activate_pull function to start a task pulling from the
10789         sink pad, as before.
10790
10791         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
10792         on the pads if necessary, as in push()/chain(). Update docs.
10793         Shouldn't affect existing pull() usage as it is currently only
10794         being used on buffers without caps.
10795
10796 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10797
10798         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
10799         (init_pre):
10800           Call g_thread_init() first thing in gst_init() / gst_check_init().
10801           When initialisation is done via gst_init_get_option_group() and
10802           GOption parsing, issue a warning if the GLib thread system has not
10803           been initialised yet by the time gst_init_get_option_group() is
10804           called, as it's quite likely other GLib functions such as
10805           g_option_context_new() have been called already then, and
10806           g_thread_init() must be called before any other GLib function. The
10807           application in question must be fixed in that case, since memory
10808           corruption might happen otherwise.
10809           We issue the warning because even if the GLib folks decide to work
10810           around the problem on their end in future, this is still an issue
10811           with all GLib versions >= 2.10.0, so we should warn until we depend
10812           on a GLib version we know to be safe.
10813           Update documentation as well.
10814           Closes bug #391278.
10815
10816 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10817
10818         * tools/gst-inspect.c: (main):
10819         * tools/gst-launch.c: (main):
10820         * tools/gst-typefind.c: (main):
10821         * tools/gst-xmlinspect.c: (main):
10822           Call g_thread_init() really really early, before any other GLib
10823           function (see #342564 and recent discussion on gtk-devel-list).
10824
10825 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10826
10827         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
10828
10829         * gst/gst_private.h:
10830         * gst/gstconfig.h.in:
10831         * gst/gstinfo.h:
10832           On win32, all the __declspec stuff for symbol exporting is
10833           apparently only needed with MSVC, but doesn't work with MingW.
10834           Fixes compilation with MingW and #391909.
10835
10836 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10837
10838         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
10839           Change some GST_ERROR_OBJECT that aren't really errors to
10840           GST_WARNING_OBJECT in order to reduce terminal spam.
10841
10842 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
10843
10844         * tests/check/Makefile.am:
10845           disable test again, as there seem to be still race problems
10846
10847 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
10848
10849         * tests/check/Makefile.am:
10850         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10851         (GST_START_TEST), (queue_suite):
10852           enable queue test again, add tests for the leaky behaviour
10853
10854 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
10855
10856         * configure.ac:
10857         * tests/examples/Makefile.am:
10858           Compile adapter test/example only if the required headers are
10859           available (fixes #391915).
10860
10861 2007-01-01  David Schleef  <ds@schleef.org>
10862
10863         * gst/gstplugin.c:
10864           Restore the previous signal handler for SIGSEGV instead of
10865           setting to default, since we may have stolen it away from
10866           someone.  (i.e., Mono)
10867
10868 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
10869
10870         * docs/random/draft-missing-plugins.txt:
10871           Some small additions and clarifications.
10872
10873 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
10874
10875         * gst/gstregistryxml.c: (gst_registry_save_escaped):
10876           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
10877           since that can lead to random memory corruptions and crashes
10878           (may or may not be related to #383244, #386711, and #386711).
10879
10880 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10881
10882         * tests/check/.cvsignore:
10883         * tests/check/Makefile.am:
10884           sync .cvsignome and CLEANFILES
10885
10886 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10887
10888         * tests/check/Makefile.am:
10889           fix distcheck
10890
10891 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10892
10893         * docs/design/part-states.txt:
10894           two tiny additional comments
10895         
10896         * gst/gststructure.c:
10897           doc fixing
10898
10899         * tests/check/Makefile.am:
10900         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10901         (GST_START_TEST):
10902           disable test for now, unless it gets fixed
10903
10904 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10905
10906         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10907         (GST_START_TEST):
10908           fix race in underrun test
10909
10910 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10911
10912         * tests/check/elements/.cvsignore:
10913           ignore more
10914
10915         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10916         (GST_START_TEST):
10917           try to narrow test failure
10918
10919 2006-12-21  David Schleef  <ds@schleef.org>
10920
10921         * plugins/elements/gstfakesrc.c:
10922           Use g_random_int_range(), since it produces better random
10923           numbers in a range than almost-correct floating point code.
10924
10925 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10926
10927         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
10928         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
10929         (gst_check_teardown_sink_pad):
10930           do not automatically (de)activate pads
10931
10932         * tests/check/Makefile.am:
10933         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10934         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
10935           add new, yet simple tests for queue
10936
10937         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
10938         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
10939         * tests/check/elements/filesrc.c: (cleanup_filesrc),
10940         (GST_START_TEST):
10941         * tests/check/elements/identity.c: (cleanup_identity):
10942           consistent pad (de)activation
10943
10944 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
10945
10946         Patch by: Sebastian Dröge  <slomo ubuntu com>
10947
10948         * libs/gst/base/gstcollectpads.c:
10949           Fix two doc typos (#387866).
10950
10951 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
10952
10953         * docs/manual/advanced-dparams.xml:
10954           Fix typo (g_object_control_properties() doesn't exist).
10955
10956 2006-12-19  Edward Hervey  <edward@fluendo.com>
10957
10958         * gst/gstsegment.c: (gst_segment_set_seek):
10959         Fine tune the cases where the segment start/stop values are really
10960         updated.
10961         * tests/check/gst/gstsegment.c: (GST_START_TEST):
10962         Add tests for the return values of gst_segment_set_seek().
10963
10964 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
10965
10966         * gst/gst.c:
10967           Docs typo fix.
10968
10969         * plugins/elements/gstqueue.c: (gst_queue_class_init),
10970         (gst_queue_init):
10971           Fix incorrect documentation and flesh it out a bit more.
10972           Set default values for the max properties on the GParamSpec as well,
10973           so it shows up correctly in gst-inspect.
10974
10975 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
10976
10977         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
10978           Correct docs of queue, add more detail and crosslink it more.
10979
10980 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
10981
10982         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
10983           Print additional debug info when the stream isn't perfectly
10984           timestamped; don't try to use invalid durations.
10985
10986 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
10987
10988         * docs/design/Makefile.am:
10989           Dist new design docs.
10990
10991 2006-12-16  Wim Taymans  <wim@fluendo.com>
10992
10993         Patch by: Sjoerd Simons <sjoerd at luon dot net>
10994
10995         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
10996         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
10997         (gst_collect_pads_stop), (gst_collect_pads_event),
10998         (gst_collect_pads_chain):
10999         * libs/gst/base/gstcollectpads.h:
11000         Add refcounting to the collectpads data so we can track when it's safe
11001         to free the data. Fixes #383382.
11002
11003 2006-12-15  Wim Taymans  <wim@fluendo.com>
11004
11005         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
11006         (gst_collect_pads_remove_pad):
11007         Automatically activate/deactivate pads when they are added to a
11008         started/stoped collectpads.
11009
11010 2006-12-15  Wim Taymans  <wim@fluendo.com>
11011
11012         * gst/gstelement.c: (gst_element_add_pad):
11013         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
11014         * gst/gstpad.c: (gst_pad_init):
11015         Set pads to FLUSHING when they are created. Check, warn and fix when a
11016         demuxer adds an inactive pad to itself when running. Fixes #339326.
11017
11018 2006-12-15  Wim Taymans  <wim@fluendo.com>
11019
11020         * gst/gstelement.c: (gst_element_class_init),
11021         (gst_element_default_send_event), (gst_element_send_event),
11022         (gst_element_default_query), (gst_element_query):
11023         Expose default element send_event and query handling as vmethods that
11024         subclasses can chain up to.
11025
11026 2006-12-15  Wim Taymans  <wim@fluendo.com>
11027
11028         * gst/gstelement.c: (gst_element_set_state_func):
11029         Small documentation fixes.
11030
11031 2006-12-15  Wim Taymans  <wim@fluendo.com>
11032
11033         * docs/design/draft-latency.txt:
11034         Checked in draft for handling latency in pipelines.
11035
11036 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11037
11038         * Makefile.am:
11039         * gstreamer.doap:
11040         * gstreamer.spec.in:
11041           adding .doap file
11042
11043 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
11044
11045         * gst/gst.c: (init_pre), (init_post):
11046           init_pre() and init_post() might be called via our GOptionGroup or
11047           from gst_init(), and we should skip both of them if we've already
11048           been initialised, otherwise we will init some things twice or add
11049           two default log functions.
11050
11051 2006-12-13  Edward Hervey  <edward@fluendo.com>
11052
11053         * docs/manual/basics-bus.xml:
11054         No, gst_main_loop does not exist. Its g_main_loop.
11055         Discovered by somebody who abused the copy-paste technique of coding :)
11056
11057 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
11058
11059         * gst/gstghostpad.c:
11060           Log ghostpad debug stuff to the GST_PADS category as well rather
11061           than just to the default category.
11062
11063 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
11064
11065         * configure.ac:
11066         * gst/gst.c: (init_pre):
11067           Add some basic system details such as OS and architecture
11068           to the debug output if possible, courtesy of uname().
11069
11070 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
11071
11072         * docs/gst/running.xml:
11073           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
11074           environment variables.
11075
11076 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
11077
11078         * tests/check/gst/gstbin.c: (GST_START_TEST):
11079         It is acceptable to have a refcount of 2 or 3 at this point in the
11080         test, because the pipeline might be just posting its state_change
11081         message. The next line then waits for that message to appear using
11082         bus_poll, so that should be fine too.
11083
11084 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
11085
11086         * gst/gst.c: (ensure_current_registry_forking):
11087         Ignore EINTR when reading from the child registry pipe.
11088         Explicitly ignore the return value from close, since it makes no
11089         difference.
11090
11091         * gst/gstminiobject.c: (gst_mini_object_ref),
11092         (gst_mini_object_unref):
11093         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
11094
11095         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
11096         When removing cached plugins, remove their features too, so they're
11097         not visible after they've disappeared.
11098
11099         * gst/gstutils.c: (prepare_link_maybe_ghosting):
11100         In the unlikely case that we are linking pads with no parents, don't
11101         crash trying to get the non-existent parent bin.
11102
11103         * gst/parse/grammar.y:
11104         Output debug in the PIPELINE category
11105
11106 2005-03-08  Wim Taymans  <wim@fluendo.com>
11107
11108         Patch by: René Stadler <mail at renestadler dot de>
11109
11110         * gst/gstclock.c: (gst_clock_new_periodic_id):
11111         Reject invalid clock times for interval of periodic ids.
11112         Fixes ##383506.
11113
11114 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
11115
11116         * gst/gstelementfactory.c: (gst_element_factory_create):
11117         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
11118         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
11119         * tools/gst-inspect.c: (print_element_info):
11120         Fix refcounting of gst_plugin_feature_load to match the docs. 
11121         Fixes: #380129
11122
11123 2006-12-07  Wim Taymans  <wim@fluendo.com>
11124
11125         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
11126         (gst_base_sink_get_position):
11127         Improve debugging of events.
11128
11129 2006-12-07  Wim Taymans  <wim@fluendo.com>
11130
11131         Patch by: René Stadler <mail at renestadler dot de>
11132
11133         * gst/gstclock.c: (gst_clock_id_wait):
11134         Make period ids add the interval to the origial requested time instead
11135         of the possibly updated time which can be wrong when there are multiple
11136         waiters for the same id. Fixes #382592.
11137
11138         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
11139         (gst_system_clock_id_wait_jitter_unlocked),
11140         (gst_system_clock_id_wait_jitter):
11141         Fix restart in the async notify thread when an async entry is added to
11142         the front of the list. Fixes #381492. 
11143
11144         * tests/check/gst/gstsystemclock.c: (store_callback),
11145         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
11146         Added test for multiple async waits.
11147         Added test for async wait order.
11148
11149 2006-12-07  Wim Taymans  <wim@fluendo.com>
11150
11151         * gst/gstbin.c: (gst_bin_query):
11152         Add some more docs about the POSITION query.
11153
11154 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
11155
11156         * configure.ac:
11157         Bump version nano - back to CVS.
11158
11159 === release 0.10.11 ===
11160
11161 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
11162
11163         * configure.ac:
11164           releasing 0.10.11, "Love never runs on time"
11165
11166 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
11167
11168         * win32/common/libgstbase.def:
11169         * win32/common/libgstreamer.def:
11170         * win32/vs8/libgstbase.vcproj:
11171         * win32/vs8/libgstcoreelements.vcproj:
11172         * win32/vs8/libgstreamer.vcproj:
11173         Fix compilation on win32 under VS8
11174         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11175         Partially fixes #381175
11176
11177 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
11178
11179         * gst/gstvalue.c: (gst_value_compare_fraction):
11180         If someone is foolish enough to compare 2 fractions with denominator =
11181         0, return UNORDERED rather than aborting.
11182
11183 2006-11-28  Edward Hervey  <edward@fluendo.com>
11184
11185         * libs/gst/base/Makefile.am:
11186         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
11187         (gst_data_queue_base_init), (gst_data_queue_class_init),
11188         (gst_data_queue_init), (gst_data_queue_new),
11189         (gst_data_queue_cleanup), (gst_data_queue_finalize),
11190         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
11191         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
11192         (gst_data_queue_is_empty), (gst_data_queue_is_full),
11193         (gst_data_queue_set_flushing), (gst_data_queue_push),
11194         (gst_data_queue_pop), (gst_data_queue_drop_head),
11195         (gst_data_queue_set_property), (gst_data_queue_get_property):
11196         * libs/gst/base/gstdataqueue.h:
11197         New GstDataQueue object for threadsafe queueing. Most useful for
11198         elements that need some queueing functionnality.
11199         * docs/libs/gstreamer-libs-docs.sgml:
11200         * docs/libs/gstreamer-libs-sections.txt:
11201         Insert documentation for GstDataQueue
11202         * plugins/elements/Makefile.am:
11203         * plugins/elements/gstelements.c:
11204         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
11205         (gst_multi_queue_class_init), (gst_multi_queue_init),
11206         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
11207         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
11208         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
11209         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
11210         (gst_multi_queue_loop), (gst_multi_queue_chain),
11211         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
11212         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
11213         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
11214         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
11215         (wake_up_next_non_linked), (compute_next_non_linked),
11216         (single_queue_overrun_cb), (single_queue_underrun_cb),
11217         (single_queue_check_full), (gst_single_queue_new):
11218         * plugins/elements/gstmultiqueue.h:
11219         New multiqueue element, using GstDataQueue. Used for queuing multiple
11220         streams.
11221         Closes #344639 and #347785
11222
11223 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
11224
11225         * docs/pwg/advanced-types.xml:
11226           add more missing type details
11227
11228         * tools/gst-run.c: (main):
11229           remove unused variable
11230
11231 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
11232
11233         * docs/libs/Makefile.am:
11234         * docs/libs/gstreamer-libs.types:
11235           add types of base classes to enable gobject specific stuff in the docs
11236
11237         * docs/random/ensonic/embedded.txt:
11238           more ideas about isolating platform specific things
11239
11240 2006-11-20  Wim Taymans  <wim@fluendo.com>
11241
11242         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
11243
11244         * libs/gst/check/gstcheck.h:
11245         Fix compilation and running against 0.9.4. Fixes #377332.
11246
11247 2006-11-20  Wim Taymans  <wim@fluendo.com>
11248
11249         * gst/gstsegment.c: (gst_segment_set_seek),
11250         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
11251         (gst_segment_to_running_time):
11252         Fix boundary checking in to_running_time() and to_stream_time().
11253         Fixes #377183.
11254
11255         * tests/check/gst/gstsegment.c: (GST_START_TEST):
11256         stream and running time can now be calculated for the complete
11257         clipped segment.
11258
11259 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
11260
11261         * gst/gstpad.c: (gst_pad_push_event):
11262           Can't access event structure after giving away ownership of
11263           the event.
11264
11265 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
11266
11267         * docs/random/ensonic/embedded.txt:
11268         * docs/random/ensonic/profiling.txt:
11269         * docs/random/ensonic/receipies.txt:
11270           more thinking
11271
11272 2006-11-13  Wim Taymans  <wim@fluendo.com>
11273
11274         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11275
11276         * gst/gstpad.c:
11277         Fix documentation for gst_pad_dispatcher. Fixes #374475.
11278
11279 2006-11-13  Wim Taymans  <wim@fluendo.com>
11280
11281         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
11282
11283         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
11284         Store new length in segment duration so we don't keep on calling the
11285         potentially expensize get_size() call. Fixes #370865.
11286
11287 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
11288
11289         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
11290
11291         * win32/common/libgstreamer.def:
11292           Add two missing symbols (#366492).
11293
11294 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
11295
11296         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
11297         (gst_adapter_take_buffer):
11298         Fix format string to use all its arguments.
11299         Remove useless >= check on a guint
11300
11301 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11302
11303         * tests/examples/adapter/.cvsignore:
11304         Ignore build file as commanded by the build-bot
11305
11306 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11307
11308         * tests/examples/adapter/Makefile.am:
11309         * tests/examples/adapter/adapter_test.c: (run_test_take),
11310         (run_test_take_buffer), (run_tests), (main):
11311
11312         Add new files from the previous commit
11313
11314 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11315
11316         * Makefile.am:
11317         * configure.ac:
11318         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
11319         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
11320         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
11321         * libs/gst/base/gstadapter.h:
11322         * tests/check/libs/adapter.c: (create_and_fill_adapter),
11323         (GST_START_TEST), (gst_adapter_suite):
11324         * tests/examples/Makefile.am:
11325         Do some optimisation work in GstAdapter to avoid copies in more cases.
11326         It could still do slightly better by merging buffers when
11327         gst_buffer_is_span_fast is true, but is already faster. 
11328
11329         Also, avoid traversing a single-linked list to append each incoming 
11330         buffer inside the adapter.
11331
11332         Add simple test app that times the adapter behaviour in different
11333         situations, and extend the unit test to check that bytes enter and
11334         exit the adapter in their original order.
11335
11336 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
11337
11338         * docs/random/draft-missing-plugins.txt:
11339           Update: use element message instead of adding a new message
11340           type to the core; don't provide GStreamer API to initiate the
11341           plugin download, just provide API to compose the strings needed
11342           and let an external libgimmestuff handle the rest.
11343
11344 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
11345
11346         * tools/gst-inspect.c: (print_element_properties_info):
11347         Print a string instead of 'unknown type' for GValueArray properties
11348
11349 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
11350
11351         * docs/random/draft-missing-plugins.txt:
11352         More small fixes.
11353
11354 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
11355
11356         * tests/examples/typefind/typefind.c: (type_found), (main):
11357           Make typefind element example work again (#371894); add a
11358           license header.
11359
11360 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
11361
11362         * docs/random/draft-missing-plugins.txt:
11363           Commit initial draft about how to deal with missing plugins,
11364           needs work (API too).
11365
11366 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
11367
11368         * docs/pwg/advanced-types.xml:
11369           documents the new caps elements (see #363118)
11370
11371 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
11372
11373         * gst/gstplugin.c: (gst_plugin_load_file):
11374         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
11375         (gst_file_src_map_region), (gst_file_src_start):
11376         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
11377         (gst_file_index_commit):
11378           Use g_strerror() instead of strerror() - we want UTF-8.
11379
11380 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
11381
11382         Patch by: Peter Kjellerstedt <pkj at axis com>
11383
11384         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11385           Another printf fix (#371493).
11386
11387 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11388
11389         * tests/check/gst/gsttag.c:
11390           relicence (okay with author=company)
11391
11392 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11393
11394         * gst/gstpad.c: (gst_pad_event_default_dispatch),
11395         (gst_pad_push_event):
11396           Enhance debug and improve docs
11397         
11398         * gst/gsturi.c:
11399           Fix docs
11400
11401 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11402
11403         * docs/random/ensonic/distributed.txt:
11404         * docs/random/ensonic/profiling.txt:
11405           more ideas
11406
11407 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11408
11409         * docs/gst/gstreamer-sections.txt:
11410           add new API and fix the build
11411           
11412         * gst/gstbin.c: (gst_bin_recalc_state):
11413         * gst/gstelement.c: (gst_element_message_full),
11414         (gst_element_get_state_func), (gst_element_set_state_func):
11415           use new API and improve logging
11416         
11417         * gst/gstutils.c: (gst_element_state_change_return_get_name):
11418         * gst/gstutils.h:
11419           API: add function to get StateChangereturn names to improve logs 
11420
11421 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11422
11423         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
11424           I'm considering shooting the next person to put strerror stuff
11425           in the translateable part of the message.
11426
11427 2006-11-03  Wim Taymans  <wim@fluendo.com>
11428
11429         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11430         Get the type and printf conversion specifiers right.
11431
11432 2006-11-03  Wim Taymans  <wim@fluendo.com>
11433
11434         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11435
11436         * gst/gstpad.c: (gst_pad_init), (pre_activate),
11437         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
11438         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
11439         Some small cleanups. Improve debugging.
11440         * gst/gstpad.h:
11441         Signal all waiting threads with a broadcast instead of just one.
11442         Fixes #369942.
11443
11444 2006-11-03  Wim Taymans  <wim@fluendo.com>
11445
11446         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
11447         (gst_fd_src_create):
11448         Add some debugging. 
11449         Only update fd when it's different from the old.
11450
11451 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
11452
11453         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
11454           Printf fixes for PPC/OSX, take two (#369366).
11455
11456 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
11457
11458         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
11459
11460         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
11461         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
11462         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
11463           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
11464           don't cast to long long for portability reasons, but use
11465           GLib's types instead.
11466
11467 2006-10-30  Michael Smith  <msmith@fluendo.com>
11468
11469         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
11470           Get the arguments to lseek() the right way around.
11471           Fixes 367677.
11472
11473 2006-10-30  Wim Taymans  <wim@fluendo.com>
11474
11475         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
11476
11477         * gst/gstinfo.h:
11478         _declspec should be __declspec (two underscores, not one). Fixes 366572.
11479
11480 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
11481
11482         Patch by: Kjartan Maraas  <kmaraas at gnome org>
11483
11484         * docs/design/part-MT-refcounting.txt:
11485         * docs/random/wtay/capsnego2-docs:
11486         * gst/gstclock.c:
11487         * gst/gstxml.c:
11488           Typo fixes (#366212).
11489
11490 2006-10-28  Wim Taymans  <wim@fluendo.com>
11491
11492         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11493
11494         * gst/gst.c:
11495         * win32/common/libgstbase.def:
11496         * win32/common/libgstreamer.def:
11497         * win32/vs8/libgstbase.vcproj:
11498         * win32/vs8/libgstcontroller.vcproj:
11499         Add needed entries in .def files.
11500         Use HAVE_UNISTD_H.
11501         Rearrange def files in vs8 solutions. Fixes #366286.
11502
11503 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
11504
11505         * win32/common/gstconfig.h:
11506           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
11507           hand-made win32 gstconfig.h. Fixes #366321.
11508
11509 2006-10-27  Wim Taymans  <wim@fluendo.com>
11510
11511         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
11512         (gst_ghost_pad_new_full):
11513         Make acceptcaps return TRUE when we don't have a target, just like
11514         setcaps does.
11515
11516 2006-10-27  Wim Taymans  <wim@fluendo.com>
11517
11518         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11519         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
11520
11521 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
11522
11523         * gst/gststructure.c: (gst_structure_id_set_value):
11524           If someone tries to set a non-UTF8 string field on a structure,
11525           don't just print a warning, but also ignore the request and do
11526           not change/add that field to the structure.
11527
11528         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11529           Test for the above.
11530
11531 2006-10-25  David Schleef  <ds@schleef.org>
11532
11533         * gst/gstinfo.c:
11534           g_hash_table_insert() needs a cast to a non-const pointer duh.
11535
11536 2006-10-25  David Schleef  <ds@schleef.org>
11537
11538         * gst/gstinfo.c:
11539         * gst/gstinfo.h:
11540           Change name parameter of _gst_debug_register_funcptr to const
11541           to reflect the constness of its use in the function as well
11542           as to quiet a gcc warning.
11543
11544 2006-10-25  Edward Hervey  <edward@fluendo.com>
11545
11546         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11547         Don't push the buffer if it's empty.
11548         Closes #363095
11549
11550 2006-10-24  Wim Taymans  <wim@fluendo.com>
11551
11552         * gst/gstevent.h:
11553         Add small comment.
11554
11555         * libs/gst/base/gstbasetransform.c:
11556         (gst_base_transform_sink_eventfunc):
11557         Debug segment values *after* updating them as this is more
11558         interesting.
11559
11560 2006-10-23  Wim Taymans  <wim@fluendo.com>
11561
11562         * docs/design/part-events.txt:
11563         Update some docs.
11564
11565         * docs/design/part-block.txt:
11566         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
11567         (gst_pad_push_event):
11568         Revert BLOCKING patch, it tries to be smart without really having a
11569         clear idea what or how. So, now we discard all FLUSHING events again on
11570         a blocking pad. Should fix gnonlin again.
11571
11572 2006-10-23  Wim Taymans  <wim@fluendo.com>
11573
11574         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11575
11576         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
11577         (gst_base_src_start), (gst_base_src_activate_push):
11578         Make sure size is always initialized. Fixes #364388.
11579
11580 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
11581
11582         * docs/random/ensonic/distributed.txt:
11583           add some ideas about doing distributed processing
11584
11585         * docs/random/ensonic/profiling.txt:
11586           get_rusage look promising
11587
11588 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
11589
11590         * docs/manual/basics-helloworld.xml:
11591           Add a cast in example to fix compile warning
11592
11593 2006-10-18  Wim Taymans  <wim@fluendo.com>
11594
11595         * gst/gstsegment.c: (gst_segment_set_last_stop),
11596         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11597         Relax arg checking again, -1 is allowed.
11598
11599 2006-10-18  Wim Taymans  <wim@fluendo.com>
11600
11601         * gst/gstsegment.c: (gst_segment_set_last_stop),
11602         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11603         _set_last_stop() must be with a value != -1
11604         A _TYPE_SET to -1 means seek to 0.
11605         Calc last_stop correctly for negative rates.
11606         Make sure we work with positive durations when updating a segment.
11607
11608 2006-10-18  Wim Taymans  <wim@fluendo.com>
11609
11610         * docs/design/part-live-source.txt:
11611         * gst/gstclock.h:
11612         Small docs fixes.
11613
11614 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
11615
11616         * gst/gstbuffer.h:
11617           Add an explicit cast to GstBuffer** to keep old code that added an
11618           explicit cast to GstMiniObject** for gst_mini_object_replace()
11619           compiling without warning.
11620
11621 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
11622
11623         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
11624           check for validity of dates
11625
11626 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11627
11628         * docs/gst/gstreamer-sections.txt:
11629           Forgot this one, makes gtk-doc shut up.
11630
11631 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11632
11633         Patch by: Peter Kjellerstedt <pkj at axis com>
11634
11635         * gst/gstobject.h:
11636           Don't define xmlNodePtr to gpointer if the core was built with
11637           --disable-loadsave and --disable-registry, this will break
11638           applications that want to use libxml2 but are buildling against a
11639           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
11640           instead so we don't have to mess with the libxml2 namespace
11641           (#361675).
11642
11643 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11644
11645         * gst/gstbuffer.h:
11646           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
11647           type-punned pointer warnings.
11648
11649 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
11650
11651         * gst/gstelement.h:
11652           Add casts to the correct return type to state <=> state transition
11653           macros.
11654
11655 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
11656
11657         * docs/design/part-live-source.txt:
11658           describe howto handle latency
11659         
11660         * docs/random/ensonic/profiling.txt:
11661           more ideas
11662
11663         * tools/gst-plot-timeline.py:
11664           fix log parsing for solaris, remove unused function
11665
11666 2006-10-16  Wim Taymans  <wim@fluendo.com>
11667
11668         * docs/design/part-trickmodes.txt:
11669         * gst/gstevent.c:
11670         Update some docs regarding reverse playback.
11671
11672 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
11673
11674         Patch by: Marcus Granado  <mrc dot gran at gmail com>
11675
11676         * win32/vs8/grammar.vcproj:
11677           Error out with a warning if glib-genmarshal.exe is not in path,
11678           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
11679
11680 2006-10-13  Wim Taymans  <wim@fluendo.com>
11681
11682         * gst/gstsegment.c: (gst_segment_set_seek):
11683         When seeking to stop -1, set last_stop (current position) to the
11684         duration of the segment.
11685
11686 2006-10-13  Wim Taymans  <wim@fluendo.com>
11687
11688         * gst/gstelement.h:
11689         Clarify _NO_PREROLL a bit more.
11690
11691         * gst/gstevent.c:
11692         Fix docs.
11693
11694         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
11695         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
11696         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
11697         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
11698         due to wrong locking order. Fixes #361769.
11699         Remove some redundant/misplaced checks in pad_block.
11700
11701         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
11702         For negative rates, count backwards from the duration.
11703
11704 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
11705
11706         * gst/gsterror.c: (_gst_library_errors_init):
11707           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
11708           up with something better).
11709
11710 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
11711
11712         * win32/vs6/libgstreamer.dsp:
11713         * win32/vs7/libgstreamer.vcproj:
11714         * win32/vs8/libgstreamer.vcproj:
11715           Don't reference glib-compat.c which is currently not used and not
11716           disted; add gstquark.c which was recently added. Fixes #361730.
11717
11718 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
11719
11720         * win32/common/libgstbase.def:
11721         * win32/common/libgstcontroller.def:
11722         * win32/common/libgstreamer.def:
11723           Add gst_caps_merge() and a bunch of other recently-added functions.
11724           Fixes #361732.
11725
11726 2006-10-11  Wim Taymans  <wim@fluendo.com>
11727
11728         * docs/plugins/gstreamer-plugins.args:
11729         * docs/plugins/inspect/plugin-coreelements.xml:
11730         * docs/plugins/inspect/plugin-coreindexers.xml:
11731         Update element args.
11732
11733         * gst/gstsystemclock.c:
11734         Small comment update.
11735
11736         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
11737         (gst_tee_request_new_pad), (gst_tee_release_pad),
11738         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
11739         (gst_tee_sink_activate_pull):
11740         * plugins/elements/gsttee.h:
11741         Some tee loving:
11742         Add default property defines.
11743         Implement release pad function.
11744         Give properties better blubs etc.
11745         Activate pads before adding them to a running tee.
11746         Do simple buffer_alloc on the first requested pad.
11747         Post error when activation fails.
11748
11749 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
11750
11751         * gst/gst.c: (ensure_current_registry_forking):
11752           Check return value of write() to make compiler happy.
11753
11754 2006-10-11  Wim Taymans  <wim@fluendo.com>
11755
11756         Patch by: Sjoerd Simons <sjoerd at luon dot net>
11757
11758         * plugins/elements/gstqueue.c: (gst_queue_chain):
11759         Recheck queue filledness after signalling the overrun when we're about
11760         to leak downstream because we released the lock when emitting the signal
11761         and the queue could be empty again. Fixes #352345.
11762
11763 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
11764
11765         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
11766           Fix refcounting here too, just like we did for _new_valist() a few
11767           days ago (#357180) (thanks to René Stadler). Also remove all those
11768           'Since: 0.9' from the gtk-doc blobs.
11769
11770         * tests/check/libs/controller.c: (controller_refcount_new_list),
11771         (gst_controller_suite):
11772           Unit test for the above.
11773
11774 2006-10-10  Wim Taymans  <wim@fluendo.com>
11775
11776         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
11777
11778         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
11779         (gst_pad_save_thyself):
11780         Update some docs.
11781         Write pad direction in XML output. Fixes #345496.
11782
11783 2006-10-10  Wim Taymans  <wim@fluendo.com>
11784
11785         Patch by: René Stadler <mail at renestadler dot de>
11786
11787         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
11788         (gst_controller_new_list), (_gst_controller_dispose),
11789         (_gst_controller_finalize), (_gst_controller_class_init):
11790         Take ref to controlled object so that it cannot disappear. 
11791         Fixes #357432.
11792
11793 2006-10-10  Wim Taymans  <wim@fluendo.com>
11794
11795         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
11796         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
11797         (gst_check_teardown_sink_pad):
11798         Activate/deactivate pads in setup/teardown respectively.
11799
11800 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11801
11802         Patch by: Josep Torra Valles <josep@fluendo.com>
11803
11804         * gst/Makefile.am:
11805         Cast values when making gstenumtypes.h.  This pacifies Forte
11806         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
11807         in the enumeration.
11808
11809 2006-10-09  Wim Taymans  <wim@fluendo.com>
11810
11811         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
11812         Rename some more @cur to @start to fix docs. 
11813
11814         * gst/gstsegment.c: (gst_segment_set_seek):
11815         Fix typo.
11816         time and start must always stay in sync as defined in design doc.
11817
11818         * gst/gsttaglist.c: (gst_tag_list_is_empty):
11819         Rename param to fix docs.
11820
11821         * tests/check/gst/gstsegment.c: (GST_START_TEST):
11822         Check that start and time are in sync.
11823
11824         * tests/check/pipelines/parse-launch.c:
11825         (gst_parse_test_element_change_state):
11826         Activate pad before adding to the element.
11827
11828 2006-10-09  Wim Taymans  <wim@fluendo.com>
11829
11830         * docs/design/part-qos.txt:
11831         Fix typo.
11832
11833         * gst/gstevent.c:
11834         * gst/gstevent.h:
11835         Update seek event docs regarding negative rates.
11836         Rename @cur to @start. 
11837
11838         * gst/gstsegment.c: (gst_segment_set_seek):
11839         * gst/gstsegment.h:
11840         Update set_seek docs regarding negative rates.
11841         Correctly update last_stop to @stop when dealing with negative
11842         rates.
11843         Rename @cur to @start. 
11844
11845         * tests/check/gst/gstpad.c: (GST_START_TEST):
11846         Activate pads before trying to use them.
11847
11848         * tests/check/gst/gstsegment.c: (GST_START_TEST),
11849         (gst_segment_suite):
11850         Add simple check for segments and negative rates.
11851
11852 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
11853
11854         * gst/gsttaglist.c: (gst_tag_list_is_empty):
11855         * gst/gsttaglist.h:
11856         * docs/gst/gstreamer-sections.txt:
11857           API: add gst_tag_list_is_empty() (#360467).
11858
11859         * tests/check/gst/gsttag.c: (GST_START_TEST):
11860           And a test case.
11861
11862 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11863
11864         * gst/gstmessage.h:
11865         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
11866         a value that doesn't fit on enumeration.
11867
11868 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11869
11870         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11871         Remove local debugging system and use Gstreamer's instead.
11872
11873 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11874
11875         Patch by: Josep Torra Valles <josep@fluendo.com>
11876
11877         * common/m4/gst-error.m4:
11878         Disable warning of statement not reached on Forte.
11879         * gst/gstmessage.h:
11880         Fix warning on Forte (value doesn't fit on enumeration).
11881         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
11882         Fix warning on Forte (value doesn't fit on enumeration).
11883         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11884         DEBUG macro says it takes minimum of 2 args and so Forte
11885         complains about the use with just 1 arg.
11886         * plugins/elements/gstfdsink.c:
11887         * plugins/elements/gstfdsrc.c:
11888         * plugins/elements/gstfilesink.c:
11889         * plugins/elements/gstfilesrc.c:
11890         Use correct return type for the uri handler implementations.
11891
11892         All these fix warnings in Forte.  Fixes bug #360860.
11893
11894 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
11895
11896         * gst/gstelement.h:
11897           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
11898           format string, so don't use G_GNUC_PRINTF for those versions.
11899
11900 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
11901
11902         * gst/gsttaglist.c: (gst_is_tag_list):
11903         * gst/gsttaglist.h:
11904           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
11905
11906         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11907           Small test for the above.
11908
11909 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
11910
11911         * gst/gsttaglist.h:
11912           Less tabs, more spaces.
11913
11914 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
11915
11916         * gst/gstinfo.h:
11917           Those two function declarations do actually belong there, revert
11918           commit from yesterday that turned them intro macros.
11919
11920 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11921
11922         Patch by: Josep Torra Valles <josep@fluendo.com>
11923
11924         * gst/gst.c: (gst_init_get_option_group):
11925         Fix empty declaration and type mismatch.
11926         * gst/gstbin.c: (gst_bin_change_state_func):
11927         Fix type mismatch.
11928         * gst/gstelement.c: (gst_element_continue_state),
11929         (gst_element_set_state_func), (gst_element_change_state),
11930         (gst_element_change_state_func):
11931         Fix type mismatches.
11932         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
11933         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
11934         Cast as appropriate.
11935         * gst/gstobject.c: (gst_class_signal_connect):
11936         Cast as appropriate.  The function pointer parameter really
11937         has the wrong type but would break API if we change it.
11938         * gst/gstquery.c:
11939         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
11940         order of including string.h.
11941         * gst/gstutils.c: (gst_element_state_get_name):
11942         Remove unreachable line.
11943         * gst/gstxml.c: (gst_xml_parse_doc):
11944         Fix type mismatch.
11945         All these caught by Forte.
11946
11947 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11948
11949         Patch by: Josep Torra Valles <josep@fluendo.com>
11950
11951         * common/m4/gst-error.m4:
11952         Fixed bug #360151.
11953         We need to disable warnings on Forte for empty declarations
11954         due to gst-indent adding ;s to lines that just use macros
11955         where the macro actually doesn't need a ; at end to end
11956         statement.
11957
11958 2006-10-06  Wim Taymans  <wim@fluendo.com>
11959
11960         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
11961         (gst_file_sink_close_file), (gst_file_sink_event),
11962         (gst_file_sink_render):
11963         Add some FIXME for the NEWSEGMENT handling.
11964
11965 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11966
11967         * gst/parse/grammar.y:
11968         Remove static function gst_parse_element_lock as all it does
11969         is return.  Looks like cruft from 0.8.
11970
11971 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11972
11973         Patch by: Josep Torra Valles <josep@fluendo.com>
11974
11975         * common/m4/gst-error.m4:
11976         * configure.ac:
11977         * libs/gst/net/Makefile.am:
11978         Fix a compilation issue with Forte on Solaris.  inet_aton is in
11979         libresolv.
11980
11981 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
11982
11983         * gst/gstpad.c: (pre_activate):
11984         * gst/gstregistry.c: (gst_registry_scan_path_level):
11985         * gst/gstregistryxml.c: (load_plugin):
11986         * libs/gst/controller/gstcontroller.c:
11987         (gst_controlled_property_set_interpolation_mode):
11988         * libs/gst/dataprotocol/dataprotocol.c:
11989         (gst_dp_packet_from_event_1_0):
11990         * libs/gst/net/gstnetclientclock.c:
11991         (gst_net_client_clock_observe_times):
11992         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11993           Printf fixes.
11994
11995 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
11996
11997         * configure.ac:
11998         * docs/gst/gstreamer-sections.txt:
11999         * gst/gstconfig.h.in:
12000         * gst/gstelement.h:
12001         * gst/gstinfo.h:
12002           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
12003           whether we can use G_GNUC_PRINTF in other header files and at
12004           least check the printf format/arguments of debug messages and
12005           GST_ELEMENT_ERROR messages when the printf extension is not
12006           being used.
12007           Replace more tabs with spaces in gstinfo.h and remove two spurious
12008           function declarations in GST_DISABLE_DEBUG part with macros.
12009
12010 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
12011
12012         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
12013           More docs for the sync-message signal (mention that it is not
12014           emitted by default); log message structures of messages posted on
12015           the bus as well.
12016
12017 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
12018
12019         * gst/gst.c: (ensure_current_registry_forking):
12020         Use a pipe pair to receive status results from the forked child, and
12021         ignore the result from waitpid. Fixes #355499
12022
12023 2006-10-02  Wim Taymans  <wim@fluendo.com>
12024
12025         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12026         (gst_ghost_pad_suite):
12027         Fix leak in check.
12028
12029 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
12030
12031         * gst/gstpad.c:
12032           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
12033
12034 2006-10-02  Edward Hervey  <edward@fluendo.com>
12035
12036         * docs/design/part-block.txt:
12037         Further explain the use of flushing on blocked pads.
12038         * docs/gst/gstreamer-sections.txt:
12039         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
12040         (gst_pad_push_event):
12041         * gst/gstpad.h:
12042         Added new GstPadFlag : GST_PAD_BLOCKING.
12043         Adds the notion of pads really blocking, which enables to properly
12044         handle FLUSH_START/FLUSH_STOP events on blocked pads.
12045         Fixes #358999
12046         API: gst_pad_is_blocking()
12047         API: GST_PAD_IS_BLOCKING() macro
12048         API: GST_PAD_BLOCKING GstPadFlag
12049         
12050 2006-10-02  Wim Taymans  <wim@fluendo.com>
12051
12052         Patch by: mrcgran <mrc.gran at gmail dot com>
12053
12054         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
12055         Filter the proxied caps against the padtemplate if we have one.
12056
12057         * gst/gstquery.c: (gst_query_new_segment):
12058         Add include for gstinfo.h so that compilation with
12059         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
12060
12061 2006-10-02  Wim Taymans  <wim@fluendo.com>
12062
12063         Patch by: Alessandro Decina  <alessandro at nnva org>
12064
12065         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
12066         (gst_file_sink_set_location), (gst_file_sink_open_file),
12067         (gst_file_sink_close_file), (gst_file_sink_event),
12068         (gst_file_sink_render):
12069         Set file to NULL when closing filesink so that we can set a new filename
12070         in READY. Fixes #358613.
12071
12072 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
12073
12074         Patch by: Alessandro Decina  <alessandro at nnva org>
12075
12076         * gst/gstevent.c: (_gst_event_copy):
12077           Fix gst_mini_object_make_writable() and gst_event_copy() for events
12078           with event structures by setting the parent refcount address of the
12079           copied structure to the address of the refcount member of the newly
12080           copied event rather than the address of the refcount member of the
12081           original event. Fixes #358737.
12082
12083         * tests/check/gst/gstevent.c: (GST_START_TEST):
12084           Unit test for the above.
12085
12086 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
12087
12088         * docs/design/Makefile.am:
12089           Dist some more files.
12090
12091 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
12092
12093         * tests/check/libs/controller.c: (GST_START_TEST),
12094         (gst_controller_suite):
12095           Add test for the previous fix; add some more tests
12096           for correct refcounting behaviour; fix a few leaks
12097           in test cases; call gst_controller_init() at start
12098           of all tests.
12099
12100 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
12101
12102         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12103         (gst_controller_set_from_list):
12104           Don't g_return_val_if_fail() on timed values with invalid timestamps
12105           inside a critical section without unlocking the mutex. Spotted by
12106           René Stadler. (#357617)
12107           Also, fix up refcounting properly: when returning an existing
12108           controller, we should increase the reference only once and not
12109           once per property and when trying to control a property again
12110           we should also increase the refcount.
12111
12112 2006-09-29  Wim Taymans  <wim@fluendo.com>
12113
12114         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
12115         * libs/gst/net/gstnettimeprovider.c:
12116         (gst_net_time_provider_thread):
12117         Stop reading commands when EOF as well.
12118
12119         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
12120         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
12121         * plugins/elements/gstidentity.c: (gst_identity_class_init):
12122         Unify description of the dump property.
12123
12124 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12125
12126         * tests/examples/manual/.cvsignore:
12127         OK, so it's actually cvsignore that needs changing. Stop laughing.
12128
12129 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12130
12131         * tests/examples/manual/Makefile.am:
12132         Gah, declare vars *before* using them
12133
12134 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12135
12136         * gst/gst.c: (init_pre), (scan_and_update_registry),
12137         (ensure_current_registry_nonforking),
12138         (ensure_current_registry_forking), (ensure_current_registry),
12139         (init_post), (gst_debug_help), (gst_deinit):
12140         * gst/gst_private.h:
12141         * gst/gstregistry.c: (gst_registry_finalize),
12142         (gst_registry_remove_features_for_plugin_unlocked),
12143         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12144         (gst_registry_scan_path),
12145         (_priv_gst_registry_remove_cache_plugins),
12146         (_priv_gst_registry_cleanup):
12147         * gst/gstregistry.h:
12148         Re-commit the registry changes, along with an extra fix:
12149           When a cached plugin is encountered at a different file path,
12150           update the stored path in the registry cache so that the parent
12151           process knows where it actually is now when it re-reads the registry
12152           cache. Fixes the thing that broke distcheck with the previous commit.
12153
12154         * tests/check/Makefile.am:
12155         Clean up files named 'core' too when running make clean.
12156
12157         * tests/examples/manual/Makefile.am:
12158         Set up a registry path for running these tests, and clean it properly
12159         for distcheck.
12160
12161 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12162
12163         * configure.ac:
12164         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
12165         want gmodule-no-export-2.0.pc instead so that we don't drag in
12166         --export-dynamic on every project that links to GStreamer.
12167
12168         Also, make our export regex only match the start of symbols, rather 
12169         than any symbol that contains '_gst' somewhere.
12170
12171         * libs/gst/check/Makefile.am:
12172         The libgstcheck we build does however need export-dynamic, as it
12173         produces some symbols that don't match our _gst... style regex.
12174         Fixes: #318031
12175
12176 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
12177
12178         * gst/gst.c: (init_pre), (scan_and_update_registry),
12179         (ensure_current_registry_nonforking),
12180         (ensure_current_registry_forking), (ensure_current_registry),
12181         (init_post), (gst_debug_help), (gst_deinit):
12182         * gst/gst_private.h:
12183         * gst/gstregistry.c: (gst_registry_finalize),
12184         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12185         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
12186         (_gst_registry_cleanup):
12187         * gst/gstregistry.h:
12188           Revert previous change until I figure out why it breaks distcheck.
12189
12190 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
12191
12192         * gst/gst.c: (init_pre), (scan_and_update_registry),
12193         (ensure_current_registry_nonforking),
12194         (ensure_current_registry_forking), (ensure_current_registry),
12195         (init_post), (gst_debug_help), (gst_deinit):
12196
12197           Make init_pre and init_post take the full complement of GOptionFunc
12198           args so they can return useful GErrors. Make the registry updating
12199           functions do so.
12200
12201           Call _priv_gst_registry_remove_cache_plugins after scanning files to
12202           ensure that the registry we're about to write out doesn't contain
12203           stale information about old-deleted plugin files.
12204
12205           Make _priv_gst_registry_remove_cache_plugins return a boolean so
12206           that deletion of plugin files is considered a registry change.
12207
12208         * gst/gst_private.h:
12209         * gst/gstregistry.c: (gst_registry_finalize),
12210         (gst_registry_remove_features_for_plugin_unlocked),
12211         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12212         (gst_registry_scan_path),
12213         (_priv_gst_registry_remove_cache_plugins),
12214         (_priv_gst_registry_cleanup):
12215         * gst/gstregistry.h:
12216         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
12217         by adding _priv prefix, so that they won't appear in the global
12218         symbol table. They still do atm though because of #318031. Move the
12219         prototypes to gst_private.h
12220
12221         When removing a plugin, remove all features for that plugin too. 
12222         Fixes #340878.
12223
12224 2006-09-27  Wim Taymans  <wim@fluendo.com>
12225
12226         * docs/random/moving-plugins:
12227         Make it clear that the "compiled-in descriptions" really mean
12228         the element details.
12229
12230         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12231         (gst_base_sink_wait_preroll):
12232         Update docs.
12233
12234         * docs/libs/gstreamer-libs-sections.txt:
12235         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
12236         (gst_base_src_get_range), (gst_base_src_activate_push):
12237         * libs/gst/base/gstbasesrc.h:
12238         Added function to block while waiting for PLAYING, this function
12239         is used by live sources that block on the clock.
12240         API: gst_base_src_wait_playing()
12241
12242 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12243
12244         Patch by: Peter Kjellerstedt <pkj at axis com>
12245
12246         * Makefile.am:
12247           gst-element-check.m4 is generated and should therefore be
12248           copied from the build dir rather than the source dir (#357593).
12249           'make distcheck' hasn't noticed this because we were disting
12250           the file as well, so stop doing that.
12251
12252 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12253
12254         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12255           Add some tests for gst_caps_intersect().
12256
12257         * tools/gst-launch.c: (event_loop):
12258           Print all buffering percentages we get, even the 100% one.
12259
12260 2006-09-26  Wim Taymans  <wim@fluendo.com>
12261
12262         * tools/gst-inspect.c: (print_element_properties_info),
12263         (print_signal_info):
12264         Fix printing of flags to match the look of enums.
12265
12266 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12267
12268         * gst/gstelementfactory.c:
12269           Fix typo in docs blurb.
12270
12271 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12272
12273         * gst/gsturi.c: (search_by_entry):
12274           Don't assert/crash here if a uri handler doesn't return any
12275           supported protocols. The list of protocols could be generated
12276           dynamically at runtime or at plugin registration, and an error
12277           in the underlying library shouldn't be fatal (#353301).
12278
12279 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12280
12281         * gst/gstinfo.c:
12282           Fix warning if HAVE_PRINTF_EXTENSION is undefined
12283           (spotted by Peter Kjellerstedt).
12284
12285 2006-09-23  Wim Taymans  <wim@fluendo.com>
12286
12287         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
12288
12289         * libs/gst/base/gstbasesrc.c:
12290         (gst_base_src_default_check_get_range), (gst_base_src_start),
12291         (gst_base_src_activate_push), (gst_base_src_activate_pull),
12292         (gst_base_src_change_state):
12293         Match _start/_stop calls in the activate functions. Remove redundant
12294         _stop call from the state change function. Fixes #356910.
12295         Turn failure DEBUG into ERROR. 
12296
12297 2006-09-22  Wim Taymans  <wim@fluendo.com>
12298
12299         * docs/design/part-buffering.txt:
12300         * gst/gstmessage.c: (gst_message_new_buffering),
12301         (gst_message_parse_buffering):
12302         Update docs about buffering.
12303
12304         * docs/design/part-trickmodes.txt:
12305         Fix typo.
12306
12307 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
12308
12309         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12310         (gst_controller_new_list):
12311           Ref instances when returning them again (fixes #357180)
12312
12313 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
12314
12315         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
12316           Don't forget to release proxy lock when there's an error.
12317
12318 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
12319
12320         * gst/gstcaps.h:
12321           Add extra initialisers for Caps things, to fix some plugin warnings
12322           when using -Wextra
12323
12324 2006-09-18  Wim Taymans  <wim@fluendo.com>
12325
12326         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
12327           Also set template on the internal pad so that a getcaps from the 
12328           target pad returns the template caps.
12329
12330 2006-09-18  Wim Taymans  <wim@fluendo.com>
12331
12332         * gst/gstelement.c: (gst_element_post_message),
12333         (gst_element_dispose):
12334         Use _DEBUG_OBJECT some more.
12335
12336         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
12337         Avoid typechecks.
12338
12339         * tools/gst-launch.c: (main):
12340         If the toplevel element is not a GstPipeline, it must be put in a
12341         pipeline so that a bus and clock is selected.
12342
12343 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
12344
12345         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
12346           JITTER, RATE, and LATENCY query should be handled by the
12347           default case and not by the CONVERT query code.
12348
12349 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
12350
12351         * gst/gstformat.c: (gst_format_register):
12352           Fix locking order (must take lock before using n_values).
12353
12354         * gst/gstvalue.c: (gst_value_serialize_enum),
12355         (gst_value_deserialize_enum_iter_cmp),
12356         (gst_value_deserialize_enum):
12357           Fix serialisation/deserialisation of custom registered GstFormats.
12358
12359         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12360           Unit test for custom format serialisation/deserialisation.
12361
12362 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
12363
12364         * docs/pwg/building-boiler.xml:
12365         * plugins/elements/gstcapsfilter.c:
12366         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
12367         section.
12368
12369 2006-09-16  Edward Hervey  <edward@fluendo.com>
12370
12371         * libs/gst/base/gstbasetransform.c:
12372         (gst_base_transform_buffer_alloc):
12373         Check if requested caps are the same as the sinks caps IF
12374         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
12375         is FALSE.
12376         This fixes the renegotiation issues stated in #352827.
12377
12378 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12379
12380         * configure.ac:
12381         * docs/manual/advanced-autoplugging.xml:
12382         * tests/examples/Makefile.am:
12383         * tests/examples/manual/.cvsignore:
12384         * tests/examples/manual/Makefile.am:
12385         * tests/examples/manual/extract.pl:
12386           Extract the manual examples again like we used to do.
12387           Fix one of them.
12388
12389 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12390
12391         * win32/common/config.h:
12392           update for version
12393
12394 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
12395
12396         * gst/gsterror.c:
12397           Documents how to receive errors.
12398
12399 2006-09-15  Wim Taymans  <wim@fluendo.com>
12400
12401         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
12402         (event_loop), (main):
12403         Added some comments here and there.
12404         Post an application message when an interrupt is caught instead of doing
12405         an uncontrolled state change.
12406         Clean up the event loop.
12407         Handle buffering messages, pause/resume the pipeline.
12408         Make shutdown because of an interrupt more reliable.
12409
12410 2006-09-15  Wim Taymans  <wim@fluendo.com>
12411
12412         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12413         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
12414         (gst_base_sink_preroll_object):
12415         Make sure that our internal state is correct when we commit our state
12416         asynchronously. This solves a race where a state change to PLAYING
12417         could cause the sink to remain blocked in preroll in some situations.
12418
12419 2006-09-15  Wim Taymans  <wim@fluendo.com>
12420
12421         * tools/gst-inspect.c: (print_element_properties_info),
12422         (print_signal_info):
12423         List flags as hex so it's easier to deal with.
12424
12425 2006-09-15  Wim Taymans  <wim@fluendo.com>
12426
12427         * docs/libs/gstreamer-libs-sections.txt:
12428         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
12429         (gst_base_sink_do_sync):
12430         * libs/gst/base/gstbasesink.h:
12431         Expose logic to wait for preroll so that subclasses such as audiosink
12432         can also use this method.
12433         API: gst_base_sink_wait_preroll()
12434
12435 2006-09-15  Wim Taymans  <wim@fluendo.com>
12436
12437         * gst/gstobject.c: (gst_object_set_parent):
12438         * gst/gstpipeline.c: (do_pipeline_seek):
12439         Small cleanups in docs and code.
12440
12441         * gst/gstsegment.c: (gst_segment_clip):
12442         * tests/check/gst/gstsegment.c: (GST_START_TEST):
12443         if stop == start and start is in the segment, no clipping should be
12444         done. Also add a test for this.
12445
12446 2006-09-15  Wim Taymans  <wim@fluendo.com>
12447
12448         * docs/design/part-buffering.txt:
12449         * docs/gst/gstreamer-sections.txt:
12450         * gst/gstmessage.c: (gst_message_new_buffering),
12451         (gst_message_parse_buffering):
12452         * gst/gstmessage.h:
12453         Added methods to create and parse BUFFERING messages.
12454         Added preliminary docs about buffering.
12455         API: gst_message_new_buffering
12456         API: gst_message_parse_buffering
12457
12458 2006-09-06  Wim Taymans  <wim@fluendo.com>
12459
12460         * gst/gstbin.c:
12461         Update documentation.
12462
12463         * gst/gstelement.c: (gst_element_class_init),
12464         (gst_element_release_request_pad), (gst_element_set_clock),
12465         (gst_element_get_index), (gst_element_add_pad),
12466         (gst_element_remove_pad), (gst_element_get_random_pad),
12467         (gst_element_send_event), (gst_element_get_query_types),
12468         (gst_element_query), (gst_element_post_message),
12469         (gst_element_message_full), (gst_element_continue_state),
12470         (gst_element_lost_state), (gst_element_save_thyself),
12471         (gst_element_restore_thyself):
12472         Documentation updates.
12473         Rename last bit of the new-pad -> pad-added signal rename.
12474         Fix the case where an element query would only work if the source
12475         pad was linked.
12476         Avoid some useless type checking in message handling.
12477
12478         * gst/gstevent.c:
12479         * gst/gstevent.h:
12480         * gst/gstutils.c:
12481         Documentation updates.
12482
12483 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12484
12485         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
12486           add an INFO line for when we actually update the fd
12487
12488 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12489
12490         * configure.ac:
12491           back to TRUNK
12492
12493 === release 0.10.10 ===
12494
12495 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
12496
12497         * configure.ac:
12498           releasing 0.10.10, "Pais"
12499
12500 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
12501
12502         * docs/manual/advanced-position.xml:
12503           Fix typo in sample code.
12504
12505 2006-09-05  Wim Taymans  <wim@fluendo.com>
12506
12507         * libs/gst/net/gstnetclientclock.c: (inet_aton),
12508         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
12509         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
12510         * libs/gst/net/gstnetclientclock.h:
12511         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
12512         * libs/gst/net/gstnettimepacket.h:
12513         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
12514         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
12515         (gst_net_time_provider_thread), (gst_net_time_provider_new):
12516         * libs/gst/net/gstnettimeprovider.h:
12517         Make stuff compile on windows. Fixes #345295.
12518
12519 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
12520
12521         * gst/gst.c: (ensure_current_registry_forking):
12522           Print better details when child was terminated by signal.
12523
12524 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
12525
12526         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
12527           Print a warning rather than g_assert() if a plugin feature
12528           is a URI handler but returns no protocols (#353976).
12529
12530 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
12531
12532         * docs/random/moving-plugins:
12533         Fix two typos.         
12534
12535 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
12536
12537         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
12538           Fix locking order, handle NULL function values properly.
12539
12540         * gst/gstinfo.h:
12541           Fix docs.
12542
12543         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
12544           Initialise variable before using it and fix debug statement to
12545           print the address of the function rather than the address of the
12546           variable on the stack holding the address of the function.
12547
12548 2006-09-01  Wim Taymans  <wim@fluendo.com>
12549
12550         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
12551         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
12552         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
12553         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
12554         (gst_ghost_pad_parent_unset),
12555         (gst_ghost_pad_internal_do_activate_push),
12556         (gst_ghost_pad_internal_do_activate_pull),
12557         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12558         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12559         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
12560         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
12561         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
12562         (gst_ghost_pad_new_no_target_from_template),
12563         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
12564         More cleanups.
12565         Avoid needless typechecking in macros.
12566         Since the internal pad is always present and never changes, there is
12567         no need to locking or ref when retrieving it.
12568         Improve debugging a bit.
12569         Handle link errors when setting the target. Fixes #341029.
12570
12571 2006-09-01  Wim Taymans  <wim@fluendo.com>
12572
12573         * docs/libs/gstreamer-libs-sections.txt:
12574         * docs/plugins/gstreamer-plugins-sections.txt:
12575         Fix docs some more.
12576
12577         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
12578         (gst_collect_pads_event):
12579         * libs/gst/base/gstcollectpads.h:
12580         Documentation updates.
12581         Free queued buffer when removing a pad.
12582
12583 2006-08-31  Michael Smith  <msmith@fluendo.com>
12584
12585         * gst/gstutils.c: (gst_element_link_pads),
12586         (gst_element_link_pads_filtered):
12587           Ensure that we set a capsfilter to NULL if we failed to link it
12588           when doing filtered linking, to avoid criticals.
12589
12590           No need to check for unreffing srcpad, which is explicly NULLed
12591           above (a trivial code cleanup).
12592
12593 2006-08-31  Wim Taymans  <wim@fluendo.com>
12594
12595         * docs/design/part-gstghostpad.txt:
12596         Update ascii art in documentation.
12597
12598         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
12599         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
12600         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
12601         (gst_ghost_pad_internal_do_activate_push),
12602         (gst_ghost_pad_internal_do_activate_pull),
12603         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12604         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12605         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
12606         (gst_ghost_pad_set_target):
12607         Small cleanups and leak fixes.
12608         Remove some checks now that the internal pad is never NULL.
12609         Fix the case where linking pads without a target would create nasty
12610         criticals. Fixes #341029.
12611         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
12612         value of _set_target().
12613
12614         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12615         (gst_ghost_pad_suite):
12616         Some more tests for creating and linking untargeted ghostpads.
12617
12618 2006-08-31  Edward Hervey  <edward@fluendo.com>
12619
12620         * docs/gst/gstreamer-sections.txt:
12621         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
12622         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
12623         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
12624         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
12625         (gst_ghost_pad_new_from_template),
12626         (gst_ghost_pad_new_no_target_from_template):
12627         * gst/gstghostpad.h:
12628         Refactored *_new() functions.
12629         Templates are now used as a g_object_new() parameter.
12630         Use template in _do_getcaps() if we don't have a target.
12631         Small documentation cleanups.
12632         Added two new constructors:
12633         gst_ghost_pad_new_from_template()
12634         gst_ghost_pad_new_no_target_from_template()
12635         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12636         (gst_ghost_pad_suite):
12637         Added tests for new ghostpad instanciation functions.
12638
12639         API additions: gst_ghost_pad_new_from_template,
12640         gst_ghost_pad_new_no_target_from_template
12641
12642 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
12643
12644         * docs/random/ensonic/profiling.txt:
12645           Ideas about qos profiling.
12646
12647 2006-08-29  Wim Taymans  <wim@fluendo.com>
12648
12649         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
12650         Code cleanups.
12651         Fix memleak.
12652
12653 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
12654
12655         * gst/gstxml.c:
12656           Improve and detypofy docs.
12657
12658         * tests/check/Makefile.am:
12659         * tests/check/gst/.cvsignore:
12660         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
12661           Add a basic test suite for GstXML.
12662
12663 2006-08-29  Wim Taymans  <wim@fluendo.com>
12664
12665         * gst/gstelement.c: (activate_pads), (clear_caps),
12666         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
12667         Clear the pad caps when the element shut down all of the pads and
12668         is not streaming data that could modify the caps. 
12669         Fixes #352958.
12670
12671 2006-08-28  Michael Smith  <msmith@fluendo.com>
12672
12673         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12674           Revert previous change; I misunderstood single-segment mode.
12675
12676 2006-08-28  Michael Smith  <msmith@fluendo.com>
12677
12678         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12679           Unset DISCONT on buffers when using single-segment mode.
12680
12681 2006-08-28  Wim Taymans  <wim@fluendo.com>
12682
12683         * gst/gstcaps.c: (gst_caps_merge_structure):
12684         * gst/gstcaps.h:
12685         Fix docs and indentation again.
12686
12687         * tests/check/gst/gstquery.c: (GST_START_TEST):
12688         Fix leak in tests and add some more tests.
12689
12690 2006-08-28  Edward Hervey  <edward@fluendo.com>
12691
12692         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
12693         Inform GstSegment of the last stop position in order for the current
12694         segment to have a proper duration if it doesn't have a specific stop
12695         position from which a duration could be calculated.
12696         This bug was noticeable when a non-flushing, non-update new segment was
12697         followed by another segment (all buffers from the new segment were being
12698         dropped).
12699
12700 2006-08-28  Wim Taymans  <wim@fluendo.com>
12701
12702         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
12703         Small comment update.
12704
12705         * plugins/elements/gstidentity.c: (gst_identity_class_init),
12706         (gst_identity_transform_ip):
12707         Drop-probability is broken, mention this in the code with a 
12708         FIXME and also in the property description.
12709         Make silent also be silent about the drop messages.
12710
12711 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
12712
12713         * docs/manual/appendix-win32.xml:
12714           Remove mention of popt, we don't depend on that any
12715           longer (#353136). Add some comments pointing out that
12716           this section is slightly outdated.
12717
12718 2006-08-28  Wim Taymans  <wim@fluendo.com>
12719
12720         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12721
12722         * gst/gstquery.c: (gst_query_new_segment):
12723         * tests/check/gst/gstquery.c: (GST_START_TEST):
12724         Initialize variables when creating a new segment query.
12725         Fixes #353121.
12726
12727 2006-08-28  Wim Taymans  <wim@fluendo.com>
12728
12729         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12730
12731         * gst/gstelement.c: (gst_element_get_bus):
12732         * tests/check/gst/gstelement.c: (GST_START_TEST):
12733         Check for NULL before _reffing the bus. Fixes #353122.
12734
12735 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
12736
12737         * docs/manual/basics-bus.xml:
12738           Docs update: fix wrong callback return value explanation; add
12739           some lines about the implicit relationship between main loop
12740           and main context; remove duplicate main loop variable declaration.
12741
12742 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
12743
12744         * tests/check/gst/gstcaps.c: (GST_START_TEST):
12745           Don't leak caps in unit test; add a few more simple
12746           checks. 
12747
12748 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
12749
12750         * docs/gst/gstreamer-sections.txt:
12751         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
12752         (gst_caps_structure_is_subset), (gst_caps_merge),
12753         (gst_caps_merge_structure):
12754         * gst/gstcaps.h:
12755         * libs/gst/base/gstbasetransform.c:
12756         (gst_base_transform_transform_caps):
12757         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12758           implement caps merging (fixes #352580)
12759
12760 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
12761
12762         * tools/Makefile.am:
12763         * tools/gst-plot-timeline.py:
12764           add debug-log plotting developer tool (#340674)
12765
12766 2006-08-23  Wim Taymans  <wim@fluendo.com>
12767
12768         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
12769         (gst_pad_stop_task):
12770         Improve debugging for task functions.
12771
12772         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
12773         (gst_task_start), (gst_task_pause), (gst_task_join):
12774         Make sure that the task function started and finished after a 
12775         join(). 
12776         Don't try to push the task function on the threadpool multiple
12777         times.
12778         Improve the g_warning message with some useful suggestions
12779         about how to fix the problem. 
12780
12781 2006-08-23  Wim Taymans  <wim@fluendo.com>
12782
12783         * gst/gstutils.c: (gst_pad_proxy_getcaps):
12784         Handle RESYNC correctly in _proxy_getcaps.
12785
12786 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
12787
12788         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
12789         (gst_xml_parse_memory), (gst_xml_get_element):
12790           Chain up to parent class in dispose function and also
12791           unref the elements in the toplevel_elements GList.
12792           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
12793           Always return a reference in gst_xml_get_element() rather
12794           than only sometimes.
12795
12796         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12797           Don't leak GstXml object.
12798
12799 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
12800
12801         * docs/gst/gstreamer-sections.txt:
12802         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
12803         (gst_caps_merge):
12804         * gst/gstcaps.h:
12805         * libs/gst/base/gstbasetransform.c:
12806         (gst_base_transform_transform_caps):
12807           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
12808           in a better way
12809
12810 2006-08-21  Edward Hervey  <edward@fluendo.com>
12811
12812         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
12813         Implement GObject::dispose virtual method in GstXML so we can free the
12814         top_elements GList.
12815
12816 2006-08-21  Wim Taymans  <wim@fluendo.com>
12817
12818         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
12819         (gst_buffer_create_sub):
12820         Copy duration/offset_end/caps when creating a subbuffer of the
12821         complete parent.
12822         Make the subbuffer read-only when we make the metadata writable for
12823         now. Fixes #351768.
12824
12825         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
12826         Added check for metadata copy when creating subbuffers.
12827
12828 2006-08-21  Edward Hervey  <edward@fluendo.com>
12829
12830         * libs/gst/base/gstbasetransform.c:
12831         (gst_base_transform_buffer_alloc):
12832         Only call downstream buffer_alloc if transform element is passthrough
12833         or always_in_place. Closes #350449.
12834
12835 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12836
12837         * ChangeLog:
12838           ChangeLog surgery to add comments to previous changes
12839
12840 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12841
12842         * gst/gst.c:
12843           Add comments
12844
12845         * gst/gstpad.c: (gst_pad_set_active):
12846           Be more verbose in the log
12847
12848         * libs/gst/base/gstbasetransform.c:
12849         (gst_base_transform_transform_caps):
12850           Simplify caps to get rid of duplicates, fixes #345444
12851
12852 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12853
12854         * gst/gstvalue.c:
12855         * gst/gstvalue.h:
12856           Use these optimizations only internally.
12857
12858 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12859
12860         * gst/gstvalue.c: (gst_value_compare_list),
12861         (gst_value_compare_fraction_range),
12862         (gst_value_intersect_fraction_fraction_range),
12863         (gst_value_intersect_fraction_range_fraction_range),
12864         (gst_value_subtract_fraction_fraction_range),
12865         (gst_value_subtract_fraction_range_fraction_range),
12866         (gst_value_get_compare_func), (gst_value_compare),
12867         (gst_value_compare_with_func):
12868         * gst/gstvalue.h:
12869           Saves the expensive lookup of the compare function in many cases
12870          (#345444)
12871
12872 2006-08-18  Edward Hervey  <edward@fluendo.com>
12873
12874         * tests/check/gst/gstinfo.c: (gst_info_suite):
12875         Disable test that require gstdebug if it wasn't built in core.
12876
12877 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
12878
12879         * docs/random/ensonic/logging.txt:
12880           update ideas
12881           
12882         * gst/gstinfo.c: (gst_debug_log_default):
12883           reorder fields, save some columns, add optional color codes for log
12884           levels
12885
12886 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
12887
12888         * docs/random/ensonic/logging.txt:
12889           add ideas about making the logs a bit more useful
12890
12891 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
12892
12893         * docs/pwg/advanced-events.xml:
12894         * docs/pwg/titlepage.xml:
12895           Update for 0.10 API (#340627). Add myself
12896           to authors list.
12897
12898 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
12899
12900         * docs/libs/gstreamer-libs-docs.sgml:
12901         * docs/libs/gstreamer-libs-sections.txt:
12902         * libs/gst/check/gstbufferstraw.c:
12903           Make gstcheck stuff show up in docs (still needs to
12904           be documented properly though).
12905
12906 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
12907
12908         * docs/gst/gstreamer-sections.txt:
12909         * gst/Makefile.am:
12910         * gst/gst.c: (init_post):
12911         * gst/gst_private.h:
12912         * gst/gstquark.c: (_priv_gst_quarks_initialize):
12913         * gst/gstquark.h:
12914         * gst/gstquery.c: (gst_query_new_position),
12915         (gst_query_set_position), (gst_query_parse_position),
12916         (gst_query_new_duration), (gst_query_set_duration),
12917         (gst_query_parse_duration), (gst_query_new_convert),
12918         (gst_query_set_convert), (gst_query_parse_convert),
12919         (gst_query_new_segment), (gst_query_set_segment),
12920         (gst_query_parse_segment), (gst_query_new_seeking),
12921         (gst_query_set_seeking), (gst_query_parse_seeking):
12922         Add internal helpers for pre-registering quarks from static strings
12923         and using the quark values directly instead of looking them up when
12924         creating and parsing queries. Can be used for event construction too.
12925         Closes #350432.
12926
12927 2006-08-16  Wim Taymans  <wim@fluendo.com>
12928
12929         * gst/gstbin.c:
12930         Fix bogus docs.
12931
12932 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
12933
12934         * gst/gstutils.c: (gst_util_set_value_from_string):
12935           Fix memleak (#351502).
12936
12937         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
12938           Add unit test for most of gst_util_set_value_from_string()
12939           (not that one would want to encourage use of this function).
12940
12941 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
12942
12943         * libs/gst/check/gstcheck.h:
12944           Use const gchar * variables in fail_unless_equals_string
12945           macro to avoid compiler warnings (and don't use tabs for
12946           indenting).
12947
12948 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
12949
12950         * tools/gst-launch.c: (print_tag):
12951           More space on the left for the tag names, to cater
12952           for the 'extended comment' tag (not touching the
12953           string for the first line since it's translated).
12954
12955 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
12956
12957         * libs/gst/check/gstcheck.h:
12958           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
12959           print something when they fail.
12960
12961 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
12962
12963         * docs/gst/gstreamer-sections.txt:
12964         * gst/gsttaglist.c: (_gst_tag_initialize):
12965         * gst/gsttaglist.h:
12966           API: add GST_TAG_EXTENDED_COMMENT (#350935).
12967           Also change merge function for GST_TAG_COMMENT to
12968           use_first.
12969
12970 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
12971
12972         * gst/gstinfo.c: (gst_debug_print_object):
12973           Make GST_PTR_FORMAT print messages as well.
12974
12975         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
12976         (GST_START_TEST), (gst_info_suite):
12977           More tests.
12978
12979 2006-08-14  Edward Hervey  <edward@fluendo.com>
12980
12981         * gst/gstelementfactory.c: (gst_element_register):
12982         If the GstElementClass doesn't have a GstElementDetails with all fields
12983         filled up correctly (longname, description AND author), then error out
12984         nicely instead of crashing.
12985
12986 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
12987
12988         * gst/gststructure.c:
12989           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
12990
12991         * gst/gstvalue.h:
12992           Expand on the difference between arrays and lists as we use them.
12993           
12994 2006-08-14  Wim Taymans  <wim@fluendo.com>
12995
12996         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
12997         If the parent state change function failed, don't assume we can safely
12998         stop the source, this will be done when the pads are deactivated.
12999
13000 2006-08-14  Wim Taymans  <wim@fluendo.com>
13001
13002         * gst/gstbuffer.c:
13003         * gst/gsttask.c: (gst_task_join):
13004         Small doc updates.
13005
13006         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
13007         (gst_pad_stop_task):
13008         When pad (de)activation failed for some reason, restore the old
13009         activation mode and set the pad to flushing instead of assuming the
13010         pad is deactivated.
13011         If the _task_join() failed, reinstall the task on the pad so that it can
13012         be stopped later and return an error.
13013
13014 2006-08-11  Andy Wingo  <wingo@pobox.com>
13015
13016         * configure.ac:
13017         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
13018         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
13019         is only for users of API that don't want to see deprecated
13020         functions in the headers; people that want to compile out
13021         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
13022         CFLAGS. Fixes the build of multifdsink, or will soon..
13023
13024 2006-08-11  Wim Taymans  <wim@fluendo.com>
13025
13026         * docs/gst/gstreamer-sections.txt:
13027         Add GstClockClass vmethod docs.
13028
13029         * gst/gstcaps.h:
13030         Mark #endif with comment for associated #if
13031
13032         * gst/gstclock.c: (gst_clock_id_wait):
13033         * gst/gstclock.h:
13034         Add vmethod wait_jitter to avoid an unneeded _get_time() for
13035         most clock implementations.
13036         Document vmethods.
13037         Flesh out docs about resolution methods.
13038         API: GstClockClass::wait_jitter
13039
13040         * gst/gstsystemclock.c: (gst_system_clock_class_init),
13041         (gst_system_clock_async_thread),
13042         (gst_system_clock_id_wait_jitter_unlocked),
13043         (gst_system_clock_id_wait_jitter):
13044         Use base class wait_jitter variant for improved performance
13045         due to less clock polling.
13046
13047 2006-08-11  Edward Hervey  <edward@fluendo.com>
13048
13049         * gst/gst.c: (gst_init_check), (init_post):
13050         Set gst as being initialized before scanning/updating the registry,
13051         since there might be my python plugin loader that calls gst_init() and
13052         we don't want to loop back in.
13053         Closes #350879
13054
13055 2006-08-11  Wim Taymans  <wim@fluendo.com>
13056
13057         * docs/design/part-qos.txt:
13058         Bring docs in line with the code. Mostly the sign of the jitter was
13059         wrong in the docs. Fixes #349943.
13060
13061         * gst/gstclock.c:
13062         Fix the docs for the jitter.
13063
13064         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
13065         (gst_event_parse_tag), (gst_event_new_buffer_size),
13066         (gst_event_parse_buffer_size), (gst_event_parse_qos),
13067         (gst_event_new_seek), (gst_event_parse_seek),
13068         (gst_event_new_navigation):
13069         Make sure the GstStructure has no parent when creating custom
13070         events.
13071         Add some more argument checking so that we avoid 0.0 rates.
13072         Flesh out the docs for the QoS event some more.
13073
13074 2006-08-11  Wim Taymans  <wim@fluendo.com>
13075
13076         * docs/gst/gstreamer-sections.txt:
13077         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
13078         (ensure_current_registry_forking), (ensure_current_registry),
13079         (parse_one_option), (parse_goption_arg), (gst_deinit),
13080         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
13081         * gst/gst.h:
13082         Doc updates.
13083         Added API and command line option to disable registry forking in
13084         addition to the environment variable.
13085         Constify some static arrays.
13086         Added some more debug.
13087         Don't deinit twice.
13088         API: gst_registry_fork_is_enabled()
13089         API: gst_registry_fork_set_enabled()
13090         API: --gst-disable-registry-fork command line option
13091         Fixes #348918.
13092
13093 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
13094
13095         * gst/gst.c: (gst_init):
13096           Fix typo in error message.
13097
13098 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
13099
13100         * libs/gst/controller/gstcontroller.h:
13101           fix ABI size-correction
13102
13103         * tests/check/libs/gdp.c: (gst_dp_suite):
13104           make tests that use deprecated API conditional
13105
13106 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
13107
13108         * docs/libs/gstreamer-libs-sections.txt:
13109         * libs/gst/controller/gstcontroller.c:
13110         (_gst_controller_get_property), (_gst_controller_set_property),
13111         (_gst_controller_init), (_gst_controller_class_init):
13112         * libs/gst/controller/gstcontroller.h:
13113         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
13114         (gst_object_set_control_rate):
13115           API: add gst_object_{s,g}et_control_rate(), add private data section,
13116           fix docs
13117
13118         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
13119         * libs/gst/dataprotocol/dataprotocol.h:
13120           add deprecation guards to make gtk-doc happy and allow disabling cruft
13121
13122 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
13123
13124         * tests/check/Makefile.am:
13125         * tests/check/gst/.cvsignore:
13126           Let's enable the new unit test as well.
13127
13128 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
13129
13130         * configure.ac:
13131         * docs/gst/gstreamer-sections.txt:
13132         * gst/gstconfig.h.in:
13133         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
13134         (_gst_info_printf_extension_ptr),
13135         (_gst_info_printf_extension_segment):
13136           API: add GST_SEGMENT_FORMAT, which is a printf extension we
13137           register that lets us easily dump GstSegments into debug
13138           logs (#350419).
13139
13140         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
13141         (info_segment_format_printf_extension), (gst_info_suite):
13142           Add simple unit test that logs a bunch of different segments (not
13143           valgrinded at the moment because of leaks in
13144           gst_debug_add_log_function).
13145
13146 2006-08-09  Edward Hervey  <edward@fluendo.com>
13147
13148         * libs/gst/base/gstbasetransform.c:
13149         (gst_base_transform_buffer_alloc):
13150         Even if we can't figure out the proper format to request downstream,
13151         call buffer_alloc() downstream with the input parameters without setting
13152         the caps on the srcpad. This will force negotiation in the chain
13153         function.
13154         Closes #350449
13155
13156 2006-08-08  Edward Hervey  <edward@fluendo.com>
13157
13158         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
13159         Unlinking from a pad without a target is now a perfectly valid case
13160         which should NOT raise an assertion.
13161         This case would happen if a linked ghostpad its target set to NULL after
13162         it was previously linked.
13163
13164 2006-08-08  Edward Hervey  <edward@fluendo.com>
13165
13166         * tests/check/libs/gdp.c:
13167         Also comment out the test (see below).
13168
13169 2006-08-08  Edward Hervey  <edward@fluendo.com>
13170
13171         * tests/check/libs/gdp.c: (gst_dp_suite):
13172         Use the architecture information from config.h and not gcc macros
13173         in order to properly disable a test that fails on PPC64.
13174
13175 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
13176
13177         * gst/gstelement.c: (gst_element_remove_pad):
13178           Don't crash printing the warning if the pad has no parent.
13179
13180 2006-08-02  Wim Taymans  <wim@fluendo.com>
13181
13182         * libs/gst/dataprotocol/dataprotocol.c:
13183         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
13184         (gst_dp_crc), (gst_dp_header_payload_length),
13185         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
13186         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
13187         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
13188         (gst_dp_event_from_packet), (gst_dp_validate_header),
13189         (gst_dp_validate_payload):
13190         Make debug category static
13191         Constify the crc table.
13192         Do some more arg checking in public functions.
13193         Fix some docs and do some small cleanups.
13194
13195         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
13196         Add some more checks to see if GDP deals with bogus input.
13197
13198 2006-07-31  Wim Taymans  <wim@fluendo.com>
13199
13200         * gst/gstvalue.c: (gst_value_compare_list):
13201         Fix GstValueList comparison code. Fixes #347293.
13202
13203         * tests/check/gst/gstvalue.c: (GST_START_TEST):
13204         Check to test GstValueList comparison.
13205
13206 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
13207
13208         * gst/gstelementfactory.c: (gst_element_factory_create):
13209         Remove unnecessary ref/unref pair
13210
13211         * gst/parse/grammar.y:
13212         Make sure to free the parse buffer on all code paths.
13213         Move a g_free up to the error handler where it's easier to see.
13214
13215         * tests/check/gst/gstevent.c: (test_event):
13216         Extending timeout for downstream travelling events to 10 seconds to
13217         hopefully avoid intermittent failure on the buildbots.
13218
13219         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
13220         Don't manually set the state of the src element - it will happen as a
13221         natural consequence of the pipeline changing state, and that way it
13222         will do it in the right order too.
13223
13224 2006-07-31  Wim Taymans  <wim@fluendo.com>
13225
13226         * libs/gst/base/gstbasetransform.c:
13227         (gst_base_transform_buffer_alloc):
13228         Use OBJECT_LOCK and refcounting to get the pad caps in the
13229         buffer_alloc function because the caps could change while we are
13230         busy with them. Fixes #349105
13231
13232 2006-07-31  Wim Taymans  <wim@fluendo.com>
13233
13234         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
13235         Protect _PAD_CAPS with OBJECT_LOCK.
13236
13237 2006-07-31  Wim Taymans  <wim@fluendo.com>
13238
13239         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
13240         (gst_pad_get_property), (gst_pad_activate_pull),
13241         (gst_pad_activate_push), (gst_pad_set_blocked_async),
13242         (gst_pad_set_activate_function),
13243         (gst_pad_set_activatepull_function),
13244         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
13245         (gst_pad_set_getrange_function),
13246         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
13247         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
13248         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
13249         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
13250         (gst_pad_set_acceptcaps_function),
13251         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
13252         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
13253         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
13254         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
13255         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
13256         (gst_pad_configure_sink), (gst_pad_configure_src),
13257         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
13258         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
13259         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
13260         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
13261         (gst_pad_send_event):
13262         Use _DEBUG_OBJECT when it makes sense.
13263         Protect GST_PAD_CAPS with the OBJECT_LOCK.
13264         Small cleanups and code reflows.
13265         Avoid caps refcounting in _accept_caps.
13266         Refactor alloc_buffer so that the code performed on the peer is in a
13267         separate function. Also if the pad does not implement a buffer alloc
13268         function, we should still check if the pad is flushing before falling
13269         back to the default allocator.
13270
13271 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
13272
13273         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13274         Make all uses of identity and fakesink have silent=true to avoid
13275         serialising every passing data structure, which is breaking tests
13276         on FC4 for some unknown reason.
13277
13278 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
13279
13280         * gst/parse/Makefile.am:
13281         * gst/parse/grammar.y:
13282         * gst/parse/parse.l:
13283           Reverted previous patch as it required to bump the flex dependency to
13284           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
13285
13286 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
13287
13288         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
13289
13290         * gst/parse/Makefile.am:
13291         * gst/parse/grammar.y:
13292         * gst/parse/parse.l:
13293           push & pop the state of the lexer for reentrant use case
13294           Fixes #349180
13295
13296 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
13297
13298         * libs/gst/base/gstbasesrc.h:
13299           Note in the docs that the ::newsegment vfunc is not actually used by
13300           GstBaseSrc.
13301
13302 2006-07-28  Wim Taymans  <wim@fluendo.com>
13303
13304         * libs/gst/base/gstcollectpads.c:
13305         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
13306         (gst_collect_pads_clear), (gst_collect_pads_flush),
13307         (gst_collect_pads_event), (gst_collect_pads_chain):
13308         When flushing a pad, also clear the queued buffer so that we don't
13309         accidentally use it when we shouldn't.
13310         Fix leaks by inreffing incomming buffer.
13311         Flush out queued buffers in case of errors.
13312         Fixes #347452.
13313
13314 2006-07-28  Wim Taymans  <wim@fluendo.com>
13315
13316         * docs/random/phonon-gst:
13317         Random notes about a Phonon backend.
13318
13319 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
13320
13321         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13322         Extra debug output
13323         * tests/check/libs/gdp.c: (gst_dp_suite):
13324         Take a whack at fixing the ppc compile using a different define to
13325         disable the broken test.
13326
13327         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13328         Remove excess g_print()
13329
13330 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
13331
13332         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
13333         Oops, meant to uncomment this line too to dampen the noise a bit.
13334
13335 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
13336
13337         * gst/parse/grammar.y:
13338         * gst/parse/parse.l:
13339         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13340         (GST_START_TEST), (parse_suite):
13341         Fix some of the leaks exposed by extending the parse-launch testsuite,
13342         and move the 3 I can't figure out into a separate test that won't run
13343         the pipelines unless the appropriate line is uncommented.
13344
13345 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
13346
13347         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13348           Requesting 0 bytes before the end of the file should result in
13349           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
13350           unit test.
13351
13352 2006-07-27  Wim Taymans  <wim@fluendo.com>
13353
13354         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
13355         Fix useless assert, a uint is always positive.
13356
13357         * gst/gststructure.c: (gst_structure_nth_field_name),
13358         (gst_structure_foreach), (gst_structure_map_in_place):
13359         Check input arguments for public functions to avoid obvious crashes.
13360
13361         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
13362         * plugins/elements/gstfakesink.h:
13363         Do less useless typechecking.
13364
13365 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
13366
13367         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
13368           Do not use mmap() by default since there are a number of error
13369           conditions that we would like to handle in a non-fatal way that
13370           will result in a SIGBUS if we use mmap(). Examples: external
13371           devices (USB harddrive, portable music player) being unplugged
13372           while in use; file on mounted CD/DVD that can't be read because
13373           the medium is partly damaged. Fixes #348455 and #348475.
13374
13375 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
13376
13377         * gst/gstquery.h:
13378         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
13379         rates are a gdouble
13380
13381 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
13382
13383         * gst/gstregistry.c:
13384           Move big documentation comment into class section header, so that it
13385           appears in the API docs.
13386
13387 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13388
13389         * docs/gst/gstreamer-sections.txt:
13390         Oops. Commit the docs additions too for new API.
13391         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
13392
13393 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13394
13395         * gst/gststructure.c: (gst_structure_id_set),
13396         (gst_structure_id_set_valist):
13397         * gst/gststructure.h:
13398         Add API for setting values into structures without performing
13399         a quark lookup, if the appropriate quark is already known.
13400
13401         API: gst_structure_id_set
13402         API: gst_structure_id_set_valist
13403
13404         * gst/parse/grammar.y:
13405         * gst/parse/parse.l:
13406         Remove some dead code shown by the coverage information.
13407         Don't throw a critical g_warning when encountering a syntax error,
13408         just warn and let the normal error path handle it.
13409
13410         * plugins/elements/gstelements.c:
13411         Bump the rank of filesink up to PRIMARY so that it is preferred over
13412         gnomevfssink for file:// sink uri's
13413
13414         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13415         (GST_START_TEST), (run_delayed_test),
13416         (gst_parse_test_element_base_init),
13417         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
13418         (gst_parse_test_element_change_state),
13419         (gst_register_parse_element), (parse_suite):
13420         Beef up the tests for parse syntax to check that more error cases
13421         fail as they are supposed to. Increases the test coverage a bit.
13422
13423 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
13424
13425         * docs/manual/basics-elements.xml:
13426           Fix gst_element_link() example.
13427
13428         * gst/gstutils.c:
13429           Mention in API docs that one should usually gst_bin_add()
13430           elements to a bin or pipeline before doing the linking.
13431           
13432 2006-07-26  Wim Taymans  <wim@fluendo.com>
13433
13434         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
13435         (gst_subbuffer_get_type), (gst_buffer_create_sub):
13436         Avoid function call for known types by keeping the buffer and
13437         subbuffer GType global.
13438
13439         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13440         Random silly optimisations in read() path.
13441
13442 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13443
13444         * tools/gst-launch.c: (main):
13445           If the top-level of the parse is a normal bin, it doesn't do the
13446           right logic to run as a top-level element, so place it inside a
13447           pipeline.
13448
13449 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
13450
13451         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
13452           Remove superfluous g_object_notify() calls, GObject does
13453           that for us automatically.
13454
13455 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
13456
13457         * gst/gstinfo.h:
13458           on Win32, use dllspec to export the debug category symbols
13459
13460 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
13461
13462         * gst/gsttaglist.c: (_gst_tag_initialize):
13463           Allow more than one GST_TAG_IMAGE per taglist.
13464
13465 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13466
13467         * gst/gstminiobject.c:
13468           update docs
13469         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
13470         (gst_fd_src_create):
13471           log recurring events at LOG level
13472           add more debug for when the fd gets set
13473
13474 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
13475
13476         * gst/gstparse.c: (gst_parse_launch):
13477           Also remove reentrance checks if flex is MT safe (#348179)
13478          Fix my empty ChangeLog entry below
13479
13480 2006-07-21  Andy Wingo  <wingo@pobox.com>
13481
13482         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
13483
13484         * libs/gst/check/Makefile.am
13485         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
13486         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
13487         * libs/gst/check/gstbufferstraw.h:
13488         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
13489         functions, thus proving I am still a GStreamer haxor. OK I wrote
13490         them a long time ago, but anyways.
13491
13492 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
13493
13494         * configure.ac:
13495         * gst/gstparse.c: (gst_parse_launch):
13496           Check for flex version and omit mutex if we have a MT save flex
13497           (fixes #348179)
13498
13499 2006-07-21  Wim Taymans  <wim@fluendo.com>
13500
13501         * gst/gstparse.c: (gst_parse_launch):
13502         Protect recursive calls to _parse with a recursive mutex
13503         and busy flag.
13504
13505 2006-07-21  Wim Taymans  <wim@fluendo.com>
13506
13507         * tests/check/gst/gstpad.c: (GST_START_TEST):
13508         Fix leak in test.
13509
13510 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
13511
13512         * gst/gstparse.c: (gst_parse_launch):
13513           Do not hang on recursive usage of gst_parse_launch()
13514
13515 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
13516
13517         * gst/gsttaglist.c:
13518           Add some more docs, comments and FIXME 0.11s here and there
13519           and also fix some typos.
13520
13521 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
13522
13523         * gst/gstsegment.h:
13524           Convert tabs to spaces for better readability. 
13525
13526 2006-07-20  Edward Hervey  <edward@fluendo.com>
13527
13528         * tests/check/libs/gdp.c: (gst_dp_suite):
13529         the test_buffer test fails at line 140 on ppc64 at the following
13530         check:
13531         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
13532                 GST_BUFFER_FLAG_IN_CAPS),
13533                 "GST_BUFFER_IN_CAPS flag should have been copied !");
13534         See bug #348114 for more details.
13535
13536 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
13537
13538         * docs/pwg/advanced-scheduling.xml:
13539         * gst/gstpad.c:
13540           Fix typos (#348000).
13541
13542 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
13543
13544         * docs/pwg/intro-basics.xml:
13545           Fix wrong links (#347927).
13546
13547 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
13548
13549         * gst/gstregistry.h:
13550         * gst/gstregistryxml.c: (load_feature),
13551         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
13552         * win32/common/config.h:
13553           make --disable-index work (#342564)
13554
13555 2006-07-18  Wim Taymans  <wim@fluendo.com>
13556
13557         Patch by: Peter Kjellerstedt <pkj at axis dot com>
13558
13559         * gst/Makefile.am:
13560         * gst/gsttrace.h:
13561         The attached patch adds two missing defines to gsttrace.h when tracing
13562         is disabled.  It also corrects one existing define.
13563         Fixes #347756.
13564
13565 2006-07-17  Wim Taymans  <wim@fluendo.com>
13566
13567         * docs/gst/gstreamer-sections.txt:
13568         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
13569         * gst/gst.h:
13570         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
13571         Add two functions to check and change the SIGSEGV behaviour
13572         when loading plugins.
13573         Don't mess with the SIGSEGV handler when we were told not to.
13574         Fixes #347794.
13575         API: gst_segtrap_is_enabled
13576         API: gst_segtrap_set_enabled
13577
13578 2006-07-14  Wim Taymans  <wim@fluendo.com>
13579
13580         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13581         * tests/check/elements/filesrc.c: (GST_START_TEST):
13582         Revert fix for regression in #347408 after release.
13583
13584 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
13585
13586         Patch by: Antoine Tremblay <hexa00 at gmail com>
13587
13588         * gst/gstutils.c: (gst_element_unlink):
13589           Free iterator when done (#347311).
13590
13591         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13592           And add a test case for this.
13593
13594 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
13595
13596         * configure.ac:
13597         Bump nano back to CVS
13598
13599 === release 0.10.9 ===
13600
13601 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
13602
13603         * configure.ac:
13604           releasing 0.10.9, "On the road again"
13605
13606 2006-07-13  Wim Taymans  <wim@fluendo.com>
13607
13608         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13609         * tests/check/elements/filesrc.c: (GST_START_TEST):
13610         Revert pull-0 fix for release. Disable check. Fixes #347408.
13611
13612 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13613
13614         * libs/gst/dataprotocol/dataprotocol.c:
13615         (gst_dp_event_from_packet_1_0):
13616           Fixes #347337: failure to deserialize event packets with
13617           empty payload (only event type)
13618
13619 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13620
13621         * gst/Makefile.am:
13622           do not install a .c file in the header directory
13623
13624 2006-07-13  Edward Hervey  <edward@fluendo.com>
13625
13626         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
13627         GhostPad no longer implicitely use the padtemplates of the targets.
13628         Fixes #347384
13629
13630 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
13631
13632         * gst/gstvalue.c: (gst_value_compare_list),
13633         (gst_value_compare_array), (_gst_value_initialize):
13634         * tests/check/gst/gstvalue.c: (GST_START_TEST):
13635         Make GstValueArray comparison be order dependent as designed.
13636         Add checks for value lists and value array comparisons.
13637         Fixes #347221
13638
13639 2006-07-11  Edward Hervey  <edward@fluendo.com>
13640
13641         * gst/gstbin.c: (activate_pads),
13642         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
13643         (gst_bin_change_state_func):
13644         (de)activate src pads before calling state_change on the childs.
13645         This is to avoid the case where a src ghostpad is blocked (holding the
13646         stream lock), which would block the deactivation of the ghostpad's
13647         target pad.
13648         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
13649         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
13650         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
13651         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
13652         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
13653         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13654         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
13655         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
13656         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
13657         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
13658         (gst_ghost_pad_class_init),
13659         (gst_ghost_pad_internal_do_activate_push),
13660         (gst_ghost_pad_internal_do_activate_pull),
13661         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
13662         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
13663         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
13664         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
13665         GhostPads now create their internal GstProxyPad at creation (and not
13666         when they're linked, as it was being done previously).
13667         The internal and target pads are linked straight away.
13668         The data will also travel through the other pad in order to make
13669         pad blocking and probes non-hackish (the probe/block now really happens
13670         on the GhostPad and not on the target).
13671         * gst/gstpad.c: (gst_pad_set_blocked_async),
13672         (gst_pad_link_prepare), (gst_pad_push_event):
13673         Remove previous ghostpad cruft.
13674         * gst/gstutils.c: (gst_pad_add_data_probe),
13675         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
13676         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
13677         (gst_pad_remove_buffer_probe):
13678         Remove previous ghost pad cruft.
13679         Added more detailed debug statements.
13680         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
13681         Fix the testsuite for refcounting changes.
13682         The comments about who has references were correct, but the refcount
13683         being checked wasn't the same (!?!).
13684
13685         Fixes #341029
13686
13687 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
13688
13689         * docs/gst/gstreamer-sections.txt:
13690         * gst/gstconfig.h.in:
13691         More docs for configuration options, add docs to gtk-doc.
13692
13693 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
13694
13695         * gst/Makefile.am:
13696         * gst/gstconfig.h.in:
13697         * win32/common/config.h:
13698         Fix build when disabling tracing (fixes #344016). Also start to document
13699         the defines that disable the sub-systems.
13700
13701 2006-07-10  Edward Hervey  <edward@fluendo.com>
13702
13703         * gst/gst.c: (ensure_current_registry_forking):
13704         let's make valgrind happy...
13705
13706 2006-07-09  Wim Taymans  <wim@fluendo.com>
13707
13708         * gst/gstelement.c: (activate_pads),
13709         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
13710         Better pad activation code: Reset the collect value too on resync.
13711         Add some comments.
13712
13713 2006-07-09  Wim Taymans  <wim@fluendo.com>
13714
13715         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
13716         (gst_pad_activate_push):
13717         Use some more macros where it makes sense.
13718         Allow pad mode switching instead of asserting. When a pad
13719         is activated in one mode and we activate it in another, 
13720         deactivate it first before activating it in a different mode.
13721         Fixes #329198.
13722
13723 2006-07-08  Andy Wingo  <wingo@pobox.com>
13724
13725         * tools/gst-launch.c (main): Handle err == NULL.
13726
13727         * gst/gst.c (init_post, ensure_current_registry)
13728         (ensure_current_registry_forking)
13729         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
13730         factoring out the registry scanning into separate functions. Don't
13731         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
13732         Better environment var name/interface suggestions accepted.
13733
13734 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13735
13736         * gst/gstobject.c: (gst_object_set_name_default),
13737         (gst_object_set_name):
13738           Random micro-optimisation: don't use a hash table
13739           with strings as keys and the usual strdup/strcmp
13740           involved, but rather just use the GQuark of the
13741           type name as key, since it needs to be looked up
13742           anyway to get the type name string.
13743
13744         * tests/check/gst/gstobject.c: (GST_START_TEST):
13745           Fix various leaks.
13746
13747 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13748
13749         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
13750         (gst_bin_iterate_all_by_interface):
13751           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
13752           GTypes are gulongs and thus the top 4 bytes might be cut
13753           off on some platforms when doing GPOINTER_TO_INT, leading
13754           to invalid GTypes and bad things happening (see RH bug #179654).
13755           Also add a check to make sure the type passed in is really
13756           an interface type.
13757
13758 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13759
13760         * .cvsignore:
13761           Ignore more.
13762
13763 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13764
13765         * Makefile.am:
13766         * configure.ac:
13767         * gst-element-check.m4:
13768         * gst-element-check.m4.in:
13769           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
13770           instead of the unversioned gst-inspect (#324176, #168659).
13771
13772 2006-07-06  Wim Taymans  <wim@fluendo.com>
13773
13774         * gst/gstmessage.h:
13775         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
13776         warnings.
13777
13778 2006-07-06  Wim Taymans  <wim@fluendo.com>
13779
13780         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
13781         (gst_base_src_wait), (gst_base_src_update_length),
13782         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
13783         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
13784         (gst_base_src_loop), (gst_base_src_start),
13785         (gst_base_src_activate_pull):
13786         Update docs.
13787         blocksize == 0 now means the default blocksize when working in push
13788         based mode.
13789         Remove some pointless asserts in _wait function.
13790         Fix offset/length calculations and EOS handling. We can now pull 0
13791         bytes as well, which is allowed.
13792         use _check_get_range() to decide if we can operate in _pull based
13793         mode.
13794         Fix refcounting leak when check_get_range function was not 
13795         implemented.
13796         API GstBaseSrc::blocksize range can be 0 too now (default)
13797
13798         * tests/check/elements/filesrc.c: (GST_START_TEST),
13799         (filesrc_suite):
13800         Added check to test _get_range() behaviour.
13801
13802 2006-07-06  Wim Taymans  <wim@fluendo.com>
13803
13804         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
13805         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
13806         (gst_pad_pull_range):
13807         * gst/gstpad.h:
13808         Lots of comments and docs added to the pad functions.
13809         Flesh out the expected behaviour of the get_range() functions.
13810
13811 2006-07-06  Wim Taymans  <wim@fluendo.com>
13812
13813         * gst/gstbus.h:
13814         * gst/gstclock.h:
13815         * gst/gstevent.h:
13816         * gst/gstiterator.h:
13817         * gst/gstpad.h:
13818         * gst/gstplugin.h:
13819         * gst/gsttask.h:
13820         Remove comma at end of enumerator list. 
13821
13822 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
13823
13824         * win32/common/libgstbase.def:
13825         * win32/common/libgstdataprotocol.def:
13826         * win32/common/libsgtreamer.def:
13827         Add new exported functions.
13828
13829 2006-07-05  Wim Taymans  <wim@fluendo.com>
13830
13831         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
13832         Add some more docs here and there.
13833
13834 2006-07-05  Wim Taymans  <wim@fluendo.com>
13835
13836         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
13837         (gst_base_sink_loop), (gst_base_sink_get_position):
13838         When operating in pull mode update the offset so that we
13839         read sequentially.
13840
13841 2006-07-05  Wim Taymans  <wim@fluendo.com>
13842
13843         * gst/gstregistryxml.c: (read_string):
13844         Avoid strdup. (will happen in libxml, but hey!)
13845
13846         * gst/gsturi.c:
13847         Add some more docs.
13848
13849 2006-07-05  Wim Taymans  <wim@fluendo.com>
13850
13851         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
13852         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
13853         (gst_buffer_suite):
13854         No point in checking if the size of the subbuffer > 0, the
13855         code handles it correclty as demonstrated by unit test.
13856         Also add a unit test for the zero sized _new_and_alloc and
13857         _copy. Fixes #346663.
13858
13859 2006-07-05  Wim Taymans  <wim@fluendo.com>
13860
13861         * libs/gst/base/gstbasetransform.c:
13862         (gst_base_transform_prepare_output_buffer),
13863         (gst_base_transform_buffer_alloc),
13864         (gst_base_transform_handle_buffer):
13865         Make sure the buffer we pass to transform_ip has a refcount of
13866         1 and thus is writable. Fixes #343196
13867
13868 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
13869
13870         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
13871         (gst_file_src_init), (gst_file_src_set_property),
13872         (gst_file_src_get_property), (gst_file_src_map_region):
13873         * plugins/elements/gstfilesrc.h:
13874         Add "sequential" property, off by default, to use madvise and hint
13875         to the kernel that sequential access is desired.
13876         Touch all retrieved pages by default to ensure they are pulled
13877         into memory. (Closes #345720)
13878
13879 2006-07-03  Wim Taymans  <wim@fluendo.com>
13880
13881         * docs/design/part-block.txt:
13882         * docs/design/part-dynamic.txt:
13883         Small docs updates.
13884
13885 2006-07-03  Wim Taymans  <wim@fluendo.com>
13886
13887         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
13888         (gst_caps_unref), (gst_static_caps_get),
13889         (gst_caps_append_structure):
13890         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
13891         Use GSlice when the glib we build against is >= 2.10
13892
13893 2006-07-03  Wim Taymans  <wim@fluendo.com>
13894
13895         * gst/gstelement.c: (gst_element_pads_activate):
13896         Small cleanup in pad activation code.
13897
13898 2006-07-03  Wim Taymans  <wim@fluendo.com>
13899
13900         Patch by: Peter Kjellerstedt <pkj at axis dot com>
13901
13902         * gst/gst-i18n-app.h:
13903         * gst/gst-i18n-lib.h:
13904         * tools/gst-inspect.c: (print_signal_info):
13905         The attached patch will make the inclusion of gettext.h unconditional in
13906         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
13907         libintl.h in tools/gst-inspect.c.
13908         This allows use of --disable-nls again and fixes #344642.
13909
13910 2006-07-03  Edward Hervey  <edward@fluendo.com>
13911
13912         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
13913         Implement pad blocking on events according to part-block.txt.
13914         More comments on behaviour.
13915         * tests/check/gst/gstevent.c: (test_event):
13916         Send event to peer pad of blocked pad (else it will block).
13917
13918 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13919
13920         * libs/gst/check/gstcheck.c: (gst_check_message_error),
13921         (gst_check_run_suite):
13922           if we get the wrong message, give us the types as string
13923         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
13924           Fix a translatable
13925         * tests/check/elements/filesrc.c: (GST_START_TEST):
13926           add a test for trying to open a non-existing file
13927
13928 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13929
13930         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
13931           add a test for adding self
13932
13933 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13934
13935         * libs/gst/check/gstcheck.h:
13936           add some assert_ as alias for fail_unless_*
13937         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
13938           increase test coverage
13939
13940 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13941
13942         * Makefile.am:
13943           include lcov.mak for lcov coverage generation
13944         * tools/Makefile.am:
13945           add to CLEANFILES
13946
13947 2006-07-02  Edward Hervey  <edward@fluendo.com>
13948
13949         * tests/check/elements/.cvsignore:
13950         moaping
13951
13952 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13953
13954         * configure.ac:
13955           don't set CFLAGS and friends for gcov, done from GST_GCOV now
13956         * tests/check/Makefile.am:
13957           clean up gcov files
13958
13959 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13960
13961         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
13962           remove gst_caps_simplify; it was not declared and not used
13963           and deprecated in 0.8
13964
13965 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13966
13967         * docs/faq/gst-uninstalled:
13968           don't put empty paths on PYTHONPATH
13969         * docs/gst/gstreamer-sections.txt:
13970           remove some symbols that are not there
13971
13972 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13973
13974         * gst/gstcaps.c: (gst_caps_compare_structures):
13975           whitespace fixes
13976         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
13977         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
13978           add more tests
13979
13980 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13981
13982         * libs/gst/dataprotocol/Makefile.am:
13983           build dataprotocol test by linking to the lib, instead of
13984           compiling the source, so we get coverage
13985         * tests/check/Makefile.am:
13986         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
13987         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
13988           add a test for filesrc
13989
13990 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13991
13992         * tests/check/gst/gststructure.c: (GST_START_TEST),
13993         (gst_structure_suite):
13994           Push coverage from 59.04% to 70.00%
13995
13996 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13997
13998         * tests/check/Makefile.am:
13999           gst-inspect every element; this makes sure that we also get
14000           coverage on element's get/set functions
14001
14002 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14003
14004         * configure.ac:
14005           set CFLAGS and friends to -O0 if gcov is being used
14006           add GCOV LIBS
14007         * gst/Makefile.am:
14008         * libs/gst/base/Makefile.am:
14009         * libs/gst/check/Makefile.am:
14010         * libs/gst/controller/Makefile.am:
14011         * libs/gst/dataprotocol/Makefile.am:
14012         * libs/gst/net/Makefile.am:
14013         * plugins/elements/Makefile.am:
14014         * plugins/indexers/Makefile.am:
14015           add makefile rules to generate gcov data and clean up
14016         * tests/check/Makefile.am:
14017           add a coverage target that generates an html overview
14018           of coverage data
14019
14020 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14021
14022         * tests/check/elements/fakesink.c:
14023         * tests/check/elements/fakesrc.c:
14024         * tests/check/elements/fdsrc.c:
14025         * tests/check/elements/identity.c:
14026         * tests/check/generic/sinks.c: (gst_sinks_suite):
14027         * tests/check/generic/states.c:
14028         * tests/check/gst/gst.c:
14029         * tests/check/gst/gstabi.c:
14030         * tests/check/gst/gstbin.c:
14031         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
14032         * tests/check/gst/gstbus.c: (gst_bus_suite):
14033         * tests/check/gst/gstcaps.c: (GST_START_TEST):
14034         * tests/check/gst/gstelement.c:
14035         * tests/check/gst/gstevent.c: (gst_event_suite):
14036         * tests/check/gst/gstghostpad.c:
14037         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
14038         * tests/check/gst/gstmessage.c: (gst_message_suite):
14039         * tests/check/gst/gstminiobject.c:
14040         * tests/check/gst/gstobject.c:
14041         * tests/check/gst/gstpad.c:
14042         * tests/check/gst/gstpipeline.c:
14043         * tests/check/gst/gstplugin.c:
14044         * tests/check/gst/gstquery.c: (gst_query_suite):
14045         * tests/check/gst/gstsegment.c: (gst_segment_suite):
14046         * tests/check/gst/gststructure.c:
14047         * tests/check/gst/gstsystemclock.c:
14048         * tests/check/gst/gsttag.c:
14049         * tests/check/gst/gsttask.c: (gst_task_suite):
14050         * tests/check/gst/gstutils.c:
14051         * tests/check/gst/gstvalue.c:
14052         * tests/check/libs/adapter.c:
14053         * tests/check/libs/basesrc.c:
14054         * tests/check/libs/collectpads.c:
14055         * tests/check/libs/controller.c:
14056         * tests/check/libs/gdp.c: (gst_dp_suite):
14057         * tests/check/libs/gstnetclientclock.c:
14058         * tests/check/libs/gstnettimeprovider.c:
14059         * tests/check/libs/libsabi.c: (libsabi_suite):
14060         * tests/check/libs/typefindhelper.c:
14061         * tests/check/pipelines/cleanup.c:
14062         * tests/check/pipelines/parse-launch.c:
14063         * tests/check/pipelines/simple-launch-lines.c:
14064         * tests/check/pipelines/stress.c: (stress_suite):
14065           use the new macro
14066
14067 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14068
14069         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
14070         * libs/gst/check/gstcheck.h:
14071           create a macro and function so that the simple unit test
14072           case can be just one macro to create main()
14073
14074 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
14075
14076         * gst/gstbin.c: (gst_bin_restore_thyself):
14077         * gst/gstxml.c: (gst_xml_make_element):
14078           Fix deserialisation from XML. Set parent manually
14079           instead of using gst_bin_add(), since gst_bin_add()
14080           will unlink all pads of the element being added.
14081           Fixes #341667.
14082
14083 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
14084
14085         Patch by: Peter Kjellerstedt <pkj at axis com>
14086
14087         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
14088           Fix missing g_strdup() and double free when using the
14089           --gst-plugin-load command line option (#346097).
14090
14091 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
14092
14093         * gst/gstinfo.c:
14094           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
14095
14096         * libs/gst/net/gstnetclientclock.c:
14097         * libs/gst/net/gstnettimeprovider.c:
14098           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
14099
14100 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
14101
14102         * docs/manual/advanced-dataaccess.xml:
14103           Fix buffer probe example compilation in
14104           ADM (#345708).
14105         
14106 2006-06-22  Edward Hervey  <edward@fluendo.com>
14107
14108         * gst/gstelement.c: (gst_element_pads_activate):
14109         We need to deactivate src pads first and then sink pads.
14110         The reason is the src pads might be blocking while holding the streaming
14111         lock, so we need to deactivate them first so that deactivating the sink
14112         pads doesn't block (since it will require the streaming lock).
14113
14114 2006-06-22  Wim Taymans  <wim@fluendo.com>
14115
14116         * libs/gst/base/gstbasetransform.c:
14117         (gst_base_transform_buffer_alloc):
14118         Forgot to remove two unneeded unrefs.
14119         Simplify a check _is_equal allready checks the obvious case.
14120
14121 2006-06-22  Wim Taymans  <wim@fluendo.com>
14122
14123         * docs/design/part-block.txt:
14124         Some docs about what pad_block should do.
14125
14126 2006-06-22  Wim Taymans  <wim@fluendo.com>
14127
14128         * gst/gstcaps.c: (gst_caps_replace):
14129         Fix crasher when passed NULL. Doc clarification.
14130         Optimize for the trivial case.
14131
14132         * gst/gstpipeline.c: (gst_pipeline_change_state):
14133         Small cleanups.
14134
14135         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
14136         Small documentation cleanup.
14137
14138         * libs/gst/base/gstbasetransform.c:
14139         (gst_base_transform_buffer_alloc):
14140         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
14141         is what we need and it avoids a whole lot of redundant 
14142         refcount operations.
14143
14144 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
14145
14146         Patch by: Philip Jägenstedt  <philip at lysator liu se>
14147
14148         * docs/manual/advanced-dataaccess.xml:
14149           Fix 'Embedding static elements' section to use
14150           GST_PLUGIN_DEFINE_STATIC (#345607).
14151
14152 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
14153
14154         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
14155           Attempt to 'fix' spuriously failing test case: it seems like the
14156           timeout of half a second is simply too small when the system is under
14157           load otherwise, and the timeout doesn't really seem to serve any
14158           particular purpose here. Give the pipeline a few seconds to preroll
14159           first, and then give it another half a second to go from PAUSED to
14160           PLAYING and marshal the message into the main thread.
14161
14162 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
14163
14164         * tools/gst-feedback-m.m:
14165           Don't only use unversioned tools, try versioned tools as well
14166           (#345086).
14167
14168 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
14169
14170         * gst/gstbus.c: (gst_bus_class_init):
14171           Fix some typos, make docs more explicit.
14172
14173 2006-06-20  Wim Taymans  <wim@fluendo.com>
14174
14175         * tests/check/gst/gstghostpad.c: (block_callback),
14176         (GST_START_TEST), (gst_ghost_pad_suite):
14177         Added some more ghostpad tests, mainly blocking
14178         and probes.
14179
14180 2006-06-16  Wim Taymans  <wim@fluendo.com>
14181
14182         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
14183         (gst_file_sink_close_file), (gst_file_sink_do_seek),
14184         (gst_file_sink_event), (gst_file_sink_render):
14185         * plugins/elements/gstfilesink.h:
14186         Check if we can seek in the file instead of assuming
14187         we always can. Post an error when we are asked to seek in a
14188         non-seekable file (like a fifo). Fixes #343312.
14189         Some cleanups.
14190
14191 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
14192
14193         * tools/gst-launch.1.in:
14194           Un-garble (fourcc) bit in filtered caps section.
14195
14196 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
14197
14198         * docs/manual/advanced-autoplugging.xml:
14199         * docs/manual/basics-helloworld.xml:
14200         * docs/manual/highlevel-components.xml:
14201           Don't leak bus reference in sample code.
14202
14203 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
14204
14205         * autogen.sh:
14206           Add default for new --enable-plugin-docs switch.
14207
14208         * configure.ac:
14209           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
14210           Fixes #344039.
14211
14212         * docs/Makefile.am:
14213           Use new ENABLE_PLUGIN_DOCS conditional.
14214
14215 2006-06-14  Wim Taymans  <wim@fluendo.com>
14216
14217         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
14218         Make it clear with a FIXME and a real define what the #if 0
14219         previously disabled.
14220
14221 2006-06-14  Wim Taymans  <wim@fluendo.com>
14222
14223         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
14224         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14225         * libs/gst/base/gstbasetransform.c:
14226         (gst_base_transform_sink_eventfunc):
14227         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
14228         Don't randomly and silently reset a segment when the format 
14229         changes as this is a bug somewhere upstream. Fixes #330379.
14230
14231 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
14232
14233         Patch by: Wouter Paesen  <wouter at kangaroot net>
14234
14235         * libs/gst/controller/gstcontroller.c:
14236         (gst_controlled_property_new):
14237           Fix controlling of float properties (#344849).
14238
14239         * tests/check/libs/controller.c:
14240         (gst_test_mono_source_get_property),
14241         (gst_test_mono_source_set_property),
14242         (gst_test_mono_source_class_init), (GST_START_TEST):
14243           While we're at it, add some float stuff to unit test.
14244
14245 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14246
14247         * docs/README:
14248         * docs/images/gdp-header.svg:
14249           add a gdp image
14250         * docs/libs/Makefile.am:
14251         * docs/libs/gdp-header.png:
14252         * libs/gst/dataprotocol/dataprotocol.c:
14253           add it to the API docs
14254         * docs/manual/intro-motivation.xml:
14255           fix typo
14256
14257 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
14258
14259         * gst/gst.c: (scan_and_update_registry), (init_post):
14260           If the fork()'ed child process can't write the updated registry cache
14261           file to disk for some reason, make it exit with a failure exit code,
14262           so that the parent can then re-scan the plugins itself and update the
14263           registry structures in memory and work with that (rather than failing
14264           when creating elements because seemingly no plugins are available).
14265           Refactor registry scanning code into separate function for this and
14266           also separate fork() and non-fork() code paths. Fixes #344748.
14267
14268 2006-06-13  Wim Taymans  <wim@fluendo.com>
14269
14270         * docs/manual/advanced-dataaccess.xml:
14271         Fix wrong PluginDesc. Fixes #344755.
14272
14273 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
14274
14275         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
14276           Fix silly bug that prevented us from creating
14277           ~/.gstreamer-0.10 and writing the registry in one
14278           go (the first call to g_mkstemp() would overwrite the
14279           placeholder in the template string, so the second call
14280           to g_mkstemp() after creating the missing directory
14281           would then error out with 'invalid argument').
14282
14283 2006-06-13  Edward Hervey  <edward@fluendo.com>
14284
14285         * gst/gst.c: (init_post):
14286         Free string.
14287
14288 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14289
14290         * gst/glib-compat-private.h:
14291         * gst/glib-compat.c:
14292         * gst/glib-compat.h:
14293         * gst/gstvalue.c: (gst_value_serialize_flags):
14294           remove GLib 2.6 compatibility code
14295
14296 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
14297
14298         * gst/parse/Makefile.am:
14299           Fix build with 'make -j N' even more (#340016).
14300
14301 2006-06-12  Wim Taymans  <wim@fluendo.com>
14302
14303         * docs/gst/gstreamer-sections.txt:
14304         Fix docs.
14305
14306 2006-06-12  Wim Taymans  <wim@fluendo.com>
14307
14308         * gst/gstsegment.c: (gst_segment_set_duration),
14309         (gst_segment_set_last_stop), (gst_segment_set_seek),
14310         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
14311         (gst_segment_to_running_time), (gst_segment_clip):
14312         Use G_UNLIKELY to help the compiler a bit.
14313
14314 2006-06-12  Wim Taymans  <wim@fluendo.com>
14315
14316         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
14317
14318         * gst/gstevent.c: (gst_event_get_type):
14319         * gst/gstmessage.c:
14320         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
14321         (gst_pad_push):
14322         constify quark registration strings. Fixes #344115
14323         Avoid unneeded type checking is _pad_push() by internally
14324         calling gst_pad_chain_unchecked().
14325
14326 2006-06-12  Wim Taymans  <wim@fluendo.com>
14327
14328         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
14329         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
14330         (gst_subbuffer_finalize), (gst_buffer_create_sub),
14331         (gst_buffer_is_span_fast), (gst_buffer_span):
14332         Init _type for consistency.
14333         Use _FLAGS macro to avoid type check.
14334         Avoid unneeded type checks in subbufer code.
14335
14336 2006-06-12  Wim Taymans  <wim@fluendo.com>
14337
14338         * gst/gst.c: (gst_debug_help):
14339         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
14340         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
14341         (gst_plugin_feature_list_free):
14342         * gst/gstregistry.c: (gst_registry_add_plugin),
14343         (gst_registry_add_feature), (gst_registry_plugin_filter),
14344         (gst_registry_feature_filter), (gst_registry_find_plugin),
14345         (gst_registry_find_feature), (gst_registry_get_plugin_list),
14346         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
14347         * gst/gstregistryxml.c: (load_feature),
14348         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
14349         * gst/gstminiobject.c: (gst_mini_object_unref),
14350         (gst_mini_object_replace), (gst_value_mini_object_free),
14351         (gst_value_mini_object_copy):
14352         Use _CAST macros to avoid unneeded type checking.
14353         Added some more G_UNLIKELY.
14354
14355 2006-06-12  Wim Taymans  <wim@fluendo.com>
14356
14357         * gst/gstbuffer.h:
14358         Avoid unneeded type checking.
14359         API: GST_BUFFER_IS_DISCONT
14360
14361         * gst/gstminiobject.h:
14362         Avoid type check in flag accessor.
14363
14364         * gst/gstelementfactory.h:
14365         * gst/gstplugin.h:
14366         * gst/gstpluginfeature.h:
14367         Add _CAST macros.
14368         API: GST_ELEMENT_FACTORY_CAST
14369         API: GST_PLUGIN_CAST
14370         API: GST_PLUGIN_FEATURE_CAST
14371
14372 2006-06-12  Wim Taymans  <wim@fluendo.com>
14373
14374         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
14375         (gst_object_unref):
14376         Add G_UNLIKELY in type registration.
14377         Avoid type check in _ref/_unref since that is also
14378         done in glib.
14379
14380 2006-06-12  Wim Taymans  <wim@fluendo.com>
14381
14382         * gst/gsterror.c: (gst_g_error_get_type):
14383         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
14384         (gst_static_pad_template_get_type):
14385         * gst/gsttaglist.c: (gst_tag_list_get_type):
14386         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
14387         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
14388         * gst/gsturi.c: (gst_uri_handler_get_type):
14389         * gst/gstvalue.c: (gst_date_get_type):
14390         * gst/gstxml.c: (gst_xml_get_type):
14391         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
14392         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14393         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
14394         Add G_UNLIKELY in type registration.
14395
14396 2006-06-12  Wim Taymans  <wim@fluendo.com>
14397
14398         * tools/gst-inspect.c: (print_signal_info):
14399         Properly print enum values.
14400
14401 2006-06-12  Wim Taymans  <wim@fluendo.com>
14402
14403         * gst/gstinfo.c: (gst_debug_set_active),
14404         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
14405         * gst/gstinfo.h:
14406         Add some G_[UN]LIKELY.
14407         Maintain __gst_debug_min to avoid formatting the arguments of
14408         debug messages that will be dropped anyway to avoid a lot of 
14409         overhead from the debugging system.
14410
14411 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14412
14413         * po/POTFILES.in:
14414         * po/POTFILES.skip:
14415           add missing files containing translatable strings, tell intltool about
14416           one exception
14417
14418 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14419
14420         * tests/check/libs/.cvsignore:
14421         add test-binary to ignore list
14422
14423 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14424
14425         * docs/libs/gstreamer-libs-docs.sgml:
14426         reorder (put dp into a chapter) and indent
14427
14428 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14429
14430         * configure.ac:
14431           back to HEAD
14432
14433 === release 0.10.8 ===
14434
14435 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
14436
14437         * configure.ac:
14438           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
14439
14440 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14441
14442         * gst/gst.c: (init_post):
14443           move pid declaration to declaration block
14444
14445 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14446
14447         * gst/gst.c: (init_post):
14448           use _exit() instead of exit() in our forked child; this ensures
14449           that none of the registered exit handlers from whatever is using
14450           GStreamer get executed.  This fixes gnome-mixer-applet failing
14451           to load, because ORBit would shut down.
14452           Spotted by: Edward Hervey  <edward@fluendo.com>
14453           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
14454           Fixes #344474
14455
14456 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14457
14458         * configure.ac:
14459           back to TRUNK
14460
14461 === release 0.10.7 ===
14462
14463 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
14464
14465         * configure.ac:
14466           releasing 0.10.7, "Soepeke, ik zie ou"
14467
14468 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14469
14470         * configure.ac:
14471         * po/af.po:
14472         * po/az.po:
14473         * po/bg.po:
14474         * po/ca.po:
14475         * po/cs.po:
14476         * po/de.po:
14477         * po/en_GB.po:
14478         * po/fr.po:
14479         * po/it.po:
14480         * po/nb.po:
14481         * po/nl.po:
14482         * po/ru.po:
14483         * po/sq.po:
14484         * po/sr.po:
14485         * po/sv.po:
14486         * po/tr.po:
14487         * po/uk.po:
14488         * po/vi.po:
14489         * po/zh_CN.po:
14490         * po/zh_TW.po:
14491         * win32/common/config.h:
14492           0.10.6.2 prerelease
14493
14494 2006-06-07  Wim Taymans  <wim@fluendo.com>
14495
14496         * gst/gstindex.c: (gst_index_gtype_resolver):
14497         * tools/gst-xmlinspect.c: (print_plugin_info):
14498         Fix leak spotted by coverity checker. Fixes #343827
14499         Fix another other leak found by paolo borelli.
14500
14501 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14502
14503         * libs/gst/dataprotocol/dataprotocol.c:
14504         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
14505         (gst_dp_version_get_type), (gst_dp_init),
14506         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
14507         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
14508         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
14509         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
14510         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
14511         (gst_dp_packetizer_free):
14512         * libs/gst/dataprotocol/dataprotocol.h:
14513           API: add a GstDPPacketizer object, and create/free functions
14514           API: add GstDPVersion enum
14515           Add 1.0 event function that uses the string serialization
14516           Serialize more useful buffer flags
14517           Fixes #343988
14518
14519 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14520
14521         * tests/check/Makefile.am:
14522         * tests/check/gst/gstabi.c:
14523         * tests/check/gst/struct_ppc64.h:
14524         * tests/check/libs/libsabi.c:
14525         * tests/check/libs/struct_ppc64.h:
14526           add ppc64 structure sizes
14527
14528 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14529
14530         * tests/check/Makefile.am:
14531         * tests/check/gst/gstabi.c:
14532         * tests/check/gst/struct_x86_64.h:
14533         * tests/check/libs/libsabi.c:
14534         * tests/check/libs/struct_x86_64.h:
14535           generate and add structure size lists for x86_64
14536
14537 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14538
14539         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
14540         * libs/gst/check/gstcheck.h:
14541           factor out the method from tests that checks size of structures,
14542           and add code to generate the header containing these sizes
14543         * tests/check/gst/gstabi.c: (GST_START_TEST):
14544         * tests/check/gst/struct_i386.h:
14545         * tests/check/libs/libsabi.c: (GST_START_TEST):
14546         * tests/check/libs/struct_i386.h:
14547           use it
14548
14549 2006-06-06  Michael Smith  <msmith@fluendo.com>
14550
14551         * gst/gstsegment.h:
14552           Don't use c++-style comments, fixes #343929
14553
14554 2006-06-05  Edward Hervey  <edward@fluendo.com>
14555
14556         * gst/gst.c:
14557         plugin_paths is not used if we build without registry support.
14558
14559         * gst/gstsegment.c: (gst_segment_copy): 
14560         _copy() was always returning NULL...
14561
14562 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14563
14564         * libs/gst/dataprotocol/dataprotocol.c:
14565         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14566         (gst_dp_packet_from_event):
14567           factor out CRC code
14568
14569 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14570
14571         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
14572           make sure we unset caps
14573
14574 2006-06-02  Michael Smith  <msmith@fluendo.com>
14575
14576         * libs/gst/check/gstcheck.c: (gst_check_init),
14577         (gst_check_chain_func):
14578         * libs/gst/check/gstcheck.h:
14579           Add a cond/mutex to the check support lib, signal this whenever we
14580           add to the buffers list. This will allow tests to not busy-wait on
14581           the buffer-list.
14582
14583 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14584
14585         * libs/gst/dataprotocol/dataprotocol.c:
14586         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14587         (gst_dp_packet_from_event):
14588           factor out some common header init code
14589
14590 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14591
14592         * docs/libs/gstreamer-libs-sections.txt:
14593         * docs/libs/tmpl/gstdataprotocol.sgml:
14594         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
14595         * libs/gst/dataprotocol/dataprotocol.h:
14596           API: make gst_dp_crc() public
14597
14598 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
14599
14600         * plugins/indexers/gstindexers.c: (plugin_init):
14601         conditionally register fileindexer (fixes #343598)
14602
14603 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
14604
14605         * gst/gsttagsetter.h:
14606         Can't cast ifaces to a class
14607
14608         * libs/gst/net/gstnetclientclock.h:
14609         * libs/gst/net/gstnettimeprovider.h:
14610         * plugins/elements/gstfakesink.h:
14611         * plugins/elements/gstfakesrc.h:
14612         * plugins/elements/gstfdsink.h:
14613         * plugins/elements/gstfdsrc.h:
14614         * plugins/elements/gstfilesink.h:
14615         * plugins/elements/gstfilesrc.h:
14616         * plugins/elements/gstidentity.h:
14617         * plugins/elements/gstqueue.h:
14618         * plugins/elements/gsttee.h:
14619         * plugins/indexers/gstfileindex.c:
14620         * plugins/indexers/gstmemindex.c:
14621         * tests/old/examples/plugins/example.h:
14622         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
14623
14624 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14625
14626         * libs/gst/dataprotocol/dataprotocol.c:
14627         (gst_dp_header_from_buffer):
14628           make sure we zero the whole ABI-compatible area
14629
14630 2006-06-01  Wim Taymans  <wim@fluendo.com>
14631
14632         Patch by: Alessandro Decina <alessandro at nnva dot org>
14633
14634         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
14635         Make sure the EOS flag is cleared from pads after a flush
14636         or stop. Fixes #343538.
14637
14638         * tests/check/libs/collectpads.c: (GST_START_TEST),
14639         (gst_collect_pads_suite):
14640         Added test for collectpads reusage after EOS.
14641
14642 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
14643
14644         * gst/gst.c:
14645          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
14646         * win32/common/libgstbase.def:
14647          export gst_collect_pads_set_flushing
14648         * win32/common/libgstreamer.def:
14649          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
14650          gst_value_fraction_multiply
14651         * win32/vs6/gst_inspect.dsp:
14652          add a link to intl.lib
14653
14654 2006-05-30  Wim Taymans  <wim@fluendo.com>
14655
14656         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
14657         (gst_collect_pads_chain):
14658         Handle the case where a pad is removed from the collection
14659         that could cause the other pads to become collectable.
14660
14661 2006-05-30  Wim Taymans  <wim@fluendo.com>
14662
14663         * gst/gstelement.c:
14664         Clarify the use of _release_request_pad() and
14665         _get_request_pad() a bit better.
14666
14667         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
14668         (gst_adapter_take_buffer):
14669         Fix some doc and comment typos.
14670
14671 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14672
14673         * docs/gst/gstreamer-sections.txt:
14674         * docs/libs/gstreamer-libs-sections.txt:
14675           add declared symbols
14676
14677 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
14678
14679         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
14680         Add debug that can be enabled using a #define at the top of the file,
14681         for dumping stats about how late/early we were when waking up from
14682         waiting on the clock.
14683
14684 2006-05-30  Wim Taymans  <wim@fluendo.com>
14685
14686         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
14687         When rebuilding the pad list, don't leak the previous list.
14688
14689 2006-05-30  Wim Taymans  <wim@fluendo.com>
14690
14691         Patch by: Lutz Mueller <lutz at topfrose dot de>
14692
14693         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14694         (gst_base_src_get_query_types), (gst_base_src_update_length):
14695         Publish supported query types.
14696         Update last_stop field in get_range mode so the position
14697         query works. Fixes #342321.
14698
14699 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
14700
14701         * docs/gst/gstreamer-sections.txt:
14702         * gst/gsttaglist.c: (_gst_tag_initialize):
14703         * gst/gsttaglist.h:
14704           API: add GST_TAG_PREVIEW_IMAGE (#343341).
14705
14706 2006-05-30  Wim Taymans  <wim@fluendo.com>
14707
14708         Patch by: Alessandro Decina <alessandro at nnva dot org>
14709
14710         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
14711         Unlock mutex when removing an unknown pad.
14712         Fixes #343334.
14713
14714         * tests/check/Makefile.am:
14715         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
14716         (push_event), (setup), (teardown), (GST_START_TEST),
14717         (gst_collect_pads_suite), (main):
14718         Added collecpads check, disabled for now as check crashes for
14719         some reason.
14720
14721 2006-05-29  Wim Taymans  <wim@fluendo.com>
14722
14723         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
14724         Don't leak pads lists.
14725
14726 2006-05-29  Wim Taymans  <wim@fluendo.com>
14727
14728         * docs/libs/gstreamer-libs-sections.txt:
14729         * libs/gst/base/gstcollectpads.c:
14730         (gst_collect_pads_set_flushing_unlocked),
14731         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
14732         (gst_collect_pads_stop):
14733         * libs/gst/base/gstcollectpads.h:
14734         API: gst_collect_pads_set_flushing()
14735         Added api to set the pads to flushing, useful for seeking
14736         code in elements using collectpads.
14737         Clear segment when receiving a flush.
14738
14739 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
14740
14741         * gst/gst.c: (add_path_func), (init_post):
14742           Don't scan registry paths passed via --gst-plugin-path immediately
14743           (will crash, because absolutely nothing is set up and no types are
14744           registered etc.); do this later in init_post(). Fixes #343057.
14745
14746 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
14747
14748         * gst/gst.c: (init_post):
14749           if we have fork, fork while reading/rebuilding the registry
14750           so the parent doesn't take the hit of having all plugins loaded
14751           in memory.  Fixes #342777.
14752         * configure.ac:
14753           Check if we have fork()
14754         * win32/common/config.h.in:
14755           no fork() on win32
14756
14757 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
14758
14759         * plugins/elements/gstelements.c:
14760         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
14761         (gst_file_src_init), (gst_file_src_set_property),
14762         (gst_file_src_get_property), (gst_file_src_start):
14763         * plugins/elements/gstfilesrc.h:
14764           API: GstFileSrc::use-mmap
14765
14766         Add a use-mmap property to enable easier testing of all code paths.
14767         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
14768         in the absence of gnomevfssrc. (Closes #340501)
14769
14770 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
14771
14772         * tools/gst-inspect.c:
14773         Add missing include, removes warning of ngettext not being defined on
14774         some arches.
14775
14776 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
14777
14778         * gst/gstvalue.c: (gst_value_deserialize_fraction):
14779         Handle NULL input and output pointers silently as a failed conversion,
14780         rather than g_warnings.
14781
14782 2006-05-25  Wim Taymans  <wim@fluendo.com>
14783
14784         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
14785         Initialize variable before using. Fixes #342820.
14786
14787 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
14788
14789         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
14790           Fix off-by-one bug that would only allow peeks of N-1 bytes
14791           from the start even if the buffer to typefind on contains
14792           in fact N bytes of data (makes vorbis typefinding from a
14793           vorbis identification header buffer work).
14794
14795         * tests/check/Makefile.am:
14796         * tests/check/libs/.cvsignore:
14797         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
14798         (gst_typefindhelper_suite), (main), (foobar_typefind),
14799         (plugin_init):
14800           Add very basic unit test for gst_type_find_helper_for_buffer()
14801           that checks for the problem fixed above.
14802
14803 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14804
14805         * tools/gst-inspect.c: (print_interfaces),
14806         (print_element_properties_info), (print_element_list), (main):
14807           add more translatable strings
14808
14809 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
14810
14811         Patch by: Julien Moutte  <julien at moutte net>
14812
14813         * docs/gst/gstreamer-sections.txt:
14814           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
14815           
14816         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
14817         (gst_fake_sink_preroll):
14818         * plugins/elements/gstfakesink.h:
14819           API: Add new GstFakeSink::preroll-handoff signal (#337100).
14820
14821 2006-05-23  Wim Taymans  <wim@fluendo.com>
14822
14823         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
14824         * gst/gstpad.h:
14825         Added _CUSTOM error and success GstFlowReturn that can be
14826         used be elements internally. 
14827         Added macro to check for SUCCESS flowreturns.
14828         API: GST_FLOW_CUSTOM_SUCCESS
14829         API: GST_FLOW_CUSTOM_ERROR
14830         API: GST_FLOW_IS_SUCCESS
14831
14832         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
14833         Added check for GstFlowReturn sanity.
14834
14835 2006-05-23  Wim Taymans  <wim@fluendo.com>
14836
14837         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
14838
14839         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
14840         (gst_collect_pads_event):
14841         clear/reset segment info in FLUSH_STOP.
14842         Fixes #336929.
14843
14844 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
14845
14846         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
14847         (gst_collect_pads_check_collected):
14848         Flush queued buffer on _stop(), fixes playing again (#342454)
14849
14850 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14851
14852         * tests/check/gst/gststructure.c: (GST_START_TEST),
14853         (gst_structure_suite):
14854           add a test for a complete structure
14855
14856 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
14857
14858         * docs/faq/developing.xml:
14859         * docs/faq/faq.xml:
14860         * docs/faq/troubleshooting.xml:
14861         * docs/faq/using.xml:
14862           Some minor FAQ updates that won't change the fact that
14863           our FAQ is badly structured, full of information hardly
14864           anyone new to GStreamer needs to know and lacking lots
14865           of information people constantly ask for.
14866           
14867 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
14868
14869         * gst/gstpad.c: (gst_pad_set_caps):
14870           Short-circuit gst_pad_set_caps if setting the existing
14871           caps pointer again, and avoid printing debug and 
14872           reffing/unreffing the caps.
14873
14874         * plugins/elements/gstqueue.c: (gst_queue_push_one):
14875           There's actually no need to set the caps before pushing -
14876           the acceptcaps method will handle it anyway.
14877
14878 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
14879
14880         * docs/gst/gstreamer-sections.txt:
14881         * win32/common/libgstreamer.def:
14882         * gst/gstutils.c: (gst_element_seek_simple):
14883         * gst/gstutils.h:
14884           API: add gst_element_seek_simple() (#342238).
14885
14886 2006-05-18  Edward Hervey  <edward@fluendo.com>
14887
14888         * gst/gsttypefind.c: (gst_type_find_get_type):
14889         * gst/gsttypefind.h:
14890         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
14891         registered for GstTypeFind pointers. This allows wrapping the structure
14892         in bindings (i.e. gst-python).
14893
14894 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
14895
14896         * gst/gsttagsetter.c:
14897           Docs additions and fixes (see #339918).
14898
14899 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
14900
14901         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
14902         The caps intersection algorithm can produce multiple copies of the
14903         caps. Until that is fixed, we need to simplify the result to be
14904         sure whether the allowed caps are fixed or not.
14905
14906         * plugins/elements/gstqueue.c: (gst_queue_init),
14907         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
14908         (gst_queue_push_one):
14909         Proxied buffer alloc should not set the caps on the source pad.
14910         When pushing buffers, we always accept the caps change that triggers.
14911         This prevents negotiation errors caused by caps changing mid-stream 
14912         and then being refused on our source pad (because upstream is now
14913         refusing those caps).
14914
14915 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
14916
14917         * tests/examples/helloworld/helloworld.c: (main):
14918           Must plug audioconvert and audioresample between decoder
14919           and audio sink.
14920
14921 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
14922
14923         * gst/gstregistryxml.c: (read_string), (load_pad_template),
14924         (load_feature), (load_plugin):
14925         Allow empty strings for some of the plugin fields so we don't 
14926         drop valid plugin entries that were written out correctly
14927         (Fixes #341479)
14928
14929 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
14930         
14931         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
14932           Use g_remove and g_rename instead of remove and rename that don't 
14933           handle utf8 characters. rename was failing for users who had specific
14934           characters in their name then the registry was built at each 
14935           gstreamer init.
14936         * win32/vs6/gst_inspect.dsp:
14937         * win32/vs6/gst_launch.dsp:
14938         * win32/vs6/libgstbase.dsp:
14939         * win32/vs6/libgstcoreelements.dsp:
14940         * win32/vs6/libgstreamer.dsp:
14941           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
14942           build of libgstreamer and clean unused libraries in projects link 
14943           settings.
14944
14945 2006-05-17  Edward Hervey  <edward@fluendo.com>
14946
14947         * plugins/elements/gstqueue.c: (gst_queue_push_one):
14948         The queue is not responsible for pushing an EOS when receiving a fatal
14949         flow error. It's up to the real element driving the pipeline to do that.
14950
14951 2006-05-16  Edward Hervey  <edward@fluendo.com>
14952
14953         * plugins/elements/gstqueue.c: (gst_queue_push_one):
14954         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
14955         buffer returned a fatal error. It should just send an EOS and stop
14956         its task.
14957         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
14958         when pushing buffers on the queue and will be able to handle the event.
14959
14960 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
14961
14962         * docs/manual/basics-bins.xml:
14963         * docs/manual/basics-init.xml:
14964           Fix typos and minor errors in sample code (#341856).
14965
14966 2006-05-16  Wim Taymans  <wim@fluendo.com>
14967
14968         * docs/design/part-qos.txt:
14969         Fix indexes in formulas to make more sense.
14970
14971 2006-05-15  Wim Taymans  <wim@fluendo.com>
14972
14973         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
14974         Don't report POSITION based on clock time if sync is
14975         disabled in a sink.
14976
14977 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
14978
14979         * gst/gstobject.h:
14980           Add cast to make compiler happy - refcount variable was a gint
14981           in GstObject but is a guint in GObject and g_atomic_int_get()
14982           wants a gint *.
14983
14984 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14985
14986         * gst/parse/Makefile.am:
14987           chain commands using &&, which also makes parallel make work
14988
14989 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
14990
14991         * docs/gst/gstreamer-sections.txt:
14992         * gst/gstevent.c:
14993         * gst/gstevent.h:
14994         * gst/gstmessage.h:
14995           Minor docs fixes.
14996
14997 === release 0.10.6 ===
14998
14999 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
15000
15001         * configure.ac:
15002           releasing 0.10.6, "Take the cannoli"
15003
15004 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
15005
15006         * tools/gst-launch.c: (print_tag):
15007           Fix use of uninitialized variable in the hypothetical
15008           case that some broken plugin creates a GST_TAG_IMAGE
15009           tag containing a NULL buffer (#341667).
15010
15011 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
15012
15013         * tools/gst-launch.c: (print_tag):
15014           Print something more intelligible for image tags when
15015           using the -t switch (#341556).
15016
15017 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15018
15019         * Makefile.am:
15020           updates for win32
15021         * configure.ac:
15022           define GST_MAJORMINOR so we have it available in win32/common/config.h
15023           Possibly remove it from our Makefile.am files later
15024         * win32/common/config.h:
15025         * win32/common/config.h.in:
15026           added GST_MAJORMINOR
15027         * win32/common/gstenumtypes.c: (register_gst_resource_error):
15028         * win32/common/gstversion.h:
15029           updated
15030
15031 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
15032
15033         * win32/MANIFEST:
15034           Update win32 files listing.
15035         * win32/common/gstversion.h:
15036           Add GST_MAJORMINOR definition.
15037         * win32/common/libgstreamer.def:
15038           Add new exported functions.
15039           
15040 2006-05-12  Michael Smith  <msmith@fluendo.com>
15041
15042         * gst/gstplugin.c: (gst_plugin_load_file):
15043           If an so file has no plugin entry point, unload the module.
15044
15045 2006-05-11  Wim Taymans  <wim@fluendo.com>
15046
15047         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
15048         (gst_queue_set_property):
15049         Don't forget to signal the _chain or _loop function 
15050         when the queue size or thresholds change since that might
15051         cause them to make progres again.
15052
15053 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
15054
15055         * gst/gstclock.c: (gst_clock_class_init):
15056         * gst/gstindex.c: (gst_index_class_init):
15057         * gst/gstobject.c: (gst_object_class_init):
15058         * gst/gstpad.c: (gst_pad_class_init):
15059         * gst/gstpipeline.c: (gst_pipeline_class_init):
15060         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
15061         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
15062         * libs/gst/base/gstbasetransform.c:
15063         (gst_base_transform_class_init):
15064         * libs/gst/net/gstnetclientclock.c:
15065         (gst_net_client_clock_class_init):
15066         * libs/gst/net/gstnettimeprovider.c:
15067         (gst_net_time_provider_class_init):
15068         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
15069         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
15070         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
15071         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
15072         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
15073         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
15074         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
15075         * plugins/elements/gstidentity.c: (gst_identity_class_init):
15076         * plugins/elements/gsttee.c: (gst_tee_class_init):
15077         * tests/old/examples/plugins/example.c: (gst_example_class_init):
15078         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
15079           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
15080
15081 2006-05-11  Wim Taymans  <wim@fluendo.com>
15082
15083         * gst/gstbuffer.c: (_gst_buffer_initialize):
15084         Register subbufer along with the buffer type so that
15085         it does not accidentally gets registered from N
15086         different streaming threads in a non threadsafe way.
15087
15088 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
15089
15090         * gst/gstbuffer.h:
15091         * gst/gstevent.h:
15092         * gst/gstmessage.h:
15093           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
15094           gst_event_ref() and gst_message_ref() functions again
15095           (ugly hack, please do fix if there's a better way besides
15096           overrides.txt, which doesn't seem to work).
15097
15098 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15099
15100         * libs/gst/check/gstcheck.h:
15101           add an assert for setting state to avoid lots of repetitive code
15102           in the future
15103
15104 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15105
15106         * gst/gstvalue.c: (gst_value_serialize_flags):
15107           fix a leak if no flags are set
15108         * tests/check/gst/gstvalue.c: (GST_START_TEST):
15109           fix leak in tests
15110
15111 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
15112
15113         * docs/manual/basics-pads.xml:
15114           Expand a bit on caps and filtered links and update
15115           examples that were still using the no longer existing
15116           gst_pad_link_filtered() (#338206).
15117
15118 2006-05-10  Wim Taymans  <wim@fluendo.com>
15119
15120         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
15121         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
15122         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
15123         (gst_collect_pads_stop):
15124         * libs/gst/base/gstcollectpads.h:
15125         No need to call _stop in _finalize.
15126         Iterate the main pad list in _finalize.
15127         Added some more debug.
15128         Free lists and data in the right order.
15129         Also free data whem doing _remove_pad when stopped for
15130         backward compatibility protect ::started with PAD_LOCK as
15131         well.
15132
15133 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15134
15135         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
15136         (gst_structure_parse_value):
15137           add some comments
15138           rename a method so that it actually says what it does better
15139
15140 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15141
15142         * gst/gstevent.c: (_gst_event_initialize):
15143         * gst/gstformat.c: (_gst_format_initialize):
15144           make sure some essential types used by events are registered
15145           as part of gst_init()
15146         * gst/gstvalue.c: (gst_value_serialize_flags):
15147           if no flags are set, serialize them to a value that represents NONE
15148           so that deserializing them works
15149         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15150           add tests for serialization and deserialization of flags
15151
15152 2006-05-10  Wim Taymans  <wim@fluendo.com>
15153
15154         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
15155         (gst_collect_pads_collect_range), (gst_collect_pads_available),
15156         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
15157         (gst_collect_pads_event), (gst_collect_pads_chain):
15158         Update docs.
15159         Better debug info.
15160         Catch and return errors from the collect function
15161         Refuse data on eos pads.
15162
15163 2006-05-10  Edward Hervey  <edward@fluendo.com>
15164
15165         * gst/gstinterface.h:
15166         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
15167         GInterface type checking.
15168         They were previously using non-defined macros.
15169
15170 2006-05-09  Wim Taymans  <wim@fluendo.com>
15171
15172         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
15173         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
15174         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
15175         (gst_collect_pads_start), (gst_collect_pads_stop),
15176         (gst_collect_pads_peek), (gst_collect_pads_pop),
15177         (gst_collect_pads_available), (gst_collect_pads_read),
15178         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
15179         (gst_collect_pads_is_collected), (gst_collect_pads_event),
15180         (gst_collect_pads_chain):
15181         * libs/gst/base/gstcollectpads.h:
15182         Clean up the mess that is collectpads, add comments and
15183         FIXMEs where needed.
15184         Maintain a separate pad list so we can add pads while
15185         collecting the other ones. For this we need a new separate 
15186         lock (see comics).
15187         Fix memory leak in finalize.
15188         Refactor some weird code to set/unset pad flushing flags, mark
15189         with comments.
15190         Don't crash in _available, _read, _flush when we're EOS.
15191
15192         * tests/check/libs/.cvsignore:
15193         Ignore adapter check binary.
15194
15195 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15196
15197         * gst/gstindex.c: (gst_index_resolver_get_type):
15198         * plugins/elements/gstfakesink.c:
15199         (gst_fake_sink_state_error_get_type):
15200         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
15201         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
15202         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
15203           Const-ify GEnumValue arrays.
15204
15205 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15206
15207         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
15208           Add test case for flags + gst_buffer_make_metadata_writable().
15209
15210 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15211
15212         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
15213           gst_buffer_make_metadata_writable() should maintain the
15214           buffer flags (those that make sense at least) (see #340859).
15215
15216 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15217
15218         * tools/gst-inspect.c:
15219         * tools/gst-launch.c:
15220         * tools/gst-typefind.c:
15221         * tools/gst-xmlinspect.c:
15222         * tools/tools.h:
15223           Fix up includes: need to include stdlib.h in tools.h for exit().
15224
15225 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15226
15227         * gst/gsttaglist.c: (_gst_tag_initialize):
15228         * gst/gsttaglist.h:
15229           API: add GST_TAG_IMAGE tag (#340721).
15230
15231 2006-05-08  Wim Taymans  <wim@fluendo.com>
15232
15233         * gst/gstquery.c:
15234         Added some docs for the segment query.
15235
15236 2006-05-08  Wim Taymans  <wim@fluendo.com>
15237
15238         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15239         (gst_base_src_loop), (gst_base_src_change_state):
15240         Always push non-flushing serialized events in the streaming 
15241         thread.
15242
15243 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15244
15245         * gst/gsterror.c: (_gst_stream_errors_init):
15246           Add a missing error string.
15247
15248 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
15249
15250         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
15251         Add applied_rate to the debug
15252
15253         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
15254         Copy applied_rate into the outgoing NEWSEGMENT event
15255
15256 2006-05-08  Wim Taymans  <wim@fluendo.com>
15257
15258         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
15259
15260         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
15261         (gst_base_sink_change_state):
15262         call ::unlock before taking the PREROLL_LOCK so we can safely
15263         handle elements that lock in ::render.
15264         Fixes #340174.
15265
15266 2006-05-08  Edward Hervey  <edward@fluendo.com>
15267
15268         * autogen.sh: (CONFIGURE_DEF_OPT): 
15269         Darwin's libtoolize is in fact called glibtoolize.
15270         Adding glibtoolize to the list of accepted names for libtoolize.
15271
15272 2006-05-08  Wim Taymans  <wim@fluendo.com>
15273
15274         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
15275         Unify error handling, don't post an error message
15276         when a push() returns EOS but perform our normal EOS
15277         handling code. Fixes #340772.
15278
15279 2006-05-08  Wim Taymans  <wim@fluendo.com>
15280
15281         * docs/design/part-overview.txt:
15282         Make upsteam/downstream concepts more clear.
15283         Give an example of serialized/non-serialized events.
15284
15285         * docs/design/part-events.txt:
15286         * docs/design/part-streams.txt:
15287         Mention applied_rate.
15288
15289         * docs/design/part-trickmodes.txt:
15290         Mention applied rate, flesh out some more use cases.
15291
15292         * gst/gstevent.c: (gst_event_new_new_segment),
15293         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
15294         (gst_event_parse_new_segment_full), (gst_event_new_tag),
15295         (gst_event_parse_tag), (gst_event_new_buffer_size),
15296         (gst_event_parse_buffer_size), (gst_event_new_qos),
15297         (gst_event_parse_qos), (gst_event_parse_seek),
15298         (gst_event_new_navigation):
15299         * gst/gstevent.h:
15300         Add applied_rate field to NEWSEGMENT event.
15301         API: gst_event_new_new_segment_full()
15302         API: gst_event_parse_new_segment_full()
15303
15304         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
15305         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
15306         (gst_segment_to_stream_time), (gst_segment_to_running_time):
15307         * gst/gstsegment.h:
15308         Add applied_rate to GstSegment structure.
15309         Make calculation of stream_time and running_time more correct
15310         wrt rate/applied_rate.
15311         Add some more docs.
15312         API: GstSegment::applied_rate field
15313         API: gst_segment_set_newsegment_full();
15314
15315         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
15316         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
15317         * libs/gst/base/gstbasetransform.c:
15318         (gst_base_transform_sink_eventfunc),
15319         (gst_base_transform_handle_buffer):
15320         Parse and use applied_rate in the GstSegment field.
15321
15322         * tests/check/gst/gstevent.c: (GST_START_TEST):
15323         Add check for applied_rate field.
15324
15325         * tests/check/gst/gstsegment.c: (GST_START_TEST),
15326         (gstsegments_suite):
15327         Add more checks for various GstSegment operations.
15328
15329 2006-05-08  Wim Taymans  <wim@fluendo.com>
15330
15331         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
15332         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
15333         (gst_base_sink_get_position), (gst_base_sink_change_state):
15334         Store the sync time of the buffer end position separatly in a
15335         new variable eos_rtime so we can properly sync the EOS event.
15336         Fixes #340697.
15337         Fix the docs for gst_base_sink_set_qos_enabled().
15338         Don't set segment start to invalid value when we receive a 
15339         non TIME newsegment.
15340         get closer to handling position reporting for negative rates 
15341         correctly.
15342
15343 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
15344
15345         * gst/gstcaps.c:
15346         Docs about how to print caps for debug purposes.
15347
15348         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
15349         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
15350
15351 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
15352
15353         * gst/gstelement.c:
15354           use full enum names and preprend a '%' in docs strings to make recent 
15355           gtk-doc turn that into a link
15356
15357 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15358
15359         * docs/manual/basics-bins.xml:
15360         * docs/manual/basics-bus.xml:
15361         * docs/manual/basics-pads.xml:
15362           Some typo fixes, some additions, some clarifications. 
15363
15364 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15365
15366         * tools/gst-inspect.c: (main):
15367         * tools/gst-launch.c: (main):
15368         * tools/gst-run.c: (main):
15369         * tools/gst-typefind.c: (main):
15370         * tools/gst-xmlinspect.c: (main):
15371           Use the string passed to g_option_context_new() for
15372           what it's intended for - the program name is already
15373           printed elsewhere.
15374
15375 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15376
15377         * tools/Makefile.am:
15378         * tools/gst-inspect.c: (main):
15379         * tools/gst-launch.c: (main):
15380         * tools/gst-xmlinspect.c: (main):
15381         * tools/tools.h:
15382           Add back --version command line option (#340460).
15383
15384         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
15385           Add --version option and use GOption for argument parsing; refactor a
15386           bit; accept directories as arguments and recurse into them; lastly,
15387           print a decent error message when things go wrong.
15388
15389 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15390
15391         * docs/manual/basics-bins.xml:
15392         Don't mention GstThread (#340611)
15393         * docs/manual/basics-elements.xml:
15394         Update link to GObject tutorial (#340607)
15395         
15396 2006-05-05  Wim Taymans  <wim@fluendo.com>
15397
15398         * gst/gstbuffer.h:
15399         * gst/gstminiobject.c:
15400         Add note about refcounting and miniobject/buffer writeability
15401         to docs. Fixes #340604
15402
15403         * gst/gstelementfactory.h:
15404         Added some explanation about @klass.
15405
15406 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15407
15408         * docs/manual/intro-motivation.xml:
15409         * docs/manual/manual.xml:
15410         Avoid CORBA & Bonobo references (#340598)
15411
15412 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15413
15414         * docs/manual/basics-bus.xml:
15415         * docs/manual/basics-pads.xml:
15416         Fix up some inaccuracies and omissions (#340609)
15417         
15418 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15419
15420         * gst/gstghostpad.c:
15421           Small typo in docs (#340625)
15422
15423 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15424
15425         * gst/parse/Makefile.am:
15426           Make 'make -j' proof (see #340698).
15427
15428 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15429
15430         * configure.ac:
15431           Require GLib-2.8 here as well.
15432
15433 2006-05-05  Wim Taymans  <wim@fluendo.com>
15434
15435         * gst/glib-compat.c:
15436         * gst/gst.c: (init_pre):
15437         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
15438         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
15439         (gst_object_dispatch_properties_changed):
15440         * gst/gstobject.h:
15441         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
15442         * gst/gststructure.c: (gst_structure_set_valist):
15443         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
15444         Remove pre glib2.8 compatibility, fixes #340508
15445
15446 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
15447
15448         * gst/gsttaglist.h:
15449           Mention type of tags in doc blurbs.
15450
15451 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
15452
15453         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15454         (gst_pad_configure_src), (gst_pad_push):
15455         Restore acceptcaps checking behaviour now that good plugins have
15456         been released.
15457
15458 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
15459
15460         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
15461
15462         * gst/gst.c:
15463         * gst/gstbus.c:
15464         * gst/gstclock.c:
15465         * gst/gstevent.c:
15466         * gst/gstformat.c:
15467         * gst/gstmessage.c:
15468         * gst/gstparse.c:
15469         * gst/gstquery.c:
15470         * gst/gstutils.c:
15471         * gst/parse/Makefile.am:
15472         * libs/gst/base/gstadapter.c:
15473         * libs/gst/base/gstbasesrc.c:
15474         * libs/gst/base/gstpushsrc.c:
15475         * libs/gst/base/gsttypefindhelper.c:
15476         * plugins/elements/gstfakesrc.c:
15477         * plugins/elements/gstidentity.c:
15478           Make sure gstprivate.h and/or config.h are
15479           always included first, otherwise some of our
15480           defines (like _FILE_OFFSET_BITS) might be
15481           redefined in the system headers. Fixes build
15482           on opensolaris (#340016).
15483
15484 2006-05-04  Wim Taymans  <wim@fluendo.com>
15485
15486         * docs/libs/gstreamer-libs-sections.txt:
15487         API: addition: gst_adapter_take_buffer()
15488         
15489         * libs/gst/base/gstadapter.c: (gst_adapter_push),
15490         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
15491         (gst_adapter_available_fast):
15492         * libs/gst/base/gstadapter.h:
15493         Prepare for optimizing the hell out of this hugely inefficient
15494         piece of code. 
15495         Added gst_adapter_take_buffer() so we can at least start thinking
15496         about subbuffering and merging.
15497         Added some comments.
15498
15499         * tests/check/Makefile.am:
15500         * tests/check/libs/adapter.c: (GST_START_TEST),
15501         (gst_adapter_suite), (main):
15502         Added GstAdapter check.
15503
15504 2006-05-04  Wim Taymans  <wim@fluendo.com>
15505
15506         * docs/design/part-overview.txt:
15507         Fix some typos, add blurb about buffer flags.
15508
15509 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
15510
15511         * docs/libs/gstreamer-libs-sections.txt:
15512           make sure GstBaseTransformClass shows up in the docs
15513         * libs/gst/base/gstbasetransform.c:
15514         * libs/gst/base/gstbasetransform.h:
15515           move docs so gtk-doc picks it up now
15516
15517 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
15518
15519         * docs/libs/gstreamer-libs-sections.txt:
15520           add missing symbols to docs
15521
15522 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
15523
15524         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15525           back out the newsegment handling change, see #340060 for ongoing
15526           discussion
15527
15528 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
15529
15530         * tools/gst-run.c: (get_candidates), (main):
15531           Fix wrong g_file_test() usage (see glib docs for why it doesn't
15532           work); fix typo in error message. Fixes #340079.
15533
15534 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15535
15536         * common/Makefile.am:
15537         * docs/Makefile.am:
15538         * docs/faq/Makefile.am:
15539         * docs/gst/Makefile.am:
15540         * docs/libs/Makefile.am:
15541         * docs/manual/Makefile.am:
15542         * docs/plugins/Makefile.am:
15543         * docs/pwg/Makefile.am:
15544         * docs/slides/Makefile.am:
15545         * docs/upload.mak:
15546         * common/upload.mak:
15547           move upload.mak to common
15548
15549 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15550
15551         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
15552           add more asserts on refcounts
15553           do more cleanup at end of tests
15554           fix test leaks showing in FC5
15555
15556 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
15557
15558         * plugins/elements/gsttypefindelement.c:
15559         (gst_type_find_element_handle_event):
15560         reverted wrong change and reflowed code to avoid others falling into
15561         this trap
15562
15563 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15564
15565         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15566           fix changelog entry about last collectpads change,
15567           add notes about proper fix
15568
15569 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15570
15571         * gst/gst.c:
15572         * gst/gstregistry.c: (gst_registry_scan_path_level),
15573         (gst_registry_scan_path):
15574         * gst/gstregistry.h:
15575           only write out registry if it has changed, fixes #338339
15576
15577 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15578
15579         * gst/gstbin.c:
15580         * gst/gstpipeline.c:
15581         * plugins/elements/gstcapsfilter.c:
15582         * plugins/elements/gstfakesink.c:
15583         * plugins/elements/gstfakesrc.c:
15584         * plugins/elements/gstfdsink.c:
15585         * plugins/elements/gstfdsrc.c:
15586         * plugins/elements/gstfilesink.c:
15587         * plugins/elements/gstfilesrc.c:
15588         * plugins/elements/gstidentity.c:
15589         * plugins/elements/gstqueue.c:
15590         * plugins/elements/gsttee.c:
15591         * plugins/elements/gsttypefindelement.c:
15592         (gst_type_find_element_handle_event):
15593           make GstElementDetails const
15594
15595 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15596
15597         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
15598         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
15599         (gst_collect_pads_is_collected), (gst_collect_pads_event):
15600           more detailed debug and formatting cleanup,
15601           forward newsegments to src-pad (so that e.g. adder not eats them)
15602
15603 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15604
15605         * gst/gstutils.c: (gst_element_link_pads):
15606           cleanup double code
15607
15608 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15609
15610         * libs/gst/controller/gstcontroller.c:
15611         (gst_controller_sync_values):
15612           some little tuning
15613         * tests/check/libs/controller.c: (GST_START_TEST),
15614         (gst_controller_suite):
15615           a new test for live value handling
15616
15617 2006-04-28  Wim Taymans  <wim@fluendo.com>
15618
15619         * gst/gstutils.c: (push_and_ref):
15620         Added some more docs.
15621         Fix refcount issue whith gst_element_found_tags() helper 
15622         function. Fixes #338335
15623
15624         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
15625         Added testsuite for gst_element_found_tags().
15626
15627 2006-04-28  Michael Smith  <msmith@fluendo.com>
15628
15629         * gst/gstvalue.c: (gst_value_serialize_flags):
15630           Avoid NULL dereference when trying to serialize flags containing
15631           invalid values.
15632
15633 2006-04-28  Michael Smith  <msmith@fluendo.com>
15634
15635         * plugins/elements/gsttypefindelement.c:
15636         (gst_type_find_element_handle_event):
15637           If we get EOS before any data is accumulated, don't use
15638           uninitialised local variables.
15639
15640 2006-04-28  Michael Smith  <msmith@fluendo.com>
15641
15642         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15643         (gst_dp_event_from_packet):
15644           Fixes in reading/writing events over GDP (not currently used?) - 
15645           dereferencing NULL events for unknown/invalid event types, memory
15646           leak, and change g_warning to GST_WARNING.
15647
15648 2006-04-28  Wim Taymans  <wim@fluendo.com>
15649
15650         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
15651         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
15652         (gst_base_sink_get_position), (gst_base_sink_change_state):
15653         When frame dropping is enabled, we should not ignore frames
15654         without a duration.
15655         Update some documentation.
15656
15657 2006-04-28  Wim Taymans  <wim@fluendo.com>
15658
15659         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15660         (gst_base_src_send_event), (gst_base_src_change_state):
15661         Documentation updates.
15662
15663 2006-04-28  Wim Taymans  <wim@fluendo.com>
15664
15665         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
15666         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
15667         handle EAGAIN, EINTR and short writes correctly. Also clean
15668         up some error cases, avoid a deadlock on bad file descriptors and
15669         use GST_DEBUG_OBJECT.
15670         Fixes #339843
15671
15672 2006-04-28  Wim Taymans  <wim@fluendo.com>
15673
15674         * gst/gstvalue.c: (gst_value_serialize_buffer),
15675         (gst_value_deserialize_buffer):
15676         Don't try to serialize a GValue with a NULL buffer. 
15677         Fixes #339821.
15678
15679         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15680         Added check for serialisation of NULL buffers.
15681
15682 2006-04-28  Wim Taymans  <wim@fluendo.com>
15683
15684         * gst/gstminiobject.c: (gst_value_take_mini_object):
15685         Taking a NULL miniobject is valid, fix the case where
15686         we try to unref the NULL miniobject.
15687
15688 2006-04-28  Wim Taymans  <wim@fluendo.com>
15689
15690         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
15691
15692         * gst/gstbin.c: (gst_bin_handle_message_func):
15693         Update docs.
15694         Don't leak bin refcount when a state recalc is
15695         in progress and we delay another one #339808.
15696
15697 2006-04-28  Wim Taymans  <wim@fluendo.com>
15698
15699         * docs/design/part-TODO.txt:
15700         Mention QoS as an ongoing work item.
15701
15702         * docs/design/part-buffering.txt:
15703         New doc about buffering that needs to be fleshed out
15704         at some point.
15705
15706         * docs/design/part-qos.txt:
15707         More QoS policy for decoders/demuxers/transforms
15708
15709         * docs/design/part-trickmodes.txt:
15710         Small update.
15711
15712 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
15713
15714         * configure.ac:
15715           back to HEAD
15716
15717 === release 0.10.5 ===
15718
15719 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
15720
15721         * configure.ac:
15722           releasing 0.10.5, "Fogo"
15723
15724 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15725
15726         patch by: Wim Taymans
15727
15728         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15729         (gst_pad_configure_src), (gst_pad_push):
15730         * gst/gstpipeline.c: (gst_pipeline_init):
15731           Fix internal data flow errors.  Fixes #338711.
15732
15733 2006-04-12  Wim Taymans  <wim@fluendo.com>
15734
15735         * tests/check/gst/gstelement.c: (GST_START_TEST):
15736         Don't leak the factory.
15737
15738 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15739
15740         * configure.ac:
15741         * win32/common/config.h:
15742           prerelease
15743
15744 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
15745
15746         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15747         (gst_controller_unset_all):
15748           Free allocated GstTimedValues when freeing list nodes.
15749           Should fix leaks 'make check-valgrind' complains about.
15750
15751         * win32/common/libgstcontroller.def:
15752           Add gst_controller_unset_all.
15753
15754 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
15755
15756         * docs/libs/gstreamer-libs-sections.txt:
15757         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15758         (gst_controller_unset_all):
15759         * libs/gst/controller/gstcontroller.h:
15760         API: Added new method gst_controller_unset_all()
15761         fixed gst_controller_unset()
15762         * tests/check/libs/controller.c: (GST_START_TEST),
15763         (gst_controller_suite):
15764         Added two testcases for new and fixed method
15765
15766 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
15767
15768         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
15769           MSG_DONTWAIT is not defined on Cygwin, so work
15770           around that (fixes #317048).
15771           
15772 2006-04-11  Wim Taymans  <wim@fluendo.com>
15773
15774         * gst/gstelementfactory.c: (gst_element_register),
15775         (gst_element_factory_create), (gst_element_factory_make):
15776         Some cleanups.
15777         Fixed a FIXME.
15778         Updated docs (Fixes #131079)
15779
15780         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
15781         Small cleanups.
15782
15783         * tests/check/gst/gstelement.c: (GST_START_TEST),
15784         (gst_element_suite):
15785         Added testcase for elementfactory class field.
15786
15787 2006-04-10  Wim Taymans  <wim@fluendo.com>
15788
15789         * gst/gstsegment.c:
15790         Added some more docs.
15791
15792         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
15793         (gst_base_sink_reset_qos):
15794         Calculate more accurate rate values.
15795
15796 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
15797
15798         * gst/gst_private.h:
15799           add a new #ifdef to use __declspec(dllimport) only for
15800           other modules and not for gstreamer core
15801         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
15802           use gst_guint64_to_gdouble for conversion
15803         * win32/common/libgstreamer.def:
15804           add new exported functions
15805         * win32/vs6/gst_inspect.dsp:
15806         * win32/vs6/gst_launch.dsp:
15807         * win32/vs6/libgstbase.dsp:
15808         * win32/vs6/libgstcontroller.dsp:
15809         * win32/vs6/libgstcoreelements.dsp:
15810         * win32/vs6/libgstdataprotocol.dsp:
15811         * win32/vs6/libgstnet.dsp:
15812           update project files
15813
15814 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
15815
15816         * gst/gstbuffer.c: (gst_subbuffer_class_init):
15817         * gst/gstclock.c: (gst_clock_class_init):
15818         * gst/gstelement.c: (gst_element_class_init):
15819         * gst/gstindex.c: (gst_index_class_init):
15820         * gst/gstindexfactory.c: (gst_index_factory_class_init):
15821         * gst/gstobject.c: (gst_object_class_init),
15822         (gst_signal_object_class_init):
15823         * gst/gstpad.c: (gst_pad_class_init):
15824         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
15825         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
15826         * gst/gstregistry.c: (gst_registry_class_init):
15827         * gst/gstsystemclock.c: (gst_system_clock_class_init):
15828         * gst/gsttask.c: (gst_task_class_init):
15829         * gst/gstxml.c: (gst_xml_class_init):
15830         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
15831         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
15832         (gst_base_src_loop):
15833         * libs/gst/controller/gstcontroller.c:/
15834         (_gst_controller_class_init):
15835         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
15836         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
15837         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
15838         * tests/old/examples/plugins/example.c: (gst_example_class_init):
15839         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
15840         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
15841
15842 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
15843
15844         * gst/gstpad.c: (gst_pad_link):
15845           Must set peer pads before calling the link function, otherwise
15846           a task started from a link function might get a flow-not-linked
15847           result when trying to push because the other thread where the
15848           linking happens hasn't had a chance to set the peers yet. This
15849           might happen for example when a queue gets linked to a downstream
15850           element, as queue starts a streaming task when its source pad
15851           gets linked. Happens in real life when playing back flac/musepack
15852           files in playbin (#332390).
15853           
15854 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
15855
15856         * gst/gstindex.h:
15857         * gst/gstxml.h:
15858         * libs/gst/base/gstadapter.h:
15859         * libs/gst/base/gstbasesink.h:
15860         * libs/gst/base/gstbasesrc.h:
15861         * libs/gst/base/gstbasetransform.h:
15862         * libs/gst/base/gstcollectpads.h:
15863         * libs/gst/base/gstpushsrc.h:
15864         Fix broken GObject macros
15865
15866 2006-04-07  Wim Taymans  <wim@fluendo.com>
15867
15868         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15869         Initialize start and stop times, thanks valgrind.
15870
15871 2006-04-07  Wim Taymans  <wim@fluendo.com>
15872
15873         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15874         Be a bit nicer to badly behaving upstream elements that expect
15875         us to deal with non TIME segments and timestamps (such as fakesrc
15876         in the testsuite).
15877
15878 2006-04-07  Wim Taymans  <wim@fluendo.com>
15879
15880         * gst/gstbus.c:
15881         Small documentation clarification about the signal watch.
15882
15883         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
15884         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
15885         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
15886         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
15887         (gst_base_sink_get_position_last),
15888         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
15889         Convert and store timestamps in stream time and running time, the
15890         raw timestamps are not useful, also document this better.
15891         Use different window sizes for good and bad QoS observations so
15892         we react to badness a little quicker.
15893         Keep track of the amount of rendered and dropped buffers.
15894         Send QoS timestamps in running time.
15895
15896         * libs/gst/base/gstbasetransform.c:
15897         (gst_base_transform_sink_eventfunc),
15898         (gst_base_transform_handle_buffer):
15899         Compare QoS timestamps against running time.
15900
15901 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
15902
15903         * gst/gstpad.c:
15904           Typo fixes in docs.
15905
15906 2006-04-06  Michael Smith  <msmith@fluendo.com>
15907
15908         * gst/gstpad.c: (gst_pad_set_property):
15909           Use g_value_get_object() instead of g_value_dup_gst_object(),
15910           to avoid double-reffing the pad template (which we then sink,
15911           so this worked previously if (and only if) the pad template
15912           was floating.
15913
15914         * gst/gstpadtemplate.c: (gst_pad_template_init),
15915         (gst_pad_template_pad_created):
15916           Never return floating references to pad templates, create
15917           them as initially-sunken.
15918
15919           Document an extra function (and make this stop sinking our
15920           pad template, since that is now guaranteed to do nothing,
15921           since we created it sunken).
15922
15923         * gst/gstghostpad.c:
15924           Fix docs typo.
15925
15926 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
15927
15928         * gst/gstinfo.c: (__gst_in_valgrind):
15929           Add some newlines.
15930
15931         * plugins/elements/gsttypefindelement.c:
15932         (gst_type_find_element_chain):
15933           Don't leak buffer caps.
15934
15935 2006-04-06  Michael Smith  <msmith@fluendo.com>
15936
15937         * gst/parse/grammar.y:
15938           Fix a leak in parse-launch for any source-or-sink named element 
15939           references used.
15940
15941         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
15942           Unref the pipeline if it exists after we've failed parsing.
15943
15944 2006-04-05  Michael Smith  <msmith@fluendo.com>
15945
15946         * gst/gstpipeline.c: (gst_pipeline_init):
15947           When we create a pipeline bus, initially create it in flushing mode.
15948           Fixes leaks in at least one test, and makes a new pipeline work the
15949           same as one that has gone to READY and then back to NULL.
15950
15951         * gst/gstelement.c:
15952           Typo fix in docs.
15953
15954 2006-04-05  Michael Smith  <msmith@fluendo.com>
15955
15956         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
15957           Unref a pad we reffed.
15958         * tests/check/gst/gstutils.c: (GST_START_TEST):
15959           Unref bins
15960
15961 2006-04-05  Michael Smith  <msmith@fluendo.com>
15962
15963         * gst/gstquery.c: (gst_query_set_formats),
15964         (gst_query_set_formatsv):
15965           Fix leaking GValues in queries, as shown by valgrind/testsuite.
15966
15967 2006-04-05  Michael Smith  <msmith@fluendo.com>
15968
15969         * tests/check/generic/sinks.c: (GST_START_TEST):
15970           Fix a variety of memleaks in sinks check, which are only sometimes 
15971           shown by running the tests under valgrind (weird?).
15972
15973 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
15974
15975         * docs/version.entities.in:
15976           Fix the substituted entity name after thomas' changes on the
15977           weekend.
15978
15979 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
15980
15981         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
15982         VALGRIND_PRINTF
15983         
15984 2006-04-05  Andy Wingo  <wingo@pobox.com>
15985
15986         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
15987
15988         * libs/gst/base/gstbasetransform.c
15989         (gst_base_transform_sink_eventfunc): When resetting our segment on
15990         FLUSH_STOP, also update the flag saying we haven't seen a
15991         newsegment.
15992
15993 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
15994
15995         Patch by: Paolo Borelli  <pborelli at katamail dot com>
15996
15997         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
15998         (gst_plugin_check_license):
15999           minor clean-ups: G_DEFINE_TYPE already takes care of the
16000           parent_class stuff, no need to do it twice. Mark array of
16001           license strings as constant. (#337103)
16002           
16003 2006-04-04  Michael Smith  <msmith@fluendo.com>
16004
16005         * tools/gst-inspect.c: (print_element_list):
16006           Free the right plugin list; fixes a memory leak.
16007
16008 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
16009
16010         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
16011
16012         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
16013           Don't error out on empty buffers (#336945).
16014           
16015 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
16016
16017         * docs/libs/gstreamer-libs-sections.txt:
16018         * gst/gsttaglist.c:
16019         * libs/gst/base/gstbasesink.c:
16020         * libs/gst/base/gstbasesink.h:
16021         * libs/gst/base/gstbasesrc.c:
16022         * libs/gst/base/gstbasesrc.h:
16023           Documentation updates. Make BaseSink and BaseSrc docs contain the
16024           class structure so that people can actually see the prototypes for
16025           virtual functions they're supposed to be overriding.
16026
16027 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
16028
16029         * plugins/elements/gsttypefindelement.c:
16030         (gst_type_find_element_chain):
16031           More debug info; when skipping typefinding, send cached
16032           events in all cases.
16033
16034 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
16035
16036         * configure.ac:
16037           use new AS_VERSION and AS_NANO macros
16038         * gst/gst-i18n-lib.h:
16039         * gst/gst.c:
16040         * gst/gsterror.c:
16041         * gst/gstversion.h.in:
16042         * win32/common/config.h:
16043         * win32/common/config.h.in:
16044           update accordingly
16045
16046 2006-03-31  Michael Smith  <msmith@fluendo.com>
16047
16048         * plugins/elements/gsttypefindelement.c:
16049         (gst_type_find_element_chain):
16050           Do not typefind content if the buffers already have caps.
16051           Neccesary for icydemux (#333657), and the right thing to do anyway.
16052
16053 2006-03-30  Wim Taymans  <wim@fluendo.com>
16054
16055         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16056         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
16057         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
16058         (gst_base_sink_record_qos_observation),
16059         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16060         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
16061         (gst_base_sink_change_state):
16062         More QoS measurements as described in the design doc.
16063         Get rid of ringbuffer with observations, running average is
16064         more simple and equally good.
16065         Calculates valid proportion now.
16066         Added beginning of flood measurement.
16067
16068 2006-03-29  Wim Taymans  <wim@fluendo.com>
16069
16070         * docs/design/part-qos.txt:
16071         * gst/gstclock.c:
16072         Small documentation updates and additions.
16073
16074 2006-03-29  Wim Taymans  <wim@fluendo.com>
16075
16076         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
16077         (gst_base_src_send_event), (gst_base_src_loop),
16078         (gst_base_src_change_state):
16079         Perform the EOS logic when we reach the segment stop position.
16080         Fix compilation on gcc4.1
16081
16082 2006-03-29  Wim Taymans  <wim@fluendo.com>
16083
16084         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
16085
16086         * plugins/elements/gstqueue.c: (gst_queue_init),
16087         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
16088         (gst_queue_set_property):
16089         * plugins/elements/gstqueue.h:
16090         In queue, when EOS is received, if minimum threshold > max_size -
16091         current_level, there is chance that queue blocks forever in conditional
16092         item del wait. This is because the queue is not emptied completely due
16093         to minimum threshold.  Here is another approach. Instead of setting
16094         cur_levels to max in EOS, just zero all minimum threshold levels. This
16095         should make sure that queue gives out all data. When going to READY
16096         (stop) state, just reset the original minimum threshold levels.
16097         Fixes #336336.
16098
16099 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
16100
16101         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
16102         (gst_type_find_element_handle_event),
16103         (gst_type_find_element_send_cached_events),
16104         (gst_type_find_element_change_state):
16105         * plugins/elements/gsttypefindelement.h:
16106           When typefinding is done in push mode, we should cache
16107           events we receive during typefinding instead of just
16108           dropping them (e.g. newsegment, custom events from
16109           dvdreadsrc etc.) and then send them out once we've
16110           determined the type of the stream (and decodebin
16111           has had a chance to plug in a decoder/demuxer).
16112           
16113 2006-03-27  Wim Taymans  <wim@fluendo.com>
16114
16115         * docs/design/part-qos.txt:
16116         First QoS ideas.
16117
16118 2006-03-27  Wim Taymans  <wim@fluendo.com>
16119
16120         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
16121
16122         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
16123         (gst_base_src_send_event), (gst_base_src_change_state):
16124         Handle element seek correctly when we are streaming.
16125         Fixes #326998.
16126
16127 2006-03-24  Michael Smith  <msmith@fluendo.com>
16128
16129         * docs/faq/gst-uninstalled:
16130           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
16131           allow you to correctly run intalled applications built against old 
16132           core, using plugins that require updated core (e.g. running
16133           installed totem against a full uninstalled gstreamer stack)
16134
16135 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
16136
16137         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
16138         more debug details
16139
16140 2006-03-24  Wim Taymans  <wim@fluendo.com>
16141
16142         * docs/gst/gstreamer-sections.txt:
16143         Rearrange the order of the methods so that related methods
16144         are grouped together in sections.
16145
16146 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
16147
16148         * gst/gstelement.c:
16149           Little clarification in the docs
16150
16151 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
16152
16153         * docs/README:
16154         formatting fix
16155         * plugins/elements/gstidentity.c:
16156         * plugins/elements/gstqueue.c:
16157         * plugins/elements/gsttee.c:
16158         * plugins/elements/gsttypefindelement.c:
16159         GST_ELEMENT_DETAILS formatting
16160
16161 2006-03-24  Wim Taymans  <wim@fluendo.com>
16162
16163         * libs/gst/base/gstbasesink.h:
16164         Only add fields, not insert or we break ABI.
16165
16166 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
16167
16168         * win32/common/libgstbase.def:
16169         * win32/common/libgstreamer.def:
16170           Update, add recently added functions.
16171
16172 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
16173
16174         * docs/gst/gstreamer-sections.txt:
16175         * gst/gstutils.c: (gst_pad_query_peer_position),
16176         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
16177         * gst/gstutils.h:
16178           API: add some new utility functions:
16179            - gst_pad_query_peer_position()
16180            - gst_pad_query_peer_duration()
16181            - gst_pad_query_peer_convert()
16182           
16183 2006-03-23  Wim Taymans  <wim@fluendo.com>
16184
16185         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16186         (gst_base_sink_init), (gst_base_sink_finalize),
16187         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
16188         (gst_base_sink_set_property), (gst_base_sink_get_property),
16189         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
16190         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
16191         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
16192         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16193         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
16194         (gst_base_sink_preroll_object), (gst_base_sink_event),
16195         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
16196         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
16197         (gst_base_sink_query), (gst_base_sink_change_state):
16198         Decouple max-lateness and the fact that QoS messages are generated
16199         with a new property (qos).
16200         added API: GstBaseSink::async_play()
16201         Add vmethod so subclasses can be notified of ASYNC playing
16202         state changes.
16203         Collect timestamp start and stop to report better current
16204         position in EOS/PLAYING/PAUSED/READY/NULL.
16205         Refactor QoS/frame dropping and other measurements.
16206         API: GstBaseSrc::qos
16207         Fixes #326311
16208
16209         * libs/gst/base/gstbasesink.h:
16210         Added Private struct.
16211         API: gst_base_sink_set_qos_enabled()
16212         API: gst_base_sink_is_qos_enabled()
16213
16214 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
16215
16216         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
16217           If compiling against GLib-2.8 or newer, try to read the
16218           registry file using GMappedFile first before falling back
16219           to fopen() + fread() (#332151).
16220
16221 2006-03-22  Wim Taymans  <wim@fluendo.com>
16222
16223         * gst/gstinfo.c: (gst_debug_set_active),
16224         (gst_debug_category_set_threshold):
16225         Disable debugging unless explicitly activated.
16226         Fixes #335480.
16227
16228 2006-03-22  Wim Taymans  <wim@fluendo.com>
16229
16230         * gst/gstelement.c: (gst_element_set_locked_state),
16231         (gst_element_dispose):
16232         Cleanup the error case.
16233
16234         * gst/gstobject.c: (gst_object_dispose):
16235         print a critical when some object was disposed with
16236         a parent, also revive the object since it might
16237         crash the parent.
16238
16239 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
16240
16241         * tools/gst-launch.1.in:
16242           Fix another typo.
16243
16244 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
16245
16246         * configure.ac:
16247         * tests/check/Makefile.am:
16248           disable some tests when we don't have a registry
16249         * tests/check/gst/gstutils.c: (gst_utils_suite):
16250           don't build the part that needs parsing
16251
16252 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
16253
16254         * gst/Makefile.am
16255         * tests/examples/Makefile.am:
16256           fix --disable-parse build
16257
16258 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16259
16260         * tools/gst-feedback.1.in:
16261           Fix typo: s/feeback/feedback/ (#133494).
16262
16263 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16264
16265         * tools/Makefile.am:
16266         * tools/gst-launch.1.in:
16267           Add FILES section and correct entry about GST_REGISTRY_PATH
16268           environment variable (#133495; #133494).
16269
16270 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16271
16272         * tools/Makefile.am:
16273         * tools/gst-md5sum.1.in:
16274         * tools/gst-md5sum.c:
16275           Remove gst-md5sum and man page (the md5sink element
16276           required was removed ages ago)
16277
16278 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16279
16280         * gst/gststructure.c: (gst_structure_id_set_value):
16281           Make sure that string fields in structures/taglists
16282           contain valid UTF-8 - we don't want to pass rubbish to
16283           applications because of a buggy plugin (cp. #334167).
16284
16285 2006-03-21  Edward Hervey  <edward@fluendo.com>
16286
16287         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
16288         (gst_bin_handle_message_func):
16289         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
16290         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
16291         (gst_element_set_bus_func):
16292         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
16293         * gst/gstminiobject.c: (gst_value_set_mini_object),
16294         (gst_value_take_mini_object):
16295         * gst/gstpad.c: (gst_pad_set_pad_template):
16296         * gst/gstpipeline.c: (gst_pipeline_dispose),
16297         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
16298         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
16299         (gst_collect_pads_chain):
16300         * libs/gst/net/gstnettimeprovider.c:
16301         (gst_net_time_provider_set_property):
16302         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
16303         It's in fact all issues with gst_*object_replace().
16304
16305 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16306
16307         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
16308         
16309         * pkgconfig/gstreamer-check-uninstalled.pc.in:
16310         * pkgconfig/gstreamer-check.pc.in:
16311           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
16312
16313 2006-03-21  Edward Hervey  <edward@fluendo.com>
16314
16315         * gst/gstbuffer.h:
16316         * gst/gstevent.h:
16317         * gst/gstmessage.h:
16318         gst_[buffer|event|message]_ref() macros are replaced by a static
16319         inline functions because gcc-4.1 will about if the return value
16320         isn't used.
16321         * tests/check/gst/gstevent.c: (event_probe):
16322         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
16323
16324 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
16325
16326         * gst/gstutils.h:
16327         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
16328         the type' case. (Closes: #335195 for now). In the future, when we
16329         depend on GLib 2.10, we could also intern the type name using
16330         g_intern_static_string()
16331
16332 2006-03-20  Wim Taymans  <wim@fluendo.com>
16333
16334         * gst/gstbin.c: (gst_bin_handle_message_func),
16335         (bin_query_max_init), (bin_query_position_fold),
16336         (bin_query_position_done), (gst_bin_query):
16337         Position query should also take max of all streams.
16338
16339 2006-03-20  Wim Taymans  <wim@fluendo.com>
16340
16341         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
16342         (gst_fake_src_finalize):
16343         Fix leaks in fakesrc.
16344
16345         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
16346         Fix leaks in the testcase.
16347
16348 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
16349
16350         * gst/gst_private.h:
16351           add win32 specific import decoration(__declspec(dllimport)) 
16352           for all extern GstDebugCategory * variables
16353         * win32/common/libgstbase.def:
16354         * win32/common/libgstcontroller.def:
16355         * win32/common/libgstreamer.def:
16356           Add some exports, remove empty lines
16357         * win32/common/libgstdataprotocol.def:
16358         * win32/common/libgstdataprotocol.dsp:
16359         * win32/common/libgstnet.def:
16360         * win32/common/libgstnet.dsp:
16361           new project files and exportation files added
16362         
16363 2006-03-19  Wim Taymans  <wim@fluendo.com>
16364
16365         * tests/check/libs/basesrc.c: (eos_event_counter):
16366         Use proper return value for probe.
16367
16368 2006-03-17  Wim Taymans  <wim@fluendo.com>
16369
16370         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16371         (gst_pad_push):
16372         Don't leak buffers, caps and pads on negotiation errors.
16373
16374 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
16375
16376         * docs/faq/cvs.xml:
16377         * docs/faq/dependencies.xml:
16378         * docs/faq/developing.xml:
16379         * docs/faq/faq.xml:
16380         * docs/faq/general.xml:
16381         * docs/faq/getting.xml:
16382         * docs/faq/legal.xml:
16383         * docs/faq/troubleshooting.xml:
16384         * docs/faq/using.xml:
16385         Faq review and update.
16386
16387 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
16388
16389         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16390         (gst_pad_push):
16391         Don't pound the cpu to pieces by checking get_caps when accept_caps
16392         is called with the same caps as the pad already has.
16393         Use GST_DEBUG_OBJECT when outputting caps change information.
16394
16395 2006-03-15  Wim Taymans  <wim@fluendo.com>
16396
16397         * gst/gstclock.c: (gst_clock_class_init):
16398         Fix docs.
16399
16400 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
16401
16402         * gst/gstbuffer.h:
16403         Documentation fix.
16404
16405         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
16406         (gst_pad_accept_caps), (gst_pad_configure_sink),
16407         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
16408         Make the default acceptcaps behaviour be to check the requested 
16409         caps against the gst_pad_get_caps output. 
16410
16411         Ensure that gst_pad_accept_caps is used to check caps when a pad
16412         doesn't have a setcaps function, so that pads automatically refuse 
16413         caps that they don't allow in their pad template. (Fixes #332986)
16414
16415         When a buffer with attached caps is pushed, ensure that the source 
16416         pad receives those caps even if the element didn't call
16417         gst_pad_set_caps first.
16418
16419 2006-03-15  Wim Taymans  <wim@fluendo.com>
16420
16421         * libs/gst/base/gstadapter.c:
16422         Add some docs.
16423
16424 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
16425
16426         * win32/common/libgstbase.def:
16427         * win32/common/libgstcontroller.def:
16428         * win32/common/libgstreamer.def:
16429           Add a whole bunch of missing functions (#334434).
16430
16431 2006-03-14  Wim Taymans  <wim@fluendo.com>
16432
16433         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
16434         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
16435         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
16436         Better debug info when we receive a segment event.
16437         Reorganize a bit so we can pass the get_times() results around.
16438         Use the segment format when calculating the running time.
16439         Don't do QoS is sync is disabled or we have no clock or the
16440         element does not want us to sync to the clock.
16441         Don't drop buffers if QoS is disabled for now.
16442
16443 2006-03-14  Wim Taymans  <wim@fluendo.com>
16444
16445         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
16446         Marked the stats property as unimplemented so people don't get
16447         wild ideas.
16448         Add debug message when regression goes wrong.
16449         Added some more docs.
16450
16451 2006-03-14  Wim Taymans  <wim@fluendo.com>
16452
16453         * gst/gstsegment.c: (gst_segment_to_stream_time):
16454         Return correct return type in case of errors.
16455
16456 2006-03-14  Wim Taymans  <wim@fluendo.com>
16457
16458         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
16459           Don't segfault on invalid formats.
16460
16461 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
16462
16463         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
16464           Can't use gst_segment_to_running_time() when the segment
16465           is not in GST_TIME_FORMAT (like with filesink, for example).
16466           Stops flac encoding pipelines from spewing critical warnings
16467           at EOS (#331248).
16468           
16469 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
16470
16471         * gst/gstpipeline.c: (gst_pipeline_class_init):
16472           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
16473
16474         * plugins/elements/gsttypefindelement.c:
16475         (gst_type_find_element_handle_event):
16476           Don't try to typefind empty streams.
16477
16478 2006-03-14  Wim Taymans  <wim@fluendo.com>
16479
16480         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
16481         (gst_base_sink_do_qos):
16482         Separate QoS calculation.
16483         Only drop buffers when lateness is bigger than the 
16484         duration of the buffer.
16485
16486 2006-03-13  Wim Taymans  <wim@fluendo.com>
16487
16488         * gst/gstpipeline.c: (gst_pipeline_set_property),
16489         (gst_pipeline_get_property), (do_pipeline_seek),
16490         (gst_pipeline_change_state), (gst_pipeline_set_delay),
16491         (gst_pipeline_get_delay):
16492         Don't deadlock when reading properties.
16493
16494 2006-03-13  Wim Taymans  <wim@fluendo.com>
16495
16496         * libs/gst/base/gstbasetransform.c:
16497         (gst_base_transform_class_init), (gst_base_transform_init),
16498         (gst_base_transform_sink_event),
16499         (gst_base_transform_sink_eventfunc),
16500         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
16501         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
16502         (gst_base_transform_set_property),
16503         (gst_base_transform_get_property),
16504         (gst_base_transform_change_state), (gst_base_transform_update_qos),
16505         (gst_base_transform_set_qos_enabled),
16506         (gst_base_transform_is_qos_enabled):
16507         * libs/gst/base/gstbasetransform.h:
16508         Make basetransform virtual method for src events too.
16509         Handle QOS in basetransform.
16510         API: gst_base_transform_update_qos()
16511         API: gst_base_transform_set_qos_enabled()
16512         API: gst_base_transform_is_qos_enabled()
16513
16514 2006-03-13  Wim Taymans  <wim@fluendo.com>
16515
16516         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16517         (gst_base_sink_do_sync):
16518         Small cleanups.
16519         Use QOS debug category.
16520
16521 2006-03-13  Wim Taymans  <wim@fluendo.com>
16522
16523         * plugins/elements/gstqueue.c:
16524         Very small doc update.
16525
16526 2006-03-13  Wim Taymans  <wim@fluendo.com>
16527
16528         * gst/gst_private.h:
16529         * gst/gstinfo.c: (_gst_debug_init):
16530         Added QOS debug category
16531
16532 2006-03-13  Wim Taymans  <wim@fluendo.com>
16533
16534         * docs/gst/gstreamer-sections.txt:
16535         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
16536         * gst/gstbin.h:
16537         * gst/gstbus.c: (gst_bus_class_init):
16538         * gst/gstbus.h:
16539         * gst/gstclock.c:
16540         * gst/gstelement.c: (gst_element_set_locked_state):
16541         * gst/gstsegment.c:
16542         Documentation updates.
16543
16544         * gst/gstpipeline.c: (gst_pipeline_get_type),
16545         (gst_pipeline_class_init), (gst_pipeline_init),
16546         (gst_pipeline_dispose), (gst_pipeline_set_property),
16547         (gst_pipeline_get_property), (do_pipeline_seek),
16548         (gst_pipeline_send_event), (gst_pipeline_change_state),
16549         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
16550         (gst_pipeline_get_delay):
16551         * gst/gstpipeline.h:
16552         Added methods for setting the delay.
16553         API: gst_pipeline_set_delay()
16554         API: gst_pipeline_get_delay()
16555         Add pipeline debug category
16556         Various cleanups.
16557         Updated docs.
16558         Don't reset stream time when seek failed.
16559
16560 2006-03-13  Wim Taymans  <wim@fluendo.com>
16561
16562         * docs/design/draft-klass.txt:
16563         * docs/design/part-clocks.txt:
16564         * docs/design/part-events.txt:
16565         * docs/design/part-gstbin.txt:
16566         * docs/design/part-gstpipeline.txt:
16567         * docs/design/part-messages.txt:
16568         * docs/design/part-negotiation.txt:
16569         * docs/design/part-overview.txt:
16570         * docs/design/part-preroll.txt:
16571         * docs/design/part-seeking.txt:
16572         * docs/design/part-states.txt:
16573         * docs/design/part-streams.txt:
16574         Documentation updates.
16575
16576 2006-03-12  Julien MOUTTE  <julien@moutte.net>
16577
16578         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
16579         us to leak strings...
16580
16581 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16582
16583         * libs/gst/net/gstnettimeprovider.c:
16584           fix docs
16585         * win32/common/config.h:
16586           update
16587
16588 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
16589
16590         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
16591
16592         * configure.ac:
16593           Don't check for libgnomeui (leftover from old examples
16594           that aren't built or disted any longer) (#334303).
16595           
16596 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
16597
16598         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
16599         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
16600           Emit RESOURCE_NO_SPACE_LEFT error here as well when
16601           there's no space left on the device.
16602
16603 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
16604
16605         * gst/gstclock.h:
16606           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
16607           to cast the input to GstClockTime before comparing with
16608           another GstClockTime value.
16609
16610 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16611
16612         * configure.ac:
16613           back to trunk
16614
16615 === release 0.10.4 ===
16616
16617 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
16618
16619         * configure.ac:
16620           releasing 0.10.4, "Light"
16621
16622 2006-03-10  Michael Smith  <msmith@fluendo.com>
16623
16624         * libs/gst/dataprotocol/dataprotocol.c:
16625           Fix docs for dataprocotol to not get the return types completely
16626           wrong for a few functions.
16627
16628 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16629
16630         * docs/gst/gstreamer-sections.txt:
16631         * gst/gstpipeline.c: (gst_pipeline_class_init),
16632         (gst_pipeline_init), (gst_pipeline_set_property),
16633         (gst_pipeline_get_property), (gst_pipeline_change_state),
16634         (gst_pipeline_set_auto_flush_bus),
16635         (gst_pipeline_get_auto_flush_bus):
16636         * gst/gstpipeline.h:
16637           Add new API: gst_pipeline_set_auto_flush_bus() and
16638           gst_pipeline_get_auto_flush_bus() to disable automatic
16639           flushing of the pipeline's GstBus when going from READY
16640           to NULL state (#332045).
16641
16642 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16643
16644         * docs/gst/gstreamer-sections.txt:
16645         * gst/gsturi.c: (gst_uri_has_protocol):
16646         * gst/gsturi.h:
16647            Add new API: gst_uri_has_protocol() (#333779).
16648
16649 2006-03-09  Wim Taymans  <wim@fluendo.com>
16650
16651         * gst/gstclock.c: (gst_clock_entry_new),
16652         (gst_clock_id_compare_func), (gst_clock_id_wait),
16653         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
16654         (gst_clock_init), (gst_clock_get_internal_time),
16655         (gst_clock_set_master), (do_linear_regression),
16656         (gst_clock_add_observation), (gst_clock_set_property):
16657         * gst/gstclock.h:
16658         Review docs.
16659         Small cleanups.
16660         Fix a possible segfault when the window-size is made smaller.
16661         Calculate jitter before performing the clock wait. Ideally
16662         the clock implementation should calculate jitter but we need
16663         API breakage for that.
16664
16665         * gst/gstsystemclock.c: (gst_system_clock_init):
16666         Docs review.
16667         
16668         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16669         Remove leftover else
16670
16671         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
16672         (gst_systemclock_suite):
16673         Added check to test GST_CLOCK_DIFF.
16674
16675 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16676
16677         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
16678         (gst_type_find_helper_get_range):
16679           If we are provided with the size, we should implement
16680           GstTypeFind::get_length, so that typefind functions who
16681           want to can actually peek at the middle of a file.
16682
16683 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
16684
16685         * docs/manual/advanced-dataaccess.xml:
16686           Add some very very basic error checking.
16687
16688         * docs/pwg/appendix-checklist.xml:
16689           Some updates to the list of things to check when writing an element.
16690
16691 2006-03-08  Wim Taymans  <wim@fluendo.com>
16692
16693         * docs/design/part-element-transform.txt:
16694         Added some docs about the design of tranform elements.
16695
16696         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
16697         (gst_base_src_loop), (gst_base_src_change_state):
16698         Mark buffers with the DISCONT flag.
16699
16700 2006-03-08  Michael Smith  <msmith@fluendo.com>
16701
16702         * gst/gstregistry.h:
16703         * gst/gstregistryxml.c: (gst_registry_save),
16704         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
16705         (gst_registry_xml_save_pad_template),
16706         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
16707         (gst_registry_xml_write_cache):
16708           Rewrite registry-saving to avoid race conditions and check for
16709           failed writes.
16710
16711 2006-03-08  Wim Taymans  <wim@fluendo.com>
16712
16713         * libs/gst/base/gstbasetransform.c:
16714         (gst_base_transform_transform_caps),
16715         (gst_base_transform_transform_size),
16716         (gst_base_transform_prepare_output_buffer),
16717         (gst_base_transform_get_unit_size),
16718         (gst_base_transform_buffer_alloc),
16719         (gst_base_transform_handle_buffer),
16720         (gst_base_transform_change_state):
16721         Cleanups, separate normal flow from errors, add sensible
16722         DEBUG lines.
16723         Don't try to renegotiate when allocating an output buffer.
16724         Also copy DISCONT buffer flag when copying a buffer.
16725         Reset the transform after we finish streaming, not during.
16726
16727 2006-03-08  Wim Taymans  <wim@fluendo.com>
16728
16729         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16730         Use last buffer timestamp in qos message.
16731
16732 2006-03-07  Wim Taymans  <wim@fluendo.com>
16733
16734         Patch by: Christophe Fergeau
16735
16736         * docs/pwg/advanced-tagging.xml:
16737         * docs/pwg/building-pads.xml:
16738           fixes #333416
16739
16740 2006-03-07  Wim Taymans  <wim@fluendo.com>
16741
16742         * docs/libs/gstreamer-libs-sections.txt:
16743         Added basesink new methods.
16744
16745         * gst/gstevent.c:
16746         * gst/gstevent.h:
16747         Docs updates. Flesh out the QoS docs.
16748
16749         * libs/gst/base/gstadapter.c:
16750         Small doc clarification about ownership and flushing.
16751
16752         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
16753         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
16754         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
16755         (gst_base_sink_get_property), (gst_base_sink_do_sync):
16756         * libs/gst/base/gstbasesink.h:
16757         API additions: 
16758         Added new methods to allow subclass to control max-lateness 
16759         and sync.
16760         Generate very basic QoS events based on last sync observation.
16761         Updated docs, fix typo, added some QoS blurb.
16762
16763         * libs/gst/base/gstbasesrc.c:
16764         Remove obsolete _get_state() calls from docs.
16765
16766 2006-03-07  Wim Taymans  <wim@fluendo.com>
16767
16768         * docs/libs/gstreamer-libs-sections.txt:
16769         * libs/gst/base/gstbasetransform.h:
16770         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
16771         Fix docs for GstBaseSrc.
16772
16773 2006-03-07  Wim Taymans  <wim@fluendo.com>
16774
16775         * docs/gst/gstreamer-sections.txt:
16776         * gst/gstbuffer.h:
16777         * gst/gstvalue.c:
16778         * libs/gst/base/gstbasetransform.h:
16779         Small documentation fixes.
16780
16781 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
16782
16783         * gst/gstvalue.c:
16784           Document thread-unsafety of gst_value_register_foo_func()
16785           when used at the same time as gst_value_foo() (#322628).
16786
16787 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
16788
16789         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
16790         (gst_push_src_check_get_range):
16791           Push sources don't support pull mode by default.
16792
16793 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
16794
16795         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
16796         (gst_base_src_init), (gst_base_src_pad_check_get_range),
16797         (gst_base_src_default_check_get_range):
16798         * libs/gst/base/gstbasesrc.h:
16799           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
16800           provide default implementation, and rename
16801           gst_base_src_check_get_range() to
16802           gst_base_src_pad_check_get_range() for clarity.
16803
16804 2006-03-06  Wim Taymans  <wim@fluendo.com>
16805
16806         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
16807         Make property overridable.
16808
16809 2006-03-06  Wim Taymans  <wim@fluendo.com>
16810
16811         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16812         (gst_base_sink_init), (gst_base_sink_set_property),
16813         (gst_base_sink_get_property), (gst_base_sink_do_sync):
16814         * libs/gst/base/gstbasesink.h:
16815         API addition: Make max-lateness a property.
16816
16817 2006-03-06  Wim Taymans  <wim@fluendo.com>
16818
16819         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
16820         (gst_base_sink_do_sync), (gst_base_sink_render_object):
16821         Don't ever draw a frame that is >10ms late.
16822
16823 2006-03-06  Michael Smith  <msmith@fluendo.com>
16824
16825         * gst/gstmessage.c: (_gst_message_copy):
16826           When copying a message, set the parent_refcount of the enclosed
16827           structure to point at the copy, not the original message.
16828
16829 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
16830
16831         Patch by: Christophe Fergeau
16832
16833         * gst/gstutils.h:
16834           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
16835           usable in c++ code (#333417)
16836
16837 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16838
16839         * gst/gstclock.h:
16840           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
16841
16842 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
16843
16844         * libs/gst/base/gstbasetransform.c:
16845         (gst_base_transform_transform_caps):
16846           Make sure caps are writable before passing them to
16847           gst_caps_append().
16848
16849 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
16850
16851         * gst/gsterror.h:
16852           Fix some minor docs errors.
16853
16854 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
16855
16856           Patch by: Ross Burton <ross at burtonini dot com>
16857
16858         * gst/gsterror.c: (_gst_resource_errors_init):
16859         * gst/gsterror.h:
16860           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
16861
16862 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
16863
16864         * gst/gst.c:
16865         Add a check and output a g_warning when GStreamer is built
16866         against GLib 2.6 but running against 2.8 or higher, and vice 
16867         versa. (Closes: #323542)
16868
16869 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
16870
16871         * gst/parse/parse.l:
16872           Commit patch for parse_launch syntax from #331255. Removes 
16873           support for quoted strings and mimetypes when writing filtered 
16874           caps. See the bug report for more details - I'm pretty sure this
16875           obscure feature is not in use by _anyone_ anywhere.
16876
16877           With this simple change, the size of the gstreamer.so here 
16878           drops from 2193KB to 1565KB.
16879
16880 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
16881
16882         * plugins/elements/gsttypefindelement.h:
16883         * plugins/elements/gsttypefindelement.c:
16884         (gst_type_find_element_src_event), (start_typefinding),
16885         (stop_typefinding), (gst_type_find_element_handle_event),
16886         (gst_type_find_element_chain),
16887         (gst_type_find_element_chain_do_typefinding):
16888           Use gst_type_find_helper_for_buffer() for chain-based
16889           typefinding.
16890
16891 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
16892
16893         * plugins/elements/gsttypefindelement.c:
16894         (gst_type_find_element_class_init),
16895         (gst_type_find_element_set_property),
16896         (gst_type_find_element_get_property):
16897           Deprecate "maximum" property (not only was it only taken into
16898           account for typefinding in push-mode anyway, it also was never
16899           actually possible to set it in the first place because the
16900           property was registered with the numeric property ID for the
16901           "minimum" property). Register "maximum" property correctly,
16902           for the sake of future copy'n'pasters. Remove some cruft
16903           from property get/set functions.
16904
16905 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
16906
16907         * plugins/elements/gsttypefindelement.c:
16908         (gst_type_find_element_activate):
16909           Use gst_type_find_helper_get_range() here, so we
16910           can honour the "minimum" property and also emit
16911           the signal with the correct probability of the found caps.
16912
16913 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
16914
16915         * docs/libs/gstreamer-libs-sections.txt:
16916         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
16917         (helper_find_suggest), (gst_type_find_helper_get_range),
16918         (gst_type_find_helper):
16919         * libs/gst/base/gsttypefindhelper.h:
16920           New API: gst_type_find_helper_get_range() (#333042).
16921
16922 2006-03-02  Michael Smith  <msmith@fluendo.com>
16923
16924         * gst/gstregistryxml.c: (load_feature):
16925           Asserting on a failure to read part of the registry is Not Cool.
16926           Just log a warning and return NULL (which is already handled)
16927
16928 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
16929
16930         * win32/common/libgstbase.def:
16931           added export of gst_type_find_helper_for_buffer
16932         * win32/common/libgstbase.def:
16933           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
16934           gst_ghost_pad_get_target
16935
16936 2006-02-28  Wim Taymans  <wim@fluendo.com>
16937
16938         * docs/design/draft-klass.txt:
16939         We use Filter now.
16940         Added Connector to mark elements that are only used to
16941         allow pipeline connections.
16942         Moved Debug to extra feature since most of them are 
16943         functionally something else.
16944
16945 2006-02-28  Wim Taymans  <wim@fluendo.com>
16946
16947         * docs/design/draft-klass.txt:
16948         Some updates and clarifications.
16949
16950 2006-02-28  Wim Taymans  <wim@fluendo.com>
16951
16952         * docs/design/draft-klass.txt:
16953         Proposal for klass field values.
16954
16955         * docs/design/part-streams.txt:
16956         Start of a doc describing stream anatomy.
16957
16958 2006-02-28  Wim Taymans  <wim@fluendo.com>
16959
16960         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
16961         Help the compiler a bit with type registration.
16962         Use existing forward cod path instead of duplicating it when 
16963         handling a message.
16964         
16965         * gst/gstbus.c: (gst_bus_get_type):
16966         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
16967         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
16968         * gst/gstclock.c: (gst_clock_get_type):
16969         * gst/gstelement.c: (gst_element_get_type),
16970         * gst/gstelementfactory.c: (gst_element_factory_get_type):
16971         * gst/gstindexfactory.c: (gst_index_factory_get_type):
16972         * gst/gstminiobject.c: (gst_mini_object_get_type):
16973         * gst/gstpad.c: (gst_pad_get_type):
16974         * gst/gstsegment.c: (gst_segment_get_type):
16975         * gst/gststructure.c: (gst_structure_get_type):
16976         * gst/gstsystemclock.c: (gst_system_clock_get_type):
16977         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
16978         * gst/gstvalue.c:
16979         Help compiler with type registration.
16980
16981         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
16982         Small doc update.
16983
16984 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
16985
16986         * plugins/elements/gsttypefindelement.c:
16987         (gst_type_find_element_handle_event):
16988           When we get an EOS event and have not found a type yet
16989           (most likely because we had not yet accumulated
16990           TYPE_FIND_MIN_SIZE of data yet), try to determine the
16991           type given the data we have so far. Fixes typefinding
16992           for very short streams again, most notably quicktime
16993           redirections as used on Apple's trailer site (#331701).
16994
16995 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
16996
16997         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
16998         (gst_type_find_helper):
16999           Try typefinding factories with the highest rank first.
17000
17001 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17002
17003         * docs/libs/gstreamer-libs-docs.sgml:
17004         * docs/libs/gstreamer-libs-sections.txt:
17005         * libs/gst/base/gsttypefindhelper.c:
17006           Add section for typefind helper and add documentation
17007           for the old and the new function.
17008
17009 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17010
17011         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
17012         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
17013         (gst_type_find_helper_for_buffer):
17014         * libs/gst/base/gsttypefindhelper.h:
17015           New API: gst_type_find_helper_for_buffer() (#332723).
17016           
17017 2006-02-27  Michael Smith  <msmith@fluendo.com>
17018
17019         Patch by: Loïc Minier
17020
17021         * configure.ac:
17022         * docs/Makefile.am:
17023         * docs/slides/Makefile.am:
17024           prevent CVS directories getting disted.
17025
17026 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17027
17028         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
17029           Use the REFCOUNTING category for caps refcounting.
17030           
17031 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
17032
17033         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
17034           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
17035
17036 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
17037
17038         * plugins/elements/gsttypefindelement.c:
17039         (gst_type_find_element_activate):
17040           Use gst_pad_check_pull_range() before _activate_pull()
17041           to avoid unnecessary open/close (see #331690).
17042
17043 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
17044
17045         * gst/gstutils.c:
17046           Docs enhancement: make it crystal clear what the
17047           gst_pad_add_*_probe() callbacks should look like.
17048
17049 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
17050
17051         * libs/gst/base/gstbasesrc.c:
17052           Document how applications can stop recording from
17053           live sources (see #330996).
17054
17055 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17056
17057         * tests/check/Makefile.am:
17058         * tests/check/libs/basesrc.c: (eos_event_counter),
17059         (basesrc_eos_events_pull), (basesrc_eos_events_push),
17060         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
17061         (gst_basesrc_suite), (main):
17062           ... and add some tests for the base source EOS stuff.
17063
17064 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17065
17066         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
17067           Test case originally showed the problem fixed below,
17068           but was then amended. Add checks back at the place
17069           where they used to be.
17070
17071 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17072
17073         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
17074         (gst_base_src_init), (gst_base_src_loop),
17075         (gst_base_src_activate_push), (gst_base_src_activate_pull),
17076         (gst_base_src_change_state):
17077         * libs/gst/base/gstbasesrc.h:
17078           Don't unconditionally send EOS when going from PAUSED to
17079           READY state, esp. make sure we don't send two EOS events
17080           in some cases (e.g. one when reaching EOS and one when
17081           going from PAUSED to READY). Also, we don't want to send
17082           EOS events when operating in pull mode. However, we do
17083           want to send an EOS event when shutting down a live
17084           source explicitly, for example (fixes #330996).
17085           
17086 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17087
17088         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
17089           Update src->read_position after a seek when not using mmap.
17090           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
17091
17092 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
17093
17094         * gst/Makefile.am:
17095         * gst/gstparse.h:
17096         * gst/gstutils.c:
17097         * gst/gstutils.h:
17098         Make things work with --disable-parse as they do with 
17099         --disable-load-save - the symbols involved disappear, but the
17100         header is still installed and GST_DISABLE_PARSE is included via
17101         gstconfig.h
17102
17103 2006-02-20  Julien MOUTTE  <julien@moutte.net>
17104
17105         * libs/gst/base/gstbasetransform.c:
17106         (gst_base_transform_change_state): Fix a stupid bug. I was 
17107         sure I compiled that.
17108
17109 2006-02-20  Julien MOUTTE  <julien@moutte.net>
17110
17111         * gst/gstpad.c: (gst_pad_set_blocked_async):
17112         * gst/gstutils.c: (gst_pad_add_data_probe),
17113         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
17114         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
17115         (gst_pad_remove_buffer_probe): Make those function act on the
17116         ghostpad target when it's a ghostpad. (Closes #331727)
17117
17118 2006-02-20  Julien MOUTTE  <julien@moutte.net>
17119
17120         * libs/gst/base/gstbasetransform.c:
17121         (gst_base_transform_change_state): Make basetransform reusable.
17122         (Closes #331898)
17123
17124 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
17125
17126         * docs/random/release:
17127         Move the current documentation of how to do a release to the top
17128         of the file.
17129
17130         * gst/gstbin.c: (gst_bin_class_init),
17131         (gst_bin_handle_message_func):
17132         Allow multiple state-recalculation threads. (Closes #328873)
17133
17134 2006-02-19  Julien MOUTTE  <julien@moutte.net>
17135
17136         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
17137         * gst/gstpad.c: (gst_pad_set_event_function),
17138         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
17139         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
17140         2 strings. You can't use the STR_NULL macro on that.
17141
17142 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
17143
17144         * gst/gstpad.c: (gst_pad_set_event_function),
17145         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
17146         (gst_pad_set_getcaps_function)
17147         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
17148           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
17149           So now, we can use --gst-debug-level=5 on Windows
17150         * win32/common/libgstcontroller.def:
17151           Added export of gst_controller_init
17152         * win32/vs6/libgstcontroller.dsp:
17153           Fixed Release post build configuration
17154
17155 2006-02-17  Wim Taymans  <wim@fluendo.com>
17156
17157         * tests/check/gst/gstquery.c: (GST_START_TEST):
17158         Added another check.
17159
17160 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
17161
17162         * plugins/elements/gsttypefindelement.c: (find_peek):
17163           We can do peeks at non-zero offsets, as long as they
17164           fall within the buffer we have.
17165
17166 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
17167
17168         * tests/check/Makefile.am:
17169         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
17170         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
17171         (parse_suite), (main):
17172           Add testsuite for parse launch syntax
17173
17174 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
17175
17176         * plugins/elements/gsttypefindelement.c:
17177         (gst_type_find_element_chain):
17178           When typefinding is unsuccessful in the chain function, don't
17179           error out immediately. Only error out with NO_CAPS_FOUND if
17180           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
17181           otherwise simply wait for more data so we can try typefinding
17182           again with more data later. Also, don't attempt to typefind
17183           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
17184           this should improve typefinding from network sources where the
17185           size of the first buffer can be somewhat random.
17186
17187 2006-02-14  Wim Taymans  <wim@fluendo.com>
17188
17189         * docs/gst/gstreamer-sections.txt:
17190         * gst/gstpadtemplate.c:
17191         * gst/gstpadtemplate.h:
17192         Fix padtemplate docs, fixes #328805.
17193
17194 2006-02-14  Wim Taymans  <wim@fluendo.com>
17195
17196         * tools/gst-launch.c: (main):
17197         NO_PREROLL is not an ERROR so don't send confusing messages
17198         to the user.
17199
17200 2006-02-14  Wim Taymans  <wim@fluendo.com>
17201
17202         Patch by: Torsten Schoenfeld
17203
17204         * gst/gstregistry.c: (gst_registry_get_default),
17205         (_gst_registry_cleanup):
17206         Protect default registry with lock and ref/sink it.
17207         Fixes #324818
17208
17209 2006-02-14  Wim Taymans  <wim@fluendo.com>
17210
17211         * gst/gstbuffer.c:
17212         * gst/gstquery.c: (gst_query_list_add_format),
17213         (gst_query_set_formatsv), (gst_query_parse_formats_length),
17214         (gst_query_parse_formats_nth):
17215         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
17216         Docs fixes.
17217
17218 2006-02-14  Wim Taymans  <wim@fluendo.com>
17219
17220         * docs/gst/gstreamer-sections.txt:
17221         Reworked query docs.
17222
17223         * gst/gstquery.c: (gst_query_new_formats),
17224         (gst_query_list_add_format), (gst_query_set_formats),
17225         (gst_query_set_formatsv), (gst_query_parse_formats_length),
17226         (gst_query_parse_formats_nth):
17227         * gst/gstquery.h:
17228         Flesh out formats query, added some new methods.
17229         Fix part of #324398.
17230
17231         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
17232         Added query creation tests.
17233
17234 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
17235
17236         * gst/gstpad.c: (fixate_value):
17237         Add a default fixation for fraction lists.
17238
17239 2006-02-13  Wim Taymans  <wim@fluendo.com>
17240
17241         * gst/gsttask.c: (gst_task_init), (gst_task_func),
17242         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
17243         (gst_task_join):
17244         * gst/gsttask.h:
17245         Detect and warn for obvious deadlocks. fixes #320340
17246         Fix error case where lock was not released.
17247
17248         * tests/check/Makefile.am:
17249         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
17250         (task_func), (gst_element_suite), (main):
17251         Add task check.
17252
17253 2006-02-13  Wim Taymans  <wim@fluendo.com>
17254
17255         * docs/gst/gstreamer-sections.txt:
17256         * gst/gstbus.c:
17257         Add new functions to docs.
17258
17259 2006-02-13  Wim Taymans  <wim@fluendo.com>
17260
17261         * docs/design/part-TODO.txt:
17262         Updated TODO list, basesrc supports seeking to non-bytes
17263         formats.
17264
17265         * docs/design/part-element-sink.txt:
17266         Update docs.
17267
17268         * gst/gstbin.c: (bin_replace_message),
17269         (gst_bin_handle_message_func):
17270         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
17271         * gst/gstevent.c: (gst_event_finalize):
17272         * gst/gstpad.c: (gst_pad_event_default_dispatch),
17273         (gst_pad_send_event):
17274         Use shiny new _TYPE_NAME macros.
17275
17276         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17277         Move debug statement up.
17278
17279         * gst/gstelement.c: (gst_element_set_locked_state):
17280         Add some debugging.
17281
17282 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
17283
17284         * docs/gst/gstreamer-sections.txt:
17285         * gst/gstmessage.h:
17286         * gst/gstquery.h:
17287           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
17288           macros (#330906). Also, document the already existing
17289           GST_QUERY_TYPE macro.
17290
17291 2006-02-13  Wim Taymans  <wim@fluendo.com>
17292
17293         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
17294         (event_probe), (GST_START_TEST):
17295         Only events up to the pipeline EOS are counted, there are
17296         some more when going to NULL currently which we don't care
17297         about for now.
17298
17299 2006-02-13  Wim Taymans  <wim@fluendo.com>
17300
17301         * gst/gstpad.c: (gst_pad_send_event):
17302         Correctly check flushing and emit probes. fixes #330125
17303
17304 2006-02-10  Andy Wingo  <wingo@pobox.com>
17305
17306         * gst/gstbus.c (gst_bus_class_init): Declare our private data
17307         structure.
17308         (gst_bus_init): Cache the location of the private data in the
17309         instance structure.
17310         (gst_bus_enable_sync_message_emission) 
17311         (gst_bus_disable_sync_message_emission): Implement new public
17312         functions.
17313         (gst_bus_post): Emit the sync-message signal if the user asked for
17314         it. Fixes #330684.
17315
17316         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
17317         location of the bus-private structure.
17318         (gst_bus_enable_sync_message_emission)
17319         (gst_bus_disable_sync_message_emission): API addition
17320
17321 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
17322
17323         Patch by: Vincent Torri
17324
17325         * docs/pwg/building-boiler.xml:
17326         PWG patch from #326800
17327
17328 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
17329
17330         * configure.ac:
17331         * docs/Makefile.am:
17332         * docs/design/Makefile.am:
17333           Dist design docs.
17334
17335 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
17336
17337         * configure.ac:
17338           back to CVS
17339
17340 === release 0.10.3 ===
17341
17342 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
17343
17344         * configure.ac:
17345           releasing 0.10.3, "Like a virgin"
17346
17347 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
17348
17349         * configure.ac:
17350           2nd prerelease of 0.10.3
17351           Bump libtool versioning.
17352
17353 2006-02-07  Andy Wingo  <wingo@pobox.com>
17354
17355         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
17356         update last_stop if we're in TIME format and the timestamp is
17357         valid.
17358
17359         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
17360         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
17361         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
17362         If we get a new newsegment with a different format, adapt
17363         accordingly.
17364
17365         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
17366         of 0. Not a problem, really.
17367
17368         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
17369         warn if sync=true.
17370
17371 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
17372
17373         * configure.ac:
17374           Prelease of 0.10.3
17375
17376 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
17377
17378         * win32/vs7:
17379           project files updated to the default vs7 configuration
17380         * win32/common/libgstbase.def:
17381         * win32/common/libgstreamer.def:
17382           added new symbols,
17383           removed empty lines,
17384           sorted all exported symbols alphabetically
17385         * win32/common/dirent.c:
17386         * win32/common/dirent.h:
17387         * win32/common/gchar.h:
17388           use windows line end.
17389           
17390 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
17391
17392         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
17393           Send EOS event when stopping.
17394
17395 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
17396
17397         * docs/README:
17398           Tell folks what to do if the plugin-foobar.xml file
17399           hasn't been generated for a newly-added plugin.
17400
17401 2006-02-05  Julien MOUTTE  <julien@moutte.net>
17402
17403         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
17404         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
17405         (gst_collect_pads_start), (gst_collect_pads_stop),
17406         (gst_collect_pads_event): Collectpads now holds a reference
17407         to the GstPad that was added. Indeed we don't want to look
17408         at pads that might just go away with no warning...
17409
17410 2006-02-05  Julien MOUTTE  <julien@moutte.net>
17411
17412         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
17413         (gst_collect_pads_start), (gst_collect_pads_stop),
17414         (gst_collect_pads_event), (gst_collect_pads_chain):
17415         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
17416         Mark Nauwelaerts's patch on bug #328491.
17417
17418 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
17419
17420         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
17421         (gst_utils_suite):
17422           Add some simple tests for gst_parse_bin_from_description() and
17423           gst_bin_find_unconnected_pad() (#329069).
17424
17425 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
17426
17427         * tools/gst-launch.c: (event_loop), (main):
17428           Catch errors during preroll (#320084).
17429
17430 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
17431
17432         * plugins/elements/gsttypefindelement.c:
17433         (gst_type_find_element_activate):
17434           Post TYPE_NOT_FOUND error message when typefinding
17435           is unsuccessful in the activate function as well.
17436
17437 2006-02-02  Wim Taymans  <wim@fluendo.com>
17438
17439         * docs/design/part-element-sink.txt:
17440         Updated doc.
17441
17442 2006-02-02  Wim Taymans  <wim@fluendo.com>
17443
17444         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
17445         (gst_base_sink_render_object),
17446         (gst_base_sink_queue_object_unlocked):
17447         Only keep track of prerollable items when we are 
17448         prerolling.
17449         Before rendering after preroll, always check if we
17450         have queued items.
17451         Added some more debugging.
17452
17453 2006-02-02  Wim Taymans  <wim@fluendo.com>
17454
17455         * gst/gstelement.c: (gst_element_continue_state),
17456         (gst_element_set_state_func), (gst_element_change_state):
17457         Fixed #326576, been running this for quite some time with
17458         no regressions at all.
17459
17460 2006-02-02  Wim Taymans  <wim@fluendo.com>
17461
17462         * common/gst.supp:
17463         Added more suppressions
17464
17465 2006-02-02  Wim Taymans  <wim@fluendo.com>
17466
17467         * docs/design/part-element-sink.txt:
17468         Updated document.
17469
17470         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17471         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
17472         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
17473         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
17474         (gst_base_sink_do_sync), (gst_base_sink_render_object),
17475         (gst_base_sink_preroll_object),
17476         (gst_base_sink_queue_object_unlocked),
17477         (gst_base_sink_queue_object), (gst_base_sink_event),
17478         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
17479         (gst_base_sink_loop), (gst_base_sink_activate_pull),
17480         (gst_base_sink_get_position), (gst_base_sink_change_state):
17481         * libs/gst/base/gstbasesink.h:
17482         Totally refactored matching the design doc.
17483         Use two segments, one to clip incomming buffers and another to
17484         perform sync.
17485         Handle queueing correctly, bypass the queue when playing.
17486         Make EOS cancelable.
17487         Handle errors correctly when operating in pull based mode.
17488
17489         * tests/check/elements/fakesink.c: (GST_START_TEST),
17490         (fakesink_suite):
17491         Added new check for sinks.
17492
17493 2006-02-02  Wim Taymans  <wim@fluendo.com>
17494
17495         * gst/gstsegment.c: (gst_segment_clip):
17496         No reason to refuse to clip when start == -1
17497
17498 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
17499
17500         * docs/README:
17501         * docs/manual/intro-basics.xml:
17502         * docs/manual/intro-preface.xml:
17503         * docs/manual/manual.xml:
17504         * docs/pwg/advanced-dparams.xml:
17505         * docs/pwg/intro-basics.xml:
17506         * docs/pwg/intro-preface.xml:
17507         * docs/pwg/pwg.xml:
17508           describe dparams (controller) for plugins
17509           unify docs a little more
17510
17511 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
17512
17513         * docs/gst/gstreamer-sections.txt:
17514         * gst/gstutils.c: (element_find_unconnected_pad),
17515         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
17516         * gst/gstutils.h:
17517           Add new API: gst_parse_bin_from_description() and
17518           gst_bin_find_unconnected_pad() (#329069).
17519
17520 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
17521
17522         * docs/manual/README:
17523           uncover a nasty detail of the docs build
17524
17525 2006-01-31  Wim Taymans  <wim@fluendo.com>
17526
17527         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
17528         Don't cache duration messages if we're not going to use or
17529         free them.
17530
17531 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
17532
17533         * docs/manual/advanced-dparams.xml:
17534         * docs/pwg/advanced-dparams.xml:
17535           more dparam docs
17536         * gst/gstindex.c:
17537           fix docs
17538         * libs/gst/controller/lib.c: (gst_controller_init):
17539           init just once
17540
17541 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
17542
17543         * gst/gstelement.c: (gst_element_message_full):
17544           also show file/line/func if no additional debug was given
17545
17546 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
17547         
17548         * win32/vs7/grammar.vcproj:
17549           activate copy of autogenerated files for Release mode
17550
17551 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
17552         
17553         * win32/common/libgstreamer.def:
17554           export gst_value_compare
17555
17556 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
17557
17558         * plugins/elements/Makefile.am:
17559         * plugins/elements/gstelements.c:
17560         * plugins/elements/gstfdsink.c: (_do_init),
17561         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
17562         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
17563         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
17564         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
17565         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
17566         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
17567         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
17568         * plugins/elements/gstfdsink.h:
17569         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
17570
17571 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
17572
17573         * docs/manual/advanced-dparams.xml:
17574           describe controller
17575         * docs/manual/advanced-position.xml:
17576         * docs/manual/basics-init.xml:
17577         * docs/manual/manual.xml:
17578         * docs/manual/titlepage.xml:
17579         * docs/pwg/pwg.xml:
17580         * docs/pwg/titlepage.xml:
17581           cleanup xml (more to come)
17582         * libs/gst/controller/gstcontroller.c:
17583           fix typo
17584
17585 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
17586         
17587         * win32/vs6/grammar.dsp:
17588           add autogen of gstmarshal.c,h for Release mode
17589                 
17590 2006-01-30  Wim Taymans  <wim@fluendo.com>
17591
17592         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17593         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
17594         (gst_base_sink_handle_object), (gst_base_sink_event),
17595         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
17596         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
17597         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
17598         (gst_base_sink_deactivate), (gst_base_sink_activate),
17599         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
17600         (gst_base_sink_query), (gst_base_sink_change_state):
17601         Basesink cleanups, remove some old code.
17602         Handle the case where a subclass can preroll in the render
17603         method (mostly audiosinks).
17604         Handle more events.
17605         Remove some locks around variables that are now protected
17606         with the PREROLL_LOCK (clock_id, flushing, ..).
17607         Optimize position query some more, do correct locking.
17608         Remove old code to push queue in state change, this is not
17609         needed anymore since preroll blocks on all prerollable items 
17610         now.
17611         Almost implemented as described in design doc.
17612
17613 2006-01-30  Wim Taymans  <wim@fluendo.com>
17614
17615         * tests/check/gst/gstbin.c: (GST_START_TEST):
17616         Wait for refcount to settle down before checking.
17617
17618 2006-01-30  Wim Taymans  <wim@fluendo.com>
17619
17620         * docs/design/part-element-sink.txt:
17621         Pseudo code overview of desired sink behaviour regarding
17622         preroll.
17623
17624 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17625         * win32/vs6/grammar.dsp:
17626           fix some bugs in Release mode for autogenerated files
17627                 
17628 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17629         * win32/common/libgstbase.def:
17630         * win32/common/libgstreamer.def:
17631           export some new symbols: gst_base_src_set_format,
17632           gst_iterator_next, gst_structure_set_valist
17633
17634 2006-01-29  Julien MOUTTE  <julien@moutte.net>
17635
17636         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
17637         Set pad functions unconditionally. Fixes #329105.
17638
17639 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17640         * win32/vs8:
17641           add vs8 project files created by Sergey Scobich
17642
17643 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
17644
17645         * gst/gstutils.c: (gst_element_unlink_pads):
17646         Don't leak pad references.
17647
17648         * tests/check/elements/fakesink.c: (GST_START_TEST):
17649         * tests/check/generic/sinks.c: (GST_START_TEST):
17650         * tests/check/generic/states.c: (GST_START_TEST):
17651         * tests/check/gst/gstbin.c: (GST_START_TEST):
17652         * tests/check/gst/gstcaps.c: (GST_START_TEST):
17653         * tests/check/gst/gstelement.c: (GST_START_TEST):
17654         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
17655         * tests/check/gst/gstiterator.c: (GST_START_TEST):
17656         * tests/check/gst/gstvalue.c: (GST_START_TEST):
17657         Fix a bunch of leaks. Make generic/sinks.c
17658         use a bit less cpu by slowing the buffer rate
17659         between fakesrc and fakesink.
17660         
17661 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
17662         * gst/gstcaps.c:
17663         * gst/gstelement.c: (gst_element_send_event):
17664         * gst/gstevent.c:
17665         * gst/gstinfo.c:
17666         * gst/gstiterator.c:
17667         * gst/gstiterator.h:
17668         * gst/gstpad.c: (gst_pad_send_event):
17669         * gst/gststructure.c:
17670         * gst/gsturi.c:
17671         * gst/gstutils.c:
17672         * gst/gstvalue.c:
17673         * libs/gst/base/gstadapter.c:
17674           doc fixes, to link to function, just write gst_cool_function(), don't
17675           prefix with '#'
17676
17677 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
17678
17679         * plugins/elements/gsttee.c: (gst_tee_do_push),
17680         (gst_tee_handle_buffer):
17681         Always prefer an actual return value from a src
17682         pad in place of NOT_LINKED. This means we return
17683         WRONG_STATE when all src pads are WRONG_STATE
17684         instead of NOT_LINKED.
17685
17686         Lock when replacing the last message to prevent
17687         racing with the get_property method.
17688
17689         Add debug output
17690
17691 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
17692
17693         * tests/check/Makefile.am:
17694         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
17695         (main):
17696         Add a very simple check that should have caught the memleak I fixed
17697         last night (if not for the slice allocator hiding it)
17698
17699 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
17700
17701         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
17702         (gst_bin_remove_func), (gst_bin_handle_message_func),
17703         (bin_query_duration_fold), (bin_query_generic_fold):
17704         Clean up references to the clock provider when disposed or when
17705         handling a clock-lost message from it.
17706
17707         Unref sinks when performing a query via gst_iterator_fold, as the
17708         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
17709
17710         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
17711         (gst_clock_set_master):
17712         Drop our reference to the master clock, if any, when we are disposed.
17713
17714         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
17715         Chain up in dispose. 
17716
17717 2006-01-26  Wim Taymans  <wim@fluendo.com>
17718
17719         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17720         Add some debugging.
17721
17722 2006-01-26  Julien MOUTTE  <julien@moutte.net>
17723
17724         * plugins/elements/gsttee.c: (gst_tee_do_push),
17725         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
17726         handles pad being NOT_LINKED or in WRONG_STATE.
17727
17728 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
17729
17730         * win32/MANIFEST:
17731           more updating
17732
17733 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
17734
17735         * win32/MANIFEST:
17736           remove obsolete entry
17737
17738 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
17739
17740         * docs/gst/gstreamer-sections.txt:
17741         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
17742         (gst_bin_iterate_sources), (gst_bin_send_event):
17743         * gst/gstbin.h:
17744         * gst/gstelement.c: (gst_element_send_event):
17745         * gst/gstevent.c:
17746         * gst/gstpad.c: (gst_pad_send_event):
17747           added code for downstream events, reviewed docs in gstevent.c
17748
17749 2006-01-25  Julien MOUTTE  <julien@moutte.net>
17750
17751         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
17752         We only query position using the clock in the playing state.
17753         Query peer in the other cases.
17754         * win32/common/config.h: Updates.
17755
17756 2006-01-24  Wim Taymans  <wim@fluendo.com>
17757
17758         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
17759         A clock entry that is scheduled for the exact time of the
17760         clock is still in time.
17761
17762         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17763         (gst_base_sink_do_sync):
17764         Add some more debug info.
17765
17766 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
17767
17768         * win32/vs7:
17769           Add new vs7 project files and solution.
17770
17771 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
17772
17773         * win32/vs7:
17774           all files removed as they were out-dated.
17775
17776 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17777
17778         * docs/random/release:
17779           update notes
17780         * gst/gstbin.c: (gst_bin_init):
17781         * gst/gstbus.c: (gst_bus_new):
17782         * gst/gstbus.h:
17783         * gst/gstpipeline.c: (gst_pipeline_init):
17784           use gst_bus_new(), improve logging, fix docs
17785         * win32/common/config.h:
17786           update for cvs build
17787
17788 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17789
17790         * autogen.sh:
17791           up required version of automake to 1.7
17792
17793 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
17794
17795         * win32/common/libgstreamer.def:
17796           export gst_buffer_is_metadata_writable
17797
17798 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
17799
17800         * docs/gst/gstreamer-sections.txt:
17801         * gst/gstevent.h:
17802           Add gst_event_replace() (#327001)
17803
17804 2006-01-20  Wim Taymans  <wim@fluendo.com>
17805
17806         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
17807         Make it actually compile too..
17808
17809 2006-01-20  Wim Taymans  <wim@fluendo.com>
17810
17811         * gst/gstcaps.c:
17812         Clarify behaviour of _is_equal() when passing NULL parameters.
17813
17814         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
17815         (gst_pad_set_caps):
17816         Cleanups. Don't unref NULL caps.
17817         When setting the same caps, protect caps of the pad with
17818         proper lock.
17819         Use full functionality of _is_equal() when comparing caps.
17820
17821 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
17822
17823         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
17824         Don't loop infinitely if there are no buffers to present. Partially
17825         fixes #327197, but collectpads is just broken for reusing elements
17826         to do multiple encodes atm.
17827
17828 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
17829
17830         * tools/gst-inspect.c: (print_element_features):
17831         * tools/gst-xmlinspect.c: (main):
17832         URL_HANDLER is not a plugin feature we can search for in
17833         the registry.
17834
17835 2006-01-19  Edward Hervey  <edward@fluendo.com>
17836
17837         * gst/gstelement.c: (gst_element_pads_activate): 
17838         When activating, do src pads first, then sink pads.
17839         When de-activating, do sink pads first, then src pads.
17840
17841 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17842
17843         * docs/gst/gstreamer-sections.txt:
17844         Add gst_index_add_associationv to the docs
17845
17846 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17847
17848         * gst/gstevent.c:
17849           Fix docs typo
17850
17851         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
17852         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
17853           Do some refactoring. Doesn't actually change functionality,
17854           but makes landing the DRAIN event easier later.
17855
17856 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
17857
17858         * docs/pwg/advanced-scheduling.xml:
17859           Update from 0.9.x to 0.10 API and make example a bit
17860           clearer.
17861
17862 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17863
17864         * docs/gst/gstreamer-sections.txt:
17865         Add gst_buffer_(is|make)_metadata_writable methods.
17866
17867 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17868
17869         * docs/design/part-sparsestreams.txt:
17870         Update sparse streams doc, hopefully for greater clarity
17871
17872 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
17873
17874         * docs/design/part-events.txt:
17875         Remove mention of FILLER events.
17876         Add DRAIN event.
17877
17878         * docs/design/part-sparsestreams.txt:
17879         Write some things about using NEWSEGMENT to keep sparse streams
17880         flowing.
17881
17882 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
17883
17884         * gst/gstbin.c: (gst_bin_dispose):
17885           Guard gst_object_unref call against a NULL object (dispose
17886           can theoretically be called multiple times).
17887           
17888 2006-01-18  Wim Taymans  <wim@fluendo.com>
17889
17890         * gst/gstbin.c: (gst_bin_element_set_state):
17891         * gst/gstclock.c: (gst_clock_id_wait):
17892         Added some more debug info.
17893
17894         * libs/gst/base/gstadapter.c:
17895         Added more docs.
17896
17897         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17898         (gst_base_sink_do_sync), (gst_base_sink_chain):
17899         Added some comments.
17900
17901 2006-01-18  Wim Taymans  <wim@fluendo.com>
17902
17903         * tests/check/Makefile.am:
17904         * tests/check/elements/fakesink.c: (chain_async_buffer),
17905         (chain_async), (chain_async_return), (GST_START_TEST),
17906         (fakesink_suite), (main):
17907         Added fakesink test that checks prerolling and clipping
17908         behaviour.
17909
17910         * tests/check/gst/gstutils.c: (GST_START_TEST):
17911         Make check run faster so that buildbots don't timeout.
17912
17913 2006-01-18  Wim Taymans  <wim@fluendo.com>
17914
17915         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17916         (gst_base_sink_do_sync):
17917         Some cleanups.
17918         When the sink finishes blocking on the preroll buffer, it can
17919         immediatly render it instead of rendering when the next buffer
17920         arrives.
17921
17922 2006-01-18  Wim Taymans  <wim@fluendo.com>
17923
17924         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
17925         (gst_base_sink_get_property), (gst_base_sink_do_sync),
17926         (gst_base_sink_chain):
17927         Small cleanups.
17928         GST_ELEMENT_CLOCK and sync are protected with LOCK.
17929         Don't store _last_stop if the buffer is dropped.
17930
17931 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
17932
17933         * plugins/elements/gsttypefindelement.c:
17934         (gst_type_find_element_class_init):
17935           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
17936           object method handler that sets the caps on the pad and we want
17937           that to happen before we emit the signal (fixes e.g. feeding a
17938           plain text file to decodebin).
17939
17940 2006-01-18  Christian Schaller  <Christian@fluendo.com>
17941
17942         * gst/gstplugin.c: Add MPL and Proprietary as license options
17943
17944 2006-01-18  Andy Wingo  <wingo@pobox.com>
17945
17946         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
17947         symbol was exported before, it appears this was just an oversight.
17948         Fixes #168703.
17949         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
17950
17951         * gst/gstindex.c (gst_index_add_associationv): Changed int in
17952         prototype to gint. OK since this prototype was not in the header.
17953
17954 2006-01-17  Andy Wingo  <wingo@pobox.com>
17955
17956         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
17957         registry while we remove plugins.
17958
17959         * tools/gst-inspect.c (print_element_info): Don't unref the
17960         factory arg, that should be the responsibility of whatever code
17961         received the ref. Fixes a double-free when called from
17962         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
17963         (main): Unref the factory if we have one.
17964         (print_element_list): No change -- relies on the
17965         plugin_feature_list_free to free the list of features.
17966
17967 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
17968
17969         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
17970         (gst_buffer_make_metadata_writable):
17971         * gst/gstbuffer.h:
17972         * libs/gst/base/gstbasetransform.c:
17973         (gst_base_transform_prepare_output_buf):
17974         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
17975         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17976           Replace gst_buffer_(make|is)_metadata_writable patch now
17977           that the release is out.
17978
17979 2006-01-17  Andy Wingo  <wingo@pobox.com>
17980
17981         * gst/gstregistry.c: Reflow design comment. Update so as to speak
17982         in the present tense without reference to versions.
17983
17984         * gst/gstregistry.c (gst_registry_add_plugin)
17985         (gst_registry_remove_plugin, gst_registry_remove_feature)
17986         (gst_registry_find_feature, gst_registry_get_feature_list)
17987         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
17988         (gst_registry_lookup, gst_registry_scan_path)
17989         (_gst_registry_remove_cache_plugins)
17990         (gst_registry_get_feature_list_by_plugin): Add argument
17991         validation.
17992
17993 === release 0.10.2 ===
17994
17995 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
17996
17997         * configure.ac:
17998           releasing 0.10.2, "If man is five"
17999
18000 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
18001
18002         * gst/gstbuffer.c:
18003         * gst/gstbuffer.h:
18004         * libs/gst/base/gstbasetransform.c:
18005         (gst_base_transform_prepare_output_buf):
18006         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18007         * tests/check/gst/gstbuffer.c: (gst_test_suite):
18008           Back out patch until after the release.
18009
18010 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
18011
18012         * gst/gstminiobject.c:
18013           Spelling fix in docs.
18014         * ChangeLog - remove conflict indicator
18015
18016 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
18017
18018         Reviewed By: Andy Wingo
18019
18020         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
18021         (gst_buffer_make_metadata_writable):
18022         * gst/gstbuffer.h:
18023           Add gst_buffer_(is|make)_metadata_writable as analogues of
18024           gst_buffer_(is|make)_writable.
18025
18026         * libs/gst/base/gstbasetransform.c:
18027         (gst_base_transform_prepare_output_buf):
18028         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18029           Use name gst_buffer_(is|make)_metadata_writable functions.
18030
18031         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
18032           Test gst_buffer_(is|make)_metadata_writable
18033         
18034           (Closes: #324162)
18035
18036 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
18037
18038         * docs/manual/Makefile.am:
18039           don't do parallel make
18040         * configure.ac:
18041           AC_SUBST HOST_CPU
18042         * win32/common/config.h.in:
18043           add generations for HOST_CPU and GST_MAJORMINOR
18044         * win32/common/config.h:
18045           commit generated result
18046
18047 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
18048
18049         * docs/manual/appendix-integration.xml:
18050           Update GNOME integration section to use gst_init_get_option_group()
18051           instead of the old popt stuff (#322911). Also, GNOME applications
18052           should  now use gconf*sink and gconf*src instead of the old gconf
18053           helper lib we had.
18054
18055 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
18056
18057
18058         * docs/gst/gstreamer-docs.sgml:
18059         * docs/gst/gstreamer-sections.txt:
18060         * docs/libs/gstreamer-libs-sections.txt:
18061           add new API entries to the docs
18062         * libs/gst/controller/Makefile.am:
18063         * libs/gst/controller/gstcontroller.c:
18064         * libs/gst/controller/gstcontroller.h:
18065         * libs/gst/controller/gstcontrollerprivate.h:
18066         * libs/gst/controller/gsthelper.c:
18067         * libs/gst/controller/gstinterpolation.c:
18068           move private structs to private header
18069         * po/README:
18070           gstreamer-0.7 -> gstreamer-0.10
18071         * tests/check/libs/struct_i386.h:
18072           remove private structs
18073
18074 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
18075
18076         * plugins/indexers/Makefile.am:
18077           Fixes as part of #317048
18078
18079 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
18080
18081         * plugins/indexers/Makefile.am:
18082           fix #316086 - compilation when mmap is missing
18083
18084 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
18085
18086         * libs/gst/base/gstbasesink.c:
18087           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
18088           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
18089         * win32/common/config.h:
18090           added some defines GST_MAJORMINOR and HOST_CPU
18091         * win32/common/libgstbase.def:
18092         * win32/common/libgstreamer.def:
18093           added some exported functions.
18094
18095 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
18096
18097         * libs/gst/controller/gstcontroller.c:
18098         (gst_controlled_property_set_interpolation_mode),
18099         (gst_controlled_property_new):
18100         * libs/gst/controller/gstcontroller.h:
18101         * libs/gst/controller/gstinterpolation.c:
18102         (interpolate_none_get_string_value_array):
18103           make G_TYPE_STRING controlable
18104
18105 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
18106
18107         * tools/README:
18108         * tools/gst-feedback.1.in:
18109         * tools/gst-inspect.1.in:
18110         * tools/gst-launch.1.in:
18111         * tools/gst-md5sum.1.in:
18112         * tools/gst-typefind.1.in:
18113         * tools/gst-xmlinspect.1.in:
18114         * tools/gst-xmllaunch.1.in:
18115           cleanup man-pages, remove reference to gst-register, document env-vars
18116
18117 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
18118
18119         * gst/gstbuffer.c: (gst_buffer_span):
18120           gst_buffer_span should copy the timestamp of the first buffer
18121           if they were both originally overlapping subbuffers of the 
18122           same parent, using the same logic as the 'slow copy' case.
18123
18124 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
18125
18126         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
18127           Need to awaken ALL the pads when we pop a buffer, otherwise
18128           collectpads only works when there is 2 input streams.
18129
18130 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
18131
18132         * docs/random/ensonic/media-device-daemon.txt:
18133           more ideas (dbus)
18134         * gst/gstbuffer.c:
18135           fix doc example, add clarification
18136         * tools/gst-launch.1.in:
18137           add initial info about GST_PLUGIN_PATH, needs more work
18138
18139 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
18140
18141         * docs/manual/basics-bins.xml:
18142         * docs/manual/basics-elements.xml:
18143         * docs/manual/intro-basics.xml:
18144           Some more minor docs additions and updates.
18145
18146 2006-01-11  Wim Taymans  <wim@fluendo.com>
18147
18148         * docs/manual/basics-bins.xml:
18149         * docs/manual/basics-elements.xml:
18150         Some small fixes as pointed out by Ser-ver on IRC.
18151
18152 2006-01-10  Edward Hervey  <edward@fluendo.com>
18153
18154         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
18155         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
18156         the single-segment mode.
18157
18158 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
18159
18160         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
18161
18162         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
18163         (gst_base_src_perform_seek), (gst_base_src_send_event),
18164         (gst_base_src_set_property), (gst_base_src_get_property),
18165         (gst_base_src_loop), (gst_base_src_start),
18166         (gst_base_src_activate_push):
18167         * libs/gst/base/gstbasesrc.h:
18168           Name (private) union; makes Sun's Forte compiler happy (#324900).
18169
18170 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
18171
18172         * README:
18173           gst-register is gone.
18174
18175 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
18176
18177         * gst/gstvalue.c: (_gst_value_initialize):
18178           make the G_TYPE_DATE instantiation work if debug is disabled
18179
18180 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
18181
18182         * gst/gstmessage.c: (gst_message_parse_tag),
18183         (gst_message_parse_error), (gst_message_parse_warning):
18184           Don't crash when return location for error/warning debug
18185           string is NULL; add fact that return locations can be
18186           NULL to docs where appropriate.
18187
18188 2006-01-05  Wim Taymans  <wim@fluendo.com>
18189
18190         * gst/gstplugin.c: (gst_plugin_load_file):
18191         Replace strdup by g_strdup.
18192
18193 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18194
18195         * docs/pwg/advanced-types.xml:
18196           fix doc borkage
18197
18198 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18199
18200         submitted by: Abel Cheung
18201
18202         * po/LINGUAS:
18203         * po/zh_TW.po:
18204           Added Chinese (traditional) translation
18205
18206 2006-01-04  Wim Taymans  <wim@fluendo.com>
18207
18208         * docs/manual/basics-pads.xml:
18209         * docs/plugins/Makefile.am:
18210         * docs/plugins/gstreamer-plugins-docs.sgml:
18211         * docs/plugins/gstreamer-plugins-sections.txt:
18212         * docs/pwg/advanced-clock.xml:
18213         * docs/pwg/advanced-scheduling.xml:
18214         * docs/pwg/advanced-types.xml:
18215         * plugins/elements/gstfdsink.c:
18216         * plugins/elements/gstfdsrc.c:
18217         * plugins/elements/gstfdsrc.h:
18218         * plugins/elements/gstidentity.c: (gst_identity_class_init):
18219         * plugins/elements/gstidentity.h:
18220         * plugins/elements/gstqueue.h:
18221         * plugins/elements/gsttee.c:
18222         * plugins/elements/gsttee.h:
18223         * plugins/elements/gsttypefindelement.c:
18224         (gst_type_find_element_class_init):
18225         * plugins/elements/gsttypefindelement.h:
18226         Small updates to various docs.
18227         Added core plugins to docs.
18228
18229 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18230
18231         * common/gst.supp:
18232           add a suppression for liboil's uninitialized variable
18233
18234 2006-01-02  James Livingston  <jrl at ids dot org dot au>
18235
18236         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
18237
18238         * gst/gstutils.h:
18239           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
18240           macro, so that gcc doesn't complain if the -Wmissing-prototypes
18241           compiler switch is being used (#325429).
18242
18243 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
18244
18245         * gst/gstbin.c: (gst_bin_query):
18246           Disable duration query caching in bins until it gets
18247           fixed (see #324807).
18248
18249 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
18250
18251         * tools/gst-inspect.c: (print_element_properties_info):
18252           Handle properties of POINTER and BOXED type.
18253
18254 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
18255
18256         * gst/gst.c: (init_post):
18257           Init tags stuff and some other things before loading
18258           any static plugins (there may be other static plugins
18259           than just the GStreamer ones, and they may want to
18260           register their own tags or formats or whatever, and
18261           preferably without segfaulting).
18262
18263         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
18264           Print at least a warning in the debug logs if we drop a
18265           query just because we don't know how to adjust the value
18266           in the particular format.
18267
18268 2005-12-24  David Schleef  <ds@schleef.org>
18269
18270         * tools/gstreamer-completion:
18271           Replacement for gst-complete written in sh and sed.  Only
18272           completes names of features, but that's 90% of what I want
18273           it for.  Properties are not available in registry.xml.  (Maybe
18274           they should be...)
18275
18276 === release 0.10.1 ===
18277
18278 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
18279
18280         * configure.ac:
18281           releasing 0.10.1, "Nollaig chridheil"
18282
18283 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
18284
18285         * docs/faq/cvs.xml:
18286           Add missing quote, should be make ERROR_CFLAGS="".
18287
18288 2005-12-20  Wim Taymans  <wim@fluendo.com>
18289
18290         * docs/design/part-trickmodes.txt:
18291         More documentation on trickmodes.
18292
18293 2005-12-20  Edward Hervey  <edward@fluendo.com>
18294
18295         * gst/gstcaps.c: (gst_static_caps_get_type):
18296         * gst/gstcaps.h:
18297           API addition: GST_TYPE_STATIC_CAPS
18298         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
18299         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
18300         * gst/gstpadtemplate.h:
18301           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
18302         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
18303         bindings.
18304
18305 2005-12-18  Wim Taymans  <wim@fluendo.com>
18306
18307         * libs/gst/base/gstadapter.c:
18308         * libs/gst/base/gstadapter.h:
18309         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
18310         (gst_base_sink_get_position):
18311         * libs/gst/base/gstbasesink.h:
18312         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18313         (gst_base_src_default_query), (gst_base_src_default_do_seek),
18314         (gst_base_src_do_seek), (gst_base_src_perform_seek),
18315         (gst_base_src_send_event), (gst_base_src_update_length),
18316         (gst_base_src_get_range), (gst_base_src_loop),
18317         (gst_base_src_start):
18318         * libs/gst/base/gstbasesrc.h:
18319         * libs/gst/base/gstbasetransform.h:
18320         * libs/gst/base/gstcollectpads.h:
18321         * libs/gst/base/gstpushsrc.c:
18322         * libs/gst/base/gstpushsrc.h:
18323         * libs/gst/dataprotocol/dataprotocol.c:
18324         * libs/gst/dataprotocol/dataprotocol.h:
18325         * libs/gst/net/gstnetclientclock.h:
18326         * libs/gst/net/gstnettimeprovider.h:
18327         Documentation updates.
18328
18329 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
18330
18331         * docs/manual/basics-helloworld.xml:
18332           Remove superfluous closing bracket in helloworld example.
18333
18334 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
18335
18336         * tools/gst-launch.1.in:
18337           Update gst-launch man page; add a section with useful
18338           environment variables. Fixes #323882.
18339
18340 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
18341
18342         * gst/gst.c:
18343         * gst/gst_private.h:
18344           change some char* into char[]
18345
18346 2005-12-16  Wim Taymans  <wim@fluendo.com>
18347
18348         * gst/gstregistryxml.c: (load_feature):
18349         Cleanups.
18350         Don't use g_object_unref on GstObjects so that we avoid
18351         leaks on unsafe glibs.
18352
18353 2005-12-16  Wim Taymans  <wim@fluendo.com>
18354
18355         * gst/gstbin.c: (gst_bin_recalc_state):
18356         Small doc updates.
18357
18358 2005-12-16  Wim Taymans  <wim@fluendo.com>
18359
18360         * common/check.mak:
18361         Added make forever target for check.
18362
18363 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18364
18365         * gst/gst.c: (init_post):
18366           make the registry cache file HOST_CPU-dependent
18367
18368 2005-12-16  Andy Wingo  <wingo@pobox.com>
18369
18370         * plugins/elements/gstbufferstore.c
18371         (gst_buffer_store_cleared_func): Pay attention to g_list_append
18372         return value.
18373
18374         * tests/check/gst/gstobject.c
18375         (test_fake_object_name_threaded_unique): Pay attention to
18376         g_list_sort return value.
18377
18378 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
18379
18380         * tools/gst-feedback-m.m:
18381           Update for 0.9/0.10 (fixes #323870).
18382
18383 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
18384
18385         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
18386           Fix lcopy for mini objects, the mini object needs to be ref'ed.
18387           
18388         * tests/check/gst/gstminiobject.c: (my_foo_init),
18389         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
18390         (test_value_collection), (gst_mini_object_suite):
18391           Add test to ensure refcounts end up as expected when passing
18392           GstMiniObjects through g_object_get() and g_object_set().
18393
18394 2005-12-14  Julien MOUTTE  <julien@moutte.net>
18395
18396         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
18397         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
18398         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
18399         of collectpads. This version removes a lot of races without
18400         touching API/ABI. Yay !
18401
18402 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
18403
18404         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
18405           Don't allow activation of a srcpad in pull_range if it has no
18406           getrange function.
18407           Change some debug statements to be a little clearer
18408
18409         * plugins/elements/gsttypefindelement.c:
18410         (gst_type_find_handle_src_query):
18411           Check that we have a peer before executing queries thereupon.
18412
18413         * tests/examples/metadata/read-metadata.c: (message_loop):
18414           Use gst_bus_pop instead of gst_bus_poll when we just want it to
18415           immediately return us any available message with 0 timeout.
18416
18417 2005-12-12  Michael Smith  <msmith@fluendo.com>
18418
18419         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
18420           Don't unref factories after calling them.
18421         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
18422         * plugins/elements/gsttypefindelement.c:
18423         (gst_type_find_element_chain):
18424           Free lists of factories after using them. Fixing typefinding memory
18425           leaks.
18426
18427 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18428
18429         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
18430         (gst_plugin_feature_load):
18431           more meaningful debug output
18432         * configure.ac:
18433         * tests/Makefile.am:
18434         * tests/old/examples/Makefile.am:
18435           make make distcheck happy again
18436
18437 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
18438
18439         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
18440           Catch the special case where we are operating chain-based,
18441           but the downstream peer pad has no chain function. Emit a
18442           custom error message in this case instead of letting the
18443           core generate one implying that this is some sort of core
18444           bug. It's not, it just means that whatever got plugged
18445           into the pipeline downstream when we announced the type
18446           can only operate pull-based, while our source can only
18447           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
18448           Error string has not been marked for translation yet, as
18449           it probably needs some more work first.
18450
18451         (gst_type_find_element_get_best_possibility):
18452           Add helper function to find the best of all available
18453           found possibilities that qualify given the min. threshold.
18454
18455         (gst_type_find_element_handle_event):
18456           Fix the case where we get an EOS while still in TYPEFIND
18457           mode (we want to chose the best of all possible types,
18458           not just the first type that happens to be in our unsorted
18459           list of possible types).
18460
18461         (gst_type_find_element_chain):
18462           Make sure we return GST_FLOW_ERROR when we errored out
18463           in stop_typefinding(); also, don't just find the best of
18464           all found type entries and then use the last examined
18465           type entry, but actually use the best entry.
18466
18467 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
18468
18469         * tests/examples/typefind/typefind.c: (type_found):
18470         * tests/examples/xml/runxml.c: (xml_loaded):
18471           More gcc4 fixes and a mem leak fix.
18472
18473 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18474
18475         * tests/examples/xml/createxml.c: (object_saved):
18476           gcc 4 fixes
18477
18478 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18479
18480         * tests/Makefile.am:
18481           enable the examples even more
18482
18483 2005-12-12  Andy Wingo  <wingo@pobox.com>
18484
18485         * libs/gst/net/gstnettimeprovider.c
18486         (gst_net_time_provider_class_init, gst_net_time_provider_init)
18487         (gst_net_time_provider_set_property)
18488         (gst_net_time_provider_get_property):
18489         API addition: Export "active" as a GObject property.
18490         (gst_net_time_provider_thread): Only respond to time queries if
18491         the time provider is active.
18492
18493         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
18494         NetTimeProvider, preserving binary compat.
18495
18496 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18497
18498         * tests/examples/controller/audio-example.c: (main):
18499         * tests/examples/launch/Makefile.am:
18500           convert comments again
18501
18502 2005-12-12  Wim Taymans  <wim@fluendo.com>
18503
18504         * libs/gst/base/gstpushsrc.c:
18505         Fix typo.
18506
18507 2005-12-12  Wim Taymans  <wim@fluendo.com>
18508
18509         * docs/libs/gstreamer-libs-sections.txt:
18510         Added new symbol to docs.
18511
18512         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18513         (gst_base_src_init), (gst_base_src_set_format),
18514         (gst_base_src_default_query), (gst_base_src_query),
18515         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
18516         (gst_base_src_perform_seek), (gst_base_src_send_event),
18517         (gst_base_src_default_event), (gst_base_src_event_handler),
18518         (gst_base_src_set_property), (gst_base_src_get_property),
18519         (gst_base_src_wait), (gst_base_src_do_sync),
18520         (gst_base_src_update_length), (gst_base_src_get_range),
18521         (gst_base_src_check_get_range), (gst_base_src_loop),
18522         (gst_base_src_default_negotiate), (gst_base_src_start),
18523         (gst_base_src_activate_push), (gst_base_src_activate_pull),
18524         (gst_base_src_change_state):
18525         * libs/gst/base/gstbasesrc.h:
18526         Implement seeking to other formats than _BYTES.
18527         Implement more seeking methods correctly.
18528         Doc updates.
18529         Added query vmethod.
18530         Added do_seek vmethod to make life easier for subclasses
18531         when seeking.
18532         API addition: gst_base_src_set_format()
18533
18534 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18535
18536         * tests/examples/Makefile.am:
18537           added that too
18538
18539 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18540
18541         * configure.ac:
18542         * docs/random/ensonic/media-device-daemon.txt:
18543         * tests/examples/controller/.cvsignore:
18544         * tests/examples/controller/Makefile.am:
18545         * tests/examples/controller/audio-example.c: (main):
18546         * tests/examples/helloworld/.cvsignore:
18547         * tests/examples/helloworld/Makefile.am:
18548         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
18549         * tests/examples/launch/.cvsignore:
18550         * tests/examples/launch/Makefile.am:
18551         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
18552         * tests/examples/metadata/.cvsignore:
18553         * tests/examples/metadata/Makefile.am:
18554         * tests/examples/metadata/read-metadata.c: (message_loop),
18555         (make_pipeline), (print_tag), (main):
18556         * tests/examples/queue/.cvsignore:
18557         * tests/examples/queue/Makefile.am:
18558         * tests/examples/queue/queue.c: (event_loop), (main):
18559         * tests/examples/typefind/.cvsignore:
18560         * tests/examples/typefind/Makefile.am:
18561         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
18562         (main):
18563         * tests/examples/xml/.cvsignore:
18564         * tests/examples/xml/Makefile.am:
18565         * tests/examples/xml/createxml.c: (object_saved), (main):
18566         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
18567         * tests/old/examples/Makefile.am:
18568         * tests/old/examples/TODO:
18569         * tests/old/examples/controller/.cvsignore:
18570         * tests/old/examples/controller/Makefile.am:
18571         * tests/old/examples/controller/audio-example.c:
18572         * tests/old/examples/helloworld/.cvsignore:
18573         * tests/old/examples/helloworld/Makefile.am:
18574         * tests/old/examples/helloworld/helloworld.c:
18575         * tests/old/examples/launch/.cvsignore:
18576         * tests/old/examples/launch/Makefile.am:
18577         * tests/old/examples/launch/mp3parselaunch.c:
18578         * tests/old/examples/launch/mp3play:
18579         * tests/old/examples/manual/Makefile.am:
18580         * tests/old/examples/metadata/Makefile.am:
18581         * tests/old/examples/metadata/read-metadata.c:
18582         * tests/old/examples/queue/.cvsignore:
18583         * tests/old/examples/queue/Makefile.am:
18584         * tests/old/examples/queue/queue.c:
18585         * tests/old/examples/typefind/.cvsignore:
18586         * tests/old/examples/typefind/Makefile.am:
18587         * tests/old/examples/typefind/typefind.c:
18588         * tests/old/examples/xml/.cvsignore:
18589         * tests/old/examples/xml/Makefile.am:
18590         * tests/old/examples/xml/createxml.c:
18591         * tests/old/examples/xml/runxml.c:
18592           applied some simple fixing to some examples
18593           re-enabled the working examples
18594
18595 2005-12-12  Wim Taymans  <wim@fluendo.com>
18596
18597         * gst/gstsegment.c: (gst_segment_init),
18598         (gst_segment_set_last_stop), (gst_segment_set_seek),
18599         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
18600         (gst_segment_to_running_time):
18601         Added more documentation.
18602         Make sure the last_pos value is updated properly.
18603         Make sure to_stream_time and to_running_time don't
18604         operate on wrong values.
18605
18606         * tests/check/gst/gstsegment.c: (GST_START_TEST):
18607         Update check.
18608
18609 2005-12-12  Michael Smith  <msmith@fluendo.com>
18610
18611         * plugins/elements/gsttypefindelement.c: (free_entry),
18612         (gst_type_find_element_chain):
18613           Now that we're not leaking factories, make sure we keep references
18614           to them while we need them.
18615
18616 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18617
18618         * tests/check/gst/struct_i386.h:
18619           ifdef out the XML structs
18620
18621 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18622
18623         * gst/gstvalue.c: (gst_value_transform_double_fraction):
18624           floor is not needed, F is always positive; this obviates the
18625           need for adding -lm when building without libxml
18626
18627 2005-12-12  Wim Taymans  <wim@fluendo.com>
18628
18629         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18630         Take current playback rate into account when reporting
18631         the position.
18632
18633 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18634
18635         * docs/manual/mime-world.fig:
18636           Let's try this again, this time with a file that is
18637           actually in XFig format.
18638
18639 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18640
18641         * docs/manual/mime-world.fig:
18642           Add audioconvert element to diagram so that it
18643           matches the text and the code (fixes #319526).
18644
18645 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18646
18647         * docs/pwg/building-chainfn.xml:
18648         * docs/pwg/building-pads.xml:
18649         * docs/pwg/building-state.xml:
18650         * docs/pwg/other-source.xml:
18651           Update state change stuff for 0.10 (fixes #322969).
18652
18653 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18654
18655         * docs/manual/advanced-dataaccess.xml:
18656         * docs/manual/appendix-checklist.xml:
18657         * docs/manual/appendix-programs.xml:
18658         * docs/manual/basics-pads.xml:
18659         * docs/manual/highlevel-components.xml:
18660         * docs/manual/manual.xml:
18661           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
18662           add converters in front of pipelines; remove curly
18663           brackets for threads stuff, they no longer exist; use
18664           GST_TYPE_FRACTION for framerates; update some pieces of
18665           code to 0.10, but there's plenty more to do.
18666
18667         * docs/manual/appendix-porting.xml:
18668           Expand on asynchroneous state changes; s/0.9/0.10/;
18669           mention disappearance of gst_init_get_popt_table()
18670           (fixes #322916).
18671
18672 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18673
18674         * docs/faq/using.xml:
18675           Spider no longer exists, and neither does gst-launch-ext.
18676           Update examples to use decodebin and playbin and put
18677           converters in front of sinks (fixes #323726).
18678
18679 2005-12-09  Michael Smith  <msmith@fluendo.com>
18680
18681         * plugins/elements/gsttypefindelement.c: (find_peek),
18682         (gst_type_find_element_chain):
18683           Fix leaking element factories in typefinding.
18684           Fix problem where we forgot about a probable type on non-seekable
18685           files, and thus later mis-typefound it.
18686
18687 2005-12-09  Michael Smith  <msmith@fluendo.com>
18688
18689         * common/m4/gst-makecontext.m4:
18690         * common/m4/gst-mcsc.m4:
18691         * configure.ac:
18692         * win32/common/config.h:
18693         * win32/common/config.h.in:
18694           Remove makecontext stuff; not used in 0.10 and causes problems on
18695           HPUX according to bug #322441
18696
18697 2005-12-07  Wim Taymans  <wim@fluendo.com>
18698
18699         * tests/check/Makefile.am:
18700         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
18701         (main):
18702         * tests/check/libs/struct_i386.h:
18703         Added ABI check for libs
18704
18705 2005-12-07  Wim Taymans  <wim@fluendo.com>
18706
18707         * tests/check/Makefile.am:
18708         And add the struct_i386.h to dist.
18709
18710 2005-12-07  Wim Taymans  <wim@fluendo.com>
18711
18712         * tests/check/Makefile.am:
18713         * tests/check/gst/.cvsignore:
18714         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
18715         (main):
18716         * tests/check/gst/struct_i386.h:
18717         Added check for ABI compatibility.
18718
18719 2005-12-07  Wim Taymans  <wim@fluendo.com>
18720
18721         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18722         (gst_fake_src_get_times), (gst_fake_src_create):
18723         Fix broken sync option, fixes #323259
18724
18725 2005-12-07  Wim Taymans  <wim@fluendo.com>
18726
18727         * gst/gstbuffer.c:
18728         Small docs update.
18729
18730         * gst/gstcaps.c: (gst_caps_is_equal):
18731         Don't assert on NULL <--> X. Fixes #323260
18732
18733         * gst/gstminiobject.c: (gst_mini_object_replace):
18734         If we're doing atomic operations, we might just as well use
18735         the proper way to get an atomic pointer.
18736
18737         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18738         Clean up debugging.
18739
18740 2005-12-07  Michael Smith  <msmith@fluendo.com>
18741
18742         * gst/parse/grammar.y:
18743           Remove handling of { } for threads.
18744
18745 2005-12-06  David Schleef  <ds@schleef.org>
18746
18747         * libs/gst/base/gstbasetransform.c: speling fix.
18748
18749 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
18750
18751         * docs/libs/tmpl/gstdataprotocol.sgml:
18752         * docs/random/omega/testing/gstobject.c:
18753         * gst/gst.c:
18754         * gst/gstclock.c:
18755         * gst/gstelement.c:
18756         * gst/gstelementfactory.c:
18757         * gst/gsterror.c:
18758         * gst/gstevent.c:
18759         * gst/gstghostpad.c:
18760         * gst/gstinfo.c:
18761         * gst/gstpadtemplate.c:
18762         * gst/gstregistryxml.c:
18763         * gst/gsttaglist.c:
18764         * gst/gsttagsetter.c:
18765         * gst/gsttypefind.c:
18766         * gst/gstvalue.c:
18767         * libs/gst/base/gstbasesrc.c:
18768         * libs/gst/net/gstnetclientclock.c:
18769         * libs/gst/net/gstnettimeprovider.c:
18770         * plugins/elements/gstfakesrc.c:
18771         * plugins/elements/gstfdsrc.c:
18772         * plugins/elements/gstfilesrc.c:
18773         * plugins/elements/gstidentity.c:
18774         * plugins/elements/gstqueue.c:
18775         * plugins/elements/gsttypefindelement.c:
18776         * plugins/indexers/gstfileindex.c:
18777         * plugins/indexers/gstmemindex.c:
18778         * tests/check/gst/gsttag.c:
18779         * tests/old/examples/cutter/cutter.c:
18780         * tests/old/examples/mixer/mixer.c:
18781         * tests/old/examples/xml/runxml.c: (main):
18782         * tests/old/testsuite/caps/normalisation.c:
18783         * tests/old/testsuite/debug/global.c:
18784         * tests/old/testsuite/parse/parse1.c:
18785         * tools/gst-xmlinspect.c:
18786         * win32/common/dirent.c:
18787           expand tabs
18788
18789 === release 0.10.0 ===
18790
18791 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18792
18793         * configure.ac:
18794           releasing 0.10.0, "Maroilles"
18795
18796 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18797
18798         submitted by: Funda Wang <fundawang@linux.net.cn>
18799
18800         * po/LINGUAS:
18801         * po/zh_CN.po:
18802           added Chinese (Traditional) translation
18803
18804 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18805
18806         * docs/gst/gstreamer-sections.txt:
18807         * docs/libs/tmpl/gstdataprotocol.sgml:
18808         * docs/random/thomasvs/TODO:
18809         * gst/gstutils.c:
18810         * gst/gstutils.h:
18811           fix docs
18812
18813 2005-12-05  Andy Wingo  <wingo@pobox.com>
18814
18815         patch by: Wim Taymans <wim@fluendo.com>
18816
18817         * libs/gst/base/gstbasetransform.c
18818         (gst_base_transform_prepare_output_buf)
18819         (gst_base_transform_buffer_alloc):
18820         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
18821         alloc_buffer_and_set_caps.
18822
18823         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
18824         set_caps on the source pad.
18825         (gst_pad_alloc_buffer_and_set_caps): New function, does what
18826         alloc_buffer used to do. Fixes #322874.
18827
18828         * docs/gst/gstreamer-sections.txt: 
18829         * docs/design/part-negotiation.txt: 
18830         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
18831         changes.
18832
18833 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18834
18835         patch by: Sebastien Moutte
18836
18837         * win32/MANIFEST:
18838         * win32/common/config.h.in:
18839         * win32/vs6/libgstcontroller.dsp:
18840           win32 build fixes
18841
18842 2005-12-05  Wim Taymans  <wim@fluendo.com>
18843
18844         * gst/gstcaps.c: (gst_caps_is_equal):
18845         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18846         (gst_fake_src_create):
18847         Back out previous code changes, leave doc updates, file bugs 
18848         instead. 
18849
18850 2005-12-05  Wim Taymans  <wim@fluendo.com>
18851
18852         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18853         (gst_fake_src_get_times), (gst_fake_src_create):
18854         * plugins/elements/gstfakesrc.h:
18855         Fix broken sync code.
18856
18857 2005-12-05  Wim Taymans  <wim@fluendo.com>
18858
18859         * gst/gstcaps.c: (gst_caps_is_equal):
18860         Comparing NULL against !NULL yields different caps, not a
18861         failure.
18862
18863 2005-12-05  Wim Taymans  <wim@fluendo.com>
18864
18865         * gst/gstpipeline.c:
18866         Fix small typo in docs.
18867
18868 2005-12-05  Andy Wingo  <wingo@pobox.com>
18869
18870         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
18871
18872         * gst/gst.c (init_post): remove hard-coded 0.9 location for
18873         registries/plugins with a MAJORMINOR one.
18874         (plugin_desc): Rename library from gstcoreleements to
18875         staticelements. Fixes #323222.
18876
18877 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
18878
18879         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
18880           Change debug category to 'collectpads' from 'collect_pads'
18881           (fixes #323250).
18882
18883 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
18884
18885         patch by: Sebastien Moutte
18886
18887         * libs/gst/controller/gstinterpolation.c:
18888           use convert function for uint64/double
18889         * win32/vs6/libgstcontroller.dsp:
18890           link to GLib
18891
18892 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
18893
18894         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
18895         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
18896         * gst/gstutils.h:
18897         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
18898           add tests that seem to show that the guint64/gdouble conversions
18899           are correct.
18900
18901 2005-12-02  Wim Taymans  <wim@fluendo.com>
18902
18903         * gst/gstregistry.c: (gst_registry_add_path):
18904         * gst/gstregistry.h:
18905         * gst/gstregistryxml.c:
18906         Fix docs again.
18907
18908 2005-12-02  Wim Taymans  <wim@fluendo.com>
18909
18910         * gst/gstutils.c: (gst_util_uint64_scale_int64),
18911         (gst_util_uint64_scale_int):
18912         Small cleanup.
18913
18914         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18915         Add debug log line.
18916
18917         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
18918         Add FIXME.
18919
18920 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18921
18922         * win32/MANIFEST:
18923         * win32/common/config.h:
18924         * win32/vs6/gstreamer.dsw:
18925         * win32/vs6/libgstcoreelements.dsp:
18926         * win32/vs6/libgstelements.dsp:
18927           renamed core elements plugin
18928
18929 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18930
18931         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
18932         (get_candidates):
18933           do piece-wise major/minor comparison so 0.9 < 0.10
18934           also allow .exe extensions for tools
18935
18936 2005-12-02  Michael Smith  <msmith@fluendo.com>
18937
18938         * gst/gst.c:
18939           Escape a % to make gtkdoc happier; bug 322958.
18940
18941 === release 0.9.7 ===
18942
18943 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18944
18945         * configure.ac:
18946           releasing 0.9.7, "My Dog Has No Nose"
18947
18948 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18949
18950         * common/gst-xmlinspect.py:
18951         * configure.ac:
18952         * docs/libs/tmpl/gstdataprotocol.sgml:
18953         * docs/random/release:
18954         * po/af.po:
18955         * po/az.po:
18956         * po/bg.po:
18957         * po/ca.po:
18958         * po/cs.po:
18959         * po/de.po:
18960         * po/en_GB.po:
18961         * po/fr.po:
18962         * po/it.po:
18963         * po/nb.po:
18964         * po/nl.po:
18965         * po/ru.po:
18966         * po/sq.po:
18967         * po/sr.po:
18968         * po/sv.po:
18969         * po/tr.po:
18970         * po/uk.po:
18971         * po/vi.po:
18972         * win32/common/config.h:
18973         * win32/common/config.h.in:
18974         * win32/vs6/gst_inspect.dsp:
18975         * win32/vs6/gst_launch.dsp:
18976         * win32/vs6/libgstbase.dsp:
18977         * win32/vs6/libgstelements.dsp:
18978         * win32/vs6/libgstreamer.dsp:
18979         * win32/vs7/GStreamer.vcproj:
18980         * win32/vs7/gst-inspect.vcproj:
18981         * win32/vs7/gst-launch.vcproj:
18982         * win32/vs7/libgstbase.vcproj:
18983           bump GST_MAJORMINOR to 0.10
18984           reset libtool version
18985
18986 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18987
18988         * po/LINGUAS:
18989         * po/bg.po:
18990           Added Bulgarian translation by (Alexander Shopov)
18991
18992 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18993
18994         * tests/check/gst/gstplugin.c:
18995           fix test
18996
18997 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18998
18999         * common/gst-xmlinspect.py:
19000         * common/gtk-doc-plugins.mak:
19001         * configure.ac:
19002         * docs/Makefile.am:
19003         * docs/gst/Makefile.am:
19004         * docs/gst/gstreamer-docs.sgml:
19005         * docs/gst/gstreamer-sections.txt:
19006         * docs/gst/gstreamer.types:
19007         * docs/gst/gstreamer.types.in:
19008         * docs/plugins/Makefile.am:
19009         * docs/plugins/gstreamer-plugins-docs.sgml:
19010         * docs/plugins/gstreamer-plugins-sections.txt:
19011         * docs/plugins/gstreamer-plugins.types:
19012         * docs/plugins/inspect.stamp:
19013         * docs/plugins/inspect/plugin-coreelements.xml:
19014         * docs/plugins/inspect/plugin-coreindexers.xml:
19015         * docs/plugins/scanobj-build.stamp:
19016         * gstreamer.spec.in:
19017         * plugins/elements/Makefile.am:
19018         * plugins/elements/gstelements.c:
19019         * plugins/elements/gstfakesink.c:
19020         * plugins/elements/gstfakesrc.c:
19021         * plugins/elements/gstfilesink.c:
19022         * plugins/elements/gstfilesrc.c:
19023         * plugins/elements/gstqueue.c:
19024         * plugins/indexers/Makefile.am:
19025         * plugins/indexers/gstindexers.c:
19026           document core plugins in a separate document just like all the
19027           others
19028           rename these plugins to something starting with core
19029
19030 2005-12-01  Andy Wingo  <wingo@pobox.com>
19031
19032         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
19033         padding here before, but it missed the commit.
19034
19035 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19036
19037         * libs/gst/controller/gstinterpolation.c:
19038           whitespace prices have crashed, we should feel free to use some now
19039           use gst_guint64_to_gdouble
19040
19041 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19042
19043         * libs/gst/controller/gstcontroller.c:
19044         * libs/gst/controller/gsthelper.c:
19045         * libs/gst/controller/gstinterpolation.c:
19046         * libs/gst/controller/lib.c:
19047           wrap config.h include
19048
19049 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19050
19051         * docs/gst/gstreamer-sections.txt:
19052           update docs
19053
19054 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19055
19056         * plugins/elements/gstelements.c:
19057         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
19058         (gst_fd_sink__class_init), (gst_fd_sink__init),
19059         (gst_fd_sink__chain), (gst_fd_sink__set_property),
19060         (gst_fd_sink__get_property):
19061         * plugins/elements/gstfdsink.h:
19062         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
19063         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
19064         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
19065         (gst_fd_src_unlock), (gst_fd_src_set_property),
19066         (gst_fd_src_get_property), (gst_fd_src_create),
19067         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
19068         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
19069         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
19070         (gst_fd_src_uri_handler_init):
19071         * plugins/elements/gstfdsrc.h:
19072         * plugins/elements/gstqueue.c: (gst_queue_get_type):
19073           more anal cleanup
19074
19075 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19076
19077         * docs/gst/Makefile.am:
19078         * docs/gst/gstreamer.types.in:
19079         * gst/Makefile.am:
19080           fix the docs build
19081
19082 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19083
19084         * configure.ac:
19085         * gst/Makefile.am:
19086         * gst/gst.c:
19087         * gst/gstplugin.h:
19088         * gst/gstregistry.h:
19089         * tests/benchmarks/complexity.c:
19090         * tests/benchmarks/mass-elements.c:
19091         * tests/check/Makefile.am:
19092         * tools/Makefile.am:
19093         * tools/gst-inspect.c:
19094         * tools/gst-xmlinspect.c:
19095           various fixes to make
19096           --disable-nls --disable-registry --disable-loadsave
19097           --disable-parse --disable-gst-debug
19098           work and get the core .so down to 360444 bytes after stripping
19099
19100 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19101
19102         * Makefile.am:
19103         * configure.ac:
19104           descend into tests
19105         * docs/random/thomasvs/TODO:
19106         * tests/Makefile.am:
19107         * tests/README:
19108           add a README
19109
19110 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19111
19112         * win32/GStreamer.vcproj:
19113         * win32/MANIFEST:
19114         * win32/Makefile:
19115         * win32/Makefile.inspect:
19116         * win32/Makefile.launch:
19117         * win32/Makefile.register:
19118         * win32/README.txt:
19119         * win32/gst-inspect.vcproj:
19120         * win32/gst-launch.vcproj:
19121         * win32/gst-register.vcproj:
19122         * win32/gstelements.vcproj:
19123         * win32/gstgetbits.def:
19124         * win32/gstgetbits.vcproj:
19125         * win32/gstreamer-dbg.def:
19126         * win32/gstreamer.def:
19127         * win32/libgstbase.def:
19128         * win32/libgstbase.vcproj:
19129         * win32/link_oldruntime.c:
19130         * win32/mman.c:
19131         * win32/mman.h:
19132         * win32/mman.inl:
19133         * win32/msvc71.sln:
19134           move even more stuff, win32/ is nice and clean now
19135
19136 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19137
19138         * libs/gst/control/.cvsignore:
19139         * win32/MANIFEST:
19140         * win32/config.h:
19141         * win32/dirent.c:
19142         * win32/dirent.h:
19143         * win32/gstbytestream.def:
19144         * win32/gstbytestream.vcproj:
19145         * win32/gstconfig.h:
19146         * win32/gstenumtypes.c:
19147         * win32/gstenumtypes.h:
19148         * win32/gstoptimalscheduler.vcproj:
19149         * win32/gstversion.h:
19150         * win32/gtchar.h:
19151         * win32/testsuite/bins.vcproj:
19152         * win32/testsuite/bytestream.vcproj:
19153         * win32/testsuite/caps.vcproj:
19154         * win32/testsuite/cleanup.vcproj:
19155         * win32/testsuite/clock.vcproj:
19156         * win32/testsuite/debug.vcproj:
19157         * win32/testsuite/dlopen.vcproj:
19158         * win32/testsuite/dynparams.vcproj:
19159         * win32/testsuite/elements.vcproj:
19160         * win32/testsuite/ghostpads.vcproj:
19161         * win32/testsuite/indexers.vcproj:
19162         * win32/testsuite/negotiation.vcproj:
19163         * win32/testsuite/parse.vcproj:
19164         * win32/testsuite/plugin.vcproj:
19165         * win32/testsuite/refcounting.vcproj:
19166         * win32/testsuite/schedulers.vcproj:
19167         * win32/testsuite/states.vcproj:
19168         * win32/testsuite/tags.vcproj:
19169         * win32/testsuite/threads.vcproj:
19170           remove old win32 stuff that isn't maintained and should be
19171           reorganized
19172
19173 2005-11-30  Andy Wingo  <wingo@pobox.com>
19174
19175         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
19176         loading the gst.interfaces python module bork.
19177
19178         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
19179         available since GLib 2.2. Fixes #318031.
19180
19181 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19182
19183         * Makefile.am:
19184         * check/.cvsignore:
19185         * check/Makefile.am:
19186         * check/elements/.cvsignore:
19187         * check/elements/fakesrc.c:
19188         * check/elements/fdsrc.c:
19189         * check/elements/identity.c:
19190         * check/generic/.cvsignore:
19191         * check/generic/states.c:
19192         * check/gst-libs/.cvsignore:
19193         * check/gst-libs/controller.c:
19194         * check/gst-libs/gdp.c:
19195         * check/gst/.cvsignore:
19196         * check/gst/capslist.h:
19197         * check/gst/gst.c:
19198         * check/gst/gstbin.c:
19199         * check/gst/gstbuffer.c:
19200         * check/gst/gstbus.c:
19201         * check/gst/gstcaps.c:
19202         * check/gst/gstelement.c:
19203         * check/gst/gstevent.c:
19204         * check/gst/gstghostpad.c:
19205         * check/gst/gstiterator.c:
19206         * check/gst/gstmessage.c:
19207         * check/gst/gstminiobject.c:
19208         * check/gst/gstobject.c:
19209         * check/gst/gstpad.c:
19210         * check/gst/gstpipeline.c:
19211         * check/gst/gstplugin.c:
19212         * check/gst/gstsegment.c:
19213         * check/gst/gststructure.c:
19214         * check/gst/gstsystemclock.c:
19215         * check/gst/gsttag.c:
19216         * check/gst/gstutils.c:
19217         * check/gst/gstvalue.c:
19218         * check/net/.cvsignore:
19219         * check/net/gstnetclientclock.c:
19220         * check/net/gstnettimeprovider.c:
19221         * check/pipelines/.cvsignore:
19222         * check/pipelines/cleanup.c:
19223         * check/pipelines/simple_launch_lines.c:
19224         * check/pipelines/stress.c:
19225         * check/states/.cvsignore:
19226         * check/states/sinks.c:
19227         * configure.ac:
19228         * examples/Makefile.am:
19229         * examples/appreader/.cvsignore:
19230         * examples/appreader/Makefile.am:
19231         * examples/appreader/appreader.c:
19232         * examples/controller/.cvsignore:
19233         * examples/controller/Makefile.am:
19234         * examples/controller/audio-example.c:
19235         * examples/cutter/.cvsignore:
19236         * examples/cutter/Makefile.am:
19237         * examples/cutter/cutter.c:
19238         * examples/cutter/cutter.h:
19239         * examples/events/Makefile.am:
19240         * examples/events/seek.c:
19241         * examples/helloworld/.cvsignore:
19242         * examples/helloworld/Makefile.am:
19243         * examples/helloworld/helloworld.c:
19244         * examples/helloworld2/.cvsignore:
19245         * examples/helloworld2/Makefile.am:
19246         * examples/helloworld2/helloworld2.c:
19247         * examples/launch/.cvsignore:
19248         * examples/launch/Makefile.am:
19249         * examples/launch/mp3parselaunch.c:
19250         * examples/launch/mp3play:
19251         * examples/manual/.cvsignore:
19252         * examples/manual/Makefile.am:
19253         * examples/manual/extract.pl:
19254         * examples/metadata/Makefile.am:
19255         * examples/metadata/read-metadata.c:
19256         * examples/mixer/.cvsignore:
19257         * examples/mixer/Makefile.am:
19258         * examples/mixer/mixer.c:
19259         * examples/mixer/mixer.h:
19260         * examples/pingpong/.cvsignore:
19261         * examples/pingpong/Makefile.am:
19262         * examples/pingpong/pingpong.c:
19263         * examples/plugins/.cvsignore:
19264         * examples/plugins/Makefile.am:
19265         * examples/plugins/example.c:
19266         * examples/plugins/example.h:
19267         * examples/pwg/.cvsignore:
19268         * examples/pwg/Makefile.am:
19269         * examples/pwg/extract.pl:
19270         * examples/queue/.cvsignore:
19271         * examples/queue/Makefile.am:
19272         * examples/queue/queue.c:
19273         * examples/queue2/.cvsignore:
19274         * examples/queue2/Makefile.am:
19275         * examples/queue2/queue2.c:
19276         * examples/queue3/.cvsignore:
19277         * examples/queue3/Makefile.am:
19278         * examples/queue3/queue3.c:
19279         * examples/queue4/.cvsignore:
19280         * examples/queue4/Makefile.am:
19281         * examples/queue4/queue4.c:
19282         * examples/retag/.cvsignore:
19283         * examples/retag/Makefile.am:
19284         * examples/retag/retag.c:
19285         * examples/retag/transcode.c:
19286         * examples/thread/.cvsignore:
19287         * examples/thread/Makefile.am:
19288         * examples/thread/thread.c:
19289         * examples/typefind/.cvsignore:
19290         * examples/typefind/Makefile.am:
19291         * examples/typefind/typefind.c:
19292         * examples/xml/.cvsignore:
19293         * examples/xml/Makefile.am:
19294         * examples/xml/createxml.c:
19295         * examples/xml/runxml.c:
19296         * tests/Makefile.am:
19297         * tests/check/Makefile.am:
19298         * testsuite/.cvsignore:
19299         * testsuite/Makefile.am:
19300         * testsuite/Rules:
19301         * testsuite/caps/.cvsignore:
19302         * testsuite/caps/Makefile.am:
19303         * testsuite/caps/app_fixate.c:
19304         * testsuite/caps/audioscale.c:
19305         * testsuite/caps/caps.c:
19306         * testsuite/caps/caps.h:
19307         * testsuite/caps/caps_strings:
19308         * testsuite/caps/compatibility.c:
19309         * testsuite/caps/deserialize.c:
19310         * testsuite/caps/enumcaps.c:
19311         * testsuite/caps/eratosthenes.c:
19312         * testsuite/caps/filtercaps.c:
19313         * testsuite/caps/fixed.c:
19314         * testsuite/caps/fraction-convert.c:
19315         * testsuite/caps/fraction-multiply-and-zero.c:
19316         * testsuite/caps/intersect2.c:
19317         * testsuite/caps/intersection.c:
19318         * testsuite/caps/normalisation.c:
19319         * testsuite/caps/random.c:
19320         * testsuite/caps/renegotiate.c:
19321         * testsuite/caps/sets.c:
19322         * testsuite/caps/simplify.c:
19323         * testsuite/caps/string-conversions.c:
19324         * testsuite/caps/structure.c:
19325         * testsuite/caps/subtract.c:
19326         * testsuite/caps/union.c:
19327         * testsuite/debug/.cvsignore:
19328         * testsuite/debug/Makefile.am:
19329         * testsuite/debug/category.c:
19330         * testsuite/debug/commandline.c:
19331         * testsuite/debug/global.c:
19332         * testsuite/debug/output.c:
19333         * testsuite/debug/printf_extension.c:
19334         * testsuite/dlopen/.cvsignore:
19335         * testsuite/dlopen/Makefile.am:
19336         * testsuite/dlopen/dlopen_gst.c:
19337         * testsuite/dlopen/loadgst.c:
19338         * testsuite/elements/.cvsignore:
19339         * testsuite/elements/Makefile.am:
19340         * testsuite/elements/gst-inspect-check.in:
19341         * testsuite/elements/struct_i386.h:
19342         * testsuite/elements/struct_size.c:
19343         * testsuite/indexers/.cvsignore:
19344         * testsuite/indexers/Makefile.am:
19345         * testsuite/indexers/cache1.c:
19346         * testsuite/indexers/indexdump.c:
19347         * testsuite/parse/.cvsignore:
19348         * testsuite/parse/Makefile.am:
19349         * testsuite/parse/parse1.c:
19350         * testsuite/parse/parse2.c:
19351         * testsuite/plugin/.cvsignore:
19352         * testsuite/plugin/Makefile.am:
19353         * testsuite/plugin/README:
19354         * testsuite/plugin/dynamic.c:
19355         * testsuite/plugin/linked.c:
19356         * testsuite/plugin/loading.c:
19357         * testsuite/plugin/registry.c:
19358         * testsuite/plugin/static.c:
19359         * testsuite/plugin/static2.c:
19360         * testsuite/plugin/testplugin.c:
19361         * testsuite/plugin/testplugin2.c:
19362         * testsuite/plugin/testplugin2_s.c:
19363         * testsuite/plugin/testplugin_s.c:
19364         * testsuite/refcounting/.cvsignore:
19365         * testsuite/refcounting/Makefile.am:
19366         * testsuite/refcounting/bin.c:
19367         * testsuite/refcounting/element.c:
19368         * testsuite/refcounting/element_pad.c:
19369         * testsuite/refcounting/mainloop.c:
19370         * testsuite/refcounting/mem.c:
19371         * testsuite/refcounting/mem.h:
19372         * testsuite/refcounting/object.c:
19373         * testsuite/refcounting/pad.c:
19374         * testsuite/refcounting/sched.c:
19375         * testsuite/refcounting/thread.c:
19376         * testsuite/states/.cvsignore:
19377         * testsuite/states/Makefile.am:
19378         * testsuite/states/bin.c:
19379         * testsuite/states/locked.c:
19380         * testsuite/states/parent.c:
19381         * testsuite/threads/.cvsignore:
19382         * testsuite/threads/159566.c:
19383         * testsuite/threads/159852.c:
19384         * testsuite/threads/Makefile.am:
19385         * testsuite/threads/queue.c:
19386         * testsuite/threads/signals.c:
19387         * testsuite/threads/staticrec.c:
19388         * testsuite/threads/thread.c:
19389         * testsuite/threads/threadb.c:
19390         * testsuite/threads/threadc.c:
19391         * testsuite/threads/threadd.c:
19392         * testsuite/threads/threade.c:
19393         * testsuite/threads/threadf.c:
19394         * testsuite/threads/threadg.c:
19395         * testsuite/threads/threadh.c:
19396         * testsuite/threads/threadi.c:
19397           move all of these under tests
19398
19399 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19400
19401         * configure.ac:
19402         * tests/Makefile.am:
19403           fix distcheck
19404
19405 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19406
19407         * docs/gst/gstreamer-sections.txt:
19408         * tests/sched/.cvsignore:
19409         * tests/sched/Makefile.am:
19410         * tests/sched/cases/(fs-fs).xml:
19411         * tests/sched/cases/(fs-i-fs).xml:
19412         * tests/sched/cases/(fs-i-i-fs).xml:
19413         * tests/sched/cases/(fs-i-q[i-fs]).xml:
19414         * tests/sched/dynamic-pipeline.c:
19415         * tests/sched/interrupt1.c:
19416         * tests/sched/interrupt2.c:
19417         * tests/sched/interrupt3.c:
19418         * tests/sched/runtestcases:
19419         * tests/sched/runxml.c:
19420         * tests/sched/sched-stress.c:
19421         * tests/sched/sort.c:
19422         * tests/sched/testcases:
19423         * tests/sched/testcases1.tc:
19424         * tests/seeking/.cvsignore:
19425         * tests/seeking/Makefile.am:
19426         * tests/seeking/seeking1.c:
19427         * tests/threadstate/.cvsignore:
19428         * tests/threadstate/Makefile.am:
19429         * tests/threadstate/test1.c:
19430         * tests/threadstate/test2.c:
19431         * tests/threadstate/threadstate1.c:
19432         * tests/threadstate/threadstate2.c:
19433         * tests/threadstate/threadstate3.c:
19434         * tests/threadstate/threadstate4.c:
19435         * tests/threadstate/threadstate5.c:
19436           remove obsolete tests
19437         * configure.ac:
19438         * tests/bench-complexity.scm:
19439         * tests/bench-mass_elements.scm:
19440         * tests/complexity.c:
19441         * tests/complexity.gnuplot:
19442         * tests/instantiate/.cvsignore:
19443         * tests/instantiate/Makefile.am:
19444         * tests/instantiate/caps.c:
19445         * tests/mass_elements.c:
19446         * tests/network-clock-utils.scm:
19447         * tests/network-clock.scm:
19448         * tests/plot-data:
19449         First pass at cleaning up tests/ dir before moving the rest
19450         Combined with CVS surgery
19451
19452 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19453
19454         * po/POTFILES.in:
19455           queue has moved, update
19456
19457 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19458
19459         * docs/gst/gstreamer-sections.txt:
19460           remove double entries from the docs
19461         * gst/gst_private.h:
19462         * gst/gstinfo.c: (_gst_debug_init):
19463           remove the THREAD debug category
19464         * gst/Makefile.am:
19465         * gst/gstqueue.c:
19466         * gst/gstqueue.h:
19467         * docs/gst/gstreamer.types:
19468         * plugins/elements/gstqueue.c: (gst_queue_get_type),
19469         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
19470           completely move queue and fix up debugging categories
19471
19472 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19473
19474         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
19475           make initialization portable, using LL is not
19476
19477 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19478
19479         * win32/common/gstconfig.h:
19480           add large padding
19481
19482 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19483
19484         * win32/common/libgstreamer.def:
19485           rename symbols; sort base section
19486
19487 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19488
19489         * gst/gstclock.c: (do_linear_regression):
19490           remove crack non-portable handrolled DEBUG macro
19491
19492 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19493
19494         * docs/random/release:
19495           update notes
19496         * win32/common/gstenumtypes.c: (register_gst_object_flags),
19497         (gst_object_flags_get_type), (register_gst_bin_flags),
19498         (gst_bin_flags_get_type), (register_gst_buffer_flag),
19499         (gst_buffer_flag_get_type), (register_gst_bus_flags),
19500         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
19501         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
19502         (gst_caps_flags_get_type), (register_gst_clock_return),
19503         (gst_clock_return_get_type), (register_gst_clock_entry_type),
19504         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
19505         (gst_clock_flags_get_type), (register_gst_state),
19506         (gst_state_get_type), (register_gst_state_change_return),
19507         (gst_state_change_return_get_type), (register_gst_state_change),
19508         (gst_state_change_get_type), (register_gst_element_flags),
19509         (gst_element_flags_get_type), (register_gst_core_error),
19510         (gst_core_error_get_type), (register_gst_library_error),
19511         (gst_library_error_get_type), (register_gst_resource_error),
19512         (gst_resource_error_get_type), (register_gst_stream_error),
19513         (gst_stream_error_get_type), (register_gst_event_type_flags),
19514         (gst_event_type_flags_get_type), (register_gst_event_type),
19515         (gst_event_type_get_type), (register_gst_seek_type),
19516         (gst_seek_type_get_type), (register_gst_seek_flags),
19517         (gst_seek_flags_get_type), (register_gst_format),
19518         (gst_format_get_type), (register_gst_index_certainty),
19519         (gst_index_certainty_get_type), (register_gst_index_entry_type),
19520         (gst_index_entry_type_get_type),
19521         (register_gst_index_lookup_method),
19522         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
19523         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
19524         (gst_index_resolver_method_get_type), (register_gst_index_flags),
19525         (gst_index_flags_get_type), (register_gst_debug_level),
19526         (gst_debug_level_get_type), (register_gst_debug_color_flags),
19527         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
19528         (gst_iterator_result_get_type), (register_gst_iterator_item),
19529         (gst_iterator_item_get_type), (register_gst_message_type),
19530         (gst_message_type_get_type), (register_gst_mini_object_flags),
19531         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
19532         (gst_pad_link_return_get_type), (register_gst_flow_return),
19533         (gst_flow_return_get_type), (register_gst_activate_mode),
19534         (gst_activate_mode_get_type), (register_gst_pad_direction),
19535         (gst_pad_direction_get_type), (register_gst_pad_flags),
19536         (gst_pad_flags_get_type), (register_gst_pad_presence),
19537         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
19538         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
19539         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
19540         (gst_plugin_error_get_type), (register_gst_plugin_flags),
19541         (gst_plugin_flags_get_type), (register_gst_rank),
19542         (gst_rank_get_type), (register_gst_query_type),
19543         (gst_query_type_get_type), (register_gst_tag_merge_mode),
19544         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
19545         (gst_tag_flag_get_type), (register_gst_task_state),
19546         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
19547         (gst_alloc_trace_flags_get_type),
19548         (register_gst_type_find_probability),
19549         (gst_type_find_probability_get_type), (register_gst_uri_type),
19550         (gst_uri_type_get_type), (register_gst_parse_error),
19551         (gst_parse_error_get_type):
19552         * win32/common/gstenumtypes.h:
19553         * win32/common/gstversion.h:
19554           update visual studio generated files
19555
19556 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19557
19558         * win32/vs6/libgstbase.dsp:
19559         * win32/vs6/libgstelements.dsp:
19560           update project files for new locations
19561
19562 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19563
19564         * Makefile.am:
19565           remove some files
19566         * README:
19567           reinstate and update
19568         * DEVEL:
19569         * REQUIREMENTS:
19570           removed
19571         * LICENSE:
19572         * docs/random/LICENSE:
19573           moved to random
19574
19575 2005-11-30  Edward Hervey  <edward@fluendo.com>
19576
19577         * gst/gsttypefind.c: (gst_type_find_register):
19578         * gst/gsttypefind.h:
19579         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
19580         (gst_type_find_factory_dispose):
19581         * gst/gsttypefindfactory.h:
19582         Fix memory leak in GstTypeFindFactory.
19583
19584 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19585
19586         * gst/gst.c:
19587         * plugins/elements/Makefile.am:
19588         * plugins/elements/gstelements.c:
19589         * plugins/elements/gstqueue.c:
19590           move queue from core to the elements plugin
19591
19592 2005-11-29  Andy Wingo  <wingo@pobox.com>
19593
19594         * libs/gst/base/gstbasetransform.h: 
19595         * libs/gst/base/gstbasesrc.h: 
19596         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
19597
19598         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
19599         of pointers by which to pad very extensible base classes (like the
19600         ones in libs/gst/base).
19601
19602 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19603
19604         * docs/gst/gstreamer-docs.sgml:
19605         * docs/gst/gstreamer-sections.txt:
19606         * docs/libs/gstreamer-libs-docs.sgml:
19607         * docs/libs/gstreamer-libs-sections.txt:
19608           moving documentation from core to lib
19609
19610 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19611
19612         * check/Makefile.am:
19613         * configure.ac:
19614         * docs/gst/Makefile.am:
19615         * gst/Makefile.am:
19616         * gst/base/.cvsignore:
19617         * gst/base/Makefile.am:
19618         * gst/base/README:
19619         * gst/base/gstadapter.c:
19620         * gst/base/gstadapter.h:
19621         * gst/base/gstbasesink.c:
19622         * gst/base/gstbasesink.h:
19623         * gst/base/gstbasesrc.c:
19624         * gst/base/gstbasesrc.h:
19625         * gst/base/gstbasetransform.c:
19626         * gst/base/gstbasetransform.h:
19627         * gst/base/gstcollectpads.c:
19628         * gst/base/gstcollectpads.h:
19629         * gst/base/gstpushsrc.c:
19630         * gst/base/gstpushsrc.h:
19631         * gst/base/gsttypefindhelper.c:
19632         * gst/base/gsttypefindhelper.h:
19633         * gst/check/Makefile.am:
19634         * gst/check/gstcheck.c:
19635         * gst/check/gstcheck.h:
19636         * gst/net/Makefile.am:
19637         * gst/net/gstnet.h:
19638         * gst/net/gstnetclientclock.c:
19639         * gst/net/gstnetclientclock.h:
19640         * gst/net/gstnettimepacket.c:
19641         * gst/net/gstnettimepacket.h:
19642         * gst/net/gstnettimeprovider.c:
19643         * gst/net/gstnettimeprovider.h:
19644         * libs/gst/Makefile.am:
19645         * libs/gst/base/Makefile.am:
19646         * libs/gst/base/gstbasetransform.c:
19647         * libs/gst/check/Makefile.am:
19648         * plugins/elements/Makefile.am:
19649         * po/POTFILES.in:
19650           CVS surgery + support to move base, check, and net out of gst
19651           and into libs/gst
19652
19653 2005-11-29  Andy Wingo  <wingo@pobox.com>
19654
19655         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
19656
19657         * gst/gststructure.h (struct _GstStructure): Only one pointer of
19658         padding.
19659
19660         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
19661
19662         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
19663
19664         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
19665
19666         * gst/gstobject.h: (struct _GstObject): Only one pointer of
19667         padding; reduces object size by about 30%. We don't expect
19668         anything else to go into gstobject.
19669
19670         * gst/gstminiobject.h (struct _GstMiniObject)
19671         (struct _GstMiniObjectClass): Only one pointer of padding; the
19672         payload is only a pointer and two ints anyway. For the class there
19673         are only two methods as well.
19674         
19675         * gst/gstelement.h (struct _GstElementClass): Removed
19676         the state_changed signal callback, it is not used.
19677
19678 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19679
19680         * docs/gst/gstreamer.types:
19681           fix includes, though they are a little dinky
19682
19683 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19684
19685         * check/Makefile.am:
19686           look in the right place for elements, a lot more chance of
19687           success
19688         * gst/Makefile.am:
19689           remove indexers and elements subdirs
19690         * plugins/Makefile.am:
19691           make indexers conditional
19692
19693 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19694
19695         * Makefile.am:
19696         * configure.ac:
19697         * plugins/elements/Makefile.am:
19698         * plugins/elements/gstcapsfilter.c:
19699         * plugins/elements/gstfilesink.c:
19700         * plugins/elements/gstfilesrc.c:
19701         * plugins/elements/gstidentity.c:
19702         * plugins/indexers/Makefile.am:
19703           do CVS surgery and related build fixery to move elements
19704           and indexers in a new gstreamer/plugins directory, out of the
19705           gst/ directory
19706
19707 2005-11-29  Andy Wingo  <wingo@pobox.com>
19708
19709         * check/Makefile.am:
19710         * pkgconfig/gstreamer-net-uninstalled.pc.in:
19711         * pkgconfig/gstreamer-net.pc.in:
19712         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
19713         #322257.
19714
19715 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19716
19717         * tools/Makefile.am:
19718         * tools/gst-complete.1.in:
19719         * tools/gst-complete.c:
19720         * tools/gst-compprep.1.in:
19721         * tools/gst-compprep.c:
19722           removing -compprep and -complete
19723
19724 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19725
19726         * gst/gstevent.c: (gst_event_new_new_segment),
19727         (gst_event_parse_new_segment):
19728         * gst/gstevent.h:
19729           fix #320529 - clean up new_segment API and structure.
19730           Let's hope everyone was using the methods, and not the structure.
19731
19732 2005-11-29  Edward Hervey  <edward@fluendo.com>
19733
19734         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19735         (gst_base_sink_event), (gst_base_sink_do_sync),
19736         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
19737         Properly handle non GST_FORMAT_TIME segment
19738         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
19739         Properly handle non GST_FORMAT_TIME segment
19740         * gst/gstsegment.c:
19741         This function is valid if the accumulator is 0 and the format
19742         is different from the requested format.
19743         
19744 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
19745
19746         * docs/gst/gstreamer-sections.txt:
19747         Add gst_query_new_seeking and gst_query_parse_seeking to the
19748         docs.
19749
19750 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
19751
19752         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
19753           Treat a pad alloc with new caps the same as if we were not
19754           negotiated, in order to allow a changing upstream output
19755           to produce a new format of data.
19756
19757 2005-11-29  Edward Hervey  <edward@fluendo.com>
19758
19759         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
19760         (gst_base_transform_event), (gst_base_transform_eventfunc):
19761         The event virtual method is now properly implemented, with a default
19762         handler
19763         Sub classes should call the parent_class event method. They should
19764         return FALSE if they had a problem handling the given event, or don't
19765         want GstBaseTransform to send that even downstream
19766         * gst/elements/gstidentity.c: (gst_identity_class_init),
19767         (gst_identity_init), (gst_identity_event),
19768         (gst_identity_transform_ip), (gst_identity_set_property),
19769         (gst_identity_get_property):
19770         * gst/elements/gstidentity.h:
19771         Added the single-segment boolean property.
19772         If set to TRUE, it will output a single segment of data, starting from
19773         0, will eat up all incoming newsegment, and modify the timestamp of the
19774         buffers accordingly
19775
19776 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
19777
19778         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
19779           Don't ref NULL target pad (#322751). Improve docs.
19780
19781 2005-11-29  Michael Smith  <msmith@fluendo.com>
19782
19783         * gst/gstregistryxml.c: (load_plugin):
19784           Don't crash if we failed to load a feature from a plugin. 
19785
19786 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19787
19788         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
19789         (GST_START_TEST):
19790           use more check API and less GLib API
19791
19792 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19793
19794         * Makefile.am:
19795           don't run checks if we don't have check
19796         * common/check.mak:
19797           remove the registry when running make torture
19798         * docs/gst/gstreamer-sections.txt:
19799           remove second multiply
19800         * gst/gstqueue.c: (gst_queue_loop):
19801           fix a compile warning when disabling debug
19802
19803 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
19804
19805         * gst/gstinfo.h:
19806         Hey! Let's print the pad name if the pointer != NULL instead
19807         of when it == NULL :-)
19808
19809 2005-11-28  Wim Taymans  <wim@fluendo.com>
19810
19811         * check/gst/gstutils.c: (GST_START_TEST):
19812         Updated check, add some scaling accuracy checking code.
19813
19814         * gst/gstutils.c: (gst_util_div128_64),
19815         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
19816         (gst_util_uint64_scale_int):
19817         Fix 6 times faster division code. Optimize for common 
19818         1/1 and less common X/1 cases.
19819
19820 2005-11-28  Wim Taymans  <wim@fluendo.com>
19821
19822         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19823         More checks.
19824
19825         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
19826         (do_linear_regression), (gst_clock_add_observation):
19827         Cleanups.
19828         Release lock when the clock cannot be slaved.
19829         Catch the case where the regression returned an invalid denominator.
19830
19831         * gst/gstutils.c: (gst_util_div128_64_iterate),
19832         (gst_util_div128_64), (gst_util_uint64_scale_int64),
19833         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
19834         Add protentially more performant non-iterative 128/64 divide function
19835         that unfortunatly does not work yet.
19836         Shortcut the trivial 0/X = 0 case.
19837         Remove the warnings on overflow.
19838
19839 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19840
19841         * gst/gstplugin.c: (gst_plugin_register_func):
19842           everything causing a plugin not to load should be at least a WARNING
19843
19844 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
19845
19846         * docs/random/ensonic/dparams.txt:
19847           some TODOs for the next dev cycle
19848         * libs/gst/controller/gstcontroller.c:
19849         (gst_controlled_property_set_interpolation_mode),
19850         (gst_controlled_property_new):
19851         * libs/gst/controller/gstcontroller.h:
19852           use base type to assign acccessor functions
19853
19854 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
19855
19856         * check/Makefile.am:
19857         Oops, that should have been top_srcdir
19858
19859 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
19860
19861         * check/Makefile.am:
19862         * check/elements/fdsrc.c: (GST_START_TEST):
19863         Use a cmdline define to specify the location of a file to use for
19864         testing, to avoid breaking distcheck.
19865
19866 2005-11-28  Andy Wingo  <wingo@pobox.com>
19867
19868         * gst/gstpad.c (fixate_value): Use array functions for arrays.
19869
19870 2005-11-28  Edward Hervey  <edward@fluendo.com>
19871
19872         * tools/gst-launch.c: (main):
19873         Clarify the output strings, makes it easier to translate.
19874         Fixes #322626
19875
19876 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19877
19878         * gst/Makefile.am:
19879           don't try and build net if we don't even have <sys/socket.h>
19880
19881 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
19882
19883         * check/Makefile.am:
19884         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
19885         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
19886           Add tests for fdsrc seekability
19887
19888         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
19889         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
19890         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
19891         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
19892         * gst/elements/gstfdsrc.h:
19893           fdsrc should not be a 'live' source.
19894           Implement seeking on seekable fd's.
19895
19896         * gst/gstquery.c: (gst_query_new_seeking),
19897         (gst_query_parse_seeking):
19898         * gst/gstquery.h:
19899           Implement SEEKING query functions: 
19900             *_new_seeking and *_parse_seeking
19901
19902 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
19903
19904         * gst/gstelement.c: (gst_element_dispose):
19905           don't loop forever
19906
19907         * gst/gstiterator.c:
19908         * gst/gststructure.c:
19909           doc fixes
19910
19911         * libs/gst/controller/gstcontroller.c:
19912         (gst_controlled_property_set_interpolation_mode):
19913         * libs/gst/controller/gstcontroller.h:
19914         * libs/gst/controller/gstinterpolation.c:
19915         (interpolate_none_get_enum_value_array):
19916           support controlling enums
19917
19918 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
19919
19920         * gst/gstvalue.c:
19921           Improve documentation for gst_value_union().
19922
19923         * gst/gstvalue.h:
19924           Change return value for union, intersect and subtract functions
19925           from gint to gboolean.
19926
19927 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
19928
19929         * gst/gstvalue.c: (gst_value_serialize_any_list),
19930         (gst_value_transform_any_list_string),
19931         (gst_value_deserialize_list), (gst_value_deserialize_array),
19932         (gst_value_set_int_range), (gst_value_deserialize_int_range),
19933         (gst_value_set_double_range), (gst_value_deserialize_double_range),
19934         (gst_value_set_fraction_range_full),
19935         (gst_value_deserialize_fraction_range),
19936         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
19937         (gst_value_deserialize_boolean),
19938         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
19939         (gst_value_serialize_float), (gst_value_deserialize_float),
19940         (gst_string_wrap), (gst_value_deserialize_string),
19941         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
19942         (gst_value_union_int_range_int_range),
19943         (gst_value_intersect_int_range_int_range),
19944         (gst_value_intersect_double_range_double_range),
19945         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
19946         (gst_value_subtract_int_range_int_range),
19947         (gst_value_subtract_double_double_range),
19948         (gst_value_subtract_double_range_double_range),
19949         (gst_value_deserialize_fraction):
19950         * gst/gstvalue.h:
19951           Use gint, gdouble and gchar in our API instead of int, double and
19952           char (and make usage in gstvalue.c more consistent).
19953
19954 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
19955
19956         * check/Makefile.am:
19957         * libs/gst/controller/Makefile.am:
19958         * libs/gst/dataprotocol/Makefile.am:
19959           fix up Makefile.am and remove GST_ENABLE_NEW
19960
19961 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
19962
19963         * configure.ac:
19964         * gst/Makefile.am:
19965         * gst/base/Makefile.am:
19966         * gst/check/Makefile.am:
19967         * gst/elements/Makefile.am:
19968         * gst/net/Makefile.am:
19969           update LDFLAGS use some more
19970
19971 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
19972
19973         * common/m4/gst-doc.m4:
19974           Fixes #312589
19975
19976 2005-11-26  Edward Hervey  <edward@fluendo.com>
19977
19978         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
19979         This shouldn't issue a g_warning since it returns NULL if it
19980         couldn't find the plugin, and all functions using this behave
19981         properly on a NULL return. Switching to a GST_WARNING.
19982
19983 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
19984
19985         * gst/gstbin.c: (gst_bin_handle_message_func):
19986         Don't leak clock messages.
19987
19988 2005-11-25  Wim Taymans  <wim@fluendo.com>
19989
19990         * gst/gstutils.c: (gst_util_uint64_scale_int64),
19991         (gst_util_uint64_scale_int):
19992         Optimisations, remove unneeded vars.
19993
19994 2005-11-25  Wim Taymans  <wim@fluendo.com>
19995
19996         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19997         Added more checks for the high precision uint64 cases.
19998
19999         * gst/gstutils.c: (gst_util_uint64_scale_int64),
20000         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
20001         Implement high precision (guint64 * guint64) / guint64.
20002
20003 2005-11-24  Wim Taymans  <wim@fluendo.com>
20004
20005         * gst/base/gstbasesrc.c: (gst_base_src_query):
20006         Fix wrong percentage query.
20007
20008         * gst/gstutils.c: (gst_util_uint64_scale),
20009         (gst_util_uint64_scale_int):
20010         Add some more common cases that can be handled 
20011         efficiently to _scale.
20012
20013 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20014
20015         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
20016         (gst_mini_object_suite):
20017           don't use check calls from threads; check probably isn't
20018           threadsafe and using a lock to make it threadsafe would
20019           defeat the purpose of this check
20020         * gst/check/gstcheck.c:
20021         * gst/check/gstcheck.h:
20022           use GST_DEBUG some more
20023
20024 2005-11-24  Wim Taymans  <wim@fluendo.com>
20025
20026         * gst/gstutils.c: (gst_util_uint64_scale),
20027         (gst_util_uint64_scale_int):
20028         Chain trivial case to _scale_int.
20029
20030 2005-11-24  Wim Taymans  <wim@fluendo.com>
20031
20032         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
20033         Added test for scaling.
20034
20035         * gst/gstclock.h:
20036         Small doc fix.
20037
20038         * gst/gstutils.c: (gst_util_uint64_scale_int):
20039         Implemented high precision scaling code.
20040
20041 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
20042
20043         * gst/gstinfo.h:
20044           do not crash on pad==NULL
20045
20046 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20047
20048         Patch by: Stefan Kost
20049
20050         * common/gtk-doc.mak:
20051         * docs/gst/Makefile.am:
20052         * docs/libs/Makefile.am:
20053           Fix distcheck issues for the libraries docs build
20054           Closes #319599.
20055
20056 2005-11-24  Michael Smith <msmith@fluendo.com>
20057
20058         * docs/manual/basics-helloworld.xml:
20059           Fix bug #315027: memory leak in example code in docs.
20060
20061 2005-11-24  Michael Smith <msmith@fluendo.com>
20062
20063         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20064           Unlock the PREROLL_LOCK in a failure case.
20065
20066 2005-11-24  Wim Taymans  <wim@fluendo.com>
20067
20068         * docs/gst/gstreamer-sections.txt:
20069         * gst/base/gstadapter.h:
20070         * gst/base/gstbasesink.h:
20071         * gst/base/gstbasesrc.h:
20072         * gst/base/gstbasetransform.h:
20073         * gst/base/gstpushsrc.h:
20074         * gst/elements/gstfakesink.h:
20075         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
20076         * gst/elements/gstfakesrc.h:
20077         * gst/elements/gstfilesink.h:
20078         * gst/elements/gstfilesrc.h:
20079         * gst/gst.c:
20080         * gst/gstbin.c:
20081         * gst/gstbuffer.c: (_gst_buffer_copy):
20082         * gst/gstbus.h:
20083         * gst/gstcaps.c:
20084         * gst/gstchildproxy.c:
20085         * gst/gstclock.c:
20086         * gst/gstelement.c:
20087         * gst/gstelementfactory.c:
20088         * gst/gstelementfactory.h:
20089         * gst/gstevent.c:
20090         * gst/gstghostpad.h:
20091         * gst/gstindex.h:
20092         * gst/gstinterface.h:
20093         * gst/gstminiobject.c:
20094         * gst/gstminiobject.h:
20095         * gst/gstpad.c:
20096         * gst/gstpad.h:
20097         * gst/gstpadtemplate.h:
20098         * gst/gstpipeline.h:
20099         * gst/gstpluginfeature.h:
20100         * gst/gstquery.h:
20101         * gst/gstqueue.h:
20102         * gst/gsttaglist.c:
20103         * gst/gsttaglist.h:
20104         * gst/gsttagsetter.c:
20105         * gst/gsttagsetter.h:
20106         * gst/gsttrace.c:
20107         * gst/gsttrace.h:
20108         * gst/gsttypefind.h:
20109         * gst/gsturi.h:
20110         * gst/gstvalue.c:
20111         * gst/net/gstnetclientclock.c:
20112         * gst/net/gstnetclientclock.h:
20113         * gst/net/gstnettimepacket.c:
20114         * gst/net/gstnettimeprovider.c:
20115         * gst/net/gstnettimeprovider.h:
20116         Doc fixes.
20117
20118 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20119
20120         * configure.ac: back to HEAD
20121
20122 === release 0.9.6 ===
20123
20124 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
20125
20126         * configure.ac:
20127           releasing 0.9.6, "Always On Time"
20128
20129 2005-11-23  Wim Taymans  <wim@fluendo.com>
20130
20131         * docs/gst/gstreamer-sections.txt:
20132         * gst/glib-compat.c:
20133         * gst/gsttagsetter.c:
20134         * gst/gstvalue.c:
20135         * gst/net/gstnetclientclock.c:
20136         * gst/net/gstnettimepacket.h:
20137         Doc updates.
20138
20139 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20140
20141         * docs/faq/using.xml:
20142         * docs/libs/tmpl/gstcontrol.sgml:
20143         * docs/manual/advanced-dparams.xml:
20144         * docs/manual/appendix-checklist.xml:
20145         * docs/manual/basics-elements.xml:
20146         * docs/pwg/other-source.xml:
20147         * docs/random/moving-plugins:
20148         * gst/gstpad.c:
20149         * tools/gst-launch.1.in:
20150           remove mentions of sinesrc
20151
20152 2005-11-23  Michael Smith <msmith@fluendo.com>
20153
20154         * docs/gst/gstreamer-sections.txt:
20155           Update for new API and API changes.
20156         * gst/gstobject.h:
20157           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
20158         * gst/gstvalue.c:
20159           Documentation typo fix.
20160         * gst/net/gstnettimepacket.c:
20161           Documentation fixes for arguments.
20162
20163 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
20164
20165         * gst/gststructure.c: (gst_structure_get_fraction),
20166         (gst_structure_parse_value),
20167         (gst_structure_fixate_field_nearest_fraction):
20168         * gst/gststructure.h:
20169         * gst/gstutils.c: (gst_util_uint64_scale_int):
20170         * gst/gstutils.h:
20171         * scripts/update-funcnames:
20172         API Changes. 
20173         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
20174         Make gst_structure_fixate_field_nearest_fraction take a numerator
20175         and denominator argument instead of a GValue
20176         add gst_structure_get_fraction helper function.
20177
20178 2005-11-23  Wim Taymans  <wim@fluendo.com>
20179
20180         * docs/design/part-TODO.txt:
20181         Update TODO.
20182
20183         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
20184         * gst/net/gstnetclientclock.h:
20185         Use parent fields for timeout and window_size.
20186
20187 2005-11-23  Andy Wingo  <wingo@pobox.com>
20188
20189         * check/net/gstnetclientclock.c (test_functioning): Adjust to
20190         rate_num/rate_denom change.
20191
20192         * gst/net/gstnetclientclock.c
20193         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
20194         OBJECT_LOCK. Don't call add_observation with the lock.
20195
20196         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
20197         fraction.
20198         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
20199         rate fraction.
20200         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
20201         deal with rate as a fraction whose numerator and denominator are
20202         GstClockTime values.
20203         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
20204         master; the other fields are protected by the SLAVE_LOCK.
20205         (do_linear_regression): Note that this must be called with the
20206         SLAVE_LOCK.
20207         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
20208         OBJECT_LOCK. Call set_calibration instead of touching the
20209         variables directly.
20210         (gst_clock_set_property, gst_clock_get_property): Protect
20211         master/slave parameters with the SLAVE_LOCK.
20212
20213         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
20214         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
20215         note that all of the instance variables that add_observation and
20216         the set_master functions use are protected by that lock and not
20217         the OBJECT_LOCK.
20218         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
20219
20220         * gst/gstclock.c (gst_clock_add_observation): No longer requires
20221         the caller to take the object lock.
20222
20223 2005-11-23  Wim Taymans  <wim@fluendo.com>
20224
20225         * gst/gsterror.c: (_gst_core_errors_init):
20226         * gst/gsterror.h:
20227         Add error for clock stuff.
20228
20229         * gst/gstpipeline.c: (gst_pipeline_change_state),
20230         (gst_pipeline_set_clock):
20231         Post clock error when clock cannot be used in a pipeline.
20232
20233 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
20234
20235         * docs/gst/gstreamer-sections.txt:
20236           make two symbols from gstinfo private for the docs
20237         * gst/base/gstcollectpads.h:
20238         * gst/gstutils.c:
20239           fix doc typos, update docs
20240
20241 2005-11-22  Wim Taymans  <wim@fluendo.com>
20242
20243         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
20244         (gst_base_sink_wait), (gst_base_sink_do_sync),
20245         (gst_base_sink_handle_event):
20246         * gst/base/gstbasesink.h:
20247         No need to store the clock, the parent element class already
20248         has it.
20249
20250         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
20251         Updates for clock_set returning a gboolean
20252
20253         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
20254         (gst_clock_id_wait_async), (gst_clock_class_init),
20255         (gst_clock_init), (gst_clock_finalize),
20256         (gst_clock_get_internal_time), (gst_clock_get_time),
20257         (gst_clock_slave_callback), (gst_clock_set_master),
20258         (gst_clock_get_master), (do_linear_regression),
20259         (gst_clock_add_observation), (gst_clock_set_property),
20260         (gst_clock_get_property):
20261         * gst/gstclock.h:
20262         Implement master/slave. When setting a clock as a slave, a
20263         periodic timeout is scheduled to sample master and slave times.
20264         Then the slave clock is recalibrated to match offset and rate
20265         of the master clock.
20266         Update logging a bit.
20267         Add flag so that a clock can state that is cannot be slaved to
20268         another clock.
20269
20270         * gst/gstelement.c: (gst_element_set_clock):
20271         * gst/gstelement.h:
20272         The set clock returns a gboolean for when an element cannot
20273         deal with the selected clock in the pipeline. 
20274
20275         * gst/gstpipeline.c: (gst_pipeline_change_state),
20276         (gst_pipeline_set_clock):
20277         * gst/gstpipeline.h:
20278         Handle the case where the selected clock cannot be set on
20279         the pipeline.
20280
20281         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
20282         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
20283         (gst_net_client_clock_set_property),
20284         (gst_net_client_clock_get_property),
20285         (gst_net_client_clock_observe_times):
20286         * gst/net/gstnetclientclock.h:
20287         Use regression code in GstClock parent, remove duplicated
20288         functionality.
20289
20290 2005-11-22  Michael Smith <msmith@fluendo.com>
20291
20292         * gst/gstutils.c: (gst_util_clock_time_scale):
20293         * gst/gstutils.h:
20294         * docs/gst/gstreamer-sections.txt:
20295           Rename method to have extra underscore.
20296
20297 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20298
20299         * gst/elements/Makefile.am:
20300         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
20301         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
20302         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
20303         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
20304         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
20305         * gst/elements/gstfakesrc.h:
20306         * gst/gstqueue.c: (queue_leaky_get_type):
20307           correctly fix GEnumValues so that nick is the short lowercase
20308           dashed tag
20309         * tools/gst-inspect.c: (print_element_properties_info):
20310           also show the nick, since it's useful to use from parse_launch
20311           syntax
20312           Fixes #322139
20313
20314 2005-11-22  Michael Smith <msmith@fluendo.com>
20315
20316         * gst/gstutils.c: (gst_util_clocktime_scale):
20317         * gst/gstutils.h:
20318         * docs/gst/gstreamer-sections.txt:
20319           Add util method for scaling a clocktime by a fraction. Useful 
20320           implementation is left as an exercise for the reader.
20321
20322 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20323
20324         * gst/gstvalue.c: (gst_value_collect_fraction_range):
20325         If needed, allocate storage in the destination value during
20326         collection.
20327
20328 2005-11-22  Edward Hervey  <edward@fluendo.com>
20329
20330         * docs/gst/gstreamer-sections.txt:
20331         * gst/Makefile.am:
20332         * gst/gst.h:
20333         * gst/gsturitype.c:
20334         * gst/gsturitype.h:
20335         * gst/gstutils.c: (gst_util_set_object_arg):
20336         * tools/gst-compprep.c: (main):
20337         * tools/gst-inspect.c: (print_element_properties_info):
20338         Removed GstURI, closes bug #321061
20339
20340 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20341
20342         * check/gst/gststructure.c: (GST_START_TEST):
20343         * gst/gststructure.c: (gst_structure_parse_value):
20344           Oops, broke automatic string type parsing.
20345           Add a test to catch it in future.
20346
20347 2005-11-22  Andy Wingo  <wingo@pobox.com>
20348
20349         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
20350         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
20351         Actually rename the function implementations. Grr.
20352
20353 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20354
20355         * check/gst/capslist.h:
20356           Comment test cases
20357         * check/gst/gststructure.c: (GST_START_TEST),
20358         (gst_structure_suite):
20359           Test automatic value type detection in gst_structure_from_string.
20360         * gst/gststructure.c: (gst_structure_parse_value):
20361           Add fraction as a type we try and guess automatically in
20362           caps/structure strings.
20363
20364 2005-11-22  Andy Wingo  <wingo@pobox.com>
20365
20366         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
20367
20368         * gst/gsttagsetter.h:
20369         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
20370         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
20371         (gst_tag_setter_add_tag_valist)
20372         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
20373         _add_values, _add_valist, and _add_valist_values. Since this is an
20374         interface the function suffixes should be more explicit so
20375         language binding don't end up with element.add_valist ->
20376         gst_tag_setter_add_valist, for example. Fixes #322069.
20377
20378 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20379
20380         * check/gst/gstcaps.c: (GST_START_TEST):
20381           Extend caps string tests to check that a caps to string
20382           conversion is reversible and produces the same caps.
20383
20384         * gst/gststructure.c: (gst_structure_value_get_generic_type):
20385           Output "fraction" as the generic type fraction range, so caps
20386           serialisation and deserialisation works.
20387         * check/gst/capslist.h:
20388         * gst/gstvalue.c: (gst_value_deserialize_fraction):
20389           Support 'MIN' and 'MAX' for deserialising fractions.
20390
20391 2005-11-22  Andy Wingo  <wingo@pobox.com>
20392
20393         * gst/gstevent.h (gst_event_new_new_segment)
20394         (gst_event_parse_new_segment, gst_event_new_buffer_size)
20395         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
20396         Renamed from *_newsegment, *_buffersize, *_notarget.
20397
20398         * scripts/update-funcnames: New script, performs the changes
20399         listed above.
20400
20401 2005-11-22  Wim Taymans  <wim@fluendo.com>
20402
20403         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20404         Make sure the GstFlowReturn is returned.
20405
20406         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
20407         (gst_bus_add_signal_watch):
20408         * gst/gstbus.h:
20409         add gst_bus_add_signal_watch_full.
20410
20411         * gst/gstplugin.c: (gst_plugin_load_file):
20412         Small style cleanup.
20413
20414 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20415
20416         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
20417           Block the fakesrc srcpad when we send an event, to avoid
20418           contention on the stream_lock causing random test failures.
20419
20420 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20421
20422         * check/gst/gstvalue.c: (GST_START_TEST):
20423         * gst/gstvalue.c: (gst_value_fraction_subtract):
20424           Fix subtraction.
20425
20426 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
20427
20428         * gst/gst.h:
20429           include "gstchildproxy.h"
20430         * gst/gstchildproxy.h:
20431         * libs/gst/controller/gstcontroller.h:
20432           use G_GNUC_NULL_TERMINATED
20433
20434 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20435
20436         * check/gst/capslist.h:
20437         * check/gst/gstcaps.c: (GST_START_TEST):
20438         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20439         * gst/gststructure.c: (gst_structure_parse_range),
20440         (gst_structure_fixate_field_nearest_fraction):
20441         * gst/gststructure.h:
20442         * gst/gstvalue.c: (gst_value_init_fraction_range),
20443         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
20444         (gst_value_collect_fraction_range),
20445         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
20446         (gst_value_set_fraction_range_full),
20447         (gst_value_get_fraction_range_min),
20448         (gst_value_get_fraction_range_max),
20449         (gst_value_serialize_fraction_range),
20450         (gst_value_transform_fraction_range_string),
20451         (gst_value_compare_fraction_range),
20452         (gst_value_deserialize_fraction_range),
20453         (gst_value_intersect_fraction_fraction_range),
20454         (gst_value_intersect_fraction_range_fraction_range),
20455         (gst_value_subtract_fraction_fraction_range),
20456         (gst_value_subtract_fraction_range_fraction),
20457         (gst_value_subtract_fraction_range_fraction_range),
20458         (gst_value_collect_fraction), (gst_value_fraction_multiply),
20459         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
20460         (gst_value_transform_string_fraction), (_gst_value_initialize):
20461         * gst/gstvalue.h:
20462           Implement fraction ranges and extend GstFraction to support
20463           arithmetic subtraction, as well as deserialization from integer
20464           strings such as "100"
20465           Add a testsuite as for int and double range set operations
20466
20467 2005-11-21  Andy Wingo  <wingo@pobox.com>
20468
20469         * gst/gsttaglist.h: 
20470         * gst/gstcaps.h: 
20471         * gst/gststructure.h: Add glib-compat.h.
20472
20473 2005-11-21  Wim Taymans  <wim@fluendo.com>
20474
20475         * gst/gstbin.c: (gst_bin_change_state_func):
20476         Fix for #321595
20477
20478 2005-11-21  Wim Taymans  <wim@fluendo.com>
20479
20480         * gst/gstsegment.h:
20481         And add a nice define too.
20482
20483 2005-11-21  Wim Taymans  <wim@fluendo.com>
20484
20485         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
20486         (gst_segment_new), (gst_segment_free), (gst_segment_init),
20487         (gst_segment_set_duration), (gst_segment_set_last_stop),
20488         (gst_segment_set_seek), (gst_segment_set_newsegment),
20489         (gst_segment_to_stream_time), (gst_segment_to_running_time),
20490         (gst_segment_clip):
20491         * gst/gstsegment.h:
20492         Make binding friendly.
20493
20494 2005-11-21  Andy Wingo  <wingo@pobox.com>
20495
20496         * gst/gsttagsetter.h: 
20497         * gst/gsttaglist.h: 
20498         * gst/gststructure.h: 
20499         * gst/gstcaps.h: 
20500         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
20501         #319940.
20502
20503         * gst/gsterror.c (_gst_core_errors_init):
20504         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
20505         category.
20506
20507         * gst/Makefile.am (gst_headers): Add glib-compat.h.
20508         (noinst_HEADERS): noinst the -private.
20509
20510 2005-11-21  Michael Smith <msmith@fluendo.com>
20511
20512         * gst/gstplugin.h:
20513         * gst/gstregistry.h:
20514           Remove unimplemented declarations for which we can see no sensible
20515           use.
20516
20517 2005-11-21  Andy Wingo  <wingo@pobox.com>
20518
20519         * gst/gst.h: Include glib-compat.h.
20520
20521         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
20522
20523         * gst/glib-compat.c: Include the public and the private header.
20524
20525         * gst/glib-compat-private.h: Copied here from glib-compat.h.
20526
20527         * gst/gstvalue.c: 
20528         * gst/gstpad.c: 
20529         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
20530
20531         * check/gst/gstevent.c (create_custom_events): Check that
20532         FLUSH_STOP is serialized.
20533
20534         * check/elements/identity.c (event_func): 
20535         * check/elements/fakesrc.c (event_func): No stream lock, the core
20536         takes it.
20537
20538         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
20539         stream lock taking, yay.
20540
20541         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
20542         ensure that core takes the stream lock.
20543
20544         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
20545         lock name change.
20546
20547         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
20548         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
20549         it already. For the flush start we do take it though so we get the
20550         right preroll state change messages.
20551
20552         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
20553         the stream lock here, the core does it for us.
20554
20555         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
20556         GST_STREAM_GET_LOCK.
20557         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
20558         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
20559         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
20560         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
20561         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
20562         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
20563
20564         * gst/gstpad.c: Update for stream lock name change.
20565
20566         * gst/base/gstbasesink.c: Update for preroll lock name change.
20567
20568 2005-11-21  Wim Taymans  <wim@fluendo.com>
20569
20570         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
20571         (gst_clock_get_master):
20572         * gst/gstclock.h:
20573         * gst/gstsystemclock.c: (gst_system_clock_init):
20574         Convert Clock flags to object flags.
20575         Added methods to manage master/slave clocks.
20576
20577 2005-11-21  Wim Taymans  <wim@fluendo.com>
20578
20579         * check/gst/gstsegment.c: (GST_START_TEST):
20580         * docs/design/part-TODO.txt:
20581         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20582         (gst_base_sink_event), (gst_base_sink_do_sync),
20583         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
20584         (gst_base_sink_query), (gst_base_sink_change_state):
20585         * gst/base/gstbasesink.h:
20586         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
20587         (gst_base_src_default_newsegment),
20588         (gst_base_src_configure_segment), (gst_base_src_do_seek),
20589         (gst_base_src_get_range), (gst_base_src_loop),
20590         (gst_base_src_change_state):
20591         * gst/base/gstbasesrc.h:
20592         * gst/base/gstbasetransform.c:
20593         (gst_base_transform_prepare_output_buf),
20594         (gst_base_transform_event), (gst_base_transform_change_state):
20595         * gst/base/gstbasetransform.h:
20596         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
20597         (gst_collect_pads_event):
20598         * gst/base/gstcollectpads.h:
20599         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
20600         (gst_fake_src_create):
20601         * gst/elements/gstfakesrc.h:
20602         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
20603         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20604         (gst_segment_set_last_stop), (gst_segment_set_seek),
20605         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
20606         (gst_segment_to_running_time), (gst_segment_clip):
20607         * gst/gstsegment.h:
20608         More segment updates, replace code in plugins with segment
20609         helper functions.
20610
20611 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20612
20613         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
20614         Don't ignore sscanf results
20615
20616 2005-11-21  Andy Wingo  <wingo@pobox.com>
20617
20618         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
20619
20620         * *.h:
20621         * *.c: Ran scripts/update-macros. Oh yes.
20622
20623         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
20624         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
20625         GST_GET_LOCK, etc.
20626
20627         * scripts/update-macros: New script. Run it on your files to
20628         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
20629         well.
20630
20631 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
20632
20633         * docs/gst/Makefile.am:
20634         * docs/gst/gstreamer-docs.sgml:
20635         * docs/gst/gstreamer-sections.txt:
20636         * docs/gst/gstreamer.types:
20637         * gst/gstinfo.h:
20638           more docs fixes, add new api to the docs
20639
20640 2005-11-21  Andy Wingo  <wingo@pobox.com>
20641
20642         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
20643         state_broadcast call.
20644
20645         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
20646
20647 2005-11-21  Julien MOUTTE  <julien@moutte.net>
20648
20649         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
20650         function calls for arrays.
20651
20652 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
20653
20654         * docs/random/ensonic/media-device-daemon.txt:
20655           wild idea, can this be done?
20656         * docs/gst/gstreamer-sections.txt:
20657         * gst/gsterror.h:
20658         * gst/gstfilter.c:
20659         * gst/gstfilter.h:
20660         * gst/gstplugin.h:
20661         * gst/gstpluginfeature.c:
20662         * gst/gsttrace.c:
20663         * gst/gstvalue.c:
20664         * gst/gstvalue.h:
20665           doc fixes and additions
20666
20667 2005-11-21  Andy Wingo  <wingo@pobox.com>
20668
20669         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
20670         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
20671         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
20672         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
20673         private to the basesrc implementation.
20674
20675         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
20676         behalf of event function if necessary. It should no longer be
20677         necessary to take the stream lock in pad's event functions. Fixes
20678         #320299.
20679
20680 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20681         * docs/gst/gstreamer-sections.txt:
20682         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
20683         (gst_structure_fixate_field_nearest_double),
20684         (gst_structure_fixate_field_boolean):
20685         * gst/gststructure.h:
20686         * win32/common/libgstreamer.def:
20687         * win32/gstreamer.def:
20688
20689         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
20690         (#322027)
20691
20692 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20693
20694         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
20695         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
20696         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
20697         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
20698         (gst_fdsrc_uri_handler_init):
20699         * gst/elements/gstfdsrc.h:
20700           Port fd:// URI handler from 0.8 to fdsrc
20701
20702 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20703
20704         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
20705         (gst_value_serialize_fourcc):
20706         * gst/gstvalue.h:
20707           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
20708           consistent with our other format defines (#320324).
20709
20710 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20711
20712         * gst/gstvalue.c: (gst_value_is_fixed):
20713           Revert previous commit. Value lists are by definition
20714           not fixed, as they are a list of possible values.
20715
20716 2005-11-21  Andy Wingo  <wingo@pobox.com>
20717
20718         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
20719         during the stable series if we need it. Fixes #319178.
20720
20721         * gst/gstevent.c (gst_event_new_filler): Removed.
20722
20723         * check/gst/gstevent.c: Update comment about filler events.
20724
20725 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20726
20727         * gst/gstvalue.c: (gst_value_is_fixed):
20728           Should handle both value arrays and value lists.
20729
20730 2005-11-21  Andy Wingo  <wingo@pobox.com>
20731
20732         patch by: Alessandro Dessina <alessandro nnva org>
20733
20734         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
20735         functions to access arrays. Fixes #321962.
20736
20737 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20738
20739         * docs/gst/gstreamer.types:
20740           gst_collectpads_get_type => gst_collect_pads_get_type.
20741           
20742         * gst/base/gstbasetransform.c:
20743           Remove unused SIGNAL_HANDOFF enum.
20744
20745 2005-11-21  Andy Wingo  <wingo@pobox.com>
20746
20747         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
20748         the event type (upstream, downstream, serialized). Renamed
20749         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
20750         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
20751         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
20752
20753         * gst/gstevent.c: Update for new CUSTOM event names.
20754
20755         * check/gst/gstevent.c: Update check for new CUSTOM event names.
20756
20757         * gst/gstevent.h:
20758         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
20759         bug #319392.
20760
20761 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20762
20763         * docs/gst/gstreamer-sections.txt:
20764         * win32/common/libgstbase.def:
20765         * win32/libgstbase.def:
20766         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
20767         (gst_collect_pads_class_init), (gst_collect_pads_init),
20768         (gst_collect_pads_finalize), (gst_collect_pads_new),
20769         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
20770         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
20771         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
20772         (gst_collect_pads_start), (gst_collect_pads_stop),
20773         (gst_collect_pads_peek), (gst_collect_pads_pop),
20774         (gst_collect_pads_available), (gst_collect_pads_read),
20775         (gst_collect_pads_flush), (gst_collect_pads_event),
20776         (gst_collect_pads_chain):
20777         * gst/base/gstcollectpads.h:
20778           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
20779           unimplemented functions as unimplemented. Add padding to
20780           GstCollectData. (#320766, #320423)
20781
20782 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20783
20784         * gst/gstmessage.c:
20785           Improve docs for DURATION message (usage of duration parameter)
20786           (#320113)
20787
20788 2005-11-20  Wim Taymans  <wim@fluendo.com>
20789
20790         * check/Makefile.am:
20791         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
20792         (main):
20793         * gst/Makefile.am:
20794         * gst/gst.h:
20795         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20796         (gst_segment_set_seek), (gst_segment_set_newsegment),
20797         (gst_segment_to_stream_time), (gst_segment_to_running_time),
20798         (gst_segment_clip):
20799         * gst/gstsegment.h:
20800         Added segment helper structure and methods. Not fully implemented
20801         yet.
20802         Added segment check.
20803
20804 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
20805
20806         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20807           Add a deserialisation test for fractions
20808         * examples/metadata/read-metadata.c: (message_loop),
20809         (make_pipeline), (main):
20810           Fix up metadata reading sample.
20811         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
20812           Debug format fix
20813         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
20814           Don't try and fixate empty caps
20815         * gst/gst_private.h:
20816           Wrap in G_BEGIN_DECLS/G_END_DECLS
20817         * gst/gstvalue.c: (gst_value_collect_fraction),
20818         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
20819         (gst_value_transform_string_fraction),
20820         (gst_value_compare_fraction):
20821           Add some extra guards to ensure that we don't end up 
20822           with an invalid denominator of 0 in a gstfraction and
20823           that fractions always get reduced.
20824
20825 2005-11-20  Wim Taymans  <wim@fluendo.com>
20826
20827         * docs/gst/gstreamer-sections.txt:
20828         * gst/gstbuffer.h:
20829         * gst/gstelement.c:
20830         * gst/gstformat.c:
20831         * gst/gstformat.h:
20832         * gst/gstindex.h:
20833         * gst/gstquery.c:
20834         * gst/gstquery.h:
20835         * gst/gstvalue.c:
20836         Doc fixes.
20837
20838 2005-11-20  Wim Taymans  <wim@fluendo.com>
20839
20840         * docs/design/part-TODO.txt:
20841         * gst/gstcaps.h:
20842         Make a proper enum of the flag.
20843
20844 2005-11-19  Wim Taymans  <wim@fluendo.com>
20845
20846         * docs/design/part-TODO.txt:
20847         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
20848         (gst_format_to_quark), (gst_format_register):
20849         * gst/gstformat.h:
20850         * gst/gstquery.c: (_gst_query_initialize),
20851         (gst_query_type_get_name), (gst_query_type_to_quark),
20852         (gst_query_type_register):
20853         * gst/gstquery.h:
20854         Add type to quark and type to string conversions.
20855
20856 2005-11-19  Andy Wingo  <wingo@pobox.com>
20857
20858         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
20859         #320097.
20860
20861 2005-11-19  Wim Taymans  <wim@fluendo.com>
20862
20863         * docs/design/part-TODO.txt:
20864         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
20865         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
20866         (gst_bin_handle_message_func):
20867         * gst/gstbin.h:
20868         Make message handling overridable.
20869
20870 2005-11-19  Andy Wingo  <wingo@pobox.com>
20871
20872         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
20873
20874         * gst/gstclock.h:
20875         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
20876         be a GstClockTime.
20877         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
20878         is a GstClockTime. Fixes #321710.
20879
20880         * gst/gstclock.h (GstClock): Remove offset property. Add
20881         internal_calibration and external_calibration. Fix padding. Pad
20882         also by GstClockTime so we don't run into problems.
20883
20884         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
20885         (gst_clock_get_rate_offset): Remove.
20886         (gst_clock_set_time_adjust): Remove. Fixes #321712.
20887
20888         * gst/gstutils.h:
20889         * gst/gstutils.c (g_static_rec_cond_wait)
20890         (g_static_rec_cond_timed_wait): Removed, no longer needed.
20891
20892         * gst/gstbin.c: Remove terrible continue_state prototype.
20893
20894         * gst/gstelement.h (gst_element_continue_state): Make public.
20895
20896         * gst/gstelement.h:
20897         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
20898         by continue_state. Fixes #319389.
20899
20900         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
20901         Really fixes #168438. However I don't see anywhere where the
20902         filter function is called... stupid GStreamer...
20903         
20904         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
20905         don't have a dispose function, so it won't get called when the
20906         object is unreffed, but oh well!
20907
20908         * gst/gstindex.c (gst_index_set_filter_full): New API function,
20909         allows a destroy function to be set so user_data can be freed.
20910         Fixes #168438.
20911         (gst_index_set_filter): Call gst_index_set_filter_full.
20912
20913         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
20914
20915         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
20916         string should produce an error, given the lack of a way to
20917         represent NULL strings. Fixes #165650.
20918         
20919         * gst/gstvalue.h: 
20920         * gst/gstvalue.c (gst_value_array_append_value) 
20921         (gst_value_array_prepend_value, gst_value_array_get_size) 
20922         (gst_value_array_get_value): New API, copied from
20923         gst_value_list_*, only operates on arrays.
20924         (gst_value_list_append_value, gst_value_list_prepend_value) 
20925         (gst_value_list_concat, gst_value_list_get_size) 
20926         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
20927
20928         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
20929         init_list, because it works on both.
20930         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
20931         (gst_value_copy_list_or_array): Renamed from copy_list.
20932         (gst_value_free_list_or_array): Renamed from free_list.
20933         (gst_value_collect_list_or_array): Renamed from collect_list.
20934         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
20935         (gst_value_list_or_array_peek_pointer): Renamed from
20936         list_peek_pointer.
20937         (_gst_value_array_value_table, _gst_value_list_value_table):
20938         Update value table functions.
20939         (gst_value_compare_list_or_array): Renamed from compare_list.
20940
20941         * gsttaglist.h: Whoops, foreach function returns void. Also fix
20942         some constness.
20943
20944         * gst/gsttaglist.c:
20945         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
20946         GstTagList*. Fixes #143472.
20947
20948         * gst/gststructure.h: Clarify what the foreach/map functions can
20949         or can't do to their arguments.
20950
20951 2005-11-18  Wim Taymans  <wim@fluendo.com>
20952
20953         * gst/gstclock.c: (gst_clock_set_calibration),
20954         (gst_clock_get_calibration):
20955         Doc and API fixes.
20956         Calibration can be set with internal time equal to current
20957         internal time too.
20958
20959 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
20960
20961         * gst/gsterror.c:
20962         * gst/gsterror.h:
20963           document
20964
20965 2005-11-18  Andy Wingo  <wingo@pobox.com>
20966
20967         * configure.ac: 
20968         * pkgconfig/gstreamer-net.pc.in:
20969         * pkgconfig/gstreamer-net-uninstalled.pc.in:
20970         * pkgconfig/Makefile.am: Add net pkgconfig files.
20971
20972 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
20973
20974         * gst/gstcaps.c:
20975         * gst/gstghostpad.c:
20976         * gst/gsttrace.c:
20977         * gst/gstvalue.c:
20978         * gst/gstvalue.h:
20979           docs fixes
20980
20981 2005-11-18  Andy Wingo  <wingo@pobox.com>
20982
20983         * gst/net/gstnetclientclock.c: Turn off debugging.
20984
20985         * check/net/gstnetclientclock.c (test_functioning): Assert that the
20986         times connverge somewhat. Can't make a real test.
20987
20988         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
20989         integer arithmetic. Return the minimum of the domain, which can be
20990         set as "internal" for gst_clock_set_calibration.
20991         (gst_net_client_clock_observe_times): Call _set_calibration.
20992         (gst_net_client_clock_new): Call _set_calibration instead of
20993         rate_offset.
20994
20995         * check/net/gstnetclientclock.c (test_functioning): Use the right
20996         adjustment api.
20997
20998         * gst/gstclock.h:
20999         * gst/gstclock.c (gst_clock_get_calibration) 
21000         (gst_clock_set_calibration): New functions, obsolete the ones I
21001         added yesterday. Doh. Precision issues mean we have to extrapolate
21002         from a point in the more recent past than 1970.
21003         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
21004         obsolete.
21005         (gst_clock_adjust_unlocked): Use the right calibration data.
21006
21007 2005-11-18  Edward Hervey  <edward@fluendo.com>
21008
21009         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
21010         Also reset the ->current_* values in READY->PAUSED
21011
21012 2005-11-18  Andy Wingo  <wingo@pobox.com>
21013
21014         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
21015         Whoops, check the right fd. Also add some debugging.
21016         (gst_net_client_clock_observe_times): Adjust for int64 offset.
21017         (do_linear_regression): Add a crapload of debugging. Subtract off
21018         the minimum values from the input series to discard unneeded bits.
21019         Use only int arithmetic. There is still double arithmetic when
21020         calculating the intercept that needs fixing. Return boolean to
21021         indicate success; FALSE would mean the domain or range is too
21022         great. Still needs fixes.
21023
21024 2005-11-18  Wim Taymans  <wim@fluendo.com>
21025
21026         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
21027         For the current position in stream time, we need to subtract
21028         accumulated time.
21029         
21030         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
21031         Release lock before calling the callback function of async
21032         entries.
21033
21034 2005-11-18  Andy Wingo  <wingo@pobox.com>
21035
21036         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
21037         Port goes all the way to MAXUINT16.
21038
21039         * gst/net/gstnettimeprovider.c: Make the port range the same as
21040         for the kernel: 0 assigns, otherwise ports are less than
21041         MAXUINT16.
21042
21043         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
21044         port change.
21045
21046         * check/net/gstnetclientclock.c (test_functioning): Add the start
21047         of another test. 
21048
21049 2005-11-18  Wim Taymans  <wim@fluendo.com>
21050
21051         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
21052         (gst_bin_remove_func), (bin_bus_handler):
21053         * gst/gstbin.h:
21054         Removing a clock provider from a bin, triggers a clock lost message
21055         so that a new clock will be selected.
21056         Adding a clock to a bin triggers a clock provider message.
21057         Make sure we reselect a clock when we received a clock lost message.
21058         Keep a reference to the element that provided the clock.
21059
21060 2005-11-18  Andy Wingo  <wingo@pobox.com>
21061
21062         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
21063         the clock initially so it produces values around the base time.
21064         (gst_net_client_clock_class_init): Typo fix.
21065         (gst_net_client_clock_thread): Add note on when the socket gets
21066         closed.
21067
21068 2005-11-17  Wim Taymans  <wim@fluendo.com>
21069
21070         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
21071         Free remote and local time arrays.
21072
21073 2005-11-17  Wim Taymans  <wim@fluendo.com>
21074
21075         * gst/net/gstnetclientclock.c: (do_linear_regression),
21076         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
21077         Fix compilation, uninitialized vars and a forgotten continue.
21078
21079 2005-11-17  Andy Wingo  <wingo@pobox.com>
21080
21081         * check/Makefile.am (check_PROGRAMS): 
21082         * check/net/gstnetclientclock.c: Add a most minimal test for the
21083         net client clock. More to come later.
21084
21085         * gst/net/gstnet.h: 
21086         * gst/net/Makefile.am: Add netclientclock.
21087
21088         * gst/net/gstnetclientclock.h:
21089         * gst/net/gstnetclientclock.c: New files, implement an untested
21090         GstClock that takes its time from a network time provider.
21091         Implements the algorithm in network-clock.scm.
21092
21093         * tests/network-clock.scm (*window-size*): Rename from
21094         *queue-length*.
21095         * tests/network-clock.scm (network-time): 
21096         * tests/network-clock-utils.scm (q-push): Update callers.
21097
21098 2005-11-17  Wim Taymans  <wim@fluendo.com>
21099
21100         * gst/gstbin.c: (gst_bin_provide_clock_func),
21101         (gst_bin_sort_iterator_new):
21102         And unref the child too..
21103
21104 2005-11-17  Wim Taymans  <wim@fluendo.com>
21105
21106         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
21107         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
21108         Refactor the sort iterator so it can be used while holding the
21109         LOCK too.
21110         Make clock selection select a clock closest to the source.
21111
21112 2005-11-17  Michael Smith <msmith@fluendo.com>
21113
21114         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
21115         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
21116         * gst/gstclock.h:
21117           Anonymous structs are a gcc (and some other compilers) extension, so
21118           don't use them. Since this is only for ABI-compatibility, and our
21119           API/ABI freeze is over in a few days, this whole thing will only
21120           last a few days, so don't bother trying to think up a meaningful
21121           name for the struct.
21122
21123 2005-11-17  Andy Wingo  <wingo@pobox.com>
21124
21125         * gst/gstclock.h (GstClock): Add rate and offset properties,
21126         preserving ABI stability. Add rate/offset accessors. Will file bug
21127         for the freeze break.
21128
21129         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
21130         and offset, trying to keep precision and avoiding
21131         underflow/overflow.
21132         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
21133         functions. Make gst_clock_set_time_adjust obsolete.
21134         (gst_clock_set_time_adjust): Note that this function is obsolete.
21135         Will file bug soon.
21136
21137         * gst/base/gstbasetransform.h: Make the ABI-stability hack
21138         greppable by using GST_PADDING-1+1.
21139
21140 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
21141
21142         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
21143
21144         * gst/gstmessage.c: (gst_message_parse_clock_lost):
21145           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
21146
21147         * gst/gstpadtemplate.h:
21148         * gst/gstpluginfeature.h:
21149           Don't use c++ style comments in headers (#321638).
21150
21151 2005-11-16  Andy Wingo  <wingo@pobox.com>
21152
21153         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
21154         buffer.
21155
21156         * check/net/gstnettimeprovider.c: Check to see that the time
21157         provider actually provides times. Works, yo!
21158
21159 2005-11-16  Wim Taymans  <wim@fluendo.com>
21160
21161         * check/Makefile.am:
21162         Enable more tests.
21163
21164         * check/elements/fakesrc.c: (GST_START_TEST):
21165         Set element to NULL before disposing it.
21166
21167 2005-11-16  Andy Wingo  <wingo@pobox.com>
21168
21169         * gst/net/Makefile.am:
21170         * gst/net/gstnet.h:
21171         * gst/net/gstnettimeprovider.c: 
21172         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
21173         provider, include it from gstnet.h, and add it to the build.
21174
21175         * gst/net/gstnettimepacket.h: 
21176         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
21177         sending and receiving.
21178
21179 2005-11-16  Wim Taymans  <wim@fluendo.com>
21180
21181         * check/Makefile.am:
21182         Enable valgrind check.
21183
21184         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
21185         (gst_fake_src_alloc_buffer):
21186         Fix memleak.
21187
21188 2005-11-16  Wim Taymans  <wim@fluendo.com>
21189
21190         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
21191         Call parent finalize too.
21192
21193 2005-11-16  Wim Taymans  <wim@fluendo.com>
21194
21195         * check/Makefile.am:
21196         Enable valgrind check that should work fine now.
21197
21198         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21199         * gst/gstqueue.c: (gst_queue_init):
21200         Fix memleaks in pad allocation.
21201
21202 2005-11-16  Andy Wingo  <wingo@pobox.com>
21203
21204         * gst/net/Makefile.am:
21205         * gst/net/gstnet.h: New part of core to hold network elements and
21206         objects. Put in core because it exposes API that applications want
21207         to use. The library is named libgstnet-tempname right now because
21208         of the existing libgstnet in gst-plugins-base. Solution is
21209         probably to rename the one in plugins-base; will file a bug for
21210         the freeze break.
21211
21212         * gst/net/gstnettimeprovider.c: 
21213         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
21214         get_time call over the network.
21215
21216         * configure.ac: 
21217         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
21218
21219         * check/Makefile.am:
21220         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
21221         get additions shortly.
21222
21223 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21224
21225         * gst/gstpad.c: (gst_pad_new_from_static_template):
21226         * gst/gstpad.h:
21227           add gst_pad_new_from_static_template functions
21228         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
21229         (gst_check_setup_sink_pad):
21230         * gst/elements/gsttee.c: (gst_tee_init):
21231           and use them
21232
21233 2005-11-16  Wim Taymans  <wim@fluendo.com>
21234
21235         * gst/gstpad.c: (gst_pad_pause_task):
21236         Removed warning, it's not really an error either.
21237
21238 2005-11-16  Wim Taymans  <wim@fluendo.com>
21239
21240         * gst/base/gstbasetransform.c:
21241         (gst_base_transform_prepare_output_buf),
21242         (gst_base_transform_event):
21243         Check if the caps are NULL, this can happen if the element
21244         is shutting down and the pad caps are set to NULL.
21245
21246 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21247
21248         * gst/elements/gsttee.c: (gst_tee_init):
21249           fix pad template leak in tee
21250
21251 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21252
21253         * gst/glib-compat.c: (g_value_dup_gst_object):
21254         * gst/glib-compat.h:
21255         * gst/gstpad.c: (gst_pad_set_property):
21256           use gst_object_ref when setting the pad template; this will
21257           trigger the pad template leaks on GLib 2.6 and the slaves
21258
21259 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21260
21261         * gst/glib-compat.c: (gst_flags_get_first_value):
21262         * gst/glib-compat.h:
21263         * gst/gstregistryxml.c:
21264           remove functions copied from GLib 2.6
21265
21266 2005-11-16  Michael Smith <msmith@fluendo.com>
21267
21268         * gst/Makefile.am:
21269           Don't link against VALGRIND_LIBS. That was always the wrong thing to
21270           do, but only breaks with newer valgrind versions. We're not a
21271           valgrind tool, we have no link-time dependencies on libcoregrind.
21272
21273 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21274
21275         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
21276           some debug changes
21277         * gst/gstmessage.h:
21278           typo fixes
21279
21280 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21281
21282         * gst/base/gstbasesrc.c: (gst_base_src_init):
21283         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21284         * gst/gstqueue.c: (gst_queue_init):
21285         * gst/gstregistryxml.c: (load_feature):
21286           Revert all these unrefs, they don't even pass make check !
21287
21288 2005-11-15  Johan Dahlin  <johan@gnome.org>
21289
21290         * gst/base/gstbasesrc.c: (gst_base_src_init):
21291         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21292         * gst/gstqueue.c: (gst_queue_init): 
21293         Free pad templates, fixes a couple of leaks.
21294
21295 2005-11-15  Daniel Fischer  <dan at f3c dot com>
21296
21297         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
21298
21299         * gst/gstpad.c: (gst_pad_get_property):
21300           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
21301           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
21302           (#321452)
21303
21304 2005-11-15  Wim Taymans  <wim@fluendo.com>
21305
21306         * gst/gstevent.c:
21307         Small doc update.
21308
21309 2005-11-15  Andy Wingo  <wingo@pobox.com>
21310
21311         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
21312
21313         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
21314         using GST_CLOCK_TIME_NONE to disable base time management.
21315         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
21316         time if it was NONE before.
21317         (gst_pipeline_change_state): Only munge the base time if
21318         stream_time != GST_CLOCK_TIME_NONE.
21319
21320         * check/gst/gstpipeline.c (test_base_time): Punt around the
21321         problem of the probe not being called, because that's not the
21322         issue I'm looking at. Add a check that setting stream_time to NONE
21323         disables base time management.
21324         
21325 2005-11-15  Wim Taymans  <wim@fluendo.com>
21326
21327         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
21328         segment_stop == -1 at startup.
21329
21330         * gst/base/gstbasetransform.c: (gst_base_transform_event),
21331         (gst_base_transform_change_state):
21332         Init segment values at start.
21333
21334 2005-11-15  Wim Taymans  <wim@fluendo.com>
21335
21336         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21337         0 segment values are 0 in any format.
21338
21339         * gst/base/gstbasetransform.c: (gst_base_transform_event):
21340         * gst/base/gstbasetransform.h:
21341         Parse newsegment correctly in basetransform
21342
21343         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
21344         Sync to clock using updated segment values.
21345
21346 2005-11-15  Andy Wingo  <wingo@pobox.com>
21347
21348         * check/gst/gstpipeline.c (test_base_time): Add check that the
21349         base time and stream time are reset correctly.
21350
21351 2005-11-15  Wim Taymans  <wim@fluendo.com>
21352
21353         * docs/design/part-TODO.txt:
21354         Some more TODO items.
21355
21356 2005-11-15  Andy Wingo  <wingo@pobox.com>
21357
21358         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
21359         error if the user selected "no clock" as the clocking method.
21360
21361         * check/gst/gstpipeline.c (test_base_time): New test for buffer
21362         timestamps with live capture.
21363
21364         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
21365         is 0 but we are a live source, timestamp the buffers using the
21366         element's clock.
21367
21368 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
21369
21370         * docs/gst/gstreamer-sections.txt:
21371         * gst/gsterror.c:
21372         * gst/gstghostpad.c:
21373         * gst/gstobject.h:
21374         * gst/gstxml.c:
21375           more section docs
21376
21377 2005-11-14  Wim Taymans  <wim@fluendo.com>
21378
21379         * common/gst.supp:
21380           add suppressions from Wim's Debian machine
21381
21382 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
21383
21384         * common/gst.supp:
21385           add suppressions from Andy's AMD64 Ubuntu machine
21386
21387 2005-11-14  Andy Wingo  <wingo@pobox.com>
21388
21389         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
21390         STATE_LOCK not necessary. Fixes #311489.
21391
21392         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
21393         #305291.
21394
21395         * gst/gstindex.c (gst_index_add_object): Note in the docs that
21396         this function is not implemented.
21397
21398 2005-11-14  Julien MOUTTE  <julien@moutte.net>
21399
21400         * gst/base/gstbasetransform.c:
21401         (gst_base_transform_prepare_output_buf):
21402         Ref the source pad caps while we need them.
21403         Fixes (#321386)
21404
21405 2005-11-11  Wim Taymans  <wim@fluendo.com>
21406
21407         * docs/gst/gstreamer-sections.txt:
21408         Added some docs for GstCollectData.
21409
21410         * gst/base/gstadapter.c:
21411         Some small code example fix.
21412
21413         * gst/base/gstcollectpads.c:
21414         * gst/base/gstcollectpads.h:
21415         Document some more.
21416
21417 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21418
21419         * configure.ac: back to HEAD
21420
21421 === release 0.9.5 ===
21422
21423 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
21424
21425         * configure.ac:
21426           releasing 0.9.5, "Bike Lunch Day"
21427
21428 2005-11-11  Wim Taymans  <wim@fluendo.com>
21429
21430         * gst/gstbuffer.c: (_gst_buffer_copy):
21431         Copy more flags.
21432
21433         * gst/gstcaps.c: (gst_caps_is_equal):
21434         Fix some docs.
21435         Make _is_equal fast in the trivial cases.
21436
21437         * gst/gstminiobject.c:
21438         * gst/gstminiobject.h:
21439         More docs. Spifify .h file.
21440
21441         * gst/gstutils.c:
21442         Small doc update.
21443
21444 2005-11-11  Wim Taymans  <wim@fluendo.com>
21445
21446         * gst/base/gstbasetransform.c:
21447         (gst_base_transform_prepare_output_buf),
21448         (gst_base_transform_handle_buffer):
21449         Small cleanups.
21450         If we're processing a buffer and need to allocate an output
21451         buffer, we cannot accept a format change. If we did get a 
21452         format change, we have to alloc a buffer ourselves of the 
21453         right size.
21454
21455 2005-11-11  Wim Taymans  <wim@fluendo.com>
21456
21457         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
21458         While checking the flag for reentrancy in the gstcaps function
21459         is nice to detect recursive invocations, it also makes it 
21460         impossible to call getcaps from multiple threads, which must be
21461         possible. So, checking for recursive calls has to go.
21462
21463 2005-11-11  Michael Smith <msmith@fluendo.com>
21464
21465         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21466           Don't sync on buffers that fall partially outside our current
21467           segment. Prevents an assertion failure/abort playing some files.
21468
21469 2005-11-10  Andy Wingo  <wingo@pobox.com>
21470
21471         * check/gst/gstbin.c (test_message_state_changed_children): Style
21472         fix..
21473
21474         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
21475         gst_bus_poll with the signal watch. Ensures that poll and a signal
21476         watch see the same messages.
21477
21478         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
21479         a poll and a watch at the same time get the same messages.
21480
21481 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21482
21483         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
21484         * gst/gstcaps.c: (gst_caps_intersect):
21485           Don't call gst_caps_do_simplify - it doesn't respect order of caps
21486           and it's not needed.
21487
21488 2005-11-10  Wim Taymans  <wim@fluendo.com>
21489
21490         * docs/design/part-TODO.txt:
21491         Updated todo.
21492
21493 2005-11-10  Wim Taymans  <wim@fluendo.com>
21494
21495         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21496         * gst/base/gstbasesrc.c: (gst_base_src_wait),
21497         (gst_base_src_do_sync), (gst_base_src_get_range):
21498         Implement clock sync in base class.
21499
21500 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21501
21502         patch by: Tim-Philipp Müller <tim at centricular dot net>
21503
21504         * gst/gststructure.c: (gst_structure_parse_field),
21505         (gst_structure_from_string):
21506           Forward-port a 0.8 patch to handle escaped spaces in structure string,
21507           so that gst_parse_launch() can deal with spaces in filtered link
21508           caps (fixes #164479)
21509         * check/gst/capslist.h:
21510         * check/gst/gststructure.c: (GST_START_TEST):
21511           add unit tests for this change
21512
21513 2005-11-10  Wim Taymans  <wim@fluendo.com>
21514
21515         * docs/gst/gstreamer-sections.txt:
21516         * gst/gstelement.c:
21517         * gst/gstelement.h:
21518         Fix docs, move some STATE macros to private.
21519
21520 2005-11-10  Wim Taymans  <wim@fluendo.com>
21521
21522         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
21523         Added check for bug #317341
21524
21525         * gst/gstbuffer.c:
21526         * gst/gstbuffer.h:
21527         Some more spiffifying.
21528
21529         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
21530         Call peer linkfunction if we are a source pad. Totally fixes
21531         #317341
21532
21533         * gst/gstpad.c:
21534         Update docs, source pads should call the peer linkfunction
21535         so they can atomically perform the pad link.
21536
21537 2005-11-09  Wim Taymans  <wim@fluendo.com>
21538
21539         * gst/gstbuffer.c:
21540         * gst/gstbuffer.h:
21541         Uber-spiffy-spiffify some more.
21542
21543 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
21544
21545         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
21546         * gst/elements/gstfilesink.c: (gst_file_sink_init):
21547         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21548         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
21549         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
21550         * gst/gstpad.c: (gst_pad_init):
21551           Use GST_DEBUG_FUNCPTR() more extensively.
21552
21553 2005-11-09  Wim Taymans  <wim@fluendo.com>
21554
21555         * gst/gstobject.c: (gst_object_class_init):
21556         * gst/gstobject.h:
21557         Documentation fixes.
21558
21559 2005-11-09  Edward Hervey  <edward@fluendo.com>
21560
21561         * gst/gsttypefindfactory.c:
21562         Fix docs.
21563         
21564 2005-11-09  Edward Hervey  <edward@fluendo.com>
21565
21566         * gst/base/gsttypefindhelper.c:
21567         * gst/gsttypefind.c:
21568         * gst/gsttypefind.h:
21569         Fix docs.
21570
21571 2005-11-09  Wim Taymans  <wim@fluendo.com>
21572
21573         * gst/gstiterator.c:
21574         Fix revision data.
21575
21576         * gst/gsttask.c:
21577         * gst/gsttask.h:
21578         Fix docs.
21579
21580 2005-11-09  Wim Taymans  <wim@fluendo.com>
21581
21582         * gst/gstevent.h:
21583         * gst/gsturi.h:
21584         Fix docs.
21585
21586 2005-11-09  Wim Taymans  <wim@fluendo.com>
21587
21588         * docs/gst/gstreamer-sections.txt:
21589         Moved the message async delivery private lock and cond
21590         to the private section.
21591
21592         * gst/gstmessage.c:
21593         * gst/gstmessage.h:
21594         Fixed docs.
21595
21596 2005-11-09  Edward Hervey  <edward@fluendo.com>
21597
21598         * docs/gst/gstreamer-sections.txt:
21599         * gst/gsturi.c:
21600         * gst/gsturi.h:
21601         Document GstURIHandler
21602
21603 2005-11-09  Wim Taymans  <wim@fluendo.com>
21604
21605         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
21606         (gst_iterator_find_custom):
21607         * gst/gstiterator.h:
21608         Fix iterator docs.
21609
21610 2005-11-09  Wim Taymans  <wim@fluendo.com>
21611
21612         * gst/gstbin.h:
21613         Document another field.
21614
21615         * gst/gststructure.c:
21616         * gst/gststructure.h:
21617         Document.
21618
21619 2005-11-09  Wim Taymans  <wim@fluendo.com>
21620
21621         * gst/gstbin.h:
21622         Documented structs.
21623
21624 2005-11-09  Wim Taymans  <wim@fluendo.com>
21625
21626         * docs/gst/gstreamer-sections.txt:
21627         Added some new macros.
21628
21629         * gst/gstclock.c:
21630         * gst/gstclock.h:
21631         * gst/gstobject.h:
21632         Docs updates.
21633
21634 2005-11-09  Wim Taymans  <wim@fluendo.com>
21635
21636         * docs/design/part-TODO.txt:
21637         Some more items for the TODO
21638
21639         * gst/gstcaps.c:
21640         * gst/gstcaps.h:
21641         Document GstCaps.
21642
21643 2005-11-09  Andy Wingo  <wingo@pobox.com>
21644
21645         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
21646         to work on something else now tho...
21647
21648         * gst/base/gstadapter.c: More adapter docs.
21649
21650         * gst/elements/gstfilesink.c (gst_file_sink_start) 
21651         (gst_file_sink_stop): New functions, replace the state change
21652         handler.
21653         (gst_file_sink_class_init): Hook up the start and stop functions.
21654         (gst_file_sink_base_init): Don't set the state change handler any
21655         more. It was a bit ugly too, being set from here...
21656         (gst_file_sink_get_property, gst_file_sink_set_property):
21657         Cleanups...
21658         (gst_file_sink_set_location): More robust check that doesn't call
21659         GST_STATE. Ugggggg.
21660
21661 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
21662
21663         * gst/base/gstbasetransform.c: (gst_base_transform_event):
21664           Hold STREAM_LOCK while pushing newsegment or tag events as well.
21665
21666 2005-11-08  Wim Taymans  <wim@fluendo.com>
21667
21668         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
21669         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
21670         (gst_base_sink_chain), (gst_base_sink_change_state):
21671         * gst/base/gstbasesink.h:
21672         * gst/base/gstbasesrc.h:
21673         * gst/gstelement.h:
21674         * gst/gstevent.h:
21675         Avoid excessive typechecking in macros.
21676
21677         * gst/gstminiobject.c: (gst_mini_object_get_type),
21678         (gst_mini_object_init), (gst_mini_object_new),
21679         (gst_mini_object_free):
21680         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
21681         (gst_object_finalize):
21682         Remove cruft code, optimize alloc_trace.
21683
21684 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
21685
21686         * docs/faq/gst-uninstalled:
21687           fix up PS1 for systems that try to reset it
21688
21689 2005-11-07  Wim Taymans  <wim@fluendo.com>
21690
21691         * gst/base/gstbasesrc.c: (gst_base_src_init),
21692         (gst_base_src_get_range):
21693         Set the segment_end to -1 initially. Fixed typefind.
21694
21695 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
21696
21697         * gst/base/gstadapter.c:
21698           Debug category should be 'adapter', not 'GstAdapter'.
21699           
21700         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
21701         (gst_collectpads_class_init), (gst_collectpads_init),
21702         (gst_collectpads_peek), (gst_collectpads_pop),
21703         (gst_collectpads_event), (gst_collectpads_chain):
21704           Add debug category and some debugging output. Use boilerplate
21705           macros. Remove some extraneous words from docs.
21706
21707 2005-11-05  Andy Wingo  <wingo@pobox.com>
21708
21709         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
21710         macro.
21711
21712 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
21713
21714         * docs/gst/gstreamer-sections.txt:
21715         * gst/gstcaps.h:
21716         * gst/gstinfo.c:
21717         * gst/gstminiobject.h:
21718         * gst/gstobject.h:
21719         * gst/gstutils.h:
21720           more docs added
21721
21722 2005-11-04  Wim Taymans  <wim@fluendo.com>
21723
21724         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21725         Small update to stop at the configured segment_end
21726         position.
21727
21728 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
21729
21730         * gst/gstregistry.c:
21731         * gst/gstregistry.h:
21732           added missing docs
21733
21734 2005-11-04  Edward Hervey  <edward@fluendo.com>
21735
21736         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21737         Check if we are doing a segment seek and have arrived at the
21738         end of that segment.
21739
21740 2005-11-04  Wim Taymans  <wim@fluendo.com>
21741
21742         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
21743         Don't leak a mutex unlock in case of an error.
21744
21745         * gst/gstbus.h:
21746         Doc fixes.
21747
21748 2005-11-04  Wim Taymans  <wim@fluendo.com>
21749
21750         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
21751         (gst_bus_post):
21752         Get the context to wake up only once.
21753
21754 2005-11-03  Wim Taymans  <wim@fluendo.com>
21755
21756         * check/states/sinks.c: (GST_START_TEST):
21757         Uncomment fixed check.
21758
21759         * docs/design/part-TODO.txt:
21760         Updated TODO.
21761
21762         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21763         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
21764         (gst_base_sink_get_position):
21765         If we are going to PLAYING, post the right pending state
21766         when we post the intermediate paused message.
21767
21768         * gst/gstelement.c: (gst_element_continue_state),
21769         (gst_element_set_state_func), (gst_element_change_state):
21770         Don't post state changes that were between the same state
21771         and were not ASYNC.
21772
21773 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
21774
21775         * docs/gst/gstreamer-sections.txt:
21776         * gst/gstcaps.h:
21777         * gst/gstinfo.c:
21778         * gst/gstminiobject.h:
21779         * gst/gstobject.h:
21780         * gst/gstutils.h:
21781           more docs and doc style fixes
21782
21783 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
21784
21785         * docs/gst/gstreamer-sections.txt:
21786         * gst/gstelement.c:
21787         * gst/gstminiobject.c:
21788         doc fixes
21789
21790 2005-11-03  Andy Wingo  <wingo@pobox.com>
21791
21792         * check/states/sinks.c (test_livesrc_sink): Add checks that the
21793         state-changed messages actually have the right order and the right
21794         values.
21795
21796 2005-11-03  Wim Taymans  <wim@fluendo.com>
21797
21798         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
21799         Added some more checks. Specifically the case where NO_PREROLL
21800         elements are in the pipeline.
21801
21802         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21803         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
21804         (gst_base_sink_get_position):
21805         Post READY->PAUSED state change messages too.
21806         Fix bug where VOID was posted as pending state...
21807
21808         * gst/gstbin.c: (gst_bin_recalc_state):
21809         use _element_continue_state() to continue the state change.
21810
21811         * gst/gstelement.c: (gst_element_continue_state),
21812         (gst_element_commit_state), (gst_element_set_state_func),
21813         (gst_element_change_state), (gst_element_change_state_func):
21814         Lots of state change cleanups, assign the STATE_RETURN in
21815         a new continue_state() function that also propagates the
21816         last return value from a state change to the app.
21817         Update some debug statements with proper category.
21818
21819 2005-11-03  Wim Taymans  <wim@fluendo.com>
21820
21821         * docs/design/part-events.txt:
21822         * docs/design/part-gstpipeline.txt:
21823         * docs/design/part-messages.txt:
21824         * docs/design/part-overview.txt:
21825         * docs/design/part-seeking.txt:
21826         * docs/design/part-states.txt:
21827         * docs/design/part-trickmodes.txt:
21828         * docs/manual/advanced-position.xml:
21829         Small docs updates.
21830
21831         * gst/gstobject.h:
21832         People think !! is ugly, this looks better.
21833
21834         * gst/gstpad.c: (gst_pad_set_blocked_async):
21835         Remove !! since it's fixed elsewhere now.
21836
21837 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
21838
21839         * gst/gstminiobject.h:
21840         * gst/gstobject.h:
21841           Add !! to _FLAG_IS_SET macros to make the result boolean.
21842
21843 2005-11-03  Edward Hervey  <edward@fluendo.com>
21844
21845         * gst/gstpad.c: (gst_pad_set_blocked_async):
21846         comparing a flag and a gboolean rarely returns coherent results...
21847         Added two characters (!!) to make that work correctly.
21848         
21849 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
21850
21851         * gst/gstbus.c: (gst_bus_class_init):
21852           Fix some typos.
21853           
21854         * gst/gstqueue.c: (gst_queue_loop):
21855           Don't assume a miniobject that isn't a buffer is an
21856           event (it could be that there is a refcounting
21857           problem somewhere and the pointer is stale and
21858           refers to an already destroyed miniobject).
21859
21860 2005-11-03  Julien MOUTTE  <julien@moutte.net>
21861
21862         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
21863
21864 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
21865
21866         * docs/manual/advanced-position.xml:
21867           Update seek example and explanations to current 0.9 API.
21868
21869         * gst/elements/gsttypefindelement.c:
21870         (gst_type_find_element_activate):
21871           Remove FIXME comment now that the found caps
21872           are unreffed.
21873
21874 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
21875
21876         * gst/gstregistryxml.c: (load_feature):
21877           Add another GST_STR_NULL instance
21878
21879 2005-11-02  Edward Hervey  <edward@fluendo.com>
21880
21881         * gst/gstpad.c: (handle_pad_block):
21882         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
21883         
21884 2005-11-02  Wim Taymans  <wim@fluendo.com>
21885
21886         * gst/gstbin.c:
21887         Fix typo in docs.
21888
21889         * gst/gstelement.c: (gst_element_commit_state):
21890         Remove unused value.
21891
21892         * gst/gstiterator.c:
21893         Mention that the returned element is reffed in the docs.
21894
21895 2005-11-02  Wim Taymans  <wim@fluendo.com>
21896
21897         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
21898         (gst_pad_push), (gst_pad_push_event):
21899         Unlock blocked pads when they are flushed.
21900
21901 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21902
21903         * docs/README:
21904         * docs/gst/gstreamer-sections.txt:
21905         * gst/gstbin.c:
21906           doc updates
21907         * gst/gstregistry.c: (gst_registry_scan_path_level):
21908           fix for a nasty little missed situation where an installed plug-in
21909           which was in the cache did not get overridden by an uninstalled one
21910           which was earlier in the plugin path because the newly created plugin
21911           for the uninstalled one (not in the registry) didn't get its
21912           ->registered set to TRUE
21913
21914 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
21915
21916         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
21917         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
21918         (gst_collectpads_is_active), (gst_collectpads_collect),
21919         (gst_collectpads_collect_range), (gst_collectpads_start),
21920         (gst_collectpads_stop), (gst_collectpads_peek),
21921         (gst_collectpads_pop), (gst_collectpads_available),
21922         (gst_collectpads_read), (gst_collectpads_flush):
21923           Guard public API with assertions.
21924         
21925         * gst/gstpad.c:
21926           Fix docs for gst_pad_set_link_function().
21927
21928 2005-11-02  Johan Dahlin  <johan@gnome.org>
21929
21930         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
21931         Unref found_caps after we used it.
21932
21933 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
21934
21935         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
21936           Don't try to ref NULL.
21937
21938 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21939
21940         * win32/common/config.h.in:
21941           provide a GST_FUNCTION that just gives a string for now
21942
21943 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21944
21945         * win32/common/gstenumtypes.c: (register_gst_object_flags),
21946         (gst_object_flags_get_type), (register_gst_bin_flags),
21947         (gst_bin_flags_get_type), (register_gst_buffer_flag),
21948         (gst_buffer_flag_get_type), (register_gst_bus_flags),
21949         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
21950         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
21951         (gst_clock_return_get_type), (register_gst_clock_entry_type),
21952         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
21953         (gst_clock_flags_get_type), (register_gst_state),
21954         (gst_state_get_type), (register_gst_state_change_return),
21955         (gst_state_change_return_get_type), (register_gst_state_change),
21956         (gst_state_change_get_type), (register_gst_element_flags),
21957         (gst_element_flags_get_type), (register_gst_core_error),
21958         (gst_core_error_get_type), (register_gst_library_error),
21959         (gst_library_error_get_type), (register_gst_resource_error),
21960         (gst_resource_error_get_type), (register_gst_stream_error),
21961         (gst_stream_error_get_type), (register_gst_event_type),
21962         (gst_event_type_get_type), (register_gst_seek_type),
21963         (gst_seek_type_get_type), (register_gst_seek_flags),
21964         (gst_seek_flags_get_type), (register_gst_format),
21965         (gst_format_get_type), (register_gst_index_certainty),
21966         (gst_index_certainty_get_type), (register_gst_index_entry_type),
21967         (gst_index_entry_type_get_type),
21968         (register_gst_index_lookup_method),
21969         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
21970         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
21971         (gst_index_resolver_method_get_type), (register_gst_index_flags),
21972         (gst_index_flags_get_type), (register_gst_debug_level),
21973         (gst_debug_level_get_type), (register_gst_debug_color_flags),
21974         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
21975         (gst_iterator_result_get_type), (register_gst_iterator_item),
21976         (gst_iterator_item_get_type), (register_gst_message_type),
21977         (gst_message_type_get_type), (register_gst_mini_object_flags),
21978         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
21979         (gst_pad_link_return_get_type), (register_gst_flow_return),
21980         (gst_flow_return_get_type), (register_gst_activate_mode),
21981         (gst_activate_mode_get_type), (register_gst_pad_direction),
21982         (gst_pad_direction_get_type), (register_gst_pad_flags),
21983         (gst_pad_flags_get_type), (register_gst_pad_presence),
21984         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
21985         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
21986         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
21987         (gst_plugin_error_get_type), (register_gst_plugin_flags),
21988         (gst_plugin_flags_get_type), (register_gst_rank),
21989         (gst_rank_get_type), (register_gst_query_type),
21990         (gst_query_type_get_type), (register_gst_tag_merge_mode),
21991         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
21992         (gst_tag_flag_get_type), (register_gst_task_state),
21993         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
21994         (gst_alloc_trace_flags_get_type),
21995         (register_gst_type_find_probability),
21996         (gst_type_find_probability_get_type), (register_gst_uri_type),
21997         (gst_uri_type_get_type), (register_gst_parse_error),
21998         (gst_parse_error_get_type):
21999         * win32/common/gstversion.h:
22000           update win32 copies
22001
22002 2005-11-01  Luca Ognibene  <luogni@tin.it>
22003
22004         * gst/gst.c:
22005           fix docs. popt is dead, long live GOption.
22006
22007 2005-10-31  Wim Taymans  <wim@fluendo.com>
22008
22009         * gst/gstbuffer.h:
22010         Small doc fix.
22011
22012 2005-10-31  Andy Wingo  <wingo@pobox.com>
22013
22014         * Boo!
22015
22016         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
22017
22018         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
22019         need to serialize property notifications on GLib 2.8. GLib 2.6 has
22020         the possibility of deadlocks here if code calling notify() or
22021         set() has a lock that can be taken in another notify handler (ABBA
22022         with class lock and e.g. python GIL state lock).
22023
22024 2005-10-28  Julien MOUTTE  <julien@moutte.net>
22025
22026         * gst/gstbus.c: Doc updates.
22027
22028 2005-10-28  Wim Taymans  <wim@fluendo.com>
22029
22030         * docs/design/part-TODO.txt:
22031         * gst/gstiterator.c:
22032         * gst/gstsystemclock.c:
22033         * gst/gstsystemclock.h:
22034         Doc updates.
22035
22036 2005-10-28  Edward Hervey  <edward@fluendo.com>
22037
22038         * docs/gst/gstreamer-docs.sgml:
22039         * docs/gst/gstreamer-sections.txt:
22040         the GstURIType documentation page is private, it only defines GstURIType
22041         which should be defined in the GstURIHandler page
22042         
22043 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
22044
22045         * gst/gstbin.c: (gst_bin_class_init):
22046         * gst/gstbin.h:
22047         * gst/gstutils.c:
22048         Documentation updates.
22049
22050 2005-10-28  Wim Taymans  <wim@fluendo.com>
22051
22052         * docs/gst/gstreamer-sections.txt:
22053         * gst/gstclock.c:
22054         * gst/gstclock.h:
22055         Documented the clocks.
22056
22057 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
22058
22059         * docs/gst/gstreamer-sections.txt:
22060           move some macros to private sections
22061         * gst/gstminiobject.c:
22062         * gst/gstminiobject.h:
22063           add descriptions provided by ds and some more
22064         * gst/gstpad.h:
22065           mark macro as to be removed
22066
22067 2005-10-28  Wim Taymans  <wim@fluendo.com>
22068
22069         * docs/design/part-TODO.txt:
22070         Add an item to TODO.
22071
22072         * gst/gstiterator.c: (gst_iterator_fold),
22073         (gst_iterator_find_custom):
22074         * gst/gstiterator.h:
22075         Add iterator docs.
22076
22077 2005-10-28  Wim Taymans  <wim@fluendo.com>
22078
22079         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
22080         (gst_base_transform_init):
22081         Don't leak class.
22082
22083         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
22084         An EOS event marks the queue as completely filled.
22085
22086 2005-10-27  Wim Taymans  <wim@fluendo.com>
22087
22088         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22089         (gst_base_sink_do_sync), (gst_base_sink_get_position):
22090         Some more debugging.
22091
22092         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
22093         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
22094         (gst_base_transform_event), (gst_base_transform_getrange),
22095         (gst_base_transform_chain):
22096         * gst/base/gstbasetransform.h:
22097         Fix debugging,
22098         Protect transform and concurrent buffer alloc with a new lock.
22099         Try not to break ABI/API.
22100
22101 2005-10-27  Wim Taymans  <wim@fluendo.com>
22102
22103         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22104         (gst_base_src_init), (gst_base_src_query),
22105         (gst_base_src_default_newsegment),
22106         (gst_base_src_configure_segment), (gst_base_src_do_seek),
22107         (gst_base_src_send_event), (gst_base_src_event_handler),
22108         (gst_base_src_pad_get_range), (gst_base_src_loop),
22109         (gst_base_src_unlock), (gst_base_src_default_negotiate),
22110         (gst_base_src_start), (gst_base_src_deactivate),
22111         (gst_base_src_activate_push), (gst_base_src_change_state):
22112         Move some stuff around and cleanup things.
22113
22114 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
22115
22116         * gst/base/gstbasesrc.c: (gst_base_src_query):
22117           Add missing break statements.
22118
22119 2005-10-27  Wim Taymans  <wim@fluendo.com>
22120
22121         * check/gst/gstbin.c: (GST_START_TEST):
22122         An extra refcount is taken in basesrc.
22123
22124         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
22125         (gst_base_src_get_range), (gst_base_src_pad_get_range),
22126         (gst_base_src_loop):
22127         Small cleanups, check for flushing after being unlocked from the 
22128         LIVE_LOCK. take refcounts correctly (not yet everywhere).
22129         Don't send out EOS when going to READY.
22130
22131 2005-10-27  Wim Taymans  <wim@fluendo.com>
22132
22133         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22134         (gst_base_sink_get_position):
22135         Some more debug.
22136
22137         * gst/gstbin.c: (message_check), (bin_replace_message),
22138         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22139         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22140         (bin_query_duration_init), (bin_query_duration_fold),
22141         (bin_query_duration_done), (bin_query_generic_fold),
22142         (gst_bin_query):
22143         * tools/gst-launch.c: (main):
22144         Remove old option.
22145
22146 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
22147
22148         * examples/controller/audio-example.c: (main):
22149         * examples/queue/queue.c: (event_loop):
22150         * gst/base/gstbasetransform.h:
22151         * gst/gstelement.c: (gst_element_send_event):
22152         * gst/gstevent.h:
22153         * gst/gstpad.c: (gst_pad_send_event):
22154           fixing examples
22155           fixing docs typos
22156           changing log priority in error situations
22157
22158 2005-10-25  Wim Taymans  <wim@fluendo.com>
22159
22160         * gst/gstbin.c: (message_check), (bin_replace_message),
22161         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22162         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22163         (bin_query_duration_init), (bin_query_duration_fold),
22164         (bin_query_duration_done), (bin_query_generic_fold),
22165         (gst_bin_query):
22166         Some doc and debug updates.
22167         Cache previously requested query DURATION for speed. invalidate
22168         cached duration if element posts a DURATION message.
22169
22170 2005-10-25  Wim Taymans  <wim@fluendo.com>
22171
22172         * docs/design/part-TODO.txt:
22173         Update TODO.
22174
22175         * gst/gstbin.c: (message_check), (bin_replace_message),
22176         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22177         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22178         (bin_query_duration_init), (bin_query_duration_fold),
22179         (bin_query_duration_done), (bin_query_generic_fold),
22180         (gst_bin_query):
22181         Handle SEGMENT_START/DONE messages correctly.
22182         More evolved query algorithm that handles duration queries
22183         correctly.
22184
22185         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
22186         (gst_element_get_state_func), (gst_element_abort_state),
22187         (gst_element_commit_state), (gst_element_lost_state):
22188         Some more debugging.
22189
22190         * gst/gstmessage.h:
22191         Added doc.
22192
22193 2005-10-25  Wim Taymans  <wim@fluendo.com>
22194
22195         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
22196         Don't use invalid stream_time.
22197
22198         * gst/gstevent.c: (gst_event_new_newsegment):
22199         stream_time in newsegment cannot be undefined.
22200
22201 2005-10-24  Wim Taymans  <wim@fluendo.com>
22202
22203         * gst/gstbus.c:
22204         Doc fix.
22205
22206         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
22207         (gst_queue_loop):
22208         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
22209
22210 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
22211
22212         * docs/libs/tmpl/gstdparam.sgml:
22213         * docs/libs/tmpl/gstdplinint.sgml:
22214         * docs/libs/tmpl/gstdpman.sgml:
22215         * docs/libs/tmpl/gstdpsmooth.sgml:
22216         * docs/libs/tmpl/gstunitconvert.sgml:
22217           these are obsolete
22218
22219 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
22220
22221         * configure.ac:
22222           back to HEAD
22223
22224 === release 0.9.4 ===
22225
22226 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22227
22228         * configure.ac:
22229           releasing 0.9.4, "Tyrannosaurus Rex"
22230
22231 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
22232
22233         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
22234         (gst_file_sink_get_current_offset):
22235           Use fseeko() and ftello() if available. When falling back on
22236           lseek() to get the current offset, fflush() first to make sure
22237           everything is up-to-date and we get the right offset.
22238
22239 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22240
22241         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22242         * gst/base/gstbasesrc.c: (gst_base_src_loop):
22243         * gst/gsterror.c: (_gst_stream_errors_init):
22244         * gst/gsterror.h:
22245         * gst/gstqueue.c: (gst_queue_loop):
22246         * po/POTFILES.in:
22247           remove prematurely added error category and clean up the instances
22248
22249 2005-10-21  Wim Taymans  <wim@fluendo.com>
22250
22251         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22252         (gst_base_sink_get_position), (gst_base_sink_query),
22253         (gst_base_sink_change_state):
22254         Simply set the right flag when going to playing, that's all
22255         we need to do instead of calling a function inside the object
22256         lock (that could take the lock as well and deadlock)
22257
22258 2005-10-21  Wim Taymans  <wim@fluendo.com>
22259
22260         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
22261         (gst_base_src_loop):
22262         Don't warn, the peer element knows what to do best when
22263         the seek failed, it might try something else.
22264
22265 2005-10-21  Wim Taymans  <wim@fluendo.com>
22266
22267         * gst/base/gstbasesrc.c: (gst_base_src_init),
22268         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
22269         Fix seeking.
22270
22271 2005-10-21  Wim Taymans  <wim@fluendo.com>
22272
22273         * docs/design/part-segments.txt:
22274         More docs.
22275
22276         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
22277         Correctly set caps, even on the subbufer.
22278
22279 2005-10-21  Wim Taymans  <wim@fluendo.com>
22280
22281         * docs/gst/gstreamer-docs.sgml:
22282         * docs/gst/gstreamer-sections.txt:
22283         * gst/gstelement.h:
22284         * gst/gstevent.c:
22285         * gst/gstevent.h:
22286         * gst/gstmessage.h:
22287         * gst/gstpad.h:
22288         * gst/gstparse.h:
22289         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
22290         * gst/gsttask.h:
22291         * gst/gstutils.c:
22292         * gst/gstutils.h:
22293         And 2% more doc coverage.
22294
22295 2005-10-21  Andy Wingo  <wingo@pobox.com>
22296
22297         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
22298         position reporting.
22299
22300 2005-10-20  Wim Taymans  <wim@fluendo.com>
22301
22302         * gst/gsterror.c: (gst_error_get_message):
22303         * gst/gstparse.h:
22304         * gst/gstquery.h:
22305         * gst/gststructure.c:
22306         * gst/gsttrace.c:
22307         * gst/gstutils.c:
22308         More docs.
22309
22310 2005-10-20  Wim Taymans  <wim@fluendo.com>
22311
22312         * gst/gstbuffer.h:
22313         * gst/gstpad.c:
22314         * gst/gstparse.c:
22315         Another 1% more coverage.
22316
22317 2005-10-20  Wim Taymans  <wim@fluendo.com>
22318
22319         * docs/gst/gstreamer-sections.txt:
22320         * gst/gstelement.c: (gst_element_get_state_func),
22321         (gst_element_abort_state), (gst_element_commit_state),
22322         (gst_element_lost_state):
22323         * gst/gstevent.h:
22324         * gst/gstquery.c: (gst_query_set_position),
22325         (gst_query_parse_position), (gst_query_set_duration),
22326         (gst_query_parse_duration), (gst_query_new_convert):
22327         * gst/gstutils.c:
22328         Yay! 1% more docs coverage.
22329
22330 2005-10-20  Wim Taymans  <wim@fluendo.com>
22331
22332         * gst/gstpad.h:
22333         * gst/gstquery.c: (gst_query_set_position),
22334         (gst_query_parse_position), (gst_query_set_duration),
22335         (gst_query_parse_duration), (gst_query_new_convert):
22336         * gst/gstquery.h:
22337         * gst/gstutils.c: (gst_element_query_convert):
22338         * gst/gstutils.h:
22339         Docs and consistency fixes.
22340
22341 2005-10-20  Wim Taymans  <wim@fluendo.com>
22342
22343         * gst/gsttask.c:
22344         * gst/gsttask.h:
22345         More docs.
22346
22347 2005-10-20  Wim Taymans  <wim@fluendo.com>
22348
22349         * gst/gstbin.c: (message_check), (bin_replace_message),
22350         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22351         (update_degree), (gst_bin_sort_iterator_next),
22352         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
22353         Reworked the message handling a bit, cache the messages instead of
22354         only the senders. alows us to do more in the future.
22355
22356 2005-10-20  Wim Taymans  <wim@fluendo.com>
22357
22358         * docs/design/part-TODO.txt:
22359         Update TODO
22360
22361         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22362         (gst_base_sink_query):
22363         Don't use clock time to report position when in EOS.
22364
22365 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
22366
22367         * tools/gst-inspect.c: (print_interfaces),
22368         (print_element_properties_info), (print_element_info):
22369           Fix interface output with gst-inspect -a; don't print
22370           newlines after double/float properties.
22371
22372 2005-10-20  Wim Taymans  <wim@fluendo.com>
22373
22374         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22375         (gst_base_sink_query):
22376         Speed up current position calculation.
22377
22378         * gst/base/gstbasesrc.c: (gst_base_src_query),
22379         (gst_base_src_default_newsegment):
22380         Correctly set stream position in newsegment.
22381
22382         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
22383         (update_degree), (gst_bin_sort_iterator_next),
22384         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
22385         * gst/gstmessage.c: (gst_message_new_custom):
22386         Clean up debugging info
22387
22388         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
22389         (gst_queue_loop), (gst_queue_handle_src_query):
22390         Pause task faster.
22391
22392 2005-10-19  Wim Taymans  <wim@fluendo.com>
22393
22394         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22395         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22396         Fix query handling again.
22397
22398 2005-10-19  Wim Taymans  <wim@fluendo.com>
22399
22400         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22401         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22402         * gst/base/gstbasesrc.c: (gst_base_src_query):
22403         * gst/elements/gstfilesink.c: (gst_file_sink_query):
22404         * gst/elements/gsttypefindelement.c:
22405         (gst_type_find_handle_src_query), (find_element_get_length),
22406         (gst_type_find_element_activate):
22407         API change fix.
22408
22409         * gst/gstquery.c: (gst_query_new_position),
22410         (gst_query_set_position), (gst_query_parse_position),
22411         (gst_query_new_duration), (gst_query_set_duration),
22412         (gst_query_parse_duration), (gst_query_set_segment),
22413         (gst_query_parse_segment):
22414         * gst/gstquery.h:
22415         Bundling query position/duration is not a good idea since duration
22416         does not change much and we don't want to recalculate it for every
22417         position query, so they are separated again..
22418         Base value in segment query is not needed.
22419
22420         * gst/gstqueue.c: (gst_queue_handle_src_query):
22421         * gst/gstutils.c: (gst_element_query_position),
22422         (gst_element_query_duration), (gst_pad_query_position),
22423         (gst_pad_query_duration):
22424         * gst/gstutils.h:
22425         Updates for query API change.
22426         Added some docs here and there.
22427
22428 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
22429
22430         * check/gst/gstbin.c: (GST_START_TEST):
22431         * check/gst/gstghostpad.c: (GST_START_TEST):
22432         * check/pipelines/cleanup.c: (GST_START_TEST):
22433           wait on thread to die so we can check refcount correctly
22434
22435 2005-10-18  Wim Taymans  <wim@fluendo.com>
22436
22437         * check/pipelines/stress.c: (GST_START_TEST):
22438         Make check a little more time consuming.
22439
22440 2005-10-18  Wim Taymans  <wim@fluendo.com>
22441
22442         * check/Makefile.am:
22443         * check/pipelines/stress.c: (GST_START_TEST),
22444         (simple_launch_lines_suite), (main):
22445         Small state change torture test.
22446
22447         * docs/design/part-states.txt:
22448         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22449         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
22450         (gst_base_sink_change_state):
22451         Never take state lock from streaming thread, clean up ugly
22452         hacks. Unfortunatly core does not yet support nice ways to
22453         async commit state.
22454         
22455         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
22456         (bin_bus_handler):
22457         Start state recalc if a STATE_DIRTY message is posted, but only
22458         on the toplevel bin.
22459
22460         * gst/gstelement.c: (gst_element_sync_state_with_parent),
22461         (gst_element_get_state_func), (gst_element_abort_state),
22462         (gst_element_commit_state), (gst_element_lost_state),
22463         (gst_element_set_state_func), (gst_element_change_state):
22464         * gst/gstelement.h:
22465         State variables are now protected with the LOCK, the state
22466         lock is only used to serialize _set_state().
22467
22468 2005-10-18  Wim Taymans  <wim@fluendo.com>
22469
22470         * check/gst/gstbin.c: (GST_START_TEST):
22471         * check/gst/gstmessage.c: (GST_START_TEST):
22472         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22473         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
22474         (bin_bus_handler):
22475         * gst/gstelement.c: (gst_element_abort_state),
22476         (gst_element_commit_state), (gst_element_lost_state):
22477         * gst/gstmessage.c: (gst_message_new_state_changed),
22478         (gst_message_new_state_dirty), (gst_message_new_segment_start),
22479         (gst_message_new_segment_done), (gst_message_new_duration),
22480         (gst_message_parse_state_changed),
22481         (gst_message_parse_segment_start),
22482         (gst_message_parse_segment_done), (gst_message_parse_duration):
22483         * gst/gstmessage.h:
22484         * tools/gst-launch.c: (event_loop):
22485         Seriously, this is better than a previous commit as we only need
22486         to notify the fact that an element changed state in a streaming
22487         thread, marking the state of the parents dirty, hence the 
22488         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
22489         message.
22490
22491 2005-10-18  Wim Taymans  <wim@fluendo.com>
22492
22493         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
22494         (gst_bin_recalc_func):
22495         * gst/gstelement.c: (gst_element_set_clock),
22496         (gst_element_abort_state), (gst_element_lost_state):
22497         Cleanups, prepare for state change fixes.
22498
22499 2005-10-18  Wim Taymans  <wim@fluendo.com>
22500
22501         * gst/gstbin.h:
22502         * gst/gstelement.c: (gst_element_class_init),
22503         (gst_element_set_state), (gst_element_set_state_func):
22504         * gst/gstelement.h:
22505         Pending ABI changes.
22506         GThreadPool in GstBinClass to monitor async state changes.
22507         state_cookie in GstElement to detect concurrent gst/set state.
22508         set_state is now virtual too in case a very complicated element
22509         has to be constructed.
22510
22511 2005-10-18  Wim Taymans  <wim@fluendo.com>
22512
22513         * check/gst/gstbin.c: (GST_START_TEST):
22514         * check/gst/gstmessage.c: (GST_START_TEST):
22515         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22516         * gst/gstbin.c: (bin_bus_handler):
22517         * gst/gstelement.c: (gst_element_commit_state),
22518         (gst_element_lost_state):
22519         * gst/gstmessage.c: (gst_message_new_state_changed),
22520         (gst_message_new_segment_start), (gst_message_new_segment_done),
22521         (gst_message_new_duration), (gst_message_parse_state_changed),
22522         (gst_message_parse_segment_start),
22523         (gst_message_parse_segment_done), (gst_message_parse_duration):
22524         * gst/gstmessage.h:
22525         * tools/gst-launch.c: (event_loop):
22526         Make messages future proof.
22527         state-change gets a flag if it was a message comming from the
22528         streaming thread.
22529         segment-start/stop can also be specified in other formats.
22530         A message to notify an app that a pipeline changed playback 
22531         duration.
22532         Also fix a GstMessage leak in -launch
22533
22534 2005-10-18  Andy Wingo  <wingo@pobox.com>
22535
22536         * gst/gstelement.c (gst_element_dispose): More helpful message.
22537
22538 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
22539
22540         reviewed by: <delete if not using a buddy>
22541
22542         * common/gtk-doc.mak:
22543
22544 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
22545
22546         * gst/gstregistry.c: (gst_registry_scan_path_level):
22547           unref a plug-in we get that was already initialized
22548
22549 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
22550
22551         * docs/gst/gstreamer-sections.txt:
22552         * docs/libs/gstreamer-libs-sections.txt:
22553         * gst/gstelement.h:
22554           add new api entries
22555           hide internal macro
22556
22557 2005-10-17  Andy Wingo  <wingo@pobox.com>
22558
22559         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
22560         cleanup.
22561
22562         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
22563
22564         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
22565
22566         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
22567         (gst_element_get_state_func): Better debug message.
22568         (gst_element_commit_state): s/INFO/DEBUG/.
22569         (gst_element_lost_state, gst_element_change_state): 
22570
22571         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
22572         (gst_message_new_custom): s/INFO/LOG/.
22573
22574 2005-10-17  Michael Smith <msmith@fluendo.com>
22575
22576         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
22577           Check if end time is valid using end time, not start time.
22578
22579 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
22580
22581         * check/gst-libs/controller.c: (GST_START_TEST),
22582         (gst_controller_suite):
22583         * libs/gst/controller/gstcontroller.c:
22584         (gst_controlled_property_set_interpolation_mode):
22585         * libs/gst/controller/gstcontroller.h:
22586         * libs/gst/controller/gstinterpolation.c:
22587         * testsuite/controller/.cvsignore:
22588         * testsuite/controller/Makefile.am:
22589         * testsuite/controller/interpolator.c:
22590           merge controller testsuites
22591           fix broken tests
22592           remove mem-chunk from docs
22593
22594 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
22595
22596         * gst/gstmemchunk.c:
22597         * gst/gstmemchunk.h:
22598         * gst/gsttrashstack.c:
22599         * gst/gsttrashstack.h:
22600           out.  get out.  you're fired.  to the Attic !
22601
22602 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
22603
22604         * gst/gstcaps.c: (gst_caps_intersect):
22605           fix signedness issues in a (hopefully) correct way
22606         * gst/gstelement.c: (gst_element_pads_activate):
22607           some debugging
22608         * gst/gstobject.c: (gst_object_set_parent):
22609           some debugging
22610
22611 2005-10-17  Julien MOUTTE  <julien@moutte.net>
22612
22613         * gst/gstvalue.h: Fix prototypes.
22614
22615 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22616
22617         * docs/gst/gstreamer-sections.txt:
22618         * gst/gst.c: (gst_version_string):
22619         * gst/gst.h:
22620         * gst/gstversion.h.in:
22621         * win32/common/libgstreamer.def:
22622           add gst_version_string ()
22623
22624 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22625
22626         * configure.ac:
22627           clean up further
22628         * gst/gst.c: (init_post):
22629         * win32/common/config.h.in:
22630           it's PLUGINDIR now
22631         * gst/gstcaps.c: (gst_caps_intersect):
22632           use gint64, the range could be bigger than a guint
22633
22634 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22635
22636         * gst/gstclock.h:
22637           document potential problem in 2038
22638
22639 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22640
22641         * gst/gstcaps.c: (gst_caps_intersect):
22642           Fix guint j diving under 0
22643
22644 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22645
22646         * configure.ac:
22647         * win32/common/config.h:
22648         * win32/common/config.h.in:
22649           check for process.h, declares getpid() on Windows
22650         * gst/gstinfo.c:
22651           include process.h if we have it
22652         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
22653         * gst/gstmemchunk.h:
22654           fix signedness issues
22655         * win32/common/libgstreamer.def:
22656           fix get_type's
22657
22658 2005-10-16  Julien MOUTTE  <julien@moutte.net>
22659
22660         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
22661         fix. Because of unsigned ints, caps intersection was going nuts and
22662         trying to access structures with G_MAXUINT index. That fixes
22663         videotestsrc ! ffmpegcolorspace ! fakesink
22664         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
22665         consistency.
22666
22667 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22668
22669         * configure.ac:
22670           use the gettext macro
22671         * gst/elements/gstelements.c:
22672         * gst/gst.c:
22673         * gst/indexers/gstindexers.c:
22674           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
22675         * win32/common/config.h:
22676           updated config.h
22677         * win32/common/config.h.in:
22678           add the template to generate config.h
22679         * win32/common/gstenumtypes.c:
22680         * win32/common/gstversion.h:
22681           updated copies
22682
22683 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22684
22685         * gst/gst.c: (gst_version):
22686         * gst/gstversion.h.in:
22687           add the nano
22688
22689 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
22690
22691         * gst/gstevent.h:
22692           Oops, add missing closing bracket.
22693
22694 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22695
22696         * configure.ac:
22697           use common m4's for argument checking
22698
22699 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
22700
22701         * docs/gst/gstreamer-sections.txt:
22702         * gst/gstevent.h:
22703           Add GST_EVENT_TYPE_NAME() macro.
22704
22705 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22706
22707         * gst/gstinfo.c:
22708         * gst/gstpluginfeature.c:
22709         * gst/gsttask.c:
22710           privatize more symbols
22711
22712 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22713
22714         * configure.ac:
22715           add srcdir, builddir includes to GST_ALL_CFLAGS, since
22716           everything that uses GStreamer API should have the includes
22717
22718 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22719
22720         * docs/gst/gstreamer-sections.txt:
22721         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
22722         * gst/gstvalue.h:
22723           give each value a _get_type, removes the DATA exports
22724
22725 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22726
22727         * gst/gst.c:
22728         * gst/gst.h:
22729           remove _gst_registry_auto_load, not used anymore
22730         * gst/gstbin.c: (gst_bin_get_type):
22731         * gst/gstbin.h:
22732         * gst/gstelement.c: (gst_element_get_type):
22733         * gst/gstelement.h:
22734         * gst/gstobject.c: (gst_object_get_type):
22735         * gst/gstobject.h:
22736         * gst/gstpad.c: (gst_pad_get_type):
22737         * gst/gstpad.h:
22738           make _get_type functions similar, fixes data export from library
22739
22740 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22741
22742         * configure.ac:
22743           correctly make conditionals
22744         * gst/elements/Makefile.am:
22745         * gst/elements/gstelements.c:
22746           fix typo causing fdsrc not to build
22747
22748 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22749
22750         * testsuite/Makefile.am:
22751         * testsuite/bytestream/.cvsignore:
22752         * testsuite/bytestream/Makefile.am:
22753         * testsuite/bytestream/filepadsink.c:
22754         * testsuite/bytestream/gstbstest.c:
22755         * testsuite/bytestream/test1.c:
22756         * testsuite/bytestream/testfile1:
22757         * testsuite/caps/normalisation.c:
22758         * testsuite/caps/random.c: (main):
22759         * testsuite/cleanup/.cvsignore:
22760         * testsuite/cleanup/Makefile.am:
22761         * testsuite/cleanup/cleanup1.c:
22762         * testsuite/cleanup/cleanup2.c:
22763         * testsuite/cleanup/cleanup3.c:
22764         * testsuite/cleanup/cleanup4.c:
22765         * testsuite/cleanup/cleanup5.c:
22766         * testsuite/controller/interpolator.c:
22767         * testsuite/debug/printf_extension.c: (main):
22768         * testsuite/elements/tee.c:
22769         * testsuite/negotiation/.cvsignore:
22770         * testsuite/negotiation/Makefile.am:
22771         * testsuite/negotiation/pad_link.c:
22772         * testsuite/pad/Makefile.am:
22773         * testsuite/pad/chainnopull.c:
22774         * testsuite/pad/getnopush.c:
22775         * testsuite/pad/link.c:
22776         * testsuite/refcounting/sched.c: (create_pipeline):
22777         * testsuite/registry/Makefile.am:
22778         * testsuite/registry/gst-print-formats.c:
22779         * testsuite/schedulers/.cvsignore:
22780         * testsuite/schedulers/142183-2.c:
22781         * testsuite/schedulers/142183.c:
22782         * testsuite/schedulers/143777-2.c:
22783         * testsuite/schedulers/143777.c:
22784         * testsuite/schedulers/147713.c:
22785         * testsuite/schedulers/147819.c:
22786         * testsuite/schedulers/147894-2.c:
22787         * testsuite/schedulers/147894.c:
22788         * testsuite/schedulers/Makefile.am:
22789         * testsuite/schedulers/group_link.c:
22790         * testsuite/schedulers/queue_link.c:
22791         * testsuite/schedulers/relink.c:
22792         * testsuite/schedulers/unlink.c:
22793         * testsuite/schedulers/unref.c:
22794         * testsuite/schedulers/useless_iteration.c:
22795         * testsuite/states/bin.c:
22796           clean out/remove some stuff from the testsuite directories
22797
22798 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22799
22800         * configure.ac:
22801           check for some headers
22802         * gst/elements/Makefile.am:
22803         * gst/elements/gstelements.c:
22804           don't compile fdsrc without sys/socket.h
22805         * gst/indexers/Makefile.am:
22806         * gst/indexers/gstindexers.c: (plugin_init):
22807           don't compile fileindex without mmap
22808
22809 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22810
22811         * configure.ac:
22812           reorganize
22813           clean up
22814           document more
22815           remove cruft
22816         * check/Makefile.am:
22817         * docs/gst/Makefile.am:
22818         * examples/helloworld/Makefile.am:
22819         * gst/Makefile.am:
22820         * gst/base/Makefile.am:
22821         * gst/check/Makefile.am:
22822         * gst/elements/Makefile.am:
22823         * gst/indexers/Makefile.am:
22824         * gst/parse/Makefile.am:
22825         * libs/gst/controller/Makefile.am:
22826         * libs/gst/dataprotocol/Makefile.am:
22827         * examples/helloworld/helloworld.c: (event_loop):
22828           compile fixes, though it's not being compiled currently
22829
22830 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
22831
22832         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
22833           Add some simple tests for the new taglist date API.
22834
22835 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
22836
22837         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
22838         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
22839           Beautify 'last-message' output: print 'none' for buffer timestamps
22840           and durations if none is set; improve alignment with next messages.
22841
22842 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
22843
22844         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
22845         * gst/gstpluginfeature.h:
22846         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
22847         * gst/gstregistry.h:
22848         * docs/gst/gstreamer-sections.txt:
22849           Add new API to check plugin feature version requirements.
22850
22851         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
22852           Some basic tests for the above.         
22853
22854 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22855
22856         * gst/gststructure.c: (gst_structure_to_string):
22857           guard against NULL printf - happens when for example
22858           a message structure with GstClock gets serialized
22859
22860 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
22861
22862         * gst/base/gstcollectpads.c: (gst_collectpads_event):
22863           Fix presumable copy'n'pasto.
22864
22865 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22866
22867         * gst/elements/gstfakesrc.h:
22868         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
22869         * gst/elements/gsttypefindelement.c:
22870           fix some signedness
22871         * gst/elements/gstfilesink.c: (gst_file_sink_render):
22872           I wonder if this could actually write +2GB files before
22873
22874 2005-10-13  Andy Wingo  <wingo@pobox.com>
22875
22876         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
22877         Fix Timmeke Waymans bug.
22878         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
22879         string of the proper length to gst_caps_from_string. There's a
22880         potential for, before this fix, that this could cause someone
22881         connecting over the network to cause a segfault if the payload is
22882         not NUL-terminated.
22883
22884 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
22885
22886         * docs/design/draft-push-pull.txt:
22887         * docs/design/part-overview.txt:
22888         * docs/random/TODO-pre-0.9:
22889         * docs/random/old/ChangeLog.gstreamer:
22890         * gst/base/gstpushsrc.c:
22891         * gst/gstclock.c:
22892           fixed typos
22893
22894 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22895
22896         * gst/glib-compat.c: (gst_flags_get_first_value):
22897         * gst/glib-compat.h:
22898         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
22899         (gst_value_compare_double), (gst_value_serialize_flags):
22900           GLib 2.6 g_flags_get_first_value has a bug that triggers an
22901           infinite loop
22902
22903 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22904
22905         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22906         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
22907           fix up debugging
22908         * tools/gst-launch.c: (event_loop):
22909           print out clock nicely
22910
22911 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
22912
22913         * docs/gst/gstreamer-sections.txt:
22914         * gst/gsttaglist.h:
22915         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
22916         (gst_tag_list_get_date_index):
22917           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
22918           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
22919
22920 2005-10-13  Julien MOUTTE  <julien@moutte.net>
22921
22922         * gst/base/gstcollectpads.c: (gst_collectpads_event),
22923         (gst_collectpads_chain):
22924         * gst/base/gstcollectpads.h: Handle newsegment and store informations
22925         in CollectData.
22926
22927 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
22928
22929         * docs/gst/gstreamer-sections.txt:
22930         * gst/gst.c:
22931         * gst/gsterror.h:
22932         * tools/gst-inspect.c: (main):
22933         * tools/gst-launch.c: (main):
22934         * tools/gst-run.c: (main):
22935         * tools/gst-xmlinspect.c: (main):
22936           fix GOption context leaks
22937           doc fixes
22938
22939 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22940
22941         * gst/gstbus.c:
22942           use HAVE_UNISTD_H
22943         * win32/common/config.h:
22944           update config
22945         * win32/vs6/grammar.dsp:
22946         * win32/vs6/libgstelements.dsp:
22947         * win32/vs6/libgstreamer.dsp:
22948           update vs6 files
22949
22950 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
22951
22952         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22953         * gst/base/gstbasesrc.c: (gst_base_src_query):
22954           fix more guint64<->gdouble conversions
22955
22956 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
22957
22958         * Makefile.am:
22959           add win32-update target
22960         * win32/common/gstconfig.h:
22961         * win32/common/gstenumtypes.c:
22962         * win32/common/gstenumtypes.h:
22963         * win32/common/gstversion.h:
22964           add files that visual studio can't generate
22965
22966 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
22967
22968         * Makefile.am:
22969           add a win32-update target
22970         * configure.ac:
22971
22972 2005-10-12  Wim Taymans  <wim@fluendo.com>
22973
22974         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
22975         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
22976         * gst/gstelement.c: (gst_element_commit_state),
22977         (gst_element_set_state):
22978         Protect flags with proper lock.
22979         unref provided cached clock in dispose.
22980
22981 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
22982
22983         * gst/gst.c:
22984         * gst/gstminiobject.h:
22985         * gst/gstpad.h:
22986         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
22987           removed unused flags from miniobject
22988           doc fixes
22989
22990 2005-10-12  Wim Taymans  <wim@fluendo.com>
22991
22992         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
22993         (gst_file_sink_event), (gst_file_sink_render):
22994         Flush before seeking.
22995
22996 2005-10-12  Andy Wingo  <wingo@pobox.com>
22997
22998         * gst/gst.c (gst_init_check): Ignore unknown options, as has
22999         always been the case.
23000
23001 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
23002
23003         * check/gst/gstbin.c: (GST_START_TEST):
23004         * docs/gst/gstreamer-sections.txt:
23005         * gst/base/gstbasesink.c: (gst_base_sink_init):
23006         * gst/base/gstbasesrc.c: (gst_base_src_init),
23007         (gst_base_src_get_range), (gst_base_src_check_get_range),
23008         (gst_base_src_start), (gst_base_src_stop):
23009         * gst/base/gstbasesrc.h:
23010         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
23011         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
23012         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
23013         (bin_bus_handler):
23014         * gst/gstbin.h:
23015         * gst/gstbuffer.h:
23016         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
23017         * gst/gstbus.h:
23018         * gst/gstelement.c: (gst_element_is_locked_state),
23019         (gst_element_set_locked_state), (gst_element_commit_state),
23020         (gst_element_set_state):
23021         * gst/gstelement.h:
23022         * gst/gstindex.c: (gst_index_init):
23023         * gst/gstindex.h:
23024         * gst/gstminiobject.h:
23025         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
23026         (gst_object_set_parent):
23027         * gst/gstobject.h:
23028         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
23029         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
23030         * gst/gstpad.h:
23031         * gst/gstpadtemplate.h:
23032         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
23033         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
23034         * gst/gstpipeline.h:
23035         * gst/indexers/gstfileindex.c: (gst_file_index_load),
23036         (gst_file_index_commit):
23037         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
23038         * testsuite/pad/link.c: (gst_test_src_init),
23039         (gst_test_filter_init), (gst_test_sink_init):
23040         * testsuite/states/locked.c: (main):
23041           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
23042           moved bitshift from macro to enum definition
23043
23044 2005-10-12  Wim Taymans  <wim@fluendo.com>
23045
23046         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
23047         * gst/elements/gstfilesink.c: (gst_file_sink_event),
23048         (gst_file_sink_render):
23049         Some more debugging info.
23050
23051 2005-10-12  Wim Taymans  <wim@fluendo.com>
23052
23053         * docs/design/part-states.txt:
23054         * tools/gst-launch.c: (main):
23055         Some doc updates.
23056         Revert non-intentional change.
23057
23058 2005-10-12  Wim Taymans  <wim@fluendo.com>
23059
23060         * check/gst/gstbin.c: (GST_START_TEST):
23061         * check/gst/gstelement.c: (GST_START_TEST):
23062         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
23063         * check/gst/gstghostpad.c: (GST_START_TEST):
23064         * check/gst/gstpipeline.c: (GST_START_TEST):
23065         * check/pipelines/simple_launch_lines.c: (run_pipeline):
23066         * check/states/sinks.c: (GST_START_TEST):
23067         * gst/elements/gsttypefindelement.c: (stop_typefinding):
23068         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
23069         (gst_bin_remove_func), (gst_bin_get_state_func),
23070         (gst_bin_recalc_state), (gst_bin_change_state_func),
23071         (bin_bus_handler):
23072         * gst/gstelement.c: (gst_element_get_state_func),
23073         (gst_element_get_state), (gst_element_abort_state),
23074         (gst_element_commit_state), (gst_element_set_state),
23075         (gst_element_change_state), (gst_element_change_state_func):
23076         * gst/gstelement.h:
23077         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
23078         (gst_pipeline_provide_clock_func):
23079         * gst/gstutils.c: (gst_element_link_pads_filtered):
23080         * tools/gst-launch.c: (main):
23081         * tools/gst-typefind.c: (main):
23082         Use GstClockTime in _get_state() instead of GTimeVal.
23083         Remove old code in gstutils.c
23084
23085 2005-10-12  Andy Wingo  <wingo@pobox.com>
23086
23087         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
23088         removed.
23089
23090         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
23091         there is no task. Shouldn't affect any code, as nothing in our
23092         plugins checks this return value.
23093         (gst_pad_stop_task): Also take the stream lock if the pad has no
23094         task. Docs updated.
23095
23096 2005-10-12  Wim Taymans  <wim@fluendo.com>
23097
23098         * gst/gstpad.c: (pre_activate), (post_activate),
23099         (gst_pad_activate_pull), (gst_pad_activate_push):
23100         Cleanup activation code. Reset old state if
23101         activation failed.
23102
23103 2005-10-12  Wim Taymans  <wim@fluendo.com>
23104
23105         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23106         (gst_base_sink_change_state):
23107         No need to prerol after receiving EOS.
23108
23109         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
23110         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
23111         * gst/elements/gstidentity.c: (gst_identity_event):
23112         Print events more verbosely.
23113
23114 2005-10-12  Wim Taymans  <wim@fluendo.com>
23115
23116         * check/Makefile.am:
23117         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
23118         * check/states/sinks2.c:
23119         Moved sinks2 testcode in sinks check.
23120
23121         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
23122         (gst_bin_remove_func), (gst_bin_recalc_state),
23123         (gst_bin_change_state_func), (bin_bus_handler):
23124         Fix potential race condition when _get_state() iterated over an
23125         ASYNC element right before it posted a state completion.
23126
23127         * gst/gstclock.h:
23128         Do proper cast here.
23129
23130         * gst/gstevent.c: (gst_event_new_newsegment),
23131         (gst_event_parse_newsegment):
23132         A playback rate of 0.0 is not allowed.
23133
23134 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23135
23136         * win32/common/config.h:
23137         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
23138         (_trewinddir), (_ttelldir), (_tseekdir):
23139         * win32/common/dirent.h:
23140         * win32/common/gtchar.h:
23141         * win32/common/libgstbase.def:
23142         * win32/common/libgstreamer.def:
23143         * win32/vs6/grammar.dsp:
23144         * win32/vs6/gst_inspect.dsp:
23145         * win32/vs6/gst_launch.dsp:
23146         * win32/vs6/gstreamer.dsw:
23147         * win32/vs6/libgstbase.dsp:
23148         * win32/vs6/libgstelements.dsp:
23149         * win32/vs6/libgstreamer.dsp:
23150           Visual Studio 6 project files, and a new common directory.
23151           Phear.
23152
23153 2005-10-11  Wim Taymans  <wim@fluendo.com>
23154
23155         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23156         (gst_base_sink_do_sync), (gst_base_sink_query),
23157         (gst_base_sink_change_state):
23158         * gst/base/gstbasesink.h:
23159         Correctly parse newsegment info.
23160
23161 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23162
23163         * gst/gst.c: (init_post):
23164           split plugin paths correctly
23165
23166 2005-10-11  Wim Taymans  <wim@fluendo.com>
23167
23168         * check/gst/gstevent.c: (GST_START_TEST):
23169         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23170         (gst_base_sink_change_state):
23171         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
23172         * gst/base/gstbasetransform.c: (gst_base_transform_event):
23173         * gst/elements/gstfilesink.c: (gst_file_sink_event):
23174         * gst/gstevent.c: (gst_event_new_newsegment),
23175         (gst_event_parse_newsegment):
23176         * gst/gstevent.h:
23177         Added extra flag to newsegment for future API freeze.
23178         Updated check and base elements.
23179
23180 2005-10-11  Julien MOUTTE  <julien@moutte.net>
23181
23182         * gst/base/gstcollectpads.c: (gst_collectpads_init),
23183         (gst_collectpads_add_pad), (gst_collectpads_pop),
23184         (gst_collectpads_event), (gst_collectpads_chain):
23185         * gst/base/gstcollectpads.h: Handle EOS correctly.
23186
23187 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23188
23189         * tools/gst-launch.c: (main):
23190           more null protecting
23191
23192 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23193
23194         * gst/gst-i18n-lib.h:
23195           check for ENABLE_NLS, not GETTEXT_PACKAGE
23196         * gst/gstregistry.c: (gst_registry_add_plugin),
23197         (gst_registry_scan_path_level),
23198         (_gst_registry_remove_cache_plugins):
23199           protect possibly NULL strings
23200         * gst/parse/types.h:
23201           config.h already included before
23202         * tools/gst-inspect.c: (main):
23203           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
23204           check for ENABLE_NLS, not GETTEXT_PACKAGE
23205         * tools/gst-launch.c: (main):
23206           check for ENABLE_NLS, not GETTEXT_PACKAGE
23207
23208 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23209
23210         * configure.ac:
23211           if we don't have glib, fail before testing 2.8
23212         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
23213           fix a leak, should fix plugins-base testsuite
23214
23215 2005-10-11  Andy Wingo  <wingo@pobox.com>
23216
23217         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
23218         take the mode we're going to as an arg. Go head and set the mode
23219         and flushing flags now, so that if the activate function starts a
23220         thread all the flags will be in the right state.
23221         (post_activate): Renamed also. Just handle making sure streaming
23222         finishes for the deactivation case, and setting the deactivated
23223         mode.
23224         (gst_pad_set_active): Complain loudly if deactivation fails.
23225         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
23226         (gst_pad_activate_push): Adapt to pre/post_activate changes,
23227         remove the terrible hack.
23228
23229 2005-10-11  Wim Taymans  <wim@fluendo.com>
23230
23231         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23232         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
23233         (gst_bin_recalc_state), (gst_bin_change_state_func),
23234         (gst_bin_dispose), (bin_bus_handler):
23235         * gst/gstbin.h:
23236         Prepare to make current EOS message queue more generic.
23237         Fix some typos.
23238
23239         * gst/gstevent.c: (gst_event_new_newsegment),
23240         (gst_event_parse_newsegment):
23241         * gst/gstevent.h:
23242         Rename base to stream_time.
23243
23244         * gst/gstmessage.h:
23245         Fix typo in docs.
23246
23247 2005-10-11  Wim Taymans  <wim@fluendo.com>
23248
23249         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23250         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
23251         (gst_bin_change_state_func), (bin_bus_handler):
23252         * gst/gstbin.h:
23253         Work on proper clock selection.
23254
23255 2005-10-11  Edward Hervey  <edward@fluendo.com>
23256
23257         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
23258         * libs/gst/controller/gstcontroller.h:
23259         Added GList* version of _remove_properties() in order to be able to wrap
23260         it in bindings.
23261
23262 2005-10-11  Wim Taymans  <wim@fluendo.com>
23263
23264         * docs/design/part-states.txt:
23265         Some more docs.
23266
23267         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
23268         (gst_bin_change_state_func), (bin_bus_handler):
23269         Doc updates. Don't distribute the same clock over and over again.
23270
23271         * gst/gstclock.c:
23272         * gst/gstclock.h:
23273         Doc updates.
23274
23275         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
23276         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
23277         (gst_pad_send_event):
23278         * gst/gstpad.h:
23279         Make probe emission threadsafe again.
23280         Register quarks and move _get_name() from utils.
23281         Doc updates.
23282
23283         * gst/gstpipeline.c: (gst_pipeline_class_init),
23284         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23285         Only redistribute the clock of it changed.
23286
23287         * gst/gstsystemclock.h:
23288         Doc updates. 
23289
23290         * gst/gstutils.c:
23291         * gst/gstutils.h:
23292         Moved the _flow_get_name() to GstPad.
23293
23294 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23295
23296         * check/gst-libs/gdp.c: (GST_START_TEST):
23297         * check/gst/gstcaps.c: (GST_START_TEST):
23298         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
23299         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
23300         (gst_dp_packet_from_caps):
23301           fix more valgrind warnings before turning up the heat
23302
23303 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23304
23305         * gst/parse/grammar.y:
23306           some cleanup before the hacking
23307
23308 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23309
23310         * gst/base/gstbasesrc.c: (gst_base_src_query):
23311           use conversions
23312         * gst/gstutils.c: (gst_guint64_to_gdouble),
23313         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
23314         * gst/gstutils.h:
23315           externalize, basesrc uses it
23316           obviously the implementation needs testing
23317
23318 2005-10-10  Wim Taymans  <wim@fluendo.com>
23319
23320         * tests/sched/Makefile.am:
23321         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
23322         (make_pipeline3), (make_pipeline4), (print_elem), (main):
23323
23324 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23325
23326         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
23327           apparently converting from guint64 to double is not implemented
23328           on MSVC
23329
23330 2005-10-10  Wim Taymans  <wim@fluendo.com>
23331
23332         * check/Makefile.am:
23333         * check/generic/states.c: (GST_START_TEST):
23334         * check/gst/gstbin.c: (GST_START_TEST):
23335         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
23336         * check/states/sinks.c: (GST_START_TEST):
23337         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
23338         (main):
23339         Check fixes, use API as stated in design docs, remove hacks.
23340
23341         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23342         (gst_base_sink_change_state):
23343         Catch stopping our task while we're shutting down.
23344
23345         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
23346         (gst_bin_remove_func), (gst_bin_get_state_func),
23347         (gst_bin_recalc_state), (gst_bin_change_state_func),
23348         (bin_bus_handler):
23349         * gst/gstbin.h:
23350         * gst/gstelement.c: (gst_element_init),
23351         (gst_element_get_state_func), (gst_element_abort_state),
23352         (gst_element_commit_state), (gst_element_lost_state),
23353         (gst_element_set_state), (gst_element_change_state),
23354         (gst_element_change_state_func):
23355         * gst/gstelement.h:
23356         New state change algorithm (see #318116)
23357
23358         * gst/gstpipeline.c: (gst_pipeline_class_init),
23359         (gst_pipeline_init), (gst_pipeline_set_property),
23360         (gst_pipeline_get_property), (do_pipeline_seek),
23361         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23362         * gst/gstpipeline.h:
23363         Remove crude state change hacks.
23364
23365         * gst/gstutils.h:
23366         Remove crude hacks.
23367
23368         * tools/gst-launch.c: (main):
23369         Fixes for state change. Needs some more work to fully use the
23370         new stuff.
23371
23372 2005-10-10  Andy Wingo  <wingo@pobox.com>
23373
23374         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
23375
23376         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
23377         this flag, but it's not even in GLib 2.6. Odd. Hack around the
23378         issue.
23379
23380 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23381
23382         * gst/gstiterator.c: (gst_iterator_new):
23383           Fix my previous commit: GTypes passed to gst_iterator_new()
23384           can be fundamental types.
23385
23386 2005-10-10  Wim Taymans  <wim@fluendo.com>
23387
23388         * gst/gstelement.c: (gst_element_iterate_pad_list),
23389         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
23390         (gst_element_iterate_sink_pads):
23391         Use src/sink pads lists for the respective iterators instead
23392         of filtering.
23393
23394 2005-10-10  Andy Wingo  <wingo@pobox.com>
23395
23396         Merged in popt removal + GOption addition patch from Ronald, bug
23397         #169772.
23398
23399         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
23400         GstElement macros around, remove popt-related symbols, add goption
23401         stuff.
23402
23403         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
23404         
23405         * docs/gst/Makefile.am:
23406         * docs/libs/Makefile.am: No POPT_CFLAGS.
23407         
23408         * examples/manual/Makefile.am:
23409         * docs/manual/basics-init.xml: Doc updates with an example.
23410         
23411         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
23412         (gst_init), (parse_one_option), (parse_goption_arg):
23413         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
23414         bit of hand merging and debugging to get the GOption stuff working
23415         tho.
23416         
23417         * tests/Makefile.am:
23418         * tools/Makefile.am:
23419         * tools/gst-inspect.c: (main):
23420         * tools/gst-launch.c: (main):
23421         * tools/gst-run.c: (main):
23422         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
23423
23424 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23425
23426         * gst/gstiterator.c: (gst_iterator_new):
23427           Add assertions to make sure passed GType is likely to really
23428           be a GType (as the compiler won't catch it if the size and
23429           GType arguments get mixed up, see #318447).
23430
23431 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
23432
23433         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
23434
23435         * gst/gstbin.c: (gst_bin_iterate_sorted):
23436           Pass GType and size arguments to gst_iterator_new() in the right
23437           order (maybe we should make _new() take the GType as first argument
23438           just like _new_list()?) (#318447).
23439           
23440
23441 2005-10-10  Wim Taymans  <wim@fluendo.com>
23442
23443         * gst/gstelement.c: (gst_element_finalize):
23444         And free the GStaticRecMutex too
23445
23446 2005-10-10  Andy Wingo  <wingo@pobox.com>
23447
23448         * gst/gstelement.c (gst_element_init, gst_element_finalize):
23449         Allocate and free the mutex properly.
23450
23451         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
23452         New macros.
23453         (GstElement): The state_lock is now recursive. Rebuild your
23454         plugins, suckers. Old macros adapted.
23455
23456         * docs/gst/gstreamer-sections.txt: Doc updates.
23457
23458         * gst/gstutils.h:
23459         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
23460         (g_static_rec_cond_wait): Ported from state changes patch, while
23461         we wait on bug #317802 to be solved in a well-distributed GLib.
23462
23463         * gst/gstelement.c (gst_element_change_state_func): Renamed from
23464         gst_element_change_state, variable name changes.
23465         (gst_element_change_state): Split out of gst_element_set_state in
23466         preparation for the state change merge. Doesn't pay attention to
23467         the 'transition' argument.
23468         (gst_element_set_state): Updates, hopefully purely cosmetic.
23469         (gst_element_sync_state_with_parent): MT-safety. Ported from the
23470         state change patch.
23471         (gst_element_get_state_func): Renamed from get_state, cosmetic
23472         changes.
23473
23474 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23475
23476         * gst/elements/gstelements.c:
23477         * win32/GStreamer.vcproj:
23478         * win32/config.h:
23479         * win32/dirent.c: (_tseekdir):
23480         * win32/gst-inspect.vcproj:
23481         * win32/gst-launch.vcproj:
23482         * win32/gstconfig.h:
23483         * win32/gstelements.vcproj:
23484         * win32/gstenumtypes.c: (gst_object_flags_get_type):
23485         * win32/gstreamer.def:
23486         * win32/msvc71.sln:
23487           updates for the win32 build (patch from Sebastien Moutte)
23488
23489 2005-10-10  Andy Wingo  <wingo@pobox.com>
23490
23491         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
23492         gst_bin_get_state, cleaned up (but no logic changes).
23493         (bin_element_is_sink): Comment updates.
23494         (sink_iterator_filter): Remove needless cast.
23495         (gst_bin_iterate_sinks): Doc update.
23496         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
23497         cleaned up (but no logic changes).
23498
23499         * check/states/sinks.c (test_src_sink): Cleanups from the state
23500         change patch.
23501         (test_livesrc_sink): Sync on the state.
23502
23503         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
23504         the state change patch.
23505
23506         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
23507         change patch.
23508
23509         * check/gst/gstbin.c: Merge in some style fixes and additional
23510         checks from Wim's state change patch.
23511
23512 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23513
23514         * gst/base/gsttypefindhelper.c: (helper_find_peek),
23515         (gst_type_find_helper):
23516           Check whether we have the requested data already in our list of
23517           cached buffers before pulling a new buffer; also make the buffer
23518           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
23519
23520 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23521
23522         * gst/gstcaps.c:
23523         * gst/gstevent.c:
23524           doc updates
23525         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
23526           don't use long long, it's not portable.  Replacing with
23527           gint64 seems to work; let's hope no skeletons fall out of the closet.
23528
23529 2005-10-10  Andy Wingo  <wingo@pobox.com>
23530
23531         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
23532
23533 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
23534
23535         * docs/gst/gstreamer-sections.txt:
23536         * gst/gstevent.c:
23537         * gst/gstevent.h:
23538         * gst/gstinfo.c:
23539         * gst/gstinfo.h:
23540         * gst/gstmessage.c: (gst_message_parse_state_changed):
23541         * gst/gstpad.c:
23542         * gst/gstpad.h:
23543           more docs, fix compilation
23544
23545 2005-10-09  Philippe Khalaf <burger@speedy.org>
23546         * gst/gstmessage.c:
23547           Fixed a few forgotten variables on previous commit
23548
23549 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
23550
23551         * gst/base/gsttypefindhelper.c: (helper_find_peek):
23552           Fix evil typefind crasher: getrange() might return a short
23553           buffer at the end of a file, but gst_type_find_peek() must
23554           either return the full data as requested or NULL, but
23555           never a short buffer.
23556
23557 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
23558
23559         * gst/gstmessage.c: (gst_message_new_state_changed),
23560         (gst_message_parse_state_changed):
23561         * gst/gstmessage.h:
23562           don't use "new", it's a C++ keyword
23563
23564 2005-10-08  Wim Taymans  <wim@fluendo.com>
23565
23566         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
23567         * gst/gstelement.c: (gst_element_post_message):
23568         * gst/gstpipeline.c: (gst_pipeline_change_state):
23569         Small docs and debug updates.
23570
23571 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
23572
23573         * docs/gst/gstreamer-sections.txt:
23574         * gst/gstelementfactory.c:
23575         * gst/gstevent.c:
23576         * gst/gsttaglist.c:
23577           more docs
23578
23579 2005-10-08  Wim Taymans  <wim@fluendo.com>
23580
23581         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
23582         (gst_bin_dispose), (bin_bus_handler):
23583         Fix typos, add comments.
23584         Clear EOS list when going to PAUSED from any direction and do it
23585         in a threadsafe way.
23586         Get base time in a threadsafe way too.
23587         Fix confusing debug in the change_state function.
23588         Various other small cleanups.
23589         
23590         * gst/gstelement.c: (gst_element_post_message):
23591         Fix very verbose bus posting code.
23592
23593         * gst/gstpipeline.c: (gst_pipeline_class_init),
23594         (gst_pipeline_set_property), (gst_pipeline_get_property),
23595         (gst_pipeline_change_state):
23596         Small ARG_ -> PROP_ cleanup
23597
23598 2005-10-08  Wim Taymans  <wim@fluendo.com>
23599
23600         * gst/gstbin.c: (is_eos), (bin_bus_handler):
23601         Do a less CPU demanding EOS check because we can.
23602
23603 2005-10-08  Wim Taymans  <wim@fluendo.com>
23604
23605         * libs/gst/dataprotocol/dataprotocol.c:
23606         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
23607         (gst_dp_packet_from_event):
23608         * libs/gst/dataprotocol/dataprotocol.h:
23609         * libs/gst/dataprotocol/dp-private.h:
23610         It's about time we bump the version number.
23611         Since event types don't fit in the guint8 anymore describing
23612         the payload type, make payload type 16 bits wide.
23613
23614 2005-10-08  Wim Taymans  <wim@fluendo.com>
23615
23616         * docs/design/part-TODO.txt:
23617         * docs/design/part-clocks.txt:
23618         * docs/design/part-events.txt:
23619         * docs/design/part-gstbin.txt:
23620         * docs/design/part-gstelement.txt:
23621         * docs/design/part-gstpipeline.txt:
23622         * docs/design/part-live-source.txt:
23623         * docs/design/part-messages.txt:
23624         * docs/design/part-overview.txt:
23625         * docs/design/part-states.txt:
23626         Many doc updates.
23627
23628 2005-10-08  Wim Taymans  <wim@fluendo.com>
23629
23630         * gst/gstevent.c:
23631         * gst/gstevent.h:
23632         Fix event quark registration.
23633         Add some space between events so we can insert them in the
23634         right groups.
23635
23636 2005-10-08  Wim Taymans  <wim@fluendo.com>
23637
23638         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23639         (gst_base_sink_handle_buffer):
23640         Better log message.
23641
23642         * gst/gstbus.h:
23643         * gst/gstelement.h:
23644         More docs.
23645
23646         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
23647         (gst_queue_set_property), (gst_queue_get_property):
23648         * gst/gstqueue.h:
23649         Remove old unused properties.
23650
23651 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
23652         * docs/gst/gstreamer-sections.txt:
23653         * gst/gstmessage.c:
23654         * gst/gstmessage.h:
23655         * gst/gstminiobject.c:
23656         * gst/gstminiobject.h:
23657         * gst/gstobject.h:
23658         * gst/gstpad.h:
23659         * gst/gstutils.h:
23660           lots of new docs and doc fixes
23661
23662 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23663
23664         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
23665         * gst/gstplugin.h:
23666         * gst/gstregistry.c: (gst_registry_lookup_locked),
23667         (gst_registry_scan_path_level):
23668         * gst/gstregistryxml.c: (load_plugin):
23669           Only ever load one plugin for a given plugin basename.
23670           This ensures correct overriding of GST_PLUGIN_PATH over
23671           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
23672           system installed plugins.
23673
23674 2005-10-08  Wim Taymans  <wim@fluendo.com>
23675
23676         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23677         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
23678         Prepare for doing QOS.
23679
23680 2005-10-08  Wim Taymans  <wim@fluendo.com>
23681
23682         * check/gst/gstbin.c: (GST_START_TEST):
23683         * check/pipelines/cleanup.c: (GST_START_TEST):
23684         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
23685         Allow new clock message too.
23686
23687 2005-10-08  Wim Taymans  <wim@fluendo.com>
23688
23689         * gst/gstmessage.c: (gst_message_new_error),
23690         (gst_message_new_warning), (gst_message_new_tag),
23691         (gst_message_new_state_changed), (gst_message_new_clock_provide),
23692         (gst_message_new_clock_lost), (gst_message_new_new_clock),
23693         (gst_message_new_segment_start), (gst_message_new_segment_done),
23694         (gst_message_parse_state_changed),
23695         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
23696         (gst_message_parse_new_clock):
23697         * gst/gstmessage.h:
23698         Also carry the clock in question.
23699
23700 2005-10-08  Wim Taymans  <wim@fluendo.com>
23701
23702         * gst/gstmessage.c: (gst_message_new_custom),
23703         (gst_message_new_eos), (gst_message_new_error),
23704         (gst_message_new_warning), (gst_message_new_tag),
23705         (gst_message_new_state_changed), (gst_message_new_clock_provide),
23706         (gst_message_new_new_clock), (gst_message_new_segment_start),
23707         (gst_message_new_segment_done), (gst_message_parse_state_changed),
23708         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
23709         * gst/gstmessage.h:
23710         Clean up.
23711         Added clock related messages.
23712
23713         * gst/gstpipeline.c: (gst_pipeline_change_state):
23714         Post message when the clock changed.
23715
23716         * tools/gst-launch.c: (event_loop):
23717         Print new clock.
23718
23719 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
23720
23721         * tools/gst-inspect.c: (print_element_properties_info):
23722           Can't pass NULL strings to g_print() on windows.
23723
23724 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23725
23726         * docs/Makefile.am:
23727         * docs/gst/Makefile.am:
23728         * docs/gst/gstreamer-docs.sgml:
23729         * docs/gst/running.xml:
23730         * docs/version.entities.in:
23731           add a chapter on running GStreamer.
23732           document GST_DEBUG and GST_PLUGIN* env vars
23733
23734 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23735
23736         * Makefile.am:
23737           remove include dir
23738         * configure.ac:
23739           remove PLUGINS_BUILDDIR stuff
23740         * gst/gst.c: (init_post):
23741           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
23742         * idiottest.mak:
23743           remove, it was condescending and not needed
23744
23745 2005-10-08  Wim Taymans  <wim@fluendo.com>
23746
23747         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
23748         (gst_base_sink_handle_object), (gst_base_sink_event),
23749         (gst_base_sink_wait), (gst_base_sink_handle_event),
23750         (gst_base_sink_change_state):
23751         * gst/base/gstbasesink.h:
23752         Repost EOS message while going to PLAYING if still EOS.
23753         Make sure that when receiving a FLUSH_START we don't attempt
23754         to sync on the clock anymore.
23755
23756 2005-10-08  Wim Taymans  <wim@fluendo.com>
23757
23758         * tools/gst-launch.c: (event_loop):
23759         Better message printout.
23760
23761 2005-10-08  Wim Taymans  <wim@fluendo.com>
23762
23763         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
23764         (gst_bin_child_proxy_get_children_count):
23765         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
23766         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
23767         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
23768         (gst_child_proxy_set_valist):
23769         * gst/parse/grammar.y:
23770         Make ChildProxy threadsafe and fix mem leaks.
23771
23772 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23773
23774         * gst/gst.c: (init_post):
23775           debug the GST_PLUGIN_ env vars
23776
23777 2005-10-08  Wim Taymans  <wim@fluendo.com>
23778
23779         * check/gst/gstbin.c: (GST_START_TEST):
23780         * check/gst/gstmessage.c: (GST_START_TEST):
23781         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
23782         * gst/gstelement.c: (gst_element_commit_state),
23783         (gst_element_lost_state):
23784         * gst/gstmessage.c: (gst_message_new_state_changed),
23785         (gst_message_parse_state_changed):
23786         * gst/gstmessage.h:
23787         * tools/gst-launch.c: (event_loop):
23788         Added extra field to STATE_CHANGE message with the pending
23789         state, which will be different from the new state soon.
23790
23791 2005-10-08  Wim Taymans  <wim@fluendo.com>
23792
23793         * gst/gstbus.c: (gst_bus_pop):
23794         * gst/gstclock.c:
23795         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
23796         Small cleanups and doc updates.
23797
23798 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23799
23800         * gst/gst.c: (init_pre):
23801         * gst/gstbin.c: (gst_bin_add_func):
23802           log distributing clocks and base time
23803         * gst/gstregistry.c: (gst_registry_add_plugin),
23804         (gst_registry_scan_path_level), (gst_registry_scan_path):
23805           clean up the debugging output a little
23806         * gst/gstutils.c: (gst_element_state_get_name):
23807           warn about a memleak (I've actually seen this be used, though
23808           it was probably a bug)
23809
23810 2005-10-07  Wim Taymans  <wim@fluendo.com>
23811
23812         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
23813         (gst_base_src_init), (gst_base_src_default_newsegment),
23814         (gst_base_src_newsegment), (gst_base_src_do_seek),
23815         (gst_base_src_loop), (gst_base_src_start):
23816         * gst/base/gstbasesrc.h:
23817         Make the newsegment event customizable by subclasses.
23818
23819 2005-10-07  Wim Taymans  <wim@fluendo.com>
23820
23821         * gst/gstevent.c: (gst_event_new_buffersize),
23822         (gst_event_parse_buffersize):
23823         * gst/gstevent.h:
23824         New event for future idea.
23825
23826 2005-10-07  Andy Wingo  <wingo@pobox.com>
23827
23828         * gst/gstelement.c (gst_element_post_message): Doc update.
23829
23830         * docs/gst/gstreamer-sections.txt: Update.
23831
23832         * gst/gstmessage.c (gst_message_new_application): Made into a
23833         function like honest API calls.
23834         (gst_message_new_element): New message type.
23835
23836         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
23837
23838         * check/elements/fakesrc.c (test_no_preroll): New check, checks
23839         that setting a live fakesrc to PAUSED returns NO_PREROLL both
23840         times.
23841
23842         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
23843         NO_PREROLL from gst_element_change_state to fall through.
23844
23845 2005-10-07  Wim Taymans  <wim@fluendo.com>
23846
23847         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
23848         (gst_ghost_pad_do_activate_push):
23849         Activating a ghostpad with no internal pad in push mode
23850         is ok.
23851
23852 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
23853
23854         * gst/gstobject.h:
23855           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
23856           Fixes compilation on Windows.
23857
23858 2005-10-07  Michael Smith <msmith@fluendo.com>
23859
23860         * tools/gst-inspect.c:
23861           Print out feature and plugin count at the end when printing out
23862           all features.
23863
23864 2005-10-04  Michael Smith <msmith@fluendo.com>
23865
23866         * gst/gsterror.c: (_gst_stream_errors_init):
23867           Add another error string used in a few existing plugins.
23868
23869         * gst/gstplugin.c:
23870         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
23871         * tools/gst-inspect.c: (print_element_info):
23872           When a feature disappears from a plugin (and the feature exists in
23873           the cached registry file), things went horribly wrong. This isn't a
23874           complete fix, we should actually be removing the 'missing' features
23875           from the features list when we load the actual plugin. That's not
23876           yet implemented. 
23877
23878 2005-10-04  Johan Dahlin  <johan@gnome.org>
23879
23880         * check/gst/gstiterator.c: (GST_START_TEST):
23881         * gst/gstbin.c: (gst_bin_iterate_elements),
23882         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
23883         * gst/gstelement.c: (gst_element_iterate_pads):
23884         * gst/gstformat.c: (gst_format_iterate_definitions):
23885         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
23886         (gst_iterator_new_list), (gst_iterator_filter):
23887         * gst/gstiterator.h:
23888         * gst/gstquery.c: (gst_query_type_iterate_definitions):
23889         Add a GType to GstIterator, update callsites and tests.
23890
23891 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23892
23893         * gst/gstpad.c: (gst_pad_event_default_dispatch):
23894           give events a chance to be handled by event probes when the pad
23895           is not linked
23896
23897 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23898
23899         * gst/gstevent.c: (gst_event_type_get_name),
23900         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
23901         * gst/gstevent.h:
23902           add string representations for event types
23903
23904 2005-10-06  Wim Taymans  <wim@fluendo.com>
23905
23906         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
23907         Don't use NULL pointers.
23908
23909 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23910
23911         * gst/gst_private.h:
23912         * gst/gstbus.c:
23913         * gst/gstelement.c:
23914         * gst/gstinfo.c:
23915         * gst/gstpluginfeature.c:
23916           widen the debug category in output to fit the biggest one we have
23917           add a bus category and use it
23918           play with the colors
23919           fix up some categories
23920
23921 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23922
23923         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
23924           add push activation of sink ghost pads.
23925           Andye, please verify
23926
23927 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
23928
23929         * gst/gstutils.c: (gst_element_link_pads):
23930           fix a bug in the case where neither element has a pad
23931         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
23932           add a test for that case
23933
23934 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
23935
23936         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
23937           emit have-data before checking for peers.  This allows
23938           for probe handlers to connect elements.  This helps autopluggers.
23939         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
23940         (gst_pad_suite):
23941           add six checks, linked/unlinked with no/true/false probe
23942
23943 2005-10-04  Wim Taymans  <wim@fluendo.com>
23944
23945         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
23946         (gst_fake_sink_event), (gst_fake_sink_preroll),
23947         (gst_fake_sink_render), (gst_fake_sink_change_state):
23948         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
23949         (gst_fake_src_get_property), (gst_fake_src_create),
23950         (gst_fake_src_stop):
23951         * gst/elements/gstidentity.c: (gst_identity_stop):
23952         Protect last_message with lock.
23953
23954 2005-10-04  Edward Hervey  <edward@fluendo.com>
23955
23956         * gst/gstformat.h: 
23957         Added precision in the comments for GST_FORMAT_DEFAULT
23958
23959 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
23960
23961         * tools/gst-launch.c: (main):
23962           Don't try to run erroneous pipelines.
23963
23964 2005-10-04  Julien MOUTTE  <julien@moutte.net>
23965
23966         * gst/gstbus.c: We don't need this header.
23967
23968 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
23969
23970         * configure.ac:
23971           back to development
23972
23973 === release 0.9.3 ===
23974
23975 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
23976
23977         * README:
23978         * configure.ac:
23979           Releasing 0.9.3, "Unregistered"
23980
23981 2005-10-03  Andy Wingo  <wingo@pobox.com>
23982
23983         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
23984         whereby calling a pad's activatepush() function can start a thread
23985         that starts to push or pull before the pad gets the FLUSHING flag
23986         unset. Hack around it by holding the stream lock until the flag is
23987         set. Need to replace this with a proper solution. Together with
23988         the ghost pad fixes, this fixes mp3 playing/tagreading.
23989
23990         * docs/design/part-gstghostpad.txt: Add a note about activation of
23991         proxy pads outside of ghost pads.
23992
23993         * gst/gstghostpad.c: Implement the ghost pad activation design.
23994
23995 2005-10-02  Andy Wingo  <wingo@pobox.com>
23996
23997         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
23998         It is volatile, after all.
23999
24000         * docs/design/part-gstghostpad.txt: Flesh out activation with
24001         ghost pads.
24002
24003         * gst/base/gstbasesrc.c (gst_base_src_init): Use
24004         GST_DEBUG_FUNCPTR.
24005
24006 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
24007
24008         * configure.ac:
24009           Fix (unused) AM_CONDITIONAL tests.
24010
24011 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
24012
24013         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
24014
24015         * gst/gstutils.c: (gst_pad_query_convert):
24016           Add assertion that makes sure src_val is >=0, just like
24017           gst_query_new_convert() has. (#315895)
24018
24019 2005-09-30  Edward Hervey  <edward@fluendo.com>
24020
24021         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
24022         Let's not iterate pads we're not interested in, it avoids getting 
24023         sky-high refcounts on sinkpad.
24024
24025 2005-09-30  Wim Taymans  <wim@fluendo.com>
24026
24027         * gst/gstelement.c: (gst_element_set_state),
24028         (gst_element_change_state):
24029         Small tweak, element in ASYNC remains ASYNC.
24030
24031 2005-09-30  Wim Taymans  <wim@fluendo.com>
24032
24033         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
24034         Only error is an error.
24035
24036         * gst/gstbin.c: (gst_bin_change_state):
24037         Better debugging.
24038
24039         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
24040         Also call pad_block in pad alloc.
24041
24042         * gst/gstutils.c: (gst_flow_get_name):
24043         Better debugging.
24044
24045 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
24046
24047         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
24048         (gst_base_src_get_range):
24049           Fix documentation typos. Add some more debug info.
24050
24051 2005-09-29  David Schleef  <ds@schleef.org>
24052
24053         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
24054           more end-user friendly.
24055         * tools/gst-inspect.c: (main): Check if command-line argument is
24056           a file and attempt to load that file as a plugin.
24057
24058 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
24059
24060         * check/gst/gstbin.c:
24061         * check/states/sinks.c:
24062           fix tests for the new warning
24063         * check/gst/gstpipeline.c:
24064           add a test for pipeline and bus interaction
24065         * gst/gstelement.c:
24066           elements should be NULL if they get disposed; add a warning if not
24067
24068 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
24069
24070         * gst/gstobject.c:
24071           for 2.6 refcounting, make debug log more correct by printing
24072           the actual refcounts at the time of swap (Wim)
24073
24074 2005-09-29  Andy Wingo  <wingo@pobox.com>
24075
24076         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
24077         removes signal watches previously added via
24078         gst_bus_add_signal_watch.
24079         (gst_bus_add_signal_watch): Don't return the source id, just store
24080         it on the bus if there wasn't an id already.
24081
24082         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
24083         add_signal_watch and remove_signal_watch.
24084
24085 2005-09-29  Edward Hervey  <edward@fluendo.com>
24086
24087         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
24088         Better if we actually iterate the list :)
24089
24090 2005-09-29  Wim Taymans  <wim@fluendo.com>
24091
24092         * check/gst/gstbin.c: (GST_START_TEST):
24093         Change for new bus API.
24094
24095         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
24096         (send_messages), (GST_START_TEST), (gstbus_suite):
24097         Change for new bus signal API.
24098
24099         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
24100         (gst_bus_source_prepare), (gst_bus_source_check),
24101         (gst_bus_create_watch), (gst_bus_add_watch_full),
24102         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
24103         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
24104         * gst/gstbus.h:
24105         Remove support for multiple GSources operating on different
24106         message types as it is too complex and unneeded when using
24107         signals.
24108         Added support for receiving signals from the bus.
24109
24110 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
24111
24112         * docs/libs/tmpl/gstdataprotocol.sgml:
24113         * docs/manual/advanced-dataaccess.xml:
24114         * gst/elements/gstcapsfilter.c:
24115         * gst/gstutils.c:
24116           rename filter-caps to caps property
24117
24118 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
24119
24120         * gst/gstvalue.c: (gst_value_deserialize_fraction):
24121           More robust fraction string parsing.
24122
24123         * docs/pwg/appendix-porting.xml:
24124           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
24125
24126 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
24127
24128         * gst/gstcaps.c: (gst_caps_do_simplify):
24129           Thou shalt not free a structure and then continue using it
24130           in the next loop iteration.
24131
24132         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
24133         (gst_caps_suite):
24134           Add test case for caps simplification.
24135
24136 2005-09-29  Wim Taymans  <wim@fluendo.com>
24137
24138         * check/gst/gstbin.c: (GST_START_TEST):
24139         Oops.
24140
24141 2005-09-29  Wim Taymans  <wim@fluendo.com>
24142
24143         * check/gst/gstbin.c: (GST_START_TEST):
24144         Add bus to bin.
24145
24146         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
24147         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
24148         (find_element), (gst_bin_sort_iterator_next),
24149         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24150         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24151         (gst_bin_change_state), (gst_bin_dispose):
24152         A bin does not have a bus, it gets the bus from the parent.
24153
24154         * gst/gstelement.c: (gst_element_requires_clock),
24155         (gst_element_provides_clock), (gst_element_is_indexable),
24156         (gst_element_is_locked_state), (gst_element_change_state),
24157         (gst_element_set_bus_func):
24158         Small cleanups.
24159
24160         * gst/gstpipeline.c: (gst_pipeline_class_init),
24161         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
24162         The pipeline provides a bus.
24163
24164 2005-09-28  Johan Dahlin  <johan@gnome.org>
24165
24166         * gst/gstmessage.c (gst_message_parse_state_changed): Use
24167         gst_structure_get_enum instead of gst_structure_get_int
24168
24169         * gst/gststructure.c (gst_structure_get_enum): Impl.
24170
24171         * gst/gststructure.h (gst_structure_get_enum): Add
24172
24173         * docs/gst/gstreamer-sections.txt: Ditto
24174
24175         * gst/gstmessage.c (gst_message_new_state_changed): Use
24176         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
24177         which does introspection.
24178         Reviewed by Christian Schaller
24179
24180 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
24181
24182         * gst/gstinfo.c: (gst_debug_log_default):
24183           don't do dummy g_strdup()s
24184         * libs/gst/controller/gstcontroller.c:
24185         (on_object_controlled_property_changed),
24186         (gst_controlled_property_new), (gst_controller_new_valist),
24187         (gst_controller_new_list),
24188         (gst_controller_remove_properties_valist), (gst_controller_set),
24189         (gst_controller_get), (gst_controller_sync_values),
24190         (gst_controller_get_value_array), (_gst_controller_class_init),
24191         (gst_controller_get_type):
24192         * libs/gst/controller/gstcontroller.h:
24193         * libs/gst/controller/gstinterpolation.c:
24194         (gst_controlled_property_find_timed_value_node):
24195           convert // to /**/ comments
24196
24197 2005-09-28  Wim Taymans  <wim@fluendo.com>
24198
24199         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
24200         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
24201         (gst_bus_sync_signal_handler):
24202         * gst/gstbus.h:
24203         Added async-message and sync-message signals to the bus.
24204         Added helper BusFunc to emit signals for all posted messages.
24205
24206         * gst/gstmessage.c: (gst_message_type_get_name),
24207         (gst_message_type_to_quark), (gst_message_get_type):
24208         * gst/gstmessage.h:
24209         Register quarks for message names.
24210
24211 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
24212
24213         * docs/libs/gstreamer-libs-sections.txt:
24214         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
24215         (gst_controller_new_list):
24216         * libs/gst/controller/gstcontroller.h:
24217           added another constructor for language bindings
24218
24219 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
24220
24221         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
24222           add another check
24223         * gst/gstbus.c:
24224           add some doc
24225         * gst/gstinfo.c: (_gst_debug_init):
24226           slightly more readable color for refcount debugging
24227
24228 2005-09-28  Wim Taymans  <wim@fluendo.com>
24229
24230         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
24231         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
24232         (find_element), (gst_bin_sort_iterator_next),
24233         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24234         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24235         (gst_bin_change_state), (gst_bin_dispose):
24236         Small doc fixes. get_clock -> provide_clock.
24237
24238         * gst/gstelement.c: (gst_element_class_init),
24239         (gst_element_provides_clock), (gst_element_provide_clock),
24240         (gst_element_get_clock), (gst_element_commit_state),
24241         (gst_element_lost_state):
24242         * gst/gstelement.h:
24243         Make get/set_clock() symetric. Add provide_clock vmethod since
24244         that is actually what this function does.
24245
24246         * gst/gstpipeline.c: (gst_pipeline_class_init),
24247         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
24248         (gst_pipeline_get_clock):
24249         get_clock -> provide_clock.
24250
24251 2005-09-28  Andy Wingo  <wingo@pobox.com>
24252
24253         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
24254         lieu of real docs...
24255
24256         * gst/elements/gstfdsrc.c: Cleaned up a bit.
24257
24258 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
24259
24260         * gst/elements/gstcapsfilter.c:
24261         * gst/elements/gstfakesink.c:
24262         * gst/elements/gstfakesrc.c:
24263         * gst/elements/gstfdsink.c:
24264         * gst/elements/gstfdsrc.c:
24265         * gst/elements/gstfilesink.c:
24266         * gst/elements/gstfilesrc.c:
24267         * gst/elements/gstidentity.c:
24268         * gst/elements/gsttee.c:
24269         * gst/elements/gsttypefindelement.c:
24270           Make element details static.
24271
24272 2005-09-28  Wim Taymans  <wim@fluendo.com>
24273
24274         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24275         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24276         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24277         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24278         (gst_bin_change_state), (gst_bin_dispose):
24279         Some documentation updates.
24280         Clean up dispose handlers.
24281
24282         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
24283         * gst/gstpad.c: (gst_pad_dispose):
24284         Clean up dispose handler.
24285
24286         * gst/gstpipeline.c: (gst_pipeline_change_state):
24287         Removed spurious UNLOCK.
24288
24289 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
24290
24291         * docs/gst/gstreamer-sections.txt:
24292         * gst/base/gstbasesrc.h:
24293         * gst/gstelement.h:
24294         * gst/gstevent.h:
24295         * gst/gstobject.h:
24296         * gst/gstpad.h:
24297         * gst/gstpipeline.c:
24298         * gst/gstpipeline.h:
24299         * gst/gstutils.h:
24300         * gst/gstxml.h:
24301           added two new functions to the docs
24302                 documents all undocumented GstXXXFlags
24303                 completed some incomplete docs 
24304
24305 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
24306
24307         * gst/gstbin.c: (gst_bin_dispose):
24308         * gst/gstelement.c: (gst_element_dispose):
24309           remove now useless and leaky resurrection code in dispose
24310         * gst/base/gstbasesrc.c: (gst_base_src_init):
24311         * gst/gstelementfactory.c: (gst_element_factory_create):
24312         * gst/gstobject.c: (gst_object_set_parent):
24313           add some debugging
24314
24315 2005-09-27  Wim Taymans  <wim@fluendo.com>
24316
24317         * docs/design/part-TODO.txt:
24318         Update TODO.
24319
24320         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24321         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24322         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24323         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24324         (gst_bin_change_state):
24325         * gst/gstelement.h:
24326         Remove element variable, we keep element info in the iterator now.
24327
24328 2005-09-27  Andy Wingo  <wingo@pobox.com>
24329
24330         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
24331         values.
24332
24333 2005-09-27  Wim Taymans  <wim@fluendo.com>
24334
24335         * check/gst/gstbin.c: (GST_START_TEST):
24336         Enable check that works now.
24337
24338         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24339         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24340         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24341         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24342         (gst_bin_change_state):
24343         * gst/gstbin.h:
24344         Redid the state change algorithm using a topological sort algo.
24345         Handles all cases correctly.
24346         Exposed iterator for state change order.
24347
24348         * gst/gstelement.h:
24349         Temp storage for state changes. Need to get rid of this soon.
24350
24351 2005-09-27  Wim Taymans  <wim@fluendo.com>
24352
24353         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
24354         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
24355         (link_fold_func), (gst_pad_proxy_setcaps):
24356         Leak fixes, the fold functions need to unref the passed object and
24357         _get_parent_*() returns ref to parent.
24358
24359 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24360
24361         * check/gst/gstbuffer.c: (test_make_writable):
24362           Plug leak in test case and fix 'make check-valgrind'
24363
24364 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24365
24366         * gst/gstbuffer.c: (gst_subbuffer_init):
24367           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
24368           works correctly in all circumstances (we could have just copied
24369           the parent buffer's readonly flag, but conceptually it seems
24370           cleaner to mark all subbuffers as read-only). (based on patch
24371           by Alessandro Decina, #314710).
24372         
24373         * check/gst/gstbuffer.c: (create_read_only_buffer),
24374         (test_make_writable), (test_subbuffer_make_writable),
24375         (gst_test_suite):
24376           Add some tests for gst_buffer_make_writable().
24377
24378 2005-09-27  Wim Taymans  <wim@fluendo.com>
24379
24380         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
24381         use gst_object_has_ancestor().
24382
24383         * gst/gstobject.c: (gst_object_has_ancestor):
24384         * gst/gstobject.h:
24385         gst_object_has_ancestor() copied from gstbin.c as it is a
24386         useful function.
24387
24388         * tests/instantiate/create.c: (create_all_elements):
24389         * tests/lat.c: (handoff_src), (handoff_sink):
24390         * tests/sched/runxml.c: (main):
24391         * tests/seeking/seeking1.c: (main):
24392         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
24393         (main):
24394         Fix compilation of some tests.
24395
24396 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24397
24398         * gst/gsterror.h:
24399           Remove comment. GST_TYPE_G_ERROR is here to stay,
24400           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
24401           (#316961, #300610).
24402
24403 2005-09-26  Wim Taymans  <wim@fluendo.com>
24404
24405         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
24406         Added check that shows error in state change order.
24407
24408 2005-09-26  Wim Taymans  <wim@fluendo.com>
24409
24410         * gst/gstbin.c: (gst_bin_change_state):
24411         Make state change function use 3 queues again, we were
24412         adding elements in the wrong order.
24413
24414         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
24415         Some debug info,
24416
24417         * gst/gstpad.c: (gst_pad_dispose):
24418         Added some debug info first.
24419
24420 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
24421
24422         * docs/design/draft-push-pull.txt:
24423         * docs/design/part-events.txt:
24424         * docs/design/part-overview.txt:
24425         * docs/design/part-scheduling.txt:
24426           Replace all _pull_region() with _pull_range()
24427           
24428 2005-09-26  Andy Wingo  <wingo@pobox.com>
24429
24430         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
24431
24432         * check/gst-libs/controller.c: Update for controller api change.
24433
24434         * configure.ac: 
24435         * tests/Makefile.am:
24436         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
24437         over by GLib bug 118439.
24438         
24439         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
24440         routines to a function.
24441
24442         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
24443
24444         * libs/gst/controller/gsthelper.c:
24445         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
24446         (gst_object_sync_values): Renamed from sink_values. Ugh.
24447
24448         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
24449
24450         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
24451         Renamed from controller_key, as it is exported.
24452
24453         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
24454
24455 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
24456
24457         * gst/Makefile.am:
24458         * gst/gst.h:
24459         * gst/gstpad.h:
24460         * gst/gstpadtemplate.h:
24461         * gst/gstquery.c:
24462         * gst/gstquery.h:
24463         * gst/gstqueryutils.c:
24464         * gst/gstqueryutils.h:
24465           remove queryutils headers after moving the two used functions
24466           to gstquery.  also fixes build problem for gstsiddec
24467
24468 2005-09-26  Michael Smith <msmith@fluendo.com>
24469
24470         * tools/gst-launch.1.in:
24471         Correct documentation in manpage of debug syntax
24472
24473 2005-09-26  Wim Taymans  <wim@fluendo.com>
24474
24475         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
24476         (gst_base_src_is_seekable), (gst_base_src_change_state):
24477         Some more debugging info.
24478
24479 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24480
24481         * docs/gst/gstreamer-sections.txt:
24482         * gst/base/gstbasetransform.h:
24483         * gst/gstindex.h:
24484           added more docs
24485
24486 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24487
24488         * docs/gst/.cvsignore:
24489         * docs/gst/tmpl/.cvsignore:
24490         * docs/gst/tmpl/gstpipeline.sgml:
24491         * docs/gst/tmpl/gstplugin.sgml:
24492         * gst/gstpipeline.c:
24493         * gst/gstplugin.c:
24494         * gst/gstplugin.h:
24495           inlined the last two docs files
24496           removed the tmpl directory from cvs (no more conflicts here!)
24497
24498 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24499
24500         * docs/gst/gstreamer-sections.txt:
24501         * docs/gst/tmpl/.cvsignore:
24502         * docs/gst/tmpl/gstpad.sgml:
24503         * docs/gst/tmpl/gstpadtemplate.sgml:
24504         * gst/Makefile.am:
24505         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
24506         (gst_pad_finalize), (gst_pad_set_pad_template):
24507         * gst/gstpad.h:
24508         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
24509         (gst_pad_template_class_init), (gst_pad_template_init),
24510         (gst_pad_template_dispose), (name_is_valid),
24511         (gst_static_pad_template_get), (gst_pad_template_new),
24512         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
24513         (gst_pad_template_pad_created):
24514         * gst/gstpadtemplate.h:
24515           inlined two more docs
24516           factored gstpadtemplate out of gstpad
24517
24518 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
24519
24520         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24521         (test_children_state_change_order_semi_sink):
24522           Fix test case: we can't rely on a fixed state change order when
24523           going from READY => PAUSED because the sink might commit its 
24524           new state first when the first buffer created by the source 
24525           reaches the sink before the source has finished its change state.
24526           (Test case still fails at times, see #316856, comment 5 onwards)
24527
24528 2005-09-24  Wim Taymans  <wim@fluendo.com>
24529
24530         * docs/design/part-events.txt:
24531         * docs/design/part-gstbus.txt:
24532         * docs/design/part-gstpipeline.txt:
24533         * docs/design/part-messages.txt:
24534         * docs/design/part-overview.txt:
24535         * docs/design/part-segments.txt:
24536         * gst/gstbin.c:
24537         * gst/gstbuffer.c:
24538         * gst/gstclock.c:
24539         * gst/gstelement.c:
24540         * gst/gstevent.c:
24541         * gst/gstfilter.c:
24542         * gst/gstiterator.c:
24543         Various documentation updates.
24544
24545 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
24546
24547         * gst/gstclock.h:
24548           Well, that's embarassing.  Luckily we weren't using
24549           GST_CLOCK_DIFF anywhere.
24550
24551 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24552
24553         * common/gtk-doc.mak:
24554           don't fail on building XML, FC4 slave shows a bunch of doc
24555           missing bits that I don't get
24556         * gst/gstpad.c:
24557         * gst/gstpipeline.c:
24558         * gst/gststructure.c:
24559           some doc updates
24560
24561 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
24562
24563         * docs/design/part-gstbin.txt:
24564         * docs/design/part-gstbus.txt:
24565         * gst/gstbus.c:
24566           Add blurb about how the bus goes into flushing mode and
24567           drops all messages when its bin goes from READY into NULL 
24568           state.
24569
24570 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24571
24572         * docs/gst/gstreamer-sections.txt:
24573         * gst/gststructure.c: (gst_structure_get_clock_time):
24574         * gst/gststructure.h:
24575           add a method to get a GstClockTime out of a structure
24576
24577 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
24578
24579         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24580         (test_children_state_change_order_semi_sink), (gst_bin_suite):
24581           Added test to check state change order in bins (can still be made
24582           to fail here under heavy disk load; bails out with 'Push on pad
24583           fakesink:sink0, but it was not activated in push mode').
24584
24585         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
24586           Fix state change order when there is only a semi sink (#316856)
24587
24588         * gst/gstbus.c: (gst_bus_class_init):
24589           Use _class_peek_parent(), not _class_ref(); fix docs to say
24590           'default main context' instead of 'mainloop' where that is
24591           what's meant.
24592
24593         * gst/gstelement.c: (gst_element_commit_state),
24594         (gst_element_set_state):
24595           Fix typos in debug messages
24596
24597 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24598
24599         * docs/README:
24600         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
24601         * gst/gstpluginfeature.c:
24602         * gst/gstutils.c:
24603           various doc updates
24604         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24605           change an assert into an error until it gets fixed properly
24606
24607 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
24608
24609         * docs/gst/gstreamer-sections.txt:
24610         * docs/gst/tmpl/.cvsignore:
24611         * docs/gst/tmpl/gstelement.sgml:
24612         * docs/gst/tmpl/gstinfo.sgml:
24613         * docs/gst/tmpl/gstobject.sgml:
24614         * gst/gstelement.c:
24615         * gst/gstelement.h:
24616         * gst/gstinfo.c:
24617         * gst/gstinfo.h:
24618         * gst/gstobject.c: (gst_object_class_init):
24619         * gst/gstobject.h:
24620           inlined 3 more biiiig doc files and added some missing docs on the fly
24621
24622 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24623
24624         * check/gst/.cvsignore:
24625         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
24626         * gst/gstregistryxml.c: (load_plugin),
24627         (gst_registry_xml_save_plugin):
24628           put back source in registry.  add checks for find_plugin.
24629         * testsuite/states/bin.c: (assert_state), (empty_bin),
24630         (test_adding_one_element), (main):
24631         * testsuite/states/locked.c: (main):
24632           some compile/run fixes
24633
24634 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
24635
24636         * check/gst/gstvalue.c: (GST_START_TEST):
24637           fix leaks in the test itself
24638
24639 2005-09-22  Wim Taymans  <wim@fluendo.com>
24640
24641         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24642         (gst_base_sink_send_event), (gst_base_sink_peer_query),
24643         (gst_base_sink_query):
24644         Prepare for more accurate position reporting and query
24645         handling.
24646
24647         * gst/gstelement.c: (gst_element_send_event),
24648         (gst_element_set_state):
24649         Add some comment.
24650
24651 2005-09-22  Wim Taymans  <wim@fluendo.com>
24652
24653         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
24654         (gst_query_parse_segment):
24655         * gst/gstquery.h:
24656         More documentation.
24657         Add segment query for future use.
24658
24659 2005-09-22  Wim Taymans  <wim@fluendo.com>
24660
24661         * gst/gstbin.c: (gst_bin_add_func):
24662         Some more debug info.
24663
24664         * gst/gstelement.c: (gst_element_send_event):
24665         Simplify send_event
24666
24667         * gst/gstelement.h:
24668         Don't know how flags got broken.
24669
24670         * gst/gstquery.h:
24671         Added new query.
24672
24673 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
24674
24675         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
24676           Add simplistic test suite for GST_TYPE_DATE serialisation and
24677           deserialisation.
24678
24679 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
24680
24681         * docs/gst/gstreamer-sections.txt:
24682         * gst/gststructure.c: (gst_structure_set_valist),
24683         (gst_structure_get_date):
24684         * gst/gststructure.h:
24685         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
24686         (gst_date_copy), (gst_value_compare_date),
24687         (gst_value_serialize_date), (gst_value_deserialize_date),
24688         (gst_value_transform_date_string),
24689         (gst_value_transform_string_date), (_gst_value_initialize):
24690         * gst/gstvalue.h:
24691           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
24692           bunch of utility functions along with a hack that checks that
24693           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
24694           is required. Part of the grand scheme in #170777.
24695
24696 2005-09-22  Andy Wingo  <wingo@pobox.com>
24697
24698         * gst/gstconfig.h.in: Psych out gtk-doc.
24699
24700         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
24701
24702         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
24703
24704         * tools/gst-inspect.c (print_element_list): Plug some
24705         inconsequential leaks.
24706
24707         * gst/gstregistry.c (gst_registry_get_default): Doc.
24708
24709         * check/gst/gstplugin.c: 
24710         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
24711         * gst/gstelementfactory.c (gst_element_factory_create): 
24712         * gst/gstindexfactory.c (gst_index_factory_create): Update for
24713         refcount changes.
24714
24715         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
24716         (gst_plugin_feature_load): Doc, don't eat refs.
24717
24718         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
24719         (gst_plugin_list_free): Doc.
24720         (gst_plugin_load_file): Doc updates.
24721
24722         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
24723         accessors returning refcounted objects, return a ref.
24724
24725         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
24726         accessor for caps. IDEMPOTENCE. Oh yes.
24727
24728 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
24729
24730         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
24731
24732         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
24733         (_gst_debug_register_funcptr):
24734           Add mutex to serialise access to the hash table with
24735           the function pointer => function name string mapping;
24736           make that hash table static scope (#316809).
24737
24738         * gst/registries/.cvsignore:
24739           Remove left-over file.
24740
24741 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
24742
24743         * docs/pwg/appendix-porting.xml:
24744           And something about newsegment events and caps-on-buffers to
24745           the porting guide (feel free to improve).
24746
24747 2005-09-21  Andy Wingo  <wingo@pobox.com>
24748
24749         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
24750         data and event probes on the same pad.
24751         (test_buffer_probe_once): Test that removing probes from within
24752         the probe functions works.
24753
24754 2005-09-21  Andy Wingo  <wingo@pobox.com>
24755
24756         * check/gst/gstutils.c: New file.
24757         (test_buffer_probe_n_times): A simple buffer probe test. More to
24758         come, foolios.
24759
24760         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
24761         have-data::buffer, not have-data.
24762         (gst_pad_add_event_probe): Likewise for have-data::event.
24763         (gst_pad_add_data_probe): More docs. The part about 'resolving the
24764         peer' isn't quite right yet though.
24765         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
24766         (gst_pad_remove_data_probe): Change to take the guint handler_id
24767         as their arg, not the function+data, which is more glib-like.
24768
24769         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
24770         the signal emission to indicate if the data is a buffer or an
24771         event.
24772         (gst_pad_get_type): Initialize buffer and event quarks.
24773         (gst_pad_class_init): have-data is now a detailed signal, yes it
24774         is.
24775
24776 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
24777
24778         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
24779         * gst/gstutils.c: (gst_util_set_value_from_string),
24780         (gst_util_set_object_arg):
24781           Don't put functional code in g_return_if_fail() or
24782           g_return_val_if_fail() statements, otherwise things will 
24783           break when G_DISABLE_CHECKS is defined during compilation.
24784
24785 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24786
24787         * docs/gst/tmpl/.cvsignore:
24788         * docs/gst/tmpl/gstvalue.sgml:
24789         * gst/gstvalue.c:
24790         * gst/gstvalue.h:
24791           inlied another one and added  some obvious docs
24792
24793 2005-09-21  Wim Taymans  <wim@fluendo.com>
24794
24795         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
24796         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
24797         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
24798         (gst_fdsrc_get_property), (gst_fdsrc_create):
24799         * gst/elements/gstfdsrc.h:
24800         Properly implement fdsrc. Removed signal and timeout,
24801         better implemented somewhere else.
24802
24803 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24804
24805         * docs/gst/tmpl/.cvsignore:
24806         * docs/gst/tmpl/gstimplementsinterface.sgml:
24807         * gst/gstinterface.c:
24808           inlined more docs
24809
24810 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24811
24812         * docs/gst/gstreamer-sections.txt:
24813         * docs/gst/tmpl/.cvsignore:
24814         * docs/gst/tmpl/gstenumtypes.sgml:
24815           remove obsolete doc file
24816
24817 2005-09-21  David Schleef  <ds@schleef.org>
24818
24819         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
24820         little beer, fix a little leak.
24821
24822 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24823
24824         * docs/gst/gstreamer-docs.sgml:
24825         * docs/gst/gstreamer-sections.txt:
24826         * docs/gst/tmpl/.cvsignore:
24827         * gst/Makefile.am:
24828         * gst/gst.h:
24829         * gst/gstbin.c:
24830         * gst/gstelement.h:
24831         * gst/gstindex.c: (gst_index_class_init):
24832         * gst/gstindex.h:
24833         * gst/gstindexfactory.c: (gst_index_factory_get_type),
24834         (gst_index_factory_class_init), (gst_index_factory_init),
24835         (gst_index_factory_finalize), (gst_index_factory_new),
24836         (gst_index_factory_destroy), (gst_index_factory_find),
24837         (gst_index_factory_create), (gst_index_factory_make):
24838         * gst/gstindexfactory.h:
24839         * gst/gstpluginfeature.c:
24840         * gst/gstpluginfeature.h:
24841         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24842           more docs inlined, splitted gstindex.{c,h}
24843
24844 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24845
24846         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24847           fix a leak
24848
24849 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
24850
24851         * gst/elements/gstfilesink.c: (gst_file_sink_init):
24852           Set sync to FALSE by default.
24853
24854 2005-09-20  Wim Taymans  <wim@fluendo.com>
24855
24856         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24857         (gst_base_sink_init):
24858         Make sync property settable from subclass.
24859
24860         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
24861         (gst_fake_sink_change_state):
24862         Set sync to FALSE by default.
24863
24864 2005-09-20  Wim Taymans  <wim@fluendo.com>
24865
24866         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
24867         * tools/gst-launch.c: (main):
24868         The timeout handler should have lower priority than the source
24869         so we don't timeout before popping a message with 0 timeout.
24870         Dump error messages after failed state change.
24871
24872 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
24873
24874         * tools/gst-inspect.c: (print_element_properties_info):
24875           Fix two typos.
24876
24877 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24878
24879         * check/gst/gstevent.c:
24880         * gst/elements/gstfakesink.c:
24881         * gst/elements/gstfakesink.h:
24882           remove the sync property from fakesink.
24883           has the side effect of setting sync TRUE
24884           for fakesink, which is a change.  Anyone who knows how
24885           to fix this nicely in a GObject-y way, feel free.
24886
24887 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
24888
24889         * docs/gst/gstreamer-docs.sgml:
24890           remove probe refsection
24891
24892 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
24893
24894         * check/Makefile.am:
24895           disable valgrinding the controller test again
24896         * docs/gst/gstreamer-sections.txt:
24897           update for api-changes
24898
24899 2005-09-20  Wim Taymans  <wim@fluendo.com>
24900
24901         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24902         (gst_base_sink_set_property), (gst_base_sink_get_property),
24903         (gst_base_sink_do_sync):
24904         * gst/base/gstbasesink.h:
24905         Added sync property to basesink to disable clock sync.
24906
24907 2005-09-20  Andy Wingo  <wingo@pobox.com>
24908
24909         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
24910         eating the caller's refcount.
24911
24912         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
24913         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
24914         refcount.
24915
24916         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
24917         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
24918         of GLib 2.8 public, so we can know which refcount to check in
24919         tests.
24920
24921         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
24922         (gst_object_init): Only set the gst refcount if we're going ahead
24923         with the refcount hack.
24924
24925 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
24926
24927         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
24928         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24929           more leaks plumbed, added more debug-logging
24930         * gst/gstmacros.h:
24931           whitespace fix
24932
24933 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24934
24935         * gst/gstmessage.c:
24936           remove include of gstmemchunk.h
24937
24938 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24939
24940         * gst/gstclock.c: (_gst_clock_id_free):
24941           Commit from the Political Party For More Atomic CVS Commits,
24942           so that people don't waste too much of their day fishing
24943           out obvious leaks out of massive commits.
24944           Oh, and fix a pretty damn obvious leak in the memchunk
24945           removal code.
24946
24947 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
24948
24949         * check/Makefile.am:
24950         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
24951           plug mem-leak, re-add to valgrindable tests
24952
24953 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24954
24955         * gst/gstplugin.h:
24956           unbreak the build for those who have chronic arthritis
24957           and typing "make check" is just too taxing on the hands
24958
24959 2005-09-20  Andy Wingo  <wingo@pobox.com>
24960
24961         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
24962         really want it out, you should fix plugins at the same time.
24963
24964 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
24965
24966         * configure.ac:
24967         * docs/gst/gstreamer-sections.txt:
24968         * gst/gstobject.c:
24969           added missing symbols to api docs
24970           disable ref-count hack if we have glib >= 2.8
24971
24972 2005-09-19  David Schleef  <ds@schleef.org>
24973
24974         * docs/gst/Makefile.am: Ignore a few more internal headers
24975         * docs/gst/gstreamer-docs.sgml: Remove old sections
24976         * docs/gst/gstreamer-sections.txt: Remove old sections
24977         * docs/gst/tmpl/gstobject.sgml: update
24978         * docs/gst/tmpl/gstplugin.sgml: update
24979         * docs/gst/tmpl/gstpluginfeature.sgml: update
24980         * docs/random/ds/0.9-suggested-changes: update.
24981         * gst/Makefile.am: remove memchunk and trashstack, since they're
24982           not used.
24983         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
24984         * gst/gst.h: don't include some headers
24985         * gst/gstchildproxy.c: add gstmarshal.h
24986         * gst/gstclock.c: Don't use memchunks
24987         * gst/gstminiobject.c: Add some docs
24988         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
24989         * gst/gstobject.h: same
24990         * gst/gstplugin.c: include gstmacros.h
24991         * gst/gstplugin.h: don't include gstmacros.h, since it's private
24992         * gst/gstquery.c: don't use memchunks
24993         * gst/gstregistry.c: rename gst_registry_deinit()
24994         * gst/gstregistry.h: same
24995
24996 2005-09-19  David Schleef  <ds@schleef.org>
24997
24998         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
24999         * docs/libs/gstreamer-libs-sections.txt:
25000         * docs/libs/tmpl/gstgetbits.sgml:
25001         * docs/libs/tmpl/gstputbits.sgml:
25002
25003 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
25004
25005         * win32/gstenumtypes.c:
25006         * win32/gstenumtypes.h:
25007           Update.
25008
25009 2005-09-19  Wim Taymans  <wim@fluendo.com>
25010
25011         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
25012         Automatically PAUSE and RESUME a pipeline when a flushing seek
25013         is performed.
25014
25015 2005-09-19  Andy Wingo  <wingo@pobox.com>
25016
25017         * gst/gstregistry.h: Spacing fixen.
25018
25019 2005-09-19  Wim Taymans  <wim@fluendo.com>
25020
25021         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
25022         Handle state change failure more correctly.
25023
25024 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25025
25026         * check/Makefile.am:
25027         * check/pipelines/cleanup.c: (run_pipeline):
25028         * check/pipelines/simple_launch_lines.c: (run_pipeline),
25029         (GST_START_TEST):
25030           enable cleanup again after fixing the leak
25031         * docs/README:
25032           some more info on docs
25033
25034 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25035
25036         * check/Makefile.am:
25037           re-enable tests now that leaks are plugged
25038         * check/gst/gst.c:
25039         * check/gst/gstbin.c:
25040         * check/gst/gstpipeline.c:
25041           add some more tests while fixing leaks
25042         * common/check.mak:
25043           make sure binaries are uptodate when valgrinding/gdbing
25044         * gst/gst.c:
25045         * gst/gstelementfactory.c:
25046           remove a ref too many, and add a FIXME for when we get
25047           round to disposing of classes
25048         * gst/gstplugin.c:
25049           fix the refcounting when loading a plugin from a file and
25050           the code pretends that the pointer is the same even though
25051           of course it can change
25052         * gst/gstpluginfeature.c:
25053           unref plugins marked cached (a bit confusing as a name)
25054           as the docs state should be done
25055           various doc additions to explain refcounting
25056         * gst/gstregistry.c:
25057         * gst/gstregistryxml.c:
25058           debugging
25059
25060 2005-09-19  Wim Taymans  <wim@fluendo.com>
25061
25062         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
25063         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
25064         (send_messages), (GST_START_TEST), (gstbus_suite):
25065         * check/gst/gstpipeline.c: (GST_START_TEST):
25066         * check/pipelines/cleanup.c: (run_pipeline):
25067         * check/pipelines/simple_launch_lines.c: (run_pipeline),
25068         (GST_START_TEST):
25069         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
25070         (gst_bus_source_check), (gst_bus_source_dispatch),
25071         (gst_bus_create_watch), (gst_bus_add_watch_full),
25072         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
25073         * gst/gstbus.h:
25074         * tools/gst-launch.c: (event_loop):
25075         * tools/gst-md5sum.c: (event_loop):
25076         GstBusHandler -> GstBusFunc, return value has the same meaning as
25077         any other GSource (FALSE == remove source).
25078         _add_watch() and _add_watch_full() now take a MessageType mask to
25079         only handle specific types of messages.
25080         _poll() returns the GstMessage instead of the message type to avoid
25081         race conditions.
25082         _have_pending() takes a MessageType mask now too.
25083         Added testsuite for multiple bus watches.
25084         Fix testsuites and applications for new bus API.
25085
25086 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25087
25088         * check/Makefile.am:
25089           mark a bunch of the tests as to fix until we fix them
25090
25091 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
25092
25093         * common/check.mak:
25094           use GST_PLUGIN settings for valgrind tests as well, so we're
25095           valgrinding the correct thing
25096         * gst/gst.c: (init_post):
25097           plug another leak
25098
25099 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
25100
25101         * gst/gst.c: (init_post), (gst_deinit):
25102         * gst/gstelementfactory.c: (gst_element_factory_class_init),
25103         (gst_element_factory_finalize), (gst_element_factory_cleanup):
25104         * gst/gstindex.c: (gst_index_factory_class_init),
25105         (gst_index_factory_finalize):
25106         * gst/gstobject.c: (gst_object_dispose):
25107         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
25108         (gst_plugin_load_file), (gst_plugin_desc_free):
25109         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
25110         (gst_plugin_feature_finalize):
25111         * gst/gstregistry.c: (gst_registry_class_init),
25112         (gst_registry_init), (gst_registry_finalize),
25113         (gst_registry_get_default), (gst_registry_deinit):
25114         * gst/gstregistry.h:
25115         * gst/gstregistryxml.c: (load_feature), (load_plugin):
25116           various cleanups and memleak plugging.  make valgrind is happy now.
25117
25118 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
25119
25120         * common/check.mak:
25121           add a check-valgrind target
25122
25123 2005-09-18  David Schleef  <ds@schleef.org>
25124
25125         * tools/gst-inspect.c: Revert the GOption code.
25126
25127 2005-09-17  David Schleef  <ds@schleef.org>
25128
25129         * check/Makefile.am: Fix environment variables.
25130         * check/gst/gstplugin.c: Fix for API changes.
25131         * tools/gst-inspect.c: Fix for API changes.
25132         * tools/gst-xmlinspect.c: Fix for API changes.
25133         * gst/gstelementfactory.c:
25134         * gst/gstplugin.c:
25135         * gst/gstplugin.h:
25136         * gst/gstpluginfeature.c:
25137         * gst/gstpluginfeature.h:
25138         * gst/gstregistry.c:
25139         * gst/gstregistry.h:
25140         * gst/gstregistryxml.c:
25141         * gst/gsttypefind.c:
25142         * gst/gsttypefindfactory.c:
25143         * gst/indexers/gstfileindex.c:
25144         * gst/indexers/gstmemindex.c:
25145         * gst/schedulers/Makefile.am:
25146           Change registry to keep track of both plugins and features,
25147           removing the feature tracking from plugins themselves.
25148
25149 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
25150
25151         * check/Makefile.am:
25152         * tools/gst-register.1.in:
25153           remove gst-register
25154
25155 2005-09-15  David Schleef  <ds@schleef.org>
25156
25157         * check/gst/gstplugin.c:
25158         * gst/gstelementfactory.c:
25159         * gst/gstplugin.c:
25160         * gst/gstpluginfeature.c:
25161         * gst/gstregistry.c:
25162           Getting tired of debugging.  Disabled all the unreffing of
25163           plugins and features, which fixes the segfaults, but of
25164           course leaks like crazy.  At least playbin works.
25165
25166 2005-09-15  David Schleef  <ds@schleef.org>
25167
25168         * check/gst/gstplugin.c: (register_check_elements),
25169         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
25170         More testing
25171         * gst/elements/gsttypefindelement.c: Fix refcounting.
25172         * gst/gsttypefind.c:
25173         * gst/gsttypefindfactory.c:
25174         * gst/gsttypefindfactory.h:
25175
25176 2005-09-15  David Schleef  <ds@schleef.org>
25177
25178         * gst/gstindex.c: get refcounting correct.
25179         * gst/gstregistry.c: Handle the case where a feature/plugin is
25180           not found.
25181
25182 2005-09-15  David Schleef  <ds@schleef.org>
25183
25184         * check/Makefile.am:
25185         * check/gst/gstplugin.c: Add test
25186         * gst/gstplugin.c: Fix problems noticed by testsuite
25187         * gst/gstplugin.h:
25188         * gst/gstregistry.c: 
25189         * gst/gstregistry.h:
25190
25191 2005-09-15  David Schleef  <ds@schleef.org>
25192
25193         * gst/gstplugin.c: Implement semi-decent recounting and locking
25194           in plugins and plugin features.
25195         * gst/gstplugin.h:
25196         * gst/gstpluginfeature.c:
25197         * gst/gstpluginfeature.h:
25198         * gst/gstregistry.c:
25199
25200 2005-09-15  Michael Smith <msmith@fluendo.com>
25201
25202         * gst/gstregistry.c: (gst_registry_get_feature_list):
25203           Implement this. Makes oggdemux work; decodebin still broken.
25204
25205 2005-09-14  David Schleef  <ds@schleef.org>
25206
25207         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
25208           #316076)
25209         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
25210         * gst/check/Makefile.am:
25211         * libs/gst/controller/Makefile.am:
25212         * libs/gst/dataprotocol/Makefile.am:
25213
25214 2005-09-14  David Schleef  <ds@schleef.org>
25215
25216         * configure.ac: Remove getbits library.  Nothing uses it, and
25217           it should be in something like liboil if someone did want
25218           to use it.
25219         * libs/gst/Makefile.am:
25220         * libs/gst/getbits/Makefile.am:
25221         * libs/gst/getbits/gbtest.c:
25222         * libs/gst/getbits/getbits.c:
25223         * libs/gst/getbits/getbits.h:
25224         * libs/gst/getbits/gstgetbits_generic.c:
25225         * libs/gst/getbits/gstgetbits_i386.s:
25226         * libs/gst/getbits/gstgetbits_inl.h:
25227
25228 2005-09-14  David Schleef  <ds@schleef.org>
25229
25230         * gst/Makefile.am: Dist glib-compat.h
25231
25232 2005-09-14  David Schleef  <ds@schleef.org>
25233
25234         * configure.ac: Remove gst/registries, since it's no longer used.
25235         * gst/registries/Makefile.am:
25236         * gst/registries/gstlibxmlregistry.c:
25237         * gst/registries/gstlibxmlregistry.h:
25238         * gst/registries/gstxmlregistry.c:
25239         * gst/registries/gstxmlregistry.h:
25240         * gst/registries/registrytest.c:
25241
25242 2005-09-14  David Schleef  <ds@schleef.org>
25243
25244         * gst/glib-compat.h:
25245         * gst/gstregistryxml.c:
25246           Convergence is near.  Seriously.
25247
25248 2005-09-14  David Schleef  <ds@schleef.org>
25249
25250         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25251         * gst/glib-compat.h:
25252           Attempt #4 to appease the buildbots.
25253
25254 2005-09-14  David Schleef  <ds@schleef.org>
25255
25256         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25257           Attempt #3.
25258
25259 2005-09-14  David Schleef  <ds@schleef.org>
25260
25261         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25262         Attempt #2.
25263
25264 2005-09-14  David Schleef  <ds@schleef.org>
25265
25266         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
25267           the new functions.
25268
25269 2005-09-14  David Schleef  <ds@schleef.org>
25270
25271         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25272         * gst/glib-compat.h: Add some functions that are in newer versions
25273           of glib than we care to require.
25274         * gst/gstregistryxml.c: Use them.
25275
25276 2005-09-14  David Schleef  <ds@schleef.org>
25277
25278         * po/POTFILES.in: remove gst-register.c
25279
25280 2005-09-14  David Schleef  <ds@schleef.org>
25281
25282         * docs/gst/gstreamer-docs.sgml:
25283         * docs/gst/gstreamer-sections.txt:
25284         * docs/gst/gstreamer.types:
25285         * docs/gst/tmpl/gstelement.sgml:
25286         * docs/gst/tmpl/gstplugin.sgml:
25287         * docs/gst/tmpl/gstpluginfeature.sgml:
25288           Documentation updates for registry changes.
25289
25290 2005-09-14  David Schleef  <ds@schleef.org>
25291
25292         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
25293           because we don't require glib-2.8.
25294
25295 2005-09-14  David Schleef  <ds@schleef.org>
25296
25297         * gst/gstregistryxml.c: Added.  Essentially moved out of the
25298           registries directory.
25299
25300 2005-09-14  David Schleef  <ds@schleef.org>
25301
25302         * check/Makefile.am:
25303         * check/generic/states.c:
25304         * gst/Makefile.am:
25305         * gst/gst.c:
25306         * gst/gst.h:
25307         * gst/gst_private.h:
25308         * gst/gstelementfactory.c:
25309         * gst/gstindex.c:
25310         * gst/gstinfo.c:
25311         * gst/gstplugin.c:
25312         * gst/gstplugin.h:
25313         * gst/gstpluginfeature.c:
25314         * gst/gstpluginfeature.h:
25315         * gst/gstregistry.c:
25316         * gst/gstregistry.h:
25317         * gst/gstregistrypool.c: remove
25318         * gst/gstregistrypool.h: remove
25319         * gst/gsttypefind.c:
25320         * gst/gsttypefindfactory.c:
25321         * gst/gsturi.c:
25322         * tools/Makefile.am:
25323         * tools/gst-compprep.c:
25324         * tools/gst-inspect.c:
25325         * tools/gst-register.c: remove
25326         * tools/gst-xmlinspect.c:
25327           Registry rewrite.  Changes registry from being a file created
25328           by a tool into a simple cache file created automatically by 
25329           libgstreamer.  Removed gst-register (because it's no longer
25330           needed).  Remove registry pools, because we only have one
25331           registry implementation (XML).  Fix up other subsystems as
25332           necessary.
25333
25334 2005-09-13  Michael Smith <msmith@fluendo.com>
25335
25336         * gst/gstconfig.h.in:
25337           Don't Use windows linking attributes for MinGW. Fixes #316157
25338
25339 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
25340
25341         * gst/gstutils.c: (set_state_async_thread_func),
25342         (gst_element_set_state_async):
25343           Apparently people think it's better if this function doesn't
25344           try to set the state to whatever state was asked for on the first
25345           call to this function for any object.  Seriously.
25346
25347 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25348
25349         * check/gst/gstpipeline.c: (GST_START_TEST):
25350         * docs/gst/gstreamer-sections.txt:
25351         * gst/gstutils.c: (set_state_async_thread_func),
25352         (gst_element_set_state_async):
25353         * gst/gstutils.h:
25354           add a "gst_element_set_state_async" method that
25355           sets the state and starts a thread to make sure the state
25356           change completes as best as it can
25357
25358 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25359
25360         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
25361           codify design+behaviour in testsuite after discussion
25362
25363 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25364
25365         * docs/gst/tmpl/gstelement.sgml:
25366         * docs/manual/appendix-quotes.xml:
25367           add a quote
25368         * gst/gstelement.c: (gst_element_set_state):
25369           add some debug
25370
25371 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
25372
25373         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25374         (gst_base_transform_prepare_output_buf),
25375         (gst_base_transform_handle_buffer):
25376         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
25377         (gst_capsfilter_prepare_buf):
25378           Remove the requirement for sub-classes to call the parent
25379           implementation of prepare_output_buffer with a wrapper function.
25380           
25381         * gst/gsttaglist.h:
25382         * gst/gsttagsetter.h:
25383           Fix #define wrapper
25384
25385 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
25386
25387         * docs/gst/gstreamer-sections.txt:
25388           more doc cleanups
25389
25390 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25391
25392         * docs/gst/gstreamer-sections.txt:
25393         * docs/gst/tmpl/gstelement.sgml:
25394         * docs/gst/tmpl/gstplugin.sgml:
25395         * gst/gstminiobject.c:
25396         * gst/gstvalue.h:
25397           docs now stop throwing warnings
25398
25399 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25400
25401         * docs/gst/gstreamer-sections.txt:
25402         * docs/gst/gstreamer.types:
25403         * docs/gst/tmpl/gstpad.sgml:
25404         * docs/gst/tmpl/gsttypes.sgml:
25405         * gst/base/gstadapter.h:
25406         * gst/base/gstbasesink.h:
25407         * gst/base/gstbasesrc.h:
25408         * gst/gstbin.h:
25409         * gst/gstbuffer.h:
25410         * gst/gstbus.h:
25411         * gst/gstcaps.h:
25412         * gst/gstclock.h:
25413         * gst/gstelement.h:
25414         * gst/gstevent.h:
25415         * gst/gstmessage.h:
25416         * gst/gstpad.h:
25417         * gst/gststructure.c:
25418         * gst/registries/gstlibxmlregistry.h:
25419           various documentation fixes
25420
25421 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25422
25423         * docs/gst/gstreamer-sections.txt:
25424         * docs/gst/tmpl/gstvalue.sgml:
25425           rearrange gstvalue section
25426         * gst/gstutils.c: (gst_element_state_get_name):
25427           NONE -> VOID
25428         * gst/gstvalue.c: (_gst_value_initialize):
25429         * gst/gstvalue.h:
25430           doc updates
25431
25432 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
25433
25434         * check/gst-libs/controller.c:
25435           Header include fix.
25436         * gst/base/gstbasetransform.c:
25437         (gst_base_transform_default_prepare_buf),
25438         (gst_base_transform_handle_buffer):
25439         * gst/base/gstbasetransform.h:
25440           Some more basetransform changes and fixes to enable sub-classes
25441           that modify buffer metadata only.
25442         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
25443         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
25444         (gst_capsfilter_prepare_buf):
25445           If the output pad has fixed allowed caps and input buffers 
25446           don't have any, set the fixed caps on outgoing buffers.
25447
25448 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
25449         * check/elements/identity.c: (GST_START_TEST):
25450           Make the error a little clearer when the test fails because
25451           identity made a copy of the buffer.
25452         * docs/gst/gstreamer-sections.txt:
25453           New symbols in gstbasetransform.h
25454         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25455         (gst_base_transform_init), (gst_base_transform_transform_size),
25456         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
25457         (gst_base_transform_default_prepare_buf),
25458         (gst_base_transform_get_unit_size),
25459         (gst_base_transform_buffer_alloc),
25460         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
25461         (gst_base_transform_change_state),
25462         (gst_base_transform_set_passthrough),
25463         (gst_base_transform_set_in_place),
25464         (gst_base_transform_is_in_place):
25465         * gst/base/gstbasetransform.h:
25466           Change BaseTransform to separate in_place operate from same_caps
25467           output. in_place implies that the element can perform the transform
25468           on incoming buffers in-place, even if the caps on the output are
25469           different.
25470           Sub-class elements can now implement special buffer allocation
25471           methods for outgoing buffers if they wish to.
25472           Big documentation addition.
25473         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
25474         * gst/elements/gstelements.c:
25475           Changes for basetransform modifications.
25476         * gst/elements/Makefile.am:
25477         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
25478           Compile fix. Extra debug output.
25479
25480 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25481
25482         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
25483         (gst_pad_suite):
25484           add tests for valid pad naming
25485         * gst/check/gstcheck.c: (gst_check_log_message_func),
25486         (gst_check_log_critical_func):
25487           add ASSERT_WARNING
25488           remove printing of code, it is fragile when the code contains
25489           % and the line number is enough info
25490         * gst/check/gstcheck.h:
25491         * gst/gstpad.c: (gst_pad_template_new):
25492           fix memleaks
25493
25494 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25495
25496         * configure.ac:
25497           say what CHECK flags we use
25498         * docs/libs/gstreamer-libs.types:
25499         * libs/gst/controller/Makefile.am:
25500         * libs/gst/controller/gst-controller.c:
25501         * libs/gst/controller/gst-controller.h:
25502         * libs/gst/controller/gst-helper.c:
25503         * libs/gst/controller/gst-interpolation.c:
25504         * libs/gst/controller/gstcontroller.c:
25505         * libs/gst/controller/gsthelper.c:
25506         * libs/gst/controller/gstinterpolation.c:
25507         * tools/gst-inspect.c: (print_plugin_info):
25508           we don't use dashes in header names
25509
25510 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25511
25512         * check/Makefile.am:
25513         * check/gst/.cvsignore:
25514         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
25515         (gst_pipeline_suite), (main):
25516           adding a test for pipelines and state changes
25517         * gst/gstutils.c: (get_state_func):
25518           add some debugging
25519         * gstreamer.spec.in:
25520           fix up spec file
25521
25522 2005-09-08  Michael Smith <msmith@fluendo.com>
25523
25524         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
25525         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
25526         (gst_file_src_is_seekable), (gst_file_src_get_size),
25527         (gst_file_src_start):
25528         * gst/elements/gstfilesrc.h:
25529           Various fixes for unseekable, unmmapable, and non-normal files, so
25530           that fallback to read() rather than mmap() works.
25531         * gst/gstevent.c: (gst_event_new_newsegment):
25532           Allow newsegment events with segment_start == segment_end, as will
25533           correctly happen if you use filesrc on a zero-size file, for
25534           example.
25535
25536 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
25537
25538         * gst/gstplugin.c: (gst_plugin_load_file):
25539           Call g_module_close when we don't load the module
25540
25541         * gst/registries/gstlibxmlregistry.c:
25542         (gst_xml_registry_get_property):
25543           Port leak fix from 0.8
25544
25545 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25546
25547         * docs/gst/gstreamer-docs.sgml:
25548         * docs/gst/tmpl/.cvsignore:
25549         * docs/gst/tmpl/gsttrace.sgml:
25550         * docs/gst/tmpl/gsttrashstack.sgml:
25551         * gst/Makefile.am:
25552         * gst/gst.h:
25553         * gst/gstelement.h:
25554         * gst/gstevent.h:
25555         * gst/gstmessage.c:
25556         * gst/gstmessage.h:
25557         * gst/gsttag.c:
25558         * gst/gsttag.h:
25559         * gst/gsttaginterface.c:
25560         * gst/gsttaginterface.h:
25561         * gst/gsttaglist.c:
25562         * gst/gsttaglist.h:
25563         * gst/gsttagsetter.c:
25564         * gst/gsttagsetter.h:
25565         * gst/gsttrace.c:
25566         * gst/gsttrace.h:
25567         * gst/gsttrashstack.c:
25568           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
25569           inlined docs for gsttrace, gsttrashstack
25570
25571 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25572
25573         * gst/Makefile.am:
25574         * gst/elements/gstbufferstore.h:
25575         * gst/elements/gsttypefindelement.c:
25576         * gst/elements/gsttypefindelement.h:
25577         * gst/gst.h:
25578         * gst/gsttypefind.c:
25579         * gst/gsttypefind.h:
25580         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
25581         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
25582         (gst_type_find_factory_dispose),
25583         (gst_type_find_factory_unload_thyself),
25584         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
25585         (gst_type_find_factory_get_caps),
25586         (gst_type_find_factory_get_extensions),
25587         (gst_type_find_factory_call_function):
25588         * gst/gsttypefindfactory.h:
25589         * gst/registries/gstlibxmlregistry.c:
25590         * gst/registries/gstxmlregistry.c:
25591           splitted gsttypefind into gsttypefind, gsttypefindfactory
25592
25593 2005-09-07  Andy Wingo  <wingo@pobox.com>
25594
25595         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
25596         condition whereby the pad's task function is entered before the
25597         pad_mode variable was set.
25598
25599 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
25600
25601         * gst/gstpad.c: (gst_pad_alloc_buffer):
25602           Catch misbehaving pad_alloc functions that don't
25603           set up caps and do it for them.
25604
25605 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25606
25607         * check/pipelines/simple_launch_lines.c: (run_pipeline):
25608           test for pipe!=NULL
25609         * docs/gst/tmpl/.cvsignore:
25610         * docs/gst/tmpl/gstmemchunk.sgml:
25611         * docs/gst/tmpl/gstparse.sgml:
25612         * docs/gst/tmpl/gsttaglist.sgml:
25613         * docs/gst/tmpl/gsttagsetter.sgml:
25614         * docs/gst/tmpl/gsttypefind.sgml:
25615         * docs/gst/tmpl/gsttypefindfactory.sgml:
25616         * gst/gstmemchunk.c:
25617         * gst/gstparse.c:
25618         * gst/gsttag.c:
25619         * gst/gsttaginterface.c:
25620         * gst/gsttypefind.c:
25621         * gst/gsttypefind.h:
25622           inlined more docs
25623
25624 === release 0.9.2 ===
25625
25626 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
25627
25628         * NEWS:
25629         * RELEASE:
25630         * configure.ac:
25631           releasing 0.9.2, "South"
25632
25633 2005-09-05  Andy Wingo  <wingo@pobox.com>
25634
25635         * gst/registries/gstxmlregistry.h:
25636         * gst/registries/gstxmlregistry.c: Um... resurrect...
25637         
25638         * gst/registries/gstxmlregistry.h:
25639         * gst/registries/gstxmlregistry.c: and update to newer API.
25640         Incidentally they should be a bit faster now that they don't have
25641         to parse the caps.
25642         
25643 2005-09-05  Andy Wingo  <wingo@pobox.com>
25644
25645         * gst/registries/gstxmlregistry.h:
25646         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
25647         replaced by the libxml registry a while back
25648
25649 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
25650
25651         * docs/gst/tmpl/gstplugin.sgml:
25652         * gst/elements/gstelements.c:
25653         * gst/gst.c:
25654         * gst/gstplugin.c: (gst_plugin_register_func),
25655         (gst_plugin_desc_copy), (gst_plugin_desc_free),
25656         (gst_plugin_get_source):
25657         * gst/gstplugin.h:
25658         * gst/registries/gstlibxmlregistry.c: (load_plugin),
25659         (gst_xml_registry_save_plugin):
25660         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
25661         (gst_xml_registry_save_plugin):
25662         * tools/gst-inspect.c: (print_plugin_info):
25663           add a "source" plugin description field, to represent the source
25664           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
25665           will set it to PACKAGE, which is automake's idea of the name of
25666           the source project.
25667
25668 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
25669
25670         * Makefile.am:
25671         * autogen.sh:
25672         * configure.ac:
25673         * docs/Makefile.am:
25674         * docs/faq/Makefile.am:
25675         * docs/gst/tmpl/gstelement.sgml:
25676         * docs/gst/tmpl/gsttypes.sgml:
25677         * docs/htmlinstall.mak:
25678         * docs/manual/Makefile.am:
25679         * docs/pwg/Makefile.am:
25680           reorganize doc build a little
25681           split out docbook and gtk-doc stuff
25682           have two separate --enable's and enable them through autogen
25683           but disable by default in configure (to be similar to other
25684           projects)
25685         * gstreamer.spec.in:
25686           clean up docs install
25687         * po/af.po:
25688         * po/az.po:
25689         * po/ca.po:
25690         * po/cs.po:
25691         * po/de.po:
25692         * po/en_GB.po:
25693         * po/fr.po:
25694         * po/it.po:
25695         * po/nb.po:
25696         * po/nl.po:
25697         * po/ru.po:
25698         * po/sq.po:
25699         * po/sr.po:
25700         * po/sv.po:
25701         * po/tr.po:
25702         * po/uk.po:
25703         * po/vi.po:
25704           translation updates
25705
25706 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
25707
25708         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
25709           Add comment.
25710           
25711         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
25712         (gst_fake_sink_change_state):
25713           Make state change function thread-safe.
25714           
25715         * gst/gstpad.c: (gst_pad_alloc_buffer):
25716           Set offset on generic buffer allocated by fallback.
25717
25718 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
25719
25720         * docs/gst/gstreamer-sections.txt:
25721         * docs/gst/tmpl/gstelement.sgml:
25722         * gst/gstpad.c:
25723         * libs/gst/controller/gst-controller.c:
25724         (gst_controlled_property_set_interpolation_mode),
25725         (gst_controlled_property_new),
25726         (gst_controller_find_controlled_property):
25727          run the wingo-magic script against the docs
25728
25729 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
25730
25731         * docs/gst/gstreamer-docs.sgml:
25732         * docs/gst/gstreamer-sections.txt:
25733         * docs/gst/tmpl/.cvsignore:
25734         * docs/gst/tmpl/gstelementdetails.sgml:
25735         * docs/gst/tmpl/gstelementfactory.sgml:
25736         * gst/gst.c:
25737         * gst/gstbus.c:
25738         * gst/gstelementfactory.c:
25739         * gst/gstelementfactory.h:
25740           merged elementdetails docs into elementfactory docs
25741           inlined both
25742
25743 2005-09-02  Andy Wingo  <wingo@pobox.com>
25744
25745         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
25746         consider this enum an enum and not a flags.
25747
25748 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
25749
25750         * docs/gst/gstreamer-docs.sgml:
25751         * docs/gst/tmpl/.cvsignore:
25752         * docs/gst/tmpl/gstghostpad.sgml:
25753         * docs/gst/tmpl/gstiterator.sgml:
25754         * docs/gst/tmpl/gstmacros.sgml:
25755         * docs/gst/tmpl/gstrealpad.sgml:
25756         * docs/gst/tmpl/gstregistry.sgml:
25757         * docs/gst/tmpl/gstregistrypool.sgml:
25758         * docs/gst/tmpl/gststructure.sgml:
25759         * docs/gst/tmpl/gstsystemclock.sgml:
25760         * docs/gst/tmpl/gsttrace.sgml:
25761         * gst/gstghostpad.c:
25762         * gst/gstmacros.h:
25763         * gst/gstmemchunk.c:
25764         * gst/gstmemchunk.h:
25765         * gst/gstqueue.c:
25766         * gst/gstregistry.c:
25767         * gst/gstregistrypool.c:
25768         * gst/gststructure.c:
25769         * gst/gstsystemclock.c:
25770           more docs inlined
25771
25772 2005-09-02  Andy Wingo  <wingo@pobox.com>
25773
25774         * gst/gstelement.h (GstState): Renamed from GstElementState,
25775         changed to be a normal enum instead of flags.
25776         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
25777         munged to be GST_STATE_CHANGE_*.
25778         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
25779         work with the new state representation.
25780         (GstStateChange): New enumeration of possible state transitions.
25781         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
25782         (GstElementClass::change_state): Pass the GstStateChange along as
25783         an argument. Helps language bindings, so they don't have to use
25784         tricky lock-needing macros like GST_STATE_CHANGE ().
25785
25786         * scripts/update-states (file): New script. Run it on a file to
25787         update it for state naming and API changes. Updates files in
25788         place.
25789
25790         * All files updated for the new API.
25791
25792 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
25793
25794         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
25795         * gst/gstutils.c: (gst_util_set_value_from_string),
25796         (gst_util_set_object_arg):
25797           fix a bunch of unchecked return values
25798         * tools/gst-complete.c: (main):
25799         * gstreamer.spec.in:
25800           clean up a little
25801
25802 2005-09-01  Wim Taymans  <wim@fluendo.com>
25803
25804         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25805         (gst_base_sink_event), (gst_base_sink_do_sync),
25806         (gst_base_sink_handle_event):
25807         * gst/base/gstbasesink.h:
25808         Handle newsegments more correctly.
25809
25810         * gst/gstbus.c:
25811         Fix docs.
25812
25813         * gst/gstevent.c: (gst_event_new_newsegment):
25814         A newsegment cannot have a start_time of -1
25815
25816 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
25817
25818         * win32/gstenumtypes.c:
25819         * win32/gstenumtypes.h:
25820           Update
25821
25822 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
25823
25824         * libs/gst/controller/gst-controller.c:
25825         (gst_controlled_property_set_interpolation_mode),
25826         (gst_controlled_property_new):
25827          fixed boolean again
25828
25829 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
25830
25831         * docs/faq/gst-uninstalled:
25832           add -good
25833         * gst/gstevent.c:
25834         * gst/gstevent.h:
25835           remove wrong docs
25836         * gst/gstutils.c: (gst_element_link_filtered):
25837         * gst/gstutils.h:
25838           add gst_element_link_filtered
25839
25840 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
25841
25842         * docs/gst/gstreamer-docs.sgml:
25843         * docs/gst/gstreamer-sections.txt:
25844         * docs/gst/tmpl/.cvsignore:
25845         * docs/gst/tmpl/gsterror.sgml:
25846         * docs/gst/tmpl/gstfilter.sgml:
25847         * docs/gst/tmpl/gsturihandler.sgml:
25848         * docs/gst/tmpl/gsturitype.sgml:
25849         * docs/gst/tmpl/gstutils.sgml:
25850         * docs/gst/tmpl/gstxml.sgml:
25851         * gst/gsterror.c:
25852         * gst/gsterror.h:
25853         * gst/gstfilter.c:
25854         * gst/gsturi.c:
25855         * gst/gsturitype.c:
25856         * gst/gstutils.c:
25857         * gst/gstxml.c:
25858           inlined more docs, fixed double id-ref
25859
25860 2005-08-31  Wim Taymans  <wim@fluendo.com>
25861
25862         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
25863         (gst_base_transform_handle_buffer):
25864         Passthrough elements don't need the caps as they don't care.
25865
25866 2005-08-31  Wim Taymans  <wim@fluendo.com>
25867
25868         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
25869         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
25870         Don't leak refcounts on buffers.
25871
25872 2005-08-31  Wim Taymans  <wim@fluendo.com>
25873
25874         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
25875         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
25876         (gst_base_transform_chain), (gst_base_transform_change_state):
25877         * gst/base/gstbasetransform.h:
25878         Handle the case where we are not negotiated more gracefully.
25879
25880 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
25881
25882         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
25883         (gst_file_src_map_region):
25884           Set READONLY flag on mmap'ed buffers, otherwise
25885           gst_buffer_make_writable() won't work properly (#314708).
25886
25887 2005-08-31  Wim Taymans  <wim@fluendo.com>
25888
25889         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
25890         passthrough elements can even do inplace on non writable
25891         buffers (as they don't touch them).
25892
25893 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
25894
25895         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
25896         (gst_test_mono_source_set_property),
25897         (gst_test_mono_source_class_init), (GST_START_TEST),
25898         (gst_controller_suite):
25899           more tests (hehe I have the most)
25900         * gst/gstbus.c:
25901           describe popping messages whenusing mulltiple sources
25902         * libs/gst/controller/gst-controller.c:
25903         (gst_controlled_property_set_interpolation_mode),
25904         (gst_controlled_property_new):
25905         * libs/gst/controller/gst-controller.h:
25906         * libs/gst/controller/gst-interpolation.c:
25907           implement boolean properties
25908
25909 2005-08-31  Wim Taymans  <wim@fluendo.com>
25910
25911         * gst/gstminiobject.c: (gst_mini_object_ref):
25912         Cannot assert that the refcount has to be positive
25913         since a disposed object can be resurrected.
25914
25915 2005-08-31  Wim Taymans  <wim@fluendo.com>
25916
25917         * gst/gstpad.c: (gst_pad_init):
25918         Revert change, need to first fix badly behaving 
25919         apps.
25920
25921 2005-08-30  Wim Taymans  <wim@fluendo.com>
25922
25923         * check/elements/fakesrc.c: (setup_fakesrc):
25924         * check/elements/identity.c: (setup_identity):
25925         Activate pads before using them.
25926
25927 2005-08-30  Wim Taymans  <wim@fluendo.com>
25928
25929         * gst/base/gstadapter.c: (gst_adapter_flush):
25930         Flushing out 0 bytes is ok for this function.
25931
25932         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
25933         no newsegment gives a warning and sets the start/stop to 
25934         invalid.
25935
25936         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
25937         (gst_base_transform_set_passthrough):
25938         Some debug info.
25939
25940         * gst/gstminiobject.c: (gst_mini_object_ref):
25941         Check refcount here too.
25942
25943         * gst/gstpad.c: (gst_pad_init):
25944         Pads are initially flushing and refusing data.
25945
25946         * gst/gstutils.c: (gst_element_link_pads_filtered):
25947         When adding a capsfilter element make sure it has the
25948         same state as the parent bin.
25949
25950 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
25951
25952         * docs/gst/tmpl/.cvsignore:
25953         * docs/gst/tmpl/gstformat.sgml:
25954         * docs/gst/tmpl/gstversion.sgml:
25955         * gst/gstbus.h:
25956         * gst/gstformat.c:
25957         * gst/gstformat.h:
25958         * gst/gstversion.h.in:
25959           more docs and two more inlined
25960
25961 2005-08-30  Wim Taymans  <wim@fluendo.com>
25962
25963         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
25964         Don't sync to clock.
25965
25966 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
25967
25968         * docs/gst/gstreamer-sections.txt:
25969           ultral33t func10ns deserve to appear in the docs actually
25970         * docs/gst/tmpl/.cvsignore:
25971         * docs/gst/tmpl/gstcompat.sgml:
25972         * docs/gst/tmpl/gstconfig.sgml:
25973         * gst/check/gstcheck.c:
25974         * gst/gstcompat.h:
25975         * gst/gstconfig.h.in:
25976           inlined more docs
25977
25978 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
25979
25980         * docs/gst/tmpl/.cvsignore:
25981         * docs/gst/tmpl/gstquery.sgml:
25982         * docs/gst/tmpl/gstutils.sgml:
25983         * gst/gstquery.c:
25984         * gst/gstquery.h:
25985           inlined and extended docs
25986
25987 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
25988
25989         * check/gst-libs/controller.c: (GST_START_TEST),
25990         (gst_controller_suite):
25991           more tests
25992         * docs/gst/tmpl/gstutils.sgml:
25993         * docs/libs/gstreamer-libs-sections.txt:
25994         * docs/libs/tmpl/gstdataprotocol.sgml:
25995           include path fixes
25996         * examples/controller/audio-example.c: (main):
25997           controller example works now
25998         * gst/gstclock.h:
25999           doc fixes
26000         * tools/gst-inspect.c: (print_element_properties_info):
26001           show param spec flags
26002
26003 2005-08-29  Andy Wingo  <wingo@pobox.com>
26004
26005         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
26006
26007 2005-08-28  Andy Wingo  <wingo@pobox.com>
26008
26009         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
26010         as having two arguments instead of just one. Allows superclasses
26011         to access information on subclasses -- see the terrible for() loop
26012         in gtype.c:g_type_create_instance for the reason why. All callers
26013         changed.
26014
26015 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
26016
26017         * docs/design/part-messages.txt:
26018           update info
26019         * docs/gst/tmpl/.cvsignore:
26020         * docs/gst/tmpl/gstcaps.sgml:
26021         * docs/gst/tmpl/gstclock.sgml:
26022         * gst/gstbus.c:
26023         * gst/gstcaps.c:
26024         * gst/gstcaps.h:
26025         * gst/gstclock.c:
26026         * gst/gstclock.h:
26027         * gst/gstmessage.c:
26028           added descriptions for bus and message
26029           inline caps and clock docs
26030
26031 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
26032
26033         * gst/gstmessage.c:
26034         * gst/gstmessage.h:
26035           doc fixes
26036
26037 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
26038
26039         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
26040           fix div-by-zero
26041
26042 2005-08-26  Andy Wingo  <wingo@pobox.com>
26043
26044         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
26045         element_set_state's return val.
26046         (test_2_elements): Add test that's been disabled for months.
26047
26048         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
26049         can-activate-pull properties.
26050
26051         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
26052         can-activate-pull properties. Implement is_seekable so fakesrc can
26053         operate in pull mode.
26054
26055         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
26056         properties.
26057         (gst_base_sink_activate, gst_base_sink_activate_pull)
26058         (gst_base_sink_activate_push): Make activation mode choosing work.
26059         Cleanups.
26060         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
26061         is right. Make pull mode work. Post an eos before pausing in pull
26062         mode.
26063         (gst_base_sink_change_state): Pay attention to the core's
26064         change_state() return val.
26065         
26066         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
26067         has-getrange properties. Cleanups.
26068         
26069         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
26070         has_getrange and replace with can_activate_pull and
26071         can_activate_push.
26072
26073         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
26074         locking comments. Remove has_loop, has_chain and replace with
26075         can_activate_pull and can_activate_push.
26076
26077 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
26078
26079         * configure.ac:
26080         * examples/Makefile.am:
26081         * examples/metadata/Makefile.am:
26082         * examples/metadata/read-metadata.c: (message_loop),
26083         (have_pad_handler), (make_pipeline), (print_tag), (main):
26084           Add metadata reading example that loops over a list of filenames,
26085           dumping any tags found.
26086
26087         * gst/gstbus.c: (gst_bus_dispose):
26088         * gst/gstelement.c: (gst_element_dispose):
26089           Release a few potentially-held references in dispose.
26090
26091 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26092
26093         * docs/gst/tmpl/gstminiobject.sgml:
26094           do *not* add tmpl/*.sgml files to CVS!
26095
26096 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26097
26098         * libs/gst/bytestream/.cvsignore:
26099         * libs/gst/bytestream/Makefile.am:
26100         * libs/gst/bytestream/adapter.c:
26101         * libs/gst/bytestream/adapter.h:
26102         * libs/gst/bytestream/bytestream.c:
26103         * libs/gst/bytestream/bytestream.h:
26104         * libs/gst/bytestream/filepad.c:
26105         * libs/gst/bytestream/filepad.h:
26106           removing obsolete files
26107
26108 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26109
26110         * docs/gst/gstreamer-docs.sgml:
26111         * docs/libs/gstreamer-libs-docs.sgml:
26112           disabed additional index entries again, as this makes docs-gen just
26113           slow and they aren't useful yet
26114         * docs/libs/gstreamer-libs-sections.txt:
26115           little -section.txt cleanup for libs
26116
26117 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
26118
26119         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26120         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
26121           fix up some debugging
26122         (gst_base_transform_get_unit_size),
26123         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
26124         (gst_base_transform_handle_buffer):
26125         * gst/base/gstbasetransform.h:
26126           handle and store timed NEWSEGMENT events so that subclasses that
26127           calculate time by counting samples have a segment_start time they
26128           need to add to their timestamps - see audioresample
26129
26130 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26131
26132         * gst/gstbin.h:
26133           removed ';' from the end of macro defs
26134         * docs/gst/gstreamer-docs.sgml:
26135         * docs/gst/gstreamer-sections.txt:
26136         * docs/gst/tmpl/.cvsignore:
26137         * gst/gstbus.h:
26138         * gst/gstelement.c: (gst_element_class_init),
26139         (gst_element_set_state), (activate_pads),
26140         (gst_element_save_thyself):
26141         * gst/gstevent.c: (gst_event_new_newsegment):
26142         * gst/gstevent.h:
26143         * gst/gstiterator.c:
26144         * gst/gstiterator.h:
26145         * gst/gstpad.c:
26146         * gst/gstprobe.h:
26147         * gst/gstutils.c: (gst_pad_query_convert):
26148         * gst/gstutils.h:
26149           fixed parameter name mismatches between source, header and docs
26150           added some more docs, resolved the last batch of unused elements in
26151           docs (now someone needs to doc them)
26152
26153 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
26154
26155         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
26156         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
26157           don't walk through the plugins backwards.  Where is all this
26158           reversed logic coming from ?
26159
26160 2005-08-25  Wim Taymans  <wim@fluendo.com>
26161
26162         * gst/base/gstbasetransform.c: (gst_base_transform_init),
26163         (gst_base_transform_transform_size),
26164         (gst_base_transform_configure_caps),
26165         (gst_base_transform_get_unit_size),
26166         (gst_base_transform_buffer_alloc),
26167         (gst_base_transform_change_state):
26168         * gst/base/gstbasetransform.h:
26169         Cache caps unit_size.
26170         Make sure we cannot negotiate up and downstream at the
26171         same time.
26172
26173 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
26174
26175         * gst/gst.c: (init_pre), (init_post):
26176           register the installed plugin path after the env var
26177         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
26178         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
26179           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
26180           directories, so the tests can prefer uninstalled over installed
26181
26182 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
26183
26184         * gst/base/gstbasetransform.h:
26185           comment
26186         * gst/gstpad.c:
26187           add to docs
26188
26189 2005-08-25  Wim Taymans  <wim@fluendo.com>
26190
26191         * gst/gstbin.c: (bin_bus_handler):
26192         Be a bit more conservative about the posted message.
26193         
26194         * gst/gstbus.c: (gst_bus_post):
26195         Some cleanups, warn wrong return values.
26196
26197 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
26198
26199         * check/gst/gstbin.c: (GST_START_TEST):
26200         * gst/gstbin.c: (bin_bus_handler):
26201         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26202         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26203         (gst_message_new_warning), (gst_message_new_tag),
26204         (gst_message_new_state_changed), (gst_message_new_segment_start),
26205         (gst_message_new_segment_done), (gst_message_new_custom):
26206         * gst/gstmessage.h:
26207         * tools/gst-launch.c: (event_loop):
26208         * tools/gst-md5sum.c: (event_loop):
26209           Revert unpopular change for GST_MESSAGE_SRC to GObject.
26210
26211 2005-08-25  Wim Taymans  <wim@fluendo.com>
26212
26213         * check/generic/states.c: (GST_START_TEST):
26214         Cleanup can be done at the end.
26215
26216         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
26217         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26218         (gst_task_get_state), (gst_task_start), (gst_task_pause):
26219         Oh boy.. Thanks for finding this, Thomas. 
26220
26221 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
26222
26223         * docs/gst/gstreamer.types:
26224           added missing types
26225
26226 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
26227
26228         * docs/gst/gstreamer-docs.sgml:
26229         * docs/gst/gstreamer-sections.txt:
26230         * docs/gst/tmpl/.cvsignore:
26231         * gst/gstbin.c:
26232         * gst/gstiterator.c:
26233         * gst/gstutils.c:
26234         * gst/registries/gstxmlregistry.h:
26235           added missing classes and symbols (123 more to go)
26236           removed removed symbols from section file
26237           fixed many doc-comments
26238
26239 2005-08-24  Wim Taymans  <wim@fluendo.com>
26240
26241         * check/generic/states.c: (GST_START_TEST):
26242         Make sure all tasks are stopped.
26243
26244         * check/gst/gstbin.c: (GST_START_TEST):
26245         Unref after usage for proper valgrinding.
26246
26247         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
26248         Really wait for the task to stop before destroying the
26249         mutex.
26250
26251         * gst/gstqueue.c: (gst_queue_sink_activate_push),
26252         (gst_queue_src_activate_push):
26253         Small cleanups. Don't stop the task when we did not start
26254         it.
26255
26256         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
26257         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26258         (gst_task_get_state), (gst_task_start), (gst_task_pause),
26259         (gst_task_join):
26260         * gst/gsttask.h:
26261         Protect the stream lock with the object lock.
26262         Disallow setting the stream lock when running.
26263         Add cleanup_all to wait for the threadpool to finish.
26264         Remove code to autoallocate a mutex if none was provided.
26265         Add _join() to wait for a task to stop.
26266         Protect the thread pool with a global lock.
26267
26268 2005-08-24  Wim Taymans  <wim@fluendo.com>
26269
26270         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26271         (gst_base_sink_get_times), (gst_base_sink_do_sync),
26272         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
26273         * gst/base/gstbasesink.h:
26274         Handle newsegment events correctly.
26275         Drop buffers out of the segment range.
26276
26277 2005-08-22  Andy Wingo  <wingo@pobox.com>
26278
26279         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
26280         macro, implements an interface and gstimplementsinterface for a
26281         new type.
26282
26283 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
26284
26285         * check/Makefile.am:
26286         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
26287           add a test that does a bunch of state changes on elements
26288           needs some fixing for valgrind
26289         * check/states/sinks.c: (gst_object_suite):
26290           whitespace
26291         * gst/gstcaps.h:
26292           add prototype for gst_caps_is_equal_fixed
26293         * gst/gstplugin.c:
26294         * gst/gstregistrypool.c:
26295           doc fixes
26296
26297 2005-08-24  Andy Wingo  <wingo@pobox.com>
26298
26299         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
26300         convert a negative value. Doesn't make much sense. Mostly this is
26301         here to force callers to ensure -1 maps to -1.
26302
26303 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
26304
26305         * docs/pwg/advanced-types.xml:
26306           Well done to Michael for catching my deliberate introduction
26307           of this spelling mistake. 
26308         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
26309         * gst/gstelement.h:
26310           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
26311           unlink pads before removing the element from the bin.
26312
26313 2005-08-24  Andy Wingo  <wingo@pobox.com>
26314
26315         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
26316         the same thing as GST_DEBUG=*:4.
26317         (parse_debug_level, parse_debug_category): New helper parsers.
26318
26319 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
26320
26321         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26322         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
26323         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
26324         (gst_base_transform_buffer_alloc),
26325         (gst_base_transform_handle_buffer):
26326           use gboolean return values and pointers to size so we can use the
26327           full GST_BUFFER_SIZE range (guint) for buffer sizes
26328           use GstPadDirection for transform_caps
26329         * gst/base/gstbasetransform.h:
26330           rename get_size to get_unit_size since that's what it is
26331         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
26332           use GstPadDirection for transform_caps
26333         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26334         * gst/gstutils.h:
26335           cleanup and debugging
26336
26337 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
26338
26339         * gst/gstelement.c: (gst_element_class_init),
26340         (gst_element_set_state), (activate_pads),
26341         (gst_element_save_thyself):
26342         * tools/gst-compprep.c: (main):
26343         * tools/gst-inspect.c: (print_element_properties_info):
26344         * tools/gst-xmlinspect.c: (print_element_properties):
26345           Fixed long standing mem-leak
26346
26347 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
26348
26349         * check/gst/gstbin.c: (GST_START_TEST):
26350         * gst/gstbin.c: (bin_bus_handler):
26351         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26352         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26353         (gst_message_new_warning), (gst_message_new_tag),
26354         (gst_message_new_state_changed), (gst_message_new_segment_start),
26355         (gst_message_new_segment_done), (gst_message_new_custom):
26356         * gst/gstmessage.h:
26357         * tools/gst-launch.c: (event_loop):
26358         * tools/gst-md5sum.c: (event_loop):
26359           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
26360           that applications can sensibly post custom messages with references
26361           to their own objects.
26362
26363 2005-08-24  Andy Wingo  <wingo@pobox.com>
26364
26365         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
26366         already.
26367
26368 2005-08-24  Wim Taymans  <wim@fluendo.com>
26369
26370         * gst/base/gstbasetransform.c: (gst_base_transform_init),
26371         (gst_base_transform_transform_caps),
26372         (gst_base_transform_transform_size),
26373         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
26374         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
26375         (gst_base_transform_handle_buffer):
26376         * gst/base/gstbasetransform.h:
26377         Many fixes and new features added by Thomas. Can now also do
26378         transforms with variable sizes and a custom fixate_caps function.
26379
26380 2005-08-24  Wim Taymans  <wim@fluendo.com>
26381
26382         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26383         Some debugging.
26384
26385         * gst/gstclock.h:
26386         Cast to ClockTime before formatting to time.
26387
26388         * gst/gstutils.h:
26389         Cleanups.
26390
26391 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
26392
26393         * check/gst-libs/controller.c: (GST_START_TEST),
26394         (gst_controller_suite):
26395         * docs/gst/tmpl/gstcaps.sgml:
26396         * docs/gst/tmpl/gstghostpad.sgml:
26397         * docs/gst/tmpl/gstquery.sgml:
26398         * docs/gst/tmpl/gstutils.sgml:
26399         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
26400         (gst_object_sink_values), (gst_object_get_value_arrays),
26401         (gst_object_get_value_array):
26402           gracefully handle helper method calls to objects that are not beeing
26403           controlled, added test case for that          
26404
26405 2005-08-23  Wim Taymans  <wim@fluendo.com>
26406
26407         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
26408         (gst_event_new_newsegment), (gst_event_parse_newsegment),
26409         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
26410         (gst_event_parse_qos), (gst_event_new_seek),
26411         (gst_event_parse_seek):
26412         * gst/gstevent.h:
26413         Some more debugging output and doc cleanups.
26414
26415         * gst/gstqueue.c: (gst_queue_handle_sink_event):
26416         Fix possible deadlock.
26417
26418 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26419
26420         * docs/gst/gstreamer-docs.sgml:
26421         * docs/gst/gstreamer-sections.txt:
26422         * docs/gst/gstreamer.types:
26423         * docs/gst/tmpl/.cvsignore:
26424         * gst/gstbin.h:
26425         * gst/gstbus.c:
26426         * gst/gstelement.c:
26427         * gst/gstevent.h:
26428           added 100 symbols from gstreamer-unused.txt to the right sections
26429           fixed more broken comments
26430           added GstBus to docs
26431
26432 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26433
26434         * docs/gst/gstreamer-sections.txt:
26435         * docs/gst/tmpl/.cvsignore:
26436         * docs/gst/tmpl/gstbin.sgml:
26437         * docs/gst/tmpl/gstbuffer.sgml:
26438         * gst/base/gstbasesrc.c:
26439         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
26440         * gst/gstbuffer.c:
26441         * gst/gstbuffer.h:
26442         * tools/gst-launch.1.in:
26443           inlined more doc comments, added missing comments and fixed comments
26444           fixed typos
26445
26446 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
26447
26448         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26449           some debugging
26450         * gst/gstcaps.h:
26451           whitespace fixes
26452         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
26453           more debugging
26454         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
26455         * gst/gststructure.h:
26456           add a fixate function for booleans; add a FIXME that these func
26457           names should probably be gst_structure_fixate_*
26458
26459 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26460
26461         * docs/gst/gstreamer-docs.sgml:
26462         * docs/gst/gstreamer-sections.txt:
26463         * gst/Makefile.am:
26464         * gst/gstbin.c: (gst_bin_get_type),
26465         (gst_bin_child_proxy_get_child_by_index),
26466         (gst_bin_child_proxy_get_children_count),
26467         (gst_bin_child_proxy_init):
26468         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
26469         (gst_child_proxy_get_child_by_index),
26470         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
26471         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
26472         (gst_child_proxy_get), (gst_child_proxy_set_property),
26473         (gst_child_proxy_set_valist), (gst_child_proxy_set),
26474         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
26475         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
26476         * gst/gstchildproxy.h:
26477         * gst/parse/grammar.y:
26478         * tools/gst-inspect.c: (print_interfaces),
26479         (print_element_properties_info), (print_element_info):
26480           ported gstchildproxy over from 0.8
26481           ported gst-inspect fixes and enhancements over from 0.8
26482
26483 2005-08-22  Wim Taymans  <wim@fluendo.com>
26484
26485         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26486         (gst_base_transform_handle_buffer):
26487         Also call the transform function if we have ANY caps.
26488
26489         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
26490         Fix debug info.
26491
26492 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
26493
26494         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
26495           Don't pretend to handle seek events if the source is not seekable
26496
26497 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
26498
26499         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26500           Remove extra parameter to debug output
26501
26502         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26503         (gst_base_src_do_seek), (gst_base_src_activate_push):
26504           Fix seek event handling.
26505
26506         * gst/gstpipeline.c: (gst_pipeline_change_state):
26507         * gst/gstqueue.c: (gst_queue_handle_sink_event),
26508         (gst_queue_src_activate_push):
26509           Don't start the src pad task on FLUSH_STOP if the pad
26510           isn't linked.
26511           Debug changes.
26512
26513 2005-08-22  Wim Taymans  <wim@fluendo.com>
26514
26515         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
26516         Added check for gst_static_caps_get() refcounting.
26517
26518 2005-08-22  Wim Taymans  <wim@fluendo.com>
26519
26520         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
26521         Make _static_caps_get() refcounting sane.
26522         
26523         * gst/gstelement.c: (gst_element_set_state):
26524         Add g_return_val_if_fail() to protect against segfaults.
26525
26526 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
26527
26528         * docs/gst/tmpl/gstevent.sgml:
26529         * gst/gstevent.c:
26530         * gst/gstevent.h:
26531           inlined remaining docs, added missing doc comments
26532
26533 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
26534
26535         * check/gst/gstbin.c: (GST_START_TEST):
26536           since we don't know when preroll is done, use refcount range
26537           check for the sink
26538         * gst/check/gstcheck.h:
26539           add macro for checking refcount range
26540
26541 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
26542
26543         * check/Makefile.am:
26544           clean up environment for when registry gets built versus
26545           when actual tests are run; valgrind seems to not report
26546           leaks if GST_PLUGIN_PATH is set to some specific values
26547         * check/gst/gstbin.c: (GST_START_TEST):
26548           add more refcounting checks; maybe this exposes a
26549           preroll lock bug ?
26550         * common/check.mak:
26551         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26552         * gst/check/gstcheck.h:
26553         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
26554         (gst_bin_change_state):
26555         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
26556           add/fix debugging/whitespace
26557
26558 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
26559
26560         * check/gst/gstevent.c: (event_probe), (test_event),
26561         (GST_START_TEST):
26562          Er, don't call gst_bin_watch_for_state_change you idiot.
26563
26564 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
26565
26566         * check/Makefile.am:
26567           Use CHECK_CFLAGS and CHECK_LIBS
26568         * check/gst/gstevent.c: (event_probe), (test_event),
26569         (GST_START_TEST):
26570           Don't leak events.
26571         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26572         (gst_base_src_start), (gst_base_src_stop),
26573         (gst_base_src_activate_push), (gst_base_src_activate_pull),
26574         (gst_base_src_change_state):
26575           Sprinkle gst_base_src_stop liberally around error paths to fix
26576           problems reusing a source after failed state changes.
26577         * gst/base/gsttypefindhelper.c: (helper_find_peek),
26578         (helper_find_suggest), (gst_type_find_helper):
26579           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
26580         * gst/gstevent.h:
26581         * docs/gst/tmpl/gstevent.sgml:
26582           Migrate part of the docs from the SGML file. Wait for ensonic to
26583           tell me how I did it wrong ;)
26584         * tools/gst-typefind.c: (main):
26585           Extra robustness to state changes between files.
26586
26587 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
26588
26589         * check/Makefile.am:
26590           don't valgrind the controller test - it's leaking - Stefan, HELP
26591         * gst/check/gstcheck.c: (gst_check_message_error),
26592         (gst_check_chain_func), (gst_check_setup_element),
26593         (gst_check_teardown_element), (gst_check_setup_src_pad),
26594         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
26595         (gst_check_teardown_sink_pad):
26596         * gst/check/gstcheck.h:
26597           add a bunch of methods to set up elements, and src and sink pads
26598         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
26599         * check/elements/identity.c: (setup_identity), (cleanup_identity),
26600         (GST_START_TEST):
26601           use them
26602         * gst/gstmessage.c:
26603         * gst/gsttag.h:
26604           whitespace/doc fixes
26605
26606 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26607
26608         * gst/gstelement.h:
26609           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
26610           be handled by the application and not always printed as well
26611
26612 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26613
26614         * check/Makefile.am:
26615           set GST_TOOLS_DIR
26616         * gst/check/gstcheck.c: (gst_check_message_error):
26617         * gst/check/gstcheck.h:
26618           add a fail_unless_equals_int
26619           add fail_unless for error messages
26620
26621 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26622
26623         * check/Makefile.am:
26624         * check/gst.supp:
26625         * common/Makefile.am:
26626         * common/check.mak:
26627         * common/gst.supp:
26628           factor out some of the common stuff so we can use it
26629
26630 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26631
26632         * check/Makefile.am:
26633         * check/gst/gstiterator.c: (GST_START_TEST):
26634         * check/gst/gstsystemclock.c: (GST_START_TEST),
26635         (gst_systemclock_suite):
26636         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
26637         * gst/gstclock.c:
26638           valgrind more tests
26639
26640 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26641
26642         * check/elements/.cvsignore:
26643         * check/elements/gstfakesrc.c:
26644           rename to name of element
26645         * check/elements/identity.c: (chain_func), (event_func),
26646         (setup_identity), (cleanup_identity), (GST_START_TEST),
26647         (identity_suite), (main):
26648           add a test for identity
26649         * check/Makefile.am:
26650         * pkgconfig/Makefile.am:
26651         * pkgconfig/gstreamer-check.pc.in:
26652         * pkgconfig/gstreamer-check-uninstalled.pc.in:
26653         * gst/check:
26654         * gst/Makefile.am:
26655         * configure.ac:
26656           move the check stuff to a library that gets installed
26657         * check/gst-libs/controller.c: (GST_START_TEST):
26658         * check/gst-libs/gdp.c:
26659         * check/gst/gst.c: (GST_START_TEST):
26660         * check/gst/gstbin.c:
26661         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26662         * check/gst/gstbus.c:
26663         * check/gst/gstcaps.c: (GST_START_TEST):
26664         * check/gst/gstelement.c:
26665         * check/gst/gstghostpad.c:
26666         * check/gst/gstiterator.c:
26667         * check/gst/gstmessage.c:
26668         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
26669         * check/gst/gstobject.c:
26670         * check/gst/gstpad.c: (GST_START_TEST):
26671         * check/gst/gststructure.c: (GST_START_TEST):
26672         * check/gst/gstsystemclock.c: (GST_START_TEST),
26673         (gst_systemclock_suite):
26674         * check/gst/gsttag.c: (gst_tag_suite):
26675         * check/gst/gstvalue.c:
26676         * check/pipelines/cleanup.c:
26677         * check/pipelines/simple_launch_lines.c:
26678         * check/states/sinks.c:
26679           change include statement
26680
26681         * docs/gst/gstreamer-sections.txt:
26682         * docs/gst/tmpl/gstpad.sgml:
26683           document more pad stuff
26684         * gst/gstminiobject.c: (gst_mini_object_ref),
26685         (gst_mini_object_unref):
26686           debug refcounting
26687
26688 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
26689
26690         * docs/gst/tmpl/gst.sgml:
26691         * gst/gst.c:
26692           eliminate another tmpl file, fix spelling in the long-description
26693
26694 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26695
26696         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26697         (test_event), (timediff), (gstevents_suite):
26698           Should fix build on 64-bit arch's
26699
26700 2005-08-18  Andy Wingo  <wingo@pobox.com>
26701
26702         Make sure that when a pipeline goes to PLAYING, that data has
26703         actually hit the sink.
26704
26705         * check/states/sinks.c (test_sink): A sink that doesn't get any
26706         data shouldn't return SUCCESS for going to either PLAYING or
26707         PAUSED. Test also the return values on the way back down.
26708
26709         * gst/gstelement.c (gst_element_set_state): When changing the
26710         state of an element currently changing state asynchronously, go to
26711         lost-state after commiting the pending state. Makes future calls
26712         to get_state continue to return ASYNC.
26713
26714         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
26715         ASYNC when going to PLAYING if we still don't have preroll, as can
26716         happen with live sources.
26717
26718 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26719
26720         * docs/pwg/advanced-types.xml:
26721           Hack long paragraph into 2 chunks as a workaround for buggy
26722           jadetex version in sid and breezy that loops infinitely and
26723           eats all RAM.
26724
26725 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26726
26727         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26728         (test_event), (timediff), (gstevents_suite):
26729           Provide more error margin in clock measurements to allow for 
26730           g_get_current_time inaccuracies.
26731
26732 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26733
26734         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26735         (test_event), (timediff), (gstevents_suite):
26736            Fix error message output so I might be able to tell why the
26737            test works here but fails on the build farm.
26738
26739 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26740
26741         * check/Makefile.am:
26742         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26743         (test_event), (timediff), (gstevents_suite), (main):
26744           I wrote a test!
26745
26746         * docs/design/part-seeking.txt:
26747           Spelling correction
26748
26749         * docs/gst/tmpl/gstevent.sgml:
26750         * docs/gst/tmpl/gstfakesrc.sgml:
26751           Docs updates.
26752
26753         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26754           Treat a buffer-without-newsegment the same as a receiving 
26755           a newsegment not in time format, and disable syncing to the clock
26756           with a warning.
26757
26758         * gst/gstbus.c: (gst_bus_set_sync_handler):
26759           Assert if anyone tries to replace the existing sync_handler for bus, 
26760           as only the owner should be setting it.
26761
26762         * gst/gstevent.h:
26763           Have a fixed set of custom event enums with events identified by
26764           their structure name (as in 0.8), rather than a free-for-all
26765           allowing collisions between enum values from different plugins.
26766
26767         * gst/gstpad.c: (gst_pad_class_init):
26768           Docs change.
26769           
26770         * gst/gstqueue.c: (gst_queue_handle_sink_event):
26771           Handle out-of-band downstream events from the sending thread.
26772
26773 2005-08-17  Andy Wingo  <wingo@pobox.com>
26774
26775         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
26776         play-timeout==0 to mean no timeout at all. In that case, don't
26777         bother with a get_state or a warning, just return directly, even
26778         if it's ASYNC.
26779
26780         * gst/base/gstbasetransform.c: Debug changes.
26781
26782         * gst/gstutils.h:
26783         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
26784         ensure bins post state change messages. A bit of a hack but I can't
26785         think of a way to avoid it.
26786
26787         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
26788
26789 2005-08-16  Andy Wingo  <wingo@pobox.com>
26790
26791         * gst/base/gstadapter.h:
26792         * gst/base/gstadapter.c (gst_adapter_take): New function, like
26793         peek() but you own the data. Not terribly efficient atm.
26794
26795 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26796
26797         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
26798         (gst_element_found_tags):
26799         * gst/gstutils.h:
26800           Add two utility functions for tag handling.
26801
26802 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26803
26804         * docs/manual/advanced-dataaccess.xml:
26805         * docs/manual/basics-helloworld.xml:
26806           Fix docs to use _bin_add() before _link(), which fixes the examples
26807           with recent core versions (reported by Madhan Raj M
26808           <raj_madan@rediffmail.com>, #313199).
26809
26810 2005-08-16  Wim Taymans  <wim@fluendo.com>
26811
26812         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
26813         Added subtract checks.
26814
26815         * docs/design/part-events.txt:
26816         Some more docs about newsegment
26817
26818         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
26819         Fix FIXME
26820
26821         * gst/gstcaps.c: (gst_caps_to_string):
26822         Add comments, cleanups.
26823         
26824         * gst/gstelement.c: (gst_element_save_thyself):
26825         cleanups
26826         
26827         * gst/gstvalue.c: (gst_value_collect_int_range),
26828         (gst_string_unwrap), (gst_value_union_int_int_range),
26829         (gst_value_union_int_range_int_range),
26830         (gst_value_intersect_int_int_range),
26831         (gst_value_intersect_int_range_int_range),
26832         (gst_value_intersect_double_double_range),
26833         (gst_value_intersect_double_range_double_range),
26834         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
26835         (gst_value_subtract_int_range_int),
26836         (gst_value_subtract_double_range_double),
26837         (gst_value_subtract_double_range_double_range),
26838         (gst_value_subtract_from_list), (gst_value_subtract_list),
26839         (gst_value_can_compare), (gst_value_compare_fraction):
26840         Cleanups, add comments, remove unneeded asserts.
26841
26842 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
26843
26844         * tools/gst-launch.c: (event_loop):
26845           don't convert NULL structures to strings
26846
26847 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
26848
26849         * docs/gst/gstreamer-sections.txt:
26850           made some defines private
26851         * docs/gst/tmpl/gstconfig.sgml:
26852         * docs/gst/tmpl/gstqueue.sgml:
26853         * docs/gst/tmpl/gsttaglist.sgml:
26854         * docs/gst/tmpl/gsttypes.sgml:
26855         * docs/gst/tmpl/gstutils.sgml:
26856         * docs/pwg/appendix-porting.xml:
26857         * gst/base/gstbasesink.h:
26858         * gst/base/gstbasesrc.c:
26859         * gst/base/gstbasesrc.h:
26860         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
26861         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
26862         * gst/gstelement.c: (gst_element_class_init):
26863         * gst/gstpad.c: (gst_pad_class_init):
26864         * gst/gstqueue.c: (gst_queue_class_init):
26865         * gst/gstxml.c: (gst_xml_class_init):
26866           documented all undocumented signal inline
26867         * libs/gst/controller/gst-controller.h:
26868           added padding
26869
26870 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26871
26872         * docs/pwg/appendix-porting.xml:
26873           Document _set_link_function -> _set_setcaps_function.
26874
26875 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
26876
26877         * check/Makefile.am:
26878           add a .check target for running the check
26879         * check/gst-libs/controller.c: (GST_START_TEST):
26880           cosmetic fixups
26881         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26882           complete checks for gstbuffer; would be nice if I could get the
26883           gcov stuff to work so I can see if I actually completed gstbuffer.c
26884         * check/gstcheck.h:
26885           add ASSERT_BUFFER_REFCOUNT
26886
26887 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
26888
26889         * docs/gst/gstreamer-sections.txt:
26890         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
26891         * gst/gsttag.h:
26892           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
26893           spew out a warning if a tag that is already registered
26894           is re-registered, unless it is re-registered with a 
26895           different type (#308438).
26896
26897 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
26898
26899         * docs/pwg/appendix-porting.xml:
26900         * docs/pwg/building-state.xml:
26901           Add some paragraphs about state changes in 0.9 to the PWG
26902           and the porting guide, in particular about the new meaning
26903           of GST_STATE_PAUSED and how to write state change functions
26904           with concurrent access by multiple threads in mind.
26905
26906 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
26907
26908         * docs/gst/gstreamer-docs.sgml:
26909         * docs/libs/gstreamer-libs-docs.sgml:
26910           added deprecation and since indexes
26911         * libs/gst/controller/gst-controller.c:
26912         * libs/gst/controller/gst-helper.c:
26913           added since tags
26914
26915
26916 2005-08-11  Wim Taymans  <wim@fluendo.com>
26917
26918         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
26919         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
26920         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
26921         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
26922         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
26923         (gst_ghost_pad_set_target):
26924         Actually implement (re)setting the target on a ghostpad
26925         as described in the docs.
26926
26927 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
26928
26929         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
26930           Check whether GST_DEBUG_NO_COLOR environment variable is
26931           set and disable coloured debug output if that is the case.
26932
26933 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
26934
26935         * gst/base/gsttypefindhelper.c: (helper_find_peek),
26936         (gst_type_find_helper):
26937           The memory returned by gst_type_find_peek() needs to
26938           stay valid until the end of a typefind function, and
26939           typefind functions may keep results from different 
26940           offsets around, so we can't just unref the buffer from
26941           the previous _peek(), but have to save all buffers 
26942           returned by _peek() until typefinding is done and only
26943           free them then.
26944
26945 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
26946
26947         * docs/gst/gstreamer-sections.txt:
26948         * gst/gstutils.h:
26949           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
26950
26951 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26952
26953         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
26954           Fix a pretty good memleak.
26955
26956 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
26957
26958         * gst/gstiterator.h:
26959           Fix wrong include and 'make distcheck'.
26960
26961 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26962
26963         * gst/gstbin.c: (bin_bus_handler):
26964           Use gst_element_post_message() instead.
26965
26966 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
26967
26968         * gst/base/gstadapter.h:
26969         * gst/base/gstbasesink.h:
26970         * gst/base/gstbasesrc.h:
26971         * gst/base/gstbasetransform.h:
26972         * gst/base/gstcollectpads.h:
26973         * gst/base/gstpushsrc.h:
26974         * gst/gstiterator.h:
26975           Add padding to our base elements' class and instance structs and
26976           to GstIterator (you will need to rebuild all plugins and apps!)
26977
26978 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26979
26980         * gst/gstbin.c: (bin_bus_handler):
26981           Make default message forwarding from child->bus to bin->bus
26982           threadsafe and make it not emit warnings if the parent has no bus.
26983
26984 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26985
26986         * gst/gstelement.c: (activate_pads):
26987           On paused->ready, set pad->caps to NULL, as is the documented
26988           behaviour in this state change. Fixes playback of series of
26989           media files when visualization is enabled in Totem.
26990
26991 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26992
26993         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
26994           Allow NULL as filter-caps (which means "any").
26995
26996 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
26997
26998         * docs/libs/gstreamer-libs-sections.txt:
26999         * libs/gst/controller/gst-controller.c:
27000         * libs/gst/controller/gst-controller.h:
27001         * libs/gst/controller/gst-helper.c:
27002           adding more entries to the docs and fix small doc-bugs
27003
27004 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
27005
27006         * docs/gst/gstreamer-docs.sgml:
27007         * docs/gst/gstreamer-sections.txt:
27008         * docs/gst/gstreamer.types:
27009         * docs/gst/tmpl/gstbasesink.sgml:
27010         * docs/gst/tmpl/gstbasesrc.sgml:
27011         * docs/gst/tmpl/gstbasetransform.sgml:
27012         * docs/gst/tmpl/gstfakesrc.sgml:
27013         * gst/base/gstcollectpads.c:
27014         * gst/base/gstcollectpads.h:
27015         * libs/gst/controller/gst-controller.c:
27016         * libs/gst/controller/gst-controller.h:
27017         * libs/gst/controller/gst-helper.c:
27018         * libs/gst/controller/gst-interpolation.c:
27019         * libs/gst/controller/lib.c:
27020           added long/short desc for controller docs
27021           added collectpads base class docs
27022           added correct includes to base-class docs
27023
27024 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
27025
27026         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
27027         (gst_test_mono_source_set_property),
27028         (gst_test_mono_source_class_init), (GST_START_TEST),
27029         (gst_controller_suite):
27030         * docs/gst/gstreamer-docs.sgml:
27031         * docs/gst/gstreamer-sections.txt:
27032         * docs/gst/gstreamer.types:
27033         * docs/libs/gstreamer-libs-docs.sgml:
27034         * docs/libs/gstreamer-libs-sections.txt:
27035         * gst/base/gstadapter.c:
27036         * libs/gst/controller/gst-controller.c:
27037         (gst_controlled_property_new), (gst_controlled_property_free),
27038         (gst_controller_new_valist),
27039         (gst_controller_remove_properties_valist),
27040         (gst_controller_sink_values), (_gst_controller_finalize):
27041         * libs/gst/controller/gst-controller.h:
27042         * libs/gst/controller/gst-helper.c:
27043         (gst_object_control_properties), (gst_object_uncontrol_properties),
27044         (gst_object_get_controller), (gst_object_set_controller),
27045         (gst_object_sink_values), (gst_object_get_value_arrays),
27046         (gst_object_get_value_array):
27047           more tests (and fixes) for the controller
27048           more docs for the controller
27049           integrated companies docs for the adapter 
27050
27051 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
27052
27053         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
27054         (GST_START_TEST), (fakesrc_suite):
27055           add tests for sizetype
27056
27057 2005-08-04  Andy Wingo  <wingo@pobox.com>
27058
27059         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
27060         fixes buffer_alloc proxying among other things.
27061
27062         * gst/base/gstbasetransform.c:
27063         * gst/base/gstbasetransform.h:
27064         Revert patch to gstbasetransform from 7-28 removing
27065         delay_configure.
27066
27067         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
27068         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
27069         Semantics changed, should return not the size of the output buffer
27070         but the byte size of a buffer with a given caps.
27071
27072         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
27073         debug object.
27074         (gst_base_transform_configure_caps): Don't set out_size here: (in,
27075         out) are not the pad caps until setcaps finishes.
27076         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
27077         not-in-place case as well. Deal with changing from in-place to
27078         not-in-place within calling pad_alloc_buffer. Still a bit
27079         concerned about the overhead here...
27080
27081 2005-08-03  Andy Wingo  <wingo@pobox.com>
27082
27083         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
27084         fixating is an error.
27085
27086 2005-08-04  Edward Hervey  <edward@fluendo.com>
27087
27088         * gst/base/gstadapter.h: 
27089         Added gst_adapter_get_type() to the header
27090
27091 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
27092
27093         * check/Makefile.am:
27094         * check/gst-libs/controller.c:
27095         * libs/gst/controller/gst-controller.c:
27096         (gst_controller_new_valist):
27097           added check test suite for the controller
27098         * gst/base/gstpushsrc.c:
27099           fixed a doc typo
27100
27101 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
27102
27103         * docs/gst/Makefile.am:
27104         * docs/gst/gstreamer-docs.sgml:
27105         * docs/gst/gstreamer-sections.txt:
27106         * docs/gst/gstreamer.types:
27107         * docs/gst/tmpl/gstfakesrc.sgml:
27108         * gst/base/README:
27109         * gst/base/gstbasesink.c:
27110         * gst/base/gstbasesink.h:
27111         * gst/base/gstbasesrc.c:
27112         * gst/base/gstbasesrc.h:
27113         * gst/base/gstbasetransform.c:
27114         * gst/base/gstpushsrc.c:
27115         * gst/base/gstpushsrc.h:
27116           add short/long description docs to base classes
27117           add pushsrc to the docs
27118           remove consolidated doc fragments
27119
27120 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
27121
27122         * configure.ac:
27123         * docs/libs/Makefile.am:
27124         * docs/libs/gstreamer-libs-docs.sgml:
27125         * docs/libs/gstreamer-libs-sections.txt:
27126         * docs/libs/gstreamer-libs.types:
27127         * examples/Makefile.am:
27128         * examples/controller/.cvsignore:
27129         * examples/controller/Makefile.am:
27130         * examples/controller/audio-example.c: (main):
27131         * libs/gst/Makefile.am:
27132         * libs/gst/controller/.cvsignore:
27133         * libs/gst/controller/Makefile.am:
27134         * libs/gst/controller/gst-controller.c:
27135         (on_object_controlled_property_changed), (gst_timed_value_compare),
27136         (gst_timed_value_find),
27137         (gst_controlled_property_set_interpolation_mode),
27138         (gst_controlled_property_new), (gst_controlled_property_free),
27139         (gst_controller_find_controlled_property),
27140         (gst_controller_new_valist), (gst_controller_new),
27141         (gst_controller_remove_properties_valist),
27142         (gst_controller_remove_properties), (gst_controller_set),
27143         (gst_controller_set_from_list), (gst_controller_unset),
27144         (gst_controller_get), (gst_controller_get_all),
27145         (gst_controller_sink_values), (gst_controller_get_value_arrays),
27146         (gst_controller_get_value_array),
27147         (gst_controller_set_interpolation_mode),
27148         (_gst_controller_finalize), (_gst_controller_init),
27149         (_gst_controller_class_init), (gst_controller_get_type):
27150         * libs/gst/controller/gst-controller.h:
27151         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
27152         (g_object_uncontrol_properties), (g_object_get_controller),
27153         (g_object_set_controller), (g_object_sink_values),
27154         (g_object_get_value_arrays), (g_object_get_value_array):
27155         * libs/gst/controller/gst-interpolation.c:
27156         (gst_controlled_property_find_timed_value_node),
27157         (interpolate_none_get), (interpolate_trigger_get),
27158         (interpolate_trigger_get_value_array):
27159         * libs/gst/controller/lib.c: (gst_controller_init):
27160         * pkgconfig/Makefile.am:
27161         * pkgconfig/gstreamer-control-uninstalled.pc.in:
27162         * pkgconfig/gstreamer-control.pc.in:
27163         * testsuite/Makefile.am:
27164         * testsuite/controller/.cvsignore:
27165         * testsuite/controller/Makefile.am:
27166         * testsuite/controller/interpolator.c: (main):
27167           added controller code
27168           removed dparam pc files
27169
27170 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
27171         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
27172         (gst_collectpads_stop):
27173           Broadcast the condition when shutting down, to make sure we wake all
27174           threads up. Shut down pads on finalize, for safety.
27175
27176 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
27177         * gst/base/gstbasetransform.c: (gst_base_transform_init),
27178         (gst_base_transform_handle_buffer),
27179         (gst_base_transform_change_state):
27180           Handle PAUSED->READY->PAUSED transition after negotiation
27181           occurred already.
27182         * gst/gstmessage.c: (gst_message_init):
27183           Extra piece of debug for new messages.
27184
27185 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
27186
27187         * configure.ac:
27188         * docs/gst/tmpl/gstbasesrc.sgml:
27189         * docs/gst/tmpl/gstelement.sgml:
27190         * docs/gst/tmpl/gstevent.sgml:
27191         * docs/gst/tmpl/gstfakesrc.sgml:
27192         * docs/gst/tmpl/gstformat.sgml:
27193         * docs/gst/tmpl/gstghostpad.sgml:
27194         * docs/gst/tmpl/gstpad.sgml:
27195         * docs/gst/tmpl/gstquery.sgml:
27196         * docs/gst/tmpl/gststructure.sgml:
27197         * docs/gst/tmpl/gsttaglist.sgml:
27198         * docs/gst/tmpl/gstvalue.sgml:
27199         * docs/libs/gstreamer-libs-docs.sgml:
27200         * docs/libs/gstreamer-libs-sections.txt:
27201         * docs/libs/gstreamer-libs.types:
27202         * libs/gst/Makefile.am:
27203         * libs/gst/control/.cvsignore:
27204         * libs/gst/control/Makefile.am:
27205         * libs/gst/control/control.c:
27206         * libs/gst/control/control.h:
27207         * libs/gst/control/dparam.c:
27208         * libs/gst/control/dparam.h:
27209         * libs/gst/control/dparam_smooth.c:
27210         * libs/gst/control/dparam_smooth.h:
27211         * libs/gst/control/dparamcommon.h:
27212         * libs/gst/control/dparammanager.c:
27213         * libs/gst/control/dparammanager.h:
27214         * libs/gst/control/dplinearinterp.c:
27215         * libs/gst/control/dplinearinterp.h:
27216         * libs/gst/control/unitconvert.c:
27217         * libs/gst/control/unitconvert.h:
27218         * testsuite/Makefile.am:
27219         * testsuite/dynparams/.cvsignore:
27220         * testsuite/dynparams/Makefile.am:
27221         * testsuite/dynparams/dparamstest.c:
27222         * tools/Makefile.am:
27223         * tools/gst-inspect.c: (print_element_info), (main):
27224         * tools/gst-xmlinspect.c: (print_element_info), (main):
27225           deactivate and remove dparams (libgstcontrol)
27226
27227 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
27228
27229         * gst/elements/gsttypefindelement.c:
27230         (gst_type_find_element_have_type), (gst_type_find_element_init),
27231         (stop_typefinding), (gst_type_find_element_handle_event),
27232         (gst_type_find_element_chain), (gst_type_find_element_getrange):
27233         * gst/elements/gsttypefindelement.h:
27234           Set caps on all outgoing buffers, not just the first one.
27235
27236 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
27237
27238         * gst/elements/gsttypefindelement.c:
27239         (gst_type_find_element_have_type),
27240         (gst_type_find_element_check_set_buffer_caps),
27241         (gst_type_find_element_init), (stop_typefinding),
27242         (gst_type_find_element_handle_event),
27243         (gst_type_find_element_chain), (gst_type_find_element_getrange):
27244         * gst/elements/gsttypefindelement.h:
27245           Set caps on first outgoing buffer when we've found the type.
27246
27247 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
27248
27249         * docs/gst/gstreamer-docs.sgml:
27250         * docs/gst/gstreamer-sections.txt:
27251         * docs/gst/tmpl/gstscheduler.sgml:
27252         * docs/gst/tmpl/gstschedulerfactory.sgml:
27253           Remove some old cruft from docs.
27254
27255 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
27256
27257         * gst/gstpad.h:
27258           Fix inline docs for GstPadLinkReturn.
27259           
27260         * gst/gststructure.c: (gst_structure_has_name):
27261         * gst/gststructure.h:
27262         * docs/gst/gstreamer-sections.txt:
27263           New API: gst_structure_has_name().
27264
27265 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
27266
27267         * configure.ac:
27268           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
27269           and _LARGEFILE_SOURCE in config.h as required. Do not 
27270           export those flags in our .pc files any longer (#142209).
27271
27272           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
27273
27274         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
27275         (gst_file_sink_do_seek), (gst_file_sink_event),
27276         (gst_file_sink_get_current_offset), (gst_file_sink_render):
27277           Redo seek/tell calls with large file support in mind; add some
27278           debugging messages; add log message that tells us when large
27279           file support is unavailable or not enabled for some reason.
27280
27281         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
27282           Add log message that tells us when large file support 
27283           is unavailable or not enabled for some reason.
27284
27285 2005-07-29  Wim Taymans  <wim@fluendo.com>
27286
27287         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27288         Added test for removing an element with ghostpad from a bin.
27289         Fixed test as current implementation does the right thing.
27290
27291         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
27292         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
27293         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
27294         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
27295         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
27296         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
27297         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
27298         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
27299         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
27300         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
27301         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
27302         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
27303         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
27304         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
27305         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
27306         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
27307         * gst/gstghostpad.h:
27308         Clean up ghostpads, remove properties for internal stuff.
27309         Make threadsafe.
27310         Fix refcounting.
27311         Prepare for switching targets, not all use cases work yet.
27312
27313 2005-07-29  Wim Taymans  <wim@fluendo.com>
27314
27315         * docs/design/part-gstghostpad.txt:
27316         Small update.
27317
27318         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27319         (gst_bin_remove_func):
27320         Unlinking pads while holding the bin LOCK is not a good
27321         idea.
27322
27323         * gst/gstpad.c: (gst_pad_class_init),
27324         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
27325         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
27326         No prob setting template after creating the pad.
27327
27328 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
27329
27330         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
27331         (gst_bus_peek), (gst_bus_source_dispatch),
27332         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
27333         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
27334           gst_bus_poll may be called from other threads. Handle
27335           this nicely by not making poll_data disappear off the
27336           stack once gst_bus_poll returns.
27337           gst_bus_peek now increments the refcount on the returned
27338           message.
27339
27340 2005-07-29  Wim Taymans  <wim@fluendo.com>
27341
27342         * docs/design/part-gstghostpad.txt:
27343         Overview of current GhostPad datastructures and use
27344         cases for changing the target.
27345
27346 2005-07-28  Wim Taymans  <wim@fluendo.com>
27347
27348         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
27349         Added checks for hierarchy consistency whan adding linked
27350         elements to bins.
27351
27352         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
27353         Added check to test element scheduling without bin/pipeline.
27354
27355         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
27356         First add elements to bin, then link.
27357         
27358         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27359         (gst_bin_remove_func):
27360         Unlink pads from elements added/removed from bin to maintain
27361         hierarchy consistency.
27362
27363 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27364
27365         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
27366         (gst_base_transform_handle_buffer):
27367         * gst/base/gstbasetransform.h:
27368           Remove broken delay_configure (fixes renegotiation of software
27369           scaling pipelines); remove some leftover printf()s.
27370
27371 2005-07-28  Wim Taymans  <wim@fluendo.com>
27372
27373         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27374         Added some more tests for wrong hierarchy
27375
27376         * docs/design/part-overview.txt:
27377         Some updates.
27378
27379         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
27380         Cleanups.
27381
27382         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
27383         (gst_element_dispose):
27384         Some more cleanups.
27385
27386         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
27387         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
27388         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27389         (gst_pad_set_caps), (gst_pad_send_event):
27390         Check for correct hierarchy when linking pads. Moving to
27391         strict requirement for ghostpads when linking elements in
27392         different bins.
27393
27394         * gst/gstpad.h:
27395         Clean ups. Added WRONG_HIERARCHY return value.
27396
27397 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27398
27399         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
27400           Better debug if no transform is possible.
27401
27402 2005-07-27  Wim Taymans  <wim@fluendo.com>
27403
27404         * docs/random/wtay/network-transp:
27405         Some old doc I had.
27406
27407 2005-07-27  Wim Taymans  <wim@fluendo.com>
27408
27409         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27410         (gst_dp_event_from_packet):
27411         Fix serialization of seek events.
27412
27413 2005-07-27  Wim Taymans  <wim@fluendo.com>
27414
27415         * check/gst-libs/gdp.c: (GST_START_TEST):
27416         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27417         Fix compilation and fix event serialization.
27418
27419 2005-07-27  Wim Taymans  <wim@fluendo.com>
27420
27421         * CHANGES-0.9:
27422         * docs/design/part-TODO.txt:
27423         * docs/design/part-events.txt:
27424         Some docs updates
27425
27426         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27427         (gst_base_sink_event), (gst_base_sink_do_sync),
27428         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27429         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
27430         (gst_base_src_do_seek), (gst_base_src_event_handler),
27431         (gst_base_src_loop):
27432         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27433         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27434         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
27435         (gst_base_transform_event), (gst_base_transform_handle_buffer),
27436         (gst_base_transform_set_passthrough),
27437         (gst_base_transform_is_passthrough):
27438         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27439         * gst/elements/gstfilesink.c: (gst_file_sink_event):
27440         Event updates.
27441
27442         * gst/gstbuffer.h:
27443         Use faster casts.
27444
27445         * gst/gstelement.c: (gst_element_seek):
27446         * gst/gstelement.h:
27447         Update gst_element_seek.
27448
27449         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
27450         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
27451         (gst_event_new_flush_start), (gst_event_new_flush_stop),
27452         (gst_event_new_eos), (gst_event_new_newsegment),
27453         (gst_event_parse_newsegment), (gst_event_new_tag),
27454         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
27455         (gst_event_parse_qos), (gst_event_new_seek),
27456         (gst_event_parse_seek), (gst_event_new_navigation):
27457         * gst/gstevent.h:
27458         Make GstEvent use GstStructure. Add parsing code, make sure the
27459         API is sufficiently generic.
27460         Mark possible directions of events and serialization.
27461
27462         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
27463         (_gst_message_copy), (gst_message_new_segment_start),
27464         (gst_message_new_segment_done), (gst_message_new_custom),
27465         (gst_message_parse_segment_start),
27466         (gst_message_parse_segment_done):
27467         Small cleanups.
27468
27469         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27470         (gst_pad_set_caps), (gst_pad_send_event):
27471         Update for new events. 
27472         Catch events sent in wrong directions.
27473
27474         * gst/gstqueue.c: (gst_queue_link_src),
27475         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
27476         (gst_queue_handle_src_query):
27477         Event updates.
27478
27479         * gst/gsttag.c:
27480         * gst/gsttag.h:
27481         Remove event code from this file.
27482
27483         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27484         (gst_dp_event_from_packet):
27485         Event updates.
27486
27487 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27488
27489         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
27490         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27491         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
27492           Make debugging actually useful.
27493
27494 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27495
27496         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
27497         (gst_pad_fixate_caps):
27498           Implement default fixation once again, so that gst_pad_fixate()
27499           actually does anything at all. This probably needs to be some
27500           sort of a last resort, and use profile-based fixation first, but
27501           since that doesn't exist yet, this is the best we have. Fixes
27502           visualization in Totem.
27503
27504 2005-07-22  Wim Taymans  <wim@fluendo.com>
27505
27506         * docs/design/part-events.txt:
27507         Small update.
27508
27509         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27510         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
27511         (gst_base_sink_activate_pull):
27512         Some more comments.
27513
27514         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
27515         (gst_fake_src_create):
27516         Fix handoff marshall.
27517
27518         * gst/elements/gstidentity.c: (gst_identity_class_init),
27519         (gst_identity_transform_ip):
27520         We're a real inplace element.
27521
27522         * gst/gstbus.c: (gst_bus_post):
27523         Added some comments.
27524
27525         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
27526         * tests/muxing/case1.c: (main):
27527         * tests/sched/dynamic-pipeline.c: (main):
27528         * tests/sched/interrupt1.c: (main):
27529         * tests/sched/interrupt2.c: (main):
27530         * tests/sched/interrupt3.c: (main):
27531         * tests/sched/runxml.c: (main):
27532         * tests/sched/sched-stress.c: (main):
27533         * tests/seeking/seeking1.c: (event_received), (main):
27534         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
27535         (main):
27536         * tests/threadstate/threadstate3.c: (main):
27537         * tests/threadstate/threadstate4.c: (main):
27538         * tests/threadstate/threadstate5.c: (main):
27539         Fix the tests.
27540
27541 2005-07-21  Wim Taymans  <wim@fluendo.com>
27542
27543         * docs/design/part-seeking.txt:
27544         Some small additions.
27545
27546         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27547         (gst_base_sink_get_times), (gst_base_sink_do_sync),
27548         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27549         * gst/base/gstbasesink.h:
27550         discont values are gint64, handle the math correctly.
27551
27552         * gst/base/gstbasesrc.c: (gst_base_src_loop):
27553         Make the basesrc report error if the source pad is not linked.
27554
27555         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
27556         (gst_queue_loop), (gst_queue_handle_src_query),
27557         (gst_queue_src_activate_push):
27558         Make queue collect data even if the srcpad is not linked.
27559         Start pushing out data as soon as it is linked.
27560
27561         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
27562         * gst/gstutils.h:
27563         Added gst_flow_get_name() to ease error reporting.
27564
27565 2005-07-20  Wim Taymans  <wim@fluendo.com>
27566
27567         * gst/gstmessage.c: (gst_message_new_segment_start),
27568         (gst_message_new_segment_done), (gst_message_parse_segment_start),
27569         (gst_message_parse_segment_done):
27570         * gst/gstmessage.h:
27571         Added a bunch of messages for advanced seeking.
27572
27573         * gst/parse/grammar.y:
27574         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
27575         (gst_dpman_state_changed):
27576         Fix some new-pad -> pad-added signals
27577
27578 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27579
27580         * docs/manual/appendix-porting.xml:
27581         * docs/pwg/appendix-porting.xml:
27582           Document new-pad/state-change signal renames and the FixedList
27583           type rename.
27584
27585 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27586
27587         * docs/manual/advanced-autoplugging.xml:
27588         * docs/manual/basics-helloworld.xml:
27589         * docs/manual/basics-pads.xml:
27590         * docs/random/ds/0.9-suggested-changes:
27591         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
27592         * gst/gstelement.h:
27593         * gst/gstevent.h:
27594         * gst/gstformat.h:
27595         * gst/gstquery.h:
27596         * gst/gststructure.c: (gst_structure_value_get_generic_type),
27597         (gst_structure_parse_array), (gst_structure_parse_value):
27598         * gst/gstvalue.c: (gst_type_is_fixed),
27599         (gst_value_list_prepend_value), (gst_value_list_append_value),
27600         (gst_value_list_get_size), (gst_value_list_get_value),
27601         (gst_value_transform_array_string), (gst_value_serialize_array),
27602         (gst_value_deserialize_array), (gst_value_intersect_array),
27603         (gst_value_is_fixed), (_gst_value_initialize):
27604         * gst/gstvalue.h:
27605           GstElement::new-pad -> pad-added, GstElement::state-change ->
27606           state-changed, GstValueFixedList -> GstValueArray, add format and
27607           flags as their own arguments in gst_element_seek() (should improve
27608           "bindeability"), remove function generators since they don't work
27609           under a whole bunch of compilers (they were deprecated already
27610           anyway).
27611
27612 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27613
27614         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
27615         (_gst_debug_register_funcptr):
27616         * gst/gstinfo.h:
27617           Fix illegal cast on some platforms (#309253).
27618
27619 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27620
27621         * gst/gstmessage.c: (gst_message_new_custom):
27622         * gst/gstmessage.h:
27623           Add _new_custom, make _new_application a macro to _new_custom.
27624
27625 2005-07-20  Wim Taymans  <wim@fluendo.com>
27626
27627         * gst/base/gstbasesrc.c: (gst_base_src_init),
27628         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
27629         * gst/base/gstbasesrc.h:
27630         Add a gboolean to decide when to push out a discont.
27631
27632         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
27633         (gst_queue_loop), (gst_queue_handle_src_query),
27634         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
27635         (gst_queue_set_property), (gst_queue_get_property):
27636         Some cleanups.
27637
27638         * tests/threadstate/threadstate1.c: (main):
27639         Make a thread test compile and run... very silly..
27640
27641
27642 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27643
27644         * docs/manual/appendix-porting.xml:
27645           Mention removal of libgstgconf-0.9.la and existence of gconf
27646           elements.
27647
27648 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27649
27650         * docs/pwg/advanced-clock.xml:
27651         * docs/pwg/appendix-porting.xml:
27652         * docs/pwg/intro-preface.xml:
27653         * docs/pwg/other-base.xml:
27654         * docs/pwg/other-manager.xml:
27655         * docs/pwg/other-nton.xml:
27656         * docs/pwg/other-ntoone.xml:
27657         * docs/pwg/other-oneton.xml:
27658         * docs/pwg/pwg.xml:
27659           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
27660           demuxer), remove n-to-n (was never written), fix some code examples
27661           and links and update the porting section to include all this.
27662
27663 2005-07-19  Wim Taymans  <wim@fluendo.com>
27664
27665         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
27666         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
27667         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
27668         (gst_queue_src_activate_push), (gst_queue_change_state),
27669         (gst_queue_get_property):
27670         * gst/gstqueue.h:
27671         Propagate GstFlowReturn more intelligently upstream and output
27672         an ERROR/EOS when streaming stopped due to fatal error.
27673
27674 2005-07-19  Wim Taymans  <wim@fluendo.com>
27675
27676         * tools/gst-launch.c: (check_intr), (event_loop), (main):
27677         Don't block forever for the state change to complete, the
27678         pipeline already did with a sensible timeout.
27679
27680 2005-07-19  Wim Taymans  <wim@fluendo.com>
27681
27682         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
27683         Make sure we never call the create function is we
27684         got deactivated.
27685
27686 2005-07-19  Andy Wingo  <wingo@pobox.com>
27687
27688         * gst/parse/parse.l: Attempt to solve bug #172815.
27689
27690 2005-07-19  Wim Taymans  <wim@fluendo.com>
27691
27692         * docs/design/part-clocks.txt:
27693         * docs/design/part-events.txt:
27694         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
27695         Small docs updates.
27696         Only update the seeking values when we are not
27697         busy streaming.
27698
27699 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
27700
27701         * gst/base/gstbasesrc.c: (gst_base_src_loop):
27702           Oops, ignore the result of gst_pad_push_event here.
27703
27704 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
27705
27706         * gst/base/gstbasesrc.c: (gst_base_src_loop),
27707         (gst_base_src_activate_push):
27708           Send discont event from the loop function, as pads
27709           aren't activated yet in the activate_push handler.
27710
27711         * gst/gstbin.c: (bin_bus_handler):
27712           Don't leak element name.
27713
27714 2005-07-18  Andy Wingo  <wingo@pobox.com>
27715
27716         * configure.ac: Use AS_LIBTOOL_TAGS.
27717
27718 2005-07-18  Wim Taymans  <wim@fluendo.com>
27719
27720         * docs/gst/gstreamer.types:
27721         Remove deleted types.
27722
27723 2005-07-18  Wim Taymans  <wim@fluendo.com>
27724
27725         * check/elements/gstfakesrc.c: (GST_START_TEST):
27726         * configure.ac:
27727         * gst/Makefile.am:
27728         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
27729         (init_popt_callback):
27730         * gst/gst.h:
27731         * gst/gst_private.h:
27732         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
27733         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
27734         * gst/gstbin.h:
27735         * gst/gstbus.h:
27736         * gst/gstconfig.h.in:
27737         * gst/gstelement.c: (gst_element_class_init),
27738         (gst_element_set_base_time), (gst_element_get_base_time),
27739         (iterator_fold_with_resync), (gst_element_change_state),
27740         (gst_element_dispose), (gst_element_get_bus):
27741         * gst/gstelement.h:
27742         * gst/gstelementfactory.h:
27743         * gst/gsterror.c: (_gst_core_errors_init):
27744         * gst/gsterror.h:
27745         * gst/gstevent.h:
27746         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
27747         * gst/gstindex.c:
27748         * gst/gstinfo.c: (_gst_debug_init):
27749         * gst/gstmessage.c: (_gst_message_copy):
27750         * gst/gstmessage.h:
27751         * gst/gstminiobject.h:
27752         * gst/gstobject.c:
27753         * gst/gstobject.h:
27754         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27755         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
27756         * gst/gstpad.h:
27757         * gst/gstparse.h:
27758         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
27759         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
27760         (gst_pipeline_get_last_stream_time):
27761         * gst/gstpipeline.h:
27762         * gst/gstpluginfeature.h:
27763         * gst/gstquery.h:
27764         * gst/gstscheduler.c:
27765         * gst/gstscheduler.h:
27766         * gst/gststructure.h:
27767         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
27768         (gst_task_finalize), (gst_task_func), (gst_task_create),
27769         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
27770         (gst_task_stop), (gst_task_pause):
27771         * gst/gsttask.h:
27772         * gst/gsttypefind.h:
27773         * gst/gsttypes.h:
27774         * gst/registries/gstlibxmlregistry.c: (load_feature),
27775         (gst_xml_registry_load), (gst_xml_registry_save_feature):
27776         * gst/registries/gstxmlregistry.c:
27777         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
27778         * gst/schedulers/threadscheduler.c:
27779         * libs/gst/control/dparammanager.h:
27780         * tools/gst-inspect.c: (print_element_list),
27781         (print_plugin_features), (print_element_features):
27782         * tools/gst-xmlinspect.c: (print_element_list),
27783         (print_plugin_info), (main):
27784         Removed plugable schedulers.
27785         Removed Scheduler/Manager from elements.
27786         Removed gsttypes.h, rearranged includes.
27787         Removed dependency pad<->element, element<>pipeline, and
27788         various others,  fix includes.
27789         implement gst_pad_get_parent() with gst_object_get_parent()
27790         Make GstTask sefcontained.
27791         Fix _get_state() on GstBin, it did not return ASYNC with a 0
27792         timeout.
27793         Fix endless loop in iterator_fold_with_resync.
27794
27795
27796 2005-07-18  Wim Taymans  <wim@fluendo.com>
27797
27798         * gst/Makefile.am:
27799         * gst/gstarch.h:
27800         Remove old file.
27801
27802 2005-07-18  Wim Taymans  <wim@fluendo.com>
27803
27804         * gst/Makefile.am:
27805         No more cothreads.h
27806
27807 2005-07-18  Wim Taymans  <wim@fluendo.com>
27808
27809         * gst/cothreads.c:
27810         * gst/cothreads.h:
27811         Let's remove these.
27812
27813 2005-07-18  Wim Taymans  <wim@fluendo.com>
27814
27815         * docs/design/part-dynamic.txt:
27816         * docs/design/part-events.txt:
27817         * docs/design/part-seeking.txt:
27818         Some more docs in the works.
27819
27820         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27821         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
27822         (gst_base_transform_setcaps), (gst_base_transform_get_size),
27823         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
27824         (gst_base_transform_handle_buffer),
27825         (gst_base_transform_sink_activate_push),
27826         (gst_base_transform_src_activate_pull),
27827         (gst_base_transform_set_passthrough),
27828         (gst_base_transform_is_passthrough):
27829         Refcounting fixes.
27830
27831         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
27832         Cleanups.
27833
27834         * gst/gstevent.c: (gst_event_finalize):
27835         Set SRC to NULL.
27836
27837         * gst/gstutils.c: (gst_element_unlink),
27838         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
27839         (gst_pad_proxy_setcaps):
27840         * gst/gstutils.h:
27841         Add _get_parent_element() to get a pads parent as an element.
27842
27843 2005-07-18  Wim Taymans  <wim@fluendo.com>
27844
27845         * check/gst/gstbin.c: (GST_START_TEST):
27846         Remove bogus test.
27847
27848 2005-07-18  Wim Taymans  <wim@fluendo.com>
27849
27850         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
27851         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
27852         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
27853         (gst_base_sink_event), (gst_base_sink_do_sync),
27854         (gst_base_sink_chain), (gst_base_sink_loop),
27855         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
27856         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
27857         Refcounting fixes.
27858         Fix logic for returning ASYNC when not prerolled.
27859
27860 2005-07-18  Wim Taymans  <wim@fluendo.com>
27861
27862         * gst/gstqueue.c: (gst_queue_handle_sink_event):
27863         Fix nasty refcount bug.
27864
27865 2005-07-16 Philippe Khalaf <burger@speedy.org>
27866
27867         * gst/elements/gstfdsrc.c:
27868         * gst/elements/gstfdsrc.h:
27869         * gst/elements/gstelements.c:
27870         * gst/elements/Makefile.am:
27871         Ported fdsrc to 0.9.
27872
27873 2005-07-16  Wim Taymans  <wim@fluendo.com>
27874
27875         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27876         (gst_base_sink_do_sync):
27877         Fix compile error.
27878
27879 2005-07-16  Wim Taymans  <wim@fluendo.com>
27880
27881         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27882         (gst_base_sink_event), (gst_base_sink_get_times),
27883         (gst_base_sink_do_sync), (gst_base_sink_change_state):
27884         * gst/base/gstbasesink.h:
27885         Store and use discont values when syncing buffers as described
27886         in design docs.
27887         
27888         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
27889         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
27890         (gst_base_src_activate_push):
27891         Push discont event when starting.
27892
27893         * gst/elements/gstidentity.c: (gst_identity_transform):
27894         Small cleanups.
27895
27896         * gst/gstbin.c: (gst_bin_change_state):
27897         Small cleanups in base_time  distribution.
27898
27899         * gst/gstelement.c: (gst_element_set_base_time),
27900         (gst_element_get_base_time), (gst_element_change_state):
27901         * gst/gstelement.h:
27902         Added methods for the base_time of the element.
27903         Some MT fixes.
27904
27905         * gst/gstpipeline.c: (gst_pipeline_send_event),
27906         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
27907         (gst_pipeline_get_last_stream_time):
27908         * gst/gstpipeline.h:
27909         MT fixes.
27910         Handle seeking as described in design doc, remove stream_time
27911         hack.
27912         Cleanups clock and stream_time selection code. Added accessors
27913         for the stream_time.
27914         
27915
27916 2005-07-16  Andy Wingo  <wingo@pobox.com>
27917
27918         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
27919         (#305291).
27920
27921 2005-07-16  Wim Taymans  <wim@fluendo.com>
27922
27923         * check/gst/gstbin.c: (GST_START_TEST):
27924         Make elements silent as the deep_notify refs the
27925         parent, which might make the test fail.
27926
27927         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
27928         Don't hold the lock for too long.
27929
27930 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
27931
27932         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
27933           Don't unref the caps we passed to gst_caps_make_writable() after
27934           passing them. gst_caps_make_writable() will do that for us.
27935
27936 2005-07-15  Andy Wingo  <wingo@pobox.com>
27937
27938         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
27939         (#157311).
27940
27941         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
27942         own marshalling function for the handoff signal. Properly type the
27943         buffer as a buffer. Fixes some warnings. Should do a more general
27944         solution.
27945         (gst_identity_class_init): Plug into the right marshaller.
27946
27947 2005-07-15  Wim Taymans  <wim@fluendo.com>
27948
27949         * docs/design/part-TODO.txt:
27950         * docs/design/part-clocks.txt:
27951         * docs/design/part-element-sink.txt:
27952         * docs/design/part-events.txt:
27953         * docs/design/part-gstpipeline.txt:
27954         Updated docs, mostly DISCONT related.
27955
27956 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
27957
27958         * docs/pwg/building-pads.xml:
27959           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
27960
27961 2005-07-15  Andy Wingo  <wingo@pobox.com>
27962
27963         * tools/gst-typefind.c: Update, add copyright block.
27964
27965         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
27966         Normalize and truncate caps before fixation.
27967
27968         * gst/gstcaps.h:
27969         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
27970         discards all but the first structure from its argument.
27971
27972 2005-07-15  Wim Taymans  <wim@fluendo.com>
27973
27974         * gst/base/gstbasetransform.c: (gst_base_transform_init),
27975         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
27976         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27977         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
27978         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
27979         (gst_base_transform_chain), (gst_base_transform_change_state),
27980         (gst_base_transform_set_passthrough),
27981         (gst_base_transform_is_passthrough):
27982         * gst/base/gstbasetransform.h:
27983         Make passthrough work using the bufferpools.
27984         Changed API a bit, subclasses have to write into a buffer
27985         provided by the base class.
27986         More debug info in nego functions.
27987         
27988         * gst/elements/gstidentity.c: (gst_identity_init),
27989         (gst_identity_transform):
27990         Port to new base class.
27991
27992 2005-07-15  Wim Taymans  <wim@fluendo.com>
27993
27994         * gst/gstmessage.c: (gst_message_new_state_changed):
27995         * tools/gst-launch.c: (event_loop), (main):
27996         Totally dump messages in -launch with the -m option.
27997         Fix message name for State messages,
27998
27999 2005-07-14  Wim Taymans  <wim@fluendo.com>
28000
28001         * gst/base/gstbasesrc.c: (gst_base_src_loop):
28002         Post error messages on errors.
28003
28004 2005-07-14  Wim Taymans  <wim@fluendo.com>
28005
28006         * gst/gstcaps.c: (gst_caps_do_simplify):
28007         Remove debug info.
28008
28009         * gst/gsterror.h:
28010         Define error for stream stopped.
28011
28012         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28013         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
28014         Do proper return values.
28015
28016         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
28017         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
28018         (gst_pad_get_range):
28019         Better return values.
28020
28021         * gst/gstpad.h:
28022         Reorganise return values, add macro to check for fatal errors.
28023
28024         * gst/gstqueue.c: (gst_queue_chain):
28025         Return proper GstFlowReturn values,
28026
28027 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
28028
28029         * docs/gst/gstreamer-sections.txt:
28030         * docs/gst/gstreamer.types:
28031         * docs/gst/tmpl/gst.sgml:
28032         * docs/gst/tmpl/gstbasesink.sgml:
28033         * docs/gst/tmpl/gstbasesrc.sgml:
28034         * docs/gst/tmpl/gstbasetransform.sgml:
28035         * docs/gst/tmpl/gstbin.sgml:
28036         * docs/gst/tmpl/gstbuffer.sgml:
28037         * docs/gst/tmpl/gstcaps.sgml:
28038         * docs/gst/tmpl/gstclock.sgml:
28039         * docs/gst/tmpl/gstcompat.sgml:
28040         * docs/gst/tmpl/gstconfig.sgml:
28041         * docs/gst/tmpl/gstelement.sgml:
28042         * docs/gst/tmpl/gstelementdetails.sgml:
28043         * docs/gst/tmpl/gstelementfactory.sgml:
28044         * docs/gst/tmpl/gstenumtypes.sgml:
28045         * docs/gst/tmpl/gsterror.sgml:
28046         * docs/gst/tmpl/gstevent.sgml:
28047         * docs/gst/tmpl/gstfakesink.sgml:
28048         * docs/gst/tmpl/gstfakesrc.sgml:
28049         * docs/gst/tmpl/gstfilesink.sgml:
28050         * docs/gst/tmpl/gstfilesrc.sgml:
28051         * docs/gst/tmpl/gstfilter.sgml:
28052         * docs/gst/tmpl/gstformat.sgml:
28053         * docs/gst/tmpl/gstghostpad.sgml:
28054         * docs/gst/tmpl/gstimplementsinterface.sgml:
28055         * docs/gst/tmpl/gstindex.sgml:
28056         * docs/gst/tmpl/gstindexfactory.sgml:
28057         * docs/gst/tmpl/gstinfo.sgml:
28058         * docs/gst/tmpl/gstiterator.sgml:
28059         * docs/gst/tmpl/gstmacros.sgml:
28060         * docs/gst/tmpl/gstmemchunk.sgml:
28061         * docs/gst/tmpl/gstminiobject.sgml:
28062         * docs/gst/tmpl/gstobject.sgml:
28063         * docs/gst/tmpl/gstpad.sgml:
28064         * docs/gst/tmpl/gstpadtemplate.sgml:
28065         * docs/gst/tmpl/gstparse.sgml:
28066         * docs/gst/tmpl/gstpipeline.sgml:
28067         * docs/gst/tmpl/gstplugin.sgml:
28068         * docs/gst/tmpl/gstpluginfeature.sgml:
28069         * docs/gst/tmpl/gstquery.sgml:
28070         * docs/gst/tmpl/gstqueue.sgml:
28071         * docs/gst/tmpl/gstregistry.sgml:
28072         * docs/gst/tmpl/gstregistrypool.sgml:
28073         * docs/gst/tmpl/gstscheduler.sgml:
28074         * docs/gst/tmpl/gstschedulerfactory.sgml:
28075         * docs/gst/tmpl/gststructure.sgml:
28076         * docs/gst/tmpl/gstsystemclock.sgml:
28077         * docs/gst/tmpl/gsttaglist.sgml:
28078         * docs/gst/tmpl/gsttagsetter.sgml:
28079         * docs/gst/tmpl/gsttrace.sgml:
28080         * docs/gst/tmpl/gsttrashstack.sgml:
28081         * docs/gst/tmpl/gsttypefind.sgml:
28082         * docs/gst/tmpl/gsttypefindfactory.sgml:
28083         * docs/gst/tmpl/gsttypes.sgml:
28084         * docs/gst/tmpl/gsturihandler.sgml:
28085         * docs/gst/tmpl/gsturitype.sgml:
28086         * docs/gst/tmpl/gstutils.sgml:
28087         * docs/gst/tmpl/gstvalue.sgml:
28088         * docs/gst/tmpl/gstversion.sgml:
28089         * docs/gst/tmpl/gstxml.sgml:
28090         * docs/libs/tmpl/gstcontrol.sgml:
28091         * docs/libs/tmpl/gstdataprotocol.sgml:
28092         * docs/libs/tmpl/gstdparam.sgml:
28093         * docs/libs/tmpl/gstdplinint.sgml:
28094         * docs/libs/tmpl/gstdpman.sgml:
28095         * docs/libs/tmpl/gstdpsmooth.sgml:
28096         * docs/libs/tmpl/gstgetbits.sgml:
28097         * docs/libs/tmpl/gstunitconvert.sgml:
28098         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
28099         (gst_push_src_base_init), (gst_push_src_class_init),
28100         (gst_push_src_init), (gst_push_src_create):
28101         * gst/base/gstpushsrc.h:
28102         * gst/elements/gstelements.c:
28103         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
28104         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
28105         (gst_fake_sink_init), (gst_fake_sink_set_property),
28106         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
28107         (gst_fake_sink_event), (gst_fake_sink_preroll),
28108         (gst_fake_sink_render), (gst_fake_sink_change_state):
28109         * gst/elements/gstfakesink.h:
28110         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
28111         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
28112         (gst_fake_src_base_init), (gst_fake_src_class_init),
28113         (gst_fake_src_init), (gst_fake_src_event_handler),
28114         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
28115         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
28116         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
28117         (gst_fake_src_create_buffer), (gst_fake_src_create),
28118         (gst_fake_src_start), (gst_fake_src_stop):
28119         * gst/elements/gstfakesrc.h:
28120         * gst/elements/gstfilesink.c: (_do_init),
28121         (gst_file_sink_base_init), (gst_file_sink_class_init),
28122         (gst_file_sink_init), (gst_file_sink_dispose),
28123         (gst_file_sink_set_location), (gst_file_sink_set_property),
28124         (gst_file_sink_get_property), (gst_file_sink_open_file),
28125         (gst_file_sink_close_file), (gst_file_sink_query),
28126         (gst_file_sink_event), (gst_file_sink_render),
28127         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
28128         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
28129         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
28130         * gst/elements/gstfilesink.h:
28131         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
28132         (gst_file_src_class_init), (gst_file_src_init),
28133         (gst_file_src_finalize), (gst_file_src_set_location),
28134         (gst_file_src_set_property), (gst_file_src_get_property),
28135         (gst_file_src_map_region), (gst_file_src_map_small_region),
28136         (gst_file_src_create_mmap), (gst_file_src_create_read),
28137         (gst_file_src_create), (gst_file_src_is_seekable),
28138         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
28139         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
28140         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
28141         (gst_file_src_uri_handler_init):
28142         * gst/elements/gstfilesrc.h:
28143           more autistic cleanliness in functions/names/defines
28144
28145 2005-07-13  Andy Wingo  <wingo@pobox.com>
28146
28147         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
28148         source couldn't negotiate.
28149
28150         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
28151         connections again.
28152
28153         * gst/gstutils.h:
28154         * gst/gstutils.c (gst_element_link_pads_filtered): New old
28155         function. I am channeling Hades. Put your boots on suckers!!!
28156
28157 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
28158
28159         * testsuite/caps/Makefile.am:
28160         * testsuite/caps/value_compare.c:
28161         * testsuite/caps/value_intersect.c:
28162         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
28163           move two testsuite apps over to the check dir
28164
28165 2005-07-12  Wim Taymans  <wim@fluendo.com>
28166
28167         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
28168         Added more debug info in the negotiate process.
28169
28170         * gst/gstmessage.h:
28171         Prepare for segment playback.
28172
28173         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
28174         Better debugging.
28175
28176         * gst/gstutils.c:
28177         Some more docs.
28178
28179         * tools/gst-launch.c: (main):
28180         NULL pipeline on errors.
28181
28182 2005-07-12  Andy Wingo  <wingo@pobox.com>
28183
28184         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
28185         not it comes from a malloc region. Make sure our copy gets freed.
28186
28187 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
28188
28189         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
28190         * check/gst/gstmessage.c: (GST_START_TEST):
28191         * check/gst/gststructure.c: (GST_START_TEST),
28192         (gst_structure_suite), (main):
28193           more testing
28194         * gst/gstelement.c: (gst_element_message_full):
28195           clean up GError and debug string now that they get copied
28196         * gst/gstmessage.c: (gst_message_new_error),
28197         (gst_message_new_warning), (gst_message_parse_error),
28198         (gst_message_parse_warning):
28199           use GST_TYPE_G_ERROR for structure_new, and take copies of
28200           arguments, so that we don't mess up refcounting
28201
28202 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
28203
28204         * check/Makefile.am:
28205           add per-test valgrind targets
28206         * check/gst-libs/gdp.c: (GST_START_TEST),
28207         (gst_data_protocol_suite), (main):
28208           clean up
28209
28210 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
28211
28212         * check/Makefile.am:
28213           instate more valgrindable tests
28214         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28215         (GST_START_TEST), (fakesrc_suite):
28216         * check/gst/gstpad.c: (GST_START_TEST):
28217         * check/gst/gststructure.c: (GST_START_TEST):
28218           fix test leaks
28219         * docs/gst/tmpl/gstminiobject.sgml:
28220         * gst/gstpad.c: (gst_pad_finalize):
28221           fix the static mutex leak
28222
28223 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28224
28225         * check/Makefile.am:
28226           add two more tests for valgrinding
28227         * check/gst/gstvalue.c: (GST_START_TEST):
28228           test refcount of deserialized buffer, found a leak
28229         * docs/gst/gstreamer-docs.sgml:
28230         * docs/gst/gstreamer-sections.txt:
28231         * docs/gst/gstreamer.types:
28232         * docs/gst/tmpl/gstminiobject.sgml:
28233           add miniobject to docs
28234         * gst/gstminiobject.c:
28235           add some docs
28236         * gst/gstvalue.c: (gst_value_deserialize_buffer),
28237         (gst_string_unwrap):
28238           fix a hard-to-find invalid write for one of the tests
28239           fix a leak for deserialized buffers
28240
28241 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28242
28243         * docs/pwg/advanced-events.xml:
28244         * docs/pwg/advanced-request.xml:
28245         * docs/pwg/advanced-scheduling.xml:
28246         * docs/pwg/appendix-porting.xml:
28247         * docs/pwg/building-boiler.xml:
28248         * docs/pwg/intro-preface.xml:
28249         * docs/pwg/other-ntoone.xml:
28250           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
28251           of example code and explanation for pad activation, loop() and
28252           getrange() functions and a bit more. Remove old comments pointing
28253           to loop-functions.
28254         * examples/pwg/Makefile.am:
28255           Add loop/getrange examples.
28256
28257 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28258
28259         * configure.ac:
28260           check for valgrind binary + some fixes
28261         * check/gst.supp:
28262           valgrind suppressions for the tests
28263         * check/Makefile.am:
28264           add a valgrind: target that valgrinds the unit tests
28265         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
28266         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
28267         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28268         * check/gst/gstghostpad.c:
28269           added some cleanup
28270         * check/gst/gstdata.c:
28271           removed
28272         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
28273         (thread_unref), (gst_mini_object_suite), (main):
28274           added
28275         * gst/gst.c: (gst_deinit):
28276         * gst/gst.h:
28277           add a method to clean up.
28278         * gst/gstsystemclock.c: (gst_system_clock_dispose),
28279         (gst_system_clock_obtain):
28280           allow for disposing the system clock.
28281         * tools/gst-launch.c: (main):
28282           deinit
28283
28284 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28285
28286         * docs/gst/tmpl/gstbasesrc.sgml:
28287         * docs/gst/tmpl/gstfakesrc.sgml:
28288         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28289         (gst_base_src_init), (gst_base_src_set_property),
28290         (gst_base_src_get_property), (gst_base_src_get_range),
28291         (gst_base_src_start):
28292         * gst/base/gstbasesrc.h:
28293           add num-buffers property
28294         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28295         (gst_fakesrc_init), (gst_fakesrc_set_property),
28296         (gst_fakesrc_get_property), (gst_fakesrc_create),
28297         (gst_fakesrc_start):
28298           remove num-buffers property
28299
28300 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28301
28302         * docs/gst/gstreamer-sections.txt:
28303         * docs/gst/tmpl/gstbasesink.sgml:
28304         * docs/gst/tmpl/gstbasesrc.sgml:
28305         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
28306         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
28307         (gst_base_sink_finalize), (gst_base_sink_set_clock),
28308         (gst_base_sink_set_property), (gst_base_sink_get_property),
28309         (gst_base_sink_handle_object), (gst_base_sink_event),
28310         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
28311         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
28312         (gst_base_sink_loop), (gst_base_sink_deactivate),
28313         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
28314         (gst_base_sink_change_state):
28315         * gst/base/gstbasesink.h:
28316         * gst/base/gstbasesrc.h:
28317         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
28318         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
28319         (gst_filesink_init):
28320           more macro splitting
28321
28322 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28323
28324         * gst/gstelement.c: (gst_element_get_bus):
28325           add debug
28326         * tools/gst-launch.c: (check_intr), (event_loop):
28327           fix bus leaks
28328
28329 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28330
28331         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
28332           fix a caps leak
28333
28334 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28335
28336         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28337         (gst_base_src_finalize):
28338           add finalize method and clean up properly
28339         * gst/gstpipeline.c: (gst_pipeline_dispose):
28340           add debug
28341
28342 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28343
28344         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
28345         (gst_bin_suite):
28346           add more things to check
28347         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
28348         * gst/gstelement.c:
28349           more debug
28350
28351 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28352
28353         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28354         (GST_START_TEST), (fakesrc_suite):
28355         * check/gst-libs/gdp.c: (GST_START_TEST):
28356         * check/gst/gst.c: (GST_START_TEST):
28357         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
28358         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28359         * check/gst/gstbus.c: (GST_START_TEST):
28360         * check/gst/gstcaps.c: (GST_START_TEST):
28361         * check/gst/gstdata.c: (GST_START_TEST):
28362         * check/gst/gstelement.c: (GST_START_TEST):
28363         * check/gst/gstghostpad.c: (GST_START_TEST):
28364         * check/gst/gstiterator.c: (GST_START_TEST):
28365         * check/gst/gstmessage.c: (GST_START_TEST):
28366         * check/gst/gstobject.c: (GST_START_TEST):
28367         * check/gst/gstpad.c: (GST_START_TEST):
28368         * check/gst/gststructure.c: (GST_START_TEST):
28369         * check/gst/gstsystemclock.c: (GST_START_TEST),
28370         (gst_systemclock_suite):
28371         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
28372         * check/gst/gstvalue.c: (GST_START_TEST):
28373         * check/pipelines/cleanup.c: (GST_START_TEST):
28374         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
28375         * check/states/sinks.c: (GST_START_TEST):
28376         * check/gstcheck.c: (gst_check_init):
28377         * check/gstcheck.h:
28378           add debugging category
28379           use GST_START_TEST now, so we add a debug line
28380
28381 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28382
28383         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
28384           add test for state change message on a bin
28385         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
28386           add another test
28387         * gst/gstbin.c: (gst_bin_init):
28388         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
28389         * gst/gstelement.c: (gst_element_post_message),
28390         (gst_element_set_state):
28391         * gst/gstelementfactory.c: (gst_element_factory_create):
28392         * gst/gstmessage.c: (gst_message_new):
28393         * gst/gstscheduler.c:
28394           various debugging additions and cleanups
28395
28396 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28397
28398         * check/Makefile.am:
28399         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
28400         (main):
28401           adding tests for elements
28402         * gst/gstelement.c: (gst_element_dispose):
28403
28404 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28405
28406         * gst/registries/gstlibxmlregistry.c: (load_feature):
28407           plug more leaks.  A simple gst_init() now is leakfree, yay.
28408
28409 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28410
28411         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
28412         (gst_xml_registry_load):
28413           plug another memleak
28414
28415 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28416
28417         * configure.ac:
28418           use GST_SET_ERROR_CFLAGS
28419         * docs/faq/cvs.xml:
28420           change to ERROR_CFLAGS
28421
28422 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28423
28424         * configure.ac:
28425           make GST_ERROR_CFLAGS overridable and re-enable Werror
28426         * docs/faq/cvs.xml:
28427           add a note about error CFLAGS
28428         * docs/gst/tmpl/gstfakesrc.sgml:
28429         * gst/elements/gstfakesrc.c:
28430           comment out some unused code
28431         * gst/gst.c: (split_and_iterate):
28432         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
28433         (load_feature):
28434           plug some memleaks
28435
28436 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
28437
28438         * common/Makefile.am:
28439         * common/gtk-doc.mak:
28440         * docs/gst/Makefile.am:
28441           factor out gtk-doc.mak
28442
28443 2005-07-07  Wim Taymans  <wim@fluendo.com>
28444
28445         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
28446         (gst_thread_scheduler_dispose):
28447         Unlock the STREAM_LOCK completely.
28448
28449 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
28450
28451         * check/Makefile.am:
28452         * check/elements/.cvsignore:
28453         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28454         (START_TEST), (fakesrc_suite), (main):
28455         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28456         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
28457         (gst_fakesrc_create), (gst_fakesrc_start):
28458         * gst/elements/gstfakesrc.h:
28459           adding a first element test
28460
28461 2005-07-07  Andy Wingo  <wingo@pobox.com>
28462
28463         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
28464         debug message.
28465
28466 2005-07-07  Wim Taymans  <wim@fluendo.com>
28467
28468         * gst/gstquery.c:
28469         * gst/gstquery.h:
28470         Remove old types
28471
28472 2005-07-07  Wim Taymans  <wim@fluendo.com>
28473
28474         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
28475         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
28476         Allow subclasses to implement their own negotiation.
28477
28478 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28479
28480         * docs/design/part-gstbin.txt:
28481         * docs/design/part-gstpipeline.txt:
28482           Update design notes to reflect the movement of
28483           responsibility for bus handling from GstPipeline to
28484           GstBin
28485
28486 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28487
28488         * configure.ac:
28489           Remove unnecessary queue2/3/4 examples.
28490
28491 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28492
28493         * examples/Makefile.am:
28494         * examples/helloworld/helloworld.c: (event_loop), (main):
28495         * examples/queue/queue.c: (event_loop), (main):
28496         * examples/queue2/queue2.c: (main):
28497           Update a couple of the examples to work again.
28498
28499         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28500         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
28501          Spelling corrections and extra debug.
28502         
28503         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
28504         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
28505         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
28506         * gst/gstbin.h:
28507         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
28508         (gst_pipeline_change_state):
28509         * gst/gstpipeline.h:
28510           Move the bus handler for children to the GstBin, and create a
28511           separate bus for receiving messages from children to the one the
28512           bus sends 'upwards' on.
28513
28514 2005-07-06  Wim Taymans  <wim@fluendo.com>
28515
28516         * gst/base/README:
28517         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28518         (gst_base_sink_handle_object), (gst_base_sink_loop),
28519         (gst_base_sink_change_state):
28520         * gst/base/gstbasesink.h:
28521         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28522         (gst_base_src_init), (gst_base_src_setcaps),
28523         (gst_base_src_getcaps), (gst_base_src_loop),
28524         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
28525         (gst_base_src_start), (gst_base_src_change_state):
28526         * gst/base/gstbasesrc.h:
28527         Make basesrc negotiate.
28528         Handle the case where preroll fails in basesink.
28529         Update README.
28530
28531 2005-07-06  Wim Taymans  <wim@fluendo.com>
28532
28533         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
28534         Implement the fixate function.
28535         Clean up acceptcaps.
28536
28537 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28538
28539         * docs/pwg/building-filterfactory.xml:
28540         * docs/pwg/pwg.xml:
28541           Remove never-written filter-factory chapter; I'll add the various
28542           base classes to part 4 ("other element types") later on.
28543
28544 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28545
28546         * docs/pwg/advanced-negotiation.xml:
28547         * docs/pwg/building-boiler.xml:
28548         * docs/pwg/building-pads.xml:
28549         * docs/pwg/pwg.xml:
28550         * examples/pwg/Makefile.am:
28551           Add a chapter on caps negotiation, simplify the original code
28552           samples a bit w.r.t. caps negotiation, add link to the advanced
28553           section. Add a bunch of examples showing different use cases of
28554           different types of caps negotiation. Upstream renegotiation isn't
28555           fully documented yet since nobody knows how that works.
28556
28557 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
28558
28559         * check/gst/gstpad.c:
28560         * check/gstcheck.c:
28561         * gst/gstpad.c: (gst_pad_get_internal_links_default):
28562           if pad has no parent, return NULL as list of internal links
28563
28564 2005-07-05  Andy Wingo  <wingo@pobox.com>
28565
28566         * gst/elements/gstfilesrc.c:
28567         * gst/elements/gstfakesrc.c: 
28568         * gst/base/gstpushsrc.c:
28569         * gst/base/gstbasesrc.h: 
28570         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
28571         
28572 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
28573
28574         * Makefile.am:
28575           better report generation target (lcov needs a patch)
28576
28577 2005-07-05  Andy Wingo  <wingo@pobox.com>
28578
28579         * gst/elements, testsuite: Null if we got it...
28580
28581 2005-07-05  Wim Taymans  <wim@fluendo.com>
28582
28583         * configure.ac:
28584         * libs/gst/dataprotocol/Makefile.am:
28585         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
28586         * libs/gst/dataprotocol/dataprotocol.h:
28587         * pkgconfig/Makefile.am:
28588         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
28589         * pkgconfig/gstreamer-dataprotocol.pc.in:
28590         Ported dataprotol to 0.9. 
28591         Added pkgconfig files.
28592
28593 2005-07-05  Andy Wingo  <wingo@pobox.com>
28594
28595         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
28596         Default to returning TRUE for the case when tranform_caps returns
28597         a fixed caps, like for identity or volume.
28598
28599         * check/gst/gstbus.c (pound_bus_with_messages): 
28600         * check/gst/gstmessage.c (START_TEST): 
28601         * check/pipelines/simple_launch_lines.c (got_handoff): Application
28602         message API change.
28603
28604         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
28605         logic weaks here: always run transform_caps, trying passthrough
28606         operation only if the original caps intersects with the transform.
28607
28608         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
28609         source and sink caps.
28610
28611         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
28612         Intersect the peer caps with the pad template before going into
28613         transform_caps.
28614         (gst_base_transform_transform_caps): More debugging.
28615
28616         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
28617         src argument.
28618
28619 2005-07-04  Edward Hervey  <edward@fluendo.com>
28620
28621         * gst/gstutils.c:
28622         * gst/gstutils.h:
28623         (gst_pad_add_*_probe): now returns the signal id for better wrapping
28624         in bindings.
28625
28626 2005-07-04  Andy Wingo  <wingo@pobox.com>
28627
28628         * check/gst/gstpad.c: Only set explicit caps on pads.
28629
28630 2005-07-01  Andy Wingo  <wingo@pobox.com>
28631
28632         * tests/network-clock.scm: Commentary update.
28633
28634         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
28635         Didn't really make sense, not implementable with basetransform,
28636         etc.
28637         (gst_identity_transform): Unref inbuf via make_writable. Feeble
28638         attempt at implementing the sync property, needs an unlock method.
28639
28640         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
28641         New func, by default returns the same caps (the identity
28642         transformation).
28643         (gst_base_transform_getcaps): Uses transform_caps to return
28644         something sensible.
28645         (gst_base_transform_setcaps): Complicated logic to get caps on
28646         both pads, even if they are different, and to call set_caps once
28647         for every time both pads get their caps set.
28648         (gst_base_transform_handle_buffer): Give the ref to the transform
28649         function. Allows in-place modification of the buffer.
28650
28651         * gst/base/gstbasetransform.h (transform_caps): New class method.
28652         Given caps on one side, what can I do on the other.
28653         (set_caps): Take two caps, one for each side of the element.
28654
28655         * gst/gstpad.h:
28656         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
28657         caps in place. This is safe because we can check the mutability of
28658         the caps, and a good idea because fixate functions are just called
28659         as a matter of last resort. (Not actually implemented.)
28660         (gst_pad_set_caps): If the caps we're setting is actually the same
28661         as the existing pad caps, just update the pointer without calling
28662         setcaps. Assert that caps is either NULL or fixed, as per the
28663         docs.
28664
28665         * gst/gstghostpad.c: Update for fixate changes.
28666
28667 2005-07-02  Andy Wingo  <wingo@pobox.com>
28668
28669         * gst/gstcaps.c:
28670         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
28671         two refcounts makes it immutable, which is enough. Doc more.
28672
28673 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
28674
28675         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
28676           Put the mini_object into GValue as a mini_object,
28677           not a gpointer, since that's how we declared
28678           the signal.
28679
28680 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28681
28682         * examples/pwg/Makefile.am:
28683           Fix buildbot again.
28684
28685 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28686
28687         * docs/pwg/building-testapp.xml:
28688           Add extra check.
28689         * examples/pwg/Makefile.am:
28690           Fix buildbot.
28691
28692 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28693
28694         * configure.ac:
28695         * examples/Makefile.am:
28696         * examples/pwg/Makefile.am:
28697         * examples/pwg/extract.pl:
28698           Enable building the PWG examples.
28699         * docs/pwg/advanced-interfaces.xml:
28700           Add URI interface stub.
28701         * docs/pwg/advanced-types.xml:
28702         * docs/pwg/other-autoplugger.xml:
28703         * docs/pwg/appendix-porting.xml:
28704         * docs/pwg/pwg.xml:
28705           Add porting guide (mostly stubs), remove autoplugging (see ADM).
28706         * docs/pwg/building-boiler.xml:
28707         * docs/pwg/building-chainfn.xml:
28708         * docs/pwg/building-pads.xml:
28709         * docs/pwg/building-props.xml:
28710         * docs/pwg/building-state.xml:
28711         * docs/pwg/building-testapp.xml:
28712           Update the building-*.xml parts for 0.9 changes. All examples
28713           code blocks compile in examples/pwg/*.
28714
28715 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28716
28717         * docs/manual/advanced-autoplugging.xml:
28718         * docs/manual/appendix-checklist.xml:
28719         * docs/manual/appendix-integration.xml:
28720         * docs/manual/highlevel-components.xml:
28721           Fix playbin/decodebin examples, update docs a bit, mention bus
28722           instead of signals in various places, mention kmplayer and
28723           kaffeine since they have a working GStreamer backend in the KDE
28724           section.
28725
28726 2005-06-30  Wim Taymans  <wim@fluendo.com>
28727
28728         * CHANGES-0.9:
28729         * docs/design/draft-ghostpads.txt:
28730         * docs/design/draft-push-pull.txt:
28731         * docs/design/draft-query.txt:
28732         * docs/design/part-TODO.txt:
28733         * docs/design/part-query.txt:
28734         Added CHANGES-0.9 doc, updated status of other docs.
28735         
28736         * gst/gstquery.h:
28737         Remove "hmm" macro
28738
28739 2005-06-30  Wim Taymans  <wim@fluendo.com>
28740
28741         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28742         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
28743         (gst_base_sink_change_state):
28744         * gst/base/gstbasesink.h:
28745         Some tweaks, only EOS and a buffer complete a preroll.
28746
28747 2005-06-30  Andy Wingo  <wingo@pobox.com>
28748
28749         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
28750         activate_push down to the internal pad as well.
28751
28752 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
28753
28754         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28755
28756         * gst/gsttaginterface.c:
28757           Some documentation fixes (#307394 and #307397).
28758
28759 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
28760
28761         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28762
28763         * gst/gstvalue.c: (gst_value_intersect_list):
28764           Fix memleak (#309125).
28765
28766 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28767
28768         * docs/manual/advanced-dataaccess.xml:
28769           Fix fakesrc example to compile; doesn't work, bug somewhere...?
28770         * docs/manual/basics-pads.xml:
28771           Add reference for filtered caps to above chapter.
28772
28773 2005-06-30  Wim Taymans  <wim@fluendo.com>
28774
28775         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
28776         (gst_bin_change_state):
28777         Probes are gone.
28778         Lame attempt at making the state change function a bit
28779         more readable.
28780
28781 2005-06-30  Wim Taymans  <wim@fluendo.com>
28782
28783         * docs/design/part-clocks.txt:
28784         * docs/design/part-element-sink.txt:
28785         * docs/design/part-events.txt:
28786         * docs/design/part-preroll.txt:
28787         * docs/design/part-states.txt:
28788         Some more tweeks and additions to the docs.
28789
28790 2005-06-30  Wim Taymans  <wim@fluendo.com>
28791
28792         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28793         (default_have_data), (gst_pad_class_init), (gst_pad_init),
28794         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
28795         (gst_pad_check_pull_range), (gst_pad_get_range),
28796         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
28797         * gst/gstpad.h:
28798         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
28799         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
28800         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
28801         (gst_pad_remove_buffer_probe):
28802         Removed atomic operations, use existing LOCK.
28803         Move exception handling out of main code path.
28804
28805 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28806
28807         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28808         (silly_return_true_function), (gst_pad_class_init),
28809         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
28810         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
28811         (gst_pad_send_event):
28812           Fix accumulator, add default value by using _emitv() instead
28813           of _emit() for signal emission.
28814
28815 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28816
28817         * docs/manual/advanced-dataaccess.xml:
28818         * examples/manual/Makefile.am:
28819           Add probe example.
28820         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
28821           Make work (??).
28822
28823 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
28824
28825         * gst/elements/gstfilesink.c: (gst_filesink_render):
28826           Simplify code so that we don't have to handle short
28827           writes and return GST_FLOW_ERROR if an error occured.
28828
28829 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28830
28831         * docs/gst/gstreamer-docs.sgml:
28832           Remove probes more.
28833
28834 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28835
28836         * docs/gst/gstreamer-sections.txt:
28837         * docs/gst/tmpl/gstpad.sgml:
28838         * docs/gst/tmpl/gstprobe.sgml:
28839         * gst/Makefile.am:
28840         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28841         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
28842         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
28843         (gst_pad_push_event), (gst_pad_send_event):
28844         * gst/gstpad.h:
28845         * gst/gstutils.c: (gst_pad_add_data_probe),
28846         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
28847         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
28848         (gst_pad_remove_buffer_probe):
28849         * gst/gstutils.h:
28850           Remove old probes, add new g-signal-based probes and some utility
28851           functions.
28852
28853 2005-06-29  Edward Hervey  <edward@fluendo.com>
28854
28855         * gst/gstelementfactory.c:
28856         * gst/gstutils.h:
28857         * gst/gstutils.c:
28858         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
28859         the definition to the header file.
28860
28861 2005-06-29  Andy Wingo  <wingo@pobox.com>
28862
28863         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
28864         plugins from the source directory.
28865
28866 2005-06-29  Wim Taymans  <wim@fluendo.com>
28867
28868         * docs/gst/tmpl/gstbuffer.sgml:
28869         * docs/gst/tmpl/gstclock.sgml:
28870         Some fixings for blantently wrong text.
28871
28872 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
28873
28874         * check/Makefile.am:
28875         * gst/gst.c: (add_path_func), (init_pre):
28876         * gst/gstregistry.c: (gst_registry_add_path):
28877           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
28878           only scan the GST_PLUGIN_PATH locations, and not add
28879           system locations
28880
28881 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
28882
28883         * docs/gst/gstreamer-sections.txt:
28884         * docs/gst/tmpl/gstbasesrc.sgml:
28885         * gst/gstelement.c:
28886         * gst/gstelement.h:
28887         * gst/gstevent.c:
28888         * gst/gstutils.c:
28889           doc fixes
28890
28891 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28892
28893         * docs/manual/advanced-autoplugging.xml:
28894           Fix autoplugging example.
28895
28896 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28897
28898         * docs/manual/advanced-autoplugging.xml:
28899         * docs/manual/mime-world.fig:
28900           Try to get autoplugging working, fix type detection. Fix text
28901           in hello-world image.
28902
28903 2005-06-29  Wim Taymans  <wim@fluendo.com>
28904
28905         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
28906         (gst_base_sink_change_state):
28907         Small debug line.
28908
28909         * gst/gstclock.h:
28910         map SIGNAL and BROADCAST to the right function.
28911
28912         * gst/gstobject.h:
28913         Remove redundant braces.
28914
28915         * gst/gstpad.c: (gst_pad_set_caps):
28916         Don't call setcaps function when reseting caps to NULL.
28917
28918         * gst/gstsystemclock.c: (gst_system_clock_dispose),
28919         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
28920         (gst_system_clock_id_unschedule):
28921         Use BROADCAST as this is what we do.
28922
28923 2005-06-29  Wim Taymans  <wim@fluendo.com>
28924
28925         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
28926         We are actually prerolling before commiting the state
28927         change. 
28928
28929 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28930
28931         * docs/manual/advanced-clocks.xml:
28932         * docs/manual/advanced-interfaces.xml:
28933         * docs/manual/advanced-metadata.xml:
28934         * docs/manual/advanced-position.xml:
28935         * docs/manual/advanced-schedulers.xml:
28936         * docs/manual/advanced-threads.xml:
28937         * docs/manual/appendix-porting.xml:
28938         * docs/manual/basics-bins.xml:
28939         * docs/manual/basics-bus.xml:
28940         * docs/manual/basics-elements.xml:
28941         * docs/manual/basics-helloworld.xml:
28942         * docs/manual/basics-pads.xml:
28943         * docs/manual/highlevel-components.xml:
28944         * docs/manual/manual.xml:
28945         * docs/manual/thread.fig:
28946           Update (until threads/scheduling) Application Development Manual;
28947           remove GstThread, add GstBus, add simple porting checklist, add
28948           documentation for tag writing, clocks, make all examples until this
28949           part compile and run.
28950         * examples/manual/Makefile.am:
28951           Update from changes to Application Development Manual; add bus
28952           example, remove thread example.
28953
28954 2005-06-28  Wim Taymans  <wim@fluendo.com>
28955
28956         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
28957         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
28958         (gst_bus_source_dispatch):
28959         Add debugging messages.
28960         Make internal methods static.
28961         Handle the case where the bus is flushed in the handler.
28962         
28963         * gst/gstelement.c: (gst_element_get_bus):
28964         Fix refcount in _get_bus();
28965
28966         * gst/gstpipeline.c: (gst_pipeline_change_state),
28967         (gst_pipeline_get_clock_func):
28968         Clock refcounting fixes.
28969         Handle the case where preroll timed out more gracefully.
28970         
28971         * gst/gstsystemclock.c: (gst_system_clock_dispose):
28972         Clean up the internal thread in dispose. This is needed
28973         for subclasses that actually get disposed.
28974         
28975         * gst/schedulers/threadscheduler.c:
28976         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
28977         (gst_thread_scheduler_dispose):
28978         Free thread pool in dispose.
28979
28980 2005-06-28  Andy Wingo  <wingo@pobox.com>
28981
28982         * tests/network-clock-utils.scm (debug, print-event): New utils.
28983
28984         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
28985         (*packet-loss*): Unified loss probability.
28986         (network-time): Report out-of-band events.
28987
28988         * tests/plot-data: Add support for out-of-band events. Hack it
28989         into this script instead of passing it down the pipe; should fix
28990         this later.
28991
28992 2005-06-28  Wim Taymans  <wim@fluendo.com>
28993
28994         * docs/gst/gstreamer.types:
28995         * docs/gst/tmpl/gstbasesrc.sgml:
28996         * docs/gst/tmpl/gstpad.sgml:
28997         Docs fixes.
28998
28999 2005-06-28  Wim Taymans  <wim@fluendo.com>
29000
29001         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29002         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
29003         (gst_proxy_pad_do_fixatecaps):
29004         Correctly proxy the check_pull_range function.
29005
29006 2005-06-28  Andy Wingo  <wingo@pobox.com>
29007
29008         * tests/network-clock.scm: Removed need for slib.
29009         
29010 2005-06-28  Wim Taymans  <wim@fluendo.com>
29011
29012         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
29013         (gst_basesink_preroll_queue_flush):
29014         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
29015         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
29016         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29017         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
29018         (gst_proxy_pad_set_property):
29019         * gst/gstpad.c:
29020         * gst/gstpad.h:
29021         * gst/gstqueue.c: (gst_queue_init):
29022         The deprecated pad loop function is removed now.
29023
29024 2005-06-28  Andy Wingo  <wingo@pobox.com>
29025
29026         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
29027         New parameters, simulate network packet loss.
29028
29029         * tests/network-clock-utils.scm: Initialize the RNG.
29030
29031 2005-06-28  Wim Taymans  <wim@fluendo.com>
29032
29033         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
29034         (gst_basesink_event), (gst_basesink_deactivate):
29035         Flushing the preroll queue always needs to unlock the waiters.
29036
29037 2005-06-28  Edward Hervey  <edward@fluendo.com>
29038
29039         * gst/gstpipeline.c: (gst_pipeline_send_event): 
29040         Wheen a seek was successful on a pipeline, set the stream_time to the
29041         seek offset in order to have a synchronized stream_time.
29042
29043 2005-06-28  Wim Taymans  <wim@fluendo.com>
29044
29045         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29046         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
29047         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
29048         (gst_proxy_pad_do_fixatecaps):
29049         Call wrapper function instead of just calling the function
29050         pointers. This takes care of any locking and whatmore.
29051
29052 2005-06-28  Wim Taymans  <wim@fluendo.com>
29053
29054         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
29055         (gst_pad_pull_range):
29056         * gst/gstpad.h:
29057         CONNECTED -> LINKED.
29058
29059 2005-06-28  Andy Wingo  <wingo@pobox.com>
29060
29061         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
29062         source-munging commit!!!
29063
29064         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
29065         (gst_object_sink): Take gpointer arguments, not GstObject --
29066         avoids casts. Like GLib.
29067
29068         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
29069         activate.
29070
29071 2005-06-27  Andy Wingo  <wingo@pobox.com>
29072
29073         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
29074         remaining buffer.
29075
29076         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
29077         returns a sorted copy of the trace list.
29078         (gst_alloc_trace_print_live): New API, only prints traces with
29079         live objects. Sort the list.
29080         (gst_alloc_trace_print_all): Sort the list.
29081         (gst_alloc_trace_print): Align columns.
29082
29083         * gst/elements/gstttypefindelement.c:
29084         * gst/elements/gsttee.c:
29085         * gst/base/gstbasesrc.c:
29086         * gst/base/gstbasesink.c:
29087         * gst/base/gstbasetransform.c:
29088         * gst/gstqueue.c: Adapt for pad activation changes.
29089
29090         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
29091         sched.
29092         (gst_pipeline_dispose): Drop ref on sched.
29093
29094         * gst/gstpad.c (gst_pad_init): Set the default activate func.
29095         (gst_pad_activate_default): Push mode by default.
29096         (pre_activate_switch, post_activate_switch): New stubs, things to
29097         do before and after switching activation modes on pads.
29098         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
29099         the pad's activate function to choose which mode to activate.
29100         Shortcut on deactivation and call the right function directly.
29101         (gst_pad_activate_pull): New API, (de)activates a pad in pull
29102         mode.
29103         (gst_pad_activate_push): New API, same for push mode.
29104         (gst_pad_set_activate_function) 
29105         (gst_pad_set_activatepull_function) 
29106         (gst_pad_set_activatepush_function): Setters for new API.
29107
29108         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
29109         Trace all miniobjects.
29110         (gst_mini_object_make_writable): Unref the arg if we copy, like
29111         gst_caps_make_writable.
29112
29113         * gst/gstmessage.c (_gst_message_initialize): No trace init.
29114
29115         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
29116         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
29117         Adapt for new pad API.
29118
29119         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
29120
29121         * gst/gstelement.h:
29122         * gst/gstelement.c (gst_element_iterate_src_pads) 
29123         (gst_element_iterate_sink_pads): New API functions.
29124         
29125         * gst/gstelement.c (iterator_fold_with_resync): New utility,
29126         should fold into gstiterator.c in some form.
29127         (gst_element_pads_activate): Simplified via use of fold and
29128         delegation of decisions to gstpad->activate.
29129
29130         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
29131         help in debugging.
29132
29133         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
29134         class once in init, like gstmessage. Didn't run into this issue
29135         but it seems correct. Don't initialize a trace, gstminiobject does
29136         that.
29137
29138         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
29139         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
29140         to the bus.
29141         (assert_live_count): New util function, uses alloc traces to check
29142         cleanup.
29143
29144         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
29145         To be modified when unlink drops the internal pad.
29146
29147 2005-06-27  Wim Taymans  <wim@fluendo.com>
29148
29149         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
29150         (gst_bin_change_state):
29151         Cleanup the get_state() function a little, make sure it
29152         iterates the same set of elements.
29153         Added stub iterate_state_order().
29154
29155 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
29156
29157         * docs/gst/gstreamer-docs.sgml:
29158         * docs/gst/gstreamer-sections.txt:
29159         * docs/gst/gstreamer.types:
29160         * docs/gst/tmpl/gstbasesink.sgml:
29161         * docs/gst/tmpl/gstbasesrc.sgml:
29162         * docs/gst/tmpl/gstbasetransform.sgml:
29163         * docs/gst/tmpl/gstelement.sgml:
29164         * docs/gst/tmpl/gstiterator.sgml:
29165         * gst/base/gstbasesrc.c:
29166         * gst/base/gstbasesrc.h:
29167         * gst/base/gstbasetransform.h:
29168         * gst/gstelement.c:
29169         * gst/gstiterator.h:
29170           adding basetransform and iterator docs
29171
29172 2005-06-27  Andy Wingo  <wingo@pobox.com>
29173
29174         * docs/design/part-activation.txt: Notes on how activation should
29175         work -- not quite implemented yet.
29176
29177 2005-06-25  Wim Taymans  <wim@fluendo.com>
29178
29179         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
29180         At least get the chain function correct, needs more
29181         fixing.
29182
29183 2005-06-25  Wim Taymans  <wim@fluendo.com>
29184
29185         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29186         (gst_basesink_handle_object), (gst_basesink_event),
29187         (gst_basesink_do_sync), (gst_basesink_handle_event),
29188         (gst_basesink_change_state):
29189         * gst/gsttask.h:
29190         Right, two problems here: ghostpads don't take locks and
29191         glib _rec_mutex_lock_full() with depth==0 still locks.
29192         Catch illegal locking and g_warn them.
29193
29194 2005-06-25  Wim Taymans  <wim@fluendo.com>
29195
29196         * check/states/sinks.c: (START_TEST), (gst_object_suite):
29197         Have to check for completion now...
29198
29199 2005-06-25  Wim Taymans  <wim@fluendo.com>
29200
29201         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29202         (gst_basesink_handle_object), (gst_basesink_event),
29203         (gst_basesink_do_sync), (gst_basesink_handle_event),
29204         (gst_basesink_change_state):
29205         * gst/gstpad.h:
29206         Unlock STREAM_LOCK whatever the recursion was.
29207
29208 2005-06-25  Wim Taymans  <wim@fluendo.com>
29209
29210         * gst/base/gstbasesink.c: (gst_basesink_set_property),
29211         (gst_basesink_preroll_queue_empty),
29212         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
29213         (gst_basesink_event), (gst_basesink_do_sync),
29214         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
29215         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
29216         (gst_basesink_change_state):
29217         Reworked the base sink, handle event and buffer serialisation
29218         correctly and removed possible deadlock.
29219         Handle EOS correctly.
29220
29221 2005-06-25  Wim Taymans  <wim@fluendo.com>
29222
29223         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
29224         (gst_pipeline_change_state):
29225         * tools/gst-launch.c: (check_intr), (event_loop), (main):
29226         Allow elements to post EOS in the state change function.
29227         Fix up -launch, make it exit the poll loop when the
29228         pipeline actually changed state.
29229         Fix up warning parsing in -launch.
29230
29231 2005-06-25  Wim Taymans  <wim@fluendo.com>
29232
29233         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
29234         (gst_tee_sink_activate):
29235         Core takes STREAM_LOCK for us now.
29236
29237 2005-06-25  Wim Taymans  <wim@fluendo.com>
29238
29239         * gst/gstelement.c: (gst_element_get_state_func),
29240         (gst_element_set_state):
29241         * gst/gstelement.h:
29242         * gst/gstmessage.c: (gst_message_parse_error),
29243         (gst_message_parse_warning):
29244         Keep track of current target state while performing a state
29245         change so that subclasses can do something interesting.
29246         Fix parsing of warning/error messages when GError is NULL.
29247
29248 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
29249
29250         * docs/gst/Makefile.am:
29251         * docs/gst/gstreamer-docs.sgml:
29252         * docs/gst/gstreamer-sections.txt:
29253         * docs/gst/gstreamer.types:
29254         * docs/gst/tmpl/gstbasesink.sgml:
29255         * docs/gst/tmpl/gstbasesrc.sgml:
29256         * docs/gst/tmpl/gstbin.sgml:
29257         * docs/gst/tmpl/gstcompat.sgml:
29258         * docs/gst/tmpl/gstfakesink.sgml:
29259         * docs/gst/tmpl/gstfakesrc.sgml:
29260         * docs/gst/tmpl/gstfilesink.sgml:
29261         * docs/gst/tmpl/gstfilesrc.sgml:
29262         * docs/gst/tmpl/gstindex.sgml:
29263         * docs/manual/appendix-quotes.xml:
29264         * gst/base/gstbasesrc.h:
29265         * gst/elements/gstfakesrc.h:
29266         * gst/gstmessage.h:
29267           start pulling in base classes and elements in our docs
29268
29269 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
29270
29271         * docs/gst/Makefile.am:
29272         * docs/libs/Makefile.am:
29273           fixed make distcheck with gtk-doc 1.3
29274
29275 2005-06-23  Wim Taymans  <wim@fluendo.com>
29276
29277         * gst/gstelement.c: (gst_element_get_state_func),
29278         (gst_element_set_state), (gst_element_change_state):
29279         When the state did not change, also report NO_PREROLL
29280         when it matters.
29281
29282 2005-06-23  Wim Taymans  <wim@fluendo.com>
29283
29284         * gst/gstpad.c: (gst_pad_event_default):
29285         * gst/gstqueue.c: (gst_queue_loop):
29286         No unsafe task pausing please.
29287
29288 2005-06-23  Wim Taymans  <wim@fluendo.com>
29289
29290         * gst/schedulers/threadscheduler.c:
29291         (gst_thread_scheduler_task_start),
29292         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
29293         Ref the task before pushing it on the threadpool. This
29294         makes sure that we have a ref when the threadfunction is
29295         actually called.
29296
29297 2005-06-23  Andy Wingo  <wingo@pobox.com>
29298
29299         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
29300         offset is greater than the file's size.
29301
29302         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
29303         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
29304         * gst/gstobject.c (gst_object_class_init): Make the class lock
29305         recursive. Wim won't let me drop deep_notify. Decodebin works
29306         again, whoopdy doo.
29307
29308         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
29309         internal pad, and hacks accordingly. Doesn't do it on the target
29310         pad because we change its caps. Probably catches all cases of
29311         interest tho.
29312         (gst_ghost_pad_set_property): Connect to notify::caps as
29313         appropritate.
29314
29315         * tests/network-clock.scm (plot-simulation): Pipe data to the
29316         elite python skript.
29317
29318         * tests/network-clock-utils.scm (define-parameter): New macro,
29319         defines a parameter that can be set via the command line.
29320         (set-parameter!, parse-parameter-arguments): Command line args
29321         parser.
29322
29323         * tests/plot-data: Simple matplotlib-based plotter, takes input on
29324         stdin.
29325
29326 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
29327
29328         * gst/elements/gsttypefindelement.c:
29329         (gst_type_find_element_handle_event):
29330           Don't restart typefinding on a discont.
29331         * gst/gstelement.c: (gst_element_set_state):
29332           Debug spelling fix.
29333         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
29334           Allow changing mode of an active pad.
29335           Debug output fixes.
29336         * gst/registries/gstlibxmlregistry.c: (load_feature):
29337           Don't cast a static pad template to a normal pad template.
29338
29339 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
29340
29341         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29342         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29343           remove gst_strtoll completely, since it didn't actually do
29344           anything more than what g_ascii_strtoull already does.
29345           check for range errors when deserializing
29346           do a cast for the unsigned cases; but further fixing needs
29347           a decision on what the interpretation of "(int)" and
29348           deserialization should be for values that fall outside the
29349           type's boundaries (ie, refuse, or interpret as casting)
29350
29351 2005-06-23  Wim Taymans  <wim@fluendo.com>
29352
29353         * check/Makefile.am:
29354         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
29355         * docs/design/part-live-source.txt:
29356         * docs/design/part-states.txt:
29357         * gst/base/gstbasesrc.c: (gst_basesrc_init),
29358         (gst_basesrc_set_live), (gst_basesrc_is_live),
29359         (gst_basesrc_get_range), (gst_basesrc_activate),
29360         (gst_basesrc_change_state):
29361         * gst/base/gstbasesrc.h:
29362         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
29363         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
29364         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
29365         * gst/gstelement.c: (gst_element_get_state_func),
29366         (gst_element_set_state):
29367         * gst/gstelement.h:
29368         * gst/gsttypes.h:
29369         * tools/gst-launch.c: (event_loop), (main):
29370         Added support for live sources and other elements that
29371         cannot do preroll.
29372         Updated design docs, added live-source design doc.
29373         Implemented live source functionality in basesrc
29374         Fix error condition in _bin_get_state()
29375         Implement live source handling in -launch.
29376         Added check for live sources.
29377         Fixed case in GstBin where elements were changed state
29378         multiple times.
29379
29380
29381 2005-06-23  Andy Wingo  <wingo@pobox.com>
29382
29383         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
29384         borken refcounting.
29385
29386         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
29387         gst_caps_replace takes care of this for us.
29388
29389         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
29390         gst_pad_set_caps on the target, not just its setcaps() function.
29391
29392         * tests/network-clock.scm: 
29393         * tests/network-clock-utils.scm: A network clock simulator.
29394         Something of an algorithmic testbed before doing something in C.
29395
29396 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29397
29398         * check/Makefile.am:
29399         * check/gst/capslist.h:
29400           copy over from 0.8, and add two with bitmasks specified with
29401           (int) 0xFF...
29402         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29403           add test to parse everything from capslist.h
29404         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
29405         (main):
29406           add test for structure deserialization
29407         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29408           add tests for deserialization of strings to int types
29409         * gst/gststructure.c: (gst_structure_nth_field_name):
29410         * gst/gststructure.h:
29411           add a way to get the name of a field referenced by index
29412         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29413           instead of checking if the resulting long long lies between
29414           min and max, we check if the long long would fit into
29415           a number of bytes for the final type.
29416           This fixes cases where a string represents 2^32 - 1, which
29417           when cast to int would be the (valid) -1, but is bigger than
29418           G_MAXINT
29419
29420 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29421
29422         * gst/parse/grammar.y:
29423           add a log line for type deserialization
29424
29425 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29426
29427         * check/gst/gstvalue.c: (START_TEST):
29428         * gst/gstvalue.c: (gst_value_deserialize):
29429           return long long, not int, so gint64 deserialization actually
29430           works.  Is there any flag that makes the compiler check this ?
29431           Fixes #308559
29432
29433 2005-06-22  Wim Taymans  <wim@fluendo.com>
29434
29435         * gst/gstbuffer.h:
29436         Added convenience macros for setting buffers in GValue.
29437
29438 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
29439
29440         * check/gst/.cvsignore:
29441         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29442           add a test deserializing int64, and comment part out because
29443           it fails, yay !
29444
29445 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
29446
29447         * check/Makefile.am:
29448         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
29449         * testsuite/Makefile.am:
29450         * testsuite/caps/Makefile.am:
29451         * testsuite/caps/value_serialize.c:
29452         * testsuite/test_gst_init.c:
29453           move a value_serialize test over
29454
29455 2005-06-20  Wim Taymans  <wim@fluendo.com>
29456
29457         * gst/gstpad.c:
29458         Small doc updates.
29459         
29460         * gst/gstvalue.c: (gst_value_compare_buffer),
29461         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
29462         (gst_value_compare_flags), (gst_value_serialize_flags),
29463         (gst_value_deserialize_flags), (_gst_value_initialize):
29464         Fix serialisation of buffers, they are not boxed types anymore
29465
29466 2005-06-20  Wim Taymans  <wim@fluendo.com>
29467
29468         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29469         Testcase to show error in buffer-on-caps serialisation.
29470
29471 2005-06-20  Andy Wingo  <wingo@pobox.com>
29472
29473         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
29474         will be adding to later.
29475
29476         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
29477         if its socks fill with rocks.
29478         (gst_system_clock_obtain): Set the name on object construction.
29479         Avoid double-checked locking.
29480
29481 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
29482
29483         * gst/gsturi.c: (gst_element_make_from_uri):
29484           Fix potential endless loop.
29485
29486 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29487
29488         * check/Makefile.am:
29489           add gsttag
29490         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
29491         (main):
29492           move over from testsuite dir and clean up
29493         * configure.ac:
29494         * gst/gsttag.c:
29495         * testsuite/Makefile.am:
29496         * testsuite/tags/.cvsignore:
29497         * testsuite/tags/Makefile.am:
29498         * testsuite/tags/merge.c:
29499           remove testsuite/tags
29500
29501 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29502
29503         * docs/gst/gstreamer-sections.txt:
29504         * docs/gst/tmpl/gstenumtypes.sgml:
29505         * win32/gstenumtypes.c:
29506           clean up documentation build a little
29507
29508 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29509
29510         * check/gstcheck.h:
29511           add macros for checking refcounts on objects and caps
29512         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
29513           add some more unit tests
29514         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
29515         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
29516           fix leaked refcounts (I hope :)) so unittest works
29517         * gst/gstpad.h:
29518           whitespace removal
29519
29520 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29521
29522         * configure.ac: back to HEAD
29523
29524 === release 0.9.1 ===
29525
29526 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
29527
29528         * NEWS:
29529         * RELEASE:
29530           updated
29531
29532 2005-06-17  Andy Wingo  <wingo@pobox.com>
29533
29534         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
29535         assert; it's always possible that the pad gets deactivated in
29536         between the checks in gstpad.c and the implementation. Rely on
29537         finish_preroll() to return a FLUSHING or similar instead of on the
29538         assert.
29539         
29540         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
29541         clock and post an EOS message if we come out of finish_preroll in
29542         the playing state.
29543
29544 2005-06-16  David Schleef  <ds@schleef.org>
29545
29546         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
29547         (gst_capsfilter_set_property): Allow NULL as possible value
29548         for filter_caps property, indicating GST_CAPS_ANY.
29549
29550 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
29551
29552         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
29553           fix debug output
29554         * gst/schedulers/Makefile.am:
29555           use libgst prefix
29556         * gstreamer.spec.in:
29557           fix spec for it
29558
29559 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
29560
29561         * gstreamer.spec.in:
29562           clean up
29563
29564 2005-06-08  Andy Wingo  <wingo@pobox.com>
29565
29566         * gst/gstutils.c: RPAD fixes all around.
29567         (gst_element_link_pads): Refcounting fixes.
29568
29569         * tools/gst-inspect.c:
29570         * tools/gst-xmlinspect.c:
29571         * parse/grammar.y:
29572         * gst/base/gsttypefindhelper.c:
29573         * gst/base/gstbasesink.c:
29574         * gst/gstqueue.c: RPAD fixes.
29575
29576         * gst/gstghostpad.h:
29577         * gst/gstghostpad.c: New ghost pad implementation as full proxy
29578         pads. The tricky thing is they provide both source and sink
29579         interfaces, since they proxy the internal pad for the external
29580         pad, and vice versa. Implement with lower-level ProxyPad objects,
29581         with the interior proxy pad as a child of the exterior ghost pad.
29582         Should write a doc on this.
29583         
29584         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
29585         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
29586         gst_object API.
29587         
29588         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
29589         pads are real pads. No ghost pads in this file. Not documenting
29590         the myriad s/RPAD/PAD/ and REALIZE fixes.
29591         (gst_pad_class_init): Add properties for "direction" and
29592         "template". Both are construct-only, so they can't change during
29593         the life of the pad. Fixes properly deriving from GstPad.
29594         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
29595         derived objects, just set properties when creating the objects via
29596         g_object_new.
29597         (gst_pad_get_parent): Implement as a function, return NULL if the
29598         parent is not an element.
29599         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
29600         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
29601         
29602         * gst/gstobject.c (gst_object_class_init): Make name a construct
29603         property. Don't set it in the object init.
29604
29605         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
29606         with UNKNOWN direction.
29607         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
29608         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
29609         (gst_element_remove_pad): Remove ghost-pad special cases.
29610         (gst_element_pads_activate): Remove rpad cruft.
29611
29612         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
29613         catch the pad's-parent-not-an-element case.
29614
29615         * gst/gst.h: Include gstghostpad.h.
29616
29617         * gst/gst.c (init_post): No more real, ghost pads.
29618
29619         * gst/Makefile.am: Add gstghostpad.[ch].
29620
29621         * check/Makefile.am:
29622         * check/gst/gstbin.c:
29623         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
29624         into a bin creates ghost pads, and that the refcounts are right.
29625         Partly moved from gstbin.c.
29626
29627 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29628
29629         * check/gst-libs/.cvsignore:
29630         * check/gst/.cvsignore:
29631         * check/pipelines/.cvsignore:
29632           ignore more
29633         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
29634         (START_TEST), (cleanup_suite), (main):
29635           add some tests related to cleanup after running pipelines
29636
29637 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29638
29639         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
29640           add a testsuite for GstBuffer
29641
29642 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29643
29644         * gst/gstminiobject.h:
29645           add defines for accessing the refcount
29646
29647 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
29648
29649         * Makefile.am: added support for html unit test coverage reports
29650
29651 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
29652
29653         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
29654           Free existing caps if the capsfilter changes. Add a FIXME about
29655           setting those caps on the pads.
29656
29657         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
29658           Before adding a ghost pad to a parent bin, check that there isn't
29659           already one for the element on the bin. Prevents infinite recursion
29660           when using decodebin in parse pipelines. Andy says he'll rewrite the
29661           way this works anyway, so ignore the hack.
29662
29663 2005-06-02  Andy Wingo  <wingo@pobox.com>
29664
29665         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
29666         file size, pass it on to the type find helper.
29667
29668         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
29669         segment_start and segment_end properly according to the seek
29670         method. Segment_end is still a bit flaky because offset can be
29671         negative for CUR and END cases, but it takes -1 as an "unset"
29672         value.
29673
29674 2005-06-02  Wim Taymans  <wim@fluendo.com>
29675
29676         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
29677         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
29678         (gst_basesink_activate):
29679         * gst/base/gstbasesink.h:
29680         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29681         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29682         (gst_pad_query), (gst_pad_start_task):
29683         * gst/gstpad.h:
29684         * gst/gstqueue.c: (gst_queue_bufferalloc),
29685         (gst_queue_handle_sink_event), (gst_queue_chain):
29686         Bufferalloc: return GstFlowReturn to more accuratly report
29687         why allocation failed.
29688
29689 2005-06-02  Wim Taymans  <wim@fluendo.com>
29690
29691         * gst/gstpipeline.c: (gst_pipeline_send_event):
29692         Take snapshot of state without blocking.
29693
29694 2005-06-02  Wim Taymans  <wim@fluendo.com>
29695
29696         * docs/design/part-TODO.txt:
29697         * docs/design/part-caps.txt:
29698         * docs/design/part-clocks.txt:
29699         * docs/design/part-negotiation.txt:
29700         * docs/design/part-preroll.txt:
29701         Small doc updates 
29702
29703 2005-05-30  Wim Taymans  <wim@fluendo.com>
29704
29705         * gst/elements/gstidentity.c: (gst_identity_event),
29706         (gst_identity_transform), (gst_identity_get_property):
29707         Protect last_message property as it is accessed from
29708         multiple threads.
29709
29710 2005-05-30  Wim Taymans  <wim@fluendo.com>
29711
29712         * gst/gstelement.c: (gst_element_init),
29713         (gst_element_pads_activate), (gst_element_change_state):
29714         Slicker pad activation code.
29715
29716 2005-05-30  Wim Taymans  <wim@fluendo.com>
29717
29718         * gst/Makefile.am:
29719         * gst/gstelement.h:
29720         * gst/gstelementfactory.h:
29721         * gst/gsttypes.h:
29722         Move elementfactory methods to separate .h file.
29723
29724 2005-05-30  Wim Taymans  <wim@fluendo.com>
29725
29726         * docs/design/part-overview.txt:
29727         * gst/gstsystemclock.h:
29728         Small typo fixes, doc updates.
29729
29730 2005-05-30  Wim Taymans  <wim@fluendo.com>
29731
29732         * gst/gst.c: (gst_init_get_popt_table), (init_post),
29733         (init_popt_callback):
29734         Remove cpu-opt flag.
29735
29736 2005-05-30  Wim Taymans  <wim@fluendo.com>
29737
29738         * gst/gstbuffer.c: (gst_subbuffer_finalize),
29739         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
29740         * gst/gstbuffer.h:
29741         Avoid typechecking in places where not needed.
29742         Added accessor for malloc_data.
29743
29744 2005-05-30  Wim Taymans  <wim@fluendo.com>
29745
29746         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
29747         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
29748         (gst_pad_configure_sink), (gst_pad_configure_src),
29749         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
29750         (gst_pad_start_task):
29751         Propagate errors from _set_caps() in configure_src/sink
29752         functions instead of returning TRUE.
29753         FLUSH events can travel up and downstream
29754
29755
29756 2005-05-30  Wim Taymans  <wim@fluendo.com>
29757
29758         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
29759         (gst_basesink_activate):
29760         Handle EOS in preroll.
29761
29762 2005-05-30  Wim Taymans  <wim@fluendo.com>
29763
29764         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
29765         (gst_queue_loop), (gst_queue_handle_src_event):
29766         Remove old pieces of code
29767         Flushing the queue in an upstream event is a very bad idea.
29768
29769 2005-05-26  Andy Wingo  <wingo@pobox.com>
29770
29771         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
29772         gst_value_set_mini_object so as to add a ref on the object (which
29773         will be removed when the value is unset).
29774
29775         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
29776         arg type in ::handoff.
29777
29778         * gst/gstelement.c (gst_element_change_state): Also deactivate
29779         pads in READY->NULL, just in case the element didn't make it to
29780         PAUSED. Wingo tested, Wim approved.
29781
29782 2005-05-26  Wim Taymans  <wim@fluendo.com>
29783
29784         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29785         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29786         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
29787         A flushing pad cannot be used to alloc_buffer from.
29788
29789 2005-05-26  Wim Taymans  <wim@fluendo.com>
29790
29791         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
29792         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
29793         (gst_bus_source_dispatch), (gst_bus_source_finalize),
29794         (gst_bus_create_watch), (gst_bus_add_watch_full):
29795         * gst/gstbus.h:
29796         Implement a real GSource and use g_main_context_wakeup() to
29797         signal new messages instead of the socketpair.
29798
29799 2005-05-25  Wim Taymans  <wim@fluendo.com>
29800
29801         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
29802         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
29803         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29804         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
29805         (gst_pad_send_event), (gst_pad_start_task):
29806         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
29807         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
29808         (gst_queue_sink_activate), (gst_queue_src_activate),
29809         (gst_queue_change_state):
29810         * gst/gstqueue.h:
29811         Fix state changes for non sinks. We now change sinks, then elements
29812         with unconnected srcpads, then the rest.
29813         More efficient queue unlocking in flush and state changes.
29814         Set the pad activate mode even if it does not have an activate
29815         function.
29816
29817 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29818
29819         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
29820           Don't go in pull mode for non-seekable sources.
29821         * gst/elements/gsttypefindelement.h:
29822         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
29823         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
29824         (free_entry), (stop_typefinding),
29825         (gst_type_find_element_handle_event), (find_peek),
29826         (gst_type_find_element_chain), (do_pull_typefind),
29827         (gst_type_find_element_change_state):
29828           Allow typefinding (w/o seeking) in push-mode, simplified version
29829           of what was in 0.8.
29830         * gst/gstutils.c: (gst_buffer_join):
29831         * gst/gstutils.h:
29832           gst_buffer_join() from 0.8.
29833
29834 2005-05-25  Wim Taymans  <wim@fluendo.com>
29835
29836         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29837         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
29838         (gst_pad_send_event), (gst_pad_start_task):
29839         Disable attempt at mode switching until it is figured out.
29840
29841 2005-05-25  Wim Taymans  <wim@fluendo.com>
29842
29843         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
29844         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
29845         (gst_basesink_finish_preroll), (gst_basesink_chain),
29846         (gst_basesink_loop), (gst_basesink_activate),
29847         (gst_basesink_change_state):
29848         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
29849         (gst_basesrc_get_range), (gst_basesrc_loop),
29850         (gst_basesrc_activate):
29851         * gst/elements/gsttee.c: (gst_tee_sink_activate):
29852         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
29853         (gst_real_pad_init), (gst_real_pad_set_property),
29854         (gst_real_pad_get_property), (gst_pad_set_active),
29855         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
29856         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
29857         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
29858         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
29859         (gst_pad_event_default_dispatch), (gst_pad_event_default),
29860         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
29861         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
29862         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
29863         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
29864         (gst_pad_stop_task):
29865         * gst/gstpad.h:
29866         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
29867         (gst_queue_loop), (gst_queue_src_activate):
29868         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
29869         (gst_task_get_state):
29870         * gst/gsttask.h:
29871         * gst/schedulers/threadscheduler.c:
29872         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
29873         Implement gst_pad_pause/start/stop_task(), take STREAM lock
29874         in task function.
29875         Remove ACTIVE pad flag, use FLUSHING everywhere
29876         Added _pad_chain(), _pad_get_range() to call chain/getrange 
29877         functions.
29878         Add locks around IS_FLUSHING when reading.
29879         Take STREAM lock in chain(), get_range() functions so plugins
29880         don't need to take it anymore.
29881         
29882
29883
29884 2005-05-25  Wim Taymans  <wim@fluendo.com>
29885
29886         * tools/gst-launch.c: (event_loop):
29887         Unref message after using its contents instead of
29888         before.
29889
29890 2005-05-24  Wim Taymans  <wim@fluendo.com>
29891
29892         * docs/design/draft-ghostpads.txt:
29893         * docs/design/draft-push-pull.txt:
29894         * docs/design/draft-query.txt:
29895         * docs/design/part-overview.txt:
29896         Docs updates, added general overview doc.
29897
29898 2005-05-21  David Schleef  <ds@schleef.org>
29899
29900         * docs/gst/tmpl/old/GstBin.sgml:
29901         * docs/gst/tmpl/old/GstBuffer.sgml:
29902         * docs/gst/tmpl/old/GstCaps.sgml:
29903         * docs/gst/tmpl/old/GstClock.sgml:
29904         * docs/gst/tmpl/old/GstCompat.sgml:
29905         * docs/gst/tmpl/old/GstData.sgml:
29906         * docs/gst/tmpl/old/GstElement.sgml:
29907         * docs/gst/tmpl/old/GstEvent.sgml:
29908         * docs/gst/tmpl/old/GstIndex.sgml:
29909         * docs/gst/tmpl/old/GstStructure.sgml:
29910         * docs/gst/tmpl/old/GstTag.sgml:
29911         * docs/gst/tmpl/old/cothreads.sgml:
29912         * docs/gst/tmpl/old/cothreads_compat.sgml:
29913         * docs/gst/tmpl/old/gettext.sgml:
29914         * docs/gst/tmpl/old/gobject2gtk.sgml:
29915         * docs/gst/tmpl/old/grammar.tab.sgml:
29916         * docs/gst/tmpl/old/gst-i18n-app.sgml:
29917         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
29918         * docs/gst/tmpl/old/gst_private.sgml:
29919         * docs/gst/tmpl/old/gstaggregator.sgml:
29920         * docs/gst/tmpl/old/gstarch.sgml:
29921         * docs/gst/tmpl/old/gstatomic_impl.sgml:
29922         * docs/gst/tmpl/old/gstbufferstore.sgml:
29923         * docs/gst/tmpl/old/gstdata_private.sgml:
29924         * docs/gst/tmpl/old/gstdisksink.sgml:
29925         * docs/gst/tmpl/old/gstdisksrc.sgml:
29926         * docs/gst/tmpl/old/gstelementfactory.sgml:
29927         * docs/gst/tmpl/old/gstextratypes.sgml:
29928         * docs/gst/tmpl/old/gstfakesink.sgml:
29929         * docs/gst/tmpl/old/gstfakesrc.sgml:
29930         * docs/gst/tmpl/old/gstfdsink.sgml:
29931         * docs/gst/tmpl/old/gstfdsrc.sgml:
29932         * docs/gst/tmpl/old/gstfilesink.sgml:
29933         * docs/gst/tmpl/old/gstfilesrc.sgml:
29934         * docs/gst/tmpl/old/gsthttpsrc.sgml:
29935         * docs/gst/tmpl/old/gstidentity.sgml:
29936         * docs/gst/tmpl/old/gstindexfactory.sgml:
29937         * docs/gst/tmpl/old/gstmarshal.sgml:
29938         * docs/gst/tmpl/old/gstmd5sink.sgml:
29939         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
29940         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
29941         * docs/gst/tmpl/old/gstpadtemplate.sgml:
29942         * docs/gst/tmpl/old/gstpipefilter.sgml:
29943         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
29944         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
29945         * docs/gst/tmpl/old/gstshaper.sgml:
29946         * docs/gst/tmpl/old/gstspider.sgml:
29947         * docs/gst/tmpl/old/gstspideridentity.sgml:
29948         * docs/gst/tmpl/old/gststatistics.sgml:
29949         * docs/gst/tmpl/old/gsttee.sgml:
29950         * docs/gst/tmpl/old/gsttimecache.sgml:
29951         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
29952         * docs/gst/tmpl/old/gstxmlregistry.sgml:
29953         * docs/gst/tmpl/old/gthread-cothreads.sgml:
29954         * docs/gst/tmpl/old/types.sgml:
29955           I didn't intend to add these or check them in.
29956
29957 2005-05-19  David Schleef  <ds@schleef.org>
29958
29959         * configure.ac: Use -no-common everywhere.  In a sane world, it
29960           would be the default in libtool, because without it, you can't
29961           build DLLs on Windows.
29962         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
29963         * docs/gst/gstreamer-sections.txt:
29964         * docs/gst/tmpl/gstcpu.sgml:
29965         * docs/gst/tmpl/gstdata.sgml:
29966         * docs/gst/tmpl/gstthread.sgml:
29967
29968 2005-05-19  David Schleef  <ds@schleef.org>
29969
29970         * gst/gstminiobject.c: (gst_value_set_mini_object),
29971         (gst_value_take_mini_object), (gst_value_get_mini_object):
29972         * gst/gstminiobject.h: Add GValue set/get functions.
29973
29974 2005-05-19  Wim Taymans  <wim@fluendo.com>
29975
29976         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
29977         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
29978         (gst_subbuffer_init), (gst_buffer_is_span_fast):
29979         * gst/gstbuffer.h:
29980         * gst/gstbus.c: (gst_bus_post):
29981         * gst/gstelement.c: (gst_element_get_random_pad):
29982         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
29983         Make subbufer unref the parent in finalize.
29984         some more debugging info.
29985
29986
29987 2005-05-19  Wim Taymans  <wim@fluendo.com>
29988
29989         * gst/base/gstbasesink.c: (gst_basesink_class_init),
29990         (gst_basesink_init), (gst_basesink_finalize),
29991         (gst_basesink_activate), (gst_basesink_change_state):
29992         Don't free preroll queue too early.
29993
29994 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29995
29996         * gst/Makefile.am:
29997         * gst/ROADMAP:
29998           Hi, I'm outdated. Please shoot me.
29999
30000 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30001
30002         * gst/gstpipeline.c: (gst_pipeline_send_event):
30003           Do not access variables after they have been deleted.
30004
30005 2005-05-19  Wim Taymans  <wim@fluendo.com>
30006
30007         * tools/gst-inspect.c: (print_plugin_features):
30008         A plugin feature does unfortunatly not use the
30009         object name yet...
30010
30011 2005-05-18  Wim Taymans  <wim@fluendo.com>
30012
30013         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
30014         Port _span() functions to new subbuffers.
30015
30016 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30017
30018         * gst/gstbin.c: (gst_bin_add_func):
30019           Fix clock settery in bins when adding kids after the clock has
30020           been selected.
30021
30022 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30023
30024         * gst/elements/gstidentity.c: (gst_identity_class_init):
30025           Workaround until signals support GstMiniObject.
30026
30027 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
30028
30029         * gst/gstbuffer.c:
30030         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
30031
30032 2005-05-18  Wim Taymans  <wim@fluendo.com>
30033
30034         * gst/base/Makefile.am:
30035         * gst/base/gstadapter.c: (gst_adapter_base_init),
30036         (gst_adapter_class_init), (gst_adapter_init),
30037         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
30038         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
30039         (gst_adapter_flush), (gst_adapter_available),
30040         (gst_adapter_available_fast):
30041         * gst/base/gstadapter.h:
30042         Ported and added adapter to the base classes.
30043
30044 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
30045
30046         * gst/gst.c:
30047         * gst/gstmessage.c:
30048           Make sure the class is reffed/unreffed once before threads can be
30049           used.  Fixes #304551.
30050
30051 2005-05-17  Wim Taymans  <wim@fluendo.com>
30052
30053         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
30054         (gst_basesink_chain_unlocked), (gst_basesink_activate):
30055         * gst/gstminiobject.c: (gst_mini_object_get_type),
30056         (gst_mini_object_free):
30057         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
30058         (gst_pad_push), (gst_pad_push_event):
30059         * gst/gstqueue.c: (gst_queue_change_state):
30060         Don't queue buffers in basesink when we are flushing.
30061         Unref buffer when flushing in basesink.
30062         Flush queue when going to READY
30063         Unref buffer when _push() returns an error.
30064         Don't free MiniObject instance when refcount is incremented
30065         in _finalize() so that we can recover objects.
30066
30067 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
30068
30069         * docs/manual/advanced-schedulers.xml:
30070         * docs/manual/appendix-checklist.xml:
30071         * docs/pwg/advanced-clock.xml:
30072         * docs/pwg/advanced-interfaces.xml:
30073         * docs/pwg/advanced-request.xml:
30074         * docs/pwg/advanced-types.xml:
30075         * docs/pwg/intro-preface.xml:
30076         * examples/plugins/example.c: (gst_example_get_type),
30077         (gst_example_class_init), (gst_example_chain),
30078         (gst_example_set_property), (gst_example_get_property),
30079         (gst_example_change_state), (plugin_init):
30080         * examples/plugins/example.h:
30081           small doc fixes
30082
30083 2005-05-17  Wim Taymans  <wim@fluendo.com>
30084
30085         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
30086         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
30087         * gst/gstqueue.c: (gst_queue_change_state):
30088         Clear queue when going to READY.
30089         Remove IN_SETCAPS flag too.
30090
30091 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
30092
30093         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
30094           Remove implicit cast from gboolean to GstElementStateReturn;
30095           make sure we still return failure in paused => ready case if
30096           the parent class fails to change state and our own stop 
30097           vfunc succeeds.
30098
30099 2005-05-17  Wim Taymans  <wim@fluendo.com>
30100
30101         * tools/gst-launch.c: (event_loop):
30102         Message was unreffed too soon.
30103
30104 2005-05-16  Andy Wingo  <wingo@pobox.com>
30105
30106         * gst/gstbin.c (sink_iterator_filter): Err... um...
30107
30108         * check/gst/gstbin.c (test_ghost_pads): New test for the
30109         ghosting-if-elements-not-in-same-bin behavior.
30110
30111 2005-05-16  David Schleef  <ds@schleef.org>
30112
30113         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
30114         accessing refcount directly.
30115
30116 2005-05-15  David Schleef  <ds@schleef.org>
30117
30118         * check/Makefile.am: remove GstData checks
30119         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
30120         * gst/Makefile.am: add miniobject, remove data
30121         * gst/gst.h: add miniobject, remove data
30122         * gst/gstdata.c: remove
30123         * gst/gstdata.h: remove
30124         * gst/gstdata_private.h: remove
30125         * gst/gsttypes.h: remove GstEvent and GstMessage
30126         * gst/gstelement.c: (gst_element_post_message): fix for API changes
30127         * gst/gstmarshal.list: change BOXED -> OBJECT
30128
30129         Implement GstMiniObject.
30130         * gst/gstminiobject.c:
30131         * gst/gstminiobject.h:
30132
30133         Modify to be subclasses of GstMiniObject.
30134         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
30135         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
30136         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
30137         (gst_subbuffer_get_type), (gst_subbuffer_init),
30138         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
30139         (gst_buffer_span):
30140         * gst/gstbuffer.h:
30141         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
30142         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
30143         (_gst_event_copy), (gst_event_new):
30144         * gst/gstevent.h:
30145         * gst/gstmessage.c: (_gst_message_initialize),
30146         (gst_message_get_type), (gst_message_class_init),
30147         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
30148         (gst_message_new), (gst_message_new_error),
30149         (gst_message_new_warning), (gst_message_new_tag),
30150         (gst_message_new_state_changed), (gst_message_new_application):
30151         * gst/gstmessage.h:
30152         * gst/gstprobe.c: (gst_probe_perform),
30153         (gst_probe_dispatcher_dispatch):
30154         * gst/gstprobe.h:
30155         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
30156         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
30157         (_gst_query_copy), (gst_query_new):
30158
30159         Update elements for GstData -> GstMiniObject changes
30160         * gst/gstquery.h:
30161         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
30162         (gst_queue_chain), (gst_queue_loop):
30163         * gst/elements/gstbufferstore.c:
30164         (gst_buffer_store_add_buffer_func),
30165         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
30166         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30167         (gst_fakesink_render):
30168         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
30169         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
30170         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
30171         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
30172         (gst_filesrc_create_read):
30173         * gst/elements/gstidentity.c: (gst_identity_class_init):
30174         * gst/elements/gsttypefindelement.c:
30175         (gst_type_find_element_src_event), (free_entry_buffers),
30176         (gst_type_find_element_handle_event):
30177         * libs/gst/dataprotocol/dataprotocol.c:
30178         (gst_dp_header_from_buffer):
30179         * libs/gst/dataprotocol/dataprotocol.h:
30180         * libs/gst/dataprotocol/dp-private.h:
30181
30182 2005-05-15  David Schleef  <ds@schleef.org>
30183
30184         * gst/elements/gstelements.c: Don't include headers that were
30185         just removed.
30186
30187 2005-05-15  David Schleef  <ds@schleef.org>
30188
30189         * gst/elements/Makefile.am: Remove some elements that don't
30190         need to be in the core (or even exist at all).
30191         * gst/elements/gstaggregator.c:
30192         * gst/elements/gstaggregator.h:
30193         * gst/elements/gstmd5sink.c:
30194         * gst/elements/gstmd5sink.h:
30195         * gst/elements/gstmultifilesrc.c:
30196         * gst/elements/gstmultifilesrc.h:
30197         * gst/elements/gstpipefilter.c:
30198         * gst/elements/gstpipefilter.h:
30199         * gst/elements/gstshaper.c:
30200         * gst/elements/gstshaper.h:
30201         * gst/elements/gststatistics.c:
30202         * gst/elements/gststatistics.h:
30203         * po/POTFILES.in: Remove above files.
30204
30205 2005-05-14  Andy Wingo  <wingo@pobox.com>
30206
30207         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
30208         so as to get the refs right.
30209         (sink_iterator_filter): New function, wraps bin_element_is_sink,
30210         unreffing objects that don't pass the filter.
30211
30212         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
30213         gst_element_set_bus.
30214         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
30215         normal cases, this will destroy the bus.
30216
30217         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
30218         object.
30219
30220         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
30221         has no sinks.
30222
30223 2005-05-13  Andy Wingo  <wingo@pobox.com>
30224
30225         * gst/gstutils.c (gst_element_link_pads): Instead of calling
30226         gst_pad_link, call pad_link_maybe_ghosting,
30227         (pad_link_maybe_ghosting): Links pads, making sure that the
30228         elements being linked are in the same bin.
30229         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
30230         Helpers for pad_link_maybe_ghosting.
30231
30232 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
30233
30234         * configure.ac:
30235           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
30236
30237 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
30238
30239         * docs/design/part-element-source.txt:
30240           Mention GstPushSrc
30241
30242 2005-05-12  Wim Taymans  <wim@fluendo.com>
30243
30244         * gst/base/gstbasesink.c: (gst_basesink_init),
30245         (gst_basesink_activate):
30246         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
30247         (gst_basesrc_is_seekable):
30248         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
30249         (bin_element_is_sink), (gst_bin_change_state):
30250         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30251         * gst/gstelement.h:
30252         Identify sinks by their flag to avoid overly complicated
30253         checks (fow now).
30254         Do state changes even for elements not reachable from the
30255         sinks.
30256         BaseSink is a sink now :)
30257         Some more debugging info in the basesrc.
30258
30259
30260 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30261
30262         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
30263           Implement _query on a bin, similar to _send_event.
30264
30265 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
30266
30267         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
30268           Discont event offset format should be GST_FORMAT_BYTES,
30269           not GST_FORMAT_TIME.
30270
30271 2005-05-12  Wim Taymans  <wim@fluendo.com>
30272
30273         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
30274         Same fix as Ronald's but without the signal. 
30275
30276 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30277
30278         * gst/gstutils.c: (gst_element_query_position):
30279           No, an element is not a pad.
30280
30281 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30282
30283         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
30284         (gst_bin_get_state):
30285           If a child is removed from a bin while we remove the child from
30286           the bin and while we're retrieving its state, signal this to the
30287           get_state function so we abort the wait (instead of waiting for
30288           a timeout) and can immediately re-iterate over all other elements.
30289
30290 2005-05-12  Wim Taymans  <wim@fluendo.com>
30291
30292         * gst/base/Makefile.am:
30293         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
30294         (gst_basesrc_start):
30295         * gst/base/gstbasesrc.h:
30296         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
30297         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
30298         (gst_pushsrc_init), (gst_pushsrc_create):
30299         * gst/base/gstpushsrc.h:
30300         Added is_seekable to BaseSrc
30301         Added simple PushSrc.
30302
30303 2005-05-11  Wim Taymans  <wim@fluendo.com>
30304
30305         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30306         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30307         (gst_element_link_pads), (gst_element_query_position),
30308         (gst_element_query_convert), (intersect_caps_func),
30309         (gst_pad_query_position), (gst_pad_query_convert):
30310         Fix refcounting in utils function.
30311         No point in trying to activate a pad when it's added, it could
30312         be added from the state change function and then we deadlock, the
30313         element has to decide what to do.
30314
30315 2005-05-10  Andy Wingo  <wingo@pobox.com>
30316
30317         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
30318         *all* the arguments.
30319
30320         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
30321         stream lock if it's a FLUSH_DONE; normal flushes don't get the
30322         lock (according to the docs -- if this is wrong change the docs).
30323
30324         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
30325         flush messages in the NULL state.
30326
30327         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
30328         message immediately and return.
30329         (gst_bus_set_flushing): New function. If a bus is flushing, it
30330         flushes out any queued messages and immediately unrefs new
30331         messages. This is so when an element goes to NULL, all of the
30332         unhandled messages coming from it can be freed, and their
30333         references to the element dropped. In other words: message source
30334         ref considered harmful :P
30335
30336         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
30337         we're finished with it.
30338
30339         * gst/gstmessage.c (gst_message_new_state_changed): 
30340
30341 2005-05-10  Wim Taymans  <wim@fluendo.com>
30342
30343         * gst/gstvalue.c: (gst_value_compare_flags),
30344         (gst_value_serialize_flags), (gst_value_deserialize_flags),
30345         (_gst_value_initialize):
30346         Added flags serialize/deserialize/compare code.
30347
30348 2005-05-09  Andy Wingo  <wingo@pobox.com>
30349
30350         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
30351         Intersect the peer's caps with our caps.
30352
30353 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30354
30355         * gst/base/gsttypefindhelper.c: (helper_find_peek):
30356         * gst/elements/gsttypefindelement.c: (find_peek):
30357           Handle negative offsets better. Fixes decodebin.
30358
30359 2005-05-09  Wim Taymans  <wim@fluendo.com>
30360
30361         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
30362         (gst_base_transform_event):
30363         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
30364         Implement accept_caps.
30365         Fix silly lock/unlock mismatch in base class.
30366
30367 2005-05-09  Wim Taymans  <wim@fluendo.com>
30368
30369         * docs/design/draft-push-pull.txt:
30370         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
30371         * gst/elements/gstfilesink.c: (gst_filesink_init),
30372         (gst_filesink_query):
30373         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
30374         (gst_type_find_handle_src_query), (find_element_get_length):
30375         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
30376         * gst/gstelement.h:
30377         * gst/gstmessage.c:
30378         * gst/gstmessage.h:
30379         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
30380         (gst_real_pad_get_caps_unlocked),
30381         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
30382         (gst_pad_event_default_dispatch), (gst_pad_event_default),
30383         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
30384         (gst_real_pad_dispose), (gst_real_pad_finalize),
30385         (gst_pad_load_and_link), (gst_pad_save_thyself),
30386         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
30387         (gst_pad_check_pull_range), (gst_pad_pull_range),
30388         (gst_pad_template_get_type), (gst_pad_template_class_init),
30389         (gst_pad_template_init), (gst_pad_template_dispose),
30390         (name_is_valid), (gst_static_pad_template_get),
30391         (gst_pad_template_new), (gst_static_pad_template_get_caps),
30392         (gst_pad_template_get_caps), (gst_pad_set_element_private),
30393         (gst_pad_get_element_private), (gst_pad_start_task),
30394         (gst_pad_pause_task), (gst_pad_stop_task),
30395         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
30396         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
30397         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
30398         (gst_ghost_pad_new):
30399         * gst/gstpad.h:
30400         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
30401         (gst_query_new_position), (gst_query_set_position),
30402         (gst_query_parse_position), (gst_query_new_convert),
30403         (gst_query_set_convert), (gst_query_parse_convert):
30404         * gst/gstquery.h:
30405         * gst/gstqueryutils.c:
30406         * gst/gstqueryutils.h:
30407         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30408         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30409         (gst_queue_handle_src_query):
30410         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30411         (gst_element_query_position), (gst_element_query_convert),
30412         (intersect_caps_func), (gst_pad_query_position),
30413         (gst_pad_query_convert):
30414         * gst/gstutils.h:
30415         * tools/gst-inspect.c: (print_pad_info):
30416         * tools/gst-xmlinspect.c: (print_element_info):
30417         Remove old query functions. Ported old code.
30418         Added position/convert helper functions to gstutils.
30419         Reordered gstpad.c code, grouping relevant things.
30420         Remove gst_message_new(), always need to speficy a specific
30421         message.
30422
30423
30424 2005-05-09  Andy Wingo  <wingo@pobox.com>
30425
30426         * gst/gstiterator.h: Add some includes.
30427
30428         * gst/gstqueryutils.h: Include more headers.
30429
30430         * gst/gstpad.h:
30431         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
30432         some uses of gst_pad_query.
30433
30434         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
30435         NULL out parameters.
30436         (gst_query_new_position): New proc, allocates a new position
30437         query.
30438
30439         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
30440         gstqueryutils.c to the build.
30441
30442         * gst/gststructure.c (gst_structure_set_valist): Implement with
30443         the generic G_VALUE_COLLECT.
30444         
30445 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
30446
30447         * gst/Makefile.am: (gst_headers):
30448         Added gstqueryutils.h to the list of headers to install, that was
30449         a 'nachty' move wingo :)
30450
30451 2005-05-06  Andy Wingo  <wingo@pobox.com>
30452
30453         * gst/gstquery.h
30454         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
30455         GstData, init a memchunk.
30456         (standard_definitions): Add a few query types, deprecate a few.
30457         (gst_query_get_type): New proc.
30458         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
30459         implementation.
30460         (gst_query_new_application, gst_query_get_structure): New public
30461         procs.
30462
30463         * docs/design/draft-query.txt: Removed LINKS from the query types,
30464         because all the rest can be dispatched to other pads -- seemed
30465         ugly to have a query that couldn't be dispatched. internal_links
30466         is fine as a pad method.
30467
30468         * gst/gstpad.h: Add query2 as a pad method, add the new functions
30469         in gstpad.c, but maintain binary compatibility for the moment.
30470         Will fix before 0.9 is out.
30471
30472         * gst/gstqueryutils.c: 
30473         * gst/gstqueryutils.h: New files, implement 3 methods for each
30474         query type: parse_query, parse_response, and set. Probably need an
30475         allocator as well.
30476
30477         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
30478
30479         * gst/elements/gstfilesink.c (gst_filesink_query2):
30480         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
30481         query_types, and formats methods.
30482
30483         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
30484         (gst_pad_set_query2_function): New functions.
30485         (gst_real_pad_init): Set query2_default as the default query2
30486         function. Basically just dispatches to internally linked pads.
30487
30488         Needs review!
30489         
30490         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
30491         without using the atomic operations. Only one thread can possibly
30492         be accessing the data at this point. Changed so as to avoid
30493         gst_atomic operations.
30494
30495 2005-05-06  Wim Taymans  <wim@fluendo.com>
30496
30497         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
30498         Also set caps if we use the fallback buffer alloc.
30499
30500 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
30501
30502         * docs/gst/Makefile.am:
30503         * docs/gst/gstreamer-docs.sgml:
30504         * docs/gst/gstreamer-sections.txt:
30505         * docs/gst/tmpl/gstatomic.sgml:
30506         * docs/gst/tmpl/gstmemchunk.sgml:
30507         * testsuite/elements/struct_i386.h:
30508         * win32/GStreamer.vcproj:
30509         * win32/Makefile:
30510           Purge GstAtomic stuff from docs and win32 makefiles as well
30511
30512 2005-05-06  Wim Taymans  <wim@fluendo.com>
30513
30514         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
30515         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
30516         * gst/gstpad.c: (gst_pad_peer_get_caps):
30517         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30518         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30519         (gst_queue_src_activate), (gst_queue_change_state):
30520         * gst/gstqueue.h:
30521         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30522         (intersect_caps_func):
30523         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
30524         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
30525         Some fixes for the peer_get_caps() change.
30526
30527 2005-05-06  Wim Taymans  <wim@fluendo.com>
30528
30529         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
30530         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
30531         (gst_basesink_activate):
30532         Actually do something with error codes returned from the push
30533         functions.
30534
30535 2005-05-06  Wim Taymans  <wim@fluendo.com>
30536
30537         * docs/design/part-element-sink.txt:
30538         * docs/design/part-element-source.txt:
30539         * gst/base/gstbasesink.c: (gst_basesink_class_init),
30540         (gst_basesink_event), (gst_basesink_activate):
30541         * gst/base/gstbasesink.h:
30542         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
30543         (gst_basesrc_activate):
30544         * gst/base/gstbasesrc.h:
30545         * gst/gstelement.c: (gst_element_pads_activate):
30546         Some more documentation.
30547         Fixed scheduling decision in _pads_activate().
30548
30549 2005-05-05  Andy Wingo  <wingo@pobox.com>
30550
30551         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
30552         the test suite.
30553
30554 2005-05-05  Wim Taymans  <wim@fluendo.com>
30555
30556         * gst/base/Makefile.am:
30557         * gst/base/gstbasesink.h:
30558         * gst/base/gstbasesrc.c: (gst_basesrc_init),
30559         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
30560         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
30561         (gst_collectpads_class_init), (gst_collectpads_init),
30562         (gst_collectpads_finalize), (gst_collectpads_new),
30563         (gst_collectpads_set_function), (gst_collectpads_add_pad),
30564         (find_pad), (gst_collectpads_remove_pad),
30565         (gst_collectpads_is_active), (gst_collectpads_collect),
30566         (gst_collectpads_collect_range), (gst_collectpads_start),
30567         (gst_collectpads_stop), (gst_collectpads_peek),
30568         (gst_collectpads_pop), (gst_collectpads_available),
30569         (gst_collectpads_read), (gst_collectpads_flush),
30570         (gst_collectpads_chain):
30571         * gst/base/gstcollectpads.h:
30572         * gst/elements/Makefile.am:
30573         * gst/elements/gstelements.c:
30574         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30575         (gst_fakesink_get_times), (gst_fakesink_event),
30576         (gst_fakesink_preroll), (gst_fakesink_render):
30577         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
30578         (gst_filesink_init), (gst_filesink_set_location),
30579         (gst_filesink_open_file), (gst_filesink_close_file),
30580         (gst_filesink_pad_query), (gst_filesink_event),
30581         (gst_filesink_render), (gst_filesink_change_state):
30582         * gst/elements/gstfilesink.h:
30583         Added object to help in making collect pad based elements.
30584         Ported filesink.
30585         Make event function in sink baseclass return gboolean.
30586
30587 2005-05-05  Wim Taymans  <wim@fluendo.com>
30588
30589         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
30590         (gst_bin_get_by_name):
30591         * gst/gstbuffer.h:
30592         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
30593         (gst_clock_finalize):
30594         * gst/gstdata.c: (gst_data_replace):
30595         * gst/gstdata.h:
30596         * gst/gstelement.c: (gst_element_request_pad),
30597         (gst_element_pads_activate):
30598         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
30599         (gst_object_unref):
30600         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30601         (gst_pad_set_checkgetrange_function),
30602         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
30603         (gst_pad_check_pull_range), (gst_pad_pull_range),
30604         (gst_static_pad_template_get_caps), (gst_pad_start_task),
30605         (gst_pad_pause_task), (gst_pad_stop_task):
30606         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30607         (gst_element_request_pad), (gst_pad_proxy_getcaps):
30608         Fix name lookup in GstBin.
30609         Added _data_replace() function and _buffer_replace()
30610         Use finalize method to clean up clock.
30611         Fix refcounting on request pads.
30612         Fix pad schedule mode error.
30613         Some more object refcounting debug info,
30614
30615
30616 2005-05-04  Andy Wingo <wingo@pobox.com>
30617
30618         * check/Makefile.am:
30619         * docs/gst/tmpl/gstatomic.sgml:
30620         * docs/gst/tmpl/gstplugin.sgml:
30621         * gst/base/gstbasesink.c: (gst_basesink_activate):
30622         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
30623         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
30624         (gst_basesrc_query), (gst_basesrc_set_property),
30625         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
30626         (gst_basesrc_activate):
30627         * gst/base/gstbasesrc.h:
30628         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
30629         (gst_base_transform_src_activate):
30630         * gst/elements/gstelements.c:
30631         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
30632         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
30633         * gst/elements/gsttee.c: (gst_tee_sink_activate):
30634         * gst/elements/gsttypefindelement.c: (find_element_get_length),
30635         (gst_type_find_element_checkgetrange),
30636         (gst_type_find_element_activate):
30637         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
30638         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
30639         (gst_caps_load_thyself):
30640         * gst/gstelement.c: (gst_element_pads_activate),
30641         (gst_element_save_thyself), (gst_element_restore_thyself):
30642         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
30643         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
30644         * gst/gstpad.h:
30645         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
30646         (gst_xml_parse_file), (gst_xml_parse_memory),
30647         (gst_xml_get_element), (gst_xml_make_element):
30648         * gst/indexers/gstfileindex.c: (gst_file_index_load),
30649         (_file_index_id_save_xml), (gst_file_index_commit):
30650         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
30651         (read_enum), (load_pad_template), (load_feature), (load_plugin),
30652         (load_paths):
30653         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
30654         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
30655         * tools/gst-complete.c: (main):
30656         * tools/gst-compprep.c: (main):
30657         * tools/gst-inspect.c: (print_element_properties_info):
30658         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
30659         * tools/gst-xmlinspect.c: (print_element_properties):
30660         GCC 4 fixen.
30661         
30662 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
30663
30664         * gst/gstplugin.c: (gst_plugin_check_module),
30665         (gst_plugin_check_file), (gst_plugin_load_file):
30666             apply patch from #172526 to make register work on MacOSX
30667
30668 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30669
30670         * docs/gst/tmpl/gstconfig.sgml:
30671         * gst/gstconfig.h.in:
30672           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
30673         * testsuite/debug/printf_extension.c: (main):
30674           Do not use GST_PTR_FORMAT on pointers to types with
30675           sizeof < sizeof(gpointer).  Fixes test on 64-bit
30676         * testsuite/elements/property.h:
30677           use correct printf format
30678
30679 2005-05-02  Wim Taymans  <wim@fluendo.com>
30680
30681         * docs/design/draft-push-pull.txt:
30682         * docs/design/draft-query.txt:
30683         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
30684         (gst_basesrc_start):
30685         Added draft for new query API.
30686         Added draft for better selecting scheduling methods.
30687         Make basesrc ignore length if the subclass does not support
30688         it.
30689
30690 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30691
30692         * gst/Makefile.am:
30693           possible fixes for automake-1.5 - _LIBADD is reserved
30694
30695 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30696
30697         * docs/faq/Makefile.am:
30698         * docs/manual/Makefile.am:
30699         * docs/manuals.mak:
30700         * docs/pwg/Makefile.am:
30701         * gst/Makefile.am:
30702           possible fixes for automake-1.5
30703
30704 2005-04-28  Wim Taymans  <wim@fluendo.com>
30705
30706         * gst/base/gstbasesink.c: (gst_basesink_base_init),
30707         (gst_basesink_pad_getcaps), (gst_basesink_init),
30708         (gst_basesink_do_sync):
30709         * gst/gstclock.c: (gst_clock_entry_new):
30710         * gst/gstevent.c: (gst_event_discont_get_value):
30711         * gst/gstpipeline.c: (pipeline_bus_handler),
30712         (gst_pipeline_change_state):
30713         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
30714         Better debugging of clocking info.
30715         Allow NULL values when getting discont values.
30716
30717 2005-04-27  Wim Taymans  <wim@fluendo.com>
30718
30719         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
30720         * check/gst/gstpad.c: (gst_pad_suite):
30721         Increase timeout for checks.
30722
30723 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
30724
30725         * check/Makefile.am:
30726           fix the broken rule for cleanup.  Apparently this rule is
30727           only needed on FC2, so maybe this warrants further autotool
30728           inspection.
30729
30730 2005-04-26  Wim Taymans  <wim@fluendo.com>
30731
30732         * gst/gsttrashstack.h:
30733         Ooohh. a nasty one! After having a failed pop() from the stack,
30734         it's possible that the stack is empty. In that case, don't
30735         follow the NULL pointer.
30736
30737 2005-04-25  Wim Taymans  <wim@fluendo.com>
30738
30739         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30740         (gst_pad_set_checkgetrange_function),
30741         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
30742         (gst_pad_check_pull_range), (gst_pad_pull_range),
30743         (gst_static_pad_template_get_caps), (gst_pad_start_task),
30744         (gst_pad_pause_task), (gst_pad_stop_task):
30745         * gst/gstplugin.c: (gst_plugin_load):
30746         * gst/gstplugin.h:
30747         Remove gst_library_load as it does more harm than good with
30748         the new g_module flags.
30749         Revert bogus caps template check in pad linking, pad caps
30750         are important when linking not the template, which is more
30751         general than the current caps.
30752
30753 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30754
30755         * gst/autoplug/.cvsignore:
30756         * gst/autoplug/Makefile.am:
30757         * gst/autoplug/gstsearchfuncs.c:
30758         * gst/autoplug/gstsearchfuncs.h:
30759         * gst/autoplug/gstspider.c:
30760         * gst/autoplug/gstspider.h:
30761         * gst/autoplug/gstspideridentity.c:
30762         * gst/autoplug/gstspideridentity.h:
30763         * gst/autoplug/spidertest.c:
30764           Die, spider, die.
30765
30766 2005-04-25  Wim Taymans  <wim@fluendo.com>
30767
30768         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30769         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
30770         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
30771         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
30772         * gst/gstpad.h:
30773         Added stubs for unimplemented functions. 
30774
30775 2005-04-24  David Schleef  <ds@schleef.org>
30776
30777         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
30778         please fix.
30779
30780 2005-04-24  David Schleef  <ds@schleef.org>
30781
30782         Convert everything from GstAtomicInt to g_atomic_int_*, and
30783         remove gstatomic.
30784         * gst/Makefile.am:
30785         * gst/gstatomic.c:
30786         * gst/gstatomic.h:
30787         * gst/gstatomic_impl.h:
30788         * gst/gstbuffer.c:
30789         * gst/gstcaps.c:
30790         * gst/gstcaps.h:
30791         * gst/gstclock.c:
30792         * gst/gstclock.h:
30793         * gst/gstdata.c:
30794         * gst/gstdata.h:
30795         * gst/gstdata_private.h:
30796         * gst/gstevent.c:
30797         * gst/gstinfo.c:
30798         * gst/gstinfo.h:
30799         * gst/gstmessage.c:
30800         * gst/gstobject.c:
30801         * gst/gstobject.h:
30802         * gst/gststructure.c:
30803         * gst/gststructure.h:
30804         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
30805         * gst/gstutils.h:
30806
30807 2005-04-24  David Schleef  <ds@schleef.org>
30808
30809         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
30810         make the regressions tests work.  Remove some code that is no
30811         longer true.
30812         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
30813         Disable warning for pads without templates.
30814
30815 2005-04-24  David Schleef  <ds@schleef.org>
30816
30817         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
30818         functions that handle filtered links.
30819         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
30820         removed functions.
30821         * gst/gstutils.c: Fix/remove utility functions that handle
30822         filtered caps.
30823         * gst/gstutils.h:
30824         * gst/gstvalue.c: Add serialization/deserialization of caps
30825         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
30826         requires fixing so that the filter caps notation creates
30827         a capsfilter element and sets the filter_caps property.  I
30828         think everyone probably wants to keep the shorthand notation.
30829         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
30830         * docs/gst/tmpl/gstpad.sgml:
30831
30832         * gst/elements/gstelements.c: Register capsfilter element.
30833         * gst/Makefile.am: fix spacing
30834         * docs/random/ds/0.9-suggested-changes: random
30835
30836 2005-04-23  David Schleef  <ds@schleef.org>
30837
30838         * gst/elements/Makefile.am:
30839         * gst/elements/gstcapsfilter.c: New element that acts like an
30840         identity, but filters caps.  Will eventually replace filtered
30841         caps in pad linking.
30842         * gst/gstutils.c: (gst_element_create_all_pads): New function
30843         to create all the ALWAYS pads that are registered with an
30844         element class.  This functionality should eventually be
30845         merged in with GstElement initialization.
30846         * gst/gstutils.h:
30847         * testsuite/trigger/README: part of trigger test code that should
30848         have been checked in a long time ago.
30849
30850 2005-04-23  David Schleef  <ds@schleef.org>
30851
30852         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
30853         needed with new versions of libtool (nobody will confirm this),
30854         and hard to carry around.
30855         * gst/autoplug/Makefile.am:
30856         * gst/base/Makefile.am:
30857         * gst/elements/Makefile.am:
30858         * gst/indexers/Makefile.am:
30859         * gst/schedulers/Makefile.am:
30860         * libs/gst/bytestream/Makefile.am:
30861         * libs/gst/control/Makefile.am:
30862         * libs/gst/dataprotocol/Makefile.am:
30863         * libs/gst/getbits/Makefile.am:
30864
30865 2005-04-21  Wim Taymans  <wim@fluendo.com>
30866
30867         * docs/design/draft-push-pull.txt:
30868         * docs/design/part-MT-refcounting.txt:
30869         * docs/design/part-TODO.txt:
30870         * docs/design/part-caps.txt:
30871         * docs/design/part-events.txt:
30872         * docs/design/part-gstbus.txt:
30873         * docs/design/part-gstpipeline.txt:
30874         * docs/design/part-messages.txt:
30875         * docs/design/part-push-pull.txt:
30876         * docs/design/part-query.txt:
30877         Some more docs.
30878
30879 2005-04-21  Wim Taymans  <wim@fluendo.com>
30880
30881         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
30882         (gst_message_new), (gst_message_new_error),
30883         (gst_message_new_warning), (gst_message_new_tag),
30884         (gst_message_new_state_changed), (gst_message_new_application),
30885         (gst_message_get_structure):
30886         * gst/gstmessage.h:
30887         * gst/gststructure.c: (gst_structure_set_parent_refcount),
30888         (gst_structure_copy_conditional):
30889         Use parent refcount in GstMessage to ensure GstStructure
30890         consistency.
30891         Cleaned up headers a bit.
30892         
30893
30894 2005-04-20  Wim Taymans  <wim@fluendo.com>
30895
30896         * gst/base/gstbasesink.c: (gst_basesink_base_init),
30897         (gst_basesink_pad_getcaps), (gst_basesink_init),
30898         (gst_basesink_chain_unlocked):
30899         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
30900         (gst_type_find_helper):
30901         * gst/elements/gsttypefindelement.c:
30902         (gst_type_find_element_have_type), (gst_type_find_element_init),
30903         (stop_typefinding), (gst_type_find_element_handle_event),
30904         (find_suggest), (gst_type_find_element_chain),
30905         (gst_type_find_element_checkgetrange),
30906         (gst_type_find_element_getrange), (do_typefind),
30907         (gst_type_find_element_activate):
30908         * gst/gstbuffer.c: (_gst_buffer_sub_free),
30909         (gst_buffer_default_free), (gst_buffer_default_copy),
30910         (gst_buffer_set_caps):
30911         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
30912         (gst_caps_replace):
30913         * gst/gstmessage.c: (gst_message_new),
30914         (gst_message_new_state_changed):
30915         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30916         (gst_pad_set_checkgetrange_function),
30917         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
30918         (gst_pad_set_caps), (gst_pad_check_pull_range),
30919         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
30920         * gst/gstpad.h:
30921         * gst/gsttypefind.c: (gst_type_find_register):
30922         Make gst_caps_replace() work like other _replace() functions.
30923         Use _caps_replace() where possible.
30924         Make sure _message_new() initialises its field.
30925         Add gst_static_pad_template_get_caps()
30926
30927
30928 2005-04-18  Andy Wingo  <wingo@pobox.com>
30929
30930         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
30931         on the peer, not the pad. I think that was a typo. Pass an extra
30932         arg to see if random access is possible. Activate the pads as
30933         PULL_RANGE if possible.
30934
30935         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
30936
30937         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
30938         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
30939         to PROP_....
30940
30941 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30942
30943         * docs/faq/using.xml:
30944           Add note on gstreamer-properties (#154996).
30945
30946 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30947
30948         * docs/random/bbb/optional-properties:
30949           Some analysis on optional properties.
30950
30951 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30952
30953         * docs/gst/tmpl/gstelementfactory.sgml:
30954         * gst/gstelement.h:
30955         * gst/gstelementfactory.c: (gst_element_factory_init),
30956         (gst_element_factory_cleanup), (gst_element_register),
30957         (__gst_element_factory_add_static_pad_template),
30958         (gst_element_factory_get_static_pad_templates),
30959         (gst_element_factory_can_src_caps),
30960         (gst_element_factory_can_sink_caps):
30961         * gst/registries/Makefile.am:
30962         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
30963         (gst_xml_registry_class_init), (gst_xml_registry_init),
30964         (gst_xml_registry_new), (gst_xml_registry_set_property),
30965         (gst_xml_registry_get_property), (get_time), (make_dir),
30966         (gst_xml_registry_get_perms_func),
30967         (plugin_times_older_than_recurse), (plugin_times_older_than),
30968         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
30969         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
30970         (add_to_char_array), (read_string), (read_uint), (read_enum),
30971         (load_pad_template), (load_feature), (load_plugin), (load_paths),
30972         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
30973         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
30974         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
30975         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
30976         (gst_xml_registry_rebuild):
30977         * gst/registries/gstlibxmlregistry.h:
30978         * tools/gst-compprep.c: (main):
30979         * tools/gst-inspect.c: (print_pad_templates_info):
30980         * tools/gst-xmlinspect.c: (print_element_info):
30981           Use libxml2 for registry parsing, use staticpadtemplates in
30982           elementfactories. Makes gst_init() +/- 10x faster.
30983
30984 2005-04-12  Wim Taymans  <wim@fluendo.com>
30985
30986         * gst/base/Makefile.am:
30987         * gst/base/gstbasesink.c: (gst_basesink_base_init),
30988         (gst_basesink_pad_getcaps), (gst_basesink_init),
30989         (gst_basesink_event), (gst_basesink_change_state):
30990         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
30991         (gst_basesrc_init), (gst_basesrc_query),
30992         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
30993         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
30994         (gst_basesrc_check_get_range), (gst_basesrc_loop),
30995         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
30996         (gst_basesrc_stop), (gst_basesrc_activate),
30997         (gst_basesrc_change_state):
30998         * gst/base/gsttypefindhelper.c: (helper_find_peek),
30999         (helper_find_suggest), (gst_type_find_helper):
31000         * gst/base/gsttypefindhelper.h:
31001         * gst/elements/Makefile.am:
31002         * gst/elements/gstelements.c:
31003         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
31004         (gst_fakesink_get_times), (gst_fakesink_event),
31005         (gst_fakesink_preroll), (gst_fakesink_render):
31006         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
31007         (gst_fakesrc_init), (gst_fakesrc_event_handler),
31008         (gst_fakesrc_get_property), (gst_fakesrc_create),
31009         (gst_fakesrc_start), (gst_fakesrc_stop):
31010         * gst/elements/gstfakesrc.h:
31011         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
31012         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
31013         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
31014         (gst_filesrc_create_read), (gst_filesrc_create),
31015         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
31016         (gst_filesrc_start):
31017         * gst/elements/gsttypefindelement.c:
31018         (gst_type_find_element_have_type), (gst_type_find_element_init),
31019         (start_typefinding), (stop_typefinding), (push_buffer_store),
31020         (gst_type_find_element_handle_event),
31021         (gst_type_find_element_chain),
31022         (gst_type_find_element_checkgetrange),
31023         (gst_type_find_element_getrange), (do_typefind),
31024         (gst_type_find_element_activate),
31025         (gst_type_find_element_change_state):
31026         * gst/elements/gsttypefindelement.h:
31027         * gst/gstpipeline.c: (pipeline_bus_handler):
31028         Added typefind helper.
31029         Small preroll fix in the base sink.
31030         Disable typefind code in basesrc.
31031         Crude port of typefindelement.
31032         Fakesrc cleanups.
31033
31034
31035 2005-04-11  Wim Taymans  <wim@fluendo.com>
31036
31037         * check/gst/gstbus.c: (gstbus_suite):
31038         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
31039         * check/gstcheck.h:
31040           Fix up the timeout so that the test does not fail.
31041
31042 2005-04-06  Wim Taymans  <wim@fluendo.com>
31043
31044         * gst/base/README:
31045         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31046         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
31047         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
31048         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
31049         (gst_basesrc_check_get_range), (gst_basesrc_loop),
31050         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
31051         (gst_basesrc_stop), (gst_basesrc_activate),
31052         (gst_basesrc_change_state), (basesrc_find_peek),
31053         (basesrc_find_suggest), (gst_basesrc_type_find):
31054         * gst/base/gstbasesrc.h:
31055         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
31056         (gst_filesrc_class_init), (gst_filesrc_init),
31057         (gst_filesrc_finalize), (gst_filesrc_set_location),
31058         (gst_filesrc_set_property), (gst_filesrc_get_property),
31059         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
31060         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
31061         (gst_filesrc_create_read), (gst_filesrc_create),
31062         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
31063         * gst/elements/gstfilesrc.h:
31064         * gst/gstelement.c: (gst_element_get_state_func),
31065         (gst_element_lost_state), (gst_element_pads_activate):
31066         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31067         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
31068         (gst_pad_pull_range):
31069         * gst/gstpad.h:
31070         More work on the generic source base class, implement seeking,
31071         query.
31072         Make filesrc extend the base source class.
31073         Added gst_pad_set_checkgetrange_function to GstPad.
31074
31075 2005-04-06  Andy Wingo  <wingo@pobox.com>
31076
31077         * pkgconfig/gstreamer-base.pc.in:
31078         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
31079
31080         * pkgconfig/Makefile.am:
31081         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
31082
31083 2005-04-04  Wim Taymans  <wim@fluendo.com>
31084
31085         * gst/base/Makefile.am:
31086         * gst/base/README:
31087         * gst/base/gstbasesink.c: (gst_basesink_base_init),
31088         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
31089         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
31090         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
31091         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31092         (gst_basesrc_base_init), (gst_basesrc_class_init),
31093         (gst_basesrc_init), (gst_basesrc_get_formats),
31094         (gst_basesrc_get_query_types), (gst_basesrc_query),
31095         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
31096         (gst_basesrc_set_property), (gst_basesrc_get_property),
31097         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
31098         (gst_basesrc_loop), (gst_basesrc_activate),
31099         (gst_basesrc_change_state):
31100         * gst/base/gstbasesrc.h:
31101         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
31102         (gst_fakesrc_class_init), (gst_fakesrc_init),
31103         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
31104         (gst_fakesrc_get_property), (gst_fakesrc_create):
31105         * gst/elements/gstfakesrc.h:
31106         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
31107         (gst_filesrc_open_file), (gst_filesrc_loop),
31108         (gst_filesrc_activate), (filesrc_find_peek),
31109         (gst_filesrc_type_find):
31110         Made base source class, make fakesrc extend it.
31111         Add comments to basesink class.
31112         Some filesrc cleanup.
31113
31114 2005-03-31  David Schleef  <ds@schleef.org>
31115
31116         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
31117         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
31118         expected to link against libgstreamer.
31119         * gst/base/Makefile.am: link against libgstreamer
31120         * gst/elements/Makefile.am: same
31121
31122 2005-03-31  Andy Wingo  <wingo@pobox.com>
31123
31124         * tests/instantiate/Makefile.am:
31125         * tests/instantiate/caps.c: Add test to test speed of caps copy
31126         and free.
31127
31128         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
31129         GMemChunk to be fair.
31130
31131         * gst/gsttrashstack.h: Remove warning about using the fallback
31132         trash stack implementation, it's still faster than malloc.
31133
31134 2005-03-30  Andy Wingo  <wingo@pobox.com>
31135
31136         * tests/complexity.c: Add a copyright.
31137
31138 2005-03-31  Wim Taymans  <wim@fluendo.com>
31139
31140         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
31141         (gst_base_transform_class_init), (gst_base_transform_init),
31142         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
31143         (gst_base_transform_get_property),
31144         (gst_base_transform_sink_activate),
31145         (gst_base_transform_src_activate),
31146         (gst_base_transform_change_state):
31147         * gst/base/gstbasetransform.h:
31148         * gst/elements/gstidentity.c: (gst_identity_class_init),
31149         (gst_identity_event), (gst_identity_check_perfect),
31150         (gst_identity_transform), (gst_identity_start),
31151         (gst_identity_stop):
31152         Added start/stop methods to transform base class so subclasses 
31153         don't need to deal with state changes even.
31154
31155 2005-03-31  Wim Taymans  <wim@fluendo.com>
31156
31157         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
31158         (gst_event_new_discontinuous), (gst_event_discont_get_value):
31159         * gst/gstevent.h:
31160         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31161         (gst_pad_pull_range):
31162         Added rate to the discont event to prepare for variable speed
31163         and reverse playback.
31164
31165 2005-03-29  David Schleef  <ds@schleef.org>
31166
31167         * configure.ac:
31168         * testsuite/trigger/Makefile.am:
31169         * testsuite/trigger/trigger.c: A little example program to show
31170         how trigger-based elements can work.
31171
31172 2005-03-29  Wim Taymans  <wim@fluendo.com>
31173
31174         * gst/base/Makefile.am:
31175         * gst/base/README:
31176         * gst/base/gstbasesink.c: (gst_basesink_get_type),
31177         (gst_basesink_base_init), (gst_basesink_class_init),
31178         (gst_basesink_pad_getcaps), (gst_basesink_init),
31179         (gst_basesink_activate), (gst_basesink_change_state):
31180         * gst/base/gstbasesink.h:
31181         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
31182         (gst_base_transform_base_init), (gst_base_transform_finalize),
31183         (gst_base_transform_class_init), (gst_base_transform_init),
31184         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
31185         (gst_base_transform_event), (gst_base_transform_getrange),
31186         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
31187         (gst_base_transform_set_property),
31188         (gst_base_transform_get_property),
31189         (gst_base_transform_sink_activate),
31190         (gst_base_transform_src_activate),
31191         (gst_base_transform_change_state):
31192         * gst/base/gstbasetransform.h:
31193         * gst/elements/gstidentity.c: (gst_identity_finalize),
31194         (gst_identity_class_init), (gst_identity_init),
31195         (gst_identity_event), (gst_identity_check_perfect),
31196         (gst_identity_transform), (gst_identity_set_property),
31197         (gst_identity_get_property), (gst_identity_change_state):
31198         * gst/elements/gstidentity.h:
31199         * gst/gstelement.c: (gst_element_get_state_func),
31200         (gst_element_lost_state), (gst_element_pads_activate):
31201         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31202         (gst_pad_check_pull_range), (gst_pad_pull_range):
31203         * gst/gstpad.h:
31204         Simplify pad activation.
31205         Added function to check if pull_range can be performed.
31206         Error out when pulling inactive or flushing pads.
31207         Removed const from refcounted types as it does not make sense.
31208         Simplify pad templates in basesink
31209         Added base class for simple 1-to-1 transforms.
31210         Make identity subclass the base transform.
31211
31212 2005-03-29  Andy Wingo  <wingo@pobox.com>
31213
31214         * docs/libs/gstreamer-libs-overrides.txt: 
31215         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
31216         really don't understand what's going on, but like whatever. I want
31217         green buildbot!
31218
31219         * docs/gst/Makefile.am:
31220         * docs/libs/Makefile.am: Dist the overrides files.
31221
31222         * check/Makefile.am (clean-local): Remove .libs directories.
31223
31224         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
31225         elements to EXTRA_DIST, so po/ files are happy.
31226
31227         * po/POTFILES.in: Er, remove it here.
31228
31229         * po/POTFILES: Remove gstspider.c.
31230
31231         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
31232
31233         * docs/libs/gstreamer-libs-docs.sgml: 
31234         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
31235         bytestream.
31236
31237         * tests/complexity.c (main): Set the length of the preroll queue
31238         on the sinks to prevent a lockup.
31239
31240         * libs/gst/dataprotocol/Makefile.am: 
31241         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
31242         the same as the one in check/gst-libs/gdp.c.
31243
31244         * po/, docs/gst/: Commit automatic changes to docs and po files.
31245
31246         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
31247         the versioned libgstbase.
31248
31249         * check/Makefile.am: Depend on an unversioned gst-register, seems
31250         to make autoconf happier.
31251
31252         * gst/base/Makefile.am: Make libgstbase a versioned lib.
31253
31254 2005-03-28  Wim Taymans  <wim@fluendo.com>
31255
31256         * configure.ac:
31257         * docs/design/part-gstelement.txt:
31258         * docs/design/part-negotiation.txt:
31259         * docs/design/part-preroll.txt:
31260         * docs/design/part-scheduling.txt:
31261         * docs/design/part-states.txt:
31262         * gst/Makefile.am:
31263         * gst/base/Makefile.am:
31264         * gst/base/README:
31265         * gst/base/gstbasesink.c: (gst_basesink_get_template),
31266         (gst_basesink_base_init), (gst_basesink_class_init),
31267         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
31268         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
31269         (gst_basesink_set_pad_functions),
31270         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
31271         (gst_basesink_set_property), (gst_basesink_get_property),
31272         (gst_base_sink_get_template), (gst_base_sink_get_caps),
31273         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
31274         (gst_basesink_preroll_queue_push),
31275         (gst_basesink_preroll_queue_empty),
31276         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
31277         (gst_basesink_event), (gst_basesink_get_times),
31278         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
31279         (gst_basesink_chain_unlocked), (gst_basesink_chain),
31280         (gst_basesink_loop), (gst_basesink_activate),
31281         (gst_basesink_change_state):
31282         * gst/base/gstbasesink.h:
31283         * gst/elements/Makefile.am:
31284         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
31285         (gst_fakesink_class_init), (gst_fakesink_init),
31286         (gst_fakesink_set_property), (gst_fakesink_get_property),
31287         (gst_fakesink_get_times), (gst_fakesink_event),
31288         (gst_fakesink_preroll), (gst_fakesink_render),
31289         (gst_fakesink_change_state):
31290         * gst/elements/gstfakesink.h:
31291         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31292         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
31293         * gst/gstelement.c: (gst_element_add_pad),
31294         (gst_element_get_state_func), (gst_element_abort_state),
31295         (gst_element_commit_state), (gst_element_lost_state),
31296         (gst_element_set_state), (gst_element_pads_activate):
31297         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
31298         * gst/gstpipeline.c: (gst_pipeline_send_event),
31299         (gst_pipeline_change_state):
31300         Added state change code.
31301         Added/updated docs.
31302         Added sink base class, make fakesink extend the base class.
31303         Small cleanups in GstPipeline.
31304
31305 2005-03-26  David Schleef  <ds@schleef.org>
31306
31307         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
31308         is broken and should be implemented in a different library.
31309         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
31310         * gst/gst.h: remove gstcpu.h
31311         * gst/gstcpu.c: remove
31312         * gst/gstcpu.h: remove
31313         * gst/Makefile.am.future: Remove this file.  It's ancient.
31314
31315 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31316
31317         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31318         (gst_bin_send_event):
31319           Add default event/set_manager handlers. The set_manager handler
31320           takes care that the manager is distributed over kids that were
31321           already in the bin before the manager was set. The event handler
31322           is a utility virtual function that sends the event over all sinks,
31323           so that gst_element_send_event (bin, event); has the expected
31324           behaviour.
31325         * gst/gstpad.c: (gst_pad_event_default):
31326           Re-install default event handling for discontinuities, so that
31327           seeking works without requiring hacks in applications or extra
31328           code in sinks.
31329         * gst/gstpipeline.c: (gst_pipeline_class_init),
31330         (gst_pipeline_send_event):
31331           Half hack, half utility: set a pipeline to PAUSED for seek events,
31332           since that is the only way we can guarantee a/v sync. Means that
31333           you can do gst_element_seek (pipeline, method, pos); on a pipeline
31334           and it "just works".
31335
31336 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31337
31338         * gst/gstpipeline.c: (gst_pipeline_use_clock):
31339           Lock/unlock mismatch.
31340
31341 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
31342
31343         * docs/faq/gst-uninstalled:
31344           add gst-plugins-base
31345         * docs/gst/Makefile.am:
31346           don't error out until docs are fixed
31347         * docs/gst/gstreamer.types:
31348           remove thread
31349
31350 2005-03-22  Wim Taymans  <wim@fluendo.com>
31351
31352         * check/Makefile.am:
31353         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
31354         * gst/gststructure.c: (gst_structure_set_valist),
31355         (gst_structure_copy_conditional):
31356         Activated more tests.
31357         Added message test.
31358         Added G_TYPE_POINTER to GstStructure.
31359         
31360
31361 2005-03-22  Wim Taymans  <wim@fluendo.com>
31362
31363         * docs/design/part-TODO.txt:
31364         * docs/design/part-events.txt:
31365         * docs/design/part-gstbin.txt:
31366         * docs/design/part-gstbus.txt:
31367         * docs/design/part-gstpipeline.txt:
31368         * docs/design/part-messages.txt:
31369         * gst/gstbus.c:
31370         * gst/gstmessage.c:
31371         Docs updates
31372
31373 2005-03-21  Wim Taymans  <wim@fluendo.com>
31374
31375         * gst/gstbus.c: (gst_bus_post):
31376         Fix copy-and-paste error.
31377
31378 2005-03-21  Wim Taymans  <wim@fluendo.com>
31379
31380         * check/Makefile.am:
31381         * gst/Makefile.am:
31382         * gst/elements/Makefile.am:
31383         * gst/elements/gstelements.c:
31384         * gst/elements/gstfakesink.c: (gst_fakesink_init),
31385         (gst_fakesink_event), (gst_fakesink_chain):
31386         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
31387         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
31388         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
31389         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
31390         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
31391         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
31392         (gst_fakesrc_loop), (gst_fakesrc_activate),
31393         (gst_fakesrc_change_state):
31394         * gst/elements/gstfakesrc.h:
31395         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
31396         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
31397         (gst_filesrc_open_file), (gst_filesrc_loop),
31398         (gst_filesrc_activate), (gst_filesrc_change_state),
31399         (filesrc_find_peek), (filesrc_find_suggest),
31400         (gst_filesrc_type_find):
31401         * gst/elements/gstidentity.c: (gst_identity_finalize),
31402         (gst_identity_class_init), (gst_identity_init),
31403         (gst_identity_proxy_getcaps), (identity_queue_push),
31404         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
31405         (gst_identity_getrange), (gst_identity_chain),
31406         (gst_identity_sink_loop), (gst_identity_src_loop),
31407         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
31408         (gst_identity_set_property), (gst_identity_get_property),
31409         (gst_identity_change_state):
31410         * gst/elements/gstidentity.h:
31411         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
31412         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
31413         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
31414         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
31415         (gst_tee_sink_activate):
31416         * gst/elements/gsttee.h:
31417         * gst/gst.c: (gst_register_core_elements), (init_post):
31418         * gst/gst.h:
31419         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
31420         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
31421         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
31422         (gst_bin_change_state):
31423         * gst/gstbin.h:
31424         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
31425         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
31426         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
31427         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
31428         (gst_bus_set_sync_handler), (gst_bus_create_watch),
31429         (bus_watch_callback), (bus_watch_destroy),
31430         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
31431         (poll_timeout), (gst_bus_poll):
31432         * gst/gstbus.h:
31433         * gst/gstcaps.h:
31434         * gst/gstdata.h:
31435         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
31436         (gst_element_post_message), (gst_element_message_full),
31437         (gst_element_get_state_func), (gst_element_get_state),
31438         (gst_element_abort_state), (gst_element_commit_state),
31439         (gst_element_lost_state), (gst_element_set_state),
31440         (gst_element_pads_activate), (gst_element_change_state),
31441         (gst_element_dispose), (gst_element_set_manager_func),
31442         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
31443         (gst_element_set_manager), (gst_element_get_manager),
31444         (gst_element_set_bus), (gst_element_get_bus),
31445         (gst_element_set_scheduler), (gst_element_get_scheduler):
31446         * gst/gstelement.h:
31447         * gst/gstevent.c: (gst_event_new_segment_seek),
31448         (gst_event_new_flush):
31449         * gst/gstevent.h:
31450         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
31451         (_gst_message_free), (gst_message_get_type), (gst_message_new),
31452         (gst_message_new_eos), (gst_message_new_error),
31453         (gst_message_new_warning), (gst_message_new_tag),
31454         (gst_message_new_state_changed), (gst_message_new_application),
31455         (gst_message_get_structure), (gst_message_parse_tag),
31456         (gst_message_parse_state_changed), (gst_message_parse_error),
31457         (gst_message_parse_warning):
31458         * gst/gstmessage.h:
31459         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
31460         (gst_real_pad_set_property), (gst_pad_set_active),
31461         (gst_pad_is_active), (gst_pad_set_blocked_async),
31462         (gst_pad_set_blocked), (gst_pad_is_blocked),
31463         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
31464         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
31465         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
31466         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
31467         (gst_pad_link_filtered), (gst_pad_relink_filtered),
31468         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
31469         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
31470         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
31471         (gst_pad_set_caps), (gst_pad_configure_sink),
31472         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
31473         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
31474         (gst_real_pad_dispose), (gst_real_pad_finalize),
31475         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
31476         (gst_pad_event_default_dispatch), (gst_pad_event_default),
31477         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
31478         * gst/gstpad.h:
31479         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
31480         (pipeline_bus_handler), (gst_pipeline_change_state),
31481         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
31482         * gst/gstpipeline.h:
31483         * gst/gstprobe.h:
31484         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
31485         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
31486         (gst_queue_link_src), (gst_queue_bufferalloc),
31487         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
31488         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
31489         (gst_queue_loop), (gst_queue_handle_src_event),
31490         (gst_queue_handle_src_query), (gst_queue_src_activate),
31491         (gst_queue_change_state):
31492         * gst/gstqueue.h:
31493         * gst/gstscheduler.c: (gst_scheduler_init),
31494         (gst_scheduler_dispose), (gst_scheduler_create_task),
31495         (gst_scheduler_factory_create):
31496         * gst/gstscheduler.h:
31497         * gst/gststructure.c: (gst_structure_get_type),
31498         (gst_structure_copy_conditional):
31499         * gst/gststructure.h:
31500         * gst/gsttaginterface.h:
31501         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
31502         (gst_task_init), (gst_task_dispose), (gst_task_create),
31503         (gst_task_get_state), (gst_task_start), (gst_task_stop),
31504         (gst_task_pause):
31505         * gst/gsttask.h:
31506         * gst/gstthread.c:
31507         * gst/gstthread.h:
31508         * gst/gsttypes.h:
31509         * gst/schedulers/Makefile.am:
31510         * gst/schedulers/cothreads_compat.h:
31511         * gst/schedulers/entryscheduler.c:
31512         * gst/schedulers/faircothreads.c:
31513         * gst/schedulers/faircothreads.h:
31514         * gst/schedulers/fairscheduler.c:
31515         * gst/schedulers/gstbasicscheduler.c:
31516         * gst/schedulers/gstoptimalscheduler.c:
31517         * gst/schedulers/gthread-cothreads.h:
31518         * gst/schedulers/threadscheduler.c:
31519         (gst_thread_scheduler_task_get_type),
31520         (gst_thread_scheduler_task_class_init),
31521         (gst_thread_scheduler_task_init),
31522         (gst_thread_scheduler_task_start),
31523         (gst_thread_scheduler_task_stop),
31524         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
31525         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
31526         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
31527         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
31528         (plugin_init):
31529         * libs/gst/Makefile.am:
31530         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
31531         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
31532         (gst_file_pad_parent_set):
31533         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
31534         (gst_dp_event_from_packet):
31535         * tests/complexity.c: (main):
31536         * tests/mass_elements.c: (main):
31537         * testsuite/states/locked.c: (message_received), (main):
31538         * testsuite/states/parent.c: (main):
31539         * tools/gst-inspect.c: (print_element_flag_info),
31540         (print_implementation_info), (print_pad_info):
31541         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
31542         (main):
31543         * tools/gst-md5sum.c: (event_loop), (main):
31544         * tools/gst-typefind.c: (main):
31545         * tools/gst-xmlinspect.c: (print_element_info):
31546         Next big merge.
31547         Added GstBus for mainloop integration.
31548         Added GstMessage for sending notifications on the bus.
31549         Added GstTask as an abstraction for pipeline entry points.
31550         Removed GstThread.
31551         Removed Schedulers.
31552         Simplified GstQueue for multithreaded core.
31553         Made _link threadsafe, removed old capsnego.
31554         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
31555         Added pad blocking functions.
31556         Reworked scheduling functions in GstPad to prepare for
31557         scheduling updates soon.
31558         Moved events out of data stream.
31559         Simplified GstEvent types.
31560         Added return values to push/pull.
31561         Removed clocking from GstElement.
31562         Added prototypes for state change function for next merge.
31563         Removed iterate from bins and state change management.
31564         Fixed some elements, disabled others for now.
31565         Fixed -inspect and -launch.
31566         Added check for GstBus.
31567
31568 2005-03-10  Wim Taymans  <wim@fluendo.com>
31569
31570         * docs/design/part-MT-refcounting.txt:
31571         * docs/design/part-clocks.txt:
31572         * docs/design/part-gstelement.txt:
31573         * docs/design/part-gstobject.txt:
31574         * docs/design/part-standards.txt:
31575         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31576         (gst_bin_remove_func), (gst_bin_remove):
31577         * gst/gstbin.h:
31578         * gst/gstbuffer.c:
31579         * gst/gstcaps.h:
31580         * testsuite/clock/clock1.c: (main):
31581         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
31582         (main):
31583         * testsuite/dlopen/loadgst.c: (do_test):
31584         * testsuite/refcounting/bin.c: (add_remove_test1),
31585         (add_remove_test2), (main):
31586         * testsuite/refcounting/element.c: (main):
31587         * testsuite/refcounting/element_pad.c: (main):
31588         * testsuite/refcounting/pad.c: (main):
31589         * tools/gst-launch.c: (sigint_handler_sighandler):
31590         * tools/gst-typefind.c: (main):
31591         Doc updates.
31592         Added doc about clock.
31593         removed gst_bin_iterate_recurse_up(), marked methods
31594         for removal.
31595         Fix more testsuites.
31596
31597 2005-03-09  Wim Taymans  <wim@fluendo.com>
31598
31599         * gst/gstpad.c: (gst_pad_get_direction),
31600         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
31601         (gst_pad_collect_valist):
31602         * testsuite/bins/interface.c: (main):
31603         * testsuite/caps/audioscale.c: (test_caps):
31604         * testsuite/caps/caps.c: (test1), (test2), (test3):
31605         * testsuite/caps/deserialize.c: (main):
31606         * testsuite/caps/enumcaps.c: (main):
31607         * testsuite/caps/filtercaps.c: (main):
31608         * testsuite/caps/intersect2.c: (main):
31609         * testsuite/caps/random.c: (main):
31610         * testsuite/caps/renegotiate.c: (my_fixate), (main):
31611         * testsuite/caps/sets.c: (check_caps):
31612         * testsuite/caps/simplify.c: (check_caps), (main):
31613         * testsuite/caps/subtract.c: (check_caps):
31614         Fix _pad_get_direction wrt ghostpads.
31615         Fix caps testsuite.
31616
31617 2005-03-09  Wim Taymans  <wim@fluendo.com>
31618
31619         * check/Makefile.am:
31620         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
31621         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
31622         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
31623         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
31624         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
31625         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
31626         (gst_bin_remove), (gst_bin_iterate_recurse_up),
31627         (bin_element_is_sink), (gst_bin_iterate_sinks),
31628         (gst_bin_iterate_all_by_interface):
31629         * gst/gstbin.h:
31630         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
31631         (gst_element_change_state), (gst_element_dispose),
31632         (gst_element_finalize), (gst_element_set_loop_function):
31633         * gst/gstelement.h:
31634         * gst/gstiterator.c: (find_custom_fold_func):
31635         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31636         (gst_pad_collectv), (gst_pad_collect_valist),
31637         (gst_pad_template_new):
31638         * gst/gstpipeline.c: (gst_pipeline_class_init),
31639         (gst_pipeline_dispose), (gst_pipeline_set_property),
31640         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
31641         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
31642         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
31643         * gst/gstutils.h:
31644         * gst/schedulers/entryscheduler.c:
31645         * gst/schedulers/gstbasicscheduler.c:
31646         (gst_basic_scheduler_cothreaded_chain),
31647         (gst_basic_scheduler_chain_add_element):
31648         * testsuite/bins/interface.c: (main):
31649         Added GstBin test.
31650         Added GstSystemClock test.
31651         Implemented clock distribution code in GstBin.
31652         Implemented iterate sinks method for future use.
31653         Rearranged gstelement.h
31654         Fix GstIterator comparison bug.
31655         Moved some code to GstPipeline, mostly clocking related.
31656
31657 2005-03-09  Wim Taymans  <wim@fluendo.com>
31658
31659         * configure.ac:
31660         * gst/gst_private.h:
31661         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31662         (gst_bin_remove_func), (gst_bin_remove),
31663         (gst_bin_get_by_name_recurse_up):
31664         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
31665         (gst_clock_id_compare_func), (gst_clock_id_wait),
31666         (gst_clock_id_wait_async), (gst_clock_init),
31667         (gst_clock_adjust_unlocked), (gst_clock_get_time):
31668         * gst/gstelement.h:
31669         * gst/gstinfo.c: (_gst_debug_init):
31670         * gst/gstobject.h:
31671         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31672         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
31673         * gst/gstpad.h:
31674         Bump version number, we're now 0.9.0
31675         Add future debugging category.
31676         Fix NULL _unref() in _get_by_name_recurse_up
31677         Rearrange gstpad.h.
31678         Update some docs.
31679
31680 2005-03-08  Wim Taymans  <wim@fluendo.com>
31681
31682         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
31683         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
31684         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
31685         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
31686         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
31687         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
31688         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
31689         * gst/elements/gstidentity.c: (gst_identity_class_init):
31690         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
31691         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
31692         * gst/elements/gstshaper.c: (gst_shaper_class_init):
31693         * gst/elements/gststatistics.c: (gst_statistics_class_init):
31694         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
31695         (gst_tee_link):
31696         * gst/gstelement.c: (gst_element_class_init),
31697         (gst_element_base_class_init), (gst_element_init),
31698         (gst_element_get_random_pad), (gst_element_wait_state_change),
31699         (gst_element_change_state), (gst_element_dispose),
31700         (gst_element_finalize), (gst_element_set_loop_function):
31701         * gst/gstelement.h:
31702         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
31703         * gst/gstthread.c: (gst_thread_class_init),
31704         (gst_thread_release_children_locks), (gst_thread_change_state):
31705         * gst/schedulers/gstbasicscheduler.c:
31706         (gst_basic_scheduler_loopfunc_wrapper),
31707         (gst_basic_scheduler_chain_wrapper),
31708         (gst_basic_scheduler_src_wrapper),
31709         (gst_basic_scheduler_remove_element):
31710         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
31711         Remove threadsafe properties. Fix elements because GObject
31712         complains when installing a property before declaring a
31713         set/get_property handler.
31714         Rearrange gstelement.h file, use STATE macros for state locks.
31715         Free mutexes in the finalize method instead of dispose.
31716
31717 2005-03-08  Wim Taymans  <wim@fluendo.com>
31718
31719         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
31720         * gst/gstthread.c: (gst_thread_release_children_locks):
31721         Added parentage check.
31722         Fix build og GstThread again.
31723
31724 2005-03-08  Wim Taymans  <wim@fluendo.com>
31725
31726         * docs/design/part-MT-refcounting.txt:
31727         * docs/design/part-conventions.txt:
31728         * docs/design/part-gstobject.txt:
31729         * docs/design/part-relations.txt:
31730         * docs/design/part-standards.txt:
31731         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31732         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
31733         (gst_bin_get_by_name), (gst_bin_get_by_interface),
31734         (gst_bin_iterate_all_by_interface):
31735         * gst/gstbuffer.h:
31736         * gst/gstclock.h:
31737         * gst/gstelement.c: (gst_element_class_init),
31738         (gst_element_change_state), (gst_element_set_loop_function):
31739         * gst/gstelement.h:
31740         * gst/gstiterator.c:
31741         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
31742         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
31743         (gst_object_dispatch_properties_changed), (gst_object_set_name),
31744         (gst_object_set_parent), (gst_object_unparent),
31745         (gst_object_check_uniqueness):
31746         * gst/gstobject.h:
31747         Docs updates, clean up some headers.
31748
31749 2005-03-07  Wim Taymans  <wim@fluendo.com>
31750
31751         * check/.cvsignore:
31752         * check/Makefile.am:
31753         * check/gst-libs/.cvsignore:
31754         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
31755         * check/gst/.cvsignore:
31756         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
31757         (START_TEST), (gstbus_suite), (main):
31758         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
31759         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
31760         (gst_data_suite), (main):
31761         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
31762         (add_fold_func), (gstiterator_suite), (main):
31763         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
31764         (thread_name_object), (thread_name_object_default),
31765         (gst_object_name_compare), (gst_object_suite), (main):
31766         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
31767         (gst_pad_suite), (main):
31768         * check/gstcheck.c: (gst_check_log_message_func),
31769         (gst_check_log_critical_func), (gst_check_init):
31770         * check/gstcheck.h:
31771         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
31772         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
31773         Added checks.
31774
31775 2005-03-07  Wim Taymans  <wim@fluendo.com>
31776
31777         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
31778         (gst_list_iterator_next), (gst_list_iterator_resync),
31779         (gst_list_iterator_free), (gst_iterator_new_list),
31780         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
31781         (gst_iterator_free), (gst_iterator_push), (filter_next),
31782         (filter_resync), (filter_uninit), (filter_free),
31783         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
31784         (gst_iterator_foreach), (find_custom_fold_func),
31785         (gst_iterator_find_custom):
31786         * gst/gstiterator.h:
31787         Added missing files.
31788
31789 2005-03-07  Wim Taymans  <wim@fluendo.com>
31790
31791         * Makefile.am:
31792         * configure.ac:
31793         * docs/design/part-MT-refcounting.txt:
31794         * docs/design/part-conventions.txt:
31795         * docs/design/part-gstobject.txt:
31796         * docs/design/part-relations.txt:
31797         * examples/mixer/mixer.c: (main):
31798         * examples/thread/thread.c: (eos), (main):
31799         * gst/Makefile.am:
31800         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
31801         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
31802         (gst_spider_plug_from_srcpad):
31803         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
31804         (gst_spider_identity_change_state),
31805         (gst_spider_identity_sink_loop_type_finding):
31806         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
31807         * gst/elements/gstidentity.c: (gst_identity_init):
31808         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
31809         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
31810         * gst/elements/gsttypefindelement.c: (free_entry):
31811         * gst/gst.c:
31812         * gst/gst.h:
31813         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
31814         (gst_bin_set_clock_func), (gst_bin_auto_clock),
31815         (gst_bin_set_index), (gst_bin_set_element_sched),
31816         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
31817         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
31818         (gst_bin_iterate_elements), (iterate_child_recurse),
31819         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
31820         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
31821         (compare_interface), (gst_bin_get_by_interface),
31822         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
31823         * gst/gstbin.h:
31824         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
31825         (gst_buffer_default_free), (gst_buffer_default_copy),
31826         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
31827         (gst_buffer_create_sub):
31828         * gst/gstbuffer.h:
31829         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
31830         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
31831         (gst_caps_unref), (gst_static_caps_get),
31832         (gst_caps_remove_and_get_structure), (gst_caps_append),
31833         (gst_caps_append_structure), (gst_caps_remove_structure),
31834         (gst_caps_copy_nth), (gst_caps_set_simple),
31835         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
31836         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
31837         (gst_caps_structure_intersect_field), (gst_caps_intersect),
31838         (gst_caps_structure_subtract_field), (gst_caps_subtract),
31839         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
31840         (gst_caps_structure_figure_out_union),
31841         (gst_caps_switch_structures), (gst_caps_do_simplify),
31842         (gst_caps_replace), (gst_caps_from_string),
31843         (gst_caps_copy_conditional):
31844         * gst/gstcaps.h:
31845         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
31846         (_gst_clock_id_free), (gst_clock_id_unref),
31847         (gst_clock_id_compare_func), (gst_clock_id_wait),
31848         (gst_clock_id_wait_async), (gst_clock_class_init),
31849         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
31850         (gst_clock_get_time), (gst_clock_set_time_adjust),
31851         (gst_clock_set_property), (gst_clock_get_property):
31852         * gst/gstclock.h:
31853         * gst/gstcompat.h:
31854         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
31855         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
31856         * gst/gstdata.h:
31857         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
31858         (gst_element_requires_clock), (gst_element_provides_clock),
31859         (gst_element_set_clock), (gst_element_clock_wait),
31860         (gst_element_wait), (gst_element_set_time_delay),
31861         (gst_element_is_indexable), (gst_element_add_pad),
31862         (gst_element_add_ghost_pad), (gst_element_remove_pad),
31863         (pad_compare_name), (gst_element_get_static_pad),
31864         (gst_element_request_pad), (gst_element_get_request_pad),
31865         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
31866         (gst_element_class_get_pad_template_list),
31867         (gst_element_class_get_pad_template), (gst_element_error_func),
31868         (gst_element_get_random_pad), (gst_element_get_event_masks),
31869         (gst_element_send_event), (gst_element_seek),
31870         (gst_element_get_query_types), (gst_element_query),
31871         (gst_element_get_formats), (gst_element_convert),
31872         (gst_element_is_locked_state), (gst_element_set_locked_state),
31873         (gst_element_sync_state_with_parent), (gst_element_change_state),
31874         (gst_element_finalize), (gst_element_yield),
31875         (gst_element_interrupt), (gst_element_set_scheduler),
31876         (gst_element_get_scheduler), (gst_element_set_loop_function):
31877         * gst/gstelement.h:
31878         * gst/gstevent.h:
31879         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
31880         (gst_format_get_by_nick), (gst_format_get_details),
31881         (gst_format_iterate_definitions):
31882         * gst/gstformat.h:
31883         * gst/gstindex.c: (gst_index_gtype_resolver):
31884         * gst/gstinfo.c:
31885         * gst/gstinfo.h:
31886         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
31887         (gst_mem_chunk_free):
31888         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
31889         (gst_object_ref), (gst_object_unref), (gst_object_sink),
31890         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
31891         (gst_object_dispatch_properties_changed),
31892         (gst_object_set_name_default), (gst_object_set_name),
31893         (gst_object_get_name), (gst_object_set_name_prefix),
31894         (gst_object_get_name_prefix), (gst_object_set_parent),
31895         (gst_object_get_parent), (gst_object_unparent),
31896         (gst_object_check_uniqueness), (gst_object_save_thyself),
31897         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
31898         (gst_object_set_property), (gst_object_get_property),
31899         (gst_object_get_path_string):
31900         * gst/gstobject.h:
31901         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
31902         (gst_real_pad_init), (gst_real_pad_get_property),
31903         (gst_pad_custom_new), (gst_pad_get_direction),
31904         (gst_pad_set_active), (gst_pad_is_active),
31905         (gst_pad_set_event_function), (gst_pad_is_linked),
31906         (gst_pad_link_free), (gst_pad_link_intersect),
31907         (gst_pad_link_fixate), (gst_pad_set_caps),
31908         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
31909         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
31910         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
31911         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
31912         (gst_pad_get_caps), (gst_pad_peer_get_caps),
31913         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
31914         (gst_pad_realize), (gst_pad_get_allowed_caps),
31915         (gst_real_pad_dispose), (gst_real_pad_finalize),
31916         (gst_pad_collectv), (gst_pad_collect_valist),
31917         (gst_pad_template_dispose), (gst_pad_template_new),
31918         (gst_pad_get_internal_links):
31919         * gst/gstpad.h:
31920         * gst/gstpipeline.c: (gst_pipeline_dispose),
31921         (gst_pipeline_change_state):
31922         * gst/gstpipeline.h:
31923         * gst/gstplugin.c:
31924         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
31925         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
31926         * gst/gstpluginfeature.h:
31927         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
31928         * gst/gstquery.c: (_gst_query_type_initialize),
31929         (gst_query_type_register), (gst_query_type_get_by_nick),
31930         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
31931         * gst/gstquery.h:
31932         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
31933         * gst/gstscheduler.c: (gst_scheduler_add_element),
31934         (gst_scheduler_factory_create):
31935         * gst/gststructure.c: (gst_structure_set_parent_refcount),
31936         (gst_structure_free), (gst_structure_set_name),
31937         (gst_structure_id_set_value), (gst_structure_set_value),
31938         (gst_structure_set_valist), (gst_structure_remove_field),
31939         (gst_structure_remove_fields),
31940         (gst_structure_remove_fields_valist),
31941         (gst_structure_remove_all_fields), (gst_structure_foreach),
31942         (gst_structure_map_in_place),
31943         (gst_caps_structure_fixate_field_nearest_int),
31944         (gst_caps_structure_fixate_field_nearest_double):
31945         * gst/gststructure.h:
31946         * gst/gstsystemclock.c: (gst_system_clock_class_init),
31947         (gst_system_clock_init), (gst_system_clock_dispose),
31948         (gst_system_clock_async_thread),
31949         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
31950         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
31951         * gst/gstsystemclock.h:
31952         * gst/gsttag.c: (gst_tag_list_add_value_internal),
31953         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
31954         * gst/gsttaginterface.c:
31955         * gst/gstthread.c: (gst_thread_dispose),
31956         (gst_thread_release_children_locks), (gst_thread_change_state),
31957         (gst_thread_main_loop):
31958         * gst/gsttrashstack.h:
31959         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
31960         * gst/gsttypes.h:
31961         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
31962         (gst_element_request_pad), (gst_element_get_pad_from_template),
31963         (gst_element_request_compatible_pad),
31964         (gst_element_get_compatible_pad_filtered),
31965         (gst_element_get_compatible_pad), (gst_element_state_get_name),
31966         (gst_element_link_pads_filtered), (gst_element_link_filtered),
31967         (gst_element_link_many), (gst_element_link),
31968         (gst_element_link_pads), (gst_element_unlink_pads),
31969         (gst_element_unlink_many), (gst_element_unlink),
31970         (gst_pad_can_link_filtered), (gst_pad_can_link),
31971         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
31972         (gst_object_default_error), (gst_bin_add_many),
31973         (gst_bin_remove_many), (gst_element_populate_std_props),
31974         (gst_element_class_install_std_props), (gst_buffer_merge),
31975         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
31976         (link_fold_func), (gst_pad_proxy_setcaps):
31977         * gst/gstutils.h:
31978         * gst/gstvalue.c: (gst_value_deserialize_string):
31979         * gst/parse/grammar.y:
31980         * gst/schedulers/gstbasicscheduler.c:
31981         (gst_basic_scheduler_cothreaded_chain),
31982         (gst_basic_scheduler_chain_recursive_add),
31983         (gst_basic_scheduler_pad_link):
31984         * gst/schedulers/gstoptimalscheduler.c:
31985         (get_group_schedule_function),
31986         (gst_opt_scheduler_state_transition),
31987         (gst_opt_scheduler_add_element), (element_get_reachables_func):
31988         * libs/gst/bytestream/bytestream.c:
31989         * libs/gst/dataprotocol/dataprotocol.c:
31990         (gst_dp_header_from_buffer):
31991         * po/nb.po:
31992         * po/ru.po:
31993         * tests/threadstate/threadstate2.c: (eos):
31994         * tools/gst-compprep.c: (main):
31995         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
31996         (print_pad_info), (print_children_info):
31997         * tools/gst-launch.c: (idle_func), (main):
31998         * tools/gst-md5sum.c: (idle_func), (main):
31999         * tools/gst-xmlinspect.c: (print_element_info):
32000         First THREADED backport attempt, focusing on adding locks and
32001         making sure the API is threadsafe. Needs more work. More docs
32002         follow this week.
32003
32004 2005-02-24  Andy Wingo  <wingo@pobox.com>
32005
32006         * tests/bench-complexity.scm:
32007         * tests/complexity.gnuplot: New files, good for running complexity
32008         benchmarks.
32009
32010         * tests/Makefile.am:
32011         * tests/complexity.c: New test, sets up N elements, at each level
32012         teeing into M streams per element. Eeeenteresting.
32013
32014         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
32015         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
32016         running bench-mass_elements.scm.
32017
32018         * tests/bench-mass_elements.scm: New script, runs mass_elements
32019         for various numbers of identities, outputting the results to a
32020         file. Requires guile 1.6. Just for testing.
32021
32022 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
32023
32024         * gst/schedulers/fairscheduler.c:
32025           compile with debug disabled
32026
32027 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
32028
32029         * configure.ac:
32030           hunting season on 0.9 is now OPEN