gst/gstpad.c: Avoid getting the acceptcaps function too early.
[platform/upstream/gstreamer.git] / ChangeLog
1 2008-11-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2
3         * gst/gstpad.c: (gst_pad_accept_caps):
4         Avoid getting the acceptcaps function too early.
5
6 2008-11-21  Wim Taymans  <wim.taymans@collabora.co.uk>
7
8         * tools/gst-launch.c: (event_loop):
9         Make gst-launch handle LATENCY messages and make it recalculate the
10         latency.
11
12 2008-11-20  Michael Smith <msmith@songbirdnest.com>
13
14         * plugins/elements/gstfilesrc.c:
15           Use g_filename_from_uri() for URI parsing in filesrc rather than rolling
16           out own slightly incorrect version. Fixes use of some paths on
17           win32.
18
19 2008-11-20  Michael Smith <msmith@songbirdnest.com>
20
21         * gst/gstregistrybinary.c:
22           In win32 codepath, if we fail to write the registry, create the
23           directory for it and try again, matching the behaviour in non-win32
24           codepaths.
25
26 2008-11-20  Wim Taymans  <wim.taymans@collabora.co.uk>
27
28         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_render_delay):
29         Changing the render delay changes the latency and so we must post a
30         latency message.
31
32 2008-11-20  Wim Taymans  <wim.taymans@collabora.co.uk>
33
34         * gst/gstquery.c:
35         * gst/gstquery.h:
36         Add GstQueryType for custom queries instead of having to use the
37         not-so-very-convenient registration infrastructure to register new
38         types.
39
40 2008-11-19  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
41
42         Patch by: Andrew Feren <acferen at yahoo dot com>
43
44         * gst/gstobject.c: (gst_object_default_deep_notify):
45         Unref the GEnumClass after usage again. Fixes bug #561501.
46
47 2008-11-19  Wim Taymans  <wim.taymans@collabora.co.uk>
48
49         * gst/gstbin.c: (_gst_boolean_accumulator), (gst_bin_class_init),
50         (gst_bin_recalculate_latency), (gst_bin_do_latency_func),
51         (gst_bin_change_state_func):
52         * gst/gstbin.h:
53         Add do-latency signal with the old default fallback implementation. This
54         allows for custom latency calculations for when the default is not
55         sufficient.
56         API: GstBin::do-latency signal.
57
58 2008-11-18  Wim Taymans  <wim.taymans@collabora.co.uk>
59
60         * win32/common/libgstreamer.def:
61         Add new symbols to .def file.
62
63 2008-11-18  Wim Taymans  <wim.taymans@collabora.co.uk>
64
65         * docs/gst/gstreamer-sections.txt:
66         * gst/gstbin.c: (gst_bin_recalculate_latency),
67         (gst_bin_change_state_func):
68         * gst/gstbin.h:
69         Add method to recalculate and redistribute the latency on a bin.
70         API: gst_bin_recalculate_latency().
71
72 2008-11-18  Wim Taymans  <wim.taymans@collabora.co.uk>
73
74         * gst/gstbuffer.h:
75         Document the free_func.
76
77 2008-11-17  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
78
79         * libs/gst/controller/gstinterpolation.c:
80         * libs/gst/controller/gstlfocontrolsource.c:
81         Use gst_guint64_to_gdouble instead of gst_util_guint64_to_gdouble
82         as it is mapped to a cast on non-win32 platforms.
83
84 2008-11-17  Stefan Kost  <ensonic@users.sf.net>
85
86         * libs/gst/controller/gstcontroller.c:
87         * libs/gst/controller/gstcontrollerprivate.h:
88           Keep last-value and only call set_property if value has changed. This
89           supresses all the g_object_notifies we would trigger otherwise. It
90           also allows the user to chage the value while there is no controller
91           change.
92
93 2008-11-17  Stefan Kost  <ensonic@users.sf.net>
94
95         * gst/gstvalue.c:
96           Don't crash if either of the string GValues is empty.
97
98 2008-11-17  Andy Wingo  <wingo@pobox.com>
99
100         * tools/gst-inspect.c (print_all_uri_handlers): New function,
101         prints a summary of what URI schemes are supported by what
102         elements.
103         (main): Plumb in support for --uri-handlers or -u, and fix the
104         argc check for -a and -u.
105
106 2008-11-17  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
107
108         * gst/gstutils.h:
109         Add G_GNUC_PURE to gst_util_uint64_scale* and the double<->uint64
110         conversion functions.
111
112 2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>
113
114         * gst/gstbuffer.c: (gst_buffer_finalize):
115         Avoid costly typechecking for trivially correct pointers.
116
117         * gst/gstpoll.c: (gst_poll_wait):
118         Add some G_LIKELY here and there.
119
120         * libs/gst/base/gstadapter.c: (gst_adapter_push):
121         Add some debug info.
122
123 2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>
124
125         * docs/random/wtay/poll-timeout:
126         Small tweaks.
127
128 2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>
129
130         * tests/old/testsuite/caps/intersection.c: (main):
131         * tests/old/testsuite/plugin/loading.c: (main):
132         Remove references to deprecated API g_mem_chunk*.
133         Fixes #560442.
134
135 2008-11-12  Wim Taymans  <wim.taymans@collabora.co.uk>
136
137         * tools/gst-inspect.c: (main):
138         Add --plugin option. Fixes #560301.
139
140 2008-11-12  Wim Taymans  <wim.taymans@collabora.co.uk>
141
142         * docs/random/wtay/poll-timeout:
143         Quick braindump for a possible (not totally verified) atomic case.
144
145 2008-11-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
146
147         * gst/gstregistrybinary.c: (gst_registry_binary_write_chunk),
148         (gst_registry_binary_initialize_magic),
149         (gst_registry_binary_write_cache),
150         (gst_registry_binary_check_magic):
151         * gst/gstregistrybinary.h:
152         Don't write and check a CRC for the binary registry file. It's
153         guaranteed that the registry is completely written (it's first written
154         to a temporary file and then moved) and if the registry was corrupted
155         by some hardware failure we would have bigger problems.
156
157         Bump binary registry version to 0.10.21.1 for this as it's an
158         incompatible change and to ensure that the registry gets rebuild
159         after the update.
160
161         This saves some milliseconds for reading/writing the registry.
162         Fixes bug #560399.
163
164 2008-11-11  Wim Taymans  <wim.taymans@collabora.co.uk>
165
166         * docs/random/wtay/poll-timeout:
167         Some pseudo code for how we could implement clock timeouts with GstPoll.
168
169 2008-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
170
171         * plugins/elements/gstfilesink.c:
172           Update Author string to match others.
173
174 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
175
176         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
177         Reorganize some more, be more conservative with the GST_TYPE_ARRAY not
178         being fixed and inline the trivial check.
179
180 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
181
182         * gst/gstcaps.c: (gst_caps_copy), (_gst_caps_free),
183         (gst_caps_merge_structure), (gst_caps_get_structure),
184         (gst_caps_copy_nth), (gst_caps_set_simple),
185         (gst_caps_set_simple_valist), (gst_caps_is_fixed),
186         (gst_caps_is_equal_fixed), (gst_caps_intersect),
187         (gst_caps_subtract), (gst_caps_normalize), (gst_caps_do_simplify),
188         (gst_caps_to_string):
189         Callgrind micro optimisations.
190         Avoid array bounds checks and force inline of trivial function.
191
192         * gst/gstobject.c: (gst_object_set_name_default):
193         -1 is equivalent to letting glib to the strlen but then there is more
194         room for optimisations and it's not our fault.
195
196         * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
197         no need to clear the array, we're cool.
198
199         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
200         The most common _is_fixed() check is done on fundamental glib base
201         types so we check this first instead of doing a huge amount of
202         useless GST_TYPE_ARRAY calls.
203
204 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
205
206         * gst/gstevent.h:
207         Add a SKIP seek flag for use with advanced trickmodes.
208         API: GstSeekFlags::GST_SEEK_FLAG_SKIP
209
210 2008-11-05  Wim Taymans  <wim.taymans@collabora.co.uk>
211
212         * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
213         No need to memset, we can clear the value ourselves.
214
215         * gst/gstvalue.c: (gst_type_is_fixed),
216         (gst_value_get_compare_func):
217         Some optimisations from a few callgrind sessions:
218         When checking if a type is fixed, check for trivial fundamental types
219         first before checking types for which we need to get the type followed
220         by the heavy duty type checks, this reduces the amount of
221         g_type_fundamental() calls a lot.
222         When getting the compare function, first check for our registered types.
223         If that fails, do the heavy duty g_type_is_a() checks, reduces the
224         amount of g_type_is_a() considerably.
225
226 2008-11-05  Wim Taymans  <wim.taymans@collabora.co.uk>
227
228         * docs/design/part-TODO.txt:
229         Mumble something about removing GstXML.
230
231 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
232
233         * gst/gstbin.c: (gst_bin_handle_message_func):
234         Get the seqnum before we dispose the message.
235
236 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
237
238         * docs/design/part-TODO.txt:
239         Refer to the framestepping document.
240
241 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
242
243         * gst/gstbin.c: (bin_handle_async_start),
244         (gst_bin_handle_message_func), (gst_bin_query):
245         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
246         (gst_base_sink_event), (gst_base_sink_change_state):
247         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
248         (gst_base_src_loop), (gst_base_src_change_state):
249         Copy seqnums from events to messages so that they can all be related
250         back to eachother.
251
252 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
253
254         * tools/gst-launch.c: (event_loop):
255         Print the message seqnums.
256
257 2008-11-04  Andy Wingo  <wingo@pobox.com>
258
259         * gst/gstutils.c (gst_util_seqnum_next): Refactor for clarity.
260
261 2008-11-04  Andy Wingo  <wingo@pobox.com>
262
263         Add sequence numbers to events and messages. See #559250.
264
265         * gst/gstutils.c (gst_util_seqnum_next, gst_util_seqnum_compare):
266         API: New functions.
267
268         * gst/gstevent.h:
269         * gst/gstevent.c (_gst_event_copy, gst_event_new): Initialize new
270         events with a new sequence number, and copy it when copying.
271         (gst_event_get_seqnum, gst_event_set_seqnum): API: Accessors for
272         an event's sequence number.
273
274         * gst/gstmessage.h:
275         * gst/gstmessage.c (_gst_message_copy, gst_message_new_custom):
276         (gst_event_get_seqnum, gst_event_set_seqnum): API: As with events,
277         so with messages.
278
279         * docs/gst/gstreamer-sections.txt: Add new functions to the docs.
280
281 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
282
283         * docs/manual/advanced-position.xml:
284         * docs/manual/basics-bins.xml:
285         * docs/manual/basics-bus.xml:
286         * docs/manual/basics-pads.xml:
287         * docs/manual/intro-gstreamer.xml:
288         * docs/manual/intro-preface.xml:
289         Some Application Development Manual fixes thanks to
290         Andrew Feren. Fixes #558459.
291
292 2008-11-03  Stefan Kost  <ensonic@users.sf.net>
293
294         * gst/gstregistrybinary.c:
295           Don't bother with the GTimer if we don't output the results.
296
297 2008-11-03  Wim Taymans  <wim.taymans@collabora.co.uk>
298
299         Patch by: David Schleef  <ds@schleef.org>
300
301         * libs/gst/net/Makefile.am:
302         Add WIN32_LIBS to libgstnet LIBADD. Fixes #557300.
303
304 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
305
306         * gst/gstregistrybinary.c:
307           Oh my, studip, stupid me. Remove double stat() call.
308
309 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
310
311         * gst/gstpreset.c:
312           Use g_unlink instead of unlink.
313
314         * gst/gststructure.c:
315           Use glib type.
316
317         * gst/gstutils.c:
318           Add a FIXME:.
319
320         * gst/gsttaglist.c:
321         * gst/gsttypefind.c:
322         * gst/gstvalue.c:
323           Formatting & whitespaces.
324
325 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
326
327         * plugins/elements/gstidentity.c:
328           Doc typo. Use return value of parent_class->event.
329   
330         * plugins/elements/gsttypefindelement.c:
331           Chain up at the end for consistency.
332   
333 2008-10-30  Stefan Kost  <ensonic@users.sf.net>
334
335         * docs/Makefile.am:
336         * docs/gst/gstreamer-docs.sgml:
337         * docs/gst/gstreamer-sections.txt:
338         * docs/gst/running.xml:
339         * docs/libs/gstreamer-libs-docs.sgml:
340           Change to xinclude based build - its faster and easier to maintain.
341
342 2008-10-30  Stefan Kost  <ensonic@users.sf.net>
343
344         * gst/gstregistrybinary.c:
345         * gst/gstregistryxml.c:
346           Use g_unlink() as none of these are directories.
347
348 2008-10-29  Wim Taymans  <wim.taymans@collabora.co.uk>
349
350         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func):
351         Some more comments.
352
353 2008-10-27  Wim Taymans  <wim.taymans@collabora.co.uk>
354
355         * libs/gst/base/gstbasetransform.c:
356         (gst_base_transform_find_transform), (gst_base_transform_getrange):
357         If we have a fixate function, call it even if we already have fixed caps
358         because the subclass might add some caps. Makes audioconvert add a
359         default channel layout.
360
361 2008-10-24  Wim Taymans  <wim.taymans@collabora.co.uk>
362
363         * libs/gst/base/gstbasetransform.c:
364         (gst_base_transform_prepare_output_buffer),
365         (gst_base_transform_getrange):
366         Clear the output buffer variable.
367         Cleanups to the error path in the getrange function.
368         Fixes #557649.
369
370 2008-10-23  Sebastian Dröge  <slomo@circular-chaos.org>
371
372         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
373         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
374         Use gst_buffer_try_new_and_alloc() and handle errors instead of
375         using gst_buffer_new_and_alloc() which aborts if the buffer couldn't
376         be allocated.
377
378 2008-10-23  Wim Taymans  <wim.taymans@collabora.co.uk>
379
380         * gst/gstsegment.c: (gst_segment_set_newsegment_full):
381         Set the last_stop to a more meaningful position when configuring the
382         segment. ie. the start/stop of the segment or clipped against the
383         updated segment boundaries.
384
385         * tests/check/gst/gstsegment.c: (GST_START_TEST):
386         Add some unit tests for the last_stop.
387
388 2008-10-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
389
390         * libs/gst/base/gstbytereader.c:
391         Use GST_(READ|WRITE)_(FLOAT|DOUBLE)_(LE|BE) instead of our own
392         copies of them.
393
394 2008-10-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
395
396         * docs/gst/gstreamer-sections.txt:
397         * gst/gstutils.h:
398         API: Move float endianness conversion macros from libgstfloatcast
399         to core as it's useful in general, even in core. Fixes bug #555196.
400         This adds GDOUBLE_FROM_BE, GDOUBLE_FROM_LE, GDOUBLE_TO_BE,
401         GDOUBLE_TO_LE, GDOUBLE_SWAP_LE_BE, GFLOAT_FROM_BE, GFLOAT_FROM_LE,
402         GFLOAT_TO_BE, GFLOAT_TO_LE, GFLOAT_SWAP_LE_BE.
403
404         Also add GST_READ_ and GST_WRITE_ macros for floats and doubles:
405         GST_READ_FLOAT_LE, GST_READ_FLOAT_BE, GST_READ_DOUBLE_LE,
406         GST_READ_DOUBLE_BE, GST_WRITE_FLOAT_LE, GST_WRITE_FLOAT_BE,
407         GST_WRITE_DOUBLE_LE, GST_WRITE_DOUBLE_BE.
408
409 2008-10-22  Sebastian Dröge  <slomo@circular-chaos.org>
410
411         * docs/libs/gstreamer-libs-sections.txt:
412         * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_data),
413         (gst_byte_reader_peek_data):
414         * libs/gst/base/gstbytereader.h:
415         * win32/common/libgstbase.def:
416         API: Add gst_byte_reader_get_data and gst_byte_reader_peek_data
417         to get a pointer to the data at the current position and have
418         a guaranteed size.
419
420 2008-10-22  Jan Schmidt  <jan.schmidt@sun.com>
421
422         * configure.ac:
423         Fix a bug in the output of the configure script summary
424         when --gst-disable-registry is supplied
425
426 2008-10-22  Jan Schmidt  <jan.schmidt@sun.com>
427
428         * libs/gst/base/gstbitreader.c:
429         * libs/gst/base/gstbytereader.c:
430         Fix the names of 2 functions in the docs strings.
431
432 2008-10-21  Wim Taymans  <wim.taymans@collabora.co.uk>
433
434         * libs/gst/base/gstbasetransform.c:
435         (gst_base_transform_prepare_output_buffer),
436         (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
437         Protect sink_alloc caps with the sinkpad lock to avoid nasty caps
438         refcount problems as seen in banshee and maybe also in farsight2.
439         Remove atomic int now that we need to take the lock anyways.
440
441 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
442
443         * libs/gst/base/gstbasesink.c: (gst_base_sink_default_do_seek),
444         (gst_base_sink_default_prepare_seek_segment),
445         (gst_base_sink_perform_seek), (gst_base_sink_get_position_last),
446         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
447         (gst_base_sink_query):
448         Implement more seeking in pull mode.
449         Use pad convert functions to convert position to the requested format.
450         Fix position/duration reporting in pull mode.
451         Implement position and duration reporting in other formats than time.
452
453         * libs/gst/base/gstbasesink.h:
454         Add member to keep track of when the segment is playing.
455
456 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
457
458         * gst/gstpad.c: (gst_pad_configure_src):
459         When we use gst_pad_alloc_buffer() without wanting to set the caps we
460         also don't need to check if the caps are compatible because the caller
461         presumably is going to perform its own custom checks. Fixes some cases
462         where basetransform elements would error out when it was not needed.
463
464 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
465
466         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
467         Update comment.
468
469         * libs/gst/base/gstbasetransform.c:
470         (gst_base_transform_handle_buffer),
471         (gst_base_transform_reconfigure):
472         Add some debug info.
473
474         * win32/common/libgstbase.def:
475         Add new method.
476
477 2008-10-19  Stefan Kost  <ensonic@users.sf.net>
478
479         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek);
480           Remove duplicated assignment and log a message in failure case.
481
482 2008-10-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
483
484         Patch by: Dig Ge <dig.ge.cn at gmail com>
485
486         * tests/examples/helloworld/helloworld.c: (main):
487           Fix copy'n'paste bug in hello world example (#556900).
488
489 2008-10-17  Wim Taymans  <wim.taymans@collabora.co.uk>
490
491         * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate_pull),
492         (gst_base_sink_query):
493         Query the total number of bytes when activating the pad in pull mode.
494         Implement duration query in pull mode by using the installed pad convert
495         function to convert from bytes to the requested format.
496
497 2008-10-16  Wim Taymans  <wim.taymans@collabora.co.uk>
498
499         * docs/libs/gstreamer-libs-sections.txt:
500         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_preroll),
501         (gst_base_sink_flush_start), (gst_base_sink_flush_stop),
502         (gst_base_sink_event), (gst_base_sink_perform_seek),
503         (gst_base_sink_loop), (gst_base_sink_pad_activate_pull),
504         (gst_base_sink_send_event), (gst_base_sink_change_state):
505         * libs/gst/base/gstbasesink.h:
506         Add method to commit the state in subclasses.
507         Refactor the flush_start and flush_stop code because we need it for
508         flushing while seeking too.
509         Implement the beginnings of seeking in pull mode.
510         Use the segment last_stop field for the pulling offset.
511         Fix the pause method in pull mode.
512         Configure the segment to BYTES for pull mode.
513         API: GstBaseSink::gst_base_sink_do_preroll()
514
515 2008-10-16  Wim Taymans  <wim.taymans@collabora.co.uk>
516
517         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
518         Update some docs.
519
520 2008-10-14  Tim-Philipp Müller  <tim.muller at collabora co uk>
521
522         * gst/gstquark.c: (_priv_gst_quarks_initialize):
523           Fix printf format warning.
524
525 2008-10-14  Sebastian Dröge  <slomo@circular-chaos.org>
526
527         * plugins/elements/gsttee.c: (gst_tee_handle_buffer):
528         Fix flow aggregation of tee. Error out immediately for all flow returns
529         except OK and NOT_LINKED, return NOT_LINKED if all pads are not linked
530         and return OK if at least one pad is linked.
531
532         Before we errored out on "fatal" flow returns (i.e. not for WRONG_STATE)
533         and otherwise returned the flow return of the last pad, which is wrong.
534         
535         * tests/check/elements/tee.c: (_fake_chain), (_fake_chain_error),
536         (GST_START_TEST), (tee_suite):
537         Add unit tests for the flow aggregation.
538
539 2008-10-13  Wim Taymans  <wim.taymans@collabora.co.uk>
540
541         * docs/design/part-TODO.txt:
542         Remove item from the todo list because it was fixed with the latency
543         state change rewrites.
544
545         * docs/design/part-seeking.txt:
546         * docs/design/part-segments.txt:
547         Update some docs.
548
549         * gst/gstevent.c: (gst_event_new_new_segment_full),
550         (gst_event_parse_new_segment_full), (gst_event_new_buffer_size),
551         (gst_event_parse_buffer_size), (gst_event_new_qos),
552         (gst_event_parse_qos), (gst_event_new_seek),
553         (gst_event_parse_seek), (gst_event_new_latency),
554         (gst_event_parse_latency):
555         Use quarks to construct and parse events.
556
557         * gst/gstquark.c: (_priv_gst_quarks_initialize):
558         * gst/gstquark.h:
559         Add some more quarks to the table.
560         Emit a warning when the quark tables are not in sync.
561
562         * tests/check/gst/gstbus.c: (GST_START_TEST):
563         Add an assert.
564
565 2008-10-13  Stefan Kost  <ensonic@users.sf.net>
566
567         * plugins/elements/Makefile.am:
568         * plugins/indexers/Makefile.am:
569           Don't install static libs for plugins. Fixes #550851 for core.
570
571 2008-10-13  Wim Taymans  <wim.taymans@collabora.co.uk>
572
573         * gst/gstbus.c: (gst_bus_source_finalize),
574         (gst_bus_add_watch_full_unlocked), (gst_bus_add_watch_full),
575         (gst_bus_enable_sync_message_emission),
576         (gst_bus_disable_sync_message_emission),
577         (gst_bus_add_signal_watch_full), (gst_bus_remove_signal_watch):
578         Fix deadlock, g_source_get_id() cannot be called in finalize.
579         Keep track of the watch source by keeping a pointer to the source object
580         instead.
581         Use the bus lock to protect access to the pointer to the current
582         watch source.
583
584 2008-10-13  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
585
586         Base on Patch by: Olivier Crete <tester at tester dot ca>
587
588         * gst/gstbus.c: (gst_bus_source_finalize),
589         (gst_bus_add_watch_full), (gst_bus_add_signal_watch_full):
590         Only allow one bus watch to be set at a time. This is necessary
591         because the dispatcher pops the message from the bus and the second
592         watcher will then get NULL or the next message (and the first won't
593         get this next message then, etc). If more than one "watcher" is
594         required signal watches should be used. Fixes bug #526044.
595
596 2008-10-12  Jan Schmidt  <jan.schmidt@sun.com>
597
598         * tools/gst-launch.c:
599         Change the printing of the 'buffering...' output to avoid putting
600         a \r in a translateable string (flagged by the TP).
601
602 2008-10-10  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
603
604         * gst/gstxml.c:
605         Clarify that the save_thyself() and restore_thyself() virtual
606         functions of GstObject need to be overriden, not
607         gst_object_(save|restore)_thyself() which is impossible.
608         Fixes bug #555700.
609
610 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
611
612         * gst/gstpad.c: (gst_pad_get_range), (gst_pad_pull_range):
613         Revert a patch from 21 months ago that broke caps negotiation in pull
614         mode. Basically, having a buffer pass over a pad will trigger the
615         setcaps function when caps change, just like in push mode.
616
617 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
618
619         * docs/design/part-negotiation.txt:
620         Update the docs some more.
621
622         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
623         If we pull a buffer with non-trivial caps, suggest those caps with the
624         max probability.
625
626 2008-10-10  Edward Hervey  <edward.hervey@collabora.co.uk>
627
628         * docs/design/part-TODO.txt:
629         Add another limitation of pad-blocking with segment seeks not pushing
630         EOS events.
631
632 2008-10-10  Jan Schmidt  <jan.schmidt@sun.com>
633
634         * win32/common/libgstbase.def:
635         * win32/common/libgstreamer.def:
636         Add new symbols to the win32 defs files
637
638 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
639
640         * gst/gstbin.c: (gst_bin_remove_func), (update_degree),
641         (gst_bin_handle_message_func):
642         The message src can be NULL, don't try to print the object names in that
643         case.
644
645         * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate):
646         Add some more debug info.
647
648         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline),
649         (GST_START_TEST):
650         Add some debug.
651         Fix the test, pull based sinks go ASYNC to PAUSED, just like other
652         scheduling modes.
653
654 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
655
656         * docs/design/part-negotiation.txt:
657         Small doc update.
658
659         * docs/libs/gstreamer-libs-sections.txt:
660         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
661         (gst_base_sink_pad_getcaps), (gst_base_sink_pad_setcaps),
662         (gst_base_sink_init), (gst_base_sink_set_blocksize),
663         (gst_base_sink_get_blocksize), (gst_base_sink_set_property),
664         (gst_base_sink_get_property), (gst_base_sink_needs_preroll),
665         (gst_base_sink_loop), (gst_base_sink_pad_activate),
666         (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
667         (gst_base_sink_change_state):
668         * libs/gst/base/gstbasesink.h:
669         Add blocksize property and methods to control the amount of data
670         to pull.
671         Negotiate first before activating upstream in pull mode so that they can
672         negotiate themselves.
673         When we operate in pull mode, we only accept the caps that we
674         negotiated.
675         Make the sink go ASYNC to PAUSED, like all other sinks.
676         API: GstBaseSink::gst_base_sink_set_blocksize()
677         API: GstBaseSink::gst_base_sink_get_blocksize()
678         API: GstBaseSink::blocksize
679
680         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
681         (gst_base_src_set_live), (gst_base_src_is_live),
682         (gst_base_src_set_format), (gst_base_src_query_latency),
683         (gst_base_src_set_blocksize), (gst_base_src_get_blocksize),
684         (gst_base_src_set_do_timestamp), (gst_base_src_get_do_timestamp),
685         (gst_base_src_set_property), (gst_base_src_get_property):
686         * libs/gst/base/gstbasesrc.h:
687         Add typechecking in public API functions.
688         Add methods to control the blocksize in subclasses.
689         API: GstBaseSrc::gst_base_src_set_blocksize()
690         API: GstBaseSrc::gst_base_src_get_blocksize()
691
692 2008-10-10  Edward Hervey  <edward.hervey@collabora.co.uk>
693
694         * tests/check/gst/gstutils.c: (probe_do_nothing), (data_probe),
695         (buffer_probe), (event_probe), (GST_START_TEST):
696         We now see 3 events go through our pad, since basesink now sends
697         upstream latency events.
698
699 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
700
701         * gst/gstpipeline.c: (gst_pipeline_change_state):
702         Release the object lock before trying to flush the bus.
703
704 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
705
706         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
707         Forward LATENCY events upstreams so that elements know about the total
708         pipeline latency. Fixes #555307.
709
710 2008-10-08  Jan Schmidt  <jan.schmidt@sun.com>
711
712         * plugins/elements/gstqueue.c:
713         Allow through queries when we don't know how
714         to adjust them (not TIME or BYTES), as otherwise it's
715         not possible to query the current position in order
716         to seek in other formats at all.
717
718 2008-10-08  Andy Wingo  <wingo@pobox.com>
719
720         * docs/gst/gstreamer-sections.txt: Placate doc pendants.
721
722 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
723
724         * gst/gstghostpad.c:
725         * gst/gstghostpad.h:
726         Unbreak -good build, private is a reserved c++ keyword.
727
728 2008-10-08  Andy Wingo  <wingo@pobox.com>
729
730         * gst/gstghostpad.h (GST_GHOST_PAD_CAST):
731         * gst/gstghostpad.c (GST_GHOST_PAD_CAST): Fix unintended API
732         removal: re-add GST_GHOST_PAD_CAST to the header.
733
734         * gst/gstghostpad.h (GstProxyPad, GstProxyPadClass, GstGhostPad)
735         (GstGhostPadClass): Publically expose these structures so as to
736         allow easy subclassing from C. Hide the member data behind a
737         private opaque data pointer.
738
739         * gst/gstghostpad.c: Adapt to store instance data in the type
740         instance's private data region, not in the public struct.
741
742 2008-10-08  Andy Wingo  <wingo@pobox.com>
743
744         * gst/gstghostpad.c (gst_ghost_pad_construct): If we got a
745         template via g_object_get(), be sure to unref it.
746
747         * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): Fix incorrect doc.
748
749 2008-10-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
750
751         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
752         If we can't get a cache file don't try to save something to it.
753         Dereferencing NULL pointers usually isn't a good idea.
754
755 2008-10-07  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
756
757         * tests/check/Makefile.am:
758         * tests/check/gst/gstabi.c:
759         * tests/check/gst/struct_sparc.h:
760         * tests/check/libs/libsabi.c:
761         * tests/check/libs/struct_sparc.h:
762         Add Sparc ABI checks
763
764         * tests/check/gst/gstvalue.c: (GST_START_TEST):
765         Cast signed integer to unsigned to avoid a compiler warning.
766
767 2008-10-07  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
768
769         * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_uint24_le),
770         (gst_byte_reader_get_uint24_be), (gst_byte_reader_get_int24_le),
771         (gst_byte_reader_get_int24_be), (gst_byte_reader_peek_uint24_le),
772         (gst_byte_reader_peek_uint24_be), (gst_byte_reader_peek_int24_le),
773         (gst_byte_reader_peek_int24_be):
774         Use new GST_READ_UINT24_(LE|BE) macros.
775
776 2008-10-07  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
777
778         * docs/gst/gstreamer-sections.txt:
779         * gst/gstutils.h:
780         Always use the unaligned variants of GST_READ_UINT* and GST_WRITE_UINT*
781         as it's too easy to break the ISO C strict aliasing rules with simple
782         casts to the corresponding type and this would introduce hard to debug
783         bugs. Fixes bug #545714.
784
785         API: Add GST_READ_UINT24_(LE|BE) and GST_WRITE_UINT24_(LE|BE).
786
787 2008-10-07  Tim-Philipp Müller  <tim.muller at collabora co uk>
788
789         * gst/gstbuffer.h: (GST_BUFFER_FREE_FUNC):
790         * gst/gstghostpad.c: (gst_ghost_pad_construct):
791           Add 'Since' bits to gtk-doc chunks for new API.
792
793 2008-10-06  Thijs Vermeir  <thijsvermeir@gmail.com>
794
795         * docs/gst/gstreamer-sections.txt:
796         Fix documentation
797
798 2008-10-06  Andy Wingo  <wingo@pobox.com>
799
800         * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): New API, a free function
801         that will be called on the malloc_data to free it. Basically a way
802         to avoid subclassing when all you need is a different free
803         function, i.e. free() instead of g_free().
804
805         * gst/gstbuffer.c (gst_buffer_finalize): Free malloc_data via
806         calling the free function.
807         (gst_buffer_init): Initialize the free function to g_free.
808
809 2008-10-06  Andy Wingo  <wingo@pobox.com>
810
811         * gst/gstghostpad.h:
812         * gst/gstghostpad.c (gst_ghost_pad_construct): New function,
813         finishes the initialization of ghost pad. Useful for language
814         bindings and subclassers of GstGhostPad. Fixes #539108.
815         (gst_ghost_pad_new_full): Use the new constructor.
816
817 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
818
819         Base on Patch by: Olivier Crete <tester at tester dot ca>
820
821         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
822         (gst_bin_remove_func), (update_degree),
823         (gst_bin_sort_iterator_new), (gst_bin_handle_message_func):
824         Keep track of pads that are being linked/unlinked and resync the state
825         changes.
826
827         * gst/gstpad.c: (gst_pad_get_direction),
828         (gst_pad_set_chain_function), (gst_pad_set_getrange_function),
829         (gst_pad_set_checkgetrange_function), (gst_pad_unlink),
830         (gst_pad_link_prepare), (gst_pad_link),
831         (gst_pad_event_default_dispatch), (gst_pad_chain), (gst_pad_push),
832         (gst_pad_check_pull_range), (gst_pad_get_range),
833         (gst_pad_pull_range):
834         Some code cleanups, use macros to check pad direction.
835         Don't need to take the lock on the pad direction.
836         Post structure change when pads are linked/unlinked.
837         Change some checks into _return_if_fail().
838
839         * tests/check/gst/gstbin.c:
840         (test_link_structure_change_state_changed_sync_cb),
841         (GST_START_TEST), (gst_bin_suite):
842         Add testcase for pad link/unlinke resync during a state change.
843         Fixes #510354.
844
845 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
846
847         * docs/gst/gstreamer-sections.txt:
848         * gst/gstmessage.c: (gst_message_new_structure_change),
849         (gst_message_parse_structure_change):
850         * gst/gstmessage.h:
851         Implement STRUCTURE_CHANGED messages. These messages will be used to
852         signal the parent bin of link/unlink operations that could require a
853         resync when doing a state change. See ##510354.
854         API: gst_message_new_structure_change()
855         API: gst_message_parse_structure_change()
856
857 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
858
859         * gst/gstquark.c:
860         * gst/gstquark.h:
861         Add some more quarks for new message. See #510354.
862
863 2008-10-06  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
864
865         * docs/libs/gstreamer-libs-docs.sgml:
866         * docs/libs/gstreamer-libs-sections.txt:
867         * libs/gst/base/Makefile.am:
868         * libs/gst/base/gstbitreader.c: (gst_bit_reader_new),
869         (gst_bit_reader_new_from_buffer), (gst_bit_reader_free),
870         (gst_bit_reader_init), (gst_bit_reader_init_from_buffer),
871         (gst_bit_reader_set_pos), (gst_bit_reader_get_pos),
872         (gst_bit_reader_get_remaining), (gst_bit_reader_skip),
873         (gst_bit_reader_skip_to_byte):
874         * libs/gst/base/gstbitreader.h:
875         * libs/gst/base/gstbytereader.c: (GDOUBLE_SWAP_LE_BE),
876         (GFLOAT_SWAP_LE_BE), (gst_byte_reader_new),
877         (gst_byte_reader_new_from_buffer), (gst_byte_reader_free),
878         (gst_byte_reader_init), (gst_byte_reader_init_from_buffer),
879         (gst_byte_reader_set_pos), (gst_byte_reader_get_pos),
880         (gst_byte_reader_get_remaining), (gst_byte_reader_skip),
881         (gst_byte_reader_get_uint8), (gst_byte_reader_get_int8),
882         (gst_byte_reader_peek_uint8), (gst_byte_reader_peek_int8),
883         (gst_byte_reader_get_uint24_le), (gst_byte_reader_get_uint24_be),
884         (gst_byte_reader_get_int24_le), (gst_byte_reader_get_int24_be),
885         (gst_byte_reader_peek_uint24_le), (gst_byte_reader_peek_uint24_be),
886         (gst_byte_reader_peek_int24_le), (gst_byte_reader_peek_int24_be):
887         * libs/gst/base/gstbytereader.h:
888         * tests/check/Makefile.am:
889         * tests/check/libs/bitreader.c: (GST_START_TEST),
890         (gst_bit_reader_suite):
891         * tests/check/libs/bytereader.c: (GST_START_TEST),
892         (gst_byte_reader_suite):
893         API: Add bit reader and byte reader classes, including documentation
894         and an extensive unit test suite. Fixes bug #553554.
895
896 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
897
898         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position),
899         (gst_base_sink_query):
900         Improve position reporting while flushing and other intermediate state
901         changes. Fixes #553874.
902
903 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
904
905         Patch by: Antoine Tremblay <hexa00 at gmail dot com>
906
907         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
908         Original patch by : Simon Descaries
909         Fix small refount leak in caps compatibility check.
910         Fixes #551676.
911
912 2008-10-06  Stefan Kost  <ensonic@users.sf.net>
913
914         * docs/pwg/advanced-request.xml:
915           Fix 0.8 api usage in example. Fixes #554561
916
917         * docs/pwg/appendix-porting.xml:
918           Change 0.9 to 0.10 here.
919
920 2008-10-06  Stefan Kost  <ensonic@users.sf.net>
921
922         * docs/manual/basics-data.xml:
923           Change "event-event interaction" to "element-element interaction".
924           Fixes #552448. Also fix sample code for seeking and do more 0.8->0.10
925           updates.
926
927 2008-10-05  Jan Schmidt  <jan.schmidt@sun.com>
928
929         * configure.ac:
930         Back to development -> 0.10.21.1
931
932 === release 0.10.21 ===
933
934 2008-10-02  Jan Schmidt <jan.schmidt@sun.com>
935
936         * configure.ac:
937           releasing 0.10.21, "Take These Things From Me"
938
939 2008-09-28  Jan Schmidt  <jan.schmidt@sun.com>
940
941         * configure.ac:
942         0.10.20.4 pre-release
943
944 2008-09-28  Jan Schmidt  <jan.schmidt@sun.com>
945
946         * libs/gst/base/gstbasetransform.c:
947         * plugins/elements/gstcapsfilter.c:
948         * tests/check/Makefile.am:
949         * tests/check/elements/.cvsignore:
950         * tests/check/elements/capsfilter.c:
951         Fix assertion in basetransform when the subclass chooses not to
952         allocate a buffer in prepare_buffer(), and make capsfilter error out
953         cleanly if requested to apply caps that don't completely specify the
954         buffer. Fixes #551509
955
956 2008-09-24  Wim Taymans  <wim.taymans@collabora.co.uk>
957
958         * libs/gst/base/gstbasetransform.c:
959         (gst_base_transform_prepare_output_buffer):
960         Take new caps ref because our old one might have been gone when the
961         subclass performs a gst_pad_set_caps() on the srcpad. See #548764.
962
963 2008-09-15  Stefan Kost  <ensonic@users.sf.net>
964
965         * configure.ac:
966           Do not probe availability of check unit test library when cross
967           compiling, as test would not work anyway. Also cleanup verbose output
968           of the check test. Fixes #551952.
969
970 2008-09-14  Wim Taymans  <wim.taymans@collabora.co.uk>
971
972         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
973
974         * gst/gstelement.c: (gst_element_sync_state_with_parent):
975         Avoid leaking the parent ref when we fail changing the state of the
976         element using gst_element_sync_state_with_parent(). Fixes #551978.
977
978 2008-09-11  Tim-Philipp Müller  <tim.muller at collabora co uk>
979
980         * docs/manual/intro-motivation.xml::
981           Remove some bits that no longer apply, update others (#551642).
982
983 2008-09-10  Jan Schmidt  <jan.schmidt@sun.com>
984
985         * configure.ac:
986         0.10.20.2 pre-release
987
988         * po/LINGUAS:
989         * po/id.po:
990         * po/pt_BR.po:
991
992         New translations.
993
994 2008-09-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
995
996         * win32/common/config.h.in:
997           Add GST_DATADIR, hard-code cpu to x86.
998
999         * win32/common/libgstreamer.def:
1000           Spaces to tabs.
1001
1002 2008-09-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
1003
1004         * gst/gsttaglist.h:
1005           Fix Since: markers for new geo tags.
1006
1007 2008-09-02  Stefan Kost  <ensonic@users.sf.net>
1008
1009         * gst/gsttaglist.h:
1010           Fix actual tag name define after renaming from altitude to elevation.
1011
1012 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1013
1014         * gst/gstpad.c: (add_unref_pad_to_list),
1015         (gst_pad_get_internal_links_default):
1016         Add fallback when calling the deprecated function on an element that
1017         implements the new internal_link handler.
1018
1019 2008-09-01  Stefan Kost  <ensonic@users.sf.net>
1020
1021         * docs/gst/gstreamer-sections.txt:
1022         * gst/gsttaglist.c:
1023         * gst/gsttaglist.h:
1024           Add new tags for geo location and clarify purpose of existing location
1025           tag. Fixes #481169
1026
1027 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1028
1029         Patch by: Olivier Crete <tester at tester dot ca>
1030
1031         * gst/gstpad.c: (gst_pad_iterate_internal_links_default),
1032         (gst_pad_event_default_dispatch), (gst_pad_dispatcher):
1033         Use thread-safe internal links iterator. Fixes #549504.
1034
1035 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1036
1037         Based on patch by: Olivier Crete <tester at tester dot ca>
1038
1039         * docs/gst/gstreamer-sections.txt:
1040         * win32/common/libgstreamer.def:
1041         * gst/gstpad.c: (gst_pad_init),
1042         (gst_pad_set_iterate_internal_links_function),
1043         (int_link_iter_data_free), (iterate_pad),
1044         (gst_pad_iterate_internal_links_default),
1045         (gst_pad_iterate_internal_links), (gst_pad_get_internal_links):
1046         * gst/gstpad.h:
1047         Add threadsafe replacement functions for getting internal links of an
1048         element. Deprecate the old internal links functions.
1049         API:GstPad::gst_pad_set_iterate_internal_links_function()
1050         API:GstPad::GstPadIterIntLinkFunction
1051         API:GstPad::gst_pad_iterate_internal_links()
1052         API:GstPad::gst_pad_iterate_internal_links_default()
1053
1054         * gst/gstghostpad.c: (gst_proxy_pad_do_iterate_internal_links),
1055         (gst_proxy_pad_init):
1056         Implement threadsafe internal links.
1057
1058         * tests/check/elements/tee.c: (GST_START_TEST), (tee_suite):
1059         Unit test for internal links on tee. See #549504.
1060
1061 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
1062
1063         * tests/check/Makefile.am:
1064         libs/transform1 test requires libs/test_transform.c
1065
1066 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
1067
1068         * gst/gstpad.c: (gst_pad_get_internal_links_default):
1069         Die evil deadlock, die !
1070
1071 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
1072
1073         * gst/gstutils.c: (gst_element_get_compatible_pad):
1074         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1075         * tests/check/gst/gstpad.c: (name_is_valid), (GST_START_TEST):
1076         Fix all leaks due to the bug in gst_pad_template_new() by which it does
1077         not steal the refcount of the given caps as stated.
1078
1079         REVERT THIS COMMIT ONCE FIXED !
1080         REVERT THIS COMMIT ONCE FIXED !
1081         REVERT THIS COMMIT ONCE FIXED !
1082         REVERT THIS COMMIT ONCE FIXED !
1083         REVERT THIS COMMIT ONCE FIXED !
1084         REVERT THIS COMMIT ONCE FIXED !
1085
1086 2008-08-29  Wim Taymans  <wim.taymans@collabora.co.uk>
1087
1088         * gst/gstiterator.c:
1089         * gst/gstiterator.h:
1090         After 3 years it's about time to revise the documentation of the
1091         iterator objects.
1092
1093 2008-08-29  Wim Taymans  <wim.taymans@collabora.co.uk>
1094
1095         * gst/gstpad.c: (gst_pad_get_internal_links_default):
1096         Make the internal links function less thread-unsafe and add some
1097         comments, dunno why.
1098
1099 2008-08-29  Tim-Philipp Müller  <tim.muller at collabora co uk>
1100
1101         * gst/gst_private.h:
1102           Include gstinfo.h even if GST_DISABLE_GST_DEBUG is defined. Fixes
1103           build with --disable-gst-debug.
1104
1105 2008-08-28  David Schleef  <ds@schleef.org>
1106
1107         * gst/gstpadtemplate.c: Revert last change, since it breaks
1108           a few plugins, ffmpeg, alaw, and mulaw.  Code is correct,
1109           but shouldn't be enabled until we've released fixed versions
1110           of -good and -ffmpeg.
1111
1112 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
1113
1114         * gst/gstobject.c:
1115           Put the gst_object_get_name() back in.
1116
1117 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
1118
1119         * gst/gstpadtemplate.c:
1120           The old behaviour was that gst_pad_template_new() takes ownership of
1121           the caps. As we now call g_object_new() which calls g_object_set() and
1122           which copies the caps, we have to unref them to not leak them. Fixes
1123           make valgrid for me.
1124
1125 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
1126
1127         * gst/gsturi.c:
1128           Don't segfault on input like "tel:+1-123-555-1234".
1129
1130 2008-08-27  Stefan Kost  <ensonic@users.sf.net>
1131
1132         * gst/gstobject.c:
1133           Due to popular request also include ObjectType in
1134           gst_object_get_path_string(). Makes gst-launch -v bit more useful.
1135
1136 2008-08-26  David Schleef  <ds@schleef.org>
1137
1138         * gst/gstutils.c: Remove check in gst_pad_query_convert() that
1139           src_val must be positive, because that's not a requirement.
1140           This causes problems with converting negative granulepos
1141           values for Dirac.
1142         * gst/gstquery.c: Same, gst_query_new_convert().
1143
1144 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1145
1146         * gst/gstclock.c: (gst_clock_add_observation):
1147         Add some more debugging to the clock slaving code.
1148
1149         * win32/common/libgstbase.def:
1150         Add new basetransform method.
1151
1152 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1153
1154         * gst/gstbin.c: (gst_bin_element_set_state):
1155         Take the (recursive) state lock between getting the locked state of an
1156         element and changing the element state. This allows the application to
1157         lock an element's state and then change its state without races.
1158
1159 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1160
1161         * gst/gstbin.c: (gst_bin_element_set_state):
1162         When an element is in the locked state we still want to update the
1163         base_time of the element.
1164
1165 2008-08-21  Wim Taymans  <wim.taymans@collabora.co.uk>
1166
1167         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1168         Use the result from gst_pad_set_caps() instead of assuming the element
1169         always accepted the caps computed by the default negotiate function.
1170
1171 2008-08-20  Wim Taymans  <wim.taymans@collabora.co.uk>
1172
1173         * docs/libs/gstreamer-libs-sections.txt:
1174         * libs/gst/base/gstbasetransform.c:
1175         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1176         (gst_base_transform_chain), (gst_base_transform_suggest),
1177         (gst_base_transform_reconfigure):
1178         * libs/gst/base/gstbasetransform.h:
1179         Implement method for reconfiguring basetransform.
1180         API: GstBaseTransform::gst_base_transform_reconfigure()
1181
1182 2008-08-20  Stefan Kost  <ensonic@users.sf.net>
1183
1184         patch by: Murray Cumming <murrayc@murrayc.com>
1185
1186         * gst/gstutils.c:
1187           Mention that this is just like gst_buffer_merge() but with extra
1188           unreffing for C coders. Advise language bindings not to wrap it.
1189           Fixes Bug #533856.
1190           
1191           Also fix file comment.
1192
1193 2008-08-20  Stefan Kost  <ensonic@users.sf.net>
1194
1195         reviewed by: Wim Taymans <wim.taymans@collabora.co.uk>
1196
1197         * plugins/elements/gstfakesink.c:
1198         * plugins/elements/gstfakesrc.c:
1199           Call super::event() when not handling it. Fixes #544855.
1200
1201 2008-08-19  Michael Smith <msmith@songbirdnest.com>
1202
1203         Patch by: Alessandro Decina <alessandro@nnva.org>
1204         * plugins/elements/gstfilesrc.c:
1205           Use 64 bit variants of stat functions on win32, to enable support
1206           of large files there.
1207           Fixes #547277.
1208
1209 2008-08-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1210
1211         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
1212         (gst_base_sink_event), (gst_base_sink_chain_unlocked),
1213         (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
1214         (gst_base_sink_get_position), (gst_base_sink_change_state):
1215         Improve position reporting in the flushing state.
1216         Also report the position when we are not yet prerolled but we
1217         have a newsegment event. Fixes #543444.
1218         Improve the pull-based negotiation code.
1219
1220         * tests/check/elements/fakesink.c: (GST_START_TEST),
1221         (fakesink_suite):
1222         Add testcase for position reporting while flushing in PAUSED and
1223         PLAYING.
1224
1225         * tests/check/generic/sinks.c: (GST_START_TEST):
1226         Update unit-test, we can now query the position as soon as we receive a
1227         NEWSEGMENT event.
1228
1229 2008-08-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1230
1231         Based on patch by: Jason Zhao <e3423c at motorola dot com>
1232
1233         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object):
1234         When the subclass event handler releases the PREROLL_LOCK, we could be
1235         in the flushing state and we have to ignore the event. Fixes #548394.
1236
1237 2008-08-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
1238
1239         * tools/gst-launch.1.in:
1240           Document GST_REGISTRY_UPDATE environment variable.
1241
1242 2008-08-18  Wim Taymans  <wim.taymans@collabora.co.uk>
1243
1244         * libs/gst/base/gstbasetransform.c:
1245         (gst_base_transform_prepare_output_buffer):
1246         If the element is configured in passthrough mode but the
1247         prepare_output_buffer gave us a new output buffer, discard that buffer
1248         and reuse the input buffer.
1249
1250 2008-08-15  Wim Taymans  <wim.taymans@collabora.co.uk>
1251
1252         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
1253
1254         * plugins/elements/gsttee.c: (gst_tee_finalize), (gst_tee_init),
1255         (gst_tee_request_new_pad), (gst_tee_release_pad),
1256         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc):
1257         * plugins/elements/gsttee.h:
1258         Protect pad_alloc with a new lock so that we can be sure that nothing is
1259         performing a pad_alloc when removing the pad. Fixes #547835.
1260
1261         * tests/check/elements/tee.c: (buffer_alloc_harness_setup),
1262         (buffer_alloc_harness_teardown), (app_thread_func),
1263         (final_sinkpad_bufferalloc), (GST_START_TEST), (tee_suite):
1264         Added testcase for shutdown race.
1265
1266 2008-08-14  Thijs Vermeir  <thijsvermeir@gmail.com>
1267
1268         * gst/gstpad.h:
1269         Add doc
1270
1271 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1272
1273         * libs/gst/base/gstbasetransform.c:
1274         (gst_base_transform_prepare_output_buffer),
1275         (gst_base_transform_buffer_alloc):
1276         Go over the buffer_alloc function again and make sure we always end up
1277         allocating a buffer.
1278         Add some more docs.
1279         Avoid doing pad alloc when we have a pending suggestion because we
1280         cannot yet deal with changing caps in that case. Fixes #547728
1281
1282 2008-08-14  Stefan Kost  <ensonic@users.sf.net>
1283
1284         patch by: Luc Pionchon <luc.pionchon@nokia.com>
1285
1286         * docs/manual/advanced-clocks.xml:
1287         * docs/manual/clocks.png:
1288         * docs/manual/diagrams-clocks.svg:
1289           Add one more image showing different times together with a describing
1290           paragraph. Fixes #547729.
1291
1292 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1293
1294         * win32/common/libgstbase.def:
1295         Add new method.
1296
1297 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1298
1299         * libs/gst/base/gstbasetransform.c:
1300         (gst_base_transform_transform_caps),
1301         (gst_base_transform_prepare_output_buffer),
1302         (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
1303         Don't overwrite the outsize when calculating the expected size of a new
1304         buffer because we still need it in case we cannot process the new
1305         buffer.
1306         When converting the size of the new buffer to an upstream size, actually
1307         use the expected size of the buffer, not some other random value.
1308         Use an atomic int to signal that a new upstream caps suggestion is
1309         available.
1310         When we can convert the current buffer to a new format, check if the
1311         buffer size is of the expected size and allocate a new buffer of the
1312         expected size when this is not the case. Fixes #546883.
1313
1314         * tests/check/libs/transform1.c: (GST_START_TEST):
1315         remove ifdeffed code from the unit test.
1316
1317 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1318
1319         * pkgconfig/gstreamer-uninstalled.pc.in:
1320         * pkgconfig/gstreamer.pc.in:
1321           Remove -lgstcontrol-0.10 which never worked anyway as the lib is
1322           called gstcontroller-0.10.
1323
1324 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1325
1326         * gst/gstchildproxy.h:
1327         * gst/gstpreset.h:
1328           Remove double interface from doc-string.        
1329
1330 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1331
1332         * libs/gst/base/gstbasesrc.c:
1333         * libs/gst/base/gstbasetransform.c:
1334           Fix headings in docs and gtk-doc warnings.
1335
1336 2008-08-11  Michael Smith <msmith@songbirdnest.com>
1337
1338         * gst/gstregistrybinary.c:
1339           Don't use g_mkstmp() on win32, it's unsafe if glib is using a different
1340           libc.
1341           Fixes #544776.
1342
1343 2008-08-11  Edward Hervey  <edward.hervey@collabora.co.uk>
1344
1345         * libs/gst/base/gstbasetransform.c:
1346         (gst_base_transform_buffer_alloc):
1347         Fix a "may be used unitialized" warning.
1348
1349 2008-08-11  Stefan Kost  <ensonic@users.sf.net>
1350
1351         * docs/gst/gstreamer-sections.txt:
1352         * gst/gstpreset.h:
1353           Document preset-iface vmethods.
1354
1355 2008-08-11  Stefan Kost  <ensonic@users.sf.net>
1356
1357         * docs/manual/advanced-interfaces.xml:
1358           Turn thoughts about HAL into a note-tag. Remove mentioning that is
1359           only used to discover devices.
1360
1361 2008-08-07  Tim-Philipp Müller  <tim.muller at collabora co uk>
1362
1363         Patch by: Frederic Crozat <fcrozat@mandriva.org>
1364
1365         * gst/gst.c: (init_pre):
1366         Make sure gettext returns translations in UTF-8 encoding rather
1367         than in the current locale encoding (#546822).
1368
1369 2008-08-07  Wim Taymans  <wim.taymans@collabora.co.uk>
1370
1371         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
1372         Fix subset test.
1373
1374         * tests/check/gst/gstcaps.c: (GST_START_TEST):
1375         Improve unit test subset tests and add a testcase for the subset failure
1376         cases.
1377
1378         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1379         Improve subtraction unit test.
1380
1381 2008-08-07  Stefan Kost  <ensonic@users.sf.net>
1382
1383         * plugins/elements/gsttee.c:
1384           Unlock, instead of locking again.
1385
1386 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1387
1388         * gst/gstpad.h:
1389         Clarify the docs a bit more.
1390
1391 2008-08-05  Stefan Kost  <ensonic@users.sf.net>
1392
1393         * tests/examples/metadata/read-metadata.c:
1394           Don't leak old taglist.
1395
1396 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1397
1398         Patch by: Olivier Crete <tester at tester dot ca>
1399
1400         * gst/gststructure.c:
1401         (gst_structure_fixate_field_nearest_fraction):
1402         Avoid overflows in fixation code when dealing with MAXINT values, which
1403         v4l2src seems to do.
1404         Fixes #546328.
1405
1406         * tests/check/gst/gststructure.c: (GST_START_TEST):
1407         Make a unit test to check the fix. 
1408
1409 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1410
1411         * plugins/elements/gstcapsfilter.c: (copy_func),
1412         (gst_capsfilter_set_property):
1413         Use new caps suggestion feature of basetransform to request a caps
1414         negotiation upstream.
1415
1416 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1417
1418         * docs/libs/gstreamer-libs-sections.txt:
1419         Add new function:
1420         API: GstBaseTransform::gst_base_transform_suggest()
1421
1422         * libs/gst/base/gstbasetransform.c: (gst_base_transform_finalize),
1423         (gst_base_transform_init), (gst_base_transform_transform_caps),
1424         (gst_base_transform_transform_size),
1425         (gst_base_transform_configure_caps),
1426         (gst_base_transform_can_transform),
1427         (gst_base_transform_find_transform), (gst_base_transform_setcaps),
1428         (gst_base_transform_prepare_output_buffer),
1429         (gst_base_transform_buffer_alloc),
1430         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1431         (gst_base_transform_chain), (gst_base_transform_activate),
1432         (gst_base_transform_set_passthrough),
1433         (gst_base_transform_is_passthrough),
1434         (gst_base_transform_set_in_place),
1435         (gst_base_transform_is_in_place), (gst_base_transform_update_qos),
1436         (gst_base_transform_set_qos_enabled),
1437         (gst_base_transform_is_qos_enabled),
1438         (gst_base_transform_set_gap_aware), (gst_base_transform_suggest),
1439         (gst_base_transform_reconfigure):
1440         * libs/gst/base/gstbasetransform.h:
1441         Rewrite of basetransform to perform negotiation outside of the
1442         buffer_alloc functions.  Fixes #545853.
1443
1444         * tests/check/libs/transform1.c: (GST_START_TEST),
1445         (buffer_alloc_ct2):
1446         Update unit test.
1447
1448 2008-08-05  Stefan Kost  <ensonic@users.sf.net>
1449
1450         * tests/check/gst/gstpreset.c:
1451           Only run preset tests when $HOME is writable. Preliminary fix for
1452           #545433.
1453
1454 2008-08-04  Wim Taymans  <wim.taymans@collabora.co.uk>
1455
1456         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1457         (gst_bin_change_state_func), (bin_handle_async_done),
1458         (gst_bin_handle_message_func):
1459         Fix race for bins that simulate ASYNC state changes by inserting
1460         ASYNC_START and ASYNC_DONE messages in their bus. We need to check for
1461         pending ASYNC messages even when the bin does not have ASYNC children.
1462         We note detect this behaviour because we will receive an ASYNC message
1463         that is originating from the bin itself. 
1464         Fixes races with decodebin2 state changes.
1465
1466         * tests/check/gst/gstbin.c: (GST_START_TEST):
1467         Add some more debug.
1468
1469 2008-08-04  Tim-Philipp Müller  <tim.muller at collabora co uk>
1470
1471         * gst/gsttaglist.c: (_gst_tag_initialize):
1472           Fix typo.
1473
1474 2008-08-04  Stefan Kost  <ensonic@users.sf.net>
1475
1476         * gst/gsttaglist.c:
1477           Argh. actually save the text before committing. Now adds
1478           gst_tag_merge_strings_with_comma() to gst_tag_register().
1479
1480 2008-08-04  Stefan Kost  <ensonic@users.sf.net>
1481
1482         * gst/gsttaglist.c:
1483         * gst/gsttaglist.h:
1484           Do as tim pointed out and actually register the new tag. Also improve
1485           te docs and use gst_tag_merge_strings_with_comma() method to allow
1486           retriving all keywords merged in one list.
1487
1488 2008-08-01  Stefan Kost  <ensonic@users.sf.net>
1489
1490         * configure.ac:
1491         * docs/gst/gstreamer.types:
1492           Revert 'accidential' change of the configure option removal. We still
1493           need to generate the types file in configure --disable-load-save.
1494
1495 2008-08-01  Stefan Kost  <ensonic@users.sf.net>
1496
1497         * docs/gst/gstreamer-sections.txt:
1498         * gst/gsttaglist.h:
1499           Add new taglist item GST_TAG_KEYWORDS, needed for #520694 .
1500
1501 2008-08-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
1502
1503         * gst/gstpadtemplate.c:
1504           (gst_pad_template_class_init), (gst_static_pad_template_get),
1505           (gst_pad_template_new), (gst_pad_template_pad_created),
1506           (gst_pad_template_set_property), (gst_pad_template_get_property):
1507           Add "name-template", "direction", "presence" and "caps" properties,
1508           so that gst_pad_template_new() is just a thin wrapper around
1509           g_object_new(), which is better for bindings. (Fixes: #539772)
1510
1511 2008-07-31  Michael Smith <msmith@songbirdnest.com>
1512
1513         * gst/gsturi.c:
1514           Be more liberal in what URIs we accept.
1515           Do not unescape bits of the URI for no apparent reason before passing to
1516           the element. Fixes #545352.
1517
1518 2008-07-31  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1519
1520         Patch by: Robert Schwebel <r.schwebel@pengutronix.de>
1521
1522         * gst/gst.c:
1523         Include gstconfig.h as macros from it are used. Fixes bug #545607.
1524
1525 2008-07-31  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1526
1527         * configure.ac:
1528         * docs/gst/gstreamer-sections.txt:
1529         * docs/gst/gstreamer.types:
1530         * docs/gst/gstreamer.types.in:
1531         * gst/Makefile.am:
1532         * gst/gst.c:
1533         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func):
1534         * gst/gstconfig.h.in:
1535         * gst/gstelement.c: (gst_element_get_index):
1536         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
1537         (gst_registry_binary_load_feature),
1538         (gst_registry_binary_read_cache):
1539         * gst/gstregistryxml.c: (load_feature),
1540         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
1541         * plugins/Makefile.am:
1542         * tools/gst-indent:
1543         * tools/gst-inspect.c: (print_index_info), (print_element_list),
1544         (print_plugin_features), (print_element_features):
1545         * tools/gst-xmlinspect.c: (print_event_masks),
1546         (print_element_info):
1547         * win32/common/gstconfig.h:
1548         Remove GST_DISABLE_(ENUMTYPES|INDEX|URI) everywhere.
1549
1550         Disabling the indexers and URI handler code will only reduce the
1551         required amount of memory by a very small amount but on the other hand
1552         requires much more maintaince work. Apart from that many places of
1553         code are broken when disabling them.
1554
1555         Disabling the enum types doesn't reduce the required amount of memory
1556         by more than a few bytes and makes it hard to fix bugs like #539772,
1557         i.e. use the enums as GObject properties.
1558
1559 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1560
1561         * docs/design/part-TODO.txt:
1562         Add some thoughts and problems with upstream renegotiation.
1563
1564 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1565
1566         * gst/gstpad.c: (gst_pad_acceptcaps_default),
1567         (gst_pad_configure_src), (gst_pad_alloc_buffer_full):
1568         Remove silly redundant debug.
1569         Add some more debug info.
1570         Clarify the docs regarding new caps received from pad_alloc.
1571
1572 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1573
1574         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_set_property),
1575         (gst_capsfilter_get_property), (gst_capsfilter_transform_caps):
1576         Make setting the caps more threadsafe.
1577
1578 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1579
1580         * docs/design/part-element-transform.txt:
1581         Update docs.
1582
1583 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1584
1585         * plugins/elements/gstqueue.c: (gst_queue_init),
1586         (gst_queue_acceptcaps):
1587         Add and use a custom acceptcaps function instead of falling back to the
1588         potentially less optimized default implementation.
1589
1590 2008-07-29  Tim-Philipp Müller  <tim.muller at collabora co uk>
1591
1592         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
1593           Only sanity-check the buffer size if requested_caps == buffer_caps
1594           (ie. don't take pad caps into account, they're not relevant here)
1595
1596 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1597
1598         * plugins/elements/gsttee.c:
1599         * plugins/elements/gsttee.h:
1600           Reverting as not everything is clear yet. Needs some general design
1601           work.
1602
1603 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1604
1605         * ChangeLog:
1606           ChangeLog surgery for tee commit.
1607
1608 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1609
1610         * docs/gst/gstreamer-sections.txt:
1611           Cleanup section-file.
1612
1613 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1614
1615         * plugins/elements/gsttee.c:
1616         * plugins/elements/gsttee.h:
1617           Relay tag events in tee. Fixes parts of #474016.
1618           Downgrades 3 reoccurring debugs to log.
1619
1620 2008-07-28  Michael Smith <msmith@songbirdnest.com>
1621
1622         * configure.ac:
1623         * libs/gst/Makefile.am:
1624           Build the net library if we have winsock2.
1625
1626 2008-07-26  Stefan Kost  <ensonic@users.sf.net>
1627
1628         patch by: Luc Pionchon <luc.pionchon@nokia.com>
1629
1630         * docs/manual/advanced-threads.xml:
1631         * docs/manual/diagrams-pipelines.svg:
1632         * docs/manual/hello-world.png:
1633         * docs/manual/linked-elements.png:
1634         * docs/manual/mime-world.png:
1635         * docs/manual/queue.png:
1636         * docs/manual/thread-buffering.png:
1637         * docs/manual/thread-synchronizing.png:
1638           Replace one diagram with two separate ones and updates others.
1639           Fixes #542401.
1640
1641 2008-07-25  Thijs Vermeir  <thijsvermeir@gmail.com>
1642
1643         * gst/gstelement.h:
1644         Fix link in documentation.
1645
1646 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
1647
1648         * gst/gstmessage.c:
1649         Fix confusing documentation.
1650
1651 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
1652
1653         * libs/gst/base/gstbasesrc.h:
1654         revert the changes to the header file for the ABI.
1655
1656 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
1657
1658         * libs/gst/base/gstbasesrc.c:
1659         * libs/gst/base/gstbasesrc.h:
1660         Don't cache the seekable status.
1661         Fixes bug #544174
1662
1663 2008-07-24  Rene Stadler  <mail@renestadler.de>
1664
1665         * docs/manual/advanced-autoplugging.xml: Add fakesink to example
1666         code to close the pipeline graph.  This prevents the program from
1667         printing internal data flow errors.
1668
1669 2008-07-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1670
1671         * docs/manual/basics-bus.xml:
1672         Correct typo. Fixes bug #544320.
1673
1674 2008-07-22  Michael Smith <msmith@songbirdnest.com>
1675
1676         * configure.ac:
1677           Remove AC_ISC_POSIX macro; it's broken on some platforms and not needed.
1678           Add check (taken from -base) for winsock, adds WIN32_LIBS
1679         * gst/Makefile.am:
1680           Add WIN32_LIBS to LIBADD for libgstreamer. Needed now that gstpoll uses
1681           winsock.
1682           Define GST_EXPORTS when building libgstreamer (only used on win32)
1683         * gst/gst_private.h:
1684         * gst/gstinfo.h:
1685           Use GST_EXPORT instead of locally-defined (and incorrect IMPORT_SYMBOL)
1686           for symbols that we need to export in both these files.
1687         * gst/gstpoll.c:
1688           Include gst_private.h higher up to avoid some compile problems on win32.
1689
1690 2008-07-22  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1691
1692         * gst/gstvalue.c:
1693         Fix typos.
1694
1695 2008-07-22  Thijs Vermeir  <thijsvermeir@gmail.com>
1696
1697         * gst/gstcaps.c:
1698         Previous commit was wrong NULL caps does not exist
1699         and indicate an error, so also add a FIXME to
1700         gst_caps_is_equal where NULL caps are accepted.
1701
1702 2008-07-22  Thijs Vermeir  <thijsvermeir@gmail.com>
1703
1704         * gst/gstcaps.c:
1705         Allow passing of NULL to gst_caps_union
1706
1707 2008-07-21  Thijs Vermeir  <thijsvermeir@gmail.com>
1708
1709         * gst/gstghostpad.c:
1710         Add in doc that gst_ghost_pad_set_target can accept
1711         NULL to clear target
1712
1713 2008-07-15  Michael Smith <msmith@songbirdnest.com>
1714
1715         * gst/gstplugin.c:
1716         * gst/gstregistry.c:
1717           GstRegistryPool doesn't exist; don't refer to it in docs.
1718           Don't refer to functions that don't exist in docs, it's
1719           unhelpful.
1720
1721 2008-07-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1722
1723         * gst/gst.c:
1724         Fix scanning of paths given via --gst-plugin-path. Fixes bug #542175.
1725
1726 2008-07-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1727
1728         Patch by: Tristan Matthews <le dot businessman at gmail dot com>
1729
1730         * docs/pwg/building-testapp.xml:
1731         Don't use an undeclared variable in the example program.
1732         Fixes bug #542573.
1733
1734 2008-07-12  Stefan Kost  <ensonic@users.sf.net>
1735
1736         * gst/gstdebugutils.c:
1737           Squeeze ghost-pad links and remove <> from classname labels to save
1738           more horizontal space.
1739
1740 2008-07-11  Stefan Kost  <ensonic@users.sf.net>
1741
1742         * gst/gstdebugutils.c:
1743           Give request and sometimes pads a different shpe style. Condense the
1744           graphs a little more.
1745
1746 2008-07-09  Michael Smith <msmith@songbirdnest.com>
1747
1748         * configure.ac:
1749           Don't require flex and bison if the parser is disabled.
1750
1751 2008-07-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1752
1753         * libs/gst/controller/gstinterpolationcontrolsource.c:
1754         (_list_find_sorted_custom):
1755         Don't use declarations after statements.
1756
1757 2008-07-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1758
1759         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
1760         Add FIXMEs for 0.11 to use GST_TYPE_OBJECT in the signature
1761         of the the child-added / -removed signals as GstChildProxy
1762         only supports GstObjects.
1763
1764 2008-07-07  Thijs Vermeir  <thijsvermeir@gmail.com>
1765
1766         * gst/gstdebugutils.c:
1767         Fix memleak
1768
1769 2008-07-06  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1770
1771         Patch by: Alessandro Decina <alessandro at nnva dot org>
1772
1773         * gst/gstpoll.c:
1774         Fix "ignored return value" compiler warning with newer glibc.
1775
1776 2008-07-05  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1777
1778         * gst/gstchildproxy.c:
1779         Fix copy&paste error in gst_child_proxy_removed() documentation.
1780
1781 2008-07-02  Tim-Philipp Müller  <tim.muller at collabora co uk>
1782
1783         * gst/gstplugin.c: (CHECK_PLUGIN_DESC_FIELD), (gst_plugin_load_file):
1784           Print error debug message if plugin description fields that should
1785           be set are NULL.
1786
1787         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string):
1788           Don't crash if the string to serialise is NULL (it really should
1789           not be, but apparently this used to work with the xml registry ...).
1790
1791 2008-07-02  Thijs Vermeir  <thijsvermeir@gmail.com>
1792
1793         * tools/gst-plot-timeline.py:
1794         Fix parsing of log messages
1795
1796 2008-07-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
1797
1798         * win32/common/libgstbase.def::
1799           Sort alphabetically so make check-exports doesn't barf.
1800
1801 2008-07-01  Stefan Kost  <ensonic@users.sf.net>
1802
1803         * gst/gstevent.c:
1804           Use gst_format_get_name() to improve debug output.
1805
1806         * gst/gstpreset.c:
1807           Remove #ifdef'ed code. Add TODO comment.
1808
1809         * gst/gstsegment.c:
1810           Add debug output to ease spotting format != segment.format assertions.
1811
1812 2008-06-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1813
1814         * tests/check/libs/gdp.c: (gst_dp_suite):
1815         Also enable the GDP unit test again on PPC now that the bug
1816         is fixed.
1817
1818 2008-06-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1819
1820         * libs/gst/dataprotocol/dataprotocol.c:
1821         Don't write to the same region of memory as a uint64 and uint16
1822         as this breaks strict aliasing rules and apparantly breaks on PPC
1823         and s390. Thanks to Sjoerd Simons for analysing. Fixes bug #348114.
1824
1825 2008-06-29  Stefan Kost  <ensonic@users.sf.net>
1826
1827         * libs/gst/controller/gstinterpolationcontrolsource.c:
1828           Optimize list handling. Use own find function. Exploit that fact that
1829           the list is sorted. Also pass back the node before, so that we can
1830           insert quickly. Have a fast path for append.
1831
1832 2008-06-29  Stefan Kost  <ensonic@users.sf.net>
1833
1834         * docs/design/draft-framestep.txt:
1835         * docs/design/part-negotiation.txt:
1836           Fix two typos.
1837
1838 2008-06-27  Stefan Kost  <ensonic@users.sf.net>
1839
1840         * configure.ac:
1841           Show configuration sumary after configure run. Based on patch by
1842           Luc Pionchon <luc.pionchon@nokia.com>. Fixes: #540134
1843
1844 2008-06-27  Stefan Kost  <ensonic@users.sf.net>
1845
1846         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
1847
1848         * docs/manual/advanced-autoplugging.xml:
1849         * docs/manual/advanced-threads.xml:
1850         * docs/manual/basics-bins.xml:
1851         * docs/manual/basics-elements.xml:
1852         * docs/manual/basics-helloworld.xml:
1853         * docs/manual/basics-pads.xml:
1854           Add scale factor for pdf output.
1855
1856         * docs/manual/intro-basics.xml:
1857           Switched sections "pads" and "bins" and added a pipeline diagram.
1858
1859         * docs/manual/intro-gstreamer.xml:
1860           Added more info on gstreamer.
1861
1862         * docs/manual/intro-motivation.xml:
1863           Commented out the whole section "current problem", which sounds
1864           historical and somehow osolete; it could be turned in a positive
1865           way and reused to improve the design principles.
1866
1867         * docs/manual/intro-preface.xml:
1868           - Update URLs to library.gnome.org. 
1869           - Do not mention GTK+ in preliminary reading (irrelevant). 
1870           - Mention Plugin Writer's Manual and further reading only in the
1871             previous section.
1872           - Added a list of most relevant GObject/glib topics.
1873
1874         * docs/manual/Makefile.am:
1875         * docs/manual/bin-element-ghost.fig:
1876         * docs/manual/bin-element-ghost.png:
1877         * docs/manual/bin-element-noghost.fig:
1878         * docs/manual/bin-element-noghost.png:
1879         * docs/manual/bin-element.fig:
1880         * docs/manual/bin-element.png:
1881         * docs/manual/filter-element-multi.fig:
1882         * docs/manual/filter-element-multi.png:
1883         * docs/manual/filter-element.fig:
1884         * docs/manual/filter-element.png:
1885         * docs/manual/gstreamer-overview.png:
1886         * docs/manual/hello-world.fig:
1887         * docs/manual/hello-world.png:
1888         * docs/manual/linked-elements.fig:
1889         * docs/manual/linked-elements.png:
1890         * docs/manual/mime-world.fig:
1891         * docs/manual/mime-world.png:
1892         * docs/manual/queue.fig:
1893         * docs/manual/queue.png:
1894         * docs/manual/simple-player.png:
1895         * docs/manual/sink-element.fig:
1896         * docs/manual/sink-element.png:
1897         * docs/manual/src-element.fig:
1898         * docs/manual/src-element.png:
1899         * docs/manual/diagrams-general.svg:
1900         * docs/manual/diagrams-pipelines.svg:
1901           Removed .fig, added .png counterpart.
1902           
1903           Fixes: #539137
1904
1905 2008-06-26  Thijs Vermeir  <thijsvermeir@gmail.com>
1906
1907         * plugins/elements/gstmultiqueue.c:
1908         * plugins/elements/gstmultiqueue.h:
1909         revert extra-size-buffers stuff, caused some race conditions
1910         and extra-size-buffers is not used anymore. Docs needs some updates
1911
1912 2008-06-26  Tim-Philipp Müller  <tim.muller at collabora co uk>
1913
1914         * win32/common/config.h:
1915         * win32/common/gstenumtypes.c:
1916         * win32/common/gstenumtypes.h:
1917         * win32/common/gstversion.h:
1918           Update win32 files.
1919
1920 2008-06-26  Tim-Philipp Müller  <tim.muller at collabora co uk>
1921
1922         * gst/gstdebugutils.h: (GstDebugGraphDetails),
1923           (GST_DEBUG_BIN_TO_DOT_FILE):
1924           Add missing Since' markers to gtk-doc blurbs.
1925
1926 2008-06-26  Wim Taymans  <wim.taymans@collabora.co.uk>
1927
1928         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
1929         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
1930         (set_caps_1), (set_caps_ct1), (transform_ct1),
1931         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
1932         (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
1933         (transform_size_ct2), (buffer_alloc_ct2):
1934         Add some more tests with switching caps in buffer_alloc.
1935
1936 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1937
1938         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
1939         (gst_test_trans_class_init), (result_sink_chain),
1940         (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
1941         (gst_test_trans_push), (gst_test_trans_pop):
1942         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
1943         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
1944         (set_caps_1), (set_caps_ct1), (transform_ct1),
1945         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
1946         (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
1947         (transform_size_ct2), (buffer_alloc_ct2),
1948         (gst_basetransform_suite):
1949         More tests, prepare for tests with switching caps in buffer_alloc.
1950
1951 2008-06-25  Thijs Vermeir  <thijsvermeir@gmail.com>
1952
1953         * plugins/elements/gstmultiqueue.c:
1954         * plugins/elements/gstmultiqueue.h:
1955         Fix dead-lock in underrun_cb
1956
1957 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1958
1959         * docs/design/part-states.txt:
1960         Fix device open/close docs.
1961
1962 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
1963
1964         * ChangeLog:
1965           Mention bugnumber for last commit.
1966
1967 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
1968
1969         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
1970
1971         * docs/manual/manual.xml:
1972         - Reorganised the previous "introduction" bundle into Foreword,
1973         Introduction, and About GStreamer. The two first are <preface>
1974         docbook elements. The later is the first part of the book.
1975         - added intro-gstreamer.xml (content partially from
1976         intro-preface.xml)
1977         - moved appendix-win32.xml into appendix-integration.xml
1978
1979         * docs/manual/intro-preface.xml: gstreamer section moved...
1980         * docs/manual/intro-gstreamer.xml: ...here. new file.
1981
1982         * docs/manual/appendix-win32.xml: removed file. Content moved...
1983         * docs/manual/appendix-integration.xml: ...here.
1984         
1985         * docs/manual/highlevel-components.xml: section about GstEditor moved...
1986         * docs/manual/appendix-checklist.xml: ...here.
1987         
1988         Fixes: 538764
1989
1990 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
1991
1992         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
1993
1994         * docs/manual/basics-helloworld.xml:
1995         * docs/manual/hello-world.fig:
1996           - Explicitely include glib.h.
1997           - Do not use global variables.
1998           - Use g_printerr() instead of g_print().
1999           - Minor formating/renaming to increase readibility.
2000           - Renamed new_pad() to on_pad_added()
2001           - Improved explenatory comments.
2002           - renamed ogg parser to ogg demuxer
2003           - Use "autoaudiosink" instead of "alsasink".
2004           Fixes: #538619
2005
2006 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2007
2008         * ChangeLog:
2009           Remove cvs conflict marker.
2010
2011 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2012
2013         * docs/README:
2014           Document that for plgin-docs we extraxt he short-desc from the element
2015           details.
2016
2017         * docs/design/part-states.txt:
2018           Tell that devices should be closed in PAUSED -> READY.
2019
2020         * docs/manual/README:
2021           Document how tests in the manual are handled.
2022
2023         * docs/manuals.mak:
2024           Typo in comment.
2025
2026 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2027
2028         * gst/gstbin.c: (bin_query_latency_fold):
2029         Only care about latency min and max when the sink is actually a live
2030         sink.
2031
2032 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2033
2034         * docs/design/part-block.txt:
2035         Fix typo.
2036
2037         * docs/design/part-element-transform.txt:
2038         Add notes about why transform needs to know input/output sizes.
2039         Add some issues that need to be solved.
2040         Add some more use cases.
2041
2042         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2043         (gst_test_trans_class_init), (result_sink_chain),
2044         (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
2045         (gst_test_trans_push), (gst_test_trans_pop):
2046         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2047         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2048         (set_caps_1), (set_caps_ct1), (transform_ct1),
2049         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2050         (gst_basetransform_suite):
2051         Add suport for different pad templates and buffer-alloc.
2052         Add more checks for caps and buffer-alloc.
2053         Add checks for proxy buffer alloc.
2054         Add unit test for copy transform.
2055
2056 2008-06-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2057
2058         Patch by: Luc Pionchon  <luc.pionchon@nokia.com>
2059
2060         * docs/manual/appendix-integration.xml:
2061         * docs/manual/appendix-licensing.xml:
2062         * docs/manual/basics-elements.xml:
2063         * docs/manual/basics-helloworld.xml:
2064         * docs/manual/basics-pads.xml:
2065         * docs/manual/highlevel-components.xml:
2066         * docs/manual/highlevel-xml.xml:
2067         * docs/manual/intro-basics.xml:
2068         * docs/manual/intro-preface.xml:
2069           Typo and formatting fixes (#538594).
2070
2071 2008-06-24  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2072
2073         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2074         Fix some memory leaks and uses of object instances that we don't
2075         actually own.
2076
2077 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
2078
2079         * plugins/elements/gstmultiqueue.c:
2080         Add functionality to extra-size-buffers property.
2081
2082 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
2083
2084         * plugins/elements/gstmultiqueue.c:
2085         Don't update the cur_time on GST_CLOCK_TIME_NONE (#537804) and don't
2086         activate the pads if they are added in STATE_NULL.
2087
2088 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
2089
2090         * docs/libs/gstreamer-libs-sections.txt:
2091         Add new API to doc
2092         * libs/gst/check/gstcheck.c:
2093         * libs/gst/check/gstcheck.h:
2094         API: gst_check_teardown_pad_by_name
2095
2096 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
2097
2098         * libs/gst/check/gstcheck.c:
2099         * libs/gst/check/gstcheck.h:
2100         Also setup request pads and allow setup pads by name (#537812)
2101         API: gst_check_setup_src_pad_by_name
2102         API: gst_check_setup_sink_pad_by_name
2103
2104 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2105
2106         * tests/check/gst/gstbuffer.c:
2107         * tests/check/pipelines/parse-launch.c:
2108           Use HAVE_VALGRIND_H some more.
2109
2110 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2111
2112         * scripts/cvs-update.sh:
2113           Pass arguments to make.
2114           Run autoregen.sh if Makefile is not there.
2115
2116 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2117
2118         * configure.ac:
2119         * gst/gstinfo.c:
2120           Don't assume that <valgrind/valgrind.h> exists just because
2121           the binary is there.
2122
2123 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2124
2125         * tests/check/Makefile.am:
2126         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2127         (gst_test_trans_class_init), (gst_test_trans_init),
2128         (gst_test_trans_set_data), (result_sink_chain),
2129         (gst_test_trans_new), (gst_test_trans_free), (gst_test_trans_push),
2130         (gst_test_trans_pop):
2131         * tests/check/libs/transform1.c: (GST_START_TEST),
2132         (transform_ip_1), (set_caps_1), (gst_basetransform_suite):
2133         Add some test basetransform element and the beginnings of various
2134         unit tests for it.
2135
2136 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2137
2138         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
2139         Increase code readability.
2140         Don't try to compare buffer offsets when ther are invalid.
2141
2142 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
2143
2144         * docs/design/Makefile.am:
2145           Dist some more design docs.
2146
2147         * docs/random/moving-plugins:
2148           Small addition: good plugins mustn't have functional code
2149           within assertion macros.
2150
2151 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2152
2153         * docs/design/draft-framestep.txt:
2154         Some ideas about a framestep API
2155
2156         * docs/design/part-element-transform.txt:
2157         Start design and use cases for basetransform in order to get it
2158         fixed soon.
2159
2160 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
2161
2162         * gst/gsttaglist.h:
2163           In GST_TAG_ATTACHEMENT docs, mention that the file name needs to
2164           be in UTF-8 encoding.
2165
2166 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
2167
2168         * gst/gstbus.c:
2169           Make it known that gst_bus_poll() is pure evil (fixes #538810).
2170
2171 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2172
2173         * plugins/elements/gstcapsfilter.c:
2174         * plugins/elements/gstfakesink.c:
2175         * plugins/elements/gstfakesrc.c:
2176         * plugins/elements/gstfdsink.c:
2177         * plugins/elements/gstfdsrc.c:
2178         * plugins/elements/gstfilesink.c:
2179         * plugins/elements/gstfilesrc.c:
2180         * plugins/elements/gstidentity.c:
2181         * plugins/elements/gstmultiqueue.c:
2182         * plugins/elements/gstqueue.c:
2183         * plugins/elements/gsttee.c:
2184         * plugins/elements/gsttypefindelement.c:
2185           Remove short_description. Add basic docs for gsttypefindelement.
2186           Simplify markup for fakesrc/fdsrc.
2187
2188 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2189
2190         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
2191         Added Since doc.
2192
2193 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2194
2195         Patch by: Joel Larsson <tilljoel at gmail dot com>
2196
2197         * docs/plugins/gstreamer-plugins.args:
2198         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
2199         (gst_fd_src_init), (gst_fd_src_update_fd),
2200         (gst_fd_src_set_property), (gst_fd_src_get_property),
2201         (gst_fd_src_create):
2202         * plugins/elements/gstfdsrc.h:
2203         Add timeout property like udpsrc. Fixes #538628.
2204         Add some more docs and example pipelines.
2205
2206 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2207
2208         * docs/libs/gstreamer-libs-sections.txt:
2209         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2210         (gst_base_sink_query_latency), (gst_base_sink_set_render_delay),
2211         (gst_base_sink_get_render_delay), (gst_base_sink_wait_eos),
2212         (gst_base_sink_do_sync):
2213         * libs/gst/base/gstbasesink.h:
2214         * win32/common/libgstbase.def:
2215         Add method to allow sinks to specify additional delay between the sync
2216         times and the actual rendering of the data.
2217         API: gst_base_sink_set_render_delay()
2218         API: gst_base_sink_get_render_delay()
2219
2220 2008-06-20  Jan Schmidt  <jan.schmidt@sun.com>
2221
2222         * configure.ac:
2223         Bump version number back to dev -> 0.10.20.1
2224
2225 2008-06-20  Sebastian Dröge  <slomo@circular-chaos.org>
2226
2227         * docs/gst/gstreamer-sections.txt:
2228         * gst/gsttaglist.c: (_gst_tag_initialize):
2229         * gst/gsttaglist.h:
2230         API: Add GST_TAG_ATTACHMENT for generic file attachments to streams.
2231         Fixes bug #538568.
2232
2233 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2234
2235         * libs/gst/controller/gstcontroller.c:
2236           Revert one change, that make ret value possible uninitialized.
2237
2238 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2239
2240         * libs/gst/controller/gstcontroller.c:
2241           Use freeze/thaw notify to sync notify emission a bit (its also more
2242           efficient). Move debug output to LOG (is called a lot in a loop).
2243           Always unset g_values if the have been initialized.
2244
2245 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2246
2247         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2248         (gst_base_sink_wait_eos), (gst_base_sink_event):
2249         If we have not seen a buffer before EOS, use the segment values to
2250         report the current position instead of invalid positions.
2251
2252 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2253
2254         * docs/plugins/tmpl/.cvsignore:
2255         * tests/check/gst/.cvsignore:
2256           Ignore more.
2257
2258 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2259
2260         * libs/gst/controller/gstinterpolation.c:
2261         * libs/gst/controller/gstinterpolationcontrolsource.c:
2262         * tests/check/libs/controller.c:
2263           Rewrite handling of default values. Fix overflow with unsigned types
2264           in linear interpolation. Remove now obsolete _first_value() function.
2265           Add more tests. Fixes #538201.
2266
2267 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2268
2269         * libs/gst/base/gstbasetransform.c:
2270         (gst_base_transform_class_init), (gst_base_transform_init),
2271         (gst_base_transform_transform_caps),
2272         (gst_base_transform_prepare_output_buffer):
2273         Add debug info.
2274         When a buffer is writable, its metadata is also writable so we don't
2275         need to subbuffer (which then makes the buffer not-writable anymore).
2276
2277 === release 0.10.20 ===
2278
2279 2008-06-18  Jan Schmidt <jan.schmidt@sun.com>
2280
2281         * configure.ac:
2282           releasing 0.10.20, "You Crazy Diamond"
2283
2284 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
2285
2286         * configure.ac:
2287         0.10.19.3 pre-release
2288
2289 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
2290
2291         * configure.ac:
2292         * gst/gstpreset.c:
2293         Rename DATADIR to GST_DATADIR to avoid build problems
2294         on win32. Patch By: David Schleef <ds@schleef.org>
2295         Fixes: #536857
2296
2297 2008-06-05  Sebastian Dröge  <slomo@circular-chaos.org>
2298
2299         * configure.ac:
2300         Explicitely link with -ldl if dladdr() is found there. Before it was
2301         implicitely linked by the gmodule pkgconfig file but in glib 2.17.0
2302         -ldl has moved from Libs to Libs.private. Fixes bug #536744.
2303
2304 2008-06-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
2305
2306         * gst/gsterror.c: (_gst_stream_errors_init):
2307           Fix typo (spotted by Fabricio Godoy, #536723).
2308
2309 2008-06-05  Jan Schmidt  <jan.schmidt@sun.com>
2310
2311         * configure.ac:
2312         0.10.19.2 pre-release
2313
2314 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
2315
2316         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_async_enabled),
2317         (gst_base_sink_set_ts_offset), (gst_base_sink_perform_qos):
2318         Add some debug.
2319         Make sure we don't generate invalid QoS messages.
2320
2321 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
2322
2323         * gst/gstevent.c: (gst_event_new_qos):
2324         Add some assert and docs for invalid input to the qos function.
2325
2326 2008-05-30  Wim Taymans  <wim.taymans@collabora.co.uk>
2327
2328         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2329         (gst_base_sink_get_position):
2330         The reported position must always be smaller than the last seen
2331         timestamps (or timestamp + duration for reverse).
2332
2333 2008-05-30  Sebastian Dröge  <slomo@circular-chaos.org>
2334
2335         Patch by: Rob Bradford <rob at robster dot org dot uk>
2336
2337         * gst/gstregistry.c: (gst_registry_scan_path_level):
2338         Don't recurse into .debug directories as some distros install
2339         the debugging symbols next to the plugins in .debug directories
2340         and dlopen() crashes on them sometimes. Fixes bug #508070.
2341
2342         Add FIXME for 0.11 to not recurse into directories at all because
2343         it's very inconsistent to the behaviour of other PATH environment
2344         variables.
2345
2346 2008-05-29  Wim Taymans  <wim.taymans@collabora.co.uk>
2347
2348         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2349         (gst_base_sink_get_position_last), (gst_base_sink_get_position):
2350         Fix position query range checks in reverse playback.
2351
2352 2008-05-29  Sebastian Dröge  <slomo@circular-chaos.org>
2353
2354         * gst/gstelement.c:
2355         * gst/gstelement.h:
2356         Deprecated gst_element_get_pad() as it can't be used sanely. It's not
2357         clear of the reference to the resulting pad must be released later
2358         or not, resulting in possible leaks. Fixes bug #533865.
2359
2360 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
2361
2362         Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
2363
2364         * gst/gstelementfactory.c:
2365         Small doc fix. Fixes #535285.
2366
2367 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
2368
2369         Based on patch by: Bjarne Rosengren <bjarne at axis dot com>
2370
2371         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
2372         (gst_base_src_get_range), (gst_base_src_pad_get_range),
2373         (gst_base_src_loop), (gst_base_src_set_flushing),
2374         (gst_base_src_change_state):
2375         Make sending an EOS event to the basesrc non-blocking even if the
2376         implementation does blocking waits in the create function. This is done
2377         by unlocking the create function when EOS is sent.
2378         Fixes #535218.
2379
2380 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
2381
2382         * tools/gst-inspect.c: (print_element_properties_info):
2383         If possible print the element type of GValueArray properties.
2384
2385 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
2386
2387         * gst/gstiterator.c:
2388         Remove an unused field from the private GstListIterator struct.
2389
2390 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2391
2392         * libs/gst/controller/gstcontroller.c:
2393           Add parameter guards.
2394
2395 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2396
2397         * tests/check/gst/gstpipeline.c:
2398           Revert test change and add comment why it should not work.
2399
2400 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2401
2402         * tests/check/gst/gstpipeline.c:
2403           Extending the test a little to verify that we also get the NULL state-
2404           change message.
2405
2406 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
2407
2408         * gst/gstpreset.c: (gst_preset_default_get_meta),
2409           (gst_preset_get_preset_names), (gst_preset_get_property_names),
2410           (gst_preset_load_preset), (gst_preset_save_preset),
2411           (gst_preset_rename_preset), (gst_preset_delete_preset),
2412           (gst_preset_set_meta):
2413           Add Since: markers to docs blurbs.
2414
2415         * win32/common/libgstreamer.def:
2416           Add recently-added API.
2417
2418 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2419
2420         Patch by: Stefan Kost  <ensonic@users.sf.net>
2421
2422         * configure.ac:
2423         Add DATADIR for storing presets.
2424
2425         * docs/gst/gstreamer-docs.sgml:
2426         * docs/gst/gstreamer-sections.txt:
2427         * docs/gst/gstreamer.types.in:
2428         Add GstPreset to docs.
2429
2430         * gst/Makefile.am:
2431         * gst/gst.h:
2432         * gst/gstpreset.c: (preset_get_paths), (preset_skip_property),
2433         (preset_open_and_parse_header), (preset_parse_version),
2434         (preset_merge), (preset_get_keyfile),
2435         (gst_preset_default_get_preset_names),
2436         (gst_preset_default_get_property_names),
2437         (gst_preset_default_load_preset),
2438         (gst_preset_default_save_presets_file),
2439         (gst_preset_default_save_preset),
2440         (gst_preset_default_rename_preset),
2441         (gst_preset_default_delete_preset), (gst_preset_default_set_meta),
2442         (gst_preset_default_get_meta), (gst_preset_default_randomize),
2443         (gst_preset_default_reset), (gst_preset_get_preset_names),
2444         (gst_preset_get_property_names), (gst_preset_load_preset),
2445         (gst_preset_save_preset), (gst_preset_rename_preset),
2446         (gst_preset_delete_preset), (gst_preset_set_meta),
2447         (gst_preset_get_meta), (gst_preset_class_init),
2448         (gst_preset_base_init), (gst_preset_get_type):
2449         * gst/gstpreset.h:
2450         Add GstPreset to core. Fixes #396779
2451
2452         * tests/check/Makefile.am:
2453         * tests/check/gst/gstpreset.c: (gst_preset_test_get_property),
2454         (gst_preset_test_set_property), (gst_preset_test_class_init),
2455         (gst_preset_test_base_init), (gst_preset_test_get_type),
2456         (gst_preset_test_plugin_init), (GST_START_TEST),
2457         (remove_preset_file), (test_setup), (test_teardown),
2458         (gst_preset_suite):
2459         Add GstPreset unit tests.
2460
2461 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2462
2463         * gst/gstpad.c: (gst_pad_event_default_dispatch):
2464         The default event function on a sinkpad should return TRUE when
2465         there are no internal links but should collect the return values from
2466         the internal links otherwise.
2467
2468 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2469
2470         * plugins/elements/gsttypefindelement.c:
2471         (gst_type_find_element_src_event),
2472         (gst_type_find_element_handle_event):
2473         Use faster and safer _pad_push_event().
2474
2475 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
2476
2477         * docs/gst/gstreamer-sections.txt:
2478         * gst/gstutils.c: (element_find_unlinked_pad),
2479           (gst_bin_find_unlinked_pad), (gst_bin_find_unconnected_pad),
2480         * gst/gstutils.h:
2481           API: add gst_bin_find_unlinked_pad()
2482           API: deprecate gst_bin_find_unconnected_pad() (#401456)
2483
2484 2008-05-26  Peter Kjellerstedt  <pkj@axis.com>
2485
2486         * gst/gstclock.c:
2487         * gst/gstclock.h:
2488         * gst/gsttask.c:
2489         * gst/gsttask.h:
2490         Fixed a bunch of typos.
2491
2492 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2493
2494         * gst/gstpad.h:
2495         * gst/gstutils.c: (gst_element_unlink), (element_find_unlinked_pad),
2496           (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description),
2497           (gst_parse_bin_from_description_full):
2498         * gst/gstutils.h:
2499           'unconnected pad' -> 'unlinked pad' for consistency (#401456).
2500
2501 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2502
2503         * docs/pwg/advanced-tagging.xml:
2504           Small docs update, can't be bothered to rewrite the nonsensical
2505           examples right now.
2506
2507 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2508
2509         * gst/gstevent.h:
2510           Clarify docs for GST_SEEK_TYPE_CUR (#534505).
2511
2512 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2513
2514         * gst/parse/grammar.y:
2515           Remove unneeded casts.
2516
2517 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2518
2519         * gst/parse/grammar.y:
2520         * tests/check/pipelines/parse-launch.c:
2521           Get all missing elements from a parse launch string if possible
2522           (ie. if the FATAL_ERRORS flag has been specified). Fixes #528178.
2523
2524 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2525
2526         * tests/check/Makefile.am:
2527         * tests/check/pipelines/parse-launch.c:
2528           Add some unit tests for the new gst_parse_launch*_full() API.
2529           (Exposes a previously-existing memory leak in the error code
2530           path, so adding to VALGRIND_TO_FIX for now).
2531
2532 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2533
2534         * docs/gst/gstreamer-sections.txt:
2535         * gst/gst.c: (init_post):
2536         * gst/gst_private.h: (_GstParseContext):
2537         * gst/gstparse.c: (gst_parse_error_quark), (gst_parse_context_new),
2538           (gst_parse_context_free), (gst_parse_context_get_missing_elements),
2539           (gst_parse_launchv), (gst_parse_launchv_full), (gst_parse_launch),
2540           (gst_parse_launch_full):
2541         * gst/gstparse.h: (GST_PARSE_FLAG_NONE), (GST_PARSE_FLAG_FATAL_ERRORS),
2542           (GstParseFlags), (GstParseContext):
2543         * gst/gstutils.c: (gst_parse_bin_from_description),
2544           (gst_parse_bin_from_description_full):
2545         * gst/gstutils.h:
2546         * gst/parse/grammar.y:
2547         * gst/parse/types.h:
2548         * win32/common/libgstreamer.def:
2549           Add new gst_parse_*_full API (#528178):
2550           API: gst_parse_launch_full()
2551           API: gst_parse_launchv_full()
2552           API: gst_parse_bin_from_description_full()
2553           API: gst_parse_context_new()
2554           API: gst_parse_context_free()
2555           API: gst_parse_context_get_missing_elements()
2556
2557 2008-05-23  Stefan Kost  <ensonic@users.sf.net>
2558
2559         patch by: Suresh Kumar P <sureshkumar.pp@gmail.com>
2560
2561         * docs/faq/gst-uninstalled:
2562           Also support ffmpeg in gst-uninstalled.
2563
2564 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
2565
2566         * configure.ac:
2567         After discussion on IRC use the binary registry as default
2568         but allow to disable it with --disable-binary-registry.
2569
2570         * win32/common/libgstreamer.def:
2571         Add the two new symbols for the binary registry.
2572
2573 2008-05-22  Tim-Philipp Müller  <tim.muller at collabora co uk>
2574
2575         * gst/gstparse.c: (_gst_parse_escape), (gst_parse_launchv):
2576         * gst/gstutils.c: (gst_parse_bin_from_description):
2577         * gst/parse/grammar.y: (graph):
2578           More guards against bad input; typo fix; some minor clean-ups.
2579
2580 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
2581
2582         Patch by: Sjoerd Simons <sjoerd at luon dot net>
2583
2584         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2585         If nothing else can be used, use the last buffer's start time as
2586         the segment's last stop. Fixes bug #534258.
2587
2588 2008-05-21  Tim-Philipp Müller  <tim.muller at collabora co uk>
2589
2590         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
2591           Move size sanity check to the right place: downstream may return
2592           a buffer with a smaller size if the buffer caps are different than
2593           the requested ones, as may happen when doing reverse negotiation.
2594
2595 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2596
2597         * plugins/elements/gstfilesink.c: (gst_file_sink_set_location),
2598         (gst_file_sink_render):
2599         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location),
2600         (gst_file_src_start):
2601         Small cleanups. Add note adbout g_fopen() on windows and why we don't
2602         use it yet.
2603
2604 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2605
2606         * gst/gstpad.c: (gst_pad_load_and_link):
2607         * gst/gstutils.c: (gst_element_link_pads),
2608         (gst_element_unlink_pads):
2609         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2610         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
2611         (gst_check_teardown_sink_pad),
2612         (gst_check_element_push_buffer_list):
2613         * tests/check/elements/fakesink.c: (GST_START_TEST):
2614         * tests/check/elements/filesink.c:
2615         * tests/check/elements/filesrc.c: (GST_START_TEST):
2616         * tests/check/elements/multiqueue.c: (setup_multiqueue),
2617         (mq_sinkpad_to_srcpad):
2618         * tests/check/elements/tee.c: (GST_START_TEST):
2619         * tests/check/generic/sinks.c: (GST_START_TEST):
2620         * tests/check/gst/gstbin.c: (GST_START_TEST):
2621         * tests/check/gst/gstevent.c: (GST_START_TEST):
2622         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2623         * tests/check/gst/gstpipeline.c: (GST_START_TEST):
2624         * tests/check/gst/gstquery.c: (GST_START_TEST):
2625         * tests/check/gst/gstutils.c: (GST_START_TEST):
2626         * tests/check/libs/basesrc.c: (GST_START_TEST):
2627         * tests/check/pipelines/parse-launch.c: (run_delayed_test),
2628         (gst_parse_test_element_change_state):
2629         Don't use gst_element_get_pad().
2630
2631 2008-05-21  Felipe Contreras  <felipe.contreras@gmail.com>
2632
2633         * docs/Makefile.am:
2634         Fix installing plugin documentation when gtk-doc is disabled.
2635
2636 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2637
2638         * docs/manual/advanced-autoplugging.xml:
2639         * docs/manual/basics-helloworld.xml:
2640         * docs/manual/basics-pads.xml:
2641         * docs/manual/highlevel-components.xml:
2642         Avoid using a bad function in the example code.
2643
2644 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2645
2646         * gst/gstclock.c: (gst_clock_set_calibration):
2647         Fix debug of the new clock rate.
2648
2649 2008-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
2650
2651         * win32/common/libgstbase.def:
2652         Add gst_base_sink_wait_clock() to the exported symbols.
2653
2654 2008-05-20  Sebastian Dröge  <slomo@circular-chaos.org>
2655
2656         Patch by: Tim-Philipp Müller  <tim.muller at collabora co uk>
2657
2658         * libs/gst/base/gstbasetransform.c:
2659         (gst_base_transform_sink_event):
2660         Unref events that the GstBaseTransform::event vfunc didn't want to
2661         have forwarded by the base class. Closes a leak in identity.
2662         Fixes bug #446763.
2663
2664 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2665
2666         * docs/libs/gstreamer-libs-sections.txt:
2667         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock):
2668         * libs/gst/base/gstbasesink.h:
2669         Expose a method that was previously used internally to synchronize
2670         against the clock because it can be useful for subclasses too.
2671         API: GstBaseSink::gst_base_sink_wait_clock()
2672
2673 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
2674
2675         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
2676           Add sanity check to make sure we don't get smaller buffers
2677           than requested (and fallback to normal buffer alloc if we do).
2678
2679 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2680
2681         * libs/gst/base/gstbasesink.c: (gst_base_sink_adjust_time),
2682         (gst_base_sink_wait_clock), (gst_base_sink_wait_eos),
2683         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked):
2684         Refactor adjusting the running_time with latency and offset into a
2685         separate method.
2686         When doing clipping, we still want to use the subclass get_times method,
2687         just in case the DURATION or TIMESTAMP are not set.
2688
2689 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
2690
2691         * docs/gst/gstreamer-sections.txt:
2692         * gst/gsttypefind.c: (gst_type_find_suggest_simple):
2693         * gst/gsttypefind.h:
2694         * win32/common/libgstreamer.def:
2695           API: add gst_type_find_suggest_simple(), #533740.
2696
2697 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
2698
2699         * libs/gst/base/gstbasesrc.c: (gst_base_src_start):
2700           Use right error code when typefinding fails, so we can use
2701           the default (translated) error messages.
2702
2703 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2704
2705         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
2706         (gst_base_src_start):
2707         When the subclass did not set caps on outgoing buffers, configure the
2708         caps we negotiated on the source pad.
2709         When the typefind helper does not find caps, error out properly instead
2710         of doing things with NULL caps.
2711
2712 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
2713
2714         * gst/gsttypefind.h:
2715           Tabs to spaces, oh yes!
2716
2717 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
2718
2719         * tests/check/gst/gstcaps.c: (test_intersect2), (gst_caps_suite):
2720           Add David's and Benjamin's tests for array intersection to the
2721           unit test suite (#147931).
2722
2723 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
2724
2725         * gst/gstevent.c:
2726           Document that gst_event_new_tag() and gst_event_new_navigation()
2727           take ownership of the taglist/structure passed to them. (#533635).
2728
2729 2008-05-17  Jan Schmidt  <jan.schmidt@sun.com>
2730
2731         * docs/Makefile.am:
2732         Don't descend into the plugins dir if plugin docs building
2733         is disabled.
2734
2735         * docs/README:
2736         Add a note about the new type:GTypeName syntax for the plugin
2737         documentation .types file.
2738
2739 2008-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
2740
2741         * gst/gstmessage.c: (gst_message_new_error),
2742         (gst_message_new_warning), (gst_message_new_info):
2743         * gst/gstmessage.h:
2744         Mark the debug string parameters as const. Fixes bug #533490.
2745
2746 2008-05-16  Sebastian Dröge  <slomo@circular-chaos.org>
2747
2748         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
2749         Sort buffer cache list by end offsets. This makes sure that we don't
2750         stop to search for a cached buffer that contains the requested data
2751         too early.
2752         Also read a minimum of 4k bytes instead of 512 bytes as this is a bit
2753         more efficient. Fixes bug #459862.
2754
2755 2008-05-14  Stefan Kost  <ensonic@users.sf.net>
2756
2757         * gst/gstinfo.c:
2758           Explain why we copy the list.
2759
2760         * gst/gstpipeline.c:
2761           Improve docs.
2762
2763         * gst/gstutils.c:
2764           Add one debug-log statement to help tracing probelms with linking pads.
2765
2766 2008-05-12  Stefan Kost  <ensonic@users.sf.net>
2767
2768         * tests/check/gst/gstinfo.c:
2769         Add a test for removing the default log handler. Seems to fail under
2770         windows.
2771
2772 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
2773
2774         * gst/gstpad.c: (gst_pad_peer_accept_caps):
2775         Release pad lock before calling out to avoid a possible deadlock.
2776
2777 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
2778
2779         * gst/parse/grammar.y:
2780         Remove unneeded value unset.
2781
2782         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2783         Add unit test for de/serialization of caps.
2784
2785 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2786
2787         * plugins/elements/gstfakesink.c:
2788         (marshal_VOID__MINIOBJECT_OBJECT), (gst_fake_sink_class_init):
2789         * plugins/elements/gstfakesrc.c: (marshal_VOID__MINIOBJECT_OBJECT),
2790         (gst_fake_src_class_init):
2791         Use custom marshalers that take GstMiniObject as first parameter.
2792         Using OBJECT as parameter while a GstMiniObject is given will lead
2793         to assertions if built with G_ENABLE_DEBUG. Fixes bug #525532.
2794
2795 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2796
2797         * plugins/elements/gsttypefindelement.c:
2798         (gst_type_find_element_handle_event),
2799         (gst_type_find_element_send_cached_events),
2800         (gst_type_find_element_change_state):
2801         Clean up on FLUSH_STOP and not FLUSH_START. Forward both events
2802         immediately.
2803
2804 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2805
2806         * plugins/elements/gsttypefindelement.c:
2807         (gst_type_find_handle_src_query), (stop_typefinding),
2808         (gst_type_find_element_handle_event),
2809         (gst_type_find_element_send_cached_events),
2810         (gst_type_find_element_change_state):
2811         Forward FLUSH_START events immediately and clean up instead of
2812         caching them.
2813
2814 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2815
2816         Patch by: Sjoerd Simons <sjoerd at luon dot net>
2817
2818         * libs/gst/base/gstbasetransform.c:
2819         (gst_base_transform_buffer_alloc):
2820         Check the caps of the buffer returned by gst_pad_alloc_buffer() and
2821         fall back to default negotiation in the chain function if the caps
2822         are different from what was requested. Fixes bug #526768.
2823
2824 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
2825
2826         * gst/gstsegment.c:
2827         * tests/check/gst/gstsegment.c:
2828           No, let's not use g_slice_{dup|copy} here, since they only exist
2829           since GLib 2.14 and we still depend only on >= 2.12. Also add
2830           unit test for gst_segment_copy().
2831
2832 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
2833
2834         * gst/gstutils.h: (GST_BOILERPLATE_FULL):
2835           Try to fix 'dereferencing type-punned pointer will break strict
2836           aliasing rules' warnings with C++ compilers and GLib >= 2.14.0: GLib
2837           changed the default GType typedef from gulong to gsize at some point,
2838           but kept GType typedef'ed to gulong for C++ for ABI reasons; the
2839           g_once_* functions all take a gsize * though, so work around the type
2840           mismatch for C++ by doing everything in gsize and casting to GType
2841           later.
2842
2843 2008-05-09  Jan Schmidt  <jan.schmidt@sun.com>
2844
2845         * plugins/elements/gstmultiqueue.c:
2846         Add documentation for the signals to push our core plugin docs
2847         coverage back up to 100%.
2848
2849 2008-05-08  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
2850
2851         * gst/gstinfo.h (GST_FUNCTION):
2852           Reverted GST_FUNCTION to the old version as we don't want the
2853           full signature in C++ code. Also added support for MSVC.
2854
2855 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
2856
2857         * gst/gstutils.h:
2858         Intern the type name string, similar to what G_DEFINE_TYPE does.
2859
2860 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
2861
2862         * gst/gstutils.h:
2863         Make GST_BOILERPLATE thread-safe if building with GLib 2.14 or newer.
2864
2865 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
2866
2867         Based on a patch by: Sjoerd Simons <sjoerd at luon dot net>
2868
2869         * libs/gst/base/gstbasetransform.c:
2870         (gst_base_transform_buffer_alloc):
2871         Don't passthrough buffer allocation too easily if the caps change.
2872         This breaks when working in passthrough mode and upstream changes
2873         it's caps. Fixes bug #526768.
2874
2875 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
2876
2877         * gst/gstinfo.c (gst_debug_log_valist):
2878           Improved the __FILE__ part of debug output for MSVC.
2879
2880 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
2881
2882         * libs/gst/base/gstbasesrc.c (gst_base_src_default_query):
2883           Declaration after statement fix for compilers like MSVC.
2884
2885 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
2886
2887         * win32/common/config.h.in:
2888           Don't define GST_FUNCTION, if GLib supports MSVC we'd much rather
2889           use the real thing than having "???" unconditionally.
2890
2891 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
2892
2893         * gst/gstinfo.h (GST_FUNCTION):
2894           Made GST_FUNCTION an alias for G_STRFUNC to avoid duplication.
2895
2896 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
2897
2898         * libs/gst/base/gstadapter.c: (gst_adapter_available_fast):
2899         Small code cleanup.
2900
2901         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
2902         (gst_base_sink_set_flushing):
2903         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
2904         Fix some comments.
2905
2906 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
2907
2908         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2909         (gst_fake_src_init), (gst_fake_src_set_property),
2910         (gst_fake_src_get_property), (gst_fake_src_start):
2911         * plugins/elements/gstfakesrc.h:
2912         Added format property to control the format of the newsegment events.
2913         API: GstFakeSrc:format
2914
2915 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
2916
2917         * win32/common/libgstreamer.def:
2918         Add gst_pad_has_name() to the exported symbols.
2919
2920 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
2921
2922         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
2923         * libs/gst/base/gstbasetransform.c:
2924         (gst_base_transform_prepare_output_buffer):
2925         Don't allow negative sizes when allocating new buffers.
2926         Fixes bug #461253.
2927
2928 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
2929
2930         Patch by: Sjoerd Simons <sjoerd at luon net>
2931
2932         * gst/gstbus.c: (gst_bus_source_dispatch):
2933           Don't print a warning if the queue is empty when we try to pop
2934           here. That could happen if another thread or callback set the
2935           bus to flushing between the source's check/prepare and the
2936           dispatch being called (#531538).
2937
2938 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
2939
2940         * plugins/elements/gstmultiqueue.c:
2941           Small docs fix.
2942         
2943 2008-05-05  Sebastian Dröge  <slomo@circular-chaos.org>
2944
2945         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2946         Add unit test for deserializing uint64s and check some really large
2947         numbers in the int64 test.
2948
2949 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
2950
2951         * tools/gst-inspect.c: (n_print), (print_hierarchy),
2952         (print_interfaces), (print_element_properties_info),
2953         (print_signal_info):
2954         Use "%s" as format string instead of printing strings directly.
2955
2956 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
2957
2958         * gst/gstclock.c: (gst_clock_set_calibration):
2959         Make some checks actually useful.
2960
2961         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
2962         Remove some unused code. Unsigned integers tend to be >= 0.
2963
2964 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
2965
2966         * gst/gstminiobject.c: (gst_value_get_mini_object):
2967           Fix 'Since:' version in gst_value_dup_mini_object() docs blurb: this
2968           function was not in the unscheduled 0.10.19 release.
2969
2970 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
2971
2972         * gst/gstregistry.c: (gst_registry_scan_path_level):
2973           Only print one log message per non-plugin file.
2974
2975 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
2976
2977         * gst/gstinfo.c: (gst_debug_log_default):
2978           Fix alignment of debug log columns on 64-bit.
2979
2980 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
2981
2982         * docs/libs/Makefile.am:
2983         * docs/libs/gstreamer-libs-sections.txt:
2984           Ignore private controller headers for docs.
2985
2986 2008-05-03  Sebastian Dröge  <slomo@circular-chaos.org>
2987
2988         * libs/gst/controller/gstcontrollerprivate.h:
2989         * libs/gst/controller/gsthelper.c:
2990         * libs/gst/controller/gstinterpolation.c:
2991         * libs/gst/controller/gstinterpolationcontrolsource.c:
2992         (gst_interpolation_control_source_set_interpolation_mode):
2993         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
2994         * libs/gst/controller/lib.c:
2995         Move some private declarations into private headers.
2996
2997 2008-05-02  Sebastian Dröge  <slomo@circular-chaos.org>
2998
2999         * gst/gstdebugutils.c: (debug_dump_element_pad):
3000         Remove some code that is unused after Stefan's refactoring and uses
3001         uninitialized variables now, resulting in a compiler warning.
3002
3003 2008-05-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
3004
3005         * gst/gstregistry.c: (gst_registry_scan_path_level):
3006           Run g_str_has_suffix() only on the file name, not the
3007           entire file path.
3008
3009 2008-04-30  Tim-Philipp Müller  <tim.muller at collabora co uk>
3010
3011         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream):
3012           Since we're not called only from the chain function any longer,
3013           we can't assume that there's always data in the queue, so move
3014           the is_full check to the beginning of the loop (otherwise we'd
3015           hit the assert when changing the limit properties while the
3016           queue is empty or not running yet).
3017           Also, only set a discont if items were actually removed from
3018           the queue.
3019
3020         * tests/check/elements/queue.c: (test_leaky_downstream):
3021           Test case for the above.
3022
3023 2008-04-30  Wim Taymans  <wim.taymans@collabora.co.uk>
3024
3025         Patch by: Jonas Holmberg <jonas dot holmberg at axis dot com>
3026
3027         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream),
3028         (gst_queue_chain), (queue_capacity_change),
3029         (gst_queue_set_property):
3030         When changing thr max capacity of a leaky queue, immediatly drop buffers
3031         instead of waiting for a push on the sinkpad. Fixes #530637.
3032
3033 2008-04-30  Stefan Kost  <ensonic@users.sf.net>
3034
3035         * gst/gstdebugutils.c:
3036           Refactor code and fix handling of ghostpads and their proxypads.
3037
3038 2008-04-29  Wim Taymans  <wim.taymans@collabora.co.uk>
3039
3040         * docs/gst/gstreamer-sections.txt:
3041         * gst/gstevent.c: (gst_event_has_name):
3042         * gst/gstevent.h:
3043         * tests/check/gst/gstevent.c: (GST_START_TEST):
3044         Add method to conveniently check the name of a custom event with
3045         gst_event_has_name().
3046         Reformat the event docs so that related methods are put together instead
3047         of the default alphabetical sort.
3048         Update unit test with new method.
3049         API: GstEvent::gst_event_has_name()
3050
3051 2008-04-28  Michael Smith <msmith@songbirdnest.com>
3052
3053         * libs/gst/check/Makefile.am:
3054           Don't add an explicit link to libgstreamer-0.10.la; it's already
3055           included in GST_OBJ_LIBS.
3056
3057 2008-04-28  Sebastian Dröge  <slomo@circular-chaos.org>
3058
3059         * gst/gst.c:
3060         Register GstClock type from a type-safe context. Fixes bug #530317.
3061
3062 2008-04-25  Michael Smith <msmith@songbirdnest.com>
3063
3064         Patch by Edward Hervey <edward.hervey@collabora.co.uk>
3065         * tools/gst-run.c:
3066           Include <unistd.h> conditionally on HAVE_UNISTD_H as elsewhere.
3067
3068 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
3069
3070         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
3071         (gst_bin_dispose):
3072         Use the GLib stuff to create a private structure.
3073         Add some locking around some dispose methods to make them a little
3074         safer, see #529723. Patch by: Antoine Tremblay <hexa00 at gmail dot com>
3075
3076 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
3077
3078         * libs/gst/base/gstbasesink.h:
3079         * libs/gst/base/gstbasesrc.h:
3080         * libs/gst/base/gstbasetransform.h:
3081         * libs/gst/base/gstcollectpads.h:
3082           Fix doc typos and unify caps a bit.
3083
3084 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
3085
3086         * tools/gst-launch.1.in:
3087           Forgot to also add the envvar docs here.
3088
3089 2008-04-25  Tim-Philipp Müller  <tim at centricular dot net>
3090
3091         * gst/gst.c: (init_post), (gst_deinit):
3092         * tests/check/gst/gstpipeline.c: (GST_START_TEST), (pipeline_thread),
3093           (test_concurrent_create), (gst_pipeline_suite):
3094           Ref some more classes in gst_init() to work around thread-safety
3095           issues in pre-2.16 GLibs, and add basic unit test.
3096
3097 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
3098
3099         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3100         (gst_base_sink_send_event):
3101         Rearrange the latency query code. We always want to do the upstream
3102         query, even if we are not live so that the upstream elements can get the
3103         latency results too. If we fail doing the query and we are live, we
3104         return TRUE afterwards.
3105
3106 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
3107
3108         patch by: Jason Zhao <e3423c@motorola.com>
3109
3110         * docs/gst/running.xml:
3111         * gst/gst.c:
3112           Enable/disable scan_and_update_registry() based on commandline switch
3113           or environment variable. Fixes #520468.
3114           
3115         * ChangeLog:
3116           Fix typo in my previous commit.
3117
3118 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
3119
3120         * gst/gstregistrybinary.c:
3121           Add a warning if we hit unhandled factories when saving.
3122           More debug logging detail, but move to LOG category.
3123
3124 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
3125
3126         * gst/gstregistry.c:
3127           Tell the *truth* when improving the documentation.
3128
3129 2008-04-23  Sebastian Dröge  <slomo@circular-chaos.org>
3130
3131         * gst/gstelementfactory.c: (gst_element_factory_make):
3132         Unref the factory after it was used the last time, not before.
3133
3134         * gst/gstindexfactory.c: (gst_index_factory_make):
3135         Improve debugging a bit and don't leak a ref to the index factory with
3136         each call.
3137
3138 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3139
3140         * gst/gstregistry.c:
3141           Improve the documentation.
3142
3143 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3144
3145         * gst/gstsegment.c:
3146           The glib macro seems to be borked. Use g_slice_copy directly and cast
3147           in the hope that this fixes the warning on 64bit.
3148
3149 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3150
3151         * gst/gstsegment.c:
3152           Document the new function. Use g_slice_dup() (no need for
3153           gst_segment_init()).    
3154
3155 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3156
3157         * docs/gst/gstreamer-sections.txt:
3158           Move GParamSepc macros to standart section.
3159   
3160         * gst/gstbin.c:
3161           Dn't document _get_type - its in private section in docs anyway and
3162           this doc-blob was incomplete.
3163
3164         * gst/gstclock.h:
3165           Fix wrong symbol names in docs.
3166
3167         * gst/gstmacros.h:
3168           Add once doc sentence.
3169
3170         * tests/check/gst/.cvsignore:
3171           Ignore more.
3172
3173 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
3174
3175         * docs/gst/Makefile.am:
3176           And remove those libs here.
3177
3178 2008-04-21  Tim-Philipp Müller  <tim at centricular dot net>
3179
3180         * docs/libs/Makefile.am:
3181           Fix docs build again by adding libgstnet-0.10.so to SCANOBJ_DEPS.
3182
3183 2008-04-21  Wim Taymans  <wim.taymans@collabora.co.uk>
3184
3185         Patch by: Olivier Crete <tester at tester dot ca>
3186
3187         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
3188         Add the min-threshold to the min latency if possible. Fixes #529148.
3189
3190 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
3191
3192         * docs/gst/gstreamer.types.in:
3193           Stupid editor, I removed that line as it should go in yet.
3194
3195 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
3196
3197         * docs/gst/gstreamer.types.in:
3198         * docs/libs/gstreamer-libs.types:
3199           Remove library types fro core docs and have them in libs docs.
3200           Reformat and cleanup. Add comment for miniobject types.
3201
3202 2008-04-20  Tim-Philipp Müller  <tim at centricular dot net>
3203
3204         * gst/gsturi.c: (gst_uri_get_protocol):
3205           Fix leak: g_strdown operates on the string in place, while
3206           g_ascii_strdown() returns a newly-allocated string.
3207
3208 2008-04-20  Sebastian Dröge  <slomo@circular-chaos.org>
3209
3210         * tools/gst-inspect.c: (print_uri_handler_info),
3211         (print_element_info):
3212         Print the URI protocols and the URI type supported by the element.
3213
3214 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3215
3216         * gst/gsttaglist.c: (gst_tag_merge_strings_with_comma):
3217         Use g_value_take_string() instead of the deprecated
3218         g_value_set_string_take_ownership().
3219
3220 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3221
3222         * gst/gstregistrybinary.c: (_gst_crc32):
3223         Return the old CRC instead of 0 if we give a NULL buffer
3224         or a buffer with a length of 0.
3225
3226 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3227
3228         * gst/gsturi.c: (gst_uri_protocol_check_internal),
3229         (gst_uri_get_protocol), (gst_uri_has_protocol),
3230         (gst_uri_construct), (gst_uri_handler_set_uri):
3231         A valid URI scheme can also include '+', '-' and '.' additional
3232         to alphanumeric characters as per RFC 3986 Section 3.1.
3233
3234         Handle URI schemes case insensitive in all places and convert
3235         to lower-case when constructing an URI or setting an URI with
3236         the GstURIHandler interface. Fixes bug #528868.
3237         All elements can still assume (as before) that they will
3238         get passed URIs with a lower-case URI scheme by the GstURIHandler
3239         interface.
3240
3241 2008-04-17  Tim-Philipp Müller  <tim at centricular dot net>
3242
3243         * gst/gstcaps.c: (gst_static_caps_get):
3244         * gst/gstclock.c: (gst_clock_entry_new):
3245           Don't use g_atomic_set_int where it's not needed.
3246
3247 2008-04-17  Wim Taymans  <wim.taymans@collabora.co.uk>
3248
3249         * gst/gstvalue.c: (gst_value_deserialize_caps):
3250         * gst/parse/grammar.y:
3251         Fix 2 caps leaks.
3252
3253 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
3254
3255         * gst/gstutils.c: (gst_atomic_int_set):
3256         Use g_atomic_int_set() here too instead of assignment +
3257         g_atomic_int_get().
3258
3259 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
3260         
3261         * gst/gstutils.c:
3262         * gst/gstutils.h:
3263         API: Deprecate gst_atomic_int_set(), g_atomic_int_set() should be used
3264         now that we depend on new enough GLib.
3265
3266         * gst/gstcaps.c: (gst_static_caps_get):
3267         * gst/gstclock.c: (gst_clock_entry_new):
3268         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_set_colored),
3269         (gst_debug_set_default_threshold), (_gst_debug_category_new),
3270         (gst_debug_category_set_threshold):
3271         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3272         (gst_base_sink_set_qos_enabled):
3273         * libs/gst/net/gstnettimeprovider.c:
3274         (gst_net_time_provider_set_property):
3275         Use g_atomic_int_set() instead of gst_atomic_int_set().
3276
3277 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3278
3279         * gst/gstquery.c:
3280           Also use G_GINT64_CONSTANT for the queries.
3281
3282 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3283
3284         * gst/gstmessage.c:
3285           Use G_GINT64_CONSTANT in varargs function.
3286
3287 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3288
3289         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic):
3290         Initialize the registry magic with zeroes.
3291
3292 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3293
3294         * gst/gstregistrybinary.c: (_gst_crc32),
3295         (gst_registry_binary_write),
3296         (gst_registry_binary_initialize_magic),
3297         (gst_registry_binary_write_cache),
3298         (gst_registry_binary_check_magic),
3299         (gst_registry_binary_read_cache):
3300         * gst/gstregistrybinary.h:
3301         Add crc32 checksum to the binary registry file and check this before
3302         accepting a registry file.
3303
3304         Also free the data list when writing to the registry file fails.
3305
3306 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3307
3308         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
3309         (gst_registry_binary_load_feature),
3310         (gst_registry_binary_load_plugin):
3311         If an element supports the Uri interface, returns a valid pointer
3312         to the supported URI protocols but this pointer contains nothing
3313         don't try to save that as it will corrupt the registry.
3314
3315         Don't unref the plugin if we added it to the registry already but
3316         fail to load a feature as gst_registry_add_plugin() takes ownership
3317         of the plugin.
3318
3319         Improve debugging a bit.
3320
3321 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3322
3323         * gst/gsttaglist.h:
3324           Clarify some tag item docs after discussion on irc.
3325
3326 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3327
3328         * docs/gst/gstreamer-docs.sgml:
3329           Remove commented out plugins (they have their own docs). Update
3330           comments.
3331
3332 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3333
3334         * docs/gst/gstreamer-docs.sgml:
3335         * docs/gst/gstreamer-sections.txt:
3336         * gst/gstparamspecs.c:
3337         * gst/gstparamspecs.h:
3338           Add GST_PARAM_CONTROLLABLE and GST_PARAM_USER_SHIFT. Move paramspec
3339           docs to own section.
3340
3341         * gst/gstvalue.c:
3342           This now only documents GValue.
3343           
3344         * docs/libs/gstreamer-libs-sections.txt:
3345         * libs/gst/controller/gstcontroller.h:
3346           Remove GST_PARAM_CONTROLLABLE.
3347
3348 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3349
3350         * docs/README:
3351           Correct file path. Tell about how to use -overrides.txt.
3352         * docs/design/draft-tagreading.txt:
3353           Small design update.
3354
3355 2008-04-14  Sebastian Dröge  <slomo@circular-chaos.org>
3356
3357         * gst/gstregistrybinary.c: (gst_registry_binary_load_feature),
3358         (gst_registry_binary_load_plugin):
3359         Fix a typo in a debug message and revert change from yesterday as
3360         gst_registry_add_plugin() will only fail if something is really wrong
3361         already and we can't survive it anyway.
3362
3363 2008-04-14  Tim-Philipp Müller  <tim at centricular dot net>
3364
3365         * gst/gst.c: (init_post), (gst_deinit):
3366           Pre-register GstGError GType from a thread-safe context
3367           (fixes #527967); unref enum type classes in deinit.
3368
3369 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3370
3371         Patch by: Rene Stadler <mail at renestadler de>
3372
3373         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
3374           Merging an empty list with another list in KEEP_ALL mode should
3375           yield an empty list as result and not the second list (#512578).
3376
3377         * tests/check/gst/gsttagsetter.c:
3378           Add unit test for tag merge modes and the aforementioned bug.
3379
3380 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3381
3382         Patch by: Rene Stadler <mail at renestadler de>
3383
3384         * gst/gsttaglist.h:
3385           Fix description to match the order in the table (#512577).
3386   
3387 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3388
3389         Patch by: Kwang Yul Seo  <kwangyul.seo gmail com>
3390
3391         * libs/gst/net/gstnettimepacket.h:
3392         * docs/libs/gstreamer-libs-sections.txt:
3393           Define socklen_t as int if it's not defined yet. Fixes compilation
3394           with MSVC6 and other versions where socklen_t is not defined in
3395           the windows headers (#518022).
3396
3397 2008-04-13  Sebastian Dröge  <slomo@circular-chaos.org>
3398
3399         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
3400         If gst_registry_add_plugin() fails our reference to the plugin is
3401         invalid so don't try to use it anymore and instead error out.
3402
3403 2008-04-12  Tim-Philipp Müller  <tim at centricular dot net>
3404
3405         * tools/gst-xmlinspect.c: (print_element_info), (main):
3406           De-cruft a bit. If no argument is specified, print all elements in
3407           XML syntax rather than a freestyle list of elements like gst-inspect.
3408           Also, don't print XML header chunk unless we actually have something
3409           to print (ie. don't print it before an error message); print error
3410           message to stderr not stdout. Remove support for printing plugin
3411           info (it would just output something freestyle along the lines of
3412           gst-inspect so far), which fixes #514507. Also add license header.
3413
3414 2008-04-11  Julien Moutte  <julien@fluendo.com>
3415
3416         Mac OS X love...
3417         * configure.ac: Merge platform specific defines, introduce a new
3418         define on OS X to remember that forking when updating registry is
3419         unsafe.
3420         * docs/faq/gst-uninstalled: Updated to include gst-libs in the bad
3421         module.
3422         * gst/gst.c: Don't fork when updating registry if GST_HAVE_UNSAFE_FORK
3423         is defined.
3424         * gst/gstregistry.c: (gst_registry_scan_path_level): Fixed a bogus
3425         condition that leads to absolutely no plugins being registered on
3426         OS X.
3427
3428 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
3429
3430         Based on patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
3431
3432         * gst/gstutils.c: (gst_pad_add_data_probe),
3433           (gst_pad_add_data_probe_full), (gst_pad_add_event_probe),
3434           (gst_pad_add_event_probe_full), (gst_pad_add_buffer_probe),
3435           (gst_pad_add_buffer_probe_full):
3436         * gst/gstutils.h:
3437         * docs/gst/gstreamer-sections.txt:
3438         * win32/common/libgstreamer.def:
3439           Add gst_pad_add_*_probe_full() functions with a notify callback that
3440           lets the caller free the data it passes to the probe functions. This
3441           is useful for bindings such as gst-python or gstreamermm (#526814).
3442           API: gst_pad_add_data_probe_full
3443           API: gst_pad_add_buffer_probe_full
3444           API: gst_pad_add_event_probe_full
3445
3446         * tests/check/gst/gstutils.c:
3447           Add minimal unit test to make sure freeing the data actually works
3448           as expected.
3449
3450         * tests/benchmarks/.cvsignore:
3451           Random cvsignore addendum.
3452
3453 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
3454
3455         * gst/gstdebugutils.h: (GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS),
3456           (GST_DEBUG_BIN_TO_DOT_FILE):
3457           Mention GstDebugGraphDetails enum type in doc blurb so we get a link
3458           to it in the docs (since these are macros the types of the arguments
3459           won't be shown in the docs otherwise).
3460
3461 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
3462
3463         * gst/gstpad.c:
3464           Do not abort on out of memory for pad_alloc_buffer.
3465
3466 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
3467
3468         * libs/gst/check/gstcheck.c:
3469           Remove blank line between symbol name ad parameters to fix gtkdoc
3470           warning.
3471
3472 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3473
3474         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
3475
3476         * docs/gst/gstreamer-sections.txt:
3477         * gst/gstsegment.c:
3478         * gst/gstsegment.h:
3479         * win32/common/libgstreamer.def:
3480           Expose gst_segment_copy() to make things easier for the c++ bindings.
3481           Fixes #518932.
3482           API: gst_segment_copy()
3483
3484 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3485
3486         * gst/gst.c: (gst_init_get_option_group), (init_post):
3487           Fix const position; ref GType classes for enum types to work
3488           around thread-safety issues in GLib versions < 2.16.
3489
3490 2008-04-09  Wim Taymans  <wim.taymans@collabora.co.uk>
3491
3492         * docs/design/part-buffering.txt:
3493         Fix some typos and set the estimated total for push mode to -1.
3494
3495         * gst/gstquery.c: (gst_query_new_buffering):
3496         Set buffering-left to 0 as we're not buffering by default.
3497
3498         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
3499         Implement BUFFERING query.
3500
3501 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3502
3503         Based on patch by: Milosz Derezynski <internalerror gmail com>
3504
3505         * gst/gsterror.c: (_gst_stream_errors_init):
3506         * gst/gsterror.h:
3507           Add two new error codes for encrypted content. Fixes #524659.
3508           API: GST_STREAM_ERROR_DECRYPT
3509           API: GST_STREAM_ERROR_DECRYPT_NOKEY
3510
3511 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3512
3513         * gst/gstquery.h:
3514           Fix typo.
3515
3516         * win32/common/libgstreamer.def:
3517           Add new functions.
3518
3519 2008-04-09  Sebastian Dröge  <slomo@circular-chaos.org>
3520
3521         * plugins/elements/gstidentity.c: (gst_identity_event),
3522         (gst_identity_start):
3523         Fix imperfect timestamp/offset checks when we get another NEWSEGMENT
3524         event after processing some data. Fixes bug #526042.
3525
3526 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3527
3528         * docs/gst/gstreamer-sections.txt:
3529         * gst/gstquery.c: (gst_query_parse_latency),
3530         (gst_query_set_buffering_percent),
3531         (gst_query_parse_buffering_percent),
3532         (gst_query_set_buffering_range), (gst_query_parse_buffering_range):
3533         * gst/gstquery.h:
3534         Rename _avail -> _range
3535         API: gst_query_set_buffering_range
3536         API: gst_query_parse_buffering_range
3537
3538 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3539
3540         * docs/design/part-buffering.txt:
3541         * gst/gstquark.c:
3542         * gst/gstquark.h:
3543         * gst/gstquery.c: (gst_query_parse_latency),
3544         (gst_query_new_buffering), (gst_query_set_buffering_percent),
3545         (gst_query_parse_buffering_percent):
3546         * gst/gstquery.h:
3547         Add busy field and quark for the buffering query so that the app can
3548         only use the query to see if buffering is in progress.
3549
3550 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3551
3552         * docs/gst/gstreamer-sections.txt:
3553         * gst/gstmessage.c: (gst_message_set_buffering_stats),
3554         (gst_message_parse_buffering_stats):
3555         * gst/gstmessage.h:
3556         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
3557         (gst_query_parse_latency), (gst_query_new_buffering),
3558         (gst_query_set_buffering_percent),
3559         (gst_query_parse_buffering_percent),
3560         (gst_query_set_buffering_stats), (gst_query_parse_buffering_stats),
3561         (gst_query_set_buffering_avail), (gst_query_parse_buffering_avail):
3562         * gst/gstquery.h:
3563         Reorder the message docs and headers for clarity.
3564         Add aditional buffering stats API for messages.
3565         Add buffering query.
3566         Convert some leftover queries to use GstQuark.
3567         API: gst_message_set_buffering_stats
3568         API: gst_message_parse_buffering_stats
3569         API: GST_QUERY_BUFFERING
3570         API: GstBufferingMode
3571         API: gst_query_new_buffering
3572         API: gst_query_set_buffering_percent
3573         API: gst_query_parse_buffering_percent
3574         API: gst_query_set_buffering_stats
3575         API: gst_query_parse_buffering_stats
3576
3577 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3578
3579         * gst/gstmessage.c: (gst_message_new_error),
3580         (gst_message_new_warning), (gst_message_new_info),
3581         (gst_message_new_buffering), (gst_message_new_state_changed),
3582         (gst_message_new_clock_provide), (gst_message_new_clock_lost),
3583         (gst_message_new_new_clock), (gst_message_new_segment_start),
3584         (gst_message_new_segment_done), (gst_message_new_duration),
3585         (gst_message_new_async_start), (gst_message_parse_buffering),
3586         (gst_message_parse_state_changed),
3587         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
3588         (gst_message_parse_new_clock), (gst_message_parse_error),
3589         (gst_message_parse_warning), (gst_message_parse_info),
3590         (gst_message_parse_segment_start),
3591         (gst_message_parse_segment_done), (gst_message_parse_duration),
3592         (gst_message_parse_async_start):
3593         Use GstQuark for messages.
3594
3595 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3596
3597         * gst/gstquark.c: (_priv_gst_quarks_initialize):
3598         * gst/gstquark.h:
3599         Add some more quarks needed for messages and queries.
3600
3601 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3602
3603         * docs/design/part-buffering.txt:
3604         Remove the "none" buffering mode, STREAM is a good default.
3605         Move estimated-time to the avail query, that's when it will be needed.
3606         Other small typo fixes and updates.
3607
3608 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
3609
3610         * gst/gstindex.c: (gst_index_resolver_get_type):
3611           Don't put descriptions into the nick field of a GEnumValue: it's not
3612           meant for that and some language bindings rely on the nick field to
3613           construct constants and the like. Fixes #526705.
3614
3615 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
3616
3617         * NEWS:
3618         * RELEASE:
3619         * gstreamer.doap:
3620           Merge other changes from 0.10.19 release branch.
3621
3622 2008-04-06  Sebastian Dröge  <slomo@circular-chaos.org>
3623
3624         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3625
3626         * configure.ac:
3627         Actually build dlls when cross-compiling with mingw32.
3628         Fixes bug #526247.
3629
3630 2008-04-05  Sebastian Dröge  <slomo@circular-chaos.org>
3631
3632         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3633
3634         * gst/gstpoll.c:
3635         Fix compilation of GstPoll with mingw32. Fixes bug #526236.
3636
3637 2008-04-04  Wim Taymans  <wim.taymans@collabora.co.uk>
3638
3639         * docs/design/draft-latency.txt:
3640         Fix typo.
3641
3642         * docs/design/part-buffering.txt:
3643         Update design docs with more buffering ideas.
3644
3645 2008-04-03  Tim-Philipp Müller  <tim at centricular dot net>
3646
3647         * configure.ac:
3648           Bump version to 0.10.19.1 after the unscheduled 0.10.19 release.
3649
3650 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
3651
3652         * configure.ac:
3653           Revert part that belongs to the preset patch.
3654
3655 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
3656
3657         * configure.ac:
3658           Add qoutes to the define. Fixes # 525961.
3659
3660 2008-04-03  Sebastian Dröge  <slomo@circular-chaos.org>
3661
3662         * plugins/indexers/gstfileindex.c: (_file_index_id_free),
3663         (gst_file_index_load), (gst_file_index_add_id),
3664         (gst_file_index_get_assoc_entry):
3665         * plugins/indexers/gstmemindex.c: (gst_mem_index_free_format),
3666         (gst_mem_index_free_id), (gst_mem_index_add_id),
3667         (gst_mem_index_index_format):
3668         Use GSlice when possible.
3669
3670 2008-04-02  Sebastian Dröge  <slomo@circular-chaos.org>
3671
3672         * libs/gst/controller/gstinterpolationcontrolsource.c:
3673         (gst_control_point_free),
3674         (gst_interpolation_control_source_set_internal):
3675         Use GSlice for allocating the control points.
3676
3677 2008-04-02  Wim Taymans  <wim.taymans@collabora.co.uk>
3678
3679         * plugins/elements/gsttypefindelement.c:
3680         (gst_type_find_element_class_init),
3681         (gst_type_find_element_set_property),
3682         (gst_type_find_element_get_property),
3683         (gst_type_find_element_activate):
3684         * plugins/elements/gsttypefindelement.h:
3685         Cleanup properties.
3686         Fix pad leak when peer query fails.
3687         We can still typefind when the peer returns -1.
3688         Add property to force caps and bypass typefinding. This will be used in
3689         uridecodebin.
3690         API::force-caps
3691
3692 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
3693
3694         * configure.ac:
3695         Require GLib 2.12.
3696
3697         * gst/glib-compat-private.h:
3698         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free):
3699         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
3700         Unconditionally use GSlice for allocation.
3701
3702         * gst/gstpoll.c: (gst_poll_new), (gst_poll_free):
3703         * gst/gstsegment.c: (gst_segment_new), (gst_segment_free):
3704         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
3705         (gst_structure_free):
3706         Use GSlice for allocation.
3707
3708 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
3709
3710         * gst/parse/Makefile.am:
3711         * gst/parse/grammar.tab.pre.c:
3712         * gst/parse/grammar.tab.pre.h:
3713         * gst/parse/lex._gst_parse_yy.pre.c:
3714         Require a new enough flex and bison and remove the parser hacks to use
3715         a pre-regenerated version.
3716
3717 2008-04-01  Julien Moutte  <julien@fluendo.com>
3718
3719         patch by: Jason Zhao <E3423C@motorola.com>
3720
3721         * configure.ac: Add a configure switch to disable option parsing
3722         in gst_init.
3723         Fixes #522882.
3724
3725 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
3726
3727         * configure.ac:
3728         * gst/gstregistry.c:
3729           MacOS has plugins under .so or under .dylib. Add detection for MacOS
3730           and handle this case.
3731
3732         * gst/gst.c:
3733           Add a comment here describing, why we stat each plugin and not try to
3734           be smart.
3735
3736 2008-03-31  Sebastian Dröge  <slomo@circular-chaos.org>
3737
3738         * libs/gst/base/gstbasetransform.c:
3739         (gst_base_transform_prepare_output_buffer):
3740         Also unset the GAP flag on buffers if we're working inplace but
3741         the element is not GAP-aware.
3742
3743         Mark a comment as FIXME 0.11.
3744
3745 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
3746
3747         * gst/gst.c:
3748           Fix type in log message and add one to ease seeing how long registry
3749           cache verification takes.
3750
3751         * gst/gstregistry.c:
3752           Only test plugin filenames against G_MODULE_SUFFIX.
3753
3754 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
3755
3756         * gst/gstdebugutils.c:
3757           Improve handling ghost/proxy pads.
3758
3759 2008-03-27  Stefan Kost  <ensonic@users.sf.net>
3760
3761         * docs/gst/gstreamer-sections.txt:
3762         * gst/gstpad.c:
3763         * gst/gstpad.h:
3764           Expose macro to docs and fix link to it.
3765
3766 2008-03-27  Michael Smith <msmith@fluendo.com>
3767
3768         * libs/gst/dataprotocol/dataprotocol.c:
3769         (gst_dp_packet_from_event_1_0):
3770           When calculating GDP body CRC, use the correct pointer. 
3771           Fixes part of #522401.
3772
3773 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3774
3775         Patch by: Mark Nauwelaerts <manauw at skynet be>
3776
3777         * plugins/elements/gstidentity.c: (gst_identity_class_init),
3778         (gst_identity_init), (gst_identity_prepare_output_buffer):
3779         Identity is not always a passthrough element, it can modify the buffer
3780         timestamps when it has a datarate and operates in single-segment mode.
3781         We therefore make it an in_place filter with a custom buffer prepare
3782         function that conditionally makes the input buffer metadata writable
3783         when needed.  Fixes #523985.
3784
3785 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3786
3787         Patch by: Mark Nauwelaerts <manauw at skynet be>
3788
3789         * gst/gstclock.h:
3790         * libs/gst/base/gstbasesrc.h:
3791         * libs/gst/base/gstbasetransform.c:
3792         * libs/gst/check/gstcheck.c:
3793         Small documentation fixes. Fixes #523978.
3794
3795 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3796
3797         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
3798         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
3799         Also retry our poll_wait when we get EAGAIN. Fixes #524041.
3800
3801 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3802
3803         * plugins/elements/gstmultiqueue.c: (single_queue_overrun_cb),
3804         (single_queue_underrun_cb):
3805         When trying to make room in the queue, bump the max allowed buffers
3806         bigger than the current amount of buffers in the queue. this fixes some
3807         nasty deadlocks in multiqueue when dynamically changing the limits of
3808         the queue.
3809
3810 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3811
3812         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
3813
3814         * gst/gstcaps.c: (gst_caps_set_simple),
3815         (gst_caps_set_simple_valist), (gst_caps_intersect):
3816         * gst/gstcaps.h:
3817         Constify the field gchar * params in set_simple and friends.
3818         Fixes #522326.
3819
3820 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3821
3822         * gst/gstvalue.c: (gst_value_transform_object_string):
3823         Transform a GstObject to a more meaningfull string that includes the
3824         object type in addition to its name.
3825
3826 2008-03-23  Stefan Kost  <ensonic@users.sf.net>
3827
3828         * ChangeLog:
3829           ChangeLog surgery to add bugnumber to commit.
3830
3831 2008-03-23  Rene Stadler  <mail@renestadler.de>
3832
3833         * libs/gst/base/gstbasetransform.c:
3834         (gst_base_transform_set_gap_aware): Fix confusing documentation.
3835
3836 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
3837
3838         * gst/gstregistrybinary.c: (gst_registry_binary_write):
3839         Rename constant everywhere and don't forget one occurence.
3840
3841 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
3842
3843         * gst/gstregistrybinary.c: (gst_registry_binary_write):
3844         Align memory to the pointer size even if the architecture allows
3845         unaligned memory access. Unaligned memory access usually comes with
3846         performance penality.
3847
3848 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
3849
3850         * gst/gstregistrybinary.c: (gst_registry_binary_write),
3851         (gst_registry_binary_check_magic),
3852         (gst_registry_binary_load_pad_template),
3853         (gst_registry_binary_load_feature),
3854         (gst_registry_binary_load_plugin):
3855         Align memory to the pointer size instead of always 32 bit. Fixes
3856         unaligned memory accesses on ia64 and friends.
3857
3858         * gst/gstregistrybinary.h:
3859         Bump binary registry format version for this as it changes the
3860         format on those architectures that don't have unaligned access
3861         and 64 bit pointers.
3862
3863 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
3864
3865         * docs/pwg/advanced-dparams.xml:
3866         * docs/pwg/building-props.xml:
3867         * docs/pwg/other-source.xml:
3868         * gst/glib-compat.h:
3869         * gst/gstbin.c: (gst_bin_class_init):
3870         * gst/gstclock.c: (gst_clock_class_init):
3871         * gst/gstindex.c: (gst_index_class_init):
3872         * gst/gstobject.c: (gst_object_class_init):
3873         * gst/gstpad.c: (gst_pad_class_init):
3874         * gst/gstpipeline.c: (gst_pipeline_class_init):
3875         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
3876         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
3877         * libs/gst/base/gstbasetransform.c:
3878         (gst_base_transform_class_init):
3879         * libs/gst/base/gstdataqueue.c: (gst_data_queue_class_init):
3880         * libs/gst/check/gstcheck.c: (_gst_check_fault_handler_restore),
3881         (_gst_check_fault_handler_sighandler),
3882         (_gst_check_fault_handler_setup), (gst_check_init):
3883         * libs/gst/controller/gstcontroller.c:
3884         (_gst_controller_class_init):
3885         * libs/gst/controller/gstlfocontrolsource.c:
3886         (gst_lfo_control_source_class_init):
3887         * libs/gst/net/gstnetclientclock.c:
3888         (gst_net_client_clock_class_init):
3889         * libs/gst/net/gstnettimeprovider.c:
3890         (gst_net_time_provider_class_init):
3891         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
3892         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
3893         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
3894         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
3895         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
3896         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
3897         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
3898         * plugins/elements/gstidentity.c: (gst_identity_class_init):
3899         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_class_init):
3900         * plugins/elements/gstqueue.c: (gst_queue_class_init):
3901         * plugins/elements/gsttee.c: (gst_tee_class_init):
3902         * plugins/elements/gsttypefindelement.c:
3903         (gst_type_find_element_class_init):
3904         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
3905         Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and
3906         use it everywhere for GParamSpecs that use static strings (i.e. all).
3907         This gives us less memory usage, fewer allocations and thus less
3908         memory defragmentation. Fixes bug #523806.
3909
3910 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
3911
3912         * gst/gstminiobject.c: (gst_value_dup_mini_object),
3913         (gst_param_spec_mini_object):
3914         * gst/gstminiobject.h:
3915         * win32/common/libgstreamer.def:
3916         * docs/gst/gstreamer-sections.txt:
3917         API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
3918         GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object. Also move
3919         GstParamSpecMiniObject into a public header for this.
3920
3921         This make GstMiniObject a bit more consistent with GObject and makes
3922         it possible to extend the param specs.
3923
3924         gst_value_dup_mini_object is mainly useful for set_property methods.
3925
3926         Fixes bug #523798.
3927
3928         * tools/gst-inspect.c: (print_element_properties_info):
3929         Print something useful for GstMiniObject properties and not just
3930         "unknown type".
3931
3932 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
3933
3934         * docs/gst/gstreamer-sections.txt:
3935         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
3936         (gst_registry_binary_check_magic):
3937         * gst/gstregistrybinary.h:
3938         Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent
3939         and add it to the (private part) of the docs to fix the build.
3940
3941 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
3942
3943         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
3944         (gst_registry_binary_check_magic),
3945         (gst_registry_binary_read_cache):
3946         * gst/gstregistrybinary.h:
3947         Don't use GST_MAJORMINOR for the binary registry version. Instead
3948         hardcode a value that must be changed whenever the format changes
3949         in an incompatible way.
3950         Also don't GST_ERROR when there is a version mismatch, just
3951         regenerate the registry silently.
3952
3953 2008-03-21  Jan Schmidt  <jan.schmidt@sun.com>
3954
3955         * configure.ac:
3956         Back to development - 0.10.18.1
3957
3958 === release 0.10.18 ===
3959
3960 2008-03-20  Jan Schmidt <jan.schmidt@sun.com>
3961
3962         * configure.ac:
3963           releasing 0.10.18, "So far away"
3964
3965 2008-03-18  Jan Schmidt  <jan.schmidt@sun.com>
3966
3967         * configure.ac:
3968         * win32/common/config.h:
3969         0.10.17.4 pre-release
3970
3971 2008-03-18  Wim Taymans  <wim.taymans@collabora.co.uk>
3972
3973         Patch by: Ole André Vadla Ravnås
3974             <ole dot andre dot ravnas at tandberg dot com>
3975
3976         * docs/gst/gstreamer-sections.txt:
3977         * gst/gstpoll.c: (gst_poll_winsock_error_to_errno),
3978         (gst_poll_update_winsock_event_mask),
3979         (gst_poll_prepare_winsock_active_sets),
3980         (gst_poll_collect_winsock_events), (gst_poll_new), (gst_poll_free),
3981         (gst_poll_add_fd_unlocked), (gst_poll_fd_ctl_write),
3982         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ignored),
3983         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
3984         (gst_poll_check_ctrl_commands), (gst_poll_wait):
3985         * gst/gstpoll.h:
3986         * win32/common/libgstreamer.def:
3987         Add new function gst_poll_fd_ignored() for improved Windows
3988         compatibility.
3989         Various minor fixes and cleanups. See #520808.
3990
3991 2008-03-17  Tim-Philipp Müller  <tim at centricular dot net>
3992
3993         * gst/gstindex.c: (gst_index_entry_free):
3994         * gst/gstindex.h:
3995           Don't free key strings which we don't own. Fixes crash in
3996           gst_index_entry_free() (#522741).
3997
3998         * tests/check/Makefile.am:
3999         * tests/check/gst/.cvsignore:
4000         * tests/check/gst/gstindex.c: (test_index_entries),
4001           (gst_index_suite), (gst_index):
4002           Add unit test for the above.
4003
4004 2008-03-11  Sebastian Dröge  <slomo@circular-chaos.org>
4005
4006         * win32/common/libgstreamer.def:
4007         Remove symbols that were removed recently. Fixes bug #521740.
4008
4009 2008-03-11  Jan Schmidt  <jan.schmidt@sun.com>
4010
4011         * configure.ac:
4012         * win32/common/config.h:
4013         0.10.17.3 pre-release
4014
4015 2008-03-07  Wim Taymans  <wim.taymans@collabora.co.uk>
4016
4017         Patch by: Ole André Vadla Ravnås
4018             <ole dot andre dot ravnas at tandberg dot com>
4019
4020         * docs/gst/gstreamer-sections.txt:
4021         * gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event),
4022         (gst_poll_update_winsock_event_mask), (gst_poll_new),
4023         (gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked),
4024         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
4025         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed),
4026         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
4027         (gst_poll_fd_can_write), (gst_poll_wait),
4028         (gst_poll_set_controllable), (gst_poll_restart),
4029         (gst_poll_set_flushing):
4030         * gst/gstpoll.h:
4031         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
4032         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start),
4033         (gst_net_time_provider_new):
4034         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
4035         * plugins/elements/gstfdsrc.c: (gst_fd_src_start):
4036         * tests/benchmarks/gstpollstress.c: (main):
4037         * tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite):
4038         Remove GstPollMode from the API, it does not make sense to let the
4039         application control this.
4040         Add support for Win32.
4041         Fix the testsuite. Fixes #520671.
4042
4043 2008-03-07  Sebastian Dröge  <slomo@circular-chaos.org>
4044
4045         Patch by: Ole André Vadla Ravnås
4046             <ole dot andre dot ravnas at tandberg dot com>
4047
4048         * gst/gstregistrybinary.c:
4049         Include io.h for write() and close() when building with MSVC. Fixes
4050         bug #520877.
4051
4052 2008-03-07  Stefan Kost  <ensonic@users.sf.net>
4053
4054         * configure.ac:
4055         * gst/gst_private.h:
4056         * gst/gstconfig.h.in:
4057         * gst/gstregistry.h:
4058         * gst/gstregistrybinary.c:
4059         * win32/common/gstconfig.h:
4060           Move registry backend API to private headers where we can. Add
4061           fixme-0.11 comments for the others. Add stubs for the xml backend when
4062           using the binary to ensure they functions exists (they should not be
4063           used though). Fixes #520756.
4064
4065 2008-03-04  Jan Schmidt  <jan.schmidt@sun.com>
4066
4067         * configure.ac:
4068         * win32/common/config.h:
4069         0.10.17.2 prelease
4070
4071 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
4072
4073         * gst/gstregistrybinary.c: (gst_registry_binary_write),
4074         (gst_registry_binary_read_cache):
4075         * gst/gstregistryxml.c: (gst_registry_save):
4076         * gst/gsturi.c: (unescape_string), (gst_uri_has_protocol):
4077         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file):
4078         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4079         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
4080         Switch to using portabl gsize/gssize instead of size_t/ssize_t
4081         Fixes #520152
4082
4083 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
4084
4085         * gst/gstminiobject.c:
4086         Import gst_private.h before any other header that might include other
4087         glib headers. This fixes the build on windows using native compilers.
4088
4089 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
4090
4091         * win32/common/gstconfig.h:
4092           Add here too, just for completeness.
4093
4094 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
4095
4096         * configure.ac:
4097         * gst/gstconfig.h.in:
4098         * gst/gstregistry.h:
4099           Fix broken use of config.h-defined preprocessor directive in a public
4100           header file. Add a corresponding define to gstconfig.h, since we can't
4101           really remove those function declarations from the header file now
4102           (or can we? and why are they there in the first place?).
4103
4104 2008-03-03  Andy Wingo  <wingo@pobox.com>
4105
4106         * tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
4107         the new warning.
4108
4109         * gst/gststructure.c (gst_structure_from_string): Warn if
4110         structure_from_string didn't consume the whole string, but the
4111         caller did not provide an end pointer.
4112
4113 2008-03-01  Tim-Philipp Müller  <tim at centricular dot net>
4114
4115         Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it>
4116
4117         * gst/gstregistryxml.c: (read_string), (load_feature):
4118           Strings allocated by libxml2 should be freed with xmlFree(), not
4119           with g_free(). Fixes issues on windows in certain contexts (#519698).
4120
4121 2008-02-29  Tim-Philipp Müller  <tim at centricular dot net>
4122
4123         * gst/gstinterface.c: (gst_element_implements_interface):
4124           Don't crash if the element supports the interface queried, but does
4125           not implement GstImplementsInterface. Fixes #519584.
4126
4127         * tests/check/Makefile.am:
4128         * tests/check/gst/.cvsignore:
4129         * tests/check/gst/gstinterface.c:
4130           Add unit test for the above.
4131
4132 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4133
4134         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4135         Small doc update.
4136
4137 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4138
4139         * gst/gstsegment.c: (gst_segment_set_seek),
4140         (gst_segment_to_stream_time):
4141         Improve some comment.
4142         Update variables where it makes more sense.
4143
4144 2008-02-29  Rene Stadler  <mail@renestadler.de>
4145
4146         * gst/gsturi.c: (gst_uri_handler_get_protocols):
4147         Use the get_protocols_full vfunc if get_protocols is NULL.  Fixes
4148         URIHandlers implemented using language bindings.
4149
4150 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4151
4152         * gst/gstelementfactory.h:
4153         * tests/check/elements/fakesink.c:
4154         * tests/check/elements/fakesrc.c: (setup_fakesrc):
4155         * tests/check/elements/fdsrc.c: (setup_fdsrc):
4156         * tests/check/elements/filesink.c: (setup_filesink):
4157         * tests/check/elements/filesrc.c: (setup_filesrc):
4158         * tests/check/elements/identity.c: (setup_identity):
4159         * tests/check/elements/tee.c:
4160         * tests/check/generic/sinks.c:
4161         * tests/check/generic/states.c: (setup), (teardown):
4162         * tests/check/gst/gst.c:
4163         * tests/check/gst/gstabi.c:
4164         * tests/check/gst/gstbin.c:
4165         * tests/check/gst/gstbus.c: (pull_messages):
4166         * tests/check/gst/gstcaps.c:
4167         * tests/check/gst/gstelement.c:
4168         * tests/check/gst/gstevent.c:
4169         * tests/check/gst/gstghostpad.c:
4170         * tests/check/gst/gstiterator.c:
4171         * tests/check/gst/gstmessage.c:
4172         * tests/check/gst/gstminiobject.c: (my_foo_init):
4173         * tests/check/gst/gstobject.c: (thread_name_object),
4174         (gst_object_suite):
4175         * tests/check/gst/gstpad.c:
4176         * tests/check/gst/gstplugin.c:
4177         * tests/check/gst/gstpoll.c:
4178         * tests/check/gst/gstquery.c:
4179         * tests/check/gst/gstsegment.c:
4180         * tests/check/gst/gststructure.c:
4181         * tests/check/gst/gstsystemclock.c:
4182         * tests/check/gst/gsttask.c:
4183         * tests/check/gst/gstutils.c:
4184         * tests/check/gst/gstvalue.c:
4185         * tests/check/gst/struct_hppa.h:
4186         * tests/check/gst/struct_i386.h:
4187         * tests/check/gst/struct_ppc32.h:
4188         * tests/check/gst/struct_ppc64.h:
4189         * tests/check/gst/struct_x86_64.h:
4190         * tests/check/libs/adapter.c: (create_and_fill_adapter):
4191         * tests/check/libs/basesrc.c:
4192         * tests/check/libs/controller.c: (GST_START_TEST):
4193         * tests/check/libs/gdp.c:
4194         * tests/check/libs/gstnetclientclock.c:
4195         * tests/check/libs/gstnettimeprovider.c:
4196         * tests/check/libs/libsabi.c:
4197         * tests/check/libs/struct_hppa.h:
4198         * tests/check/libs/struct_i386.h:
4199         * tests/check/libs/struct_ppc32.h:
4200         * tests/check/libs/struct_ppc64.h:
4201         * tests/check/libs/struct_x86_64.h:
4202         * tests/check/pipelines/cleanup.c:
4203         * tests/check/pipelines/simple-launch-lines.c:
4204         * tests/check/pipelines/stress.c:
4205         And correct even more valid sparse warnings.
4206
4207         * win32/common/libgstreamer.def:
4208         Add gst_poll_fd_init to the list of symbols.
4209
4210 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4211
4212         * gst/gstconfig.h.in:
4213         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
4214         * libs/gst/check/gstcheck.c: (gst_check_log_message_func),
4215         (gst_check_log_critical_func), (gst_check_drop_buffers),
4216         (gst_check_element_push_buffer_list):
4217         * libs/gst/controller/gstcontroller.c: (gst_controller_get),
4218         (gst_controller_get_type):
4219         * libs/gst/controller/gsthelper.c: (gst_object_control_properties),
4220         (gst_object_get_controller), (gst_object_get_control_source):
4221         * libs/gst/controller/gstinterpolationcontrolsource.c:
4222         (gst_interpolation_control_source_new):
4223         * libs/gst/controller/gstlfocontrolsource.c:
4224         (gst_lfo_control_source_new):
4225         * libs/gst/dataprotocol/dataprotocol.c:
4226         (gst_dp_event_from_packet_0_2):
4227         * plugins/elements/gstfdsrc.c:
4228         * plugins/elements/gstmultiqueue.c:
4229         * plugins/elements/gsttee.c:
4230         * plugins/elements/gsttypefindelement.c:
4231         * plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
4232         (gst_file_index_add_association):
4233         * plugins/indexers/gstmemindex.c:
4234         * tests/benchmarks/gstpollstress.c: (mess_some_more):
4235         * tests/check/elements/queue.c: (setup_queue):
4236         * tests/check/gst/gstpipeline.c:
4237         * tests/check/libs/collectpads.c: (setup), (teardown),
4238         (gst_collect_pads_suite):
4239         * tests/examples/adapter/adapter_test.c:
4240         * tests/examples/metadata/read-metadata.c: (make_pipeline):
4241         * tests/examples/xml/createxml.c:
4242         * tests/examples/xml/runxml.c:
4243         * tools/gst-inspect.c:
4244         * tools/gst-run.c:
4245         Correct all relevant warnings found by the sparse semantic code
4246         analyzer. This include marking several symbols static, using
4247         NULL instead of 0 for pointers, not using variable sized arrays
4248         on the stack, moving variable declarations to the beginning of
4249         a block and using "foo (void)" instead of "foo ()" for declarations.
4250
4251 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4252
4253         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4254         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4255         Don't reset GstPollFDs, this is not necessary at all.
4256
4257         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4258         (delayed_restart), (delayed_control):
4259         Use GST_POLL_FD_INIT.
4260
4261 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4262
4263         * gst/gstpoll.c: (gst_poll_fd_init):
4264         * gst/gstpoll.h:
4265         Added Since tags.
4266
4267         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4268         Use some more init macros.
4269
4270 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4271
4272         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
4273         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4274         Use init macros and functions.
4275
4276 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4277
4278         * docs/gst/gstreamer-sections.txt:
4279         * gst/gstpoll.c: (gst_poll_fd_init):
4280         * gst/gstpoll.h:
4281         Add INIT macro and _init method for initializing the GstPollFD.
4282
4283 2008-02-28  Sebastian Dröge  <slomo@circular-chaos.org>
4284
4285         * plugins/elements/gstfdsink.c: (gst_fd_sink_start),
4286         (gst_fd_sink_update_fd):
4287         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4288         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4289         (delayed_restart), (delayed_control):
4290         Initialize some uninitialized variables as spotted by valgrind.
4291
4292 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
4293
4294         * tests/benchmarks/Makefile.am:
4295         * tests/benchmarks/gstpollstress.c: (mess_some_more), (run_test),
4296         (main):
4297         Add poll stress test.
4298
4299 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
4300
4301         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4302
4303         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
4304         (gst_fd_sink_start), (gst_fd_sink_stop), (gst_fd_sink_unlock),
4305         (gst_fd_sink_unlock_stop), (gst_fd_sink_update_fd):
4306         * plugins/elements/gstfdsink.h:
4307         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
4308         (gst_fd_src_start), (gst_fd_src_stop), (gst_fd_src_unlock),
4309         (gst_fd_src_unlock_stop), (gst_fd_src_create),
4310         (gst_fd_src_uri_set_uri):
4311         * plugins/elements/gstfdsrc.h:
4312         Port to GstPoll. See #505417.
4313
4314 2008-02-27  Jan Schmidt  <jan.schmidt@sun.com>
4315
4316         * win32/common/libgstreamer.def:
4317         Add new gst_poll_ symbols to win32 defs.
4318
4319 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4320
4321         * docs/libs/gstreamer-libs-sections.txt:
4322         * libs/gst/net/gstnetclientclock.c:
4323         (gst_net_client_clock_class_init), (gst_net_client_clock_init),
4324         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4325         (gst_net_client_clock_thread), (gst_net_client_clock_start),
4326         (gst_net_client_clock_stop), (gst_net_client_clock_new):
4327         * libs/gst/net/gstnetclientclock.h:
4328         * libs/gst/net/gstnettimeprovider.c:
4329         (gst_net_time_provider_class_init), (gst_net_time_provider_init),
4330         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4331         (gst_net_time_provider_start), (gst_net_time_provider_stop),
4332         (gst_net_time_provider_new):
4333         * libs/gst/net/gstnettimeprovider.h:
4334         Use a private stuct to not break ABI.
4335
4336 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4337
4338         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4339
4340         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_init),
4341         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4342         (gst_net_client_clock_thread), (gst_net_client_clock_start),
4343         (gst_net_client_clock_stop), (gst_net_client_clock_new):
4344         * libs/gst/net/gstnetclientclock.h:
4345         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_init),
4346         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4347         (gst_net_time_provider_start), (gst_net_time_provider_stop),
4348         (gst_net_time_provider_new):
4349         * libs/gst/net/gstnettimeprovider.h:
4350         Massive code removal and cleanups because of GstPoll.
4351         Fixes #505417.
4352
4353 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4354
4355         * configure.ac:
4356         Add checks for poll, ppoll and pselect.
4357
4358         * docs/gst/gstreamer-docs.sgml:
4359         * docs/gst/gstreamer-sections.txt:
4360         Add docs for GstPoll.
4361
4362         * gst/Makefile.am:
4363         * gst/gst.h:
4364         * gst/gstpoll.c: (find_index), (selectable_fds),
4365         (pollable_timeout), (choose_mode), (pollfd_to_fd_set),
4366         (fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
4367         (gst_poll_set_mode), (gst_poll_get_mode),
4368         (gst_poll_add_fd_unlocked), (gst_poll_add_fd),
4369         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
4370         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
4371         (gst_poll_fd_has_closed), (gst_poll_fd_has_error),
4372         (gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
4373         (gst_poll_fd_can_write), (gst_poll_wait),
4374         (gst_poll_set_controllable), (gst_poll_restart),
4375         (gst_poll_set_flushing):
4376         * gst/gstpoll.h:
4377         Add generic poll abstraction. We ideally don't want to have this in core
4378         here but in glib intead...
4379         This code will be used in various network elements and ultimately for
4380         the nanosecond precision monotonic clock (that's why it's here in core).
4381         It'll allow us to implement cancelable socket operations for windows too.
4382
4383         * tests/check/Makefile.am:
4384         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4385         (delayed_stop), (delayed_restart), (delayed_flush),
4386         (delayed_control), (gst_poll_suite):
4387         Add GstPoll unit test.
4388
4389 2008-02-25  Tim-Philipp Müller  <tim at centricular dot net>
4390
4391         * gst/gstfilter.c:
4392           Improve documentation of gst_filter_run(). Fixes #518627.
4393
4394 2008-02-23  Tim-Philipp Müller  <tim at centricular dot net>
4395
4396         * docs/README:
4397           Add a few lines about the new 'check-inspected-versions' target.
4398
4399 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
4400
4401         * tests/check/gst/gstevent.c:
4402           Add qos to the event test. Rename tcase/tsuite; is not only about
4403           custom events.
4404
4405 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
4406
4407         * plugins/elements/gstqueue.c:
4408           Ensure that buffer metadata is writeable, before modifying. Spotted by
4409           Mike.
4410
4411 2008-02-20  Stefan Kost  <ensonic@users.sf.net>
4412
4413         * plugins/elements/gstqueue.c:
4414         * plugins/elements/gstqueue.h:
4415           When dropping buffers in leaky modes, mark next buffers we sent as
4416           DISCONT.
4417
4418 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
4419
4420         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region):
4421           Also, if mmap() fails that would be a READ error, not OPEN_READ.
4422
4423 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
4424
4425         * plugins/elements/Makefile.am:
4426         * plugins/elements/gstbufferstore.c:
4427         * plugins/elements/gstbufferstore.h:
4428         * plugins/elements/gsttypefindelement.h:
4429           Remove GstBufferStore, no idea why we were still building it.
4430           It's not used anywhere and superseded by GstAdapter.
4431
4432         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4433           (gst_file_src_create_mmap):
4434         * plugins/indexers/gstfileindex.c: (gst_file_index_add_association):
4435           Printf format fixes for 64-bit integers.
4436
4437 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4438
4439         * configure.ac:
4440         Don't set GST_CACHE_DIR and allow to set it by a configure parameter.
4441         We're not in 0.8 times anymore.
4442
4443 2008-02-19  Jan Schmidt  <Jan.Schmidt@sun.com>
4444
4445         * libs/gst/check/gstcheck.c: (gst_check_drop_buffers),
4446         (gst_check_element_push_buffer_list):
4447         * libs/gst/check/gstcheck.h:
4448         Make the declaration in the header for
4449         gst_check_element_push_buffer_list match the implementation.
4450
4451         Fix up spelling, grammar and wording of the documentation in a few
4452         places, and add the Since keyword to new API functions.
4453         Use g_list_delete_link instead of g_list_remove in
4454         gst_check_drop_buffers, since it's immeasurably more efficient.
4455
4456         * tests/check/elements/fakesrc.c: (GST_START_TEST):
4457         Use new gst_check_drop_buffers function where appropriate.
4458
4459         * win32/common/libgstbase.def:
4460         * win32/common/libgstreamer.def:
4461         Add new symbols gst_collect_pads_take_buffer, 
4462         gst_collect_pads_read_buffer, gst_index_set_resolver_full to the
4463         exports
4464
4465         Changelog surgery to add API keyword to new gst_check API.
4466
4467 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4468
4469         * gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer),
4470         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra):
4471         Update pre-generated flex files with flex 2.3.34.
4472
4473 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4474
4475         * gst/gstminiobject.c:
4476           Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
4477           friendly to subclasses and not require them to know all internals
4478           of their parent class.
4479
4480 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
4481
4482         * docs/libs/gstreamer-libs-sections.txt:
4483         * libs/gst/base/gstcollectpads.c:
4484         * libs/gst/base/gstcollectpads.h:
4485           Add sub-buffer functions to collectpads. Fixes #516187.
4486           API: gst_collect_pads_take_buffer(), gst_collect_pads_read_buffer()
4487
4488 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
4489
4490         * gst/gstbuffer.c:
4491           Copy selected buffer-flags when creating subbuffers.
4492           Fixes #516395.
4493
4494 2008-02-12  Sebastian Dröge  <slomo@circular-chaos.org>
4495
4496         * gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
4497         * gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
4498         * gst/gstmessage.c: (gst_message_class_init),
4499         (gst_message_finalize):
4500         * gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
4501         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
4502         (gst_mmap_buffer_finalize):
4503         Properly chain up finalize functions to the parent class.
4504
4505 2008-02-11  Wim Taymans  <wim.taymans@collabora.co.uk>
4506
4507         Patch by: Siavash Safi <siavash dot safi at gmail dot com>
4508
4509         * gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
4510         (gst_index_set_resolver_full):
4511         * gst/gstindex.h:
4512         Add new function with option to dispose of user_data in resolver.
4513         Actually call the dispose function when finalizing the object and not
4514         just when changing the resolver/filter.
4515         API: GstIndex::gst_index_set_resolver_full()
4516
4517         * docs/gst/gstreamer-sections.txt:
4518         Add new function to docs. Fixes #515469.
4519
4520 2008-02-11  Sebastian Dröge  <slomo@circular-chaos.org>
4521
4522         * gst/gstindex.c: (gst_index_finalize):
4523         Chain up finalize to the parent class. Fixes leaking the GstObject
4524         name and other things.
4525
4526 2008-02-08  Jan Schmidt  <jan.schmidt@sun.com>
4527
4528         * configure.ac:
4529         Make DISABLE_DEPRECATED defined *only* during CVS, not during
4530         pre-releases or releases.
4531
4532         * docs/faq/gst-uninstalled:
4533         Add gst-plugins-gl
4534
4535         * docs/random/release:
4536         Change one of the steps - we only upload core & base to Gnome FTP
4537
4538 2008-02-06  Stefan Kost  <ensonic@users.sf.net>
4539
4540         * gst/gstconfig.h.in:
4541           Add 'id' for example.
4542
4543         * gst/gstpad.c:
4544         * gst/gstutils.c:
4545         * plugins/elements/gstfdsink.c:
4546           Link to signals. Doc and comment fixes.
4547
4548 2008-02-05  Tim-Philipp Müller  <tim at centricular dot net>
4549
4550         * gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
4551         * gst/gstpluginfeature.h: (GstPluginFeatureClass):
4552           Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
4553           unused and unimplemented; finally, it is plugin features, not
4554           plugins, that have ranks.
4555           
4556 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
4557
4558         * gst/gstpluginfeature.h:
4559           Clarify GstRank range docs.
4560
4561 2008-02-05  David Schleef  <ds@schleef.org>
4562
4563         * gst/gst.c: Add a separate gst_deinitialized that prevents
4564           gst_init() from being called after gst_deinit().  Fixes #509559
4565
4566 2008-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
4567
4568         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
4569         (gst_bin_class_init):
4570         * gst/gstelement.c: (gst_element_base_class_init),
4571         (gst_element_class_add_pad_template):
4572         * gst/gstpadtemplate.c: (gst_pad_template_init):
4573         * gst/gstpipeline.c: (gst_pipeline_get_type),
4574         (gst_pipeline_base_init), (gst_pipeline_class_init):
4575         * libs/gst/base/gstbasesink.c:
4576         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4577         (gst_base_src_base_init), (gst_base_src_class_init):
4578         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4579         (gst_capsfilter_class_init):
4580         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4581         (gst_fake_sink_class_init):
4582         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4583         (gst_fake_src_class_init):
4584         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4585         (gst_fd_sink_class_init):
4586         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4587         (gst_fd_src_class_init):
4588         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4589         (gst_file_sink_class_init):
4590         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4591         (gst_file_src_class_init):
4592         * plugins/elements/gstidentity.c: (gst_identity_base_init),
4593         (gst_identity_class_init):
4594         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4595         (gst_multi_queue_class_init):
4596         * plugins/elements/gstqueue.c: (gst_queue_base_init),
4597         (gst_queue_class_init):
4598         * plugins/elements/gsttee.c: (gst_tee_base_init),
4599         (gst_tee_class_init):
4600         * plugins/elements/gsttypefindelement.c:
4601         (gst_type_find_element_base_init),
4602         (gst_type_find_element_class_init):
4603         * tests/check/gst/gstelement.c: (gst_element_suite):
4604         Revert previous changes to the behaviour of GstPadTemplates, etc
4605         and the possiblity to call them in class_init as it breaks too
4606         many elements. Reopens bug #491501.
4607
4608         Should be applied again for 0.11, thus added a few FIXME 0.11 at
4609         several places.
4610
4611 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
4612
4613         * tools/gst-launch.c:
4614         Dump one graph per pipeline state-change and state change name
4615         (if GST_DEBUG_DUMP_DOT_DIR is set).
4616
4617 2008-02-04  Thijs Vermeir  <thijsvermeir@gmail.com>
4618
4619         * gst/gstpad.c:
4620         * tests/check/gst/gstpad.c:
4621         Be sure that we have a new copy of the caps and not
4622         reffed caps from a template
4623
4624 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
4625
4626         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
4627         * gst/gstpipeline.c: (gst_pipeline_get_type),
4628         (gst_pipeline_class_init):
4629         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
4630         (gst_base_sink_class_init):
4631         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4632         (gst_base_src_class_init):
4633         * libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
4634         (gst_base_transform_class_init):
4635         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4636         (gst_collect_pads_class_init):
4637         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
4638         * libs/gst/net/gstnettimeprovider.c:
4639         (gst_net_time_provider_base_init),
4640         (gst_net_time_provider_class_init):
4641         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4642         (gst_capsfilter_class_init):
4643         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4644         (gst_fake_sink_class_init):
4645         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4646         (gst_fake_src_class_init):
4647         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4648         (gst_fd_sink_class_init):
4649         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4650         (gst_fd_src_class_init):
4651         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4652         (gst_file_sink_class_init):
4653         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4654         (gst_file_src_class_init):
4655         * plugins/elements/gstidentity.c: (gst_identity_base_init),
4656         (gst_identity_class_init):
4657         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4658         (gst_multi_queue_class_init):
4659         * plugins/elements/gstqueue.c: (gst_queue_base_init),
4660         (gst_queue_class_init):
4661         * plugins/elements/gsttee.c: (gst_tee_base_init),
4662         (gst_tee_class_init):
4663         * plugins/elements/gsttypefindelement.c:
4664         (gst_type_find_element_base_init),
4665         (gst_type_find_element_class_init):
4666         Don't use base_init where not absolutely necessary. For example it's
4667         not necessary anymore for adding pad templates or setting element
4668         details.
4669
4670         Leave empty base_init functions in several places as GST_BOILERPLATE
4671         still defines and uses them.
4672
4673 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
4674
4675         * gst/gstelement.c: (gst_element_base_class_init),
4676         (gst_element_class_add_pad_template):
4677         * gst/gstpadtemplate.c:
4678         Make it possible (and recommended) to set element details and add
4679         pad templates in the class_init functions by copying the details/pad
4680         templates in GstElement's base_init.
4681
4682         Also make it possible to replace existing pad templates by adding
4683         a new one with the same name. This was done in a hackish fashion
4684         in same elements before already.
4685
4686         Don't reference pad templates that are added a second time. A
4687         new pad template has a refcount of one and is not floating anymore
4688         and to be owned by the element's class. Make this more explicit by
4689         mentioning it in the docs of gst_element_class_add_pad_template().
4690
4691         These changes are backwards compatible. Fixes bug #491501.
4692
4693         * tests/check/gst/gstelement.c:
4694         Add unit test for setting element details, adding pad templates and
4695         replacing them in a subclass.
4696
4697 2008-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
4698
4699         * tools/gst-inspect.c: (print_interfaces),
4700         (print_element_properties_info), (print_pad_info),
4701         (print_signal_info), (print_element_info):
4702         Fix a few memory leaks.
4703
4704 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
4705
4706         * docs/libs/gstreamer-libs-sections.txt:
4707         * libs/gst/check/gstcheck.c:
4708         * libs/gst/check/gstcheck.h:
4709         Add more functions for unit testing: gst_check_drop_buffers,
4710         gst_check_caps_equal, gst_check_element_push_buffer_list,
4711         gst_check_element_push_buffer
4712         API: gst_check_drop_buffers
4713         API: gst_check_caps_equal
4714         API: gst_check_element_push_buffer_list
4715         API: gst_check_element_push_buffer
4716
4717 2008-02-01  Julien Moutte  <julien@fluendo.com>
4718
4719         * docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
4720         * gst/gstindex.c: (gst_index_class_init), (gst_index_free_writer),
4721         (gst_index_finalize), (gst_index_entry_free),
4722         (gst_index_add_association): Fix memory leaks.
4723         * gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
4724         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
4725         (gst_mem_index_free_format), (gst_mem_index_free_id),
4726         (gst_mem_index_finalize): Fix memory leaks.
4727         * win32/common/config.h: Updated to CVS HEAD.
4728
4729 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
4730
4731         * docs/README:
4732           Some more details about how the plugin docs works.
4733
4734         * docs/plugins/gstreamer-plugins-sections.txt:
4735           Whitespace cleanup.
4736
4737 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
4738
4739         * gst/parse/grammar.tab.pre.c:
4740         * gst/parse/grammar.tab.pre.h:
4741         * gst/parse/grammar.y:
4742         * gst/parse/lex._gst_parse_yy.pre.c:
4743           Add delayed set-property. This allows to set properties on dynamicaly
4744           created objects (pads in videomxer). Fixes #509391.
4745
4746 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
4747
4748         * gst/gstutils.c:
4749         Check if caps are not NULL (fix bug #510194)
4750
4751 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
4752
4753         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop),
4754         (gst_base_sink_get_position_paused):
4755         Add fixme regarding EOS in pull mode.
4756         Fix position reporting in PAUSED for negative rates.
4757
4758 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
4759
4760         * gst/gstminiobject.c: (gst_mini_object_replace):
4761         When replacing a miniobject, do a quick equality check first so that we
4762         can avoid a ref/unref pair.
4763
4764 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
4765
4766         * docs/design/part-synchronisation.txt:
4767         Update some docs.
4768
4769         * docs/plugins/Makefile.am:
4770         * docs/plugins/gstreamer-plugins-docs.sgml:
4771         * docs/plugins/gstreamer-plugins-sections.txt:
4772         * plugins/elements/gstmultiqueue.c:
4773         Add multiqueue to the docs.
4774
4775 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4776
4777         * configure.ac:
4778           Back to CVS
4779
4780 === release 0.10.17 ===
4781
4782 2008-01-30  Jan Schmidt <jan.schmidt@sun.com>
4783
4784         * configure.ac:
4785           releasing 0.10.17, "Due Negligence"
4786
4787 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4788
4789         * gst/gstutils.c:
4790         Revert caps != NULL check temporarily for 0.10.17 release.
4791
4792 2008-01-30  Thijs Vermeir  <thijsvermeir@gmail.com>
4793
4794         * gst/gstutils.c:
4795         Check if caps are not NULL (fix bug #510194)
4796
4797 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4798
4799         * gst/gstutils.c:
4800         Fix compilation on systems that have posix timers but no
4801         monotonic clock.
4802         Fixes: #512715
4803         Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
4804         dot net>
4805
4806 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4807
4808         * tools/gst-inspect.c:
4809         Revert previous commit in preparation for an impromptu 0.10.17 release
4810
4811 2008-01-29  Sebastian Dröge  <slomo@circular-chaos.org>
4812
4813         * tools/gst-inspect.c: (print_interfaces),
4814         (print_element_properties_info), (print_pad_info),
4815         (print_signal_info), (print_element_info):
4816         Fix a few memory leaks.
4817
4818 2008-01-28  Jan Schmidt  <jan.schmidt@sun.com>
4819
4820         * configure.ac:
4821         Back to CVS
4822
4823 === release 0.10.16 ===
4824
4825 2008-01-28  Jan Schmidt <thaytan@noraisin.net>
4826
4827         * configure.ac:
4828           releasing 0.10.16, "Special Dispensation"
4829
4830 2008-01-24  Tim-Philipp Müller  <tim at centricular dot net>
4831
4832         * configure.ac:
4833           Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for
4834           _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes configure
4835           not fail when trying to crosscompile on OpenEmbedded (#511750).
4836
4837 2008-01-20  Sebastian Dröge  <slomo@circular-chaos.org>
4838
4839         * docs/manuals.mak:
4840         Use $(MAKE) instead of make to fix the build if GNU make is
4841         called different. Fixes bug #510747.
4842
4843 2008-01-20  Tim-Philipp Müller  <tim at centricular dot net>
4844
4845         * gst/gstplugin.c: (_gst_plugin_initialize):
4846           Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
4847           again, which I broke two commits ago when changing the API
4848           of gst_plugin_register_static(): the g_list_foreach() in
4849           _gst_plugin_register_static still assumed the old function
4850           signature and would therefore fail (re-fixes #510187).
4851
4852         * gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
4853           (_gst_plugin_register_static), (gst_plugin_register_static):
4854           Revert the (technically correct) change to call g_thread_init() from
4855           the pre-main() constructor. This will break programs which call
4856           g_thread_init() without an if (!g_thread_supported()) guard in their
4857           main function. We could just blame it on GLib or the application, but
4858           it's probably best to just avoid this altogether and simply not use
4859           any GLib functions here and use plain old malloc() with a simple
4860           array to store the plugins to register later when gst_init() is
4861           finally called (re-fixes #510187).
4862
4863         * tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
4864           (GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
4865           (plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
4866           (GST_START_TEST), (gst_plugin_suite):
4867           Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
4868           works.
4869
4870 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
4871
4872         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
4873           Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
4874           This makes gtk-doc complain, but results in slightly better
4875           compiler errors. The old _gst_plugin_register_static() is
4876           still guarded, so there'll be a compiler warning about that
4877           instead. Fixes #510187 too.
4878
4879 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
4880
4881         * gst/gst.c: (init_post):
4882         * gst/gstplugin.c: (_gst_plugin_register_static),
4883           (gst_plugin_register_static), (_gst_plugin_initialize):
4884         * gst/gstplugin.h: (GstPluginFilter):
4885           Change API of gst_plugin_register_static() to not take
4886           a GstPluginDesc, but rather just take all the arguments
4887           in a GstPluginDesc directly. This is more intuitive and
4888           avoids certain mistakes when porting code from
4889           GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
4890           Fixes #510187.
4891
4892         * tests/check/gst/gstplugin.c:
4893           Fix up for changed API.
4894
4895 2008-01-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4896
4897         * docs/faq/legal.xml:
4898           Update FAQ, Totem actually has an exception these days.
4899
4900 2008-01-14  Jan Schmidt  <jan.schmidt@sun.com>
4901
4902         * win32/common/libgstreamer.def:
4903         Add new API declarations
4904
4905 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
4906
4907         * gst/gstminiobject.c:
4908           Spelling fixes for the API docs.
4909
4910 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
4911
4912         * libs/gst/base/gstbasetransform.c:
4913           Fix long property description for QoS.
4914
4915 2008-01-12  Jan Schmidt  <Jan.Schmidt@sun.com>
4916
4917         * gst/gst.c:
4918         _gst_trace_on is already provided by gsttrace.h, no need to declare
4919         it ourselves.
4920
4921         * docs/libs/gstreamer-libs-sections.txt:
4922         Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
4923         and remove strange tcase_add_test which is outputting a warning.
4924
4925         * libs/gst/check/gstcheck.c:
4926         * libs/gst/check/gstcheck.h:
4927         Properly declare 'buffers', 'check_cond', 'check_mutex' extern
4928         and define them in gstcheck.c instead of having every .c file whcih
4929         includes gstcheck.h be defining its own copy and relying on symbol
4930         interposing to marry them all, which doesn't work on Solaris.
4931
4932         * tests/check/elements/identity.c: (GST_START_TEST):
4933         Don't define 'buffers' locally, it comes from libgstcheck.
4934
4935         * tests/check/generic/sinks.c: (send_buffer):
4936         Fix type of variable (GstFlowReturn, not GstStateChangeReturn)
4937
4938         * tests/check/gst/gststructure.c: (GST_START_TEST):
4939         * tests/check/gst/gstsystemclock.c: (GST_START_TEST):
4940         * tests/check/gst/gstutils.c: (GST_START_TEST):
4941         * tests/check/gst/gstvalue.c: (GST_START_TEST):
4942         Add a bunch of casts to make various constants fit the types
4943         they're being assigned to.
4944
4945 2008-01-10  Stefan Kost  <ensonic@users.sf.net>
4946
4947         * gst/gstchildproxy.c:
4948           Improve docs and add some ideas for making this more general-purpose.
4949
4950 2008-01-10  Tim-Philipp Müller  <tim at centricular dot net>
4951
4952         * gst/gst_private.h: (GST_CAT_TYPES):
4953           Add GST_CAT_TYPES, for consistency, and so that the other
4954           debug categories don't make fun of it. Spotted by Saur on IRC.
4955
4956 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
4957
4958         * gst/parse/Makefile.am:
4959           Move types.h from EXTRA_DIST to noinst_HEADERS.
4960
4961 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
4962
4963         * autogen.sh:
4964           Add -Wno-portability to the automake parameters to stop warnings
4965           about GNU make extensions being used. We require GNU make in almost
4966           every Makefile anyway.
4967
4968         * configure.ac:
4969           Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
4970           at the same time is required for per target flags.
4971
4972 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
4973
4974         * gst/gstmacros.h:
4975           Include glib/gmacros.h for G_BEGIN_DECLS. Check if
4976           __GNUC__ is defined before using it.
4977
4978 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
4979
4980         * docs/gst/gstreamer-sections.txt:
4981         * gst/gst.c: (init_post):
4982         * gst/gstplugin.c: (_gst_plugin_register_static),
4983           (gst_plugin_register_static), (_gst_plugin_initialize),
4984           (gst_plugin_register_func):
4985         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
4986           API: add gst_plugin_register_static() and deprecate
4987           GST_PLUGIN_DEFINE_STATIC, since it's not portable
4988           (#498924).
4989           Also, in _gst_plugin_register_static(), make sure to call
4990           g_thread_init() before calling GLib functions such as
4991           g_list_append() if we're not initialised yet, since that
4992           may lead to random crashes with older GSlice/GLib versions.
4993
4994         * tests/check/gst/gstplugin.c:
4995           Adapt unit test to above changes.
4996
4997 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
4998
4999         * gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
5000         * gst/gstcaps.c: (gst_caps_to_string):
5001         * gst/gststructure.c: (GST_ASCII_IS_STRING),
5002           (priv_gst_structure_append_to_gstring), (gst_structure_to_string):
5003           Yet another gratuitous GString micro-optimisation: add a (private)
5004           function that serialises a structure appending to an existing
5005           GString, so that when we serialise caps we don't need to alloc+free
5006           a throwaway GString for each structure (each of which also entailing
5007           multiple reallocs on the way); also use g_string_sized_new() in
5008           various places with an approximate string length to avoid reallocs
5009           within GString. See #500143.
5010
5011 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5012
5013         * gst/gststructure.c: (gst_structure_id_set_value):
5014           Always check UTF-8 conformance of structure strings and not only
5015           if the debugging system is enabled; reasoning: the behaviour of
5016           the actual code shouldn't really change depending on whether the
5017           debugging system is enabled or not (#508291).
5018
5019 2008-01-09  Stefan Kost  <ensonic@users.sf.net>
5020
5021         * Makefile.am:
5022           Remove old coverage target in favour of "make lcov".
5023
5024 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
5025
5026         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
5027         (gst_base_src_loop):
5028         The start segment for reverse playback goes from start to last_stop.
5029
5030 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
5031
5032         Patch by: Peter Kjellerstedt <pkj axis com>
5033
5034         * gst/gstclock.h:
5035         Cast the results from the timeval/spec_to_time macros to what the
5036         docs say it casts to, a GstClockTime. fixes #508175.
5037
5038 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
5039
5040         * gst/gstbuffer.c:
5041         Update some comments.
5042
5043         * tools/gst-inspect.c: (print_element_properties_info):
5044         Improve printing of flags.
5045
5046 2008-01-08  Tim-Philipp Müller  <tim at centricular dot net>
5047
5048         * libs/gst/base/gstbasetransform.c:
5049           (gst_base_transform_transform_size):
5050           Print element name with g_warning() if there's a problem
5051           with the unit size.
5052
5053 2008-01-07  David Schleef  <ds@schleef.org>
5054
5055         Patch by: Damien Lespiau <damien.lespiau@gmail.com>
5056
5057         * libs/gst/controller/gstcontroller.h:
5058         * libs/gst/controller/gstcontrolsource.h:
5059         * libs/gst/controller/gstinterpolationcontrolsource.h:
5060         * libs/gst/controller/gstlfocontrolsource.h:
5061         * libs/gst/dataprotocol/dataprotocol.h:
5062           Fix empty prototypes.  Fixes bug #507957.
5063
5064 2008-01-07  David Schleef  <ds@schleef.org>
5065
5066         * docs/faq/dependencies.xml: Fix typo.
5067
5068 2008-01-07  Wim Taymans  <wim.taymans@collabora.co.uk>
5069
5070         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek),
5071         (gst_base_src_loop):
5072         Don't update the last_stop position in do_seek, that's the position we
5073         did a seek to.
5074         Read backwards when we have a negative rate.
5075
5076         * tests/check/elements/filesrc.c: (event_func), (wait_eos),
5077         (setup_filesrc), (cleanup_filesrc), (GST_START_TEST),
5078         (filesrc_suite):
5079         Add check for reverse reading.
5080
5081 2008-01-07  Tim-Philipp Müller  <tim at centricular dot net>
5082
5083         Patch by: Alexis Ballier <aballier at gentoo org>
5084
5085         * tests/check/gst/gstabi.c:
5086         * tests/check/gst/struct_ppc64.h:
5087         * tests/check/libs/libsabi.c:
5088         * tests/check/libs/struct_ppc64.h:
5089           Decide which header to include based on the userland ABI target
5090           and not the kernel/cpu. Fix up structure sizes of ppc64 header
5091           for 64-bit userland (#503590).  Might need something similar for
5092           x86 too.
5093
5094 2008-01-05  Tim-Philipp Müller  <tim at centricular dot net>
5095
5096         * gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
5097           Log the reason why fopen fails in addition to the fact that it failed.
5098           
5099 2008-01-04  Sebastian Dröge  <slomo@circular-chaos.org>
5100
5101         * gst/parse/parse.l:
5102         Use "%option never-interactive" to prevent useless calls to isatty()
5103         on every input when parsing. Also use "%option noinput" to not define
5104         the static input/yyinput functions which we don't use anyway. This
5105         removes a compiler warning with gcc 4.3 and saves some bytes in the
5106         library.
5107         
5108         * gst/parse/lex._gst_parse_yy.pre.c:
5109         Regenerated for the above change.
5110
5111 2008-01-04  Wim Taymans  <wim.taymans@collabora.co.uk>
5112
5113         * gst/gstpad.c: (fixate_value):
5114         Don't crash when trying to fixate and empty list.
5115         Fixes #506643.
5116
5117 2008-01-03  Sebastian Dröge  <slomo@circular-chaos.org>
5118
5119         * docs/faq/gst-uninstalled:
5120         Clarify the comments to make the usage of this script and what it
5121         does easier to understand.
5122
5123 2008-01-01  Thijs Vermeir  <thijsvermeir@gmail.com>
5124
5125         * tools/gst-plot-timeline.py:
5126         Add more options to gst-plot-timeline
5127
5128 2007-12-31  Wim Taymans  <wim.taymans@collabora.co.uk>
5129
5130         * docs/design/part-synchronisation.txt:
5131         Some more info on how the stream_time in GstBaseSink is done.
5132
5133 2007-12-30  Tim-Philipp Müller  <tim at centricular dot net>
5134
5135         * tests/check/generic/sinks.c: (gst_sinks_suite):
5136           Put back the tcase_set_timeout(), apparently it's needed after
5137           all; fix it up in a way that makes things work with valgrind too.
5138
5139 2007-12-30  Thijs Vermeir  <thijsvermeir@gmail.com>
5140
5141         * gst/gstdebugutils.c:
5142           Add warning when failed to open file for writing.
5143
5144 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
5145
5146         Based on patch by: Laurent Glayal  <spglegle yahoo fr>
5147
5148         * gst/gstvalue.c: (gst_value_is_fixed):
5149           Optimisation: bail out of the loop as early as possible (#500143).
5150
5151 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
5152
5153         * gst/gstcaps.c: (gst_caps_to_string):
5154         * gst/gstinfo.c: (gst_debug_construct_term_color):
5155         * gst/gstparse.c: (gst_parse_launchv):
5156         * gst/gstutils.c: (gst_util_dump_mem):
5157         * gst/gstvalue.c: (gst_value_serialize_any_list),
5158           (gst_value_transform_any_list_string):
5159           Bunch of gratuitous nano-optimisations.
5160
5161 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
5162
5163         * tests/check/generic/sinks.c: (async_done_func),
5164           (async_done_eos_func):
5165           Fix leak in unit test (bus sync handler must unref the message
5166           if it returns GST_BUS_DROP). Don't fiddle with the default test
5167           timeout, this is smaller than the current preconfigured value
5168           via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
5169           because it overrides the value specified in CK_DEFAULT_TIMEOUT.
5170
5171 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
5172
5173         Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5174
5175         * configure.ac:
5176         Check for stdio_ext.h for the filesink changes.
5177
5178         * plugins/elements/gstfilesink.c: (buffer_mode_get_type),
5179         (gst_file_sink_class_init), (gst_file_sink_init),
5180         (gst_file_sink_dispose), (gst_file_sink_set_property),
5181         (gst_file_sink_get_property), (gst_file_sink_open_file),
5182         (gst_file_sink_close_file):
5183         * plugins/elements/gstfilesink.h:
5184         Add two properties to control the buffering mode and size.
5185         API: GstFileSink::buffer-mode
5186         API: GstFileSink::buffer-size
5187         Fixes #500150.
5188
5189 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
5190
5191         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
5192         Add some more docs to explain why a FIXME was wrongly added. 
5193
5194 2007-12-22  Sebastian Dröge  <slomo@circular-chaos.org>
5195
5196         * gst/gstobject.c:
5197           Fix typo in the gst_object_{ref,unref} documentation.
5198
5199 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
5200
5201         * tests/check/libs/controller.c:
5202         * tests/check/libs/typefindhelper.c:
5203         * tests/check/pipelines/parse-launch.c:
5204           Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
5205           going to be deprecated (see #498924).
5206
5207 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
5208
5209         * gst/gsttypefind.c: (gst_type_find_register):
5210           Make gst_type_find_register work for static typefind functions,
5211           ie. allow passing plugin == NULL (prerequisite for #498924).
5212
5213         * gst/gstelementfactory.c: (gst_element_register):
5214           Small docs addition.
5215
5216 2007-12-21  Wim Taymans  <wim.taymans@collabora.co.uk>
5217
5218         * gst/gstpad.c: (gst_pad_dispose):
5219         Really unlink the peer pad instead of setting the peer pointer to NULL
5220         when we dispose the pad.
5221         This correctly calls the unlink functions and makes sure that the peer
5222         does not have a handle to invalid memory. See #504671.
5223
5224         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
5225         Add testsuite for above case.
5226
5227 2007-12-20  Tim-Philipp Müller  <tim at centricular dot net>
5228
5229         Patch by: Peter Kjellerstedt <pkj axis com>
5230
5231         * libs/gst/check/gstcheck.h:
5232           Fix detection of the check version we're compiling against (would
5233           otherwise break if check goes v0.10.0); correctly report the
5234           name of the failed test again in case of failure, instead of
5235           just 'tf' (fixes #504499).
5236
5237 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
5238
5239         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
5240         (gst_base_src_get_range), (gst_base_src_pad_get_range),
5241         (gst_base_src_loop), (gst_base_src_set_flushing),
5242         (gst_base_src_change_state):
5243         Allow sending EOS to the source to make it send out an EOS event from
5244         the streaming thread.
5245         Update docs and deprecate the old NULL/READY shutdown method.
5246
5247         * tests/check/libs/basesrc.c: (GST_START_TEST),
5248         (gst_basesrc_suite):
5249         Add unit test for controlled shutdown.
5250
5251 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
5252
5253         * docs/design/part-synchronisation.txt:
5254         Small updates.
5255
5256         * gst/gstsegment.c: (gst_segment_set_seek),
5257         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
5258         (gst_segment_to_running_time):
5259         The seek format can be different from the segment format when the start
5260         and stop values are not to be updated, when we only do a rate change for
5261         example.
5262
5263         * tests/check/gst/gstsegment.c: (GST_START_TEST),
5264         (gst_segment_suite):
5265         Add a testcase for the rate-only seeks, checking that the format is
5266         correctly ignored when start and stop are not updated.
5267
5268 2007-12-18  Sebastian Dröge  <slomo@circular-chaos.org>
5269
5270         Patch by: Matthias Bolte <photon at mail dot upb dot de>
5271
5272         * win32/vs8/grammar.vcproj:
5273         * win32/vs8/libgstcontroller.vcproj:
5274         * win32/vs8/libgstreamer.vcproj:
5275         Fix compilation with VS8 and include some missing files.
5276
5277 2007-12-18  Tim-Philipp Müller  <tim at centricular dot net>
5278
5279         * gst/gsttaglist.c:
5280           Small docs addition: mention that the strings returned by
5281           gst_tag_list_get_string*() are in UTF-8 encoding.
5282
5283 2007-12-17  Tim-Philipp Müller  <tim at centricular dot net>
5284
5285         * Makefile.am:
5286           The check-exports stuff moved to common/win32.mak, so include that.
5287
5288 2007-12-17  Wim Taymans  <wim.taymans@collabora.co.uk>
5289
5290         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
5291         (gst_base_src_perform_seek), (gst_base_src_get_range),
5292         (gst_base_src_set_playing), (gst_base_src_change_state):
5293         Make _wait_playing() not check any variables so that we can call this
5294         function from subclasses. Move the checks elsewhere similar to
5295         _wait_preroll() in basesink.
5296         Add some debugging.
5297         Only signal the LIVE cond when we are going back to PLAYING.
5298
5299 2007-12-16  Tim-Philipp Müller  <tim at centricular dot net>
5300
5301         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
5302           Use g_remove() and g_rename(). Check result of g_rename(), and
5303           don't leak the open file descriptor if we error out when writing.
5304
5305         * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
5306           Must check the return value of close() after writing out the new
5307           registry file.  Sometimes write problems such as out-of-diskspace
5308           are only reported when the file is closed and not already during
5309           the write.  This may have caused partial/broken registry files in
5310           some rare circumstances. Should fix #503675.
5311
5312 2007-12-16  Edward Hervey  <edward.hervey@collabora.co.uk>
5313
5314         * docs/gst/.cvsignore:
5315         * docs/libs/.cvsignore:
5316         * docs/plugins/.cvsignore:
5317         Ignore files generated by new common/* modifications
5318
5319 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5320
5321         * win32/common/libgstbase.def:
5322           Yes, you can also have a <TAB> if you want.
5323
5324 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5325
5326         * win32/common/libgstbase.def:
5327           Add new basetransform API to win export file.
5328
5329 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5330
5331         * tests/check/gst/gstbin.c:
5332           Adjust the test to the refcount change two days ago.
5333
5334 2007-12-14  David Schleef  <ds@schleef.org>
5335
5336         * docs/faq/getting.xml: Fix typo.
5337
5338 2007-12-14  Sebastian Dröge  <slomo@circular-chaos.org>
5339
5340         * docs/libs/gstreamer-libs-sections.txt:
5341         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
5342           (gst_base_transform_prepare_output_buffer),
5343           (gst_base_transform_set_gap_aware):
5344         * libs/gst/base/gstbasetransform.h:
5345           API: Add gst_base_transform_set_gap_aware() to control whether
5346           the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
5347           get buffers with this flag at all. Fixes #503231.
5348
5349 2007-12-13  Stefan Kost  <ensonic@users.sf.net>
5350
5351         * libs/gst/base/gstbasesink.c:
5352         * libs/gst/base/gstbasesrc.c:
5353         * libs/gst/base/gstbasetransform.c:
5354           Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
5355           thread. Correct log message in gstbasesrc.c.
5356
5357 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
5358
5359         * gst/gstutils.c: (element_find_unconnected_pad):
5360           Fix possible compiler warning (#503417).
5361
5362 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
5363
5364         * gst/gstobject.c: (gst_object_dispatch_properties_changed):
5365           Don't use GST_CAT_EVENT here for logging, it makes no sense.
5366
5367 2007-12-13  Sebastian Dröge  <slomo@circular-chaos.org>
5368
5369         * tools/gst-inspect.c: (print_element_properties_info):
5370           Add support for GstFraction properties.
5371
5372 2007-12-12  Tim-Philipp Müller  <tim at centricular dot net>
5373
5374         * Makefile.am:
5375           Add check-exports target and run it as part of 'make check'
5376           (see #499140 and #493983).
5377
5378         * gst/gst_private.h:
5379         * gst/gstelementfactory.h:
5380         * gst/gstghostpad.c: (gst_proxy_pad_class_init):
5381         * gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
5382           (_priv_gst_in_valgrind):
5383         * gst/gstinfo.h: (GstLogFunction):
5384         * gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
5385           (gst_type_find_register):
5386         * gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
5387           (gst_type_find_factory_get_type):
5388         * libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
5389           (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
5390           (gst_controller_new_valist), (gst_controller_new_list),
5391           (_gst_controller_dispose), (_gst_controller_class_init):
5392         * libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
5393         * libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
5394           (GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
5395           (gst_object_get_controller), (gst_object_set_controller),
5396           (gst_object_suggest_next_sync), (gst_object_sync_values),
5397           (gst_object_set_control_source), (gst_object_get_control_source),
5398           (gst_object_get_value_arrays), (gst_object_get_value_array),
5399           (gst_object_get_control_rate), (gst_object_set_control_rate):
5400         * libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
5401         * libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
5402           Make some functions that should be static static; rename some
5403           private symbols so that they don't get exported; add some FIXME
5404           comments so we can move accidentally exported functions into
5405           our private section in 0.11.
5406
5407         * win32/common/libgstreamer.def:
5408           Add gst_utils_get_timestamp().
5409
5410 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
5411
5412         * gst/gstvalue.c:
5413         * gst/gstvalue.h:
5414           Add more missing "Since:" tags to docs.
5415
5416 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
5417
5418         * gst/gstutils.c:
5419           Add mising "Since:" to docs.
5420
5421 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5422
5423         * gst/gstplugin.c:
5424           Include "glib-compat-private.h" to fix the build on system with
5425           glib < 2.10. Fixes #503131.
5426
5427 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5428
5429         * gst/gstutils.c:
5430         * gst/gstutils.h:
5431           Actually its not PURE as it gets the time from elsewhere.
5432
5433 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5434
5435         * docs/gst/gstreamer-sections.txt:
5436         * gst/gstclock.h:
5437         * gst/gstdebugutils.c:
5438         * gst/gstinfo.c:
5439         * gst/gstutils.c:
5440         * gst/gstutils.h:
5441         * libs/gst/base/gstbasesink.c:
5442         * tools/gst-launch.c:
5443           Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
5444           uses as we don't have HAVE_POSIX_TIMERS in public headers.
5445           Thanks Tim for spotting.
5446           API: gst_util_get_timestamp
5447
5448 2007-12-09  Sebastian Dröge  <slomo@circular-chaos.org>
5449
5450         * configure.ac:
5451           Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.
5452
5453 2007-12-08  Tim-Philipp Müller  <tim at centricular dot net>
5454
5455         * gst/gststructure.c: (gst_structure_validate_name),
5456           (gst_structure_new_valist), (gst_structure_parse_value),
5457           (gst_structure_from_string):
5458           Don't crash in _from_string() if the structure name is not valid
5459           (fixes #501560).  Allow structure names to start with a number
5460           again (this apparently broke the ubuntu codec installer).
5461
5462         * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
5463           (GST_START_TEST):
5464           Add unit test for the crash; update unit tests for new behaviour.
5465
5466 2007-12-03  Wim Taymans  <wim.taymans@gmail.com>
5467
5468         * gst/gstutils.c:
5469         Clarify gst_element_get_compatible_pad() documentation.
5470         Fixes #500919.
5471
5472 2007-12-02  Sebastian Dröge  <slomo@circular-chaos.org>
5473
5474         * tests/check/Makefile.am:
5475           Don't forget to dist {gst,libs}/struct_hppa.h.
5476
5477 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5478
5479         * libs/gst/base/gstbasesink.c:
5480           Use new API to get elapsed time.
5481
5482 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5483
5484         * gst/gstdebugutils.c:
5485         * gst/gstinfo.c:
5486           Fix wrong order of args in GST_CLOCK_DIFF() usage.
5487
5488         * tools/gst-launch.c:
5489           Use new API to get elapsed time.
5490
5491 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5492
5493         * docs/gst/gstreamer-sections.txt:
5494         * gst/gstclock.h:
5495         * gst/gstdebugutils.c:
5496         * gst/gstinfo.c:
5497           Rename new API + ChangeLog surgery to remove old name from last entry..
5498
5499 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5500
5501         * docs/gst/gstreamer-sections.txt:
5502         * gst/gstclock.h:
5503         * gst/gstdebugutils.c:
5504         * gst/gstinfo.c:
5505           Now hide the different clock stuff behind a macro.
5506
5507 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5508
5509         * configure.ac:
5510         * gst/gstdebugutils.c:
5511         * gst/gstinfo.c:
5512           Apply the posix-timer check from #361155. Conditionally use the posix
5513           timer for logging. This gives better timestamp precission, less
5514           overhead and no ntp jitter.
5515
5516 2007-11-28  Sebastian Dröge  <slomo@circular-chaos.org>
5517
5518         * gst/gstminiobject.c: (gst_mini_object_get_type),
5519         (gst_mini_object_class_init), (gst_mini_object_copy_default),
5520         (gst_mini_object_finalize), (gst_mini_object_copy),
5521         (gst_mini_object_is_writable), (gst_mini_object_make_writable),
5522         (gst_mini_object_replace), (param_mini_object_validate),
5523         (gst_param_spec_mini_object_get_type):
5524         Some cleanup and checking against invalid function parameters.
5525
5526 2007-11-28  Wim Taymans  <wim.taymans@gmail.com>
5527
5528         * docs/gst/gstreamer-sections.txt:
5529         * gst/gstclock.h:
5530         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
5531         (gst_systemclock_suite):
5532         Start merging in the easy bits of #361155, the monotonic clock patch.
5533         This one adds a few handy macros with docs and a testsuite.
5534
5535 2007-11-27  Wim Taymans  <wim.taymans@gmail.com>
5536
5537         * plugins/elements/gstfilesink.c: (gst_file_sink_event):
5538         Be a bit smarter when seeking, like, don't try to do a seek when it's
5539         not needed. This avoids errors when the file is not seekable.
5540         Fixes #499771.
5541
5542 2007-11-26  Stefan Kost  <ensonic@users.sf.net>
5543
5544         * docs/gst/gstreamer-docs.sgml:
5545         * docs/gst/gstreamer-sections.txt:
5546         * docs/gst/gstreamer.types.in:
5547         * gst/Makefile.am:
5548         * gst/gst.h:
5549         * gst/gstpreset.c:
5550         * gst/gstpreset.h:
5551         * plugins/elements/gstqueue.c:
5552           Due to popular request remove preset interface again. :-(.
5553
5554 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5555
5556         * tools/gst-inspect.c:
5557           Print 'default value' for enums and flags too.
5558
5559 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5560
5561         * docs/random/ensonic/profiling.txt:
5562           More ideas.
5563
5564         * gst/gstbin.c:
5565           Fix typo and give better log output.
5566
5567         * gst/gstdebugutils.c:
5568         * gst/gstdebugutils.h:
5569           More ideas, make graphs a bit smaller and fix param name in macro.
5570
5571 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5572
5573         * gst/gstpreset.c:
5574           Try harder to use the return value from fgets().
5575
5576 2007-11-21  Stefan Kost  <ensonic@users.sf.net>
5577
5578         * gst/gstpreset.c:
5579           For theses two fgets we handle the error below.
5580
5581 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
5582
5583         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
5584         Only send upstream events upstream. Fixes #498746.
5585
5586 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
5587
5588         Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5589
5590         * plugins/elements/gstidentity.c: (gst_identity_class_init),
5591         (gst_identity_init), (gst_identity_transform_ip),
5592         (gst_identity_set_property), (gst_identity_get_property):
5593         * plugins/elements/gstidentity.h:
5594         Add property to disable handoff signal emission. Fixes #498694.
5595         API: GstIdentity::signal-handoffs
5596
5597 2007-11-21  Julien Moutte  <julien@fluendo.com>
5598
5599         * docs/faq/gst-uninstalled: Yet another missing library for the
5600         uninstalled script (fft)
5601
5602 2007-11-21  Jan Schmidt  <jan.schmidt@sun.com>
5603
5604         * docs/faq/developing.xml:
5605         Add a question about how to submit new translations.
5606
5607         * docs/random/release:
5608         Update the contact email address for the Translation Project
5609
5610         * plugins/elements/gstfdsrc.c:
5611         The parent_class for fdsrc is pushsrc, not GstElement.
5612
5613 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
5614
5615         * gst/gstpreset.c:
5616           Plug a leak and fix saving.
5617
5618 2007-11-20  Sebastian Dröge  <slomo@circular-chaos.org>
5619
5620         * docs/gst/gstreamer-sections.txt:
5621         Add new gst_preset__get_property_names() function to the docs
5622         to fix the build.
5623
5624 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
5625
5626         * gst/gstpreset.c:
5627         * gst/gstpreset.h:
5628           Change _get_preset_names API to return a strv with copies. Add
5629           _get_property_names to allow implementations to filter and provide
5630           good default implementation.
5631
5632 2007-11-20  Julien MOUTTE  <julien@moutte.net>
5633
5634         * docs/faq/gst-uninstalled: Add another library to the uninstalled
5635         script (sdp).
5636
5637 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
5638
5639         * gst/gstpreset.c:
5640           More cleanups, docs, and TODOs from comments that now slowly come in.
5641
5642 2007-11-19  Julien MOUTTE  <julien@moutte.net>
5643
5644         * docs/faq/gst-uninstalled: Add new base libraries in the LD 
5645         search path.
5646
5647 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
5648
5649         * gst/gstpreset.c:
5650           Fix bogus warning and make the property type specific code more
5651           similar.
5652
5653 2007-11-19  Julien MOUTTE  <julien@moutte.net>
5654
5655         * gst/gstpreset.c: (gst_preset_default_create_preset): Make
5656         it build on OS X.
5657
5658 2007-11-19  Wim Taymans  <wim.taymans@gmail.com>
5659
5660         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5661         (gst_bin_add_func), (gst_bin_remove_func),
5662         (gst_bin_change_state_func), (gst_bin_continue_func):
5663         Change email, cleanups add some more debug and comments.
5664         Also set bus and clock on new elements when the pipeline was in error.
5665
5666 2007-11-18  Stefan Kost  <ensonic@users.sf.net>
5667
5668         * gst/gstbin.c:
5669         * gst/gstdebugutils.c:
5670           Fix build with --disable-gst-debug. Fixes #497859.
5671           Spotted by Sameer Naik.
5672
5673 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
5674
5675         * gst/gstevent.c:
5676           Little documentation improvment.
5677
5678         * gst/gstpreset.c:
5679           More TODO cleanups. Remove c++ comments.
5680
5681         * libs/gst/controller/gstcontroller.c:
5682           Add TODO and use quark from static string.
5683
5684         * tests/check/gst/gstmessage.c:
5685         * tests/check/gst/gststructure.c:
5686           Use quark from static string.
5687
5688 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
5689
5690         * gst/gstpreset.c:
5691           Add some comments and TODOs.
5692
5693         * gst/gstpreset.h:
5694           Add padding for future changes.
5695
5696         * plugins/elements/gstqueue.c:
5697           Implement the iface.    
5698
5699 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
5700
5701         * docs/gst/gstreamer-docs.sgml:
5702         * docs/gst/gstreamer-sections.txt:
5703         * docs/gst/gstreamer.types.in:
5704         * gst/Makefile.am:
5705         * gst/gst.h:
5706         * gst/gstpreset.c:
5707         * gst/gstpreset.h:
5708           Add the preset interface (Fixes #396779). Do some doc cleanups along.
5709
5710 2007-11-16  Jan Schmidt  <jan.schmidt@sun.com>
5711
5712         * configure.ac:
5713
5714         Back to CVS
5715
5716 === release 0.10.15 ===
5717
5718 2007-11-15  Jan Schmidt <jan.schmidt@sun.com>
5719
5720         * configure.ac:
5721           releasing 0.10.15, "October"
5722
5723 2007-11-14  Jan Schmidt  <jan.schmidt@sun.com>
5724
5725         * win32/vs6/libgstreamer.dsp:
5726         Convert line endings back to DOS.
5727
5728 2007-11-13  Stefan Kost  <ensonic@users.sf.net>
5729
5730         * docs/design/draft-tagreading.txt:
5731         * docs/random/ensonic/profiling.txt:
5732         Update fast tagreading draft and performance profiling ideas.
5733
5734 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
5735
5736         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
5737         Don't hold the object lock when unreffing a buffer because it could
5738         cause a deadlock when the finalize function wants to grab the object
5739         lock too. Fixes #495133.
5740
5741 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
5742
5743         * gst/gstsegment.c: (gst_segment_set_newsegment_full),
5744         (gst_segment_to_stream_time), (gst_segment_to_running_time):
5745         Also accumulate time correctly when doing reverse playback. Fixes
5746         #488201,
5747         When converting to running and stream time, use default values for
5748         start/stop/time/accum when comparing different formats. Fixes #494245.
5749
5750         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
5751         Do running/stream time in TIME format.
5752
5753         * tests/check/gst/gstsegment.c: (GST_START_TEST),
5754         (gst_segment_suite):
5755         2 new unit tests for segment accumulation.
5756
5757 2007-11-07  Tim-Philipp Müller  <tim at centricular dot net>
5758
5759         * gst/gst.c: (init_pre):
5760         * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
5761           (_gst_debug_bin_to_dot_file):
5762           Move getenv() back into gst_init, so everyone can live happily
5763           ever after. Make sure the symbol isn't exported though.
5764
5765 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5766
5767         Patch by: Sebastien Moutte  <sebastien moutte net>
5768
5769         * win32/common/gstenumtypes.c:
5770         * win32/common/gstenumtypes.h:
5771           Update enum types.
5772
5773         * win32/vs6/libgstreamer.dsp:
5774           Update vs6 project files (#494343).
5775
5776 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5777
5778         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
5779         (gst_base_src_perform_seek), (gst_base_src_default_event),
5780         (gst_base_src_set_flushing), (gst_base_src_activate_push),
5781         (gst_base_src_activate_pull):
5782         Unify flushing code, remove some old unlock code that is no longer used.
5783         Take the streaming lock when seeking to avoid races. Fixes #492729.
5784         Added some more comments.
5785
5786 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5787
5788         * gst/gst.c: (_gst_disable_segtrap):
5789           Make  _gst_disable_segtrap static, it's only used in gstplugin.c and
5790           we can use gst_segtrap_is_enabled() there now that we have that API.
5791           Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
5792           to do the getenv here (and export the variable).
5793
5794         * gst/gstdebugutils.c: (debug_dump_element),
5795           (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
5796           Don't use VLAs which is a C99ism and throws off MSVC (#493983).
5797
5798         * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
5799           (gst_debug_log_default):
5800           Rename _gst_info_start_time to priv_gst_info_start_time so it
5801           doesn't get exported (was never in any header).
5802
5803         * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
5804           (gst_plugin_loading_mutex):
5805           Make static mutex gst_plugin_loading_mutex really static (was never
5806           in any header), and use gst_segtrap_is_enabled() instead of
5807           _gst_disable_segtrap.
5808
5809         * gst/gsttrace.c: (_gst_trace_default):
5810           Make local _gst_trace_default static (was never in any header).
5811
5812 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5813
5814         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
5815
5816         * win32/common/libgstbase.def:
5817         * win32/common/libgstcontroller.def:
5818         * win32/common/libgstdataprotocol.def:
5819         * win32/common/libgstnet.def:
5820         * win32/common/libgstreamer.def:
5821           Add more missing symbols, remove some duplicates, and sort
5822           as the 'sort' command sorts it (partially fixes #493983).
5823
5824 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5825
5826         * gst/gstelement.c: (gst_element_set_state_func):
5827         Only change the state cookie if a different state was set on the
5828         element. See #492729.
5829
5830 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5831
5832         * gst/gstvalue.c:
5833           Remove unused and uninitialised type variables that were still
5834           exported for some reason (they were never in any header files
5835           though).
5836
5837 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5838
5839         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
5840         (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
5841         (gst_base_sink_event), (gst_base_sink_get_position_last),
5842         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
5843         (gst_base_sink_change_state):
5844         Don't try to report a 0 position when we don't know, return -1 and FALSE
5845         instead. This mostly happens when we are prerolling.
5846         Make sure we can report the right position before we post the ASYNC_DONE
5847         message so that a message handler can query position without races.
5848
5849         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
5850         (async_done_handoff), (async_done_func), (send_buffer),
5851         (async_done_eos_func), (gst_sinks_suite):
5852         Add two tests for the above.
5853
5854 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5855
5856         * MAINTAINERS:
5857         Update with new email address.
5858
5859         * docs/design/part-TODO.txt:
5860         Add some more info about future pad-block and negotiation changes.
5861
5862         * docs/design/part-buffering.txt:
5863         Add some ideas about buffering reporting.
5864
5865 2007-11-06  Jan Schmidt  <jan.schmidt@sun.com>
5866
5867         * tests/check/gst/gstobject.c:
5868         Disable silly racy test that always fails on this combination of CPU
5869         and kernel.
5870
5871 2007-11-03  Tim-Philipp Müller  <tim at centricular dot net>
5872
5873         Patch by: Murray Cumming  <murrayc@murrayc.com>
5874
5875         * gst/gstobject.c:
5876           Corrected the registration of the parent-set and parent-unset
5877           signals: The parameter is a GstObject, not a GObject (#493134).
5878
5879 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
5880
5881         * gst/gst_private.h:
5882         * gst/gstbuffer.h:
5883         * gst/gstevent.h:
5884         * gst/gstformat.h:
5885         * gst/gstmessage.h:
5886         * gst/gstplugin.h:
5887         * gst/gstquery.h:
5888         * gst/gsttaglist.h:
5889         * gst/gstvalue.h:
5890           Move declaration of private _gst_foo_initialize() functions into
5891           our private header file where they should have been all along.
5892
5893 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
5894
5895         * docs/plugins/gstreamer-plugins-sections.txt:
5896         * gst/gstdebugutils.h:
5897         * gst/gstxml.h:
5898         * plugins/elements/gstqueue.c:
5899           gtk-doc fixes; trailing-comma-in-enum fix.
5900
5901 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
5902
5903         * gst/gst.c: (gst_deinit):
5904           Clean up on deinit (not the external ones though, doesn't seem to be
5905           needed for some reason).
5906
5907 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
5908
5909         * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
5910           Remove __declspec(dllimport) for MSVC that was copied over into core
5911           from a plugin, obviously without ever having been tested (note the
5912           single underscore in _declspec in the initial commit), and that doesn't
5913           really make sense.  See #492077.
5914
5915 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
5916
5917         * gst/gst.c: (init_post):
5918         * gst/gstevent.c: (_gst_event_initialize):
5919         * gst/gstquery.c: (_gst_query_initialize):
5920         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
5921           g_type_class_ref() other types as well, see #349410 and #64764.
5922
5923         * gst/gstbuffer.c: (_gst_buffer_initialize):
5924         * gst/gstmessage.c: (_gst_message_initialize):
5925           Simplify existing g_type_class_ref().
5926
5927 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
5928
5929         * gst/gstformat.c: (_gst_format_initialize):
5930           g_type_class_ref() our GstFormat type to make sure we avoid the
5931           thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
5932           bug #64764. Should fix intermittent tee unit test failures (#474823).
5933
5934 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
5935
5936         * tests/check/elements/tee.c: (test_num_buffers):
5937           Simplify, simplify, simplify - or not.  Rewrite unit test
5938           not to use gst_parse_launch(); allow N sub-streams. Increasing
5939           the number of sub-streams seems to reproduce #474823 more easily.
5940
5941 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
5942
5943         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
5944
5945         * gst/gsttrace.c:
5946         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
5947         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
5948         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
5949           Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
5950           starting with 2.14.0, GLib won't provide a pipe() macro any longer,
5951           so use _pipe() directly (#492077).
5952
5953         * win32/common/dirent.c: (_treaddir):
5954           Add a couple of casts to make it build without warnings with MSVC.
5955
5956         * win32/common/libgstreamer.def:
5957           Add some more symbols that need to be exported.
5958
5959 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
5960
5961         * tests/examples/metadata/read-metadata.c: (message_loop):
5962           Use _KEEP as merge mode rather than _KEEP_ALL, so tags
5963           arriving in a second or third tag message are added to
5964           the tag list as well.
5965
5966 2007-10-31  Stefan Kost  <ensonic@users.sf.net>
5967
5968         * libs/gst/base/gstbasesrc.c:
5969           Its "Since:" and not "@Since:". And remove an superflous cast.
5970
5971 2007-10-30  Wim Taymans  <wim.taymans@gmail.com>
5972
5973         * docs/libs/gstreamer-libs-sections.txt:
5974         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
5975         (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
5976         (gst_base_sink_get_property), (gst_base_sink_render_object),
5977         (gst_base_sink_preroll_object),
5978         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
5979         (gst_base_sink_change_state):
5980         * libs/gst/base/gstbasesink.h:
5981         Add a new last-buffer property that contains the last buffer used in
5982         basesink for preroll or rendering. useful for making snapshots.
5983         API: gst_base_sink_get_last_buffer()
5984         API: GstBaseSink::last-buffer
5985
5986 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
5987
5988         * docs/gst/running.xml:
5989         * gst/gst.c:
5990         * gst/gstdebugutils.c:
5991         * gst/gstdebugutils.h:
5992         * tools/gst-launch.c:
5993           Improve bin graph dumping, by using the envvar to specify a path.
5994           Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
5995
5996 2007-10-29  Tim-Philipp Müller  <tim at centricular dot net>
5997
5998         * plugins/elements/gsttypefindelement.c:
5999           (gst_type_find_element_handle_event),
6000           (gst_type_find_element_activate):
6001           Post special error message if we can't determine the type of a stream
6002           because it's empty.
6003
6004 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
6005
6006         * docs/gst/running.xml:
6007         * gst/gstdebugutils.c:
6008           Document new env-var. Add one log-line after dumpng a graph.
6009
6010 2007-10-26  Tim-Philipp Müller  <tim at centricular dot net>
6011
6012         * configure.ac:
6013           Ugly hack to put the (recently removed and non-portable, apparently)
6014           -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
6015           GNU ld, because without that 'make check' fails miserably on my debian
6016           stable box.  Someone with more knowledge of linker intricacies and
6017           portability issues than me fix this properly please.
6018
6019 2007-10-25  Wim Taymans  <wim.taymans@gmail.com>
6020
6021         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
6022         Reset last seen position after flushing so that we don't report the old
6023         position anymore.
6024
6025 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
6026
6027         * gst/gstelementfactory.c: (gst_element_register):
6028         * gst/gsturi.h:
6029         Patch from Alessandro Decina adding get_type_full and
6030         get_protocols_full private vfuncs to the URIHandler interface
6031         to allow bindings to support creating URI handlers. 
6032         Partially fixes: #339279
6033         API: GstURIHandlerInterface::get_type_full
6034         API: GstURIHandlerInterface::get_protocols_full
6035
6036 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
6037
6038         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
6039         (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
6040         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
6041         Make it so that pads are considered linked until a buffer is pushed
6042         and discovered otherwise. This avoids problems with decodebin2 hanging
6043         after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
6044         case.
6045
6046         Make sure we lock the multiqueue when updating the max-size properties.
6047         
6048         Fix a crash on Solaris in a debug statement in get_request_pad that
6049         passes a NULL string to GST_DEBUG. 
6050
6051         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
6052         (run_output_order_test):
6053         Fix the test to allow the first buffer on not-linked pads to come out
6054         of sequence while multiqueue discovers that they are not-linked.
6055
6056 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
6057
6058         * configure.ac:
6059         * libs/gst/check/Makefile.am:
6060         Use a custom export symbol regex for libgstcheck, as it needs
6061         to export symbols that don't match the standard GStreamer gst_*
6062         pattern, and  --export-dynamic is not portable (only works on 
6063         GNU ld)
6064
6065         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
6066         (gst_check_setup_sink_pad):
6067         Make sure to pass a message parameter to the fail_* macros.
6068
6069         * tests/check/gst/gstinfo.c: (GST_START_TEST):
6070         Fix some compiler warnings.
6071
6072 2007-10-25  Tim-Philipp Müller  <tim at centricular dot net>
6073
6074         * tests/check/gst/gststructure.c: (test_to_string):
6075           Disable test that checks that white spaces are not allowed
6076           in structure names or field names, since we need to
6077           support that for now for backwards compatibility reasons.
6078
6079 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
6080
6081         * docs/gst/gstreamer-sections.txt:
6082         * gst/gsttaglist.c:
6083         * gst/gsttaglist.h:
6084           API: add GST_TAG_ARTIST_SORTNAME
6085           API: add GST_TAG_ALBUM_SORTNAME
6086           API: add GST_TAG_TITLE_SORTNAME
6087           Add tag variants for sorting (#414539).
6088
6089 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
6090
6091         * gst/gststructure.c:
6092           Also allow white space for names so we don't break
6093           backwards compatibility.
6094
6095 2007-10-22  Wim Taymans  <wim.taymans@gmail.com>
6096
6097         * docs/design/part-TODO.txt:
6098         * docs/design/part-segments.txt:
6099         * docs/design/part-streams.txt:
6100         Small updates.
6101
6102 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
6103
6104         * docs/gst/gstreamer-sections.txt:
6105          Fixed documentation from my previous commit (added new API add
6106          gst_value_set_structure(), add gst_value_get_structure() and
6107          GST_VALUE_HOLDS_STRUCTURE).
6108
6109 2007-10-22  Stefan Kost  <ensonic@users.sf.net>
6110
6111         * gst/gstdebugutils.c:
6112           Reflow code to fix uninitialized variable warning.
6113
6114 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
6115
6116         * gst/gstcaps.c: (gst_caps_to_string),
6117         (gst_caps_from_string_inplace):
6118         * gst/gststructure.c: (gst_structure_get_abbrs),
6119         (gst_structure_to_string), (gst_structure_from_string):
6120         * gst/gstvalue.c: (gst_value_set_structure),
6121         (gst_value_get_structure), (gst_value_serialize_structure),
6122         (gst_value_deserialize_structure), (_gst_value_initialize):
6123         * gst/gstvalue.h:
6124         * tests/check/gst/gststructure.c: (GST_START_TEST),
6125         (gst_structure_suite):
6126         * tests/check/gst/gstvalue.c: (GST_START_TEST):
6127          Added GstStructure to gst_value_table and its related functions.
6128          Changed gst_structure_to_string to print ';' in the end.
6129          Changed gst_caps_to_string to not print ';' beteween its
6130          fields (structures) anymore and remove the lastes ';' from latest
6131          structure. Now it is possible to have nested structures.
6132          In addition, backward compatibilty is assured by accepting '\0' as
6133          end delimiter. Fixes: #487969.
6134          API: add gst_value_set_structure()
6135          API: add gst_value_get_structure()
6136          API: add GST_VALUE_HOLDS_STRUCTURE
6137
6138 2007-10-19  Tim-Philipp Müller  <tim at centricular dot net>
6139
6140         * gst/gstbus.c:
6141           When no GSource callback has been set up, tell developer
6142           to use a function that actually exists.
6143
6144 2007-10-17  Stefan Kost  <ensonic@users.sf.net>
6145
6146         * docs/gst/gstreamer-sections.txt:
6147         * gst/Makefile.am:
6148         * gst/gst.c:
6149         * gst/gst.h:
6150         * gst/gstdebugutils.c:
6151         * gst/gstdebugutils.h:
6152         * gst/gstinfo.c:
6153         * gst/gstinfo.h:
6154         * tools/gst-launch.c:
6155           Allow dumping pipelines as dot graphs. Fixes #456573.
6156
6157 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6158
6159         * gst/gststructure.c:
6160           Allow '+' as well, it can be part of media or mime types
6161           such as image/svg+xml.
6162
6163 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6164
6165         * docs/gst/gstreamer-sections.txt:
6166         * gst/gstbus.c:
6167         * gst/gstbus.h:
6168           API: add gst_bus_pop_filtered
6169           API: add gst_bus_timed_pop_filtered
6170           Two new functions for waiting for specific message types on the
6171           bus for a specified amount of time without iterating any main
6172           loops or main contexts.
6173
6174         * tests/check/gst/gstbus.c:
6175           Some tests for the new functions.
6176
6177 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6178
6179         * docs/libs/gstreamer-libs-sections.txt:
6180           Make gtk-doc ignore stuff it should ignore.
6181
6182 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6183
6184         * libs/gst/check/gstcheck.c:
6185         * libs/gst/check/gstcheck.h:
6186           Allow runtime selection of unit tests to run via the GST_CHECKS
6187           environment variable (test case function names, comma-separated).
6188
6189 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
6190
6191         * gst/gststructure.c:
6192         * tests/check/gst/gststructure.c:
6193           Revert serialisation change and constrain structure-names after
6194           consensus on irc. Update api documentation to reflect the change.
6195
6196 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
6197
6198         * gst/gststructure.c:
6199           Improve serialization and fix tests.
6200
6201         * tests/check/gst/gststructure.c:
6202           Add another test that covers why I actually did the previous structure
6203           change.
6204
6205 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
6206
6207         * tools/gst-inspect.c: (print_element_info):
6208         Don't crash when inspecting an element.
6209
6210 2007-10-15  Tim-Philipp Müller  <tim at centricular dot net>
6211
6212         * tests/check/gst/gststructure.c:
6213           Add unit test for escaping of structure name when serialising
6214           and deserialising to/from strings.
6215
6216 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
6217
6218         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
6219         (gst_single_queue_new):
6220         * plugins/elements/gstqueue.c: (gst_queue_init),
6221         (gst_queue_push_one):
6222         Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
6223         upstream is tricked into thinking it can suggest a format downstream
6224         while downstream does not support that format. The real problem is that
6225         core calls acceptcaps when pushing a buffer with new caps, for which we
6226         do a little workaround by setting the caps on the srcpad ourselves
6227         before pushing the buffer (until this is figured out). Fixes #486758.
6228
6229 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6230
6231         * gst/gststructure.c:
6232         * gst/gstvalue.c:
6233           Add some more comments and debug output. Quote structure name to fix
6234           deserialisation of some strings.
6235
6236 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6237
6238         * gst/gstbuffer.h:
6239           Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
6240           on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
6241
6242 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6243
6244         * tools/gst-inspect.c:
6245           Save approx. 400 1 byte allocs when printing. Use API to acces element
6246           details.
6247
6248         * tools/gst-run.c:
6249           Avoid a strdup.
6250
6251         * tools/gst-xmlinspect.c:
6252           Use API to acces element details.
6253
6254 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6255
6256         * gst/gstinfo.c:
6257           Fix some spelling errors.
6258
6259 2007-10-14  Wim Taymans  <wim.taymans@gmail.com>
6260
6261         * gst/gstbin.c: (bin_handle_async_done):
6262         Correctly set the next state if all of our async children commited their
6263         state. This makes sure we can actually cancel the state change in
6264         progress. Fixes a regression in Rhythmbox when seeking.
6265
6266 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
6267
6268         * gst/gstbin.c:
6269           Don't shadow local variable.
6270
6271         * gst/gstinfo.c:
6272           Don't shadow global function name.
6273
6274 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
6275
6276         * gst/gstelementfactory.c:
6277         * gst/gstpluginfeature.c:
6278         * gst/gstpluginfeature.h:
6279         * gst/gstregistrybinary.c:
6280         * gst/gstregistryxml.c:
6281         * gst/gsttypefind.c:
6282           Use already-interned string for the private GstPluginFeature
6283           plugin_name field.
6284
6285 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6286
6287         * docs/libs/gstreamer-libs-sections.txt:
6288           Add new API to docs; fixes the build.
6289
6290 2007-10-10  Wim Taymans  <wim.taymans@gmail.com>
6291         
6292         Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
6293
6294         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
6295         (gst_base_sink_event):
6296         * libs/gst/base/gstbasesink.h:
6297         Add function to wait for EOS, subclasses can use this to correctly wait
6298         for devices to drain before performing the EOS logic. Fixes #485343.
6299         API: gst_base_sink_wait_eos()
6300
6301 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6302
6303         * gst/gstplugin.h:
6304           Cast description string constants in GST_PLUGIN_DEFINE macros
6305           to a (gchar*) to make C++ code using these macros compile
6306           without warning with g++-4.2 (see #462737).  Even if slightly
6307           ugly, this seems preferable to putting the description strings
6308           into the GLib quark table or making the structure member a
6309           const gchar * and doing casts in core code that allocs and
6310           frees these strings, or requiring a cast in the C++ code.
6311
6312 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6313
6314         * gst/gstinfo.h:
6315           Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
6316           to print the entire class/function signature into the log
6317           file for C++ code.  This only affects C++ code, for C code
6318           everything remains the same.
6319
6320 2007-10-09  Wim Taymans  <wim.taymans@gmail.com>
6321
6322         * gst/gstbin.c: (remove_from_queue):
6323         Work around a problem with pipelines containing (semi)loops until a
6324         proper, more complicated solution is ready. See #475455.
6325
6326 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6327
6328         * gst/gstplugin.c:
6329         * gst/gstplugin.h:
6330         * gst/gstregistrybinary.c:
6331         * gst/gstregistryxml.c:
6332           Put more strings into the GLib quark table. No need to keep
6333           a hundred-something copies of identical version strings,
6334           license strings, package name strings and package origin
6335           strings around. 
6336
6337 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6338
6339         * docs/manual/advanced-dataaccess.xml:
6340           Don't imply that it's okay to unconditionally change
6341           buffer data or buffer metadata in a pad probe callback,
6342           and a bunch of other comments. Fixes #430031.
6343
6344 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6345
6346         * win32/common/gstenumtypes.c:
6347         * win32/common/gstenumtypes.h:
6348         * win32/common/gstversion.h:
6349           Update generated files.
6350
6351 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6352
6353         * docs/manual/advanced-autoplugging.xml:
6354           Prefix section with broken code with a warning (see #342432).
6355
6356 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6357
6358         * docs/manual/appendix-integration.xml:
6359         * docs/manual/basics-init.xml:
6360           Call g_thread_init() before g_option_context_new() to
6361           avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
6362
6363 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6364
6365         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6366         (gst_base_sink_queue_object_unlocked),
6367         (gst_base_sink_queue_object), (gst_base_sink_event),
6368         (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
6369         When we received EOS and are waiting for when to post the EOS message,
6370         our state is prerolled and we should not return ASYNC.
6371         Reorganize some code paths to implement this behavior.
6372
6373         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
6374         (gst_sinks_suite):
6375         Add unit test to verify above EOS fix.
6376
6377 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6378
6379         * plugins/elements/gsttypefindelement.c:
6380         (gst_type_find_element_have_type), (gst_type_find_element_init),
6381         (gst_type_find_element_setcaps), (gst_type_find_element_chain):
6382         Move detecting the input caps of the sinkpad to the setcaps function.
6383         This allows us to update the output caps when we receive new input caps
6384         instead of always using the first detected caps.
6385
6386 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6387
6388         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
6389         (gst_base_sink_get_position):
6390         Don't try to preroll non-async elements after a flush.
6391         Subtract latency form clock times when reporting position.
6392
6393 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6394
6395         * gst/gstpad.c: (gst_pad_pause_task):
6396         * gst/gstutils.c:
6397         Small comment and documentation update.
6398
6399 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6400
6401         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
6402         (gst_base_src_set_live), (gst_base_src_is_live),
6403         (gst_base_src_query_latency), (gst_base_src_perform_seek),
6404         (gst_base_src_default_event), (gst_base_src_wait),
6405         (gst_base_src_do_sync), (gst_base_src_get_range),
6406         (gst_base_src_pad_get_range), (gst_base_src_loop),
6407         (gst_base_src_unlock), (gst_base_src_unlock_stop),
6408         (gst_base_src_set_flushing), (gst_base_src_set_playing),
6409         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6410         (gst_base_src_change_state):
6411         Rework the locking of basesrc in a similar fashion to basesink. We
6412         basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
6413         us to handle live sources and semi live ones much better.
6414         Simplify flushing.
6415         Fix unlocking when seeking, shutting down and pausing in live sources.
6416
6417 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6418
6419         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
6420         Fix compilation again.
6421
6422 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6423
6424         * gst/gstelement.c:
6425           Use meaningful categories for the logs to clean the default one.
6426
6427 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6428
6429         * tests/check/pipelines/cleanup.c:
6430           Print message name and not just number.
6431
6432 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6433
6434         * docs/design/draft-tagreading.txt:
6435           Add some more thoughts.
6436
6437 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6438
6439         * tests/check/pipelines/simple-launch-lines.c:
6440           Print message name and not just number.
6441
6442 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6443
6444         * libs/gst/base/gsttypefindhelper.c:
6445           Speedup typefinding. This is work in progress (see #459862).
6446
6447 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6448
6449         * gst/gstplugin.c:
6450           Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
6451           Spotted by Josep Torra Valles <josep@fluendo.com>.
6452
6453 2007-10-03  Tim-Philipp Müller  <tim at centricular dot net>
6454
6455         * gst/gstclock.h:
6456           Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
6457           field has moved to GstObject.
6458
6459 2007-10-02  Wim Taymans  <wim.taymans@gmail.com>
6460
6461         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
6462         (gst_base_src_get_range), (gst_base_src_change_state):
6463         Call unlock for live sources so that they can't get stuck in _create and
6464         produce a buffer before they are set back to PLAYING.
6465
6466 2007-10-02  Edward Hervey  <bilboed@bilboed.com>
6467
6468         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6469         (gst_queue_locked_dequeue):
6470         Comment the segment-related code... in the PROPER function.
6471         See #482147 and my commit from yesterday.
6472
6473 2007-10-01  Wim Taymans  <wim.taymans@gmail.com>
6474
6475         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
6476         Also initialize the counter that calculates the first timestamp on a
6477         buffer correctly for non-live sources.
6478
6479 2007-10-01  Edward Hervey  <bilboed@bilboed.com>
6480
6481         * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
6482         Disable code that's breaking the current-time-level reporting.
6483         See #482147
6484
6485 2007-09-30  Sebastian Dröge  <slomo@circular-chaos.org>
6486
6487         * docs/gst/gstreamer-sections.txt:
6488         Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
6489         as they shouldn't show up. Fixes the docs build.
6490
6491 2007-09-29  Sebastien Moutte  <sebastien@moutte.net>
6492         
6493         * gst/gstinfo.h:
6494         Add an explicit variable importation needed on VS6 (only for MSC_VER)
6495         Define M_PI which is used in files which are including gstinfo.h. 
6496         VS6 includes doesn't define it.
6497         * win32/common/libgstbase.def:
6498         * win32/common/libgstcontroller.def:
6499         * win32/common/libgstreamer.def:
6500         Add new exported functions and variables.
6501         * win32/vs6/libgstcontroller.dsp:
6502         * win32/vs6/libgstreamer.dsp:
6503         Update the list of files to build.
6504         
6505 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
6506
6507         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6508
6509         * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
6510         (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
6511         (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
6512         Improve debugging. Fixes #480858.
6513
6514 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
6515
6516         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6517
6518         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
6519         First patch of code cleanups, use the macros and right arguments in the
6520         macros to signal and lock the queue. See #480858.
6521
6522 2007-09-26  Wim Taymans  <wim.taymans@gmail.com>
6523
6524         * gst/gstbus.c: (poll_func):
6525         Improve debugging when dealing with _poll().
6526
6527 2007-09-26  Tim-Philipp Müller  <tim at centricular dot net>
6528
6529         * gst/gstregistryxml.c:
6530           Fix memory leak I introduced a few days ago.
6531
6532 2007-09-26  Michael Smith <msmith@fluendo.com>
6533
6534         * gst/gstbuffer.c: (gst_buffer_finalize):
6535           Make it once again possible to free GstBuffers in the default
6536           build.
6537           The poisoning scribbles on parts of the miniobject we need in
6538           order to free it.
6539           Fixes #480341
6540
6541 2007-09-25  Tim-Philipp Müller  <tim at centricular dot net>
6542
6543         * docs/gst/gstreamer-sections.txt:
6544         * gst/gsttaglist.c:
6545         * gst/gsttaglist.h:
6546         API: add GST_TAG_COMPOSER, fixes #459809.
6547
6548 2007-09-24  Sebastian Dröge  <slomo@circular-chaos.org>
6549
6550         * gst/gstplugin.c:
6551         * gst/gstplugin.h:
6552         Add the 3-clause BSD license and the MIT/X11 license to the license
6553         list. Fixes #479784.
6554
6555 2007-09-24  Tim-Philipp Müller  <tim at centricular dot net>
6556
6557         * docs/faq/getting.xml:
6558           Add Q+A about different GStreamer versions (#364056).
6559
6560 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6561
6562         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6563         (gst_base_sink_event), (gst_base_sink_change_state):
6564         Return correct gboolean from query function.
6565
6566 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6567
6568         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6569         (gst_base_sink_event), (gst_base_sink_query),
6570         (gst_base_sink_change_state):
6571         Simplify latency query.
6572         When not synchronizing, we can report latency without querying the peer
6573         element.
6574
6575 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6576
6577         * gst/gstobject.h:
6578         * gst/gstvalue.c:
6579         Fix small typos in the docs.
6580
6581 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6582
6583         * docs/design/draft-latency.txt:
6584         * docs/design/draft-push-pull.txt:
6585         * docs/design/draft-tagreading.txt:
6586         * docs/design/part-MT-refcounting.txt:
6587         * docs/design/part-activation.txt:
6588         * docs/design/part-block.txt:
6589         * docs/design/part-element-source.txt:
6590         * docs/design/part-events.txt:
6591         * docs/design/part-gstbin.txt:
6592         * docs/design/part-gstelement.txt:
6593         * docs/design/part-gstobject.txt:
6594         * docs/design/part-gstpipeline.txt:
6595         * docs/design/part-messages.txt:
6596         * docs/design/part-preroll.txt:
6597         * docs/design/part-push-pull.txt:
6598         * docs/design/part-qos.txt:
6599         * docs/design/part-query.txt:
6600         * docs/design/part-scheduling.txt:
6601         * docs/design/part-seeking.txt:
6602         * docs/design/part-segments.txt:
6603         * docs/design/part-states.txt:
6604         Documentation updates and typo fixes.
6605
6606 2007-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6607
6608         * plugins/elements/gstfakesink.c:
6609           Add some debug text to error message to indicate that
6610           we errored out on request.
6611
6612         * tools/gst-launch.c:
6613           When the state change to PLAYING fails, check for an
6614           error message on the bus and print it.
6615
6616 2007-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6617
6618         translated by: Jorge González González <aloriel@gmail.com>
6619
6620         * po/LINGUAS:
6621         * po/es.po:
6622           Added Spanish translation.
6623
6624 2007-09-21  Wim Taymans  <wim.taymans@gmail.com>
6625
6626         * plugins/elements/gstqueue.c: (gst_queue_push_one):
6627         Fix printf arguments.
6628
6629 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
6630
6631         * tests/check/generic/states.c:
6632           Improved state change unit test.
6633
6634 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
6635
6636         * gst/gstbin.h:
6637           Move priv to the right place.
6638
6639         * gst/gstsystemclock.c:
6640           Add FIXME: and improve log.
6641
6642         * tests/check/Makefile.am:
6643         * tests/examples/manual/Makefile.am:
6644           Work with all types of registries.
6645
6646 2007-09-19  Wim Taymans  <wim.taymans@gmail.com>
6647
6648         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6649         Don't unref the event after pushing it. Fixes #478401.
6650
6651 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
6652
6653         * .cvsignore:
6654         * tests/examples/manual/.cvsignore:
6655           Ignore registries in any format.
6656
6657 2007-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6658
6659         * gst/glib-compat-private.h:
6660           Add compatibility macro for g_intern_string() for
6661           GLib-2.8 (any reason we can't just bump the
6662           requirement to at least 2.10?)
6663
6664         * gst/gstpadtemplate.h:
6665         * gst/gstelementfactory.c:
6666         * gst/gstregistryxml.c:
6667         * gst/gstregistrybinary.c:
6668           Make GstStaticPadTemplate's templ_name field a const gchar * and fix
6669           up the internal code accordingly.  This shouldn't be a problem, since
6670           there is no reason external code could ever assume the string in such
6671           a structure is dynamically allocated unless it did that itself;  the
6672           use of g_strdup() is private to element factories.  The new code also
6673           saves some memory by putting pad template name strings into the GLib
6674           quark table instead of allocating them dynamically.
6675           Declaring this field constant fixes warnings with g++-4.2 when using
6676           the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
6677
6678 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
6679
6680         * gst/gstelementfactory.c:
6681           Release static caps. Fixes #475723.
6682
6683 2007-09-18  Tim-Philipp Müller  <tim at centricular dot net>
6684
6685         * gst/gstinfo.c:
6686         * gst/gstinfo.h:
6687           Make some internal API take const gchar * instead of just
6688           gchar * to avoid compiler warnings with g++-4.2.2 when
6689           passing string constants (partially fixes #478092).
6690
6691 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
6692
6693         * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
6694         A latency query fails when one of the sinks fail.
6695
6696         * gst/gstelement.c: (gst_element_set_base_time):
6697         Improve debugging.
6698
6699 2007-09-17  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
6700
6701         * gst/gstbin.c: (gst_bin_continue_func):
6702         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
6703         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
6704         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
6705
6706         Fix minor compilation warnings shown with Forte.
6707
6708 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
6709
6710         * plugins/elements/gstqueue.c: (apply_buffer),
6711         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
6712         Measure queue level based on the diff between head and tail timestamps
6713         even when pushing the first buffer.
6714
6715 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
6716
6717         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6718         (gst_base_sink_event), (gst_base_sink_change_state):
6719         Sinks that don't preroll can always be queried for the latency.
6720         Don't post ASYNC start when we are not async.
6721
6722 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
6723
6724         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6725         (gst_queue_handle_sink_event), (gst_queue_chain),
6726         (gst_queue_push_one), (gst_queue_handle_src_query),
6727         (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
6728         * plugins/elements/gstqueue.h:
6729         When downstream returns UNEXPECTED from pushing a buffer, don't try to
6730         push more buffers but allow pushing of EOS and NEWSEGMENT.
6731         Add some more debug info here and there. Fixes #476514.
6732
6733 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
6734
6735         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
6736         (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
6737         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
6738         (gst_base_sink_set_flushing), (gst_base_sink_query),
6739         (gst_base_sink_change_state):
6740         Latency query is allowed after we are prerolled. Introduce a new flag
6741         for this and stop abusing other variables.
6742
6743 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6744
6745         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6746         Push OOB events downstream when we get them in send_event. This allows
6747         the application to insert events in the pipeline.
6748         Add some more comments.
6749
6750 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6751
6752         * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
6753         (do_bin_latency), (gst_bin_change_state_func):
6754         * gst/gstpipeline.c: (gst_pipeline_change_state):
6755         Move latency query from GstPipeline to GstBin so that we can also
6756         use it when async-handling is enabled on bins.
6757
6758 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6759
6760         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
6761         (gst_base_src_do_sync), (gst_base_src_change_state):
6762         Update docs.
6763         Clean up the timestamping and syncing code for pseudo live sources.
6764
6765 2007-09-13  Tim-Philipp Müller  <tim at centricular dot net>
6766
6767         Patch by: Steve Fink  <sphink gmail com>
6768
6769         * docs/manual/appendix-checklist.xml:
6770           Mention less -R switch in the section about debug output (#474055).
6771
6772 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6773
6774         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
6775         Queue can latency to the pipeline up to the configured max size in time.
6776         Report this fact in the latency query.
6777
6778 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
6779
6780         Patch by: Sebastien Moutte <sebastien at moutte dot net>
6781
6782         * libs/gst/controller/gstinterpolation.c:
6783         * libs/gst/controller/gstlfocontrolsource.c:
6784         Use gst_guint64_to_gdouble() when converting from a uint64 or
6785         GstClockTime to double to fix the build on win32. Fixes #474371.
6786
6787 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
6788
6789         * gst/gstbuffer.c: (gst_buffer_finalize):
6790         Implement poisoning for GstBuffer if --enable-poisoning is specified.
6791         When finalizing a buffer the complete struct is filled with 0xff,
6792         thus making a use of the buffer after the final unref impossible.
6793
6794 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
6795
6796         * tests/check/libs/controller.c: (GST_START_TEST):
6797         Use fail_unless_equals_int(a, b) instead of
6798         fail_unless_equals (a == b) to get better output on failures.
6799
6800 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
6801
6802         * tests/check/gst/gsturi.c:
6803           Also check for the other file URI variant on win32.
6804
6805 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
6806
6807         * gst/gsturi.c: (gst_uri_get_location):
6808           If there's no hostname, we want to return 'c:/foo/bar.txt'
6809           and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
6810
6811         * tests/check/gst/gsturi.c:
6812           Unit test for the above and a few more things.
6813
6814 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
6815
6816         * docs/design/part-live-source.txt:
6817         Add docs on how live sources should timestamp.
6818
6819         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
6820         Add some more debug info.
6821         For subclasses that are live and like to sync, add aditional startup
6822         latency to sync time and timestamps so that we timstamp according to the
6823         design doc.
6824
6825 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
6826
6827         * gst/gstbuffer.c:
6828           Also do a g_type_class_ref() for the subbuffer type in
6829           the init function.
6830
6831 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
6832
6833         * docs/gst/gstreamer-sections.txt:
6834         * gst/gstpad.c: (gst_pad_peer_query):
6835         * gst/gstpad.h:
6836         Add function to perform a query on the peer of a pad.
6837         API: gst_pad_peer_query()
6838
6839 2007-09-11  Stefan Kost  <ensonic@users.sf.net>
6840
6841         * tests/check/gst/gstsystemclock.c:
6842           Cleanup the test a little (use gst-logging and not g_message). Improve
6843           test to check if a wait reached the target.
6844
6845 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
6846
6847         * docs/libs/gstreamer-libs-sections.txt:
6848           Add new API to docs and fix the build.
6849
6850 2007-09-10  Wim Taymans  <wim.taymans@gmail.com>
6851
6852         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6853         (gst_base_src_init), (gst_base_src_set_do_timestamp),
6854         (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
6855         (gst_base_src_get_property), (gst_base_src_do_sync):
6856         * libs/gst/base/gstbasesrc.h:
6857         Add property to make the basesrc timestamp buffers based on the current
6858         running time.
6859         API: GstBaseSrc::do-timestamp
6860         API: gst_base_src_set_do_timestamp()
6861         API: gst_base_src_get_do_timestamp()
6862
6863 2007-09-08  Tim-Philipp Müller  <tim at centricular dot net>
6864
6865         * docs/random/release:
6866           Really make sure translations are up-to-date before
6867           a release (#465010).
6868
6869 2007-09-07  Sebastian Dröge  <slomo@circular-chaos.org>
6870
6871         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
6872         Always destroy the timer, also in error cases.
6873
6874 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
6875
6876         * docs/manual/highlevel-xml.xml:
6877         Fix XML example code. Fixes #472714.
6878
6879 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
6880
6881         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6882         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
6883         (gst_base_sink_query):
6884         Protect eos and have_preroll with the OBJECT lock so we don't need to
6885         take the PREROLL lock when querying the latency. Fixes #473846.
6886
6887 2007-09-05  Stefan Kost  <ensonic@users.sf.net>
6888
6889         * gst/gstelement.c:
6890           Give some log-messages a category.
6891
6892 2007-09-04  Wim Taymans  <wim.taymans@gmail.com>
6893
6894         * gst/gststructure.c:
6895         (gst_structure_fixate_field_nearest_fraction):
6896         Fix fraction list fixation code. Take the fraction with the smallest
6897         difference with the target instead of the first one in the list.
6898
6899         * tests/check/gst/gststructure.c: (GST_START_TEST),
6900         (gst_structure_suite):
6901         Added test to verify correct fraction list fixation behaviour.
6902
6903 2007-09-02  Tim-Philipp Müller  <tim at centricular dot net>
6904
6905         * win32/common/libgstreamer.def:
6906           Export gst_bus_add_signal_watch too.
6907
6908 2007-08-30  Wim Taymans  <wim.taymans@gmail.com>
6909
6910         * docs/libs/gstreamer-libs-sections.txt:
6911         Add new methods to docs.
6912
6913         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6914         (gst_base_sink_init), (gst_base_sink_set_ts_offset),
6915         (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
6916         (gst_base_sink_get_property), (gst_base_sink_wait_clock):
6917         * libs/gst/base/gstbasesink.h:
6918         Add ts-offset property to fine-tune the synchronisation.
6919         API: GstBaseSink::ts-offset property
6920         API: gst_base_sink_set_ts_offset()
6921         API: gst_base_sink_get_ts_offset()
6922
6923 2007-08-29  Wim Taymans  <wim.taymans@gmail.com>
6924
6925         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6926         (gst_base_sink_init), (gst_base_sink_set_sync),
6927         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
6928         (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
6929         (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
6930         (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
6931         (gst_base_sink_get_property), (gst_base_sink_change_state):
6932         * libs/gst/base/gstbasesink.h:
6933         Add async property to instruct the sink never to inform the parent about
6934         ASYNC state changes, update docs.
6935         Check argument with g_return_* for the public functions.
6936         API: GstBaseSink::async property
6937         API: gst_base_sink_set_async_enabled()
6938         API: gst_base_sink_is_async_enabled()
6939
6940 2007-08-28  Wim Taymans  <wim.taymans@gmail.com>
6941
6942         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
6943         Improve debugging.
6944
6945         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
6946         (gst_base_src_default_query), (gst_base_src_wait),
6947         (gst_base_src_do_sync), (gst_base_src_change_state):
6948         Rearrange some code so that we can add support for measuring the 
6949         startup latency.
6950
6951 2007-08-27  Stefan Kost  <ensonic@users.sf.net>
6952
6953         * docs/random/ensonic/dynlink.txt:
6954           More thoughs on this.
6955
6956         * plugins/elements/gstcapsfilter.c:
6957           Add bugzilla ticket number to FIXME comment.
6958
6959 2007-08-24  Wim Taymans  <wim.taymans@gmail.com>
6960
6961         * docs/design/part-TODO.txt:
6962         * docs/design/part-block.txt:
6963         Update some docs.
6964
6965 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6966
6967         * gst/Makefile.am:
6968           Revert patch which uses $(gst_headers) instead of $^ because it
6969           breaks make dist.
6970
6971 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6972
6973         * tests/check/gst/gstbin.c: (GST_START_TEST):
6974           Fix leaks in the new unit test.
6975
6976 2007-08-23  Tim-Philipp Müller  <tim at centricular dot net>
6977
6978         * gst/gst.c:
6979           Don't use GST_INFO before the debug system is actually initialised
6980           (shouldn't do any harm, but won't print anything either, so we can
6981           just as well remove it).
6982
6983         * gst/gstinfo.h:
6984           GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
6985           compilers that don't support variadic macros (such as MSVC), should
6986           check for debug_level <= __gst_debug_min as well, since that's the
6987           function called from all the level-specific GST_CAT_*_LOG_OBJECT()
6988           inline helper functions. Should improve performance a bit, but also
6989           makes sure uses of GST_INFO et.al are ignored if the debugging
6990           system isn't initialised yet (instead of printing an assertion
6991           failure).
6992
6993 2007-08-23  Stefan Kost  <ensonic@users.sf.net>
6994
6995         patch by: David Nečas <yeti@physics.muni.cz>
6996
6997         * gst/Makefile.am:
6998           Replace some non portable makefile constructs.
6999
7000 2007-08-21  Stefan Kost  <ensonic@users.sf.net>
7001
7002         * common/gtk-doc-plugins.mak:
7003           Grrrrr. Don't remove the types file on make clean.
7004
7005 2007-08-20  Wim Taymans  <wim.taymans@gmail.com>
7006
7007         * tools/gst-launch.1.in:
7008         Add colorspace to example pipeline. Fixes #458274.
7009
7010 2007-08-20  Tim-Philipp Müller  <tim at centricular dot net>
7011
7012         * docs/random/release:
7013           The release manager should run 'make download-po' before making a
7014           release to make sure translations are up-to-date.
7015
7016         * po/LINGUAS:
7017         * po/be.po:
7018         * po/pl.po:
7019         * po/rw.po:
7020           Add some new translations.
7021
7022 2007-08-17  Wim Taymans  <wim.taymans@gmail.com>
7023
7024         * tools/gst-launch.c: (event_loop), (main):
7025         Don´t try to do any state management when a live pipeline posts
7026         buffering messages.
7027         Also make the buffering string translatable.
7028
7029 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
7030
7031         * gst/gstbin.c: (is_eos), (gst_bin_add_func),
7032         (bin_handle_async_start), (gst_bin_handle_message_func):
7033         Improve debugging.
7034         When adding elements, insert messages into the bus of the newly added
7035         element and make sure the element is the source of the message. This
7036         allows the parent bin to intercept the message and do the
7037         right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
7038         messages to the app (which is not allowed).
7039         Update some docs.
7040
7041         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
7042         Fix testsuite so that is does not work around messages that should not
7043         have been posted in the first place.
7044
7045 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
7046
7047         * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
7048         (update_degree), (gst_bin_sort_iterator_next):
7049         Fix annoying bug in the sorted iterator where a sink that is not really
7050         a sink (when it has downstream links) screwed up the iterator.
7051
7052         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7053         Unit test to verify the fix.
7054
7055 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
7056
7057         * gst/gstmessage.h:
7058         Add some more docs for the messages.
7059
7060         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7061         (gst_base_sink_query):
7062         Add some more debugging.
7063
7064         * tools/gst-launch.c: (event_loop):
7065         When interrupting, don't try to set pipeline to PAUSED twice.
7066
7067 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
7068
7069         
7070         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
7071         (bin_handle_async_start), (gst_bin_handle_message_func):
7072         Move ASYNC_START message posting to where it belongs, similar to
7073         async_done. 
7074         Don't post ASYNC_START when we are in error. 
7075         Post ASYNC_START when we added an async element to a bin.
7076
7077 2007-08-14  Julien MOUTTE  <julien@moutte.net>
7078
7079         * gst/gstindex.c: (gst_index_add_association): Fix index entry
7080         generation from vargs. Fixes #466595.
7081
7082 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
7083
7084         * gst/gstbin.c: (gst_bin_element_set_state):
7085         Always change the state of a NO_PREROLL element even if it has ASYNC
7086         elements inside (in case of a bin).
7087
7088         * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
7089         Unit test for this case.
7090
7091 2007-08-13  Stefan Kost  <ensonic@users.sf.net>
7092
7093         * libs/gst/check/gstbufferstraw.c:
7094         * libs/gst/check/gstcheck.h:
7095         * libs/gst/controller/gstcontroller.c:
7096         * libs/gst/controller/gstcontrolsource.h:
7097         * libs/gst/controller/gstlfocontrolsource.h:
7098         * plugins/elements/gstcapsfilter.h:
7099         * plugins/elements/gstfdsink.h:
7100         * plugins/elements/gstfdsrc.h:
7101           Add more missing docs.
7102
7103 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
7104
7105         * gst/gststructure.c:
7106         Add Since tag to docs.
7107
7108 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
7109
7110         * docs/gst/gstreamer-sections.txt:
7111         * gst/gststructure.c: (gst_structure_get_uint):
7112         * gst/gststructure.h:
7113         Add function to get uint from a structure.
7114         API: gst_structure_get_uint()
7115
7116 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
7117
7118         * gst/gstcaps.c: (gst_caps_set_simple_valist),
7119         (gst_caps_intersect):
7120         Fix proper check for simple caps.
7121
7122 2007-08-10  Stefan Kost  <ensonic@users.sf.net>
7123
7124         * docs/gst/Makefile.am:
7125         * docs/libs/Makefile.am:
7126           Remove cruft and do some cleanups.
7127
7128         * docs/gst/gstreamer-docs.sgml:
7129         * docs/libs/gstreamer-libs-docs.sgml:
7130           Prepare for comming gtkdoc features (rebase against online docs).
7131
7132 2007-08-10  Michael Smith <msmith@fluendo.com>
7133
7134         * docs/gst/gstreamer-sections.txt:
7135           Add gst_registry_add_path to docs.
7136
7137 2007-08-10  Michael Smith <msmith@fluendo.com>
7138
7139         * gst/gstregistry.h:
7140           Add gst_registry_add_path, which was missing from this header.
7141
7142 2007-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7143
7144         * libs/gst/controller/gstlfocontrolsource.c:
7145           Printf format fix.
7146
7147 2007-08-09  Philippe Kalaf <philippe.kalaf@collabora.co.uk>
7148
7149         * libs/gst/base/gstbasesink.c:
7150           Don't send an async_start message during downwards state change if 
7151           target state is less than READY
7152
7153 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7154
7155         translated by: Gabor Kelemen <kelemeng@gnome.hu>
7156
7157         * po/LINGUAS:
7158         * po/hu.po:
7159           Added Hungarian translation.
7160
7161 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7162
7163         * po/fi.po:
7164         * po/it.po:
7165         * po/nl.po:
7166         * po/sv.po:
7167         * po/uk.po:
7168           Updated translations.
7169
7170 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
7171
7172         * libs/gst/controller/Makefile.am:
7173         Dist gstlfocontrolsourceprivate.h
7174
7175 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
7176
7177         * docs/libs/gstreamer-libs.types:
7178         Don't register the enum type gst_lfo_waveform_get_type() in the
7179         .types file - only GObject derived types belong.
7180
7181 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
7182
7183         Patch by: <arenevier at fdn dot fr>
7184
7185         * gst/gstbuffer.h:
7186         Remove comma from last element in enum to avoid compile errors when
7187         using -pendantic. Fixes #464366.
7188
7189 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
7190
7191         * docs/design/part-TODO.txt:
7192         Add some more TODO items
7193
7194         * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
7195         Improve debugging.
7196
7197         * gst/gstcaps.c: (gst_caps_intersect):
7198         Optimize trivial intersection case between identical caps pointers.
7199
7200         * gst/gstelement.c: (gst_element_continue_state),
7201         (gst_element_set_state_func):
7202         * gst/gstpad.c:
7203         Fix spelling and grammar mistakes.
7204
7205 2007-08-05  Stefan Kost  <ensonic@users.sf.net>
7206
7207         * po/POTFILES.in:
7208         * po/POTFILES.skip:
7209           Update POTFILES. Fixes #461599.
7210
7211 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
7212
7213         * gst/gst.c:
7214         Fix confusing typo in debug output.
7215
7216 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
7217
7218         reviewed by: Stefan Kost <ensonic@users.sf.net>
7219
7220         * libs/gst/controller/Makefile.am:
7221         * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
7222         (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
7223         (gst_lfo_control_source_new),
7224         (gst_lfo_control_source_set_waveform),
7225         (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
7226         (gst_lfo_control_source_finalize),
7227         (gst_lfo_control_source_dispose),
7228         (gst_lfo_control_source_set_property),
7229         (gst_lfo_control_source_get_property),
7230         (gst_lfo_control_source_class_init):
7231         * libs/gst/controller/gstlfocontrolsource.h:
7232         * libs/gst/controller/gstlfocontrolsourceprivate.h:
7233         API: Add GstLFOControlSource, a control source that gives values
7234         for specific timestamps based on several periodic waveforms.
7235         Fixes #459717.
7236
7237         * tests/check/libs/controller.c: (GST_START_TEST),
7238         (gst_controller_suite):
7239         * docs/libs/gstreamer-libs-docs.sgml:
7240         * docs/libs/gstreamer-libs-sections.txt:
7241         * docs/libs/gstreamer-libs.types:
7242         Add documentation and unit tests for GstLFOControlSource.
7243
7244 2007-08-03  Jan Schmidt  <thaytan@mad.scientist.com>
7245
7246         * configure.ac:
7247         Back to CVS
7248
7249 === release 0.10.14 ===
7250
7251 2007-08-03  Jan Schmidt <thaytan@mad.scientist.com>
7252
7253         * configure.ac:
7254           releasing 0.10.14, "Breathing Vacuum"
7255
7256 2007-08-02  Tim-Philipp Müller  <tim at centricular dot net>
7257
7258         * gst/gstelement.c: (gst_element_class_set_details_simple):
7259         * gst/gstelement.h:
7260           Make strings passed to gst_element_class_set_details_simple()
7261           constant, as they should be (#462752).
7262
7263 2007-08-02  Wim Taymans  <wim.taymans@gmail.com>
7264
7265         * gst/gstbin.c: (gst_bin_change_state_func),
7266         (bin_handle_async_done), (gst_bin_handle_message_func):
7267         Don't forget about the fact that some element went ASYNC even after a
7268         resync. This makes us post the ASYNC_DONE message correctly.
7269         Fixes #462558.
7270
7271 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
7272
7273         * gst/gstregistry.c: (gst_registry_add_feature):
7274         When replacing an existing feature in the registry, make sure to
7275         continue holding a reference until we've replaced the name string
7276         within our feature hash table. Make sure to use g_hash_table_replace
7277         instead of g_hash_table_insert to ensure the new name string is used
7278         as a key instead of the old one that we're about to free.
7279         Fixes: #462085
7280
7281 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
7282
7283         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7284         (gst_plugin_feature_set_name):
7285         Revert patch from #459466 until after the release and we can work
7286         out exactly what the problem is (if any).
7287
7288 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
7289
7290         * docs/gst/gstreamer-sections.txt:
7291         * gst/gsttaglist.c:
7292         * gst/gsttaglist.h:
7293           API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
7294
7295 2007-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
7296
7297         * docs/libs/Makefile.am:
7298         Include our build-prefix libs and includes before the generic ones to
7299         avoid linking against the installed libs when we want the build-tree
7300         ones.
7301
7302 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
7303
7304         Patch by: Steve Fink  <sphink gmail com>
7305
7306         * docs/pwg/building-testapp.xml:
7307           Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
7308           if people try to build or install the example from the plugin
7309           template against a GStreamer from package using the configure
7310           defaults.
7311
7312 2007-07-25  Tim-Philipp Müller  <tim at centricular dot net>
7313
7314         Patch by: Steve Fink  <sphink gmail com>
7315
7316         * tools/gst-inspect.1.in:
7317           Document --print-all and --print-plugin-auto-install-info command
7318           line options in man page.
7319
7320 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
7321
7322         * docs/gst/gstreamer-sections.txt:
7323         Add docs for new api function.
7324
7325 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
7326
7327         * gst/gstelementfactory.c: (gst_element_factory_has_interface):
7328         * gst/gstelementfactory.h:
7329         API: gst_element_factory_has_interface()
7330         Added method to check if an element factory implements a named
7331         interface.
7332
7333 2007-07-25  Stefan Kost  <ensonic@users.sf.net>
7334
7335         * configure.ac:
7336         * docs/gst/gstreamer.types.in:
7337           Another conditional doc check.
7338
7339         * gst/gstmessage.c:
7340         * gst/gstparamspecs.h:
7341         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7342         * gst/gstvalue.c:
7343         * gst/gstxml.h:
7344           API-doc fixes.
7345
7346 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7347
7348         * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
7349         (gst_registry_binary_load_feature),
7350         (gst_registry_binary_load_plugin),
7351         (gst_registry_binary_read_cache):
7352           Print error just once and with additional info.
7353
7354 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7355
7356         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
7357         (helper_find_suggest), (helper_find_get_length),
7358         (gst_type_find_helper_get_range), (buf_helper_find_suggest),
7359         (gst_type_find_helper_for_buffer):
7360           Cleanup the typefindhelper code and add private doc comments.
7361
7362 2007-07-24  Edward Hervey  <bilboed@bilboed.com>
7363
7364         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7365         (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
7366         Fix capsfilter for cases where the caps set on capsfilter will provide
7367         additional information.
7368         Fixes #449197
7369
7370 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7371
7372         * gst/gsttypefindfactory.c:
7373           Fix docs that recommened wrong function to use.
7374
7375 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7376
7377         * tools/gst-inspect.c: (print_plugin_features):
7378           Also give media-type for typefinders in element output.
7379
7380 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7381
7382         * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
7383         (gst_registry_remove_features_for_plugin_unlocked),
7384         (gst_registry_add_feature), (gst_registry_remove_feature),
7385         (gst_registry_lookup_feature_locked):
7386         * gst/gstregistry.h:
7387           Speed up gst_registry_lookup_feature_locked() by using a hashmap.
7388           Fixes #459501.
7389
7390 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7391
7392         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7393         (gst_plugin_feature_set_name):
7394           Avoid double memory usage for pluginfeature names. Fixes #459466.
7395
7396 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
7397
7398         * gst/gstpad.h:
7399           Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
7400           driving the pipeline may need to explicitly check for NOT_LINKED as
7401           well, since IS_FATAL doesn't cover that.
7402
7403 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
7404
7405         * docs/pwg/advanced-types.xml:
7406           Fix typo and duplicate entry in video formats list.
7407
7408 2007-07-22  Sebastian Dröge  <slomo@circular-chaos.org>
7409
7410         * libs/gst/controller/gstinterpolation.c:
7411         Also round to the nearest int when using cubic interpolation.
7412
7413 2007-07-19  Jan Schmidt  <thaytan@noraisin.net>
7414
7415         * libs/gst/controller/gstinterpolation.c:
7416         When linearly interpolating integer types, round to the nearest int
7417         by adding 0.5. Don't do it for float/double types.
7418         Fixes the failing controller test on my machine, which is somehow
7419         rounding differently than on the buildbots.
7420
7421 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7422
7423         * tools/gst-plot-timeline.py:
7424           Better log parsing (categories can have -). Adjust text vs. lines, so
7425           that they span the same y-range.        
7426
7427 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7428
7429         * docs/random/ensonic/audiobaseclasses.txt:
7430         * docs/random/ensonic/dynlink.txt:
7431         * docs/random/ensonic/profiling.txt:
7432           Save my thoughts.
7433
7434         * docs/random/moving-plugins:
7435           Add note to use g_assert type macros.
7436
7437 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7438
7439         * configure.ac:
7440         * libs/gst/check/Makefile.am:
7441           Add libm check as we use in for plugins.
7442
7443 2007-07-18  Jan Schmidt  <thaytan@noraisin.net>
7444
7445         * gst/gstbin.c: (gst_bin_continue_func):
7446         Check that the state_cookie hasn't changed since the continue_func
7447         was scheduled. Avoids problems where the state changes back to
7448         something it shouldn't be because it was changed in the meantime.
7449
7450 2007-07-17  Stefan Kost  <ensonic@users.sf.net>
7451
7452         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
7453         (gst_registry_binary_save_string),
7454         (gst_registry_binary_save_pad_template),
7455         (gst_registry_binary_save_feature),
7456         (gst_registry_binary_save_plugin),
7457         (gst_registry_binary_load_feature),
7458         (gst_registry_binary_load_plugin),
7459         (gst_registry_binary_read_cache):
7460           Fix memory leak. Be less verbose in the log.
7461
7462 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7463
7464         * tests/check/elements/.cvsignore:
7465         Add file to cvsignore as commanded.
7466
7467 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7468
7469         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
7470         (mq_dummypad_event), (run_output_order_test):
7471         Use a GStaticMutex to protect all cases where libcheck
7472         fail_if/fail_unless macros might be called from multiple threads
7473         simultaneously to avoid errors like:
7474           "check_pack.c:107: :-1081725400:Bad message type arg"
7475
7476 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7477
7478         * tests/check/pipelines/stress.c: (GST_START_TEST):
7479         Make sure we set the pipeline back to the NULL state before
7480         dropping our final reference.
7481
7482 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7483
7484         * tests/check/elements/tee.c: (GST_START_TEST):
7485         Make the tee stress-test a little less stressful so it doesn't just
7486         time out on slow-machines, and remove a small race when it's starting 
7487         up by adding a get_state() call.
7488
7489 2007-07-16  Stefan Kost  <ensonic@users.sf.net>
7490
7491         * gst/gst.c:
7492           Avoid reading registry twice on startup. Fixes #457322.
7493
7494 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
7495
7496         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7497         * pkgconfig/gstreamer-check.pc.in:
7498         Substitute the CFLAGS for libcheck into our .pc file too so that
7499         dependent modules will pick it up properly if libcheck is installed
7500         into some other prefix.
7501
7502 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
7503
7504         * configure.ac:
7505         Revert the pkg-config check for libcheck, since it pulls in the
7506         wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
7507         a proper solution, either from the check project, or something else.
7508
7509 2007-07-12  Stefan Kost  <ensonic@users.sf.net>
7510
7511         * configure.ac:
7512           Use pkg-config to locate check.
7513
7514 2007-07-10  Stefan Kost  <ensonic@users.sf.net>
7515
7516         * gst/gsttaglist.c:
7517           Fix doc syntax.
7518
7519         * gst/gstutils.c:
7520         * gst/gstutils.h:
7521           Add deprecation guards.
7522
7523         * libs/gst/base/gstcollectpads.h:
7524           Don't document object (this is implicitly private).
7525
7526 2007-07-08  Tim-Philipp Müller  <tim at centricular dot net>
7527
7528         * gst/gststructure.c: (gst_structure_parse_value):
7529           When deserialising foo=bar without a type cast, check if it's a
7530           boolean before falling back to a string type, otherwise things like
7531           audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
7532           because the filtercaps end up having a signed=(string)true field,
7533           which causes problems later when intersection caps.
7534
7535         * tests/check/gst/gststructure.c: (GST_START_TEST):
7536           Add a unit test for this.
7537
7538 2007-07-06  Sebastian Dröge  <slomo@circular-chaos.org>
7539
7540         Reviewed by: Stefan Kost <ensonic@users.sf.net>
7541
7542         * libs/gst/controller/Makefile.am:
7543         * libs/gst/controller/gstcontroller.c:
7544         (gst_controlled_property_add_interpolation_control_source),
7545         (gst_controlled_property_new), (gst_controlled_property_free),
7546         (gst_controller_find_controlled_property),
7547         (gst_controller_new_valist), (gst_controller_new_list),
7548         (gst_controller_new), (gst_controller_remove_properties_valist),
7549         (gst_controller_remove_properties_list),
7550         (gst_controller_remove_properties),
7551         (gst_controller_set_property_disabled),
7552         (gst_controller_set_disabled), (gst_controller_set_control_source),
7553         (gst_controller_get_control_source), (gst_controller_get),
7554         (gst_controller_sync_values), (gst_controller_get_value_array),
7555         (_gst_controller_dispose), (gst_controller_get_type),
7556         (gst_controlled_property_set_interpolation_mode),
7557         (gst_controller_set), (gst_controller_set_from_list),
7558         (gst_controller_unset), (gst_controller_unset_all),
7559         (gst_controller_get_all), (gst_controller_set_interpolation_mode):
7560         * libs/gst/controller/gstcontroller.h:
7561         * libs/gst/controller/gstcontrollerprivate.h:
7562         * libs/gst/controller/gstcontrolsource.c:
7563         (gst_control_source_class_init), (gst_control_source_init),
7564         (gst_control_source_get_value),
7565         (gst_control_source_get_value_array), (gst_control_source_bind):
7566         * libs/gst/controller/gstcontrolsource.h:
7567         * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
7568         (gst_object_get_control_source):
7569         * libs/gst/controller/gstinterpolation.c:
7570         (gst_interpolation_control_source_find_control_point_node),
7571         (gst_interpolation_control_source_get_first_value),
7572         (_interpolate_none_get), (interpolate_none_get),
7573         (interpolate_none_get_boolean_value_array),
7574         (interpolate_none_get_enum_value_array),
7575         (interpolate_none_get_string_value_array),
7576         (_interpolate_trigger_get), (interpolate_trigger_get),
7577         (interpolate_trigger_get_boolean_value_array),
7578         (interpolate_trigger_get_enum_value_array),
7579         (interpolate_trigger_get_string_value_array):
7580         * libs/gst/controller/gstinterpolationcontrolsource.c:
7581         (gst_control_point_free), (gst_interpolation_control_source_reset),
7582         (gst_interpolation_control_source_new),
7583         (gst_interpolation_control_source_set_interpolation_mode),
7584         (gst_interpolation_control_source_bind),
7585         (gst_control_point_compare), (gst_control_point_find),
7586         (gst_interpolation_control_source_set_internal),
7587         (gst_interpolation_control_source_set),
7588         (gst_interpolation_control_source_set_from_list),
7589         (gst_interpolation_control_source_unset),
7590         (gst_interpolation_control_source_unset_all),
7591         (gst_interpolation_control_source_get_all),
7592         (gst_interpolation_control_source_get_count),
7593         (gst_interpolation_control_source_init),
7594         (gst_interpolation_control_source_finalize),
7595         (gst_interpolation_control_source_dispose),
7596         (gst_interpolation_control_source_class_init):
7597         * libs/gst/controller/gstinterpolationcontrolsource.h:
7598         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
7599         API: Refactor GstController into the core controller which can take
7600         a GstControlSource for providing actual values for timestamps.
7601         Implement a interpolation control source and use this for backward
7602         compatibility, deprecate a bunch of functions that are now handled
7603         by GstControlSource or GstInterpolationControlSource.
7604         Make it possible to disable the controller completely or only for
7605         specific properties. Fixes #450711.
7606         * docs/libs/gstreamer-libs-docs.sgml:
7607         * docs/libs/gstreamer-libs-sections.txt:
7608         * docs/libs/gstreamer-libs.types:
7609         Add new functions and classes to the docs.
7610         * tests/check/libs/controller.c: (GST_START_TEST),
7611         (gst_controller_suite):
7612         * tests/examples/controller/audio-example.c: (main):
7613         Port unit test and example to the new API and add some new
7614         unit tests.
7615
7616 2007-07-05  Wim Taymans  <wim.taymans@gmail.com>
7617
7618         Patch by: Mark Nauwelaerts <manauw at skynet be>
7619
7620         * plugins/elements/gstmultiqueue.c:
7621         (gst_multi_queue_get_internal_links), (apply_buffer),
7622         (single_queue_overrun_cb), (gst_single_queue_new):
7623         Implement non-default GstPadIntLinkFunction for multiqueue pads so that
7624         the pipeline layout can be tracked correctly. Fixes #453732.
7625
7626 2007-07-05  Stefan Kost  <ensonic@users.sf.net>
7627
7628         * docs/gst/Makefile.am:
7629         * docs/libs/Makefile.am:
7630         * docs/plugins/Makefile.am:
7631           Simplify --extra-dir as gtkdoc scans recursively.
7632
7633 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
7634
7635         * tools/gst-launch.c: (main):
7636         When we got an error, there is no point in waiting for preroll when
7637         shutting down.
7638
7639 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
7640
7641         * plugins/elements/gsttee.c: (gst_tee_base_init),
7642         (gst_tee_request_new_pad), (gst_tee_release_pad),
7643         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
7644         (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
7645         (gst_tee_chain):
7646         Be a lot smarter when deciding what srcpad to use for proxying
7647         the buffer_alloc. Also handle pad added/removed when doing so.
7648         Fixes #357959.
7649         Keep track of what pads we already pushed on in case we have pads
7650         added/removed while pushing. Fixes #374639 
7651
7652         * tests/check/Makefile.am:
7653         * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
7654         (tee_suite):
7655         Added unit test for pad resync.
7656
7657 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7658
7659         * po/nl.po:
7660         * po/sv.po:
7661           Updated translations.
7662
7663 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7664
7665         translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
7666
7667         * po/LINGUAS:
7668         * po/fi.po:
7669           Added new Finnish translation.
7670
7671 2007-06-28  Wim Taymans  <wim@fluendo.com>
7672
7673         * plugins/elements/gstmultiqueue.c: (apply_buffer),
7674         (single_queue_overrun_cb):
7675         When figuring out when a queue is filled, use our internal time estimate
7676         based on segments, just like check_full does.
7677
7678 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
7679
7680         * gst/gstminiobject.c: (gst_mini_object_get_type):
7681           Remove 3 do-nothing methods.
7682
7683 2007-06-27  Wim Taymans  <wim@fluendo.com>
7684
7685         Patch by: Tim Angus <tim at ngus dot net>
7686
7687         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7688         (gst_capsfilter_set_property):
7689         Take a reference instead of a copy when setting "caps".
7690         Fix documentation to clarify this behaviour. Fixes #449414.
7691
7692 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
7693
7694         * gst/gstindexfactory.c: (gst_index_factory_get_type):
7695         * gst/gstplugin.c: (gst_plugin_init):
7696         * gst/gstpluginfeature.c: (gst_plugin_feature_init):
7697         * gst/gstquery.c: (gst_query_get_type):
7698         * gst/gstregistry.c: (gst_registry_init):
7699         * gst/gsturi.c: (gst_uri_handler_base_init):
7700           Remove empty instance_init() functions to save relocs and lessen the
7701           noise. Remove some of the function prototypes that are doubled by
7702           G_DEFINE_TYPE.
7703           
7704 2007-06-27  Wim Taymans  <wim@fluendo.com>
7705
7706         Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
7707
7708         * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
7709         Add peer and direction in the XML serialisation of ghostpads.
7710         Fixes #449226.
7711
7712 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
7713
7714         * configure.ac:
7715           Preserve useful information, thanks Tim.
7716
7717 2007-06-26  Jan Schmidt  <thaytan@noraisin.net>
7718
7719         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
7720         (gst_single_queue_flush), (apply_segment), (apply_buffer),
7721         (gst_single_queue_push_one), (gst_multi_queue_loop),
7722         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
7723         (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
7724         (compute_high_id), (gst_single_queue_new):
7725         * plugins/elements/gstmultiqueue.h:
7726         Take the multiqueue lock when updating the fill level so we don't get
7727         confused. 
7728
7729         After applying a buffer or event on the src pad segment, make sure to
7730         call gst_data_queue_limits_changed() to get the data queue to unblock
7731         and check the filled state again.
7732         
7733         Rework the not-linked pad handling so the logic is that not-linked 
7734         pads can push as fast as they like, but only so they never get 
7735         ahead of any linked pads.
7736
7737         * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
7738         (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
7739         (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
7740
7741         Add a test to check that not-linked pads always stay behind
7742         linked pads.
7743
7744         Fixes: #430682
7745
7746 2007-06-26  Jan Schmidt  <thaytan@mad.scientist.com>
7747
7748         * docs/random/release:
7749           Some updates to the release procedure.
7750
7751 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
7752
7753         * gst/gstelementfactory.c: (__gst_element_details_clear):
7754           Microoptimization that saves stunning 80 bytes.
7755
7756 2007-06-25  Stefan Kost  <ensonic@users.sf.net>
7757
7758         * docs/plugins/gstreamer-plugins.args:
7759         * docs/plugins/inspect/plugin-coreelements.xml:
7760         * docs/plugins/inspect/plugin-coreindexers.xml:
7761           Update docs with caps info.
7762
7763 2007-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7764
7765         * po/it.po:
7766           Updated Italian translation.
7767
7768 2007-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7769
7770         * ChangeLog:
7771         * po/vi.po:
7772           Update Vietnamese translations.
7773
7774 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
7775
7776         * libs/gst/base/gstbasesink.c:
7777           Remove unused signal enum.
7778
7779 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
7780
7781         * docs/gst/gstreamer-sections.txt:
7782         * gst/gstelement.c:
7783         * gst/gstutils.c: (gst_type_register_static_full):
7784         Beef up and include the docs for gst_type_register_static_full and
7785         gst_element_class_set_details_simple and add the API keyword
7786         in the ChangeLog.
7787
7788 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
7789
7790         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
7791         (update_time_level), (gst_single_queue_push_one),
7792         (gst_multi_queue_chain), (gst_multi_queue_sink_event),
7793         (single_queue_overrun_cb), (single_queue_underrun_cb),
7794         (single_queue_check_full):
7795         Fix setting max-* properties after adding queues.
7796         Use IS_FILLED for checking visible items.
7797         Signal overrun if multiple queues overrun.
7798         Add extra debug output.
7799         Patch by: Wim Taymans <wim@fluendo.com>
7800
7801 2007-06-21  Stefan Kost  <ensonic@users.sf.net>
7802
7803         * gst/gstelement.c: (gst_element_class_set_details_simple):
7804         * gst/gstelement.h:
7805         * gst/gstutils.c: (gst_type_register_static_full):
7806         * gst/gstutils.h:
7807         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
7808         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
7809         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
7810         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
7811         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
7812         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
7813         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
7814         * plugins/elements/gstidentity.c: (gst_identity_base_init):
7815         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
7816         * plugins/elements/gstqueue.c: (gst_queue_base_init),
7817         (apply_buffer), (gst_queue_chain):
7818         * plugins/elements/gsttee.c: (gst_tee_base_init):
7819         * plugins/elements/gsttypefindelement.c:
7820         (gst_type_find_element_base_init),
7821         (gst_type_find_element_class_init):
7822           Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
7823           API: add gst_type_register_static_full
7824           API: add gst_element_class_set_details_simple
7825
7826 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
7827
7828         * docs/pwg/advanced-types.xml:
7829           Fix typo in iana.org URI.
7830
7831 2007-06-19  Andy Wingo  <wingo@pobox.com>
7832
7833         * tests/check/pipelines/simple-launch-lines.c
7834         (test_state_change_returns): Enable pull-mode tests now that
7835         basesink has been fixed.
7836
7837         * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
7838         Changed from gst_base_sink_is_prerolled, reversing the sense of
7839         the return value. Returns FALSE also if the sink is in pull mode,
7840         in which case it needs no preroll.
7841         (gst_base_sink_query, gst_base_sink_change_state): Update for
7842         needs_preroll change.
7843         (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
7844         chaining up, in which we return SUCCESS directly if we activated
7845         in pull mode instead of ASYNC. Involves countering an async_start
7846         message sent before chaining up; not sure if this is correct, in
7847         an ideal world we only send async-start when activating in push
7848         mode.
7849
7850         * tests/check/pipelines/simple-launch-lines.c
7851         (test_state_change_returns): New test, partially disabled until
7852         basesink is fixed.
7853
7854 2007-06-19  Wim Taymans  <wim@fluendo.com>
7855
7856         * plugins/elements/gstmultiqueue.c: (apply_buffer),
7857         (gst_multi_queue_sink_event):
7858         Fix event leak.
7859
7860 2007-06-19  Wim Taymans  <wim@fluendo.com>
7861
7862         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
7863         (gst_bin_change_state_func), (bin_push_state_continue),
7864         (bin_handle_async_start), (bin_handle_async_done),
7865         (gst_bin_handle_message_func):
7866         Move the common code for posting state-change messages into
7867         one function.
7868         Broadcast the state signal after we posted the messages.
7869         Mark the bin as busy when it's doing a state-change.
7870         Make sure async-start/done messages don't interfere with the bin's
7871         state when it's busy.
7872         After the state change, let the bin check which elements completed the
7873         state change while it was busy so that it can update its state.
7874
7875 2007-06-19  Jan Schmidt  <thaytan@mad.scientist.com>
7876
7877         * docs/random/release:
7878         Add a note about updating the doap file to the release checklist
7879
7880 2007-06-18  Wim Taymans  <wim@fluendo.com>
7881
7882         * plugins/elements/gstmultiqueue.c: (apply_buffer),
7883         (gst_single_queue_push_one), (gst_multi_queue_chain),
7884         (gst_multi_queue_sink_event):
7885         Make sure we don't reference the buffer/event after we have given away
7886         ownership in the queue.
7887
7888 2007-06-18  Wim Taymans  <wim@fluendo.com>
7889
7890         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
7891         (gst_multi_queue_chain), (gst_multi_queue_sink_event):
7892         Update queue state _after_ adding the item in the queue because else we
7893         could end up being full without the element added yet.
7894
7895 2007-06-18  Wim Taymans  <wim@fluendo.com>
7896
7897         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
7898         (gst_bin_remove_func), (gst_bin_get_state_func),
7899         (gst_bin_element_set_state), (gst_bin_continue_func),
7900         (bin_push_state_continue), (bin_handle_async_start),
7901         (bin_handle_async_done), (gst_bin_handle_message_func):
7902         * gst/gstbin.h:
7903         Immediatly commit the toplevel bin state when receiving an async-done
7904         message. This enables us to avoid spawning a thread to commit the state
7905         in some common cases and it also avoids some races.
7906         Avoid spawning a state thread when adding/removing async elements to a
7907         toplevel bin. Instead we immediatly update the bin state.
7908         Get rid of iterating all the children when getting the state in the bin
7909         because it is now always up-to-date.
7910         Fix bug where locked elements would always return _SUCCESS even it they
7911         returned NO_PREROLL before being locked.
7912         Fix the order of the state_change, async-start/done messages that was
7913         sometimes incorrect.
7914         Mark the state_dirty field as deprecated, we don't need it anymore as we
7915         are always up-to-date.
7916
7917         * gst/gstelement.c: (gst_element_get_state_func),
7918         (gst_element_continue_state):
7919         Small debug inprovements.
7920         Return the previous element state return when nothing is pending instead
7921         of blindly returning SUCCESS.
7922
7923         * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
7924         (gst_sinks_suite):
7925         Add a whole bunch of new testcases.
7926
7927 2007-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
7928
7929         * po/uk.po:
7930         * po/vi.po:
7931           Update translations.
7932
7933 2007-06-15  Jan Schmidt  <thaytan@mad.scientist.com>
7934
7935         * gst/gstpad.c:
7936         Fix typo in the docs.
7937
7938 2007-06-15  Wim Taymans  <wim@fluendo.com>
7939
7940         * docs/libs/gstreamer-libs-sections.txt:
7941         Add docs for new methods.
7942
7943 2007-06-15  Wim Taymans  <wim@fluendo.com>
7944
7945         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
7946         (gst_multi_queue_item_new):
7947         Don't use GSlice because we don't depend on >= 2.10 yet.
7948
7949 2007-06-15  Wim Taymans  <wim@fluendo.com>
7950
7951         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
7952         (update_time_level), (apply_segment), (apply_buffer),
7953         (gst_single_queue_push_one), (gst_multi_queue_item_new),
7954         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
7955         (gst_multi_queue_sink_event), (single_queue_overrun_cb),
7956         (single_queue_underrun_cb), (single_queue_check_full):
7957         Remove debug printf.
7958
7959 2007-06-15  Wim Taymans  <wim@fluendo.com>
7960
7961         * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
7962         (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
7963         (gst_data_queue_set_flushing), (gst_data_queue_push),
7964         (gst_data_queue_pop), (gst_data_queue_drop_head),
7965         (gst_data_queue_limits_changed), (gst_data_queue_get_level):
7966         * libs/gst/base/gstdataqueue.h:
7967         Various cleanups.
7968         Added methods to get the current levels and to inform the queue that the
7969         'full' limits changed.
7970
7971         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
7972         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
7973         (gst_single_queue_flush), (update_time_level), (apply_segment),
7974         (apply_buffer), (gst_single_queue_push_one),
7975         (gst_multi_queue_item_steal_object),
7976         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
7977         (gst_multi_queue_loop), (gst_multi_queue_chain),
7978         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
7979         (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
7980         (gst_multi_queue_src_query), (single_queue_overrun_cb),
7981         (single_queue_underrun_cb), (single_queue_check_full),
7982         (gst_single_queue_new):
7983         Keep track of time in the queue by measuring the difference between
7984         running_time on input and output. This gives more accurate results and
7985         can compensate for segments correctly.
7986         Make a queue by default only 5 buffers deep. We will now increase the
7987         buffer size depending on the filledness of the other queues.
7988         Factor out commong flush code.
7989         Make sure we don't add additional refcounts to buffers when we can avoid
7990         it.
7991         Propagate GstFlowReturn differently.
7992         Use GSlice for intermediate GstMultiQueueItems.
7993         Keep track of EOS.
7994         Resize queues on over and underruns based on filled level of other
7995         queues.
7996         When checking if the queue is filled, prefer to measure in time if we
7997         can and fall back to bytes when no time is known.
7998
7999         * plugins/elements/gstqueue.c:
8000         Fix return value.
8001
8002 2007-06-15  Wim Taymans  <wim@fluendo.com>
8003
8004         * libs/gst/base/gstbasetransform.c:
8005         (gst_base_transform_sink_event):
8006         Work around the brokenness of the event vmethod in basetransform. Prefer
8007         to return TRUE when the subclass returned FALSE (meaning don't forward
8008         the event). 
8009
8010         * libs/gst/base/gstbasetransform.h:
8011         Clarify the docs.
8012
8013 2007-06-15  Wim Taymans  <wim@fluendo.com>
8014
8015         * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
8016         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
8017         (gst_base_src_default_query), (gst_base_src_get_range),
8018         (gst_base_src_start):
8019         * tests/check/pipelines/parse-launch.c: (setup_pipeline):
8020         Improve debugging.
8021
8022 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
8023
8024         * docs/pwg/advanced-types.xml:
8025           Added more formats to caps table.
8026
8027 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
8028
8029         * tools/gst-launch.c: (main):
8030           Remove crufy code. GOption does not need this workaround.
8031
8032 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
8033
8034         * libs/gst/controller/gstcontroller.c:
8035         (gst_controlled_property_set_interpolation_mode):
8036           Fix wrong getter for enums in controller.
8037
8038 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8039
8040         * libs/gst/check/gstcheck.c: (gst_check_init):
8041           Intercept criticals and warnings in the Gst-Phonon log domain, so
8042           ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
8043           well.
8044         
8045 2007-06-14  Edward Hervey  <edward@fluendo.com>
8046
8047         * gst/gstparamspecs.c: (_gst_param_fraction_validate):
8048         Since this file doesn't include "gst.h" it will not go through the
8049         macros that disable GST_LOG if debugging was disabled.
8050
8051 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8052
8053         * libs/gst/check/Makefile.am:
8054         * libs/gst/check/gstcheck.h:
8055         * pkgconfig/gstreamer-check-uninstalled.pc.in:
8056         * pkgconfig/gstreamer-check.pc.in:
8057           Ugly 'fix' for the controller unit test on the p5 bot: in
8058           fail_unless_equals_float() check whether the values are 'almost
8059           equal' by allowing a small absolute error, which should be good
8060           enough for our use cases (normal numbers and values close to 0).
8061           Proper fixage left to floating point arithmetic aficionados.
8062
8063 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
8064
8065         * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
8066         (gst_base_sink_render_object), (gst_base_sink_get_position):
8067           Add two breaks thats where missing.
8068
8069 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8070
8071         * docs/libs/gstreamer-libs-sections.txt:
8072         * libs/gst/check/gstcheck.h:
8073           API: add fail_unless_equals_float() and assert_equals_float().
8074           Add documentation for some of the macros.
8075
8076         * tests/check/libs/controller.c: (GST_START_TEST):
8077           Use newly-added asserts.
8078
8079 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
8080
8081         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
8082           Show the caps change in the log to help spotting the case of not
8083           exactly matching caps.
8084
8085 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8086
8087         * docs/pwg/building-boiler.xml:
8088           Fix typos, spotted by Thijs Vermeir (#447190).
8089
8090 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8091
8092         * docs/plugins/tmpl/.cvsignore:
8093         Ignore file to keep the buildbots happy
8094
8095 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8096
8097         * docs/plugins/Makefile.am:
8098         * docs/plugins/gstreamer-plugins-docs.sgml:
8099         * docs/plugins/gstreamer-plugins-sections.txt:
8100         Pull fdsink into the docs too.
8101
8102 2007-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
8103
8104         * libs/gst/controller/gstinterpolation.c:
8105         Actually use the new functions with min/max checks for the trigger and
8106         none interpolation modes for get() and get_value_array() instead of
8107         just the latter.
8108
8109 2007-06-10  Sebastian Dröge  <slomo@circular-chaos.org>
8110
8111         * libs/gst/controller/gstcontroller.c:
8112         (gst_controlled_property_free):
8113         Unset the minimum and maximum GValues when freeing the corresponding
8114         GstControllerProperty struct.
8115
8116 2007-06-09  Sebastian Dröge  <slomo@circular-chaos.org>
8117
8118         * libs/gst/controller/gstcontroller.c:
8119         (gst_controlled_property_new):
8120         * libs/gst/controller/gstcontrollerprivate.h:
8121         * libs/gst/controller/gstinterpolation.c:
8122         (gst_controlled_property_find_control_point_node),
8123         (interpolate_none_get), (interpolate_none_get_enum_value_array),
8124         (interpolate_none_get_string_value_array),
8125         (interpolate_trigger_get),
8126         (interpolate_trigger_get_enum_value_array),
8127         (interpolate_trigger_get_string_value_array):
8128         Protect against values larger or smaller than the minimum or maximum
8129         allowed value for the property when using values that can be compared.
8130
8131         Optimize trigger interpolator a bit by taking the last requested value
8132         into account instead of always looping through the complete list.
8133
8134         Fix coding style a bit, everywhere else we use "return foo" instead
8135         of "return (foo)".
8136         
8137         * tests/check/libs/controller.c: (GST_START_TEST),
8138         (gst_controller_suite):
8139         Add unit test for the protection against too large or too small
8140         values.
8141
8142 2007-06-08  Sebastian Dröge  <slomo@circular-chaos.org>
8143
8144         * docs/random/slomo/controller.txt:
8145         Add some thoughts about the future of the controller.
8146
8147 2007-06-08  Wim Taymans  <wim@fluendo.com>
8148
8149         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
8150         Don't overflow in retimestamping code.
8151
8152 2007-06-07  Sebastien Moutte  <sebastien@moutte.net>
8153
8154         * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
8155         Use gst_util_guint64_to_gdouble for conversions.
8156         * win32/common/libgstreamer.def:
8157         Add new exported functions.
8158
8159 2007-06-07  Tim-Philipp Müller  <tim at centricular dot net>
8160
8161         * gst/gstutils.c:
8162           Small docs addition.
8163
8164 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8165
8166         * README:
8167           Remove that test line again.
8168
8169 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8170
8171         * README:
8172           Test commit mail sending.
8173
8174 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8175
8176         * configure.ac:
8177           Fix typo and test commit mail sending.
8178
8179 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8180
8181         * tests/examples/controller/audio-example.c:
8182           Improve comment and test commit mail sending.
8183
8184 2007-06-07  Wim Taymans  <wim@fluendo.com>
8185
8186         * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
8187         (gst_bin_remove_func), (gst_bin_element_set_state),
8188         (bin_handle_async_start), (bin_handle_async_done),
8189         (gst_bin_handle_message_func):
8190         Add helper function to find messages.
8191         Generate the async-done messages together with the state change
8192         messages.
8193         Small cleanups in handling toplevel bins.
8194
8195 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8196
8197         * libs/gst/base/gstdataqueue.c:
8198         * libs/gst/base/gstdataqueue.h:
8199         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
8200         (gst_multi_queue_item_new), (gst_multi_queue_chain),
8201         (gst_multi_queue_sink_event):
8202         * tests/check/elements/multiqueue.c: (multiqueue_suite):
8203           Fix multiqueue leaking buffers and events when downstream or the
8204           queue are flushing. Make refcounting assumptions explicit and
8205           document them (shouldn't break existing code that uses it other than
8206           maybe leak miniobjects, but that already happens anyway). Add unit
8207           test for the most common flushing case. Fixes #423700.
8208           
8209 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
8210
8211         * libs/gst/controller/gstcontroller.c:
8212         Clarify docs: The get_all, get_value_array(s) functions
8213         don't modify the GObject properties.
8214
8215 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
8216
8217         * libs/gst/controller/gstcontroller.c:
8218         (gst_controlled_property_set_interpolation_mode),
8219         (gst_controlled_property_prepend_default),
8220         (gst_controlled_property_new), (gst_controller_set_unlocked),
8221         (gst_controller_set), (gst_controller_set_from_list),
8222         (gst_controller_unset), (gst_controller_unset_all):
8223         * libs/gst/controller/gstcontrollerprivate.h:
8224         * libs/gst/controller/gstinterpolation.c:
8225         Factor out the 'set' logic into gst_controller_set_unlocked for the
8226         gst_controller_set and gst_controller_set_from_list functions.
8227
8228         To make life of the interpolators easier always add a control point
8229         at timestamp zero with the default value.
8230
8231         In the linear interpolator make things more obvious by better variable
8232         naming (slope).
8233
8234         Implement cubic interpolation mode (by using a natural cubic spline)
8235         and map the quadratic interpolation mode to this too (as quadratic
8236         doesn't make much sense, see discussion on the list).
8237
8238         * tests/check/libs/controller.c: (GST_START_TEST),
8239         (gst_controller_suite):
8240         Add unit test for the cubic interpolation mode and check everywhere
8241         if the interpolation mode could be set as expected.
8242
8243 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8244
8245         * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
8246           Don't use GLib-2.10 functions, we still depend on
8247           GLib-how-old-is-it-again-2.8.
8248
8249 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8250
8251         * docs/gst/gstreamer-sections.txt:
8252         * gst/Makefile.am:
8253         * gst/gst.c:
8254         * gst/gst.h:
8255         * gst/gstparamspecs.c: (_gst_param_fraction_init),
8256         (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
8257         (_gst_param_fraction_values_cmp),
8258         (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
8259         * gst/gstparamspecs.h:
8260         * gst/gstvalue.c:
8261         * tests/check/Makefile.am:
8262         * tests/check/gst/.cvsignore:
8263         * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
8264         (gst_dummy_obj_class_init), (gst_dummy_obj_init),
8265         (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
8266         (GST_START_TEST), (gst_param_spec_suite):
8267           API: add GstParamSpecFraction, so elements can have fraction
8268           properties without lots of painful string parsing (#444648).
8269
8270 2007-06-05  Wim Taymans  <wim@fluendo.com>
8271
8272         * gst/gstobject.c: (gst_object_class_init):
8273         Fix signal signature.
8274
8275         * gst/gstsegment.c:
8276         Add small clarification in the api docs.
8277
8278         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
8279         States are protected with object lock.
8280
8281 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
8282
8283         * AUTHORS:
8284         I should probably be listed as an author by now.
8285
8286         * docs/random/release:
8287         Update the release doc
8288
8289 2007-06-05  Tim-Philipp Müller  <tim at centricular dot net>
8290
8291         * gst/gstvalue.c:
8292           Make docs for gst_value_compare() mention return enums that
8293           actually exist.
8294
8295 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
8296
8297         * configure.ac:
8298           Back to CVS
8299
8300 === release 0.10.13 ===
8301
8302 2007-06-05  Jan Schmidt <thaytan@mad.scientist.com>
8303
8304         * configure.ac:
8305           releasing 0.10.13, "With or without you"
8306
8307 2007-05-25  Wim Taymans  <wim@fluendo.com>
8308
8309         * gst/gstbin.c: (bin_handle_async_done):
8310         Make sure that the child bin stops after completing the async state
8311         change so that the parent can continue the state change to PLAYING.
8312         Fixes #441159.
8313
8314 2007-05-25  Wim Taymans  <wim@fluendo.com>
8315
8316         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8317         (unref_data), (gst_collect_pads_remove_pad),
8318         (gst_collect_pads_check_pads):
8319         Use additional refcounting to avoid crashes when dynamically adding and
8320         removing pads. Fixes #420206.
8321
8322 2007-05-24  Wim Taymans  <wim@fluendo.com>
8323
8324         * tools/gst-launch.c: (event_loop):
8325         When buffering goes from a two digit to a single digit number, make sure
8326         to remove the old second digit by writing a blank over it.
8327
8328 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
8329
8330         * libs/gst/base/gstdataqueue.c:
8331           Eliminate tabs and trailing comma in enum list; fix some typos.
8332
8333 2007-05-24  Wim Taymans  <wim@fluendo.com>
8334
8335         * tests/check/gst/gstbin.c: (GST_START_TEST):
8336         Allow refcount of 3 and 4 because some state thread might still be busy
8337         with it.
8338
8339 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
8340
8341         * plugins/elements/Makefile.am:
8342         * plugins/elements/gstmultiqueue.h:
8343         * plugins/elements/gstqueue.h:
8344           These are not installed headers, no need for padding.
8345
8346 2007-05-24  Wim Taymans  <wim@fluendo.com>
8347
8348         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
8349         (gst_bin_continue_func):
8350         Enable latency for next release.
8351         Restore STATE_LOCK around recalc_state that was left out during the
8352         rewrite and could result in racy behaviour when _get_state and
8353         recalc_state are run concurrently. See #440463.
8354
8355 2007-05-23  Wim Taymans  <wim@fluendo.com>
8356
8357         * tests/check/gst/gstsystemclock.c: (store_callback),
8358         (GST_START_TEST):
8359         Improve test_async_order to also work when both timers are already
8360         expired when we get scheduled to check it.
8361
8362 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8363
8364         * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
8365         (gst_bin_set_property), (gst_bin_get_property),
8366         (gst_bin_remove_func), (gst_bin_handle_message_func):
8367         * gst/gstbin.h:
8368           'private' is a c++ keyword, let's not use that in header files,
8369           otherwise c++ compilers will throw a tantrum.
8370
8371 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8372
8373         * plugins/elements/gstelements.c:
8374         * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
8375         (gst_file_sink_get_current_offset):
8376         * plugins/indexers/gstindexers.c: (plugin_init):
8377           Use #ifdef for HAVE_XYZ for consistency.
8378
8379         * tests/check/Makefile.am:
8380         * tests/check/elements/.cvsignore:
8381         * tests/check/elements/filesink.c: (setup_filesink),
8382         (cleanup_filesink), (GST_START_TEST), (filesink_suite):
8383           Add some unit tests for filesink.
8384
8385 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8386
8387         Patch by: Mark Nauwelaerts <manauw at skynet be>
8388
8389         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
8390         (gst_file_sink_query), (gst_file_sink_do_seek),
8391         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8392         * plugins/elements/gstfilesink.h:
8393           Fix position reporting; rename data_written member to current_pos to
8394           reflect its real meaning (fixes #412648).
8395
8396 2007-05-22  Edward Hervey  <edward@fluendo.com>
8397
8398         * docs/gst/gstreamer-sections.txt:
8399         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
8400         (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
8401         (gst_bin_remove_func), (gst_bin_handle_message_func):
8402         * gst/gstbin.h:
8403         Add a property for bins that handle the state change of their childs.
8404         Fixes #435880
8405
8406 2007-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
8407
8408         * libs/gst/controller/gstinterpolation.c:
8409         Use an array of the correct type when using _get_value_array with
8410         linear interpolation.
8411
8412 2007-05-22  Stefan Kost  <ensonic@users.sf.net>
8413
8414         * gst/gstelement.c (gst_element_requires_clock,
8415           gst_element_provides_clock, gst_element_request_pad,
8416           gst_element_class_set_details, gst_element_class_set_details_simple,
8417           gst_element_default_send_event, gst_element_abort_state,
8418           gst_element_continue_state, gst_element_set_state,
8419           gst_element_set_state_func, iterator_activate_fold_with_resync):
8420         * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
8421           gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
8422           gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
8423           gst_pad_get_range, gst_pad_pull_range):
8424         * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
8425           GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
8426           GstPadActivateModeFunction, GstPadChainFunction,
8427           GstPadGetCapsFunction, GstPadAcceptCapsFunction,
8428           GstPadFixateCapsFunction, GstPadTemplate):
8429         * gst/gstpipeline.c (gst_pipeline_change_state,
8430           gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
8431           gst_pipeline_set_clock, gst_pipeline_auto_clock,
8432           gst_pipeline_get_delay):
8433           Whitespace and docs fixes.
8434
8435 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8436
8437         * libs/gst/controller/gstinterpolation.c:
8438         (interpolate_trigger_get_enum_value_array),
8439         (interpolate_trigger_get_string_value_array):
8440         Add support for retrieving value arrays when using the trigger
8441         interpolation mode. 
8442
8443 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8444
8445         * libs/gst/controller/gstcontroller.c:
8446         (gst_controller_get_value_array):
8447         * libs/gst/controller/gstcontroller.h:
8448         Clarify the docs of gst_controller_get_value_array(): The array where
8449         the values should be written to must be allocated as there seems to be
8450         no way to get the size of a random GType. This doesn't change any
8451         behaviour. Also fix some typos all over the place and remove an unused,
8452         commented function that is not necessary as g_object_set() could be
8453         used instead.
8454         * tests/check/libs/controller.c: (GST_START_TEST),
8455         (gst_controller_suite):
8456         Add unit test for gst_controller_get_value_array().
8457
8458 2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>
8459
8460         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
8461
8462         Disable part of the gst_buffer_try_new_and_alloc test, because
8463         it can happily succeed on 64-bit systems where there's more address
8464         space available.
8465
8466 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8467
8468         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
8469         Add unit test for the improved caps checking from bug #421543.
8470
8471 2007-05-21  Wim Taymans  <wim@fluendo.com>
8472
8473         * docs/design/part-synchronisation.txt:
8474         Small addition.
8475
8476         * gst/gstbin.c: (gst_bin_query):
8477         * plugins/elements/gstqueue.c: (apply_segment):
8478         Improve debugging.
8479
8480         * gst/gstmessage.h:
8481         Improve docs.
8482
8483 2007-05-21  Wim Taymans  <wim@fluendo.com>
8484
8485         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
8486         (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
8487         (gst_pad_configure_src):
8488         Added simple version of improved caps checking. It was previously
8489         assumed that a setcaps function would check the validity of the caps but
8490         people prefer us to check caps against the template automatically. 
8491         Fixes #421543.
8492
8493 2007-05-21  Wim Taymans  <wim@fluendo.com>
8494
8495         * libs/gst/base/gstbasetransform.h:
8496         Fix macro for locking/unlocking the transform lock.
8497
8498 2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
8499
8500         * docs/plugins/tmpl/.cvsignore:
8501           Ignore more.
8502
8503 2007-05-18  Edward Hervey  <edward@fluendo.com>
8504
8505         * plugins/elements/gstqueue.c: (gst_queue_loop):
8506         Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
8507         for the subtle art of warning a potentially blocking thread that it
8508         should check the source pad return value, and relay the information
8509         upstream.
8510
8511 2007-05-18  Edward Hervey  <edward@fluendo.com>
8512
8513         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
8514         Release the queue lock !
8515
8516 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8517
8518         * docs/libs/gstreamer-libs-sections.txt:
8519         Add the two new controller functions to the appropiate places.
8520
8521 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8522
8523         reviewed by: Stefan Kost <ensonic@users.sf.net>
8524
8525         * libs/gst/controller/gstcontroller.c:
8526         (gst_controller_suggest_next_sync), (gst_controller_sync_values),
8527         (_gst_controller_get_property), (_gst_controller_set_property),
8528         (_gst_controller_init), (_gst_controller_class_init):
8529         * libs/gst/controller/gstcontroller.h:
8530         * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
8531         (gst_object_get_control_rate), (gst_object_set_control_rate):
8532         API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
8533         Add API that provides sync suggestion timestamps for elements that
8534         call gst_object_sync_values() from which those elements can subdivide
8535         their processing loop to get the best results for the controlled
8536         properties. For now it just suggests last_sync + control_rate as
8537         new timestamp but this will be improved in the future.
8538
8539         While doing that change the control-rate property to a GstClockTime
8540         from guint and change it's meaning from samples to nanoseconds as
8541         the GstController doesn't know anything about sampling rate. Strictly
8542         speaking this breaks ABI but as the control-rate property didn't do
8543         anything in the past and as such couldn't be used this should be no
8544         problem.        
8545
8546 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8547
8548         reviewed by: Stefan Kost <ensonic@users.sf.net>
8549
8550         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
8551         (gst_controller_unset_all):
8552         * libs/gst/controller/gstcontrollerprivate.h:
8553         * libs/gst/controller/gstinterpolation.c:
8554         (gst_controlled_property_find_control_point_node):
8555         Save last synced value from the list to continue searching from there
8556         in future syncs. This speeds everything up a bit.
8557         
8558 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8559
8560         reviewed by: Stefan Kost <ensonic@users.sf.net>
8561
8562         * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
8563         (gst_control_point_find), (gst_controlled_property_new),
8564         (gst_control_point_free), (gst_controlled_property_free),
8565         (gst_controller_set), (gst_controller_set_from_list),
8566         (gst_controller_unset), (gst_controller_unset_all),
8567         (gst_controller_sync_values):
8568         * libs/gst/controller/gstcontroller.h:
8569         * libs/gst/controller/gstcontrollerprivate.h:
8570         * libs/gst/controller/gstinterpolation.c:
8571         (gst_controlled_property_find_control_point_node),
8572         (interpolate_none_get), (interpolate_trigger_get):
8573         Add a new private GstControlPoint struct which "inherits" from
8574         GstTimedValue to allow different interpolators to store internal
8575         values next to each control point. From the outside everything is
8576         still a GstControlPoint so we don't loose binary compatibility.
8577         Also fixup all the GValue handling to not leak GValues or list nodes.
8578         * tests/check/libs/controller.c: (GST_START_TEST):
8579         Free the list nodes and GValues in the controller_misc test.
8580
8581 2007-05-17  Edward Hervey  <edward@fluendo.com>
8582
8583         * gst/gstsegment.c:
8584         Small doc fix.
8585
8586 2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
8587
8588         * gst/gstplugin.c: (gst_plugin_load_file):
8589           If we fail to load a plugin because of unresolved symbols or missing
8590           libraries and spew a warning to stderr, we may just as well mention
8591           which plugin it was that failed to load.
8592
8593 2007-05-13  David Schleef  <ds@schleef.org>
8594
8595         * docs/Makefile.am: the gtk-doc makefile snippet correctly
8596           handles the case when ENABLE_GTK_DOC is false, and installs
8597           the prebuilt documentation.  So gtk-doc subdirs are 
8598           unconditionally enabled.  Fixes: #349099.
8599
8600 2007-05-13  David Schleef  <ds@schleef.org>
8601
8602         * gst/gstutils.h: Reword some documentation.
8603
8604 2007-05-12  David Schleef  <ds@schleef.org>
8605
8606         * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
8607           do anything with the passed "module" parameter, so remove it.
8608           Allows removal of additional vestigal code.
8609
8610 2007-05-12  David Schleef  <ds@schleef.org>
8611
8612         * gst/gstplugin.c:
8613           Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
8614           Switch to using g_stat() because it's more portable.
8615
8616 2007-05-12  David Schleef  <ds@schleef.org>
8617
8618         * gst/gst.c:
8619           Add GST_DISABLE_OPTION_PARSING, in order to disable option
8620           parsing for embedded systems.
8621         * gst/gstelementfactory.c:
8622           Allow gst_element_register() to be called with plugin==NULL.
8623           Did nobody notice that static elements were broken?
8624
8625 2007-05-12  Wim Taymans  <wim@fluendo.com>
8626
8627         * tools/gst-launch.c: (event_loop):
8628         Give more interesting info when buffering starts and stops.
8629         Fix case where buffering starts but we fail to update the buffering flag
8630         because the target state is not PLAYING.
8631
8632 2007-05-12  Wim Taymans  <wim@fluendo.com>
8633
8634         * plugins/elements/gstqueue.c: (gst_queue_init),
8635         (gst_queue_finalize), (update_time_level), (apply_segment),
8636         (apply_buffer), (gst_queue_locked_flush),
8637         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
8638         (gst_queue_handle_sink_event), (gst_queue_chain),
8639         (gst_queue_push_one), (gst_queue_loop):
8640         * plugins/elements/gstqueue.h:
8641         Refactor an cleanup queue a bit.
8642         Do better time level calculations that also work when the srcpad is not
8643         yet running.
8644         Remove some unneeded debug lines.
8645
8646         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
8647         Added testcase for time level measurement.
8648         Try to make some stuff more racefree.
8649
8650 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
8651
8652         * gst/gsturi.c: (gst_element_make_from_uri):
8653           Don't leak plugin feature.
8654
8655         * tests/check/Makefile.am:
8656         * tests/check/gst/.cvsignore:
8657         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
8658           Add brain-dead unit test.
8659
8660 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
8661
8662         Patch by: Jeroen Wouters <woutersj at gmail com>
8663
8664         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
8665           Treat protocol strings in a case-insensitive way (#437563).
8666
8667 2007-05-11  Michael Smith <msmith@fluendo.com>
8668
8669         * gst/gstplugin.c: (gst_plugin_load_file):
8670         * gst/gstregistry.c: (gst_registry_scan_path_level):
8671           Don't print a g_warning for any failure to load a shared object.
8672           Instead, push this down into gstplugin.c, and warn _only_ if we
8673           failed to open the module (i.e. failure to link).
8674           Avoids warnings on normal, working, non-plugin .so files.
8675
8676 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
8677
8678         * gst/gstplugin.c (gst_plugin_load_file):
8679         * gst/gstregistry.c (GST_CAT_DEFAULT,
8680           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
8681           Print a g_warning if there was an error when loading a plugins during
8682           registry scan. The shuld help beginners starting with gst-plugin
8683           template.
8684
8685 2007-05-10  Wim Taymans  <wim@fluendo.com>
8686
8687         * plugins/elements/gstqueue.c: (gst_queue_class_init),
8688         (update_time_level), (gst_queue_locked_flush),
8689         (gst_queue_handle_sink_event), (gst_queue_chain),
8690         (gst_queue_push_one), (gst_queue_loop):
8691         * plugins/elements/gstqueue.h:
8692         Be smarter when calculating the current amount of data in the queue by
8693         measuring the difference between start and end timestamps (in running
8694         time) inside the queue. Fixes #432876.
8695         API: GstQueue::pushing to notify elements that we are pushing data again
8696         since the running signal is rather broken for this purpose.
8697
8698 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
8699
8700         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
8701           gst_queue_base_init, gst_queue_init):
8702           use GST_BOILERPLATE
8703
8704 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
8705
8706         * win32/common/libgstreamer.def:
8707         Add new exported functions.
8708         * win32/vs6/grammar.dsp:
8709         Use grammar pre-generated files.
8710
8711 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
8712
8713         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
8714
8715         * gst/Makefile.am:
8716         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
8717         * gst/gstparse.h:
8718         * gst/gstutils.c: (gst_parse_bin_from_description):
8719         * gst/gstutils.h:
8720           Maintain API and ABI when --disable-parse is used. Now that
8721           we have an appropriate error code, we can just return NULL and the
8722           appropriate error when gst_parse_launch() is used despite it having
8723           been disabled (#342564).
8724
8725         * tests/check/Makefile.am:
8726         * tests/check/pipelines/.cvsignore:
8727         * tests/check/pipelines/parse-disabled.c:
8728           Make sure these functions exist and return NULL plus a GError when
8729           --disable-parse is used.
8730
8731 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
8732
8733         * tests/benchmarks/complexity.c: (main):
8734         * tests/benchmarks/mass-elements.c: (main):
8735           Set a good example and don't leak messages.
8736
8737 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
8738
8739         * docs/gst/Makefile.am:
8740         * docs/libs/Makefile.am:
8741           Correct fixxrefs options.
8742
8743         * docs/plugins/Makefile.am:
8744         * docs/plugins/gstreamer-plugins-docs.sgml:
8745         * docs/plugins/gstreamer-plugins-sections.txt:
8746         * plugins/elements/Makefile.am:
8747         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
8748         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
8749           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
8750           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
8751           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
8752           _GstCapsFilterClass, trans_class):
8753         * plugins/elements/gstelements.c (name, rank, type, _elements):
8754         * plugins/elements/gstidentity.c
8755           (gst_identity_check_imperfect_timestamp,
8756           gst_identity_check_imperfect_offset):
8757           Document capsfilter and add doc-blurb to identity.
8758
8759 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
8760
8761         * libs/gst/controller/gstcontroller.c:
8762         (gst_controlled_property_set_interpolation_mode):
8763         * libs/gst/controller/gstinterpolation.c:
8764           Don't crash if someone tries to set an interpolation mode that
8765           is invalid or that isn't supported yet. Fixes #422295.
8766
8767         * tests/check/libs/controller.c: (GST_START_TEST),
8768         (gst_controller_suite):
8769           Add a test case for the above.
8770
8771 2007-05-03  Edward Hervey  <edward@fluendo.com>
8772
8773         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
8774         Properly set the last_stop position on GstSegment. This will only happen
8775         if there is a buffer to push out.
8776
8777 2007-05-03  Wim Taymans  <wim@fluendo.com>
8778
8779         * libs/gst/base/gstbasetransform.c:
8780         (gst_base_transform_buffer_alloc):
8781         always_in_place does not mean that the sink and source caps are the
8782         same! Make sure we don't blindly proxy the buffer_alloc in this case.
8783
8784 2007-05-03  Wim Taymans  <wim@fluendo.com>
8785
8786         * docs/libs/gstreamer-libs-sections.txt:
8787         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
8788         (gst_base_src_default_query), (gst_base_src_get_range):
8789         * libs/gst/base/gstbasesrc.h:
8790         API: gst_base_src_query_latency(). Added method so that subclasses can
8791         easily get the latency values of the base source class.
8792
8793 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
8794
8795         * tools/gst-inspect.c (print_implementation_info):
8796         Remove 0.8 cruft.
8797
8798 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
8799
8800         * tools/Makefile.am:
8801         * tools/gst-launch.1.in:
8802           Don't create a customised man page based on the host architecture,
8803           describe the default registry path generically. That way the man
8804           page is the same for all architectures and packagers have one
8805           multilib issue less to deal with. Fixes #434926.
8806
8807 2007-05-02  Wim Taymans  <wim@fluendo.com>
8808
8809         * gst/gstpad.c:
8810         Fix documentation as spotted by rg on IRC. 
8811
8812 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
8813
8814         * gst/gstutils.c:
8815           Improve docs for gst_element_{link,unlink}.
8816
8817 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
8818
8819         * docs/design/part-events.txt:
8820         * docs/design/part-overview.txt:
8821         * gst/gstevent.c:
8822         * gst/gsturi.c:
8823         * gst/gsturi.h:
8824         * libs/gst/base/gstbasesink.c:
8825           Typo fixes; minor docs addition.
8826
8827 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
8828
8829         * docs/gst/gstreamer-sections.txt:
8830         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
8831         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
8832         * gst/gsturi.h:
8833         API: Add gst_uri_protocol_is_supported(), which checks if a sink
8834         or src that supports a given URI protocol exists.
8835
8836 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
8837
8838         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
8839         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
8840         Set the location to NULL if "file://" is set as URI. Otherwise
8841         some random previous URI would still be set if "file://" is
8842         set on an already used filesink/filesrc.
8843
8844 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
8845
8846         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
8847         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
8848         Special case the "file://" URI as as this is used by some
8849         applications to test with gst_element_make_from_uri if there's
8850         an element that supports the URI protocol.
8851         Also move the g_path_is_absolute() check for the location part
8852         of the URI to also check this for "file://localhost/bla" URIs.
8853
8854 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
8855
8856         * docs/gst/gstreamer-sections.txt:
8857         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
8858         * gst/gstbuffer.h:
8859         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
8860         (gst_buffer_suite):
8861           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
8862
8863 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
8864
8865         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
8866         (gst_registry_binary_load_pad_template),
8867         (gst_registry_binary_load_plugin),
8868         (gst_registry_binary_read_cache):
8869         * gst/gstregistrybinary.h:
8870           Implement no-mmap alternative for registry reading. Do code cleanups.
8871           Add more comments about avoiding strdups for all text data. Comments
8872           welcome.
8873
8874 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
8875
8876         * gst/gstregistrybinary.h (GstBinaryPluginElement,
8877           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
8878           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
8879           Comment structs and reformat to fix the build (that stuff should go
8880           into a priv. header).
8881
8882 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
8883
8884         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
8885         (gst_registry_binary_load_feature):
8886         * gst/gstregistrybinary.h:
8887           Refactor so that we can implement multiple features. Add support for
8888           TypeFindFactory features.
8889
8890 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
8891
8892         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
8893
8894         * configure.ac:
8895           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
8896
8897 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
8898
8899         * gst/gstbin.c: (gst_bin_element_set_state),
8900         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
8901         (bin_handle_async_done), (gst_bin_handle_message_func):
8902           Fix build with --gst-disable-gst-debug
8903
8904 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
8905
8906         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
8907           Make sure streaming has finished before calling the ::stop() vfunc,
8908           since that vfunc might clear state which is being used in the
8909           streaming thread. This fixes a race that caused crashes in
8910           audioresample when shutting down a pipeline (#420106).
8911
8912 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
8913
8914         * docs/gst/gstreamer-sections.txt:
8915           That was one byte missing.
8916
8917 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
8918
8919         * configure.ac:
8920         * docs/gst/gstreamer-sections.txt:
8921         * gst/Makefile.am:
8922         * gst/gstconfig.h.in:
8923         * gst/gstobject.c: (gst_object_class_init),
8924         (gst_signal_object_class_init):
8925         * gst/gstobject.h:
8926           2nd attempt to have a xml-less build as a joined effort of #413123
8927           and #421480.
8928
8929 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
8930
8931         * docs/design/draft-tagreading.txt:
8932           Added open issues/thoughts to draft.
8933
8934 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
8935
8936         * gst/parse/grammar.tab.pre.c:
8937         * gst/parse/grammar.tab.pre.h:
8938         * gst/parse/lex._gst_parse_yy.pre.c:
8939         Update the prebuild parser sources.
8940
8941 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
8942
8943         * gst/parse/Makefile.am:
8944         And now fix the building of the flex sources. Now everything should
8945         work as expected.
8946
8947 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
8948
8949         * gst/parse/Makefile.am:
8950         Now hopefully fix the build failures by setting proper rule
8951         dependencies and moving instead of copying.
8952
8953 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
8954
8955         * tests/benchmarks/complexity.gnuplot:
8956         * tests/benchmarks/complexity.scm:
8957         * tests/benchmarks/mass-elements.gnuplot:
8958         * tests/benchmarks/mass-elements.scm:
8959           Total licensification.
8960
8961 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
8962
8963         * gst/parse/Makefile.am:
8964           Fix the build by correcting the rule that gave wrong files to flex.
8965
8966 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
8967
8968         * tests/benchmarks/complexity.c:
8969         * tests/benchmarks/mass-elements.c:
8970           Change licence to LGPL as granted by Benjamin and Andy.
8971
8972 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
8973
8974         * gst/parse/Makefile.am:
8975         Add correct grammar.tab.h dependency if compiling without new enough
8976         flex. Fixes #431150.
8977
8978 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
8979
8980         * gst/parse/Makefile.am:
8981         Fix typo and use outdated sources if the flex/bison sources are newer
8982         than the pregenerated ones but flex is too old. Print a warning in
8983         that case. This should fix the build on the build bot.
8984
8985 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
8986
8987         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
8988         * gst/parse/Makefile.am:
8989         * gst/parse/grammar.y:
8990         * gst/parse/parse.l:
8991         Make the parser reentrant and recursively callable. This requires flex
8992         >= 2.5.31, for older versions pregenerated sources are used as we
8993         can't bump the build dependency. Finally fixes #349180.
8994
8995         * gst/gstparse.c: (gst_parse_launch):
8996         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
8997         now anyway.
8998
8999         * docs/gst/Makefile.am:
9000         * docs/gst/Makefile.am:
9001         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
9002         (__gst_parse_strfree), (__gst_parse_link_new),
9003         (__gst_parse_link_free), (__gst_parse_chain_new),
9004         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
9005         (gst_parse_element_set), (gst_parse_free_link),
9006         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
9007         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
9008         (_gst_parse_launch):
9009         * gst/parse/grammar.tab.pre.h:
9010         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
9011         (yy_get_previous_state), (yy_try_NUL_trans), (input),
9012         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
9013         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
9014         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
9015         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
9016         (_gst_parse_yypop_buffer_state),
9017         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
9018         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
9019         (yy_fatal_error), (_gst_parse_yyget_extra),
9020         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
9021         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
9022         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
9023         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
9024         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
9025         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
9026         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
9027         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
9028         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
9029         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
9030         (_gst_parse_yyfree):
9031         If the installed flex version is too old use pre-generated parser
9032         sources. These pre-generated parser sources are always updated when
9033         the actual flex/bison sources change but require everybody who wants
9034         to change something in the parser to have flex >= 2.5.31 installed.
9035
9036 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
9037
9038         * common/m4/gst-gettext.m4:
9039         * gst/gst-i18n-lib.h:
9040           Make --disable-nls to work
9041
9042 2007-04-17  Wim Taymans  <wim@fluendo.com>
9043
9044         * gst/gstconfig.h.in:
9045         Revert previous change that broke the build.
9046
9047 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
9048
9049         * configure.ac:
9050         * gst/Makefile.am:
9051         * gst/gstconfig.h.in:
9052           Drop libxml2 dependency when building with 
9053           --enable-binary-registry --disable-loadsave
9054
9055 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
9056
9057         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
9058         (gst_registry_binary_read_cache):
9059         * gst/gstregistrybinary.h:
9060           Remove unnecessary <sys/mman.h> include which broke the win32 build
9061           with MingW; move includes from header file to .c file, even if the
9062           header file isn't installed; use g_strerror() where UTF-8 strings
9063           are expected, such as in GST_DEBUG messages.
9064
9065 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9066
9067         * docs/libs/gstreamer-libs-sections.txt:
9068         Remove bogus addition for API I didn't end up keeping.
9069
9070         * libs/gst/base/gstbasesrc.h:
9071         Mention Since: 0.10.13 in the documentation.
9072
9073         Add the API keyword to the previous ChangeLog entry.
9074
9075 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9076
9077         * docs/libs/gstreamer-libs-sections.txt:
9078         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9079         (gst_base_src_default_prepare_seek_segment),
9080         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
9081         * libs/gst/base/gstbasesrc.h:
9082         Allow basesrc derived classes to execute seeks in other formats
9083         by providing a prepare_seek_segment vmethod. Sub-classes can choose
9084         to prepare the GstSegment in any format that their perform_seek method
9085         will be able to understand. The default implementation provides the
9086         old behaviour of attempting to convert the seek offsets to the 
9087         configured native format.
9088
9089         API: basesrc::prepare_seek_segment vmethod.
9090
9091 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9092
9093         * gst/gstelement.c: (gst_element_get_state_func):
9094         Don't output the same debug statement twice.
9095
9096         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
9097         (gst_adapter_peek), (gst_adapter_take_buffer):
9098         Optimise the case where we have buffers at the head of the queue that
9099         can be joined quickly (because they're contiguous sub-buffers) by
9100         merging them together rather than copying data out into new memory.
9101
9102         * gst/parse/grammar.y:
9103         * tests/check/pipelines/parse-launch.c:
9104         Fix a leak in an error path for parse_launch, and add a check 
9105         for it to the testsuite.
9106
9107 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9108
9109         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
9110           Don't deadlock when releasing a pad - gst_pad_set_active may try
9111           and take the multiqueue lock too.
9112
9113 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
9114
9115         * gst/gsterror.c: (_gst_core_errors_init):
9116         * gst/gsterror.h:
9117           API: add GST_CORE_ERROR_DISABLED (#392804).
9118
9119 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9120
9121         * docs/faq/gst-uninstalled:
9122           don't get empty paths on the PATH variables
9123         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
9124           Don't format for the uncommon terminal width of 84 characters.
9125
9126 2007-04-06  Wim Taymans  <wim@fluendo.com>
9127
9128         * gst/gstpipeline.c: (reset_stream_time),
9129         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
9130         Only try to select a different pipeline clock when we went back to
9131         PAUSED and not when we merely got flushed.
9132
9133 2007-04-05  Michael Smith  <msmith@fluendo.com>
9134
9135         * tools/gst-launch.1.in:
9136           fractions are better supported in gstreamer than ractions, so
9137           suggest using those.
9138
9139 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9140
9141         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
9142
9143         * po/LINGUAS:
9144         * po/da.po:
9145           Added Danish translation.
9146
9147 2007-04-05  Wim Taymans  <wim@fluendo.com>
9148
9149         * libs/gst/base/gstbasesink.c:
9150         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
9151         Fix leak caused when refusing newsegment after EOS.
9152
9153         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
9154         (gst_fake_sink_init), (gst_fake_sink_set_property),
9155         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
9156         (gst_fake_sink_render), (gst_fake_sink_change_state):
9157         * plugins/elements/gstfakesink.h:
9158         Add num-buffers property to make the element generate EOS after a
9159         configurable amount of buffers.
9160         API: fakesink::num-buffers property.
9161
9162         * tests/check/elements/fakesink.c: (GST_START_TEST),
9163         (fakesink_suite):
9164         Fix GstBus leak in test.
9165         Test for fakesink num-buffers.
9166
9167 2007-04-05  Wim Taymans  <wim@fluendo.com>
9168
9169         * libs/gst/base/gstbasesink.c:
9170         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
9171         (gst_base_sink_change_state):
9172         Don't accept anything after an EOS, return UNEXPECTED instead.
9173
9174         * tests/check/elements/fakesink.c: (GST_START_TEST),
9175         (fakesink_suite):
9176         Unit test for new EOS behaviour.
9177
9178 2007-04-05  Wim Taymans  <wim@fluendo.com>
9179
9180         * gst/gstelement.c: (gst_element_get_request_pad):
9181         Make padtemplates also work when they don't contain %s or %d.
9182
9183 2007-04-05  Wim Taymans  <wim@fluendo.com>
9184
9185         * docs/gst/gstreamer-sections.txt:
9186         * gst/gstclock.c: (gst_clock_adjust_unlocked),
9187         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
9188         * gst/gstclock.h:
9189         Improve _adjust_unlocked() so that it overflows less.
9190         Add gst_clock_unadjust_unlocked to convert from external time to
9191         internal time based on calibration.
9192         Add some more debug.
9193         API: GstClock::gst_clock_unadjust_unlocked()
9194
9195 2007-04-03  Wim Taymans  <wim@fluendo.com>
9196
9197         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
9198
9199         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
9200         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
9201         when releasing sink pad. Fixes #425400.
9202
9203 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
9204
9205         * docs/random/ensonic/dynlink.txt:
9206           More work on proposal for new core api.
9207
9208         * docs/libs/gstreamer-libs-sections.txt:
9209         * libs/gst/base/gstbasetransform.h:
9210           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
9211           
9212         * libs/gst/controller/gstcontroller.c:
9213         (on_object_controlled_property_changed),
9214         (gst_controller_sync_values),
9215         (gst_controller_set_interpolation_mode):
9216         * libs/gst/controller/gstcontroller.h:
9217           Less verbose logging add docs for unimplemented parts and correctly
9218           return when using unavailable parts.
9219
9220 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
9221
9222         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
9223         Move all the debug to the CLOCK category, and associate it with
9224         the clock object.
9225
9226 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
9227
9228         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
9229         Make take_buffer a bit quicker by removing redundant checks
9230         caused by calling gst_adapter_take.
9231
9232 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
9233
9234         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
9235           Don't leak GCond.
9236
9237         * tests/check/Makefile.am:
9238         * tests/check/elements/.cvsignore:
9239         * tests/check/elements/multiqueue.c: (setup_multiqueue),
9240         (GST_START_TEST), (multiqueue_suite):
9241           Add some dead simple unit tests for the 'multiqueue' element
9242           (some bits don't work yet and are disabled for now).
9243
9244 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
9245
9246         * gst/gstelement.c: (gst_element_get_request_pad),
9247         (gst_element_class_get_request_pad_template):
9248           Make gst_element_get_request_pad() create request pads only for
9249           request pad templates and not for, say, sometimes pad templates.
9250
9251 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
9252
9253         * docs/design/draft-klass.txt:
9254           Add example that needs more thinking.
9255         
9256         * docs/design/draft-missing-plugins.txt:
9257           More thoughts about wrapper plugins.
9258         
9259         * docs/random/ensonic/embedded.txt:
9260         * docs/random/ensonic/profiling.txt:
9261           More design work.
9262
9263 2007-03-25  Wim Taymans  <wim@fluendo.com>
9264
9265         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
9266         (gst_base_src_loop):
9267         Only push the segment events in the PLAYING state for live sources.
9268
9269 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
9270
9271         * gst/gstpipeline.c: (gst_pipeline_change_state):
9272         Modify the clock distribution path in PAUSED->PLAYING so that we 
9273         never attempt to choose a new clock unless we're actually leaving
9274         the PAUSED state for the first time. This prevents choosing a
9275         different clock when the state_change gets called for a 2nd time due
9276         to some element doing an async state change.
9277
9278 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
9279
9280         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
9281         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
9282         (gst_pad_chain_unchecked), (gst_pad_push):
9283         Revert last commit. This needs some more thoughts.
9284
9285 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
9286
9287         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
9288         (gst_pad_chain_unchecked), (gst_pad_push):
9289         Check in set_caps if the caps are compatible with the pad and remove
9290         two functions that are redundant now. Fixes #421543.
9291
9292 2007-03-22  Wim Taymans  <wim@fluendo.com>
9293
9294         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
9295         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
9296         Unref some more to make valgrind happy.
9297
9298 2007-03-22  Wim Taymans  <wim@fluendo.com>
9299
9300         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
9301         (gst_system_clock_id_wait_jitter),
9302         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
9303         Fix anoying regression that survived a few releases. When adding an
9304         async entry while blocking on a sync entry, the sync entry will unblock
9305         but still be busy, so it should continue to wait instead of returning
9306         _BUSY to the app.
9307         Add some comments here and there.
9308
9309         * tests/check/gst/gstsystemclock.c: (mixed_thread),
9310         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
9311         Add testcase for this.
9312
9313 2007-03-22  Wim Taymans  <wim@fluendo.com>
9314
9315         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
9316         Handle errors from the clock sync better, only UNSCHEDULED indicates a
9317         WRONG_STATE and can silently pause the task. All other cases should
9318         error out.
9319
9320 2007-03-22  Wim Taymans  <wim@fluendo.com>
9321
9322         Patch by: Ville Syrjala <syrjala at sci dot fi>
9323
9324         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
9325         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
9326         Improve debugging.
9327
9328 2007-03-21  Michael Smith  <msmith@fluendo.com>
9329
9330         * docs/pwg/advanced-types.xml:
9331           Fix some errors in the typefinding docs pointed out on irc.
9332
9333 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
9334
9335         * libs/gst/base/gstbasesrc.c:
9336         Clarify FIXME comment in the face of having added unlock_stop()
9337
9338 2007-03-21  Wim Taymans  <wim@fluendo.com>
9339
9340         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
9341         Prepare for release where we warn against possible app breakage in the
9342         case of live pipelines along with an env var to enable/disable live
9343         preroll mode (GST_COMPAT=[no-]live-preroll).
9344
9345 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9346
9347         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
9348         So we should use correct constants for checking for None offset.
9349
9350 2007-03-20  Wim Taymans  <wim@fluendo.com>
9351
9352         * docs/design/part-block.txt:
9353         Mention the fact that the newly switched element should be set to at
9354         least PAUSED.
9355
9356 2007-03-20  Wim Taymans  <wim@fluendo.com>
9357
9358         * gst/gst.c:
9359         Fix compilation with registry disabled as spotted by Saur.
9360
9361 2007-03-20  Wim Taymans  <wim@fluendo.com>
9362
9363         Patch by: Olivier Crete <tester at tester dot ca>
9364
9365         * gst/gstelement.c: (gst_element_sync_state_with_parent):
9366         Look at the pending state too when syncing the element state to the
9367         parent. Fixes #420133.
9368
9369 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
9370
9371         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
9372         (gst_base_sink_change_state):
9373         * libs/gst/base/gstbasesink.h:
9374         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
9375         (gst_base_src_default_event), (gst_base_src_unlock_stop),
9376         (gst_base_src_deactivate):
9377         * libs/gst/base/gstbasesrc.h:
9378         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
9379         for sub-classes to correctly clear any state they set trying to
9380         unlock, such as clearing out unlock commands from a command fd.
9381         API: basesrc::unlock_stop
9382         API: basesink::unlock_stop
9383
9384         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
9385         (gst_fd_sink_render), (gst_fd_sink_unlock),
9386         (gst_fd_sink_unlock_stop):
9387         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
9388         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
9389         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
9390
9391         Implement unlock_stop in fdsrc and fdsink.
9392         Implement seeking in fdsrc when a seekable fd is passed, as in
9393         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
9394
9395 2007-03-19  Wim Taymans  <wim@fluendo.com>
9396
9397         Patch by: Evan Nemerson <evan at coeus dash group dot com>
9398
9399         * gst/gstelement.c: (gst_element_class_init):
9400         Fix pad-added and pad-removed signal signatures so that the pad type is
9401         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
9402
9403 2007-03-19  Wim Taymans  <wim@fluendo.com>
9404
9405         * docs/gst/gstreamer-sections.txt:
9406         Add new element field and method.
9407
9408         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
9409         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
9410         (gst_bin_recalc_state), (gst_bin_get_state_func),
9411         (gst_bin_element_set_state), (gst_bin_change_state_func),
9412         (gst_bin_continue_func), (bin_bus_handler),
9413         (bin_push_state_continue), (bin_handle_async_start),
9414         (bin_handle_async_done), (gst_bin_handle_message_func):
9415         Make async state changes a bit smarter by using new ASYNC_START and
9416         ASYNC_DONE messages. This reduces the number of times we run the state
9417         recalculation thread.
9418         Don't change state of element with a pending ASYNC_START message.
9419         Deprecate STATE_DIRTY messages.
9420         
9421         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
9422         (gst_element_get_state_func), (gst_element_continue_state),
9423         (gst_element_lost_state), (gst_element_set_state_func),
9424         (gst_element_change_state):
9425         * gst/gstelement.h:
9426         Keep the state that was last set by the app in a new element field.
9427         Don't allow state changes when handling an element event.
9428         Post ASYNC_START and ASYNC_DONE messages.
9429         Change lost_state so that we go to PAUSED and wait for the parent to set
9430         us to PLAYING again (so latency calculation can be performed)
9431         Export gst_element_change_state() method so that subclasses can use it.
9432         API: gst_element_change_state()
9433         API: GST_STATE_TARGET
9434
9435         * gst/gstpipeline.c: (gst_pipeline_class_init),
9436         (reset_stream_time), (gst_pipeline_change_state),
9437         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
9438         Using the new ASYNC_START message we can reset the base_time when
9439         needed. This can then be used to implement base_time redistribution in
9440         flushing seeks so that we can remove the explicit seek handling.
9441         Perform latency query and configuration when going to PLAYING.
9442
9443         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9444         (gst_base_sink_query), (gst_base_sink_change_state):
9445         Post new ASYNC_START/ASYNC_DONE messages.
9446
9447         * tests/check/generic/sinks.c: (GST_START_TEST):
9448         Fix test because the bin will not set the async element to PLAYING right
9449         away.
9450
9451         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
9452         Make the message check a little stronger.
9453         Handle ASYNC messages.
9454
9455         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
9456         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
9457         Expect ASYNC_DONE messages.
9458
9459 2007-03-19  Wim Taymans  <wim@fluendo.com>
9460
9461         * docs/gst/gstreamer-sections.txt:
9462         * gst/gstmessage.c: (gst_message_new_async_start),
9463         (gst_message_new_async_done), (gst_message_parse_info),
9464         (gst_message_parse_async_start):
9465         * gst/gstmessage.h:
9466         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
9467         support.
9468
9469 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
9470
9471         * tools/gst-inspect.c:
9472         (print_plugin_automatic_install_info_codecs):
9473           Now that we don't check for the 'Codec' keyword any longer in the
9474           klass, we shouldn't spew a warning if the klass isn't a decoder or
9475           encoder (since it might be a Source/Network, for example).
9476
9477 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
9478
9479         * tools/gst-inspect.c:
9480         (print_plugin_automatic_install_info_codecs):
9481           Don't require decoder/demuxer/depayloader elements or
9482           encoder/muxer/paylader elements to have 'Codec' as part of their
9483           factory class string when introspecting a plugin's capabilities.
9484           draft-klass.txt mentions that it might be removed in future, and
9485           flump3dec doesn't have it as part of its class string, so chances
9486           are others might also not have it.
9487
9488 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9489
9490         * po/af.po:
9491         * po/az.po:
9492         * po/bg.po:
9493         * po/ca.po:
9494         * po/cs.po:
9495         * po/de.po:
9496         * po/en_GB.po:
9497         * po/fr.po:
9498         * po/it.po:
9499         * po/nb.po:
9500         * po/nl.po:
9501         * po/ru.po:
9502         * po/sq.po:
9503         * po/sr.po:
9504         * po/sv.po:
9505         * po/tr.po:
9506         * po/uk.po:
9507         * po/vi.po:
9508         * po/zh_CN.po:
9509         * po/zh_TW.po:
9510           Update translations from translation project
9511
9512 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
9513
9514         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
9515         (gst_child_proxy_set_property):
9516           Invert precondition check to be alike the ones in the mimiced gobject
9517           api.
9518
9519 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
9520
9521         * docs/design/draft-tagreading.txt:
9522         * docs/random/ensonic/audiobaseclasses.txt:
9523           Do some Architect work.
9524
9525         * gst/gstobject.c: (gst_object_set_name):
9526           Add a WARNING.
9527
9528         * gst/gstpad.c:
9529           Add docs that point from gst_pad_get_range to gst_pad_pull_range
9530
9531 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
9532
9533         * gst/gstsystemclock.c: (gst_system_clock_init),
9534         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
9535         Defer starting the async system clock thread until the first async
9536         wait is scheduled. Fixes #414986.
9537
9538 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
9539
9540         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
9541         (gst_single_queue_free):
9542           Fix small leak (free GstSingleQueue structure too, not only contents).
9543
9544 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
9545
9546         * gst/gstbin.c:(gst_bin_add):
9547         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
9548         * win32/common/libgstbase.def:
9549         * win32/common/libgstreamer.def:
9550         Add new exported functions.
9551
9552 2007-03-09  Wim Taymans  <wim@fluendo.com>
9553
9554         * docs/plugins/gstreamer-plugins-sections.txt:
9555         Fix GstTee docs.
9556
9557 2007-03-09  Wim Taymans  <wim@fluendo.com>
9558
9559         * docs/gst/gstreamer-sections.txt:
9560         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
9561         * gst/gstbuffer.h:
9562         Add metadata copy functions. Fixes #393099.
9563         API: gst_buffer_copy_metadata()
9564
9565         * gst/gstutils.c: (gst_buffer_stamp):
9566         * libs/gst/base/gstbasetransform.c:
9567         (gst_base_transform_prepare_output_buffer):
9568         Use new metadata copy functions.
9569
9570 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9571
9572         * plugins/elements/gstidentity.c: (gst_identity_class_init),
9573         (gst_identity_init), (gst_identity_check_perfect),
9574         (gst_identity_check_imperfect_timestamp),
9575         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
9576         (gst_identity_set_property), (gst_identity_get_property):
9577         * plugins/elements/gstidentity.h:
9578         Separate out check-imperfect-timestamp and check-imperfect-offset.
9579         Put back check-perfect as it was to keep compatibility.
9580
9581 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
9582
9583         * gst/gstelement.c: (gst_element_dispose):
9584         There's no need to warn if VOID_PENDING is not NONE here, as
9585         long as the state is NULL it's ok, and that's checked immediately
9586         above.
9587
9588 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9589
9590         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9591         Fix check for perfect stream to ignore buffers with -1 
9592         offsets/offset ends when checking data contiguity.
9593
9594 2007-03-08  Wim Taymans  <wim@fluendo.com>
9595
9596         * tools/gst-launch.c: (event_loop):
9597         Print INFO messages.
9598
9599 2007-03-08  Wim Taymans  <wim@fluendo.com>
9600
9601         * libs/gst/base/gstbasetransform.c:
9602         (gst_base_transform_sink_eventfunc),
9603         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
9604         (gst_base_transform_activate):
9605         * libs/gst/base/gstbasetransform.h:
9606         Add support for dropping buffers with custom GstFlowReturn.
9607         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
9608         buffers or dropped buffers.
9609
9610         * docs/libs/gstreamer-libs-sections.txt:
9611         docs for new custom return code.
9612
9613         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
9614         Use drop support in base class to implement drop-probability.
9615
9616 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
9617
9618         * gst/gst.c: (load_plugin_func):
9619         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
9620         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
9621         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
9622           Remove newlines at end of debug log strings.
9623
9624 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9625
9626         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9627         Only post bus message at max, once per buffer received.
9628
9629 2007-03-07  Wim Taymans  <wim@fluendo.com>
9630
9631         * docs/design/Makefile.am:
9632         * docs/design/part-synchronisation.txt:
9633         Add doc about synchronisation
9634
9635         * docs/design/draft-latency.txt:
9636         * docs/design/part-TODO.txt:
9637         * docs/design/part-clocks.txt:
9638         * docs/design/part-events.txt:
9639         * docs/design/part-gstbus.txt:
9640         * docs/design/part-gstpipeline.txt:
9641         * docs/design/part-live-source.txt:
9642         * docs/design/part-messages.txt:
9643         * docs/design/part-overview.txt:
9644         * docs/design/part-streams.txt:
9645         * docs/design/part-trickmodes.txt:
9646         Documentation updates.
9647
9648 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
9649
9650         * gstreamer.doap:
9651         Update the doap file.
9652
9653 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9654
9655         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9656         Rename non-perfect to imperfect for Mike and for the sanctity of the
9657         language.
9658         Also make sure bus message gets emitted for data-incontiguities.
9659
9660 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9661
9662         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
9663         (gst_identity_start):
9664         * plugins/elements/gstidentity.h:
9665         Emit bus message if check-perfect is true and we encounter a
9666         non-perfect stream between 2 consecutive buffers.
9667         Fixes #415394.
9668
9669 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
9670
9671         * configure.ac:
9672         Back to CVS
9673
9674 === release 0.10.12 ===
9675
9676 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
9677
9678         * configure.ac:
9679           releasing 0.10.12, "Inevitable Demise"
9680
9681 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
9682
9683         * configure.ac:
9684          Version 0.10.11.2 (0.10.12 pre-release)
9685          Bump libtool versioning.
9686
9687 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
9688
9689         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
9690           Log flow-names and not numbers.
9691
9692 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9693
9694         * configure.ac:
9695           Convert to new AG_GST style.
9696
9697 2007-02-28  Wim Taymans  <wim@fluendo.com>
9698
9699         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
9700         Don't unref query twice.
9701
9702 2007-02-28  Wim Taymans  <wim@fluendo.com>
9703
9704         * gst/gstvalue.c: (gst_value_transform_object_string),
9705         (_gst_value_initialize):
9706         Implement GstObject -> string transform so we print object names
9707         when serializing GValues containing GstObjects.
9708
9709 2007-02-28  Wim Taymans  <wim@fluendo.com>
9710
9711         * docs/gst/gstreamer-sections.txt:
9712         Add new stuff to docs.
9713
9714 2007-02-28  Wim Taymans  <wim@fluendo.com>
9715
9716         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
9717         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
9718         (gst_base_sink_change_state):
9719         Improve latency query code.
9720         Don't leak latency events.
9721
9722         * tests/check/gst/gstbin.c: (GST_START_TEST):
9723         Improve debugging.
9724
9725 2007-02-28  Wim Taymans  <wim@fluendo.com>
9726
9727         * gst/gstelement.c: (gst_element_message_full),
9728         (gst_element_get_state_func):
9729         * gst/gstelement.h:
9730         Improve docs a little. Added Since: for new macro.
9731
9732         * gst/gstobject.c: (gst_object_sink):
9733         * gst/gstpipeline.c: (gst_pipeline_change_state),
9734         (gst_pipeline_set_new_stream_time):
9735         * gst/gstpipeline.h:
9736         Improve debugging and docs.
9737
9738         * gst/gstutils.c: (gst_element_state_change_return_get_name):
9739         Improve debugging.
9740
9741 2007-02-28  Wim Taymans  <wim@fluendo.com>
9742
9743         * gst/gstelement.c: (gst_element_message_full),
9744         (gst_element_set_locked_state), (gst_element_get_state_func),
9745         (gst_element_change_state):
9746         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
9747         Documentation updates.
9748         Small code cleanups.
9749
9750         * gst/gstmessage.c: (gst_message_new_info),
9751         (gst_message_parse_info):
9752         * gst/gstmessage.h:
9753         API: gst_message_new_info()
9754         API: gst_message_parse_info()
9755         Add INFO message create and parse code.
9756
9757 2007-02-28  Wim Taymans  <wim@fluendo.com>
9758
9759         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
9760         (bin_query_latency_done):
9761         Also report the live parameter of a latency query.
9762
9763 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9764
9765         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
9766           Copy the current generic/states example from -base and adapt so
9767           we can use the exact same code everywhere.
9768           Check a STATES_IGNORE_ELEMENTS env var which can be used
9769           to ignore certain element factories for this test, which is
9770           what is being done in -base
9771         * tests/check/Makefile.am:
9772           Mention this environment variable.
9773
9774 2007-02-27  Wim Taymans  <wim@fluendo.com>
9775
9776         * docs/gst/gstreamer-sections.txt:
9777         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
9778         (gst_bus_timed_pop), (gst_bus_pop):
9779         * gst/gstbus.h:
9780         API: gst_bus_timed_pop()
9781         Implement gst_bus_timed_pop() to do a blocking timed wait for a
9782         message to arrive on the bus.
9783
9784         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
9785         (gst_bus_suite):
9786         Two unit tests for new _timed_pop() function.
9787
9788 2007-02-23  Wim Taymans  <wim@fluendo.com>
9789
9790         * gst/gstpipeline.c: (gst_pipeline_change_state),
9791         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
9792         Don't ref a NULL clock in _provide_clock_func().
9793         Don't allow an INVALID delay.
9794         Don't try to calculate base_time with an invalid start_time.
9795         Also distribute and notify a NULL clock when it was selected.
9796
9797         * tools/gst-launch.c: (event_loop):
9798         Don't crash when a NULL clock was selected in the pipeline.
9799
9800 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
9801
9802         * docs/design/Makefile.am:
9803         * docs/design/draft-missing-plugins.txt:
9804         * docs/random/draft-missing-plugins.txt:
9805           Some small updates: update plugin system identifier prefix
9806           ('gstreamer.net' to 'gstreamer'), mention our new install
9807           API in libgstbaseutils rather than libgimme-codec, add
9808           reference to the online docs.
9809
9810 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9811
9812         * win32/common/config.h:
9813           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
9814           use moap cl ci to only check in what is mentioned in the ChangeLog.
9815
9816 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9817
9818         * docs/gst/gstreamer-sections.txt:
9819         * gst/gstelement.h:
9820           Fix up documentation to link to the correct GstGError section.
9821           Add GST_ELEMENT_INFO macro since someone else added a Info message.
9822
9823 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9824
9825         * tools/gst-launch.c: (event_loop):
9826           Make sure that we actually show the important message part of a
9827           warning message.
9828           No need to check if the gerror is not NULL to free; first of all
9829           g_free accepts NULL; and second the default error handler would
9830           segfault if gerror was NULL.
9831
9832 2007-02-21  Wim Taymans  <wim@fluendo.com>
9833
9834         * docs/gst/gstreamer-sections.txt:
9835         Removed docs as well.
9836
9837 2007-02-21  Wim Taymans  <wim@fluendo.com>
9838
9839         * gst/gstmessage.c: (gst_message_parse_duration):
9840         * gst/gstmessage.h:
9841         Remove new messages for release.
9842
9843 2007-02-20  Wim Taymans  <wim@fluendo.com>
9844
9845         * docs/design/part-gstghostpad.txt:
9846         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
9847         (gst_ghost_pad_new_full):
9848         Make the ghostpad a parent of the internal pad again for better backward
9849         compatibility. Don't write code that relies on this however.
9850
9851         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
9852         (gst_pad_link_check_hierarchy):
9853         Require that parents should be GstElements in the hierarchy check.
9854
9855 2007-02-20  Wim Taymans  <wim@fluendo.com>
9856
9857         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
9858         (gst_bin_change_state_func), (bin_query_min_max_init),
9859         (bin_query_latency_fold), (bin_query_latency_done),
9860         (gst_bin_query):
9861         Improve debug info.
9862         Implement latency query.
9863
9864 2007-02-20  Wim Taymans  <wim@fluendo.com>
9865
9866         * docs/design/part-gstghostpad.txt:
9867         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
9868         (gst_ghost_pad_internal_do_activate_push),
9869         (gst_ghost_pad_internal_do_activate_pull),
9870         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
9871         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
9872         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
9873         Do not set the internal pad as a parent anymore so we can avoid
9874         hierarchy linking errors when the ghostpad has no parent yet. This also
9875         fixes failed activation because of unlinked internal pads, which in
9876         turn fixes the impossible case where you have to activate a pad before
9877         you can add it to a running element.
9878         Also fix the docs.
9879
9880         * gst/gstpad.c: (pre_activate), (post_activate),
9881         (gst_pad_set_active), (gst_pad_activate_pull),
9882         (gst_pad_activate_push), (gst_pad_check_pull_range):
9883         Add some more debug info.
9884         Mark activation mode in pre_activate so that we don't try to activate in
9885         endless loops. Fixes #385084.
9886
9887 2007-02-19  Wim Taymans  <wim@fluendo.com>
9888
9889         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
9890         (gst_base_transform_check_get_range):
9891         Implement a checkgetrange function instead of relying on the default
9892         core behaviour that assumes we can operate in pull mode if we have a
9893         getrange function. First step at fixing #385084.
9894
9895 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
9896
9897         * gst/gstchildproxy.h:
9898         * libs/gst/base/gstbasesink.h:
9899         * libs/gst/base/gstbasesrc.h:
9900         * libs/gst/base/gstbasetransform.h:
9901         More docs coverage and some ChangeLog surgery (add missing names)
9902
9903 2007-02-15  Wim Taymans  <wim@fluendo.com>
9904
9905         * docs/design/part-TODO.txt:
9906         * docs/design/part-activation.txt:
9907         * docs/design/part-block.txt:
9908         * docs/design/part-buffering.txt:
9909         * docs/design/part-clocks.txt:
9910         * docs/design/part-element-source.txt:
9911         * docs/design/part-events.txt:
9912         * docs/design/part-gstbin.txt:
9913         * docs/design/part-gstbus.txt:
9914         * docs/design/part-gstpipeline.txt:
9915         * docs/design/part-live-source.txt:
9916         * docs/design/part-messages.txt:
9917         * docs/design/part-overview.txt:
9918         * docs/design/part-qos.txt:
9919         * docs/design/part-query.txt:
9920         * docs/design/part-states.txt:
9921         * docs/design/part-trickmodes.txt:
9922         Some doc updates. Start renaming from stream_time to running_time where
9923         it was used wrongly.
9924
9925 2007-02-15  Wim Taymans  <wim@fluendo.com>
9926
9927         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
9928         Answer LATENCY query.
9929
9930 2007-02-15  Wim Taymans  <wim@fluendo.com>
9931
9932         * tests/check/gst/gstevent.c: (event_probe), (test_event),
9933         (GST_START_TEST):
9934         Improve debugging.
9935
9936 2007-02-15  Wim Taymans  <wim@fluendo.com>
9937
9938         * gst/gstpad.c: (gst_pad_get_internal_links_default),
9939         (gst_pad_dispatcher):
9940         Improve debugging of default pad dispatcher and query functions.
9941
9942 2007-02-15  Wim Taymans  <wim@fluendo.com>
9943
9944         * docs/gst/gstreamer-sections.txt:
9945         Remove old unused method.
9946
9947 2007-02-13  Wim Taymans  <wim@fluendo.com>
9948
9949         * tests/check/gst/gstsegment.c: (GST_START_TEST):
9950         Fix check
9951
9952 2007-02-13  Wim Taymans  <wim@fluendo.com>
9953
9954         * docs/design/part-seeking.txt:
9955         Some small update.
9956
9957         * gst/gstsegment.c: (gst_segment_set_seek):
9958         Revert old bogus change that should make seeking work again.
9959
9960 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
9961
9962         * docs/random/ensonic/dynlink.txt:
9963         * docs/random/ensonic/interfaces.txt:
9964         * docs/random/ensonic/receipies.txt:
9965           Possible dynamic reconnection api, plus some type fixes the other two
9966           docs.
9967
9968 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
9969
9970         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
9971         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
9972         Also check for an absolute path following file:// in the filesrc
9973         element. Remove redundant check and call g_path_is_absolute() on the
9974         unescaped location.
9975
9976 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
9977
9978         * docs/design/draft-klass.txt:
9979           Add existing category analysis.
9980           
9981         * gst/gstcaps.c:
9982           Fix doc example, framerate is a fraction.
9983
9984 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
9985
9986         * configure.ac:
9987         * docs/gst/Makefile.am:
9988         * docs/gst/gstreamer-sections.txt:
9989         * docs/libs/Makefile.am:
9990           Erm, forgot a bunch of --extra-dir.
9991
9992 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
9993
9994         * configure.ac:
9995         * docs/gst/Makefile.am:
9996         * docs/libs/Makefile.am:
9997         * docs/plugins/Makefile.am:
9998           Add crossreferences to glib/gobject docs.
9999
10000 2007-02-12  Wim Taymans  <wim@fluendo.com>
10001
10002         * docs/design/draft-latency.txt:
10003         Small update.
10004
10005         * docs/libs/gstreamer-libs-sections.txt:
10006         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
10007         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
10008         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
10009         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
10010         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
10011         (gst_base_sink_get_position), (gst_base_sink_query),
10012         (gst_base_sink_change_state):
10013         * libs/gst/base/gstbasesink.h:
10014         API: gst_base_sink_query_latency() to let subclasses query the upstream
10015         latency.
10016         API: gst_base_sink_get_latency() to let subclasses query the configured
10017         latency in the sink.
10018         Implement query and set latency.
10019         Update some docs.
10020         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
10021         don't continue preroll when we are flushing. Fixes #405284.
10022
10023         * tests/check/pipelines/stress.c: (change_state_timeout),
10024         (quit_timeout), (GST_START_TEST), (stress_suite):
10025         Test for #405284.
10026
10027 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
10028
10029         Patch by: René Stadler <mail at renestadler de>
10030
10031         * docs/gst/gstreamer-sections.txt:
10032         * gst/gsttaglist.c: (_gst_tag_initialize):
10033         * gst/gsttaglist.h:
10034           API: add GST_TAG_REFERENCE_LEVEL (#403597).
10035
10036 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
10037
10038         * docs/libs/Makefile.am:
10039           Fix path to core docs.
10040
10041         * gst/gstbin.c: (gst_bin_get_by_interface),
10042         (gst_bin_iterate_all_by_interface):
10043           Refix docs by also renaming 'interface' to 'iface' in implementation.
10044
10045         * docs/gst/gstreamer-sections.txt:
10046         * gst/gstcaps.c:
10047         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
10048         * gst/gstchildproxy.h:
10049         * gst/gstelementfactory.c:
10050         * gst/gstpadtemplate.h:
10051         * libs/gst/controller/gstcontroller.c:
10052         (gst_controlled_property_new):
10053           Document more.
10054
10055 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
10056
10057         * gst/gstbin.h:(gst_bin_get_by_interface),
10058         (gst_bin_iterate_all_by_interface):
10059         Replace interface parameter name by iface as interface is 
10060         a reserved keyword in Visual Studio for C++ projects so it removes
10061         a build error for application developpers using VS.
10062         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
10063         Fix a bug on Windows in uri format check. Now the prefix checked
10064         is file:// and next we check if the path after file:// is absolute.
10065         * win32/common/libgstbase.def:
10066         * win32/common/libgstdataprotocol.def:
10067         * win32/common/libgstgstreamer.def:
10068         Add new exported functions.
10069
10070 2007-02-09  Andy Wingo  <wingo@pobox.com>
10071
10072         * tests/check/pipelines/simple-launch-lines.c
10073         (simple_launch_lines_suite, test_tee): Disable tee test until I
10074         have time to fix it :-(
10075
10076         * tests/check/Makefile.am (noinst_HEADERS): 
10077         * tests/check/libs/libsabi.c: 
10078         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
10079         * tests/check/gst/gstabi.c: 
10080         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
10081
10082         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
10083         tests for push and pull tee behavior.
10084
10085         * plugins/elements/gsttee.h: 
10086         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
10087         mark as deprecated as well as unimplemented. It was a crack idea.
10088         Add support for tee operating in pull mode, off by default.
10089
10090         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
10091         normal-case logs down to LOG, raise errors to WARNING.
10092         (gst_registry_xml_read_cache): Don't log before calling a function
10093         that logs.
10094
10095         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
10096         exit (registry finalize).
10097         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
10098         DEBUG log when we emit signals that people don't even have the
10099         chance to connect to.
10100         (gst_registry_scan_path_level): Less logging in the normal case.
10101
10102 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
10103
10104         Patch by: Michal Benes <michal dot benes at itonis dot tv>
10105
10106         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
10107         Correctly generate EOS for non-seekable files. We don't have a total
10108         length for them and would get an unexpected end of file if we only
10109         special-cased for regular files. (Fixes: #404569)
10110
10111 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
10112
10113         * tests/check/elements/filesrc.c: (GST_START_TEST),
10114         (filesrc_suite):
10115         Add unit test for the GstURIHandler interface in filesrc. This also
10116         tests the newly added file://localhost/foo/bar support.
10117
10118 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
10119
10120         * gst/gstelementfactory.h:
10121           The klass string is not a hierarchy. Add reference to the design doc
10122           for more information and common types.
10123
10124 2007-02-02  Wim Taymans  <wim@fluendo.com>
10125
10126         * gst/gstquery.c: (gst_query_new_latency):
10127         Remove old structure field.
10128
10129 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
10130
10131         * tools/gst-launch.1.in:
10132           Give example for network streaming (#351998)
10133
10134 2007-02-02  Wim Taymans  <wim@fluendo.com>
10135
10136         * docs/gst/gstreamer-sections.txt:
10137         Add docs for new methods.
10138
10139         * gst/gstevent.c: (gst_event_new_latency),
10140         (gst_event_parse_latency):
10141         * gst/gstevent.h:
10142         Add new LATENCY event to configure latency in a pipeline.
10143         API: gst_event_new_latency
10144         API: gst_event_parse_latency
10145
10146         * gst/gstmessage.c: (gst_message_new_buffering),
10147         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
10148         (gst_message_new_latency), (gst_message_parse_buffering),
10149         (gst_message_parse_lost_preroll):
10150         * gst/gstmessage.h:
10151         Added messages used in draft-latency.
10152         API: gst_message_new_lost_preroll
10153         API: gst_message_parse_lost_preroll
10154         API: gst_message_new_prerolled
10155         API: gst_message_new_latency
10156
10157         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
10158         (gst_query_parse_latency):
10159         * gst/gstquery.h:
10160         Implemented new latency query as in design doc.
10161         API: gst_query_new_latency
10162         API: gst_query_set_latency
10163         API: gst_query_parse_latency
10164
10165 2007-02-02  Wim Taymans  <wim@fluendo.com>
10166
10167         * docs/design/draft-latency.txt:
10168         Slight redesign to allow for dynamic latency adjustments.
10169
10170         * docs/design/part-negotiation.txt:
10171         Fix some typos.
10172
10173 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
10174
10175         reviewed by: Wim Taymans <wim@fluendo.com>
10176
10177         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
10178         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
10179         Allow file://localhost/foo/bar URLs and correctly fail for every other
10180         hostname that one sets. This was gnomevfssrc is linked for those if
10181         installed as it can handle it (#403172)
10182
10183 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
10184
10185         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
10186
10187         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10188         (unref_data), (gst_collect_pads_add_pad_full):
10189         * libs/gst/base/gstcollectpads.h:
10190         Don't put the previously added destroy notify in the GstCollectData
10191         struct as all it's padding is already used and we don't want to break
10192         ABI. Instead put in the pad's GObject data for now. This should be
10193         cleaned up for 0.11 (#402393).
10194
10195 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
10196
10197         reviewed by: Wim Taymans <wim@fluendo.com>
10198
10199         * docs/libs/gstreamer-libs-sections.txt:
10200         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10201         (unref_data), (gst_collect_pads_add_pad),
10202         (gst_collect_pads_add_pad_full):
10203         * libs/gst/base/gstcollectpads.h:
10204         API: Add function to specify a destroy notification for custom
10205         GstCollectData when adding new pads in GstCollectPads (#402393).
10206
10207 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
10208
10209         * po/sv.po:
10210           Update Swedish translation (#378255).
10211
10212 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
10213
10214         * docs/design/draft-klass.txt:
10215           Fix the previous change, this is a list of categories and not a hierarchy.
10216
10217 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
10218
10219         * docs/design/draft-klass.txt:
10220           Add info about how to get a list of used classes.
10221
10222 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
10223
10224         * plugins/elements/gsttypefindelement.c:
10225         (gst_type_find_element_chain_do_typefinding),
10226         (gst_type_find_element_change_state):
10227           Don't leak found caps in chain function (no idea why that never
10228           showed up as a leak anywhere).
10229
10230 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
10231
10232         * gst/gstplugin.h:
10233           Fix and expand GstPluginDesc API docs.
10234
10235 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
10236
10237         * gst/gstcaps.c:
10238         * gst/gstelementfactory.c:
10239         * gst/gstpadtemplate.h:
10240           api doc fixes
10241
10242         * libs/gst/controller/gstcontroller.c:
10243         (gst_controlled_property_new):
10244         * tests/examples/controller/audio-example.c:
10245           comment fixes
10246
10247 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
10248
10249         * configure.ac:
10250           comment about refining the xml deps
10251
10252         * docs/manuals.mak:
10253           comments about moving away from jade for docs
10254         
10255         * gst/gst.c:
10256           recommit the ifdefs to use the binary registry
10257         
10258         * gst/gstbin.c: (gst_bin_change_state_func):
10259           this break is obsolete
10260
10261         * gst/gstelementfactory.h:
10262           better GST_ELEMENT_DETAILS docs, add comment about translation
10263
10264         * gst/gstinfo.h:
10265           remove eol slash
10266
10267         * gst/gstobject.c: (gst_signal_object_get_type):
10268           add G_UNLIKELY as usual
10269
10270         * gst/gstpad.c: (gst_pad_event_default):
10271           add fall trhu comment
10272
10273         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10274         (gst_registry_binary_initialize_magic),
10275         (gst_registry_binary_save_string),
10276         (gst_registry_binary_save_pad_template),
10277         (gst_registry_binary_save_feature),
10278         (gst_registry_binary_save_plugin),
10279         (gst_registry_binary_write_cache),
10280         (gst_registry_binary_check_magic),
10281         (gst_registry_binary_load_pad_template),
10282         (gst_registry_binary_load_feature),
10283         (gst_registry_binary_load_plugin),
10284         (gst_registry_binary_read_cache):
10285           comment typo and formatting
10286
10287         * gst/gstutils.c: (gst_element_state_get_name),
10288         (gst_element_state_change_return_get_name):
10289           remove obsolete breaks
10290
10291         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
10292           add FIXME 0.11 and remove cpp comment
10293
10294 2007-01-29  Edward Hervey  <edward@fluendo.com>
10295
10296         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10297         Fix print statement in an even more portable way.
10298
10299 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
10300
10301         * docs/gst/gstreamer-sections.txt:
10302         * gst/gstutils.h:
10303           API: add GST_ROUND_DOWN_* macros (#401781).
10304
10305 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
10306
10307         * docs/gst/gstreamer.types.in:
10308         * gst/gstregistry.c: (gst_registry_class_init):
10309           Document registry signals and make gtk-doc pick them up (#401381).
10310
10311 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
10312
10313         * docs/pwg/building-testapp.xml:
10314           Add some audioconverts and audioresample to the pipeline, and some
10315           more comments and error handling.
10316
10317 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
10318
10319         * docs/manual/manual.xml:
10320         * docs/pwg/pwg.xml:
10321           Fix typo (#400987).
10322
10323 2007-01-26  Wim Taymans  <wim@fluendo.com>
10324
10325         * gst/gstcaps.c: (gst_static_caps_get):
10326         Init caps flags too.
10327
10328 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
10329
10330         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
10331
10332         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
10333         If not using mmap'ed files try to seek to the end instead of the
10334         start to determine whether we can seek at all. This fixes the case
10335         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
10336         seeks for everything afterwards fail. Fixes #400656
10337
10338 2007-01-25  Wim Taymans  <wim@fluendo.com>
10339
10340         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
10341         Add some refcount debugging.
10342         Make gst_static_caps_get threadsafe, which is needed when autoplugging
10343         in multiple streaming threads.
10344
10345 2007-01-25  Wim Taymans  <wim@fluendo.com>
10346
10347         Patch by: David Schleef <ds at schleef dot org>
10348
10349         * docs/libs/gstreamer-libs-sections.txt:
10350         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
10351         * libs/gst/base/gstadapter.h:
10352         API: gst_adapter_copy() that can reduce the amount of memcpy when
10353         getting data from the adapter. Fixes #388201.
10354
10355 2007-01-25  Edward Hervey  <edward@fluendo.com>
10356
10357         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10358         In print statements, "%x" is for guint. Fixes build on macosx.
10359
10360 2007-01-24  Edward Hervey  <edward@fluendo.com>
10361
10362         * plugins/elements/gstmultiqueue.c:
10363         (gst_multi_queue_loop):
10364         Small fix.
10365         (single_queue_overrun_cb), (single_queue_underrun_cb),
10366         (single_queue_check_full), (gst_single_queue_new):
10367         Implement single queue growth system.
10368         This uses the extra-size properties, and will grow single queues by
10369         that much if one goes full whereas there are others empty. This is
10370         called extra-mode in the code.
10371         When a single queue's levels go back below the initial max-size
10372         limits, it is no longer in extra-mode. This is to ensure we don't
10373         consume too much memory.
10374         Fixes #399875
10375
10376 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
10377
10378         * gst/gst.c: (gst_init_get_option_group):
10379           Make warning about late g_thread_init() calls a bit more explicit,
10380           so that it's more obvious to application developers what they need
10381           to do if a user files a bug against their application.
10382
10383 2007-01-22  Edward Hervey  <edward@fluendo.com>
10384
10385         * plugins/elements/gstmultiqueue.c:
10386         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
10387         Remove previous hack of unsetting the flushing flag for the source pad
10388         instead of activating it. Instead, fix the source pad activate function
10389         so that it no longer depends on having a parent set or not.
10390
10391 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
10392
10393         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
10394
10395         * docs/manual/basics-bus.xml:
10396           Fix example code, gst_element_unref() doesn't exist any longer.
10397
10398 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
10399
10400         Patch by: Mark Nauwelaerts <manauw at skynet be>
10401
10402         * gst/gstpad.c:
10403           Fix two docs typoes (#399094).
10404
10405 2007-01-19  Edward Hervey  <edward@fluendo.com>
10406
10407         * docs/faq/gst-uninstalled:
10408         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
10409         depending on libgstbaseutils can work in uninstalled environment.
10410
10411 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
10412
10413         * gst/gsttaglist.h:
10414         * gst/gsttagsetter.c:
10415         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
10416         statement for new tag.
10417
10418 2007-01-17  Edward Hervey  <edward@fluendo.com>
10419
10420         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
10421         When dynamically creating single queues, activate sinkpad before adding
10422         it.
10423         We should be doing the same thing for the source pad, but we can't
10424         since it would call a method which needs the parent to be set in order
10425         to work propertly. Instead of activating the source pad, we just unset
10426         the flushing flag, which is the minimal requirement for adding a pad
10427         to an element in a state greater than READY.
10428
10429 2007-01-17  Edward Hervey  <edward@fluendo.com>
10430
10431         * docs/faq/gst-uninstalled:
10432         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
10433         Mac OS X.
10434
10435 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
10436
10437         * tests/check/gst/gstabi.c:
10438         * tests/check/gst/struct_hppa.h:
10439         * tests/check/libs/libsabi.c:
10440         * tests/check/libs/struct_hppa.h:
10441           Add ABI structs for HPPA (see #393796).
10442
10443 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
10444
10445         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
10446           Actually write ABI structs to the file specified in the GST_ABI
10447           environment variable, as the message we print claims we would.
10448
10449 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10450
10451         * tests/check/gst/gsttask.c:
10452           Fix header comment.
10453
10454 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10455
10456         * gst/gsttaglist.c: (_gst_tag_initialize):
10457           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
10458           previous two entries.
10459
10460 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10461
10462         * docs/gst/gstreamer-sections.txt:
10463         * gst/gsttaglist.c: (_gst_tag_initialize):
10464         * gst/gsttaglist.h:
10465           Add tag support for beat-per-minute.
10466
10467 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10468
10469         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10470         (gst_registry_binary_initialize_magic),
10471         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
10472         (gst_registry_binary_save_pad_template),
10473         (gst_registry_binary_save_feature),
10474         (gst_registry_binary_save_plugin),
10475         (gst_registry_binary_write_cache),
10476         (gst_registry_binary_check_magic),
10477         (gst_registry_binary_load_pad_template),
10478         (gst_registry_binary_load_feature),
10479         (gst_registry_binary_load_plugin),
10480         (gst_registry_binary_read_cache):
10481         * gst/gstregistrybinary.h:
10482           Use glib types, cleanup comments, impement interfaces and uri-types.
10483
10484 2007-01-13  Andy Wingo  <wingo@pobox.com>
10485
10486         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
10487         getrange() to return buffers with other caps, while we fix
10488         demuxers and typefind, or otherwise change part-negotiation.txt.
10489
10490 2007-01-12  Andy Wingo  <wingo@pobox.com>
10491
10492         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
10493         Factor start/stop into this private function instead of partially
10494         in activate functions and partially in the change_state function.
10495         Fixes setup before the element has changed from READY->PAUSED, as
10496         is the case in pull-mode pipelines.
10497         (gst_base_transform_sink_activate_push)
10498         (gst_base_transform_src_activate_pull): Refactor to use
10499         gst_base_transform_activate().
10500         (gst_base_transform_change_state): Removed, not needed any more.
10501
10502         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10503         Truncate before fixating.
10504         
10505         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10506         Don't set_caps() if the result of fixating is ANY, as it's not
10507         supported, and not necessary in the case of a link with no
10508         template caps on either side. Fixes tests/check/libs/basesrc in
10509         some pull-mode tests.
10510
10511         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
10512         (gst_base_transform_init, gst_base_transform_sink_activate_push)
10513         (gst_base_transform_src_activate_pull): 
10514         Track the activation mode.
10515         (gst_base_transform_setcaps): In pull mode, when activating the
10516         src pad, after activating the sink pad, activate the sink pad's
10517         peer, as discussed in part-negotiation.txt.
10518
10519         * libs/gst/base/gstbasesrc.h: 
10520         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
10521         vmethod, as in basesink.
10522
10523         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
10524
10525         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
10526         mode, first proxy the setcaps to the peer pad.
10527         (gst_base_sink_pad_fixate): Add a fixate function that calls the
10528         new fixate vmethod.
10529         (gst_base_sink_default_activate_pull): Rename from
10530         gst_base_sink_activate_pull.
10531         (gst_base_sink_negotiate_pull): New function, performs negotiation
10532         in pull mode before calling ::activate_pull().
10533         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
10534         vmethod instead of the default implementation. I have no idea how
10535         this worked before. Negotiate before calling activate_pull.
10536
10537         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
10538         sink pads in pull mode. In addition to being correct, fixes
10539         filesrc ! decodebin ! identity ! fakesink.
10540         (gst_pad_get_range, gst_pad_pull_range): Don't call
10541         gst_pad_set_caps() if the caps changes; instead error out with
10542         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
10543
10544 2007-01-12  Andy Wingo  <wingo@pobox.com>
10545
10546         * docs/design/part-negotiation.txt: Update with more policy.
10547
10548 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10549
10550         * libs/gst/check/gstbufferstraw.h:
10551         * libs/gst/check/gstcheck.h:
10552           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
10553           belongs.
10554
10555 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10556
10557         * tests/check/Makefile.am:
10558         * tests/check/gst/.cvsignore:
10559         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
10560         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
10561         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
10562         (GST_START_TEST), (gst_tag_setter_suite):
10563           Add minimal unit test for beforementioned GstTagSetter bug.
10564
10565 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10566
10567         Patch by: René Stadler <mail at renestadler dot de>
10568
10569         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
10570           gst_tag_list_merge() returns a new list, so it's not the best idea
10571           to ingore its return value. Effectively meant that tags could only
10572           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
10573           Also add function guard to require a non-NULL taglist as input (has
10574           always been so due to gst_tag_list_copy(), just making it explicit).
10575
10576 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10577
10578         * docs/random/draft-missing-plugins.txt:
10579           Some additions: mention new API that is supposed to be used at the
10580           various stages; short blob about new gst-inspect introspection
10581           option; mention potential future problem with plugins that have
10582           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
10583
10584 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10585
10586         * tools/gst-inspect.c:
10587         (print_plugin_automatic_install_info_codecs),
10588         (print_plugin_automatic_install_info_protocols),
10589         (print_plugin_automatic_install_info), (main):
10590         Add --print-plugin-auto-install-info option to gst-inspect, so we can
10591         introspect plugin files and get machine-parsable output that corresponds
10592         to the last bit of the missing-plugin installer string (small gotcha:
10593         doesn't take into account ranks).
10594
10595 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
10596
10597         * configure.ac:
10598         * docs/gst/gstreamer-sections.txt:
10599         * gst/Makefile.am:
10600         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
10601         (gst_registry_lookup_locked):
10602         * gst/gstregistry.h:
10603         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10604         (gst_registry_binary_initialize_magic),
10605         (gst_registry_binary_save_string),
10606         (gst_registry_binary_save_pad_template),
10607         (gst_registry_binary_save_feature),
10608         (gst_registry_binary_save_plugin),
10609         (gst_registry_binary_write_cache),
10610         (gst_registry_binary_check_magic),
10611         (gst_registry_binary_load_pad_template),
10612         (gst_registry_binary_load_feature),
10613         (gst_registry_binary_load_plugin),
10614         (gst_registry_binary_read_cache):
10615         * gst/gstregistrybinary.h:
10616         * gst/gstregistryxml.c: (load_feature),
10617         (gst_registry_xml_read_cache):
10618           commit binary registry (disabled by default, see #359653)
10619
10620 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10621
10622         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
10623           Fix 'make check' too.
10624
10625 2007-01-10  Andy Wingo  <wingo@pobox.com>
10626
10627         * docs/design/part-negotiation.txt: Fix a typo, add a couple
10628         notes.
10629         
10630         * docs/design/part-negotiation.txt: Update with, um, one way that
10631         pull-mode negotiation might work?
10632
10633         * gst/gstpad.h: 
10634         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
10635         that the pad must be a src pad; makes sense to call it the other
10636         way in pull mode, and the logic is symmetric anyway.
10637
10638 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
10639
10640         * plugins/elements/gstfilesink.c:
10641           Include <stdio.h> for fseeko().
10642
10643 2007-01-10  Wim Taymans  <wim@fluendo.com>
10644
10645         * gst/gstevent.c:
10646         * gst/gstevent.h:
10647         Reserve LATENCY event.
10648
10649 2007-01-09  Wim Taymans  <wim@fluendo.com>
10650
10651         * docs/design/draft-latency.txt:
10652         Updates.
10653
10654 2007-01-09  Wim Taymans  <wim@fluendo.com>
10655
10656         * docs/design/draft-latency.txt:
10657         Updates.
10658
10659         * gst/gstelement.h:
10660         * gst/gststructure.c:
10661         * gst/gsttrace.c:
10662         Small typo fixes.
10663
10664 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
10665
10666         * tests/check/.cvsignore:
10667           Ignore test-registry.xml as well.
10668
10669 2007-01-09  Wim Taymans  <wim@fluendo.com>
10670
10671         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
10672         unref data at the end when we are done with the pad.
10673
10674 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
10675
10676         * docs/gst/gstreamer-sections.txt:
10677         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
10678         (init_post), (gst_deinit), (gst_update_registry):
10679         * gst/gst.h:
10680           API: add gst_update_registry() (#391296).
10681
10682         * tests/check/Makefile.am:
10683         * tests/check/gst/gstregistry.c:
10684         * tests/check/gst/.cvsignore:
10685           Simple unit test for the above.
10686
10687 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
10688
10689         * gst/gstregistry.c: (gst_registry_scan_path_level):
10690           Plugin extension on HP-UX is .sl, add that to the list of approved
10691           plugin extensions (see #393796).
10692
10693         * tests/check/gst/gstpad.c: (GST_START_TEST):
10694           ulong => gulong. Fixes compilation with HP-UX compiler.
10695
10696         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
10697           Fix compilation if valgrind headers are not available.
10698
10699 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
10700
10701         * win32/common/libgstreamer.def: 
10702           Add new exported function.
10703         * win32/vs6/libgstbase.dsp: 
10704           Add gstdataqueue.c to the build.
10705         * win32/vs6/libgstcoreelements.dsp:
10706           Add gstmultiqueue.c to the build.
10707         
10708 2007-01-06  Andy Wingo  <wingo@pobox.com>
10709
10710         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
10711         activate_pull(), providing for a way to specialize the process of
10712         spawning a thread to pull on the sink pad. There is a default
10713         implementation.
10714
10715         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
10716         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
10717         (gst_base_sink_init): Renamed pad activation functions (inserting
10718         "_pad" in their names). Refactor to use the new activate_pull
10719         vmethod, as appropriate.
10720         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
10721         default activate_pull function to start a task pulling from the
10722         sink pad, as before.
10723
10724         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
10725         on the pads if necessary, as in push()/chain(). Update docs.
10726         Shouldn't affect existing pull() usage as it is currently only
10727         being used on buffers without caps.
10728
10729 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10730
10731         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
10732         (init_pre):
10733           Call g_thread_init() first thing in gst_init() / gst_check_init().
10734           When initialisation is done via gst_init_get_option_group() and
10735           GOption parsing, issue a warning if the GLib thread system has not
10736           been initialised yet by the time gst_init_get_option_group() is
10737           called, as it's quite likely other GLib functions such as
10738           g_option_context_new() have been called already then, and
10739           g_thread_init() must be called before any other GLib function. The
10740           application in question must be fixed in that case, since memory
10741           corruption might happen otherwise.
10742           We issue the warning because even if the GLib folks decide to work
10743           around the problem on their end in future, this is still an issue
10744           with all GLib versions >= 2.10.0, so we should warn until we depend
10745           on a GLib version we know to be safe.
10746           Update documentation as well.
10747           Closes bug #391278.
10748
10749 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10750
10751         * tools/gst-inspect.c: (main):
10752         * tools/gst-launch.c: (main):
10753         * tools/gst-typefind.c: (main):
10754         * tools/gst-xmlinspect.c: (main):
10755           Call g_thread_init() really really early, before any other GLib
10756           function (see #342564 and recent discussion on gtk-devel-list).
10757
10758 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10759
10760         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
10761
10762         * gst/gst_private.h:
10763         * gst/gstconfig.h.in:
10764         * gst/gstinfo.h:
10765           On win32, all the __declspec stuff for symbol exporting is
10766           apparently only needed with MSVC, but doesn't work with MingW.
10767           Fixes compilation with MingW and #391909.
10768
10769 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10770
10771         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
10772           Change some GST_ERROR_OBJECT that aren't really errors to
10773           GST_WARNING_OBJECT in order to reduce terminal spam.
10774
10775 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
10776
10777         * tests/check/Makefile.am:
10778           disable test again, as there seem to be still race problems
10779
10780 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
10781
10782         * tests/check/Makefile.am:
10783         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10784         (GST_START_TEST), (queue_suite):
10785           enable queue test again, add tests for the leaky behaviour
10786
10787 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
10788
10789         * configure.ac:
10790         * tests/examples/Makefile.am:
10791           Compile adapter test/example only if the required headers are
10792           available (fixes #391915).
10793
10794 2007-01-01  David Schleef  <ds@schleef.org>
10795
10796         * gst/gstplugin.c:
10797           Restore the previous signal handler for SIGSEGV instead of
10798           setting to default, since we may have stolen it away from
10799           someone.  (i.e., Mono)
10800
10801 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
10802
10803         * docs/random/draft-missing-plugins.txt:
10804           Some small additions and clarifications.
10805
10806 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
10807
10808         * gst/gstregistryxml.c: (gst_registry_save_escaped):
10809           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
10810           since that can lead to random memory corruptions and crashes
10811           (may or may not be related to #383244, #386711, and #386711).
10812
10813 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10814
10815         * tests/check/.cvsignore:
10816         * tests/check/Makefile.am:
10817           sync .cvsignome and CLEANFILES
10818
10819 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10820
10821         * tests/check/Makefile.am:
10822           fix distcheck
10823
10824 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10825
10826         * docs/design/part-states.txt:
10827           two tiny additional comments
10828         
10829         * gst/gststructure.c:
10830           doc fixing
10831
10832         * tests/check/Makefile.am:
10833         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10834         (GST_START_TEST):
10835           disable test for now, unless it gets fixed
10836
10837 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10838
10839         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10840         (GST_START_TEST):
10841           fix race in underrun test
10842
10843 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10844
10845         * tests/check/elements/.cvsignore:
10846           ignore more
10847
10848         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10849         (GST_START_TEST):
10850           try to narrow test failure
10851
10852 2006-12-21  David Schleef  <ds@schleef.org>
10853
10854         * plugins/elements/gstfakesrc.c:
10855           Use g_random_int_range(), since it produces better random
10856           numbers in a range than almost-correct floating point code.
10857
10858 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10859
10860         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
10861         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
10862         (gst_check_teardown_sink_pad):
10863           do not automatically (de)activate pads
10864
10865         * tests/check/Makefile.am:
10866         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10867         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
10868           add new, yet simple tests for queue
10869
10870         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
10871         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
10872         * tests/check/elements/filesrc.c: (cleanup_filesrc),
10873         (GST_START_TEST):
10874         * tests/check/elements/identity.c: (cleanup_identity):
10875           consistent pad (de)activation
10876
10877 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
10878
10879         Patch by: Sebastian Dröge  <slomo ubuntu com>
10880
10881         * libs/gst/base/gstcollectpads.c:
10882           Fix two doc typos (#387866).
10883
10884 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
10885
10886         * docs/manual/advanced-dparams.xml:
10887           Fix typo (g_object_control_properties() doesn't exist).
10888
10889 2006-12-19  Edward Hervey  <edward@fluendo.com>
10890
10891         * gst/gstsegment.c: (gst_segment_set_seek):
10892         Fine tune the cases where the segment start/stop values are really
10893         updated.
10894         * tests/check/gst/gstsegment.c: (GST_START_TEST):
10895         Add tests for the return values of gst_segment_set_seek().
10896
10897 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
10898
10899         * gst/gst.c:
10900           Docs typo fix.
10901
10902         * plugins/elements/gstqueue.c: (gst_queue_class_init),
10903         (gst_queue_init):
10904           Fix incorrect documentation and flesh it out a bit more.
10905           Set default values for the max properties on the GParamSpec as well,
10906           so it shows up correctly in gst-inspect.
10907
10908 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
10909
10910         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
10911           Correct docs of queue, add more detail and crosslink it more.
10912
10913 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
10914
10915         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
10916           Print additional debug info when the stream isn't perfectly
10917           timestamped; don't try to use invalid durations.
10918
10919 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
10920
10921         * docs/design/Makefile.am:
10922           Dist new design docs.
10923
10924 2006-12-16  Wim Taymans  <wim@fluendo.com>
10925
10926         Patch by: Sjoerd Simons <sjoerd at luon dot net>
10927
10928         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
10929         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
10930         (gst_collect_pads_stop), (gst_collect_pads_event),
10931         (gst_collect_pads_chain):
10932         * libs/gst/base/gstcollectpads.h:
10933         Add refcounting to the collectpads data so we can track when it's safe
10934         to free the data. Fixes #383382.
10935
10936 2006-12-15  Wim Taymans  <wim@fluendo.com>
10937
10938         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
10939         (gst_collect_pads_remove_pad):
10940         Automatically activate/deactivate pads when they are added to a
10941         started/stoped collectpads.
10942
10943 2006-12-15  Wim Taymans  <wim@fluendo.com>
10944
10945         * gst/gstelement.c: (gst_element_add_pad):
10946         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
10947         * gst/gstpad.c: (gst_pad_init):
10948         Set pads to FLUSHING when they are created. Check, warn and fix when a
10949         demuxer adds an inactive pad to itself when running. Fixes #339326.
10950
10951 2006-12-15  Wim Taymans  <wim@fluendo.com>
10952
10953         * gst/gstelement.c: (gst_element_class_init),
10954         (gst_element_default_send_event), (gst_element_send_event),
10955         (gst_element_default_query), (gst_element_query):
10956         Expose default element send_event and query handling as vmethods that
10957         subclasses can chain up to.
10958
10959 2006-12-15  Wim Taymans  <wim@fluendo.com>
10960
10961         * gst/gstelement.c: (gst_element_set_state_func):
10962         Small documentation fixes.
10963
10964 2006-12-15  Wim Taymans  <wim@fluendo.com>
10965
10966         * docs/design/draft-latency.txt:
10967         Checked in draft for handling latency in pipelines.
10968
10969 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10970
10971         * Makefile.am:
10972         * gstreamer.doap:
10973         * gstreamer.spec.in:
10974           adding .doap file
10975
10976 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
10977
10978         * gst/gst.c: (init_pre), (init_post):
10979           init_pre() and init_post() might be called via our GOptionGroup or
10980           from gst_init(), and we should skip both of them if we've already
10981           been initialised, otherwise we will init some things twice or add
10982           two default log functions.
10983
10984 2006-12-13  Edward Hervey  <edward@fluendo.com>
10985
10986         * docs/manual/basics-bus.xml:
10987         No, gst_main_loop does not exist. Its g_main_loop.
10988         Discovered by somebody who abused the copy-paste technique of coding :)
10989
10990 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
10991
10992         * gst/gstghostpad.c:
10993           Log ghostpad debug stuff to the GST_PADS category as well rather
10994           than just to the default category.
10995
10996 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
10997
10998         * configure.ac:
10999         * gst/gst.c: (init_pre):
11000           Add some basic system details such as OS and architecture
11001           to the debug output if possible, courtesy of uname().
11002
11003 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
11004
11005         * docs/gst/running.xml:
11006           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
11007           environment variables.
11008
11009 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
11010
11011         * tests/check/gst/gstbin.c: (GST_START_TEST):
11012         It is acceptable to have a refcount of 2 or 3 at this point in the
11013         test, because the pipeline might be just posting its state_change
11014         message. The next line then waits for that message to appear using
11015         bus_poll, so that should be fine too.
11016
11017 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
11018
11019         * gst/gst.c: (ensure_current_registry_forking):
11020         Ignore EINTR when reading from the child registry pipe.
11021         Explicitly ignore the return value from close, since it makes no
11022         difference.
11023
11024         * gst/gstminiobject.c: (gst_mini_object_ref),
11025         (gst_mini_object_unref):
11026         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
11027
11028         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
11029         When removing cached plugins, remove their features too, so they're
11030         not visible after they've disappeared.
11031
11032         * gst/gstutils.c: (prepare_link_maybe_ghosting):
11033         In the unlikely case that we are linking pads with no parents, don't
11034         crash trying to get the non-existent parent bin.
11035
11036         * gst/parse/grammar.y:
11037         Output debug in the PIPELINE category
11038
11039 2005-03-08  Wim Taymans  <wim@fluendo.com>
11040
11041         Patch by: René Stadler <mail at renestadler dot de>
11042
11043         * gst/gstclock.c: (gst_clock_new_periodic_id):
11044         Reject invalid clock times for interval of periodic ids.
11045         Fixes ##383506.
11046
11047 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
11048
11049         * gst/gstelementfactory.c: (gst_element_factory_create):
11050         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
11051         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
11052         * tools/gst-inspect.c: (print_element_info):
11053         Fix refcounting of gst_plugin_feature_load to match the docs. 
11054         Fixes: #380129
11055
11056 2006-12-07  Wim Taymans  <wim@fluendo.com>
11057
11058         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
11059         (gst_base_sink_get_position):
11060         Improve debugging of events.
11061
11062 2006-12-07  Wim Taymans  <wim@fluendo.com>
11063
11064         Patch by: René Stadler <mail at renestadler dot de>
11065
11066         * gst/gstclock.c: (gst_clock_id_wait):
11067         Make period ids add the interval to the origial requested time instead
11068         of the possibly updated time which can be wrong when there are multiple
11069         waiters for the same id. Fixes #382592.
11070
11071         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
11072         (gst_system_clock_id_wait_jitter_unlocked),
11073         (gst_system_clock_id_wait_jitter):
11074         Fix restart in the async notify thread when an async entry is added to
11075         the front of the list. Fixes #381492. 
11076
11077         * tests/check/gst/gstsystemclock.c: (store_callback),
11078         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
11079         Added test for multiple async waits.
11080         Added test for async wait order.
11081
11082 2006-12-07  Wim Taymans  <wim@fluendo.com>
11083
11084         * gst/gstbin.c: (gst_bin_query):
11085         Add some more docs about the POSITION query.
11086
11087 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
11088
11089         * configure.ac:
11090         Bump version nano - back to CVS.
11091
11092 === release 0.10.11 ===
11093
11094 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
11095
11096         * configure.ac:
11097           releasing 0.10.11, "Love never runs on time"
11098
11099 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
11100
11101         * win32/common/libgstbase.def:
11102         * win32/common/libgstreamer.def:
11103         * win32/vs8/libgstbase.vcproj:
11104         * win32/vs8/libgstcoreelements.vcproj:
11105         * win32/vs8/libgstreamer.vcproj:
11106         Fix compilation on win32 under VS8
11107         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11108         Partially fixes #381175
11109
11110 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
11111
11112         * gst/gstvalue.c: (gst_value_compare_fraction):
11113         If someone is foolish enough to compare 2 fractions with denominator =
11114         0, return UNORDERED rather than aborting.
11115
11116 2006-11-28  Edward Hervey  <edward@fluendo.com>
11117
11118         * libs/gst/base/Makefile.am:
11119         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
11120         (gst_data_queue_base_init), (gst_data_queue_class_init),
11121         (gst_data_queue_init), (gst_data_queue_new),
11122         (gst_data_queue_cleanup), (gst_data_queue_finalize),
11123         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
11124         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
11125         (gst_data_queue_is_empty), (gst_data_queue_is_full),
11126         (gst_data_queue_set_flushing), (gst_data_queue_push),
11127         (gst_data_queue_pop), (gst_data_queue_drop_head),
11128         (gst_data_queue_set_property), (gst_data_queue_get_property):
11129         * libs/gst/base/gstdataqueue.h:
11130         New GstDataQueue object for threadsafe queueing. Most useful for
11131         elements that need some queueing functionnality.
11132         * docs/libs/gstreamer-libs-docs.sgml:
11133         * docs/libs/gstreamer-libs-sections.txt:
11134         Insert documentation for GstDataQueue
11135         * plugins/elements/Makefile.am:
11136         * plugins/elements/gstelements.c:
11137         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
11138         (gst_multi_queue_class_init), (gst_multi_queue_init),
11139         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
11140         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
11141         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
11142         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
11143         (gst_multi_queue_loop), (gst_multi_queue_chain),
11144         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
11145         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
11146         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
11147         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
11148         (wake_up_next_non_linked), (compute_next_non_linked),
11149         (single_queue_overrun_cb), (single_queue_underrun_cb),
11150         (single_queue_check_full), (gst_single_queue_new):
11151         * plugins/elements/gstmultiqueue.h:
11152         New multiqueue element, using GstDataQueue. Used for queuing multiple
11153         streams.
11154         Closes #344639 and #347785
11155
11156 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
11157
11158         * docs/pwg/advanced-types.xml:
11159           add more missing type details
11160
11161         * tools/gst-run.c: (main):
11162           remove unused variable
11163
11164 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
11165
11166         * docs/libs/Makefile.am:
11167         * docs/libs/gstreamer-libs.types:
11168           add types of base classes to enable gobject specific stuff in the docs
11169
11170         * docs/random/ensonic/embedded.txt:
11171           more ideas about isolating platform specific things
11172
11173 2006-11-20  Wim Taymans  <wim@fluendo.com>
11174
11175         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
11176
11177         * libs/gst/check/gstcheck.h:
11178         Fix compilation and running against 0.9.4. Fixes #377332.
11179
11180 2006-11-20  Wim Taymans  <wim@fluendo.com>
11181
11182         * gst/gstsegment.c: (gst_segment_set_seek),
11183         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
11184         (gst_segment_to_running_time):
11185         Fix boundary checking in to_running_time() and to_stream_time().
11186         Fixes #377183.
11187
11188         * tests/check/gst/gstsegment.c: (GST_START_TEST):
11189         stream and running time can now be calculated for the complete
11190         clipped segment.
11191
11192 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
11193
11194         * gst/gstpad.c: (gst_pad_push_event):
11195           Can't access event structure after giving away ownership of
11196           the event.
11197
11198 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
11199
11200         * docs/random/ensonic/embedded.txt:
11201         * docs/random/ensonic/profiling.txt:
11202         * docs/random/ensonic/receipies.txt:
11203           more thinking
11204
11205 2006-11-13  Wim Taymans  <wim@fluendo.com>
11206
11207         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11208
11209         * gst/gstpad.c:
11210         Fix documentation for gst_pad_dispatcher. Fixes #374475.
11211
11212 2006-11-13  Wim Taymans  <wim@fluendo.com>
11213
11214         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
11215
11216         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
11217         Store new length in segment duration so we don't keep on calling the
11218         potentially expensize get_size() call. Fixes #370865.
11219
11220 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
11221
11222         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
11223
11224         * win32/common/libgstreamer.def:
11225           Add two missing symbols (#366492).
11226
11227 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
11228
11229         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
11230         (gst_adapter_take_buffer):
11231         Fix format string to use all its arguments.
11232         Remove useless >= check on a guint
11233
11234 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11235
11236         * tests/examples/adapter/.cvsignore:
11237         Ignore build file as commanded by the build-bot
11238
11239 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11240
11241         * tests/examples/adapter/Makefile.am:
11242         * tests/examples/adapter/adapter_test.c: (run_test_take),
11243         (run_test_take_buffer), (run_tests), (main):
11244
11245         Add new files from the previous commit
11246
11247 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11248
11249         * Makefile.am:
11250         * configure.ac:
11251         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
11252         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
11253         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
11254         * libs/gst/base/gstadapter.h:
11255         * tests/check/libs/adapter.c: (create_and_fill_adapter),
11256         (GST_START_TEST), (gst_adapter_suite):
11257         * tests/examples/Makefile.am:
11258         Do some optimisation work in GstAdapter to avoid copies in more cases.
11259         It could still do slightly better by merging buffers when
11260         gst_buffer_is_span_fast is true, but is already faster. 
11261
11262         Also, avoid traversing a single-linked list to append each incoming 
11263         buffer inside the adapter.
11264
11265         Add simple test app that times the adapter behaviour in different
11266         situations, and extend the unit test to check that bytes enter and
11267         exit the adapter in their original order.
11268
11269 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
11270
11271         * docs/random/draft-missing-plugins.txt:
11272           Update: use element message instead of adding a new message
11273           type to the core; don't provide GStreamer API to initiate the
11274           plugin download, just provide API to compose the strings needed
11275           and let an external libgimmestuff handle the rest.
11276
11277 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
11278
11279         * tools/gst-inspect.c: (print_element_properties_info):
11280         Print a string instead of 'unknown type' for GValueArray properties
11281
11282 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
11283
11284         * docs/random/draft-missing-plugins.txt:
11285         More small fixes.
11286
11287 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
11288
11289         * tests/examples/typefind/typefind.c: (type_found), (main):
11290           Make typefind element example work again (#371894); add a
11291           license header.
11292
11293 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
11294
11295         * docs/random/draft-missing-plugins.txt:
11296           Commit initial draft about how to deal with missing plugins,
11297           needs work (API too).
11298
11299 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
11300
11301         * docs/pwg/advanced-types.xml:
11302           documents the new caps elements (see #363118)
11303
11304 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
11305
11306         * gst/gstplugin.c: (gst_plugin_load_file):
11307         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
11308         (gst_file_src_map_region), (gst_file_src_start):
11309         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
11310         (gst_file_index_commit):
11311           Use g_strerror() instead of strerror() - we want UTF-8.
11312
11313 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
11314
11315         Patch by: Peter Kjellerstedt <pkj at axis com>
11316
11317         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11318           Another printf fix (#371493).
11319
11320 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11321
11322         * tests/check/gst/gsttag.c:
11323           relicence (okay with author=company)
11324
11325 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11326
11327         * gst/gstpad.c: (gst_pad_event_default_dispatch),
11328         (gst_pad_push_event):
11329           Enhance debug and improve docs
11330         
11331         * gst/gsturi.c:
11332           Fix docs
11333
11334 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11335
11336         * docs/random/ensonic/distributed.txt:
11337         * docs/random/ensonic/profiling.txt:
11338           more ideas
11339
11340 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11341
11342         * docs/gst/gstreamer-sections.txt:
11343           add new API and fix the build
11344           
11345         * gst/gstbin.c: (gst_bin_recalc_state):
11346         * gst/gstelement.c: (gst_element_message_full),
11347         (gst_element_get_state_func), (gst_element_set_state_func):
11348           use new API and improve logging
11349         
11350         * gst/gstutils.c: (gst_element_state_change_return_get_name):
11351         * gst/gstutils.h:
11352           API: add function to get StateChangereturn names to improve logs 
11353
11354 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11355
11356         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
11357           I'm considering shooting the next person to put strerror stuff
11358           in the translateable part of the message.
11359
11360 2006-11-03  Wim Taymans  <wim@fluendo.com>
11361
11362         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11363         Get the type and printf conversion specifiers right.
11364
11365 2006-11-03  Wim Taymans  <wim@fluendo.com>
11366
11367         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11368
11369         * gst/gstpad.c: (gst_pad_init), (pre_activate),
11370         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
11371         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
11372         Some small cleanups. Improve debugging.
11373         * gst/gstpad.h:
11374         Signal all waiting threads with a broadcast instead of just one.
11375         Fixes #369942.
11376
11377 2006-11-03  Wim Taymans  <wim@fluendo.com>
11378
11379         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
11380         (gst_fd_src_create):
11381         Add some debugging. 
11382         Only update fd when it's different from the old.
11383
11384 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
11385
11386         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
11387           Printf fixes for PPC/OSX, take two (#369366).
11388
11389 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
11390
11391         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
11392
11393         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
11394         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
11395         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
11396           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
11397           don't cast to long long for portability reasons, but use
11398           GLib's types instead.
11399
11400 2006-10-30  Michael Smith  <msmith@fluendo.com>
11401
11402         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
11403           Get the arguments to lseek() the right way around.
11404           Fixes 367677.
11405
11406 2006-10-30  Wim Taymans  <wim@fluendo.com>
11407
11408         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
11409
11410         * gst/gstinfo.h:
11411         _declspec should be __declspec (two underscores, not one). Fixes 366572.
11412
11413 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
11414
11415         Patch by: Kjartan Maraas  <kmaraas at gnome org>
11416
11417         * docs/design/part-MT-refcounting.txt:
11418         * docs/random/wtay/capsnego2-docs:
11419         * gst/gstclock.c:
11420         * gst/gstxml.c:
11421           Typo fixes (#366212).
11422
11423 2006-10-28  Wim Taymans  <wim@fluendo.com>
11424
11425         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11426
11427         * gst/gst.c:
11428         * win32/common/libgstbase.def:
11429         * win32/common/libgstreamer.def:
11430         * win32/vs8/libgstbase.vcproj:
11431         * win32/vs8/libgstcontroller.vcproj:
11432         Add needed entries in .def files.
11433         Use HAVE_UNISTD_H.
11434         Rearrange def files in vs8 solutions. Fixes #366286.
11435
11436 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
11437
11438         * win32/common/gstconfig.h:
11439           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
11440           hand-made win32 gstconfig.h. Fixes #366321.
11441
11442 2006-10-27  Wim Taymans  <wim@fluendo.com>
11443
11444         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
11445         (gst_ghost_pad_new_full):
11446         Make acceptcaps return TRUE when we don't have a target, just like
11447         setcaps does.
11448
11449 2006-10-27  Wim Taymans  <wim@fluendo.com>
11450
11451         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11452         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
11453
11454 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
11455
11456         * gst/gststructure.c: (gst_structure_id_set_value):
11457           If someone tries to set a non-UTF8 string field on a structure,
11458           don't just print a warning, but also ignore the request and do
11459           not change/add that field to the structure.
11460
11461         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11462           Test for the above.
11463
11464 2006-10-25  David Schleef  <ds@schleef.org>
11465
11466         * gst/gstinfo.c:
11467           g_hash_table_insert() needs a cast to a non-const pointer duh.
11468
11469 2006-10-25  David Schleef  <ds@schleef.org>
11470
11471         * gst/gstinfo.c:
11472         * gst/gstinfo.h:
11473           Change name parameter of _gst_debug_register_funcptr to const
11474           to reflect the constness of its use in the function as well
11475           as to quiet a gcc warning.
11476
11477 2006-10-25  Edward Hervey  <edward@fluendo.com>
11478
11479         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11480         Don't push the buffer if it's empty.
11481         Closes #363095
11482
11483 2006-10-24  Wim Taymans  <wim@fluendo.com>
11484
11485         * gst/gstevent.h:
11486         Add small comment.
11487
11488         * libs/gst/base/gstbasetransform.c:
11489         (gst_base_transform_sink_eventfunc):
11490         Debug segment values *after* updating them as this is more
11491         interesting.
11492
11493 2006-10-23  Wim Taymans  <wim@fluendo.com>
11494
11495         * docs/design/part-events.txt:
11496         Update some docs.
11497
11498         * docs/design/part-block.txt:
11499         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
11500         (gst_pad_push_event):
11501         Revert BLOCKING patch, it tries to be smart without really having a
11502         clear idea what or how. So, now we discard all FLUSHING events again on
11503         a blocking pad. Should fix gnonlin again.
11504
11505 2006-10-23  Wim Taymans  <wim@fluendo.com>
11506
11507         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11508
11509         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
11510         (gst_base_src_start), (gst_base_src_activate_push):
11511         Make sure size is always initialized. Fixes #364388.
11512
11513 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
11514
11515         * docs/random/ensonic/distributed.txt:
11516           add some ideas about doing distributed processing
11517
11518         * docs/random/ensonic/profiling.txt:
11519           get_rusage look promising
11520
11521 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
11522
11523         * docs/manual/basics-helloworld.xml:
11524           Add a cast in example to fix compile warning
11525
11526 2006-10-18  Wim Taymans  <wim@fluendo.com>
11527
11528         * gst/gstsegment.c: (gst_segment_set_last_stop),
11529         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11530         Relax arg checking again, -1 is allowed.
11531
11532 2006-10-18  Wim Taymans  <wim@fluendo.com>
11533
11534         * gst/gstsegment.c: (gst_segment_set_last_stop),
11535         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11536         _set_last_stop() must be with a value != -1
11537         A _TYPE_SET to -1 means seek to 0.
11538         Calc last_stop correctly for negative rates.
11539         Make sure we work with positive durations when updating a segment.
11540
11541 2006-10-18  Wim Taymans  <wim@fluendo.com>
11542
11543         * docs/design/part-live-source.txt:
11544         * gst/gstclock.h:
11545         Small docs fixes.
11546
11547 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
11548
11549         * gst/gstbuffer.h:
11550           Add an explicit cast to GstBuffer** to keep old code that added an
11551           explicit cast to GstMiniObject** for gst_mini_object_replace()
11552           compiling without warning.
11553
11554 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
11555
11556         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
11557           check for validity of dates
11558
11559 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11560
11561         * docs/gst/gstreamer-sections.txt:
11562           Forgot this one, makes gtk-doc shut up.
11563
11564 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11565
11566         Patch by: Peter Kjellerstedt <pkj at axis com>
11567
11568         * gst/gstobject.h:
11569           Don't define xmlNodePtr to gpointer if the core was built with
11570           --disable-loadsave and --disable-registry, this will break
11571           applications that want to use libxml2 but are buildling against a
11572           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
11573           instead so we don't have to mess with the libxml2 namespace
11574           (#361675).
11575
11576 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11577
11578         * gst/gstbuffer.h:
11579           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
11580           type-punned pointer warnings.
11581
11582 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
11583
11584         * gst/gstelement.h:
11585           Add casts to the correct return type to state <=> state transition
11586           macros.
11587
11588 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
11589
11590         * docs/design/part-live-source.txt:
11591           describe howto handle latency
11592         
11593         * docs/random/ensonic/profiling.txt:
11594           more ideas
11595
11596         * tools/gst-plot-timeline.py:
11597           fix log parsing for solaris, remove unused function
11598
11599 2006-10-16  Wim Taymans  <wim@fluendo.com>
11600
11601         * docs/design/part-trickmodes.txt:
11602         * gst/gstevent.c:
11603         Update some docs regarding reverse playback.
11604
11605 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
11606
11607         Patch by: Marcus Granado  <mrc dot gran at gmail com>
11608
11609         * win32/vs8/grammar.vcproj:
11610           Error out with a warning if glib-genmarshal.exe is not in path,
11611           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
11612
11613 2006-10-13  Wim Taymans  <wim@fluendo.com>
11614
11615         * gst/gstsegment.c: (gst_segment_set_seek):
11616         When seeking to stop -1, set last_stop (current position) to the
11617         duration of the segment.
11618
11619 2006-10-13  Wim Taymans  <wim@fluendo.com>
11620
11621         * gst/gstelement.h:
11622         Clarify _NO_PREROLL a bit more.
11623
11624         * gst/gstevent.c:
11625         Fix docs.
11626
11627         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
11628         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
11629         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
11630         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
11631         due to wrong locking order. Fixes #361769.
11632         Remove some redundant/misplaced checks in pad_block.
11633
11634         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
11635         For negative rates, count backwards from the duration.
11636
11637 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
11638
11639         * gst/gsterror.c: (_gst_library_errors_init):
11640           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
11641           up with something better).
11642
11643 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
11644
11645         * win32/vs6/libgstreamer.dsp:
11646         * win32/vs7/libgstreamer.vcproj:
11647         * win32/vs8/libgstreamer.vcproj:
11648           Don't reference glib-compat.c which is currently not used and not
11649           disted; add gstquark.c which was recently added. Fixes #361730.
11650
11651 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
11652
11653         * win32/common/libgstbase.def:
11654         * win32/common/libgstcontroller.def:
11655         * win32/common/libgstreamer.def:
11656           Add gst_caps_merge() and a bunch of other recently-added functions.
11657           Fixes #361732.
11658
11659 2006-10-11  Wim Taymans  <wim@fluendo.com>
11660
11661         * docs/plugins/gstreamer-plugins.args:
11662         * docs/plugins/inspect/plugin-coreelements.xml:
11663         * docs/plugins/inspect/plugin-coreindexers.xml:
11664         Update element args.
11665
11666         * gst/gstsystemclock.c:
11667         Small comment update.
11668
11669         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
11670         (gst_tee_request_new_pad), (gst_tee_release_pad),
11671         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
11672         (gst_tee_sink_activate_pull):
11673         * plugins/elements/gsttee.h:
11674         Some tee loving:
11675         Add default property defines.
11676         Implement release pad function.
11677         Give properties better blubs etc.
11678         Activate pads before adding them to a running tee.
11679         Do simple buffer_alloc on the first requested pad.
11680         Post error when activation fails.
11681
11682 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
11683
11684         * gst/gst.c: (ensure_current_registry_forking):
11685           Check return value of write() to make compiler happy.
11686
11687 2006-10-11  Wim Taymans  <wim@fluendo.com>
11688
11689         Patch by: Sjoerd Simons <sjoerd at luon dot net>
11690
11691         * plugins/elements/gstqueue.c: (gst_queue_chain):
11692         Recheck queue filledness after signalling the overrun when we're about
11693         to leak downstream because we released the lock when emitting the signal
11694         and the queue could be empty again. Fixes #352345.
11695
11696 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
11697
11698         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
11699           Fix refcounting here too, just like we did for _new_valist() a few
11700           days ago (#357180) (thanks to René Stadler). Also remove all those
11701           'Since: 0.9' from the gtk-doc blobs.
11702
11703         * tests/check/libs/controller.c: (controller_refcount_new_list),
11704         (gst_controller_suite):
11705           Unit test for the above.
11706
11707 2006-10-10  Wim Taymans  <wim@fluendo.com>
11708
11709         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
11710
11711         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
11712         (gst_pad_save_thyself):
11713         Update some docs.
11714         Write pad direction in XML output. Fixes #345496.
11715
11716 2006-10-10  Wim Taymans  <wim@fluendo.com>
11717
11718         Patch by: René Stadler <mail at renestadler dot de>
11719
11720         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
11721         (gst_controller_new_list), (_gst_controller_dispose),
11722         (_gst_controller_finalize), (_gst_controller_class_init):
11723         Take ref to controlled object so that it cannot disappear. 
11724         Fixes #357432.
11725
11726 2006-10-10  Wim Taymans  <wim@fluendo.com>
11727
11728         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
11729         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
11730         (gst_check_teardown_sink_pad):
11731         Activate/deactivate pads in setup/teardown respectively.
11732
11733 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11734
11735         Patch by: Josep Torra Valles <josep@fluendo.com>
11736
11737         * gst/Makefile.am:
11738         Cast values when making gstenumtypes.h.  This pacifies Forte
11739         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
11740         in the enumeration.
11741
11742 2006-10-09  Wim Taymans  <wim@fluendo.com>
11743
11744         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
11745         Rename some more @cur to @start to fix docs. 
11746
11747         * gst/gstsegment.c: (gst_segment_set_seek):
11748         Fix typo.
11749         time and start must always stay in sync as defined in design doc.
11750
11751         * gst/gsttaglist.c: (gst_tag_list_is_empty):
11752         Rename param to fix docs.
11753
11754         * tests/check/gst/gstsegment.c: (GST_START_TEST):
11755         Check that start and time are in sync.
11756
11757         * tests/check/pipelines/parse-launch.c:
11758         (gst_parse_test_element_change_state):
11759         Activate pad before adding to the element.
11760
11761 2006-10-09  Wim Taymans  <wim@fluendo.com>
11762
11763         * docs/design/part-qos.txt:
11764         Fix typo.
11765
11766         * gst/gstevent.c:
11767         * gst/gstevent.h:
11768         Update seek event docs regarding negative rates.
11769         Rename @cur to @start. 
11770
11771         * gst/gstsegment.c: (gst_segment_set_seek):
11772         * gst/gstsegment.h:
11773         Update set_seek docs regarding negative rates.
11774         Correctly update last_stop to @stop when dealing with negative
11775         rates.
11776         Rename @cur to @start. 
11777
11778         * tests/check/gst/gstpad.c: (GST_START_TEST):
11779         Activate pads before trying to use them.
11780
11781         * tests/check/gst/gstsegment.c: (GST_START_TEST),
11782         (gst_segment_suite):
11783         Add simple check for segments and negative rates.
11784
11785 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
11786
11787         * gst/gsttaglist.c: (gst_tag_list_is_empty):
11788         * gst/gsttaglist.h:
11789         * docs/gst/gstreamer-sections.txt:
11790           API: add gst_tag_list_is_empty() (#360467).
11791
11792         * tests/check/gst/gsttag.c: (GST_START_TEST):
11793           And a test case.
11794
11795 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11796
11797         * gst/gstmessage.h:
11798         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
11799         a value that doesn't fit on enumeration.
11800
11801 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11802
11803         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11804         Remove local debugging system and use Gstreamer's instead.
11805
11806 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11807
11808         Patch by: Josep Torra Valles <josep@fluendo.com>
11809
11810         * common/m4/gst-error.m4:
11811         Disable warning of statement not reached on Forte.
11812         * gst/gstmessage.h:
11813         Fix warning on Forte (value doesn't fit on enumeration).
11814         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
11815         Fix warning on Forte (value doesn't fit on enumeration).
11816         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11817         DEBUG macro says it takes minimum of 2 args and so Forte
11818         complains about the use with just 1 arg.
11819         * plugins/elements/gstfdsink.c:
11820         * plugins/elements/gstfdsrc.c:
11821         * plugins/elements/gstfilesink.c:
11822         * plugins/elements/gstfilesrc.c:
11823         Use correct return type for the uri handler implementations.
11824
11825         All these fix warnings in Forte.  Fixes bug #360860.
11826
11827 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
11828
11829         * gst/gstelement.h:
11830           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
11831           format string, so don't use G_GNUC_PRINTF for those versions.
11832
11833 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
11834
11835         * gst/gsttaglist.c: (gst_is_tag_list):
11836         * gst/gsttaglist.h:
11837           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
11838
11839         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11840           Small test for the above.
11841
11842 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
11843
11844         * gst/gsttaglist.h:
11845           Less tabs, more spaces.
11846
11847 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
11848
11849         * gst/gstinfo.h:
11850           Those two function declarations do actually belong there, revert
11851           commit from yesterday that turned them intro macros.
11852
11853 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11854
11855         Patch by: Josep Torra Valles <josep@fluendo.com>
11856
11857         * gst/gst.c: (gst_init_get_option_group):
11858         Fix empty declaration and type mismatch.
11859         * gst/gstbin.c: (gst_bin_change_state_func):
11860         Fix type mismatch.
11861         * gst/gstelement.c: (gst_element_continue_state),
11862         (gst_element_set_state_func), (gst_element_change_state),
11863         (gst_element_change_state_func):
11864         Fix type mismatches.
11865         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
11866         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
11867         Cast as appropriate.
11868         * gst/gstobject.c: (gst_class_signal_connect):
11869         Cast as appropriate.  The function pointer parameter really
11870         has the wrong type but would break API if we change it.
11871         * gst/gstquery.c:
11872         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
11873         order of including string.h.
11874         * gst/gstutils.c: (gst_element_state_get_name):
11875         Remove unreachable line.
11876         * gst/gstxml.c: (gst_xml_parse_doc):
11877         Fix type mismatch.
11878         All these caught by Forte.
11879
11880 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11881
11882         Patch by: Josep Torra Valles <josep@fluendo.com>
11883
11884         * common/m4/gst-error.m4:
11885         Fixed bug #360151.
11886         We need to disable warnings on Forte for empty declarations
11887         due to gst-indent adding ;s to lines that just use macros
11888         where the macro actually doesn't need a ; at end to end
11889         statement.
11890
11891 2006-10-06  Wim Taymans  <wim@fluendo.com>
11892
11893         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
11894         (gst_file_sink_close_file), (gst_file_sink_event),
11895         (gst_file_sink_render):
11896         Add some FIXME for the NEWSEGMENT handling.
11897
11898 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11899
11900         * gst/parse/grammar.y:
11901         Remove static function gst_parse_element_lock as all it does
11902         is return.  Looks like cruft from 0.8.
11903
11904 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11905
11906         Patch by: Josep Torra Valles <josep@fluendo.com>
11907
11908         * common/m4/gst-error.m4:
11909         * configure.ac:
11910         * libs/gst/net/Makefile.am:
11911         Fix a compilation issue with Forte on Solaris.  inet_aton is in
11912         libresolv.
11913
11914 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
11915
11916         * gst/gstpad.c: (pre_activate):
11917         * gst/gstregistry.c: (gst_registry_scan_path_level):
11918         * gst/gstregistryxml.c: (load_plugin):
11919         * libs/gst/controller/gstcontroller.c:
11920         (gst_controlled_property_set_interpolation_mode):
11921         * libs/gst/dataprotocol/dataprotocol.c:
11922         (gst_dp_packet_from_event_1_0):
11923         * libs/gst/net/gstnetclientclock.c:
11924         (gst_net_client_clock_observe_times):
11925         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11926           Printf fixes.
11927
11928 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
11929
11930         * configure.ac:
11931         * docs/gst/gstreamer-sections.txt:
11932         * gst/gstconfig.h.in:
11933         * gst/gstelement.h:
11934         * gst/gstinfo.h:
11935           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
11936           whether we can use G_GNUC_PRINTF in other header files and at
11937           least check the printf format/arguments of debug messages and
11938           GST_ELEMENT_ERROR messages when the printf extension is not
11939           being used.
11940           Replace more tabs with spaces in gstinfo.h and remove two spurious
11941           function declarations in GST_DISABLE_DEBUG part with macros.
11942
11943 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
11944
11945         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
11946           More docs for the sync-message signal (mention that it is not
11947           emitted by default); log message structures of messages posted on
11948           the bus as well.
11949
11950 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
11951
11952         * gst/gst.c: (ensure_current_registry_forking):
11953         Use a pipe pair to receive status results from the forked child, and
11954         ignore the result from waitpid. Fixes #355499
11955
11956 2006-10-02  Wim Taymans  <wim@fluendo.com>
11957
11958         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
11959         (gst_ghost_pad_suite):
11960         Fix leak in check.
11961
11962 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
11963
11964         * gst/gstpad.c:
11965           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
11966
11967 2006-10-02  Edward Hervey  <edward@fluendo.com>
11968
11969         * docs/design/part-block.txt:
11970         Further explain the use of flushing on blocked pads.
11971         * docs/gst/gstreamer-sections.txt:
11972         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
11973         (gst_pad_push_event):
11974         * gst/gstpad.h:
11975         Added new GstPadFlag : GST_PAD_BLOCKING.
11976         Adds the notion of pads really blocking, which enables to properly
11977         handle FLUSH_START/FLUSH_STOP events on blocked pads.
11978         Fixes #358999
11979         API: gst_pad_is_blocking()
11980         API: GST_PAD_IS_BLOCKING() macro
11981         API: GST_PAD_BLOCKING GstPadFlag
11982         
11983 2006-10-02  Wim Taymans  <wim@fluendo.com>
11984
11985         Patch by: mrcgran <mrc.gran at gmail dot com>
11986
11987         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
11988         Filter the proxied caps against the padtemplate if we have one.
11989
11990         * gst/gstquery.c: (gst_query_new_segment):
11991         Add include for gstinfo.h so that compilation with
11992         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
11993
11994 2006-10-02  Wim Taymans  <wim@fluendo.com>
11995
11996         Patch by: Alessandro Decina  <alessandro at nnva org>
11997
11998         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
11999         (gst_file_sink_set_location), (gst_file_sink_open_file),
12000         (gst_file_sink_close_file), (gst_file_sink_event),
12001         (gst_file_sink_render):
12002         Set file to NULL when closing filesink so that we can set a new filename
12003         in READY. Fixes #358613.
12004
12005 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
12006
12007         Patch by: Alessandro Decina  <alessandro at nnva org>
12008
12009         * gst/gstevent.c: (_gst_event_copy):
12010           Fix gst_mini_object_make_writable() and gst_event_copy() for events
12011           with event structures by setting the parent refcount address of the
12012           copied structure to the address of the refcount member of the newly
12013           copied event rather than the address of the refcount member of the
12014           original event. Fixes #358737.
12015
12016         * tests/check/gst/gstevent.c: (GST_START_TEST):
12017           Unit test for the above.
12018
12019 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
12020
12021         * docs/design/Makefile.am:
12022           Dist some more files.
12023
12024 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
12025
12026         * tests/check/libs/controller.c: (GST_START_TEST),
12027         (gst_controller_suite):
12028           Add test for the previous fix; add some more tests
12029           for correct refcounting behaviour; fix a few leaks
12030           in test cases; call gst_controller_init() at start
12031           of all tests.
12032
12033 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
12034
12035         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12036         (gst_controller_set_from_list):
12037           Don't g_return_val_if_fail() on timed values with invalid timestamps
12038           inside a critical section without unlocking the mutex. Spotted by
12039           René Stadler. (#357617)
12040           Also, fix up refcounting properly: when returning an existing
12041           controller, we should increase the reference only once and not
12042           once per property and when trying to control a property again
12043           we should also increase the refcount.
12044
12045 2006-09-29  Wim Taymans  <wim@fluendo.com>
12046
12047         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
12048         * libs/gst/net/gstnettimeprovider.c:
12049         (gst_net_time_provider_thread):
12050         Stop reading commands when EOF as well.
12051
12052         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
12053         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
12054         * plugins/elements/gstidentity.c: (gst_identity_class_init):
12055         Unify description of the dump property.
12056
12057 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12058
12059         * tests/examples/manual/.cvsignore:
12060         OK, so it's actually cvsignore that needs changing. Stop laughing.
12061
12062 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12063
12064         * tests/examples/manual/Makefile.am:
12065         Gah, declare vars *before* using them
12066
12067 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12068
12069         * gst/gst.c: (init_pre), (scan_and_update_registry),
12070         (ensure_current_registry_nonforking),
12071         (ensure_current_registry_forking), (ensure_current_registry),
12072         (init_post), (gst_debug_help), (gst_deinit):
12073         * gst/gst_private.h:
12074         * gst/gstregistry.c: (gst_registry_finalize),
12075         (gst_registry_remove_features_for_plugin_unlocked),
12076         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12077         (gst_registry_scan_path),
12078         (_priv_gst_registry_remove_cache_plugins),
12079         (_priv_gst_registry_cleanup):
12080         * gst/gstregistry.h:
12081         Re-commit the registry changes, along with an extra fix:
12082           When a cached plugin is encountered at a different file path,
12083           update the stored path in the registry cache so that the parent
12084           process knows where it actually is now when it re-reads the registry
12085           cache. Fixes the thing that broke distcheck with the previous commit.
12086
12087         * tests/check/Makefile.am:
12088         Clean up files named 'core' too when running make clean.
12089
12090         * tests/examples/manual/Makefile.am:
12091         Set up a registry path for running these tests, and clean it properly
12092         for distcheck.
12093
12094 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12095
12096         * configure.ac:
12097         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
12098         want gmodule-no-export-2.0.pc instead so that we don't drag in
12099         --export-dynamic on every project that links to GStreamer.
12100
12101         Also, make our export regex only match the start of symbols, rather 
12102         than any symbol that contains '_gst' somewhere.
12103
12104         * libs/gst/check/Makefile.am:
12105         The libgstcheck we build does however need export-dynamic, as it
12106         produces some symbols that don't match our _gst... style regex.
12107         Fixes: #318031
12108
12109 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
12110
12111         * gst/gst.c: (init_pre), (scan_and_update_registry),
12112         (ensure_current_registry_nonforking),
12113         (ensure_current_registry_forking), (ensure_current_registry),
12114         (init_post), (gst_debug_help), (gst_deinit):
12115         * gst/gst_private.h:
12116         * gst/gstregistry.c: (gst_registry_finalize),
12117         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12118         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
12119         (_gst_registry_cleanup):
12120         * gst/gstregistry.h:
12121           Revert previous change until I figure out why it breaks distcheck.
12122
12123 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
12124
12125         * gst/gst.c: (init_pre), (scan_and_update_registry),
12126         (ensure_current_registry_nonforking),
12127         (ensure_current_registry_forking), (ensure_current_registry),
12128         (init_post), (gst_debug_help), (gst_deinit):
12129
12130           Make init_pre and init_post take the full complement of GOptionFunc
12131           args so they can return useful GErrors. Make the registry updating
12132           functions do so.
12133
12134           Call _priv_gst_registry_remove_cache_plugins after scanning files to
12135           ensure that the registry we're about to write out doesn't contain
12136           stale information about old-deleted plugin files.
12137
12138           Make _priv_gst_registry_remove_cache_plugins return a boolean so
12139           that deletion of plugin files is considered a registry change.
12140
12141         * gst/gst_private.h:
12142         * gst/gstregistry.c: (gst_registry_finalize),
12143         (gst_registry_remove_features_for_plugin_unlocked),
12144         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12145         (gst_registry_scan_path),
12146         (_priv_gst_registry_remove_cache_plugins),
12147         (_priv_gst_registry_cleanup):
12148         * gst/gstregistry.h:
12149         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
12150         by adding _priv prefix, so that they won't appear in the global
12151         symbol table. They still do atm though because of #318031. Move the
12152         prototypes to gst_private.h
12153
12154         When removing a plugin, remove all features for that plugin too. 
12155         Fixes #340878.
12156
12157 2006-09-27  Wim Taymans  <wim@fluendo.com>
12158
12159         * docs/random/moving-plugins:
12160         Make it clear that the "compiled-in descriptions" really mean
12161         the element details.
12162
12163         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12164         (gst_base_sink_wait_preroll):
12165         Update docs.
12166
12167         * docs/libs/gstreamer-libs-sections.txt:
12168         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
12169         (gst_base_src_get_range), (gst_base_src_activate_push):
12170         * libs/gst/base/gstbasesrc.h:
12171         Added function to block while waiting for PLAYING, this function
12172         is used by live sources that block on the clock.
12173         API: gst_base_src_wait_playing()
12174
12175 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12176
12177         Patch by: Peter Kjellerstedt <pkj at axis com>
12178
12179         * Makefile.am:
12180           gst-element-check.m4 is generated and should therefore be
12181           copied from the build dir rather than the source dir (#357593).
12182           'make distcheck' hasn't noticed this because we were disting
12183           the file as well, so stop doing that.
12184
12185 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12186
12187         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12188           Add some tests for gst_caps_intersect().
12189
12190         * tools/gst-launch.c: (event_loop):
12191           Print all buffering percentages we get, even the 100% one.
12192
12193 2006-09-26  Wim Taymans  <wim@fluendo.com>
12194
12195         * tools/gst-inspect.c: (print_element_properties_info),
12196         (print_signal_info):
12197         Fix printing of flags to match the look of enums.
12198
12199 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12200
12201         * gst/gstelementfactory.c:
12202           Fix typo in docs blurb.
12203
12204 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12205
12206         * gst/gsturi.c: (search_by_entry):
12207           Don't assert/crash here if a uri handler doesn't return any
12208           supported protocols. The list of protocols could be generated
12209           dynamically at runtime or at plugin registration, and an error
12210           in the underlying library shouldn't be fatal (#353301).
12211
12212 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12213
12214         * gst/gstinfo.c:
12215           Fix warning if HAVE_PRINTF_EXTENSION is undefined
12216           (spotted by Peter Kjellerstedt).
12217
12218 2006-09-23  Wim Taymans  <wim@fluendo.com>
12219
12220         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
12221
12222         * libs/gst/base/gstbasesrc.c:
12223         (gst_base_src_default_check_get_range), (gst_base_src_start),
12224         (gst_base_src_activate_push), (gst_base_src_activate_pull),
12225         (gst_base_src_change_state):
12226         Match _start/_stop calls in the activate functions. Remove redundant
12227         _stop call from the state change function. Fixes #356910.
12228         Turn failure DEBUG into ERROR. 
12229
12230 2006-09-22  Wim Taymans  <wim@fluendo.com>
12231
12232         * docs/design/part-buffering.txt:
12233         * gst/gstmessage.c: (gst_message_new_buffering),
12234         (gst_message_parse_buffering):
12235         Update docs about buffering.
12236
12237         * docs/design/part-trickmodes.txt:
12238         Fix typo.
12239
12240 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
12241
12242         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12243         (gst_controller_new_list):
12244           Ref instances when returning them again (fixes #357180)
12245
12246 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
12247
12248         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
12249           Don't forget to release proxy lock when there's an error.
12250
12251 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
12252
12253         * gst/gstcaps.h:
12254           Add extra initialisers for Caps things, to fix some plugin warnings
12255           when using -Wextra
12256
12257 2006-09-18  Wim Taymans  <wim@fluendo.com>
12258
12259         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
12260           Also set template on the internal pad so that a getcaps from the 
12261           target pad returns the template caps.
12262
12263 2006-09-18  Wim Taymans  <wim@fluendo.com>
12264
12265         * gst/gstelement.c: (gst_element_post_message),
12266         (gst_element_dispose):
12267         Use _DEBUG_OBJECT some more.
12268
12269         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
12270         Avoid typechecks.
12271
12272         * tools/gst-launch.c: (main):
12273         If the toplevel element is not a GstPipeline, it must be put in a
12274         pipeline so that a bus and clock is selected.
12275
12276 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
12277
12278         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
12279           JITTER, RATE, and LATENCY query should be handled by the
12280           default case and not by the CONVERT query code.
12281
12282 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
12283
12284         * gst/gstformat.c: (gst_format_register):
12285           Fix locking order (must take lock before using n_values).
12286
12287         * gst/gstvalue.c: (gst_value_serialize_enum),
12288         (gst_value_deserialize_enum_iter_cmp),
12289         (gst_value_deserialize_enum):
12290           Fix serialisation/deserialisation of custom registered GstFormats.
12291
12292         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12293           Unit test for custom format serialisation/deserialisation.
12294
12295 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
12296
12297         * docs/pwg/building-boiler.xml:
12298         * plugins/elements/gstcapsfilter.c:
12299         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
12300         section.
12301
12302 2006-09-16  Edward Hervey  <edward@fluendo.com>
12303
12304         * libs/gst/base/gstbasetransform.c:
12305         (gst_base_transform_buffer_alloc):
12306         Check if requested caps are the same as the sinks caps IF
12307         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
12308         is FALSE.
12309         This fixes the renegotiation issues stated in #352827.
12310
12311 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12312
12313         * configure.ac:
12314         * docs/manual/advanced-autoplugging.xml:
12315         * tests/examples/Makefile.am:
12316         * tests/examples/manual/.cvsignore:
12317         * tests/examples/manual/Makefile.am:
12318         * tests/examples/manual/extract.pl:
12319           Extract the manual examples again like we used to do.
12320           Fix one of them.
12321
12322 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12323
12324         * win32/common/config.h:
12325           update for version
12326
12327 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
12328
12329         * gst/gsterror.c:
12330           Documents how to receive errors.
12331
12332 2006-09-15  Wim Taymans  <wim@fluendo.com>
12333
12334         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
12335         (event_loop), (main):
12336         Added some comments here and there.
12337         Post an application message when an interrupt is caught instead of doing
12338         an uncontrolled state change.
12339         Clean up the event loop.
12340         Handle buffering messages, pause/resume the pipeline.
12341         Make shutdown because of an interrupt more reliable.
12342
12343 2006-09-15  Wim Taymans  <wim@fluendo.com>
12344
12345         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12346         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
12347         (gst_base_sink_preroll_object):
12348         Make sure that our internal state is correct when we commit our state
12349         asynchronously. This solves a race where a state change to PLAYING
12350         could cause the sink to remain blocked in preroll in some situations.
12351
12352 2006-09-15  Wim Taymans  <wim@fluendo.com>
12353
12354         * tools/gst-inspect.c: (print_element_properties_info),
12355         (print_signal_info):
12356         List flags as hex so it's easier to deal with.
12357
12358 2006-09-15  Wim Taymans  <wim@fluendo.com>
12359
12360         * docs/libs/gstreamer-libs-sections.txt:
12361         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
12362         (gst_base_sink_do_sync):
12363         * libs/gst/base/gstbasesink.h:
12364         Expose logic to wait for preroll so that subclasses such as audiosink
12365         can also use this method.
12366         API: gst_base_sink_wait_preroll()
12367
12368 2006-09-15  Wim Taymans  <wim@fluendo.com>
12369
12370         * gst/gstobject.c: (gst_object_set_parent):
12371         * gst/gstpipeline.c: (do_pipeline_seek):
12372         Small cleanups in docs and code.
12373
12374         * gst/gstsegment.c: (gst_segment_clip):
12375         * tests/check/gst/gstsegment.c: (GST_START_TEST):
12376         if stop == start and start is in the segment, no clipping should be
12377         done. Also add a test for this.
12378
12379 2006-09-15  Wim Taymans  <wim@fluendo.com>
12380
12381         * docs/design/part-buffering.txt:
12382         * docs/gst/gstreamer-sections.txt:
12383         * gst/gstmessage.c: (gst_message_new_buffering),
12384         (gst_message_parse_buffering):
12385         * gst/gstmessage.h:
12386         Added methods to create and parse BUFFERING messages.
12387         Added preliminary docs about buffering.
12388         API: gst_message_new_buffering
12389         API: gst_message_parse_buffering
12390
12391 2006-09-06  Wim Taymans  <wim@fluendo.com>
12392
12393         * gst/gstbin.c:
12394         Update documentation.
12395
12396         * gst/gstelement.c: (gst_element_class_init),
12397         (gst_element_release_request_pad), (gst_element_set_clock),
12398         (gst_element_get_index), (gst_element_add_pad),
12399         (gst_element_remove_pad), (gst_element_get_random_pad),
12400         (gst_element_send_event), (gst_element_get_query_types),
12401         (gst_element_query), (gst_element_post_message),
12402         (gst_element_message_full), (gst_element_continue_state),
12403         (gst_element_lost_state), (gst_element_save_thyself),
12404         (gst_element_restore_thyself):
12405         Documentation updates.
12406         Rename last bit of the new-pad -> pad-added signal rename.
12407         Fix the case where an element query would only work if the source
12408         pad was linked.
12409         Avoid some useless type checking in message handling.
12410
12411         * gst/gstevent.c:
12412         * gst/gstevent.h:
12413         * gst/gstutils.c:
12414         Documentation updates.
12415
12416 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12417
12418         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
12419           add an INFO line for when we actually update the fd
12420
12421 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12422
12423         * configure.ac:
12424           back to TRUNK
12425
12426 === release 0.10.10 ===
12427
12428 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
12429
12430         * configure.ac:
12431           releasing 0.10.10, "Pais"
12432
12433 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
12434
12435         * docs/manual/advanced-position.xml:
12436           Fix typo in sample code.
12437
12438 2006-09-05  Wim Taymans  <wim@fluendo.com>
12439
12440         * libs/gst/net/gstnetclientclock.c: (inet_aton),
12441         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
12442         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
12443         * libs/gst/net/gstnetclientclock.h:
12444         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
12445         * libs/gst/net/gstnettimepacket.h:
12446         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
12447         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
12448         (gst_net_time_provider_thread), (gst_net_time_provider_new):
12449         * libs/gst/net/gstnettimeprovider.h:
12450         Make stuff compile on windows. Fixes #345295.
12451
12452 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
12453
12454         * gst/gst.c: (ensure_current_registry_forking):
12455           Print better details when child was terminated by signal.
12456
12457 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
12458
12459         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
12460           Print a warning rather than g_assert() if a plugin feature
12461           is a URI handler but returns no protocols (#353976).
12462
12463 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
12464
12465         * docs/random/moving-plugins:
12466         Fix two typos.         
12467
12468 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
12469
12470         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
12471           Fix locking order, handle NULL function values properly.
12472
12473         * gst/gstinfo.h:
12474           Fix docs.
12475
12476         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
12477           Initialise variable before using it and fix debug statement to
12478           print the address of the function rather than the address of the
12479           variable on the stack holding the address of the function.
12480
12481 2006-09-01  Wim Taymans  <wim@fluendo.com>
12482
12483         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
12484         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
12485         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
12486         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
12487         (gst_ghost_pad_parent_unset),
12488         (gst_ghost_pad_internal_do_activate_push),
12489         (gst_ghost_pad_internal_do_activate_pull),
12490         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12491         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12492         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
12493         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
12494         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
12495         (gst_ghost_pad_new_no_target_from_template),
12496         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
12497         More cleanups.
12498         Avoid needless typechecking in macros.
12499         Since the internal pad is always present and never changes, there is
12500         no need to locking or ref when retrieving it.
12501         Improve debugging a bit.
12502         Handle link errors when setting the target. Fixes #341029.
12503
12504 2006-09-01  Wim Taymans  <wim@fluendo.com>
12505
12506         * docs/libs/gstreamer-libs-sections.txt:
12507         * docs/plugins/gstreamer-plugins-sections.txt:
12508         Fix docs some more.
12509
12510         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
12511         (gst_collect_pads_event):
12512         * libs/gst/base/gstcollectpads.h:
12513         Documentation updates.
12514         Free queued buffer when removing a pad.
12515
12516 2006-08-31  Michael Smith  <msmith@fluendo.com>
12517
12518         * gst/gstutils.c: (gst_element_link_pads),
12519         (gst_element_link_pads_filtered):
12520           Ensure that we set a capsfilter to NULL if we failed to link it
12521           when doing filtered linking, to avoid criticals.
12522
12523           No need to check for unreffing srcpad, which is explicly NULLed
12524           above (a trivial code cleanup).
12525
12526 2006-08-31  Wim Taymans  <wim@fluendo.com>
12527
12528         * docs/design/part-gstghostpad.txt:
12529         Update ascii art in documentation.
12530
12531         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
12532         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
12533         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
12534         (gst_ghost_pad_internal_do_activate_push),
12535         (gst_ghost_pad_internal_do_activate_pull),
12536         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12537         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12538         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
12539         (gst_ghost_pad_set_target):
12540         Small cleanups and leak fixes.
12541         Remove some checks now that the internal pad is never NULL.
12542         Fix the case where linking pads without a target would create nasty
12543         criticals. Fixes #341029.
12544         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
12545         value of _set_target().
12546
12547         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12548         (gst_ghost_pad_suite):
12549         Some more tests for creating and linking untargeted ghostpads.
12550
12551 2006-08-31  Edward Hervey  <edward@fluendo.com>
12552
12553         * docs/gst/gstreamer-sections.txt:
12554         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
12555         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
12556         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
12557         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
12558         (gst_ghost_pad_new_from_template),
12559         (gst_ghost_pad_new_no_target_from_template):
12560         * gst/gstghostpad.h:
12561         Refactored *_new() functions.
12562         Templates are now used as a g_object_new() parameter.
12563         Use template in _do_getcaps() if we don't have a target.
12564         Small documentation cleanups.
12565         Added two new constructors:
12566         gst_ghost_pad_new_from_template()
12567         gst_ghost_pad_new_no_target_from_template()
12568         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12569         (gst_ghost_pad_suite):
12570         Added tests for new ghostpad instanciation functions.
12571
12572         API additions: gst_ghost_pad_new_from_template,
12573         gst_ghost_pad_new_no_target_from_template
12574
12575 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
12576
12577         * docs/random/ensonic/profiling.txt:
12578           Ideas about qos profiling.
12579
12580 2006-08-29  Wim Taymans  <wim@fluendo.com>
12581
12582         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
12583         Code cleanups.
12584         Fix memleak.
12585
12586 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
12587
12588         * gst/gstxml.c:
12589           Improve and detypofy docs.
12590
12591         * tests/check/Makefile.am:
12592         * tests/check/gst/.cvsignore:
12593         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
12594           Add a basic test suite for GstXML.
12595
12596 2006-08-29  Wim Taymans  <wim@fluendo.com>
12597
12598         * gst/gstelement.c: (activate_pads), (clear_caps),
12599         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
12600         Clear the pad caps when the element shut down all of the pads and
12601         is not streaming data that could modify the caps. 
12602         Fixes #352958.
12603
12604 2006-08-28  Michael Smith  <msmith@fluendo.com>
12605
12606         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12607           Revert previous change; I misunderstood single-segment mode.
12608
12609 2006-08-28  Michael Smith  <msmith@fluendo.com>
12610
12611         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12612           Unset DISCONT on buffers when using single-segment mode.
12613
12614 2006-08-28  Wim Taymans  <wim@fluendo.com>
12615
12616         * gst/gstcaps.c: (gst_caps_merge_structure):
12617         * gst/gstcaps.h:
12618         Fix docs and indentation again.
12619
12620         * tests/check/gst/gstquery.c: (GST_START_TEST):
12621         Fix leak in tests and add some more tests.
12622
12623 2006-08-28  Edward Hervey  <edward@fluendo.com>
12624
12625         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
12626         Inform GstSegment of the last stop position in order for the current
12627         segment to have a proper duration if it doesn't have a specific stop
12628         position from which a duration could be calculated.
12629         This bug was noticeable when a non-flushing, non-update new segment was
12630         followed by another segment (all buffers from the new segment were being
12631         dropped).
12632
12633 2006-08-28  Wim Taymans  <wim@fluendo.com>
12634
12635         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
12636         Small comment update.
12637
12638         * plugins/elements/gstidentity.c: (gst_identity_class_init),
12639         (gst_identity_transform_ip):
12640         Drop-probability is broken, mention this in the code with a 
12641         FIXME and also in the property description.
12642         Make silent also be silent about the drop messages.
12643
12644 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
12645
12646         * docs/manual/appendix-win32.xml:
12647           Remove mention of popt, we don't depend on that any
12648           longer (#353136). Add some comments pointing out that
12649           this section is slightly outdated.
12650
12651 2006-08-28  Wim Taymans  <wim@fluendo.com>
12652
12653         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12654
12655         * gst/gstquery.c: (gst_query_new_segment):
12656         * tests/check/gst/gstquery.c: (GST_START_TEST):
12657         Initialize variables when creating a new segment query.
12658         Fixes #353121.
12659
12660 2006-08-28  Wim Taymans  <wim@fluendo.com>
12661
12662         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12663
12664         * gst/gstelement.c: (gst_element_get_bus):
12665         * tests/check/gst/gstelement.c: (GST_START_TEST):
12666         Check for NULL before _reffing the bus. Fixes #353122.
12667
12668 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
12669
12670         * docs/manual/basics-bus.xml:
12671           Docs update: fix wrong callback return value explanation; add
12672           some lines about the implicit relationship between main loop
12673           and main context; remove duplicate main loop variable declaration.
12674
12675 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
12676
12677         * tests/check/gst/gstcaps.c: (GST_START_TEST):
12678           Don't leak caps in unit test; add a few more simple
12679           checks. 
12680
12681 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
12682
12683         * docs/gst/gstreamer-sections.txt:
12684         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
12685         (gst_caps_structure_is_subset), (gst_caps_merge),
12686         (gst_caps_merge_structure):
12687         * gst/gstcaps.h:
12688         * libs/gst/base/gstbasetransform.c:
12689         (gst_base_transform_transform_caps):
12690         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12691           implement caps merging (fixes #352580)
12692
12693 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
12694
12695         * tools/Makefile.am:
12696         * tools/gst-plot-timeline.py:
12697           add debug-log plotting developer tool (#340674)
12698
12699 2006-08-23  Wim Taymans  <wim@fluendo.com>
12700
12701         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
12702         (gst_pad_stop_task):
12703         Improve debugging for task functions.
12704
12705         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
12706         (gst_task_start), (gst_task_pause), (gst_task_join):
12707         Make sure that the task function started and finished after a 
12708         join(). 
12709         Don't try to push the task function on the threadpool multiple
12710         times.
12711         Improve the g_warning message with some useful suggestions
12712         about how to fix the problem. 
12713
12714 2006-08-23  Wim Taymans  <wim@fluendo.com>
12715
12716         * gst/gstutils.c: (gst_pad_proxy_getcaps):
12717         Handle RESYNC correctly in _proxy_getcaps.
12718
12719 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
12720
12721         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
12722         (gst_xml_parse_memory), (gst_xml_get_element):
12723           Chain up to parent class in dispose function and also
12724           unref the elements in the toplevel_elements GList.
12725           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
12726           Always return a reference in gst_xml_get_element() rather
12727           than only sometimes.
12728
12729         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12730           Don't leak GstXml object.
12731
12732 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
12733
12734         * docs/gst/gstreamer-sections.txt:
12735         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
12736         (gst_caps_merge):
12737         * gst/gstcaps.h:
12738         * libs/gst/base/gstbasetransform.c:
12739         (gst_base_transform_transform_caps):
12740           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
12741           in a better way
12742
12743 2006-08-21  Edward Hervey  <edward@fluendo.com>
12744
12745         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
12746         Implement GObject::dispose virtual method in GstXML so we can free the
12747         top_elements GList.
12748
12749 2006-08-21  Wim Taymans  <wim@fluendo.com>
12750
12751         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
12752         (gst_buffer_create_sub):
12753         Copy duration/offset_end/caps when creating a subbuffer of the
12754         complete parent.
12755         Make the subbuffer read-only when we make the metadata writable for
12756         now. Fixes #351768.
12757
12758         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
12759         Added check for metadata copy when creating subbuffers.
12760
12761 2006-08-21  Edward Hervey  <edward@fluendo.com>
12762
12763         * libs/gst/base/gstbasetransform.c:
12764         (gst_base_transform_buffer_alloc):
12765         Only call downstream buffer_alloc if transform element is passthrough
12766         or always_in_place. Closes #350449.
12767
12768 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12769
12770         * ChangeLog:
12771           ChangeLog surgery to add comments to previous changes
12772
12773 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12774
12775         * gst/gst.c:
12776           Add comments
12777
12778         * gst/gstpad.c: (gst_pad_set_active):
12779           Be more verbose in the log
12780
12781         * libs/gst/base/gstbasetransform.c:
12782         (gst_base_transform_transform_caps):
12783           Simplify caps to get rid of duplicates, fixes #345444
12784
12785 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12786
12787         * gst/gstvalue.c:
12788         * gst/gstvalue.h:
12789           Use these optimizations only internally.
12790
12791 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12792
12793         * gst/gstvalue.c: (gst_value_compare_list),
12794         (gst_value_compare_fraction_range),
12795         (gst_value_intersect_fraction_fraction_range),
12796         (gst_value_intersect_fraction_range_fraction_range),
12797         (gst_value_subtract_fraction_fraction_range),
12798         (gst_value_subtract_fraction_range_fraction_range),
12799         (gst_value_get_compare_func), (gst_value_compare),
12800         (gst_value_compare_with_func):
12801         * gst/gstvalue.h:
12802           Saves the expensive lookup of the compare function in many cases
12803          (#345444)
12804
12805 2006-08-18  Edward Hervey  <edward@fluendo.com>
12806
12807         * tests/check/gst/gstinfo.c: (gst_info_suite):
12808         Disable test that require gstdebug if it wasn't built in core.
12809
12810 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
12811
12812         * docs/random/ensonic/logging.txt:
12813           update ideas
12814           
12815         * gst/gstinfo.c: (gst_debug_log_default):
12816           reorder fields, save some columns, add optional color codes for log
12817           levels
12818
12819 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
12820
12821         * docs/random/ensonic/logging.txt:
12822           add ideas about making the logs a bit more useful
12823
12824 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
12825
12826         * docs/pwg/advanced-events.xml:
12827         * docs/pwg/titlepage.xml:
12828           Update for 0.10 API (#340627). Add myself
12829           to authors list.
12830
12831 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
12832
12833         * docs/libs/gstreamer-libs-docs.sgml:
12834         * docs/libs/gstreamer-libs-sections.txt:
12835         * libs/gst/check/gstbufferstraw.c:
12836           Make gstcheck stuff show up in docs (still needs to
12837           be documented properly though).
12838
12839 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
12840
12841         * docs/gst/gstreamer-sections.txt:
12842         * gst/Makefile.am:
12843         * gst/gst.c: (init_post):
12844         * gst/gst_private.h:
12845         * gst/gstquark.c: (_priv_gst_quarks_initialize):
12846         * gst/gstquark.h:
12847         * gst/gstquery.c: (gst_query_new_position),
12848         (gst_query_set_position), (gst_query_parse_position),
12849         (gst_query_new_duration), (gst_query_set_duration),
12850         (gst_query_parse_duration), (gst_query_new_convert),
12851         (gst_query_set_convert), (gst_query_parse_convert),
12852         (gst_query_new_segment), (gst_query_set_segment),
12853         (gst_query_parse_segment), (gst_query_new_seeking),
12854         (gst_query_set_seeking), (gst_query_parse_seeking):
12855         Add internal helpers for pre-registering quarks from static strings
12856         and using the quark values directly instead of looking them up when
12857         creating and parsing queries. Can be used for event construction too.
12858         Closes #350432.
12859
12860 2006-08-16  Wim Taymans  <wim@fluendo.com>
12861
12862         * gst/gstbin.c:
12863         Fix bogus docs.
12864
12865 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
12866
12867         * gst/gstutils.c: (gst_util_set_value_from_string):
12868           Fix memleak (#351502).
12869
12870         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
12871           Add unit test for most of gst_util_set_value_from_string()
12872           (not that one would want to encourage use of this function).
12873
12874 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
12875
12876         * libs/gst/check/gstcheck.h:
12877           Use const gchar * variables in fail_unless_equals_string
12878           macro to avoid compiler warnings (and don't use tabs for
12879           indenting).
12880
12881 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
12882
12883         * tools/gst-launch.c: (print_tag):
12884           More space on the left for the tag names, to cater
12885           for the 'extended comment' tag (not touching the
12886           string for the first line since it's translated).
12887
12888 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
12889
12890         * libs/gst/check/gstcheck.h:
12891           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
12892           print something when they fail.
12893
12894 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
12895
12896         * docs/gst/gstreamer-sections.txt:
12897         * gst/gsttaglist.c: (_gst_tag_initialize):
12898         * gst/gsttaglist.h:
12899           API: add GST_TAG_EXTENDED_COMMENT (#350935).
12900           Also change merge function for GST_TAG_COMMENT to
12901           use_first.
12902
12903 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
12904
12905         * gst/gstinfo.c: (gst_debug_print_object):
12906           Make GST_PTR_FORMAT print messages as well.
12907
12908         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
12909         (GST_START_TEST), (gst_info_suite):
12910           More tests.
12911
12912 2006-08-14  Edward Hervey  <edward@fluendo.com>
12913
12914         * gst/gstelementfactory.c: (gst_element_register):
12915         If the GstElementClass doesn't have a GstElementDetails with all fields
12916         filled up correctly (longname, description AND author), then error out
12917         nicely instead of crashing.
12918
12919 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
12920
12921         * gst/gststructure.c:
12922           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
12923
12924         * gst/gstvalue.h:
12925           Expand on the difference between arrays and lists as we use them.
12926           
12927 2006-08-14  Wim Taymans  <wim@fluendo.com>
12928
12929         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
12930         If the parent state change function failed, don't assume we can safely
12931         stop the source, this will be done when the pads are deactivated.
12932
12933 2006-08-14  Wim Taymans  <wim@fluendo.com>
12934
12935         * gst/gstbuffer.c:
12936         * gst/gsttask.c: (gst_task_join):
12937         Small doc updates.
12938
12939         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
12940         (gst_pad_stop_task):
12941         When pad (de)activation failed for some reason, restore the old
12942         activation mode and set the pad to flushing instead of assuming the
12943         pad is deactivated.
12944         If the _task_join() failed, reinstall the task on the pad so that it can
12945         be stopped later and return an error.
12946
12947 2006-08-11  Andy Wingo  <wingo@pobox.com>
12948
12949         * configure.ac:
12950         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
12951         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
12952         is only for users of API that don't want to see deprecated
12953         functions in the headers; people that want to compile out
12954         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
12955         CFLAGS. Fixes the build of multifdsink, or will soon..
12956
12957 2006-08-11  Wim Taymans  <wim@fluendo.com>
12958
12959         * docs/gst/gstreamer-sections.txt:
12960         Add GstClockClass vmethod docs.
12961
12962         * gst/gstcaps.h:
12963         Mark #endif with comment for associated #if
12964
12965         * gst/gstclock.c: (gst_clock_id_wait):
12966         * gst/gstclock.h:
12967         Add vmethod wait_jitter to avoid an unneeded _get_time() for
12968         most clock implementations.
12969         Document vmethods.
12970         Flesh out docs about resolution methods.
12971         API: GstClockClass::wait_jitter
12972
12973         * gst/gstsystemclock.c: (gst_system_clock_class_init),
12974         (gst_system_clock_async_thread),
12975         (gst_system_clock_id_wait_jitter_unlocked),
12976         (gst_system_clock_id_wait_jitter):
12977         Use base class wait_jitter variant for improved performance
12978         due to less clock polling.
12979
12980 2006-08-11  Edward Hervey  <edward@fluendo.com>
12981
12982         * gst/gst.c: (gst_init_check), (init_post):
12983         Set gst as being initialized before scanning/updating the registry,
12984         since there might be my python plugin loader that calls gst_init() and
12985         we don't want to loop back in.
12986         Closes #350879
12987
12988 2006-08-11  Wim Taymans  <wim@fluendo.com>
12989
12990         * docs/design/part-qos.txt:
12991         Bring docs in line with the code. Mostly the sign of the jitter was
12992         wrong in the docs. Fixes #349943.
12993
12994         * gst/gstclock.c:
12995         Fix the docs for the jitter.
12996
12997         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
12998         (gst_event_parse_tag), (gst_event_new_buffer_size),
12999         (gst_event_parse_buffer_size), (gst_event_parse_qos),
13000         (gst_event_new_seek), (gst_event_parse_seek),
13001         (gst_event_new_navigation):
13002         Make sure the GstStructure has no parent when creating custom
13003         events.
13004         Add some more argument checking so that we avoid 0.0 rates.
13005         Flesh out the docs for the QoS event some more.
13006
13007 2006-08-11  Wim Taymans  <wim@fluendo.com>
13008
13009         * docs/gst/gstreamer-sections.txt:
13010         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
13011         (ensure_current_registry_forking), (ensure_current_registry),
13012         (parse_one_option), (parse_goption_arg), (gst_deinit),
13013         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
13014         * gst/gst.h:
13015         Doc updates.
13016         Added API and command line option to disable registry forking in
13017         addition to the environment variable.
13018         Constify some static arrays.
13019         Added some more debug.
13020         Don't deinit twice.
13021         API: gst_registry_fork_is_enabled()
13022         API: gst_registry_fork_set_enabled()
13023         API: --gst-disable-registry-fork command line option
13024         Fixes #348918.
13025
13026 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
13027
13028         * gst/gst.c: (gst_init):
13029           Fix typo in error message.
13030
13031 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
13032
13033         * libs/gst/controller/gstcontroller.h:
13034           fix ABI size-correction
13035
13036         * tests/check/libs/gdp.c: (gst_dp_suite):
13037           make tests that use deprecated API conditional
13038
13039 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
13040
13041         * docs/libs/gstreamer-libs-sections.txt:
13042         * libs/gst/controller/gstcontroller.c:
13043         (_gst_controller_get_property), (_gst_controller_set_property),
13044         (_gst_controller_init), (_gst_controller_class_init):
13045         * libs/gst/controller/gstcontroller.h:
13046         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
13047         (gst_object_set_control_rate):
13048           API: add gst_object_{s,g}et_control_rate(), add private data section,
13049           fix docs
13050
13051         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
13052         * libs/gst/dataprotocol/dataprotocol.h:
13053           add deprecation guards to make gtk-doc happy and allow disabling cruft
13054
13055 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
13056
13057         * tests/check/Makefile.am:
13058         * tests/check/gst/.cvsignore:
13059           Let's enable the new unit test as well.
13060
13061 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
13062
13063         * configure.ac:
13064         * docs/gst/gstreamer-sections.txt:
13065         * gst/gstconfig.h.in:
13066         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
13067         (_gst_info_printf_extension_ptr),
13068         (_gst_info_printf_extension_segment):
13069           API: add GST_SEGMENT_FORMAT, which is a printf extension we
13070           register that lets us easily dump GstSegments into debug
13071           logs (#350419).
13072
13073         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
13074         (info_segment_format_printf_extension), (gst_info_suite):
13075           Add simple unit test that logs a bunch of different segments (not
13076           valgrinded at the moment because of leaks in
13077           gst_debug_add_log_function).
13078
13079 2006-08-09  Edward Hervey  <edward@fluendo.com>
13080
13081         * libs/gst/base/gstbasetransform.c:
13082         (gst_base_transform_buffer_alloc):
13083         Even if we can't figure out the proper format to request downstream,
13084         call buffer_alloc() downstream with the input parameters without setting
13085         the caps on the srcpad. This will force negotiation in the chain
13086         function.
13087         Closes #350449
13088
13089 2006-08-08  Edward Hervey  <edward@fluendo.com>
13090
13091         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
13092         Unlinking from a pad without a target is now a perfectly valid case
13093         which should NOT raise an assertion.
13094         This case would happen if a linked ghostpad its target set to NULL after
13095         it was previously linked.
13096
13097 2006-08-08  Edward Hervey  <edward@fluendo.com>
13098
13099         * tests/check/libs/gdp.c:
13100         Also comment out the test (see below).
13101
13102 2006-08-08  Edward Hervey  <edward@fluendo.com>
13103
13104         * tests/check/libs/gdp.c: (gst_dp_suite):
13105         Use the architecture information from config.h and not gcc macros
13106         in order to properly disable a test that fails on PPC64.
13107
13108 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
13109
13110         * gst/gstelement.c: (gst_element_remove_pad):
13111           Don't crash printing the warning if the pad has no parent.
13112
13113 2006-08-02  Wim Taymans  <wim@fluendo.com>
13114
13115         * libs/gst/dataprotocol/dataprotocol.c:
13116         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
13117         (gst_dp_crc), (gst_dp_header_payload_length),
13118         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
13119         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
13120         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
13121         (gst_dp_event_from_packet), (gst_dp_validate_header),
13122         (gst_dp_validate_payload):
13123         Make debug category static
13124         Constify the crc table.
13125         Do some more arg checking in public functions.
13126         Fix some docs and do some small cleanups.
13127
13128         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
13129         Add some more checks to see if GDP deals with bogus input.
13130
13131 2006-07-31  Wim Taymans  <wim@fluendo.com>
13132
13133         * gst/gstvalue.c: (gst_value_compare_list):
13134         Fix GstValueList comparison code. Fixes #347293.
13135
13136         * tests/check/gst/gstvalue.c: (GST_START_TEST):
13137         Check to test GstValueList comparison.
13138
13139 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
13140
13141         * gst/gstelementfactory.c: (gst_element_factory_create):
13142         Remove unnecessary ref/unref pair
13143
13144         * gst/parse/grammar.y:
13145         Make sure to free the parse buffer on all code paths.
13146         Move a g_free up to the error handler where it's easier to see.
13147
13148         * tests/check/gst/gstevent.c: (test_event):
13149         Extending timeout for downstream travelling events to 10 seconds to
13150         hopefully avoid intermittent failure on the buildbots.
13151
13152         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
13153         Don't manually set the state of the src element - it will happen as a
13154         natural consequence of the pipeline changing state, and that way it
13155         will do it in the right order too.
13156
13157 2006-07-31  Wim Taymans  <wim@fluendo.com>
13158
13159         * libs/gst/base/gstbasetransform.c:
13160         (gst_base_transform_buffer_alloc):
13161         Use OBJECT_LOCK and refcounting to get the pad caps in the
13162         buffer_alloc function because the caps could change while we are
13163         busy with them. Fixes #349105
13164
13165 2006-07-31  Wim Taymans  <wim@fluendo.com>
13166
13167         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
13168         Protect _PAD_CAPS with OBJECT_LOCK.
13169
13170 2006-07-31  Wim Taymans  <wim@fluendo.com>
13171
13172         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
13173         (gst_pad_get_property), (gst_pad_activate_pull),
13174         (gst_pad_activate_push), (gst_pad_set_blocked_async),
13175         (gst_pad_set_activate_function),
13176         (gst_pad_set_activatepull_function),
13177         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
13178         (gst_pad_set_getrange_function),
13179         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
13180         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
13181         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
13182         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
13183         (gst_pad_set_acceptcaps_function),
13184         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
13185         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
13186         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
13187         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
13188         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
13189         (gst_pad_configure_sink), (gst_pad_configure_src),
13190         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
13191         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
13192         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
13193         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
13194         (gst_pad_send_event):
13195         Use _DEBUG_OBJECT when it makes sense.
13196         Protect GST_PAD_CAPS with the OBJECT_LOCK.
13197         Small cleanups and code reflows.
13198         Avoid caps refcounting in _accept_caps.
13199         Refactor alloc_buffer so that the code performed on the peer is in a
13200         separate function. Also if the pad does not implement a buffer alloc
13201         function, we should still check if the pad is flushing before falling
13202         back to the default allocator.
13203
13204 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
13205
13206         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13207         Make all uses of identity and fakesink have silent=true to avoid
13208         serialising every passing data structure, which is breaking tests
13209         on FC4 for some unknown reason.
13210
13211 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
13212
13213         * gst/parse/Makefile.am:
13214         * gst/parse/grammar.y:
13215         * gst/parse/parse.l:
13216           Reverted previous patch as it required to bump the flex dependency to
13217           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
13218
13219 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
13220
13221         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
13222
13223         * gst/parse/Makefile.am:
13224         * gst/parse/grammar.y:
13225         * gst/parse/parse.l:
13226           push & pop the state of the lexer for reentrant use case
13227           Fixes #349180
13228
13229 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
13230
13231         * libs/gst/base/gstbasesrc.h:
13232           Note in the docs that the ::newsegment vfunc is not actually used by
13233           GstBaseSrc.
13234
13235 2006-07-28  Wim Taymans  <wim@fluendo.com>
13236
13237         * libs/gst/base/gstcollectpads.c:
13238         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
13239         (gst_collect_pads_clear), (gst_collect_pads_flush),
13240         (gst_collect_pads_event), (gst_collect_pads_chain):
13241         When flushing a pad, also clear the queued buffer so that we don't
13242         accidentally use it when we shouldn't.
13243         Fix leaks by inreffing incomming buffer.
13244         Flush out queued buffers in case of errors.
13245         Fixes #347452.
13246
13247 2006-07-28  Wim Taymans  <wim@fluendo.com>
13248
13249         * docs/random/phonon-gst:
13250         Random notes about a Phonon backend.
13251
13252 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
13253
13254         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13255         Extra debug output
13256         * tests/check/libs/gdp.c: (gst_dp_suite):
13257         Take a whack at fixing the ppc compile using a different define to
13258         disable the broken test.
13259
13260         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13261         Remove excess g_print()
13262
13263 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
13264
13265         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
13266         Oops, meant to uncomment this line too to dampen the noise a bit.
13267
13268 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
13269
13270         * gst/parse/grammar.y:
13271         * gst/parse/parse.l:
13272         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13273         (GST_START_TEST), (parse_suite):
13274         Fix some of the leaks exposed by extending the parse-launch testsuite,
13275         and move the 3 I can't figure out into a separate test that won't run
13276         the pipelines unless the appropriate line is uncommented.
13277
13278 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
13279
13280         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13281           Requesting 0 bytes before the end of the file should result in
13282           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
13283           unit test.
13284
13285 2006-07-27  Wim Taymans  <wim@fluendo.com>
13286
13287         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
13288         Fix useless assert, a uint is always positive.
13289
13290         * gst/gststructure.c: (gst_structure_nth_field_name),
13291         (gst_structure_foreach), (gst_structure_map_in_place):
13292         Check input arguments for public functions to avoid obvious crashes.
13293
13294         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
13295         * plugins/elements/gstfakesink.h:
13296         Do less useless typechecking.
13297
13298 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
13299
13300         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
13301           Do not use mmap() by default since there are a number of error
13302           conditions that we would like to handle in a non-fatal way that
13303           will result in a SIGBUS if we use mmap(). Examples: external
13304           devices (USB harddrive, portable music player) being unplugged
13305           while in use; file on mounted CD/DVD that can't be read because
13306           the medium is partly damaged. Fixes #348455 and #348475.
13307
13308 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
13309
13310         * gst/gstquery.h:
13311         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
13312         rates are a gdouble
13313
13314 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
13315
13316         * gst/gstregistry.c:
13317           Move big documentation comment into class section header, so that it
13318           appears in the API docs.
13319
13320 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13321
13322         * docs/gst/gstreamer-sections.txt:
13323         Oops. Commit the docs additions too for new API.
13324         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
13325
13326 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13327
13328         * gst/gststructure.c: (gst_structure_id_set),
13329         (gst_structure_id_set_valist):
13330         * gst/gststructure.h:
13331         Add API for setting values into structures without performing
13332         a quark lookup, if the appropriate quark is already known.
13333
13334         API: gst_structure_id_set
13335         API: gst_structure_id_set_valist
13336
13337         * gst/parse/grammar.y:
13338         * gst/parse/parse.l:
13339         Remove some dead code shown by the coverage information.
13340         Don't throw a critical g_warning when encountering a syntax error,
13341         just warn and let the normal error path handle it.
13342
13343         * plugins/elements/gstelements.c:
13344         Bump the rank of filesink up to PRIMARY so that it is preferred over
13345         gnomevfssink for file:// sink uri's
13346
13347         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13348         (GST_START_TEST), (run_delayed_test),
13349         (gst_parse_test_element_base_init),
13350         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
13351         (gst_parse_test_element_change_state),
13352         (gst_register_parse_element), (parse_suite):
13353         Beef up the tests for parse syntax to check that more error cases
13354         fail as they are supposed to. Increases the test coverage a bit.
13355
13356 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
13357
13358         * docs/manual/basics-elements.xml:
13359           Fix gst_element_link() example.
13360
13361         * gst/gstutils.c:
13362           Mention in API docs that one should usually gst_bin_add()
13363           elements to a bin or pipeline before doing the linking.
13364           
13365 2006-07-26  Wim Taymans  <wim@fluendo.com>
13366
13367         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
13368         (gst_subbuffer_get_type), (gst_buffer_create_sub):
13369         Avoid function call for known types by keeping the buffer and
13370         subbuffer GType global.
13371
13372         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13373         Random silly optimisations in read() path.
13374
13375 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13376
13377         * tools/gst-launch.c: (main):
13378           If the top-level of the parse is a normal bin, it doesn't do the
13379           right logic to run as a top-level element, so place it inside a
13380           pipeline.
13381
13382 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
13383
13384         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
13385           Remove superfluous g_object_notify() calls, GObject does
13386           that for us automatically.
13387
13388 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
13389
13390         * gst/gstinfo.h:
13391           on Win32, use dllspec to export the debug category symbols
13392
13393 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
13394
13395         * gst/gsttaglist.c: (_gst_tag_initialize):
13396           Allow more than one GST_TAG_IMAGE per taglist.
13397
13398 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13399
13400         * gst/gstminiobject.c:
13401           update docs
13402         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
13403         (gst_fd_src_create):
13404           log recurring events at LOG level
13405           add more debug for when the fd gets set
13406
13407 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
13408
13409         * gst/gstparse.c: (gst_parse_launch):
13410           Also remove reentrance checks if flex is MT safe (#348179)
13411          Fix my empty ChangeLog entry below
13412
13413 2006-07-21  Andy Wingo  <wingo@pobox.com>
13414
13415         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
13416
13417         * libs/gst/check/Makefile.am
13418         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
13419         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
13420         * libs/gst/check/gstbufferstraw.h:
13421         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
13422         functions, thus proving I am still a GStreamer haxor. OK I wrote
13423         them a long time ago, but anyways.
13424
13425 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
13426
13427         * configure.ac:
13428         * gst/gstparse.c: (gst_parse_launch):
13429           Check for flex version and omit mutex if we have a MT save flex
13430           (fixes #348179)
13431
13432 2006-07-21  Wim Taymans  <wim@fluendo.com>
13433
13434         * gst/gstparse.c: (gst_parse_launch):
13435         Protect recursive calls to _parse with a recursive mutex
13436         and busy flag.
13437
13438 2006-07-21  Wim Taymans  <wim@fluendo.com>
13439
13440         * tests/check/gst/gstpad.c: (GST_START_TEST):
13441         Fix leak in test.
13442
13443 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
13444
13445         * gst/gstparse.c: (gst_parse_launch):
13446           Do not hang on recursive usage of gst_parse_launch()
13447
13448 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
13449
13450         * gst/gsttaglist.c:
13451           Add some more docs, comments and FIXME 0.11s here and there
13452           and also fix some typos.
13453
13454 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
13455
13456         * gst/gstsegment.h:
13457           Convert tabs to spaces for better readability. 
13458
13459 2006-07-20  Edward Hervey  <edward@fluendo.com>
13460
13461         * tests/check/libs/gdp.c: (gst_dp_suite):
13462         the test_buffer test fails at line 140 on ppc64 at the following
13463         check:
13464         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
13465                 GST_BUFFER_FLAG_IN_CAPS),
13466                 "GST_BUFFER_IN_CAPS flag should have been copied !");
13467         See bug #348114 for more details.
13468
13469 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
13470
13471         * docs/pwg/advanced-scheduling.xml:
13472         * gst/gstpad.c:
13473           Fix typos (#348000).
13474
13475 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
13476
13477         * docs/pwg/intro-basics.xml:
13478           Fix wrong links (#347927).
13479
13480 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
13481
13482         * gst/gstregistry.h:
13483         * gst/gstregistryxml.c: (load_feature),
13484         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
13485         * win32/common/config.h:
13486           make --disable-index work (#342564)
13487
13488 2006-07-18  Wim Taymans  <wim@fluendo.com>
13489
13490         Patch by: Peter Kjellerstedt <pkj at axis dot com>
13491
13492         * gst/Makefile.am:
13493         * gst/gsttrace.h:
13494         The attached patch adds two missing defines to gsttrace.h when tracing
13495         is disabled.  It also corrects one existing define.
13496         Fixes #347756.
13497
13498 2006-07-17  Wim Taymans  <wim@fluendo.com>
13499
13500         * docs/gst/gstreamer-sections.txt:
13501         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
13502         * gst/gst.h:
13503         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
13504         Add two functions to check and change the SIGSEGV behaviour
13505         when loading plugins.
13506         Don't mess with the SIGSEGV handler when we were told not to.
13507         Fixes #347794.
13508         API: gst_segtrap_is_enabled
13509         API: gst_segtrap_set_enabled
13510
13511 2006-07-14  Wim Taymans  <wim@fluendo.com>
13512
13513         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13514         * tests/check/elements/filesrc.c: (GST_START_TEST):
13515         Revert fix for regression in #347408 after release.
13516
13517 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
13518
13519         Patch by: Antoine Tremblay <hexa00 at gmail com>
13520
13521         * gst/gstutils.c: (gst_element_unlink):
13522           Free iterator when done (#347311).
13523
13524         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13525           And add a test case for this.
13526
13527 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
13528
13529         * configure.ac:
13530         Bump nano back to CVS
13531
13532 === release 0.10.9 ===
13533
13534 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
13535
13536         * configure.ac:
13537           releasing 0.10.9, "On the road again"
13538
13539 2006-07-13  Wim Taymans  <wim@fluendo.com>
13540
13541         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13542         * tests/check/elements/filesrc.c: (GST_START_TEST):
13543         Revert pull-0 fix for release. Disable check. Fixes #347408.
13544
13545 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13546
13547         * libs/gst/dataprotocol/dataprotocol.c:
13548         (gst_dp_event_from_packet_1_0):
13549           Fixes #347337: failure to deserialize event packets with
13550           empty payload (only event type)
13551
13552 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13553
13554         * gst/Makefile.am:
13555           do not install a .c file in the header directory
13556
13557 2006-07-13  Edward Hervey  <edward@fluendo.com>
13558
13559         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
13560         GhostPad no longer implicitely use the padtemplates of the targets.
13561         Fixes #347384
13562
13563 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
13564
13565         * gst/gstvalue.c: (gst_value_compare_list),
13566         (gst_value_compare_array), (_gst_value_initialize):
13567         * tests/check/gst/gstvalue.c: (GST_START_TEST):
13568         Make GstValueArray comparison be order dependent as designed.
13569         Add checks for value lists and value array comparisons.
13570         Fixes #347221
13571
13572 2006-07-11  Edward Hervey  <edward@fluendo.com>
13573
13574         * gst/gstbin.c: (activate_pads),
13575         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
13576         (gst_bin_change_state_func):
13577         (de)activate src pads before calling state_change on the childs.
13578         This is to avoid the case where a src ghostpad is blocked (holding the
13579         stream lock), which would block the deactivation of the ghostpad's
13580         target pad.
13581         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
13582         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
13583         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
13584         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
13585         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
13586         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13587         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
13588         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
13589         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
13590         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
13591         (gst_ghost_pad_class_init),
13592         (gst_ghost_pad_internal_do_activate_push),
13593         (gst_ghost_pad_internal_do_activate_pull),
13594         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
13595         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
13596         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
13597         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
13598         GhostPads now create their internal GstProxyPad at creation (and not
13599         when they're linked, as it was being done previously).
13600         The internal and target pads are linked straight away.
13601         The data will also travel through the other pad in order to make
13602         pad blocking and probes non-hackish (the probe/block now really happens
13603         on the GhostPad and not on the target).
13604         * gst/gstpad.c: (gst_pad_set_blocked_async),
13605         (gst_pad_link_prepare), (gst_pad_push_event):
13606         Remove previous ghostpad cruft.
13607         * gst/gstutils.c: (gst_pad_add_data_probe),
13608         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
13609         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
13610         (gst_pad_remove_buffer_probe):
13611         Remove previous ghost pad cruft.
13612         Added more detailed debug statements.
13613         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
13614         Fix the testsuite for refcounting changes.
13615         The comments about who has references were correct, but the refcount
13616         being checked wasn't the same (!?!).
13617
13618         Fixes #341029
13619
13620 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
13621
13622         * docs/gst/gstreamer-sections.txt:
13623         * gst/gstconfig.h.in:
13624         More docs for configuration options, add docs to gtk-doc.
13625
13626 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
13627
13628         * gst/Makefile.am:
13629         * gst/gstconfig.h.in:
13630         * win32/common/config.h:
13631         Fix build when disabling tracing (fixes #344016). Also start to document
13632         the defines that disable the sub-systems.
13633
13634 2006-07-10  Edward Hervey  <edward@fluendo.com>
13635
13636         * gst/gst.c: (ensure_current_registry_forking):
13637         let's make valgrind happy...
13638
13639 2006-07-09  Wim Taymans  <wim@fluendo.com>
13640
13641         * gst/gstelement.c: (activate_pads),
13642         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
13643         Better pad activation code: Reset the collect value too on resync.
13644         Add some comments.
13645
13646 2006-07-09  Wim Taymans  <wim@fluendo.com>
13647
13648         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
13649         (gst_pad_activate_push):
13650         Use some more macros where it makes sense.
13651         Allow pad mode switching instead of asserting. When a pad
13652         is activated in one mode and we activate it in another, 
13653         deactivate it first before activating it in a different mode.
13654         Fixes #329198.
13655
13656 2006-07-08  Andy Wingo  <wingo@pobox.com>
13657
13658         * tools/gst-launch.c (main): Handle err == NULL.
13659
13660         * gst/gst.c (init_post, ensure_current_registry)
13661         (ensure_current_registry_forking)
13662         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
13663         factoring out the registry scanning into separate functions. Don't
13664         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
13665         Better environment var name/interface suggestions accepted.
13666
13667 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13668
13669         * gst/gstobject.c: (gst_object_set_name_default),
13670         (gst_object_set_name):
13671           Random micro-optimisation: don't use a hash table
13672           with strings as keys and the usual strdup/strcmp
13673           involved, but rather just use the GQuark of the
13674           type name as key, since it needs to be looked up
13675           anyway to get the type name string.
13676
13677         * tests/check/gst/gstobject.c: (GST_START_TEST):
13678           Fix various leaks.
13679
13680 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13681
13682         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
13683         (gst_bin_iterate_all_by_interface):
13684           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
13685           GTypes are gulongs and thus the top 4 bytes might be cut
13686           off on some platforms when doing GPOINTER_TO_INT, leading
13687           to invalid GTypes and bad things happening (see RH bug #179654).
13688           Also add a check to make sure the type passed in is really
13689           an interface type.
13690
13691 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13692
13693         * .cvsignore:
13694           Ignore more.
13695
13696 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13697
13698         * Makefile.am:
13699         * configure.ac:
13700         * gst-element-check.m4:
13701         * gst-element-check.m4.in:
13702           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
13703           instead of the unversioned gst-inspect (#324176, #168659).
13704
13705 2006-07-06  Wim Taymans  <wim@fluendo.com>
13706
13707         * gst/gstmessage.h:
13708         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
13709         warnings.
13710
13711 2006-07-06  Wim Taymans  <wim@fluendo.com>
13712
13713         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
13714         (gst_base_src_wait), (gst_base_src_update_length),
13715         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
13716         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
13717         (gst_base_src_loop), (gst_base_src_start),
13718         (gst_base_src_activate_pull):
13719         Update docs.
13720         blocksize == 0 now means the default blocksize when working in push
13721         based mode.
13722         Remove some pointless asserts in _wait function.
13723         Fix offset/length calculations and EOS handling. We can now pull 0
13724         bytes as well, which is allowed.
13725         use _check_get_range() to decide if we can operate in _pull based
13726         mode.
13727         Fix refcounting leak when check_get_range function was not 
13728         implemented.
13729         API GstBaseSrc::blocksize range can be 0 too now (default)
13730
13731         * tests/check/elements/filesrc.c: (GST_START_TEST),
13732         (filesrc_suite):
13733         Added check to test _get_range() behaviour.
13734
13735 2006-07-06  Wim Taymans  <wim@fluendo.com>
13736
13737         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
13738         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
13739         (gst_pad_pull_range):
13740         * gst/gstpad.h:
13741         Lots of comments and docs added to the pad functions.
13742         Flesh out the expected behaviour of the get_range() functions.
13743
13744 2006-07-06  Wim Taymans  <wim@fluendo.com>
13745
13746         * gst/gstbus.h:
13747         * gst/gstclock.h:
13748         * gst/gstevent.h:
13749         * gst/gstiterator.h:
13750         * gst/gstpad.h:
13751         * gst/gstplugin.h:
13752         * gst/gsttask.h:
13753         Remove comma at end of enumerator list. 
13754
13755 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
13756
13757         * win32/common/libgstbase.def:
13758         * win32/common/libgstdataprotocol.def:
13759         * win32/common/libsgtreamer.def:
13760         Add new exported functions.
13761
13762 2006-07-05  Wim Taymans  <wim@fluendo.com>
13763
13764         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
13765         Add some more docs here and there.
13766
13767 2006-07-05  Wim Taymans  <wim@fluendo.com>
13768
13769         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
13770         (gst_base_sink_loop), (gst_base_sink_get_position):
13771         When operating in pull mode update the offset so that we
13772         read sequentially.
13773
13774 2006-07-05  Wim Taymans  <wim@fluendo.com>
13775
13776         * gst/gstregistryxml.c: (read_string):
13777         Avoid strdup. (will happen in libxml, but hey!)
13778
13779         * gst/gsturi.c:
13780         Add some more docs.
13781
13782 2006-07-05  Wim Taymans  <wim@fluendo.com>
13783
13784         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
13785         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
13786         (gst_buffer_suite):
13787         No point in checking if the size of the subbuffer > 0, the
13788         code handles it correclty as demonstrated by unit test.
13789         Also add a unit test for the zero sized _new_and_alloc and
13790         _copy. Fixes #346663.
13791
13792 2006-07-05  Wim Taymans  <wim@fluendo.com>
13793
13794         * libs/gst/base/gstbasetransform.c:
13795         (gst_base_transform_prepare_output_buffer),
13796         (gst_base_transform_buffer_alloc),
13797         (gst_base_transform_handle_buffer):
13798         Make sure the buffer we pass to transform_ip has a refcount of
13799         1 and thus is writable. Fixes #343196
13800
13801 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
13802
13803         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
13804         (gst_file_src_init), (gst_file_src_set_property),
13805         (gst_file_src_get_property), (gst_file_src_map_region):
13806         * plugins/elements/gstfilesrc.h:
13807         Add "sequential" property, off by default, to use madvise and hint
13808         to the kernel that sequential access is desired.
13809         Touch all retrieved pages by default to ensure they are pulled
13810         into memory. (Closes #345720)
13811
13812 2006-07-03  Wim Taymans  <wim@fluendo.com>
13813
13814         * docs/design/part-block.txt:
13815         * docs/design/part-dynamic.txt:
13816         Small docs updates.
13817
13818 2006-07-03  Wim Taymans  <wim@fluendo.com>
13819
13820         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
13821         (gst_caps_unref), (gst_static_caps_get),
13822         (gst_caps_append_structure):
13823         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
13824         Use GSlice when the glib we build against is >= 2.10
13825
13826 2006-07-03  Wim Taymans  <wim@fluendo.com>
13827
13828         * gst/gstelement.c: (gst_element_pads_activate):
13829         Small cleanup in pad activation code.
13830
13831 2006-07-03  Wim Taymans  <wim@fluendo.com>
13832
13833         Patch by: Peter Kjellerstedt <pkj at axis dot com>
13834
13835         * gst/gst-i18n-app.h:
13836         * gst/gst-i18n-lib.h:
13837         * tools/gst-inspect.c: (print_signal_info):
13838         The attached patch will make the inclusion of gettext.h unconditional in
13839         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
13840         libintl.h in tools/gst-inspect.c.
13841         This allows use of --disable-nls again and fixes #344642.
13842
13843 2006-07-03  Edward Hervey  <edward@fluendo.com>
13844
13845         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
13846         Implement pad blocking on events according to part-block.txt.
13847         More comments on behaviour.
13848         * tests/check/gst/gstevent.c: (test_event):
13849         Send event to peer pad of blocked pad (else it will block).
13850
13851 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13852
13853         * libs/gst/check/gstcheck.c: (gst_check_message_error),
13854         (gst_check_run_suite):
13855           if we get the wrong message, give us the types as string
13856         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
13857           Fix a translatable
13858         * tests/check/elements/filesrc.c: (GST_START_TEST):
13859           add a test for trying to open a non-existing file
13860
13861 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13862
13863         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
13864           add a test for adding self
13865
13866 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13867
13868         * libs/gst/check/gstcheck.h:
13869           add some assert_ as alias for fail_unless_*
13870         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
13871           increase test coverage
13872
13873 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13874
13875         * Makefile.am:
13876           include lcov.mak for lcov coverage generation
13877         * tools/Makefile.am:
13878           add to CLEANFILES
13879
13880 2006-07-02  Edward Hervey  <edward@fluendo.com>
13881
13882         * tests/check/elements/.cvsignore:
13883         moaping
13884
13885 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13886
13887         * configure.ac:
13888           don't set CFLAGS and friends for gcov, done from GST_GCOV now
13889         * tests/check/Makefile.am:
13890           clean up gcov files
13891
13892 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13893
13894         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
13895           remove gst_caps_simplify; it was not declared and not used
13896           and deprecated in 0.8
13897
13898 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13899
13900         * docs/faq/gst-uninstalled:
13901           don't put empty paths on PYTHONPATH
13902         * docs/gst/gstreamer-sections.txt:
13903           remove some symbols that are not there
13904
13905 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13906
13907         * gst/gstcaps.c: (gst_caps_compare_structures):
13908           whitespace fixes
13909         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
13910         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
13911           add more tests
13912
13913 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13914
13915         * libs/gst/dataprotocol/Makefile.am:
13916           build dataprotocol test by linking to the lib, instead of
13917           compiling the source, so we get coverage
13918         * tests/check/Makefile.am:
13919         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
13920         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
13921           add a test for filesrc
13922
13923 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13924
13925         * tests/check/gst/gststructure.c: (GST_START_TEST),
13926         (gst_structure_suite):
13927           Push coverage from 59.04% to 70.00%
13928
13929 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13930
13931         * tests/check/Makefile.am:
13932           gst-inspect every element; this makes sure that we also get
13933           coverage on element's get/set functions
13934
13935 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13936
13937         * configure.ac:
13938           set CFLAGS and friends to -O0 if gcov is being used
13939           add GCOV LIBS
13940         * gst/Makefile.am:
13941         * libs/gst/base/Makefile.am:
13942         * libs/gst/check/Makefile.am:
13943         * libs/gst/controller/Makefile.am:
13944         * libs/gst/dataprotocol/Makefile.am:
13945         * libs/gst/net/Makefile.am:
13946         * plugins/elements/Makefile.am:
13947         * plugins/indexers/Makefile.am:
13948           add makefile rules to generate gcov data and clean up
13949         * tests/check/Makefile.am:
13950           add a coverage target that generates an html overview
13951           of coverage data
13952
13953 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
13954
13955         * tests/check/elements/fakesink.c:
13956         * tests/check/elements/fakesrc.c:
13957         * tests/check/elements/fdsrc.c:
13958         * tests/check/elements/identity.c:
13959         * tests/check/generic/sinks.c: (gst_sinks_suite):
13960         * tests/check/generic/states.c:
13961         * tests/check/gst/gst.c:
13962         * tests/check/gst/gstabi.c:
13963         * tests/check/gst/gstbin.c:
13964         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
13965         * tests/check/gst/gstbus.c: (gst_bus_suite):
13966         * tests/check/gst/gstcaps.c: (GST_START_TEST):
13967         * tests/check/gst/gstelement.c:
13968         * tests/check/gst/gstevent.c: (gst_event_suite):
13969         * tests/check/gst/gstghostpad.c:
13970         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
13971         * tests/check/gst/gstmessage.c: (gst_message_suite):
13972         * tests/check/gst/gstminiobject.c:
13973         * tests/check/gst/gstobject.c:
13974         * tests/check/gst/gstpad.c:
13975         * tests/check/gst/gstpipeline.c:
13976         * tests/check/gst/gstplugin.c:
13977         * tests/check/gst/gstquery.c: (gst_query_suite):
13978         * tests/check/gst/gstsegment.c: (gst_segment_suite):
13979         * tests/check/gst/gststructure.c:
13980         * tests/check/gst/gstsystemclock.c:
13981         * tests/check/gst/gsttag.c:
13982         * tests/check/gst/gsttask.c: (gst_task_suite):
13983         * tests/check/gst/gstutils.c:
13984         * tests/check/gst/gstvalue.c:
13985         * tests/check/libs/adapter.c:
13986         * tests/check/libs/basesrc.c:
13987         * tests/check/libs/collectpads.c:
13988         * tests/check/libs/controller.c:
13989         * tests/check/libs/gdp.c: (gst_dp_suite):
13990         * tests/check/libs/gstnetclientclock.c:
13991         * tests/check/libs/gstnettimeprovider.c:
13992         * tests/check/libs/libsabi.c: (libsabi_suite):
13993         * tests/check/libs/typefindhelper.c:
13994         * tests/check/pipelines/cleanup.c:
13995         * tests/check/pipelines/parse-launch.c:
13996         * tests/check/pipelines/simple-launch-lines.c:
13997         * tests/check/pipelines/stress.c: (stress_suite):
13998           use the new macro
13999
14000 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14001
14002         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
14003         * libs/gst/check/gstcheck.h:
14004           create a macro and function so that the simple unit test
14005           case can be just one macro to create main()
14006
14007 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
14008
14009         * gst/gstbin.c: (gst_bin_restore_thyself):
14010         * gst/gstxml.c: (gst_xml_make_element):
14011           Fix deserialisation from XML. Set parent manually
14012           instead of using gst_bin_add(), since gst_bin_add()
14013           will unlink all pads of the element being added.
14014           Fixes #341667.
14015
14016 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
14017
14018         Patch by: Peter Kjellerstedt <pkj at axis com>
14019
14020         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
14021           Fix missing g_strdup() and double free when using the
14022           --gst-plugin-load command line option (#346097).
14023
14024 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
14025
14026         * gst/gstinfo.c:
14027           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
14028
14029         * libs/gst/net/gstnetclientclock.c:
14030         * libs/gst/net/gstnettimeprovider.c:
14031           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
14032
14033 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
14034
14035         * docs/manual/advanced-dataaccess.xml:
14036           Fix buffer probe example compilation in
14037           ADM (#345708).
14038         
14039 2006-06-22  Edward Hervey  <edward@fluendo.com>
14040
14041         * gst/gstelement.c: (gst_element_pads_activate):
14042         We need to deactivate src pads first and then sink pads.
14043         The reason is the src pads might be blocking while holding the streaming
14044         lock, so we need to deactivate them first so that deactivating the sink
14045         pads doesn't block (since it will require the streaming lock).
14046
14047 2006-06-22  Wim Taymans  <wim@fluendo.com>
14048
14049         * libs/gst/base/gstbasetransform.c:
14050         (gst_base_transform_buffer_alloc):
14051         Forgot to remove two unneeded unrefs.
14052         Simplify a check _is_equal allready checks the obvious case.
14053
14054 2006-06-22  Wim Taymans  <wim@fluendo.com>
14055
14056         * docs/design/part-block.txt:
14057         Some docs about what pad_block should do.
14058
14059 2006-06-22  Wim Taymans  <wim@fluendo.com>
14060
14061         * gst/gstcaps.c: (gst_caps_replace):
14062         Fix crasher when passed NULL. Doc clarification.
14063         Optimize for the trivial case.
14064
14065         * gst/gstpipeline.c: (gst_pipeline_change_state):
14066         Small cleanups.
14067
14068         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
14069         Small documentation cleanup.
14070
14071         * libs/gst/base/gstbasetransform.c:
14072         (gst_base_transform_buffer_alloc):
14073         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
14074         is what we need and it avoids a whole lot of redundant 
14075         refcount operations.
14076
14077 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
14078
14079         Patch by: Philip Jägenstedt  <philip at lysator liu se>
14080
14081         * docs/manual/advanced-dataaccess.xml:
14082           Fix 'Embedding static elements' section to use
14083           GST_PLUGIN_DEFINE_STATIC (#345607).
14084
14085 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
14086
14087         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
14088           Attempt to 'fix' spuriously failing test case: it seems like the
14089           timeout of half a second is simply too small when the system is under
14090           load otherwise, and the timeout doesn't really seem to serve any
14091           particular purpose here. Give the pipeline a few seconds to preroll
14092           first, and then give it another half a second to go from PAUSED to
14093           PLAYING and marshal the message into the main thread.
14094
14095 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
14096
14097         * tools/gst-feedback-m.m:
14098           Don't only use unversioned tools, try versioned tools as well
14099           (#345086).
14100
14101 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
14102
14103         * gst/gstbus.c: (gst_bus_class_init):
14104           Fix some typos, make docs more explicit.
14105
14106 2006-06-20  Wim Taymans  <wim@fluendo.com>
14107
14108         * tests/check/gst/gstghostpad.c: (block_callback),
14109         (GST_START_TEST), (gst_ghost_pad_suite):
14110         Added some more ghostpad tests, mainly blocking
14111         and probes.
14112
14113 2006-06-16  Wim Taymans  <wim@fluendo.com>
14114
14115         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
14116         (gst_file_sink_close_file), (gst_file_sink_do_seek),
14117         (gst_file_sink_event), (gst_file_sink_render):
14118         * plugins/elements/gstfilesink.h:
14119         Check if we can seek in the file instead of assuming
14120         we always can. Post an error when we are asked to seek in a
14121         non-seekable file (like a fifo). Fixes #343312.
14122         Some cleanups.
14123
14124 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
14125
14126         * tools/gst-launch.1.in:
14127           Un-garble (fourcc) bit in filtered caps section.
14128
14129 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
14130
14131         * docs/manual/advanced-autoplugging.xml:
14132         * docs/manual/basics-helloworld.xml:
14133         * docs/manual/highlevel-components.xml:
14134           Don't leak bus reference in sample code.
14135
14136 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
14137
14138         * autogen.sh:
14139           Add default for new --enable-plugin-docs switch.
14140
14141         * configure.ac:
14142           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
14143           Fixes #344039.
14144
14145         * docs/Makefile.am:
14146           Use new ENABLE_PLUGIN_DOCS conditional.
14147
14148 2006-06-14  Wim Taymans  <wim@fluendo.com>
14149
14150         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
14151         Make it clear with a FIXME and a real define what the #if 0
14152         previously disabled.
14153
14154 2006-06-14  Wim Taymans  <wim@fluendo.com>
14155
14156         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
14157         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14158         * libs/gst/base/gstbasetransform.c:
14159         (gst_base_transform_sink_eventfunc):
14160         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
14161         Don't randomly and silently reset a segment when the format 
14162         changes as this is a bug somewhere upstream. Fixes #330379.
14163
14164 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
14165
14166         Patch by: Wouter Paesen  <wouter at kangaroot net>
14167
14168         * libs/gst/controller/gstcontroller.c:
14169         (gst_controlled_property_new):
14170           Fix controlling of float properties (#344849).
14171
14172         * tests/check/libs/controller.c:
14173         (gst_test_mono_source_get_property),
14174         (gst_test_mono_source_set_property),
14175         (gst_test_mono_source_class_init), (GST_START_TEST):
14176           While we're at it, add some float stuff to unit test.
14177
14178 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14179
14180         * docs/README:
14181         * docs/images/gdp-header.svg:
14182           add a gdp image
14183         * docs/libs/Makefile.am:
14184         * docs/libs/gdp-header.png:
14185         * libs/gst/dataprotocol/dataprotocol.c:
14186           add it to the API docs
14187         * docs/manual/intro-motivation.xml:
14188           fix typo
14189
14190 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
14191
14192         * gst/gst.c: (scan_and_update_registry), (init_post):
14193           If the fork()'ed child process can't write the updated registry cache
14194           file to disk for some reason, make it exit with a failure exit code,
14195           so that the parent can then re-scan the plugins itself and update the
14196           registry structures in memory and work with that (rather than failing
14197           when creating elements because seemingly no plugins are available).
14198           Refactor registry scanning code into separate function for this and
14199           also separate fork() and non-fork() code paths. Fixes #344748.
14200
14201 2006-06-13  Wim Taymans  <wim@fluendo.com>
14202
14203         * docs/manual/advanced-dataaccess.xml:
14204         Fix wrong PluginDesc. Fixes #344755.
14205
14206 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
14207
14208         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
14209           Fix silly bug that prevented us from creating
14210           ~/.gstreamer-0.10 and writing the registry in one
14211           go (the first call to g_mkstemp() would overwrite the
14212           placeholder in the template string, so the second call
14213           to g_mkstemp() after creating the missing directory
14214           would then error out with 'invalid argument').
14215
14216 2006-06-13  Edward Hervey  <edward@fluendo.com>
14217
14218         * gst/gst.c: (init_post):
14219         Free string.
14220
14221 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14222
14223         * gst/glib-compat-private.h:
14224         * gst/glib-compat.c:
14225         * gst/glib-compat.h:
14226         * gst/gstvalue.c: (gst_value_serialize_flags):
14227           remove GLib 2.6 compatibility code
14228
14229 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
14230
14231         * gst/parse/Makefile.am:
14232           Fix build with 'make -j N' even more (#340016).
14233
14234 2006-06-12  Wim Taymans  <wim@fluendo.com>
14235
14236         * docs/gst/gstreamer-sections.txt:
14237         Fix docs.
14238
14239 2006-06-12  Wim Taymans  <wim@fluendo.com>
14240
14241         * gst/gstsegment.c: (gst_segment_set_duration),
14242         (gst_segment_set_last_stop), (gst_segment_set_seek),
14243         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
14244         (gst_segment_to_running_time), (gst_segment_clip):
14245         Use G_UNLIKELY to help the compiler a bit.
14246
14247 2006-06-12  Wim Taymans  <wim@fluendo.com>
14248
14249         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
14250
14251         * gst/gstevent.c: (gst_event_get_type):
14252         * gst/gstmessage.c:
14253         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
14254         (gst_pad_push):
14255         constify quark registration strings. Fixes #344115
14256         Avoid unneeded type checking is _pad_push() by internally
14257         calling gst_pad_chain_unchecked().
14258
14259 2006-06-12  Wim Taymans  <wim@fluendo.com>
14260
14261         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
14262         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
14263         (gst_subbuffer_finalize), (gst_buffer_create_sub),
14264         (gst_buffer_is_span_fast), (gst_buffer_span):
14265         Init _type for consistency.
14266         Use _FLAGS macro to avoid type check.
14267         Avoid unneeded type checks in subbufer code.
14268
14269 2006-06-12  Wim Taymans  <wim@fluendo.com>
14270
14271         * gst/gst.c: (gst_debug_help):
14272         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
14273         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
14274         (gst_plugin_feature_list_free):
14275         * gst/gstregistry.c: (gst_registry_add_plugin),
14276         (gst_registry_add_feature), (gst_registry_plugin_filter),
14277         (gst_registry_feature_filter), (gst_registry_find_plugin),
14278         (gst_registry_find_feature), (gst_registry_get_plugin_list),
14279         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
14280         * gst/gstregistryxml.c: (load_feature),
14281         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
14282         * gst/gstminiobject.c: (gst_mini_object_unref),
14283         (gst_mini_object_replace), (gst_value_mini_object_free),
14284         (gst_value_mini_object_copy):
14285         Use _CAST macros to avoid unneeded type checking.
14286         Added some more G_UNLIKELY.
14287
14288 2006-06-12  Wim Taymans  <wim@fluendo.com>
14289
14290         * gst/gstbuffer.h:
14291         Avoid unneeded type checking.
14292         API: GST_BUFFER_IS_DISCONT
14293
14294         * gst/gstminiobject.h:
14295         Avoid type check in flag accessor.
14296
14297         * gst/gstelementfactory.h:
14298         * gst/gstplugin.h:
14299         * gst/gstpluginfeature.h:
14300         Add _CAST macros.
14301         API: GST_ELEMENT_FACTORY_CAST
14302         API: GST_PLUGIN_CAST
14303         API: GST_PLUGIN_FEATURE_CAST
14304
14305 2006-06-12  Wim Taymans  <wim@fluendo.com>
14306
14307         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
14308         (gst_object_unref):
14309         Add G_UNLIKELY in type registration.
14310         Avoid type check in _ref/_unref since that is also
14311         done in glib.
14312
14313 2006-06-12  Wim Taymans  <wim@fluendo.com>
14314
14315         * gst/gsterror.c: (gst_g_error_get_type):
14316         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
14317         (gst_static_pad_template_get_type):
14318         * gst/gsttaglist.c: (gst_tag_list_get_type):
14319         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
14320         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
14321         * gst/gsturi.c: (gst_uri_handler_get_type):
14322         * gst/gstvalue.c: (gst_date_get_type):
14323         * gst/gstxml.c: (gst_xml_get_type):
14324         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
14325         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14326         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
14327         Add G_UNLIKELY in type registration.
14328
14329 2006-06-12  Wim Taymans  <wim@fluendo.com>
14330
14331         * tools/gst-inspect.c: (print_signal_info):
14332         Properly print enum values.
14333
14334 2006-06-12  Wim Taymans  <wim@fluendo.com>
14335
14336         * gst/gstinfo.c: (gst_debug_set_active),
14337         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
14338         * gst/gstinfo.h:
14339         Add some G_[UN]LIKELY.
14340         Maintain __gst_debug_min to avoid formatting the arguments of
14341         debug messages that will be dropped anyway to avoid a lot of 
14342         overhead from the debugging system.
14343
14344 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14345
14346         * po/POTFILES.in:
14347         * po/POTFILES.skip:
14348           add missing files containing translatable strings, tell intltool about
14349           one exception
14350
14351 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14352
14353         * tests/check/libs/.cvsignore:
14354         add test-binary to ignore list
14355
14356 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14357
14358         * docs/libs/gstreamer-libs-docs.sgml:
14359         reorder (put dp into a chapter) and indent
14360
14361 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14362
14363         * configure.ac:
14364           back to HEAD
14365
14366 === release 0.10.8 ===
14367
14368 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
14369
14370         * configure.ac:
14371           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
14372
14373 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14374
14375         * gst/gst.c: (init_post):
14376           move pid declaration to declaration block
14377
14378 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14379
14380         * gst/gst.c: (init_post):
14381           use _exit() instead of exit() in our forked child; this ensures
14382           that none of the registered exit handlers from whatever is using
14383           GStreamer get executed.  This fixes gnome-mixer-applet failing
14384           to load, because ORBit would shut down.
14385           Spotted by: Edward Hervey  <edward@fluendo.com>
14386           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
14387           Fixes #344474
14388
14389 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14390
14391         * configure.ac:
14392           back to TRUNK
14393
14394 === release 0.10.7 ===
14395
14396 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
14397
14398         * configure.ac:
14399           releasing 0.10.7, "Soepeke, ik zie ou"
14400
14401 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14402
14403         * configure.ac:
14404         * po/af.po:
14405         * po/az.po:
14406         * po/bg.po:
14407         * po/ca.po:
14408         * po/cs.po:
14409         * po/de.po:
14410         * po/en_GB.po:
14411         * po/fr.po:
14412         * po/it.po:
14413         * po/nb.po:
14414         * po/nl.po:
14415         * po/ru.po:
14416         * po/sq.po:
14417         * po/sr.po:
14418         * po/sv.po:
14419         * po/tr.po:
14420         * po/uk.po:
14421         * po/vi.po:
14422         * po/zh_CN.po:
14423         * po/zh_TW.po:
14424         * win32/common/config.h:
14425           0.10.6.2 prerelease
14426
14427 2006-06-07  Wim Taymans  <wim@fluendo.com>
14428
14429         * gst/gstindex.c: (gst_index_gtype_resolver):
14430         * tools/gst-xmlinspect.c: (print_plugin_info):
14431         Fix leak spotted by coverity checker. Fixes #343827
14432         Fix another other leak found by paolo borelli.
14433
14434 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14435
14436         * libs/gst/dataprotocol/dataprotocol.c:
14437         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
14438         (gst_dp_version_get_type), (gst_dp_init),
14439         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
14440         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
14441         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
14442         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
14443         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
14444         (gst_dp_packetizer_free):
14445         * libs/gst/dataprotocol/dataprotocol.h:
14446           API: add a GstDPPacketizer object, and create/free functions
14447           API: add GstDPVersion enum
14448           Add 1.0 event function that uses the string serialization
14449           Serialize more useful buffer flags
14450           Fixes #343988
14451
14452 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14453
14454         * tests/check/Makefile.am:
14455         * tests/check/gst/gstabi.c:
14456         * tests/check/gst/struct_ppc64.h:
14457         * tests/check/libs/libsabi.c:
14458         * tests/check/libs/struct_ppc64.h:
14459           add ppc64 structure sizes
14460
14461 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14462
14463         * tests/check/Makefile.am:
14464         * tests/check/gst/gstabi.c:
14465         * tests/check/gst/struct_x86_64.h:
14466         * tests/check/libs/libsabi.c:
14467         * tests/check/libs/struct_x86_64.h:
14468           generate and add structure size lists for x86_64
14469
14470 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14471
14472         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
14473         * libs/gst/check/gstcheck.h:
14474           factor out the method from tests that checks size of structures,
14475           and add code to generate the header containing these sizes
14476         * tests/check/gst/gstabi.c: (GST_START_TEST):
14477         * tests/check/gst/struct_i386.h:
14478         * tests/check/libs/libsabi.c: (GST_START_TEST):
14479         * tests/check/libs/struct_i386.h:
14480           use it
14481
14482 2006-06-06  Michael Smith  <msmith@fluendo.com>
14483
14484         * gst/gstsegment.h:
14485           Don't use c++-style comments, fixes #343929
14486
14487 2006-06-05  Edward Hervey  <edward@fluendo.com>
14488
14489         * gst/gst.c:
14490         plugin_paths is not used if we build without registry support.
14491
14492         * gst/gstsegment.c: (gst_segment_copy): 
14493         _copy() was always returning NULL...
14494
14495 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14496
14497         * libs/gst/dataprotocol/dataprotocol.c:
14498         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14499         (gst_dp_packet_from_event):
14500           factor out CRC code
14501
14502 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14503
14504         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
14505           make sure we unset caps
14506
14507 2006-06-02  Michael Smith  <msmith@fluendo.com>
14508
14509         * libs/gst/check/gstcheck.c: (gst_check_init),
14510         (gst_check_chain_func):
14511         * libs/gst/check/gstcheck.h:
14512           Add a cond/mutex to the check support lib, signal this whenever we
14513           add to the buffers list. This will allow tests to not busy-wait on
14514           the buffer-list.
14515
14516 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14517
14518         * libs/gst/dataprotocol/dataprotocol.c:
14519         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14520         (gst_dp_packet_from_event):
14521           factor out some common header init code
14522
14523 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14524
14525         * docs/libs/gstreamer-libs-sections.txt:
14526         * docs/libs/tmpl/gstdataprotocol.sgml:
14527         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
14528         * libs/gst/dataprotocol/dataprotocol.h:
14529           API: make gst_dp_crc() public
14530
14531 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
14532
14533         * plugins/indexers/gstindexers.c: (plugin_init):
14534         conditionally register fileindexer (fixes #343598)
14535
14536 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
14537
14538         * gst/gsttagsetter.h:
14539         Can't cast ifaces to a class
14540
14541         * libs/gst/net/gstnetclientclock.h:
14542         * libs/gst/net/gstnettimeprovider.h:
14543         * plugins/elements/gstfakesink.h:
14544         * plugins/elements/gstfakesrc.h:
14545         * plugins/elements/gstfdsink.h:
14546         * plugins/elements/gstfdsrc.h:
14547         * plugins/elements/gstfilesink.h:
14548         * plugins/elements/gstfilesrc.h:
14549         * plugins/elements/gstidentity.h:
14550         * plugins/elements/gstqueue.h:
14551         * plugins/elements/gsttee.h:
14552         * plugins/indexers/gstfileindex.c:
14553         * plugins/indexers/gstmemindex.c:
14554         * tests/old/examples/plugins/example.h:
14555         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
14556
14557 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14558
14559         * libs/gst/dataprotocol/dataprotocol.c:
14560         (gst_dp_header_from_buffer):
14561           make sure we zero the whole ABI-compatible area
14562
14563 2006-06-01  Wim Taymans  <wim@fluendo.com>
14564
14565         Patch by: Alessandro Decina <alessandro at nnva dot org>
14566
14567         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
14568         Make sure the EOS flag is cleared from pads after a flush
14569         or stop. Fixes #343538.
14570
14571         * tests/check/libs/collectpads.c: (GST_START_TEST),
14572         (gst_collect_pads_suite):
14573         Added test for collectpads reusage after EOS.
14574
14575 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
14576
14577         * gst/gst.c:
14578          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
14579         * win32/common/libgstbase.def:
14580          export gst_collect_pads_set_flushing
14581         * win32/common/libgstreamer.def:
14582          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
14583          gst_value_fraction_multiply
14584         * win32/vs6/gst_inspect.dsp:
14585          add a link to intl.lib
14586
14587 2006-05-30  Wim Taymans  <wim@fluendo.com>
14588
14589         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
14590         (gst_collect_pads_chain):
14591         Handle the case where a pad is removed from the collection
14592         that could cause the other pads to become collectable.
14593
14594 2006-05-30  Wim Taymans  <wim@fluendo.com>
14595
14596         * gst/gstelement.c:
14597         Clarify the use of _release_request_pad() and
14598         _get_request_pad() a bit better.
14599
14600         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
14601         (gst_adapter_take_buffer):
14602         Fix some doc and comment typos.
14603
14604 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14605
14606         * docs/gst/gstreamer-sections.txt:
14607         * docs/libs/gstreamer-libs-sections.txt:
14608           add declared symbols
14609
14610 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
14611
14612         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
14613         Add debug that can be enabled using a #define at the top of the file,
14614         for dumping stats about how late/early we were when waking up from
14615         waiting on the clock.
14616
14617 2006-05-30  Wim Taymans  <wim@fluendo.com>
14618
14619         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
14620         When rebuilding the pad list, don't leak the previous list.
14621
14622 2006-05-30  Wim Taymans  <wim@fluendo.com>
14623
14624         Patch by: Lutz Mueller <lutz at topfrose dot de>
14625
14626         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14627         (gst_base_src_get_query_types), (gst_base_src_update_length):
14628         Publish supported query types.
14629         Update last_stop field in get_range mode so the position
14630         query works. Fixes #342321.
14631
14632 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
14633
14634         * docs/gst/gstreamer-sections.txt:
14635         * gst/gsttaglist.c: (_gst_tag_initialize):
14636         * gst/gsttaglist.h:
14637           API: add GST_TAG_PREVIEW_IMAGE (#343341).
14638
14639 2006-05-30  Wim Taymans  <wim@fluendo.com>
14640
14641         Patch by: Alessandro Decina <alessandro at nnva dot org>
14642
14643         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
14644         Unlock mutex when removing an unknown pad.
14645         Fixes #343334.
14646
14647         * tests/check/Makefile.am:
14648         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
14649         (push_event), (setup), (teardown), (GST_START_TEST),
14650         (gst_collect_pads_suite), (main):
14651         Added collecpads check, disabled for now as check crashes for
14652         some reason.
14653
14654 2006-05-29  Wim Taymans  <wim@fluendo.com>
14655
14656         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
14657         Don't leak pads lists.
14658
14659 2006-05-29  Wim Taymans  <wim@fluendo.com>
14660
14661         * docs/libs/gstreamer-libs-sections.txt:
14662         * libs/gst/base/gstcollectpads.c:
14663         (gst_collect_pads_set_flushing_unlocked),
14664         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
14665         (gst_collect_pads_stop):
14666         * libs/gst/base/gstcollectpads.h:
14667         API: gst_collect_pads_set_flushing()
14668         Added api to set the pads to flushing, useful for seeking
14669         code in elements using collectpads.
14670         Clear segment when receiving a flush.
14671
14672 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
14673
14674         * gst/gst.c: (add_path_func), (init_post):
14675           Don't scan registry paths passed via --gst-plugin-path immediately
14676           (will crash, because absolutely nothing is set up and no types are
14677           registered etc.); do this later in init_post(). Fixes #343057.
14678
14679 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
14680
14681         * gst/gst.c: (init_post):
14682           if we have fork, fork while reading/rebuilding the registry
14683           so the parent doesn't take the hit of having all plugins loaded
14684           in memory.  Fixes #342777.
14685         * configure.ac:
14686           Check if we have fork()
14687         * win32/common/config.h.in:
14688           no fork() on win32
14689
14690 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
14691
14692         * plugins/elements/gstelements.c:
14693         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
14694         (gst_file_src_init), (gst_file_src_set_property),
14695         (gst_file_src_get_property), (gst_file_src_start):
14696         * plugins/elements/gstfilesrc.h:
14697           API: GstFileSrc::use-mmap
14698
14699         Add a use-mmap property to enable easier testing of all code paths.
14700         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
14701         in the absence of gnomevfssrc. (Closes #340501)
14702
14703 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
14704
14705         * tools/gst-inspect.c:
14706         Add missing include, removes warning of ngettext not being defined on
14707         some arches.
14708
14709 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
14710
14711         * gst/gstvalue.c: (gst_value_deserialize_fraction):
14712         Handle NULL input and output pointers silently as a failed conversion,
14713         rather than g_warnings.
14714
14715 2006-05-25  Wim Taymans  <wim@fluendo.com>
14716
14717         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
14718         Initialize variable before using. Fixes #342820.
14719
14720 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
14721
14722         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
14723           Fix off-by-one bug that would only allow peeks of N-1 bytes
14724           from the start even if the buffer to typefind on contains
14725           in fact N bytes of data (makes vorbis typefinding from a
14726           vorbis identification header buffer work).
14727
14728         * tests/check/Makefile.am:
14729         * tests/check/libs/.cvsignore:
14730         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
14731         (gst_typefindhelper_suite), (main), (foobar_typefind),
14732         (plugin_init):
14733           Add very basic unit test for gst_type_find_helper_for_buffer()
14734           that checks for the problem fixed above.
14735
14736 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14737
14738         * tools/gst-inspect.c: (print_interfaces),
14739         (print_element_properties_info), (print_element_list), (main):
14740           add more translatable strings
14741
14742 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
14743
14744         Patch by: Julien Moutte  <julien at moutte net>
14745
14746         * docs/gst/gstreamer-sections.txt:
14747           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
14748           
14749         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
14750         (gst_fake_sink_preroll):
14751         * plugins/elements/gstfakesink.h:
14752           API: Add new GstFakeSink::preroll-handoff signal (#337100).
14753
14754 2006-05-23  Wim Taymans  <wim@fluendo.com>
14755
14756         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
14757         * gst/gstpad.h:
14758         Added _CUSTOM error and success GstFlowReturn that can be
14759         used be elements internally. 
14760         Added macro to check for SUCCESS flowreturns.
14761         API: GST_FLOW_CUSTOM_SUCCESS
14762         API: GST_FLOW_CUSTOM_ERROR
14763         API: GST_FLOW_IS_SUCCESS
14764
14765         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
14766         Added check for GstFlowReturn sanity.
14767
14768 2006-05-23  Wim Taymans  <wim@fluendo.com>
14769
14770         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
14771
14772         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
14773         (gst_collect_pads_event):
14774         clear/reset segment info in FLUSH_STOP.
14775         Fixes #336929.
14776
14777 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
14778
14779         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
14780         (gst_collect_pads_check_collected):
14781         Flush queued buffer on _stop(), fixes playing again (#342454)
14782
14783 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14784
14785         * tests/check/gst/gststructure.c: (GST_START_TEST),
14786         (gst_structure_suite):
14787           add a test for a complete structure
14788
14789 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
14790
14791         * docs/faq/developing.xml:
14792         * docs/faq/faq.xml:
14793         * docs/faq/troubleshooting.xml:
14794         * docs/faq/using.xml:
14795           Some minor FAQ updates that won't change the fact that
14796           our FAQ is badly structured, full of information hardly
14797           anyone new to GStreamer needs to know and lacking lots
14798           of information people constantly ask for.
14799           
14800 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
14801
14802         * gst/gstpad.c: (gst_pad_set_caps):
14803           Short-circuit gst_pad_set_caps if setting the existing
14804           caps pointer again, and avoid printing debug and 
14805           reffing/unreffing the caps.
14806
14807         * plugins/elements/gstqueue.c: (gst_queue_push_one):
14808           There's actually no need to set the caps before pushing -
14809           the acceptcaps method will handle it anyway.
14810
14811 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
14812
14813         * docs/gst/gstreamer-sections.txt:
14814         * win32/common/libgstreamer.def:
14815         * gst/gstutils.c: (gst_element_seek_simple):
14816         * gst/gstutils.h:
14817           API: add gst_element_seek_simple() (#342238).
14818
14819 2006-05-18  Edward Hervey  <edward@fluendo.com>
14820
14821         * gst/gsttypefind.c: (gst_type_find_get_type):
14822         * gst/gsttypefind.h:
14823         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
14824         registered for GstTypeFind pointers. This allows wrapping the structure
14825         in bindings (i.e. gst-python).
14826
14827 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
14828
14829         * gst/gsttagsetter.c:
14830           Docs additions and fixes (see #339918).
14831
14832 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
14833
14834         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
14835         The caps intersection algorithm can produce multiple copies of the
14836         caps. Until that is fixed, we need to simplify the result to be
14837         sure whether the allowed caps are fixed or not.
14838
14839         * plugins/elements/gstqueue.c: (gst_queue_init),
14840         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
14841         (gst_queue_push_one):
14842         Proxied buffer alloc should not set the caps on the source pad.
14843         When pushing buffers, we always accept the caps change that triggers.
14844         This prevents negotiation errors caused by caps changing mid-stream 
14845         and then being refused on our source pad (because upstream is now
14846         refusing those caps).
14847
14848 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
14849
14850         * tests/examples/helloworld/helloworld.c: (main):
14851           Must plug audioconvert and audioresample between decoder
14852           and audio sink.
14853
14854 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
14855
14856         * gst/gstregistryxml.c: (read_string), (load_pad_template),
14857         (load_feature), (load_plugin):
14858         Allow empty strings for some of the plugin fields so we don't 
14859         drop valid plugin entries that were written out correctly
14860         (Fixes #341479)
14861
14862 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
14863         
14864         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
14865           Use g_remove and g_rename instead of remove and rename that don't 
14866           handle utf8 characters. rename was failing for users who had specific
14867           characters in their name then the registry was built at each 
14868           gstreamer init.
14869         * win32/vs6/gst_inspect.dsp:
14870         * win32/vs6/gst_launch.dsp:
14871         * win32/vs6/libgstbase.dsp:
14872         * win32/vs6/libgstcoreelements.dsp:
14873         * win32/vs6/libgstreamer.dsp:
14874           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
14875           build of libgstreamer and clean unused libraries in projects link 
14876           settings.
14877
14878 2006-05-17  Edward Hervey  <edward@fluendo.com>
14879
14880         * plugins/elements/gstqueue.c: (gst_queue_push_one):
14881         The queue is not responsible for pushing an EOS when receiving a fatal
14882         flow error. It's up to the real element driving the pipeline to do that.
14883
14884 2006-05-16  Edward Hervey  <edward@fluendo.com>
14885
14886         * plugins/elements/gstqueue.c: (gst_queue_push_one):
14887         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
14888         buffer returned a fatal error. It should just send an EOS and stop
14889         its task.
14890         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
14891         when pushing buffers on the queue and will be able to handle the event.
14892
14893 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
14894
14895         * docs/manual/basics-bins.xml:
14896         * docs/manual/basics-init.xml:
14897           Fix typos and minor errors in sample code (#341856).
14898
14899 2006-05-16  Wim Taymans  <wim@fluendo.com>
14900
14901         * docs/design/part-qos.txt:
14902         Fix indexes in formulas to make more sense.
14903
14904 2006-05-15  Wim Taymans  <wim@fluendo.com>
14905
14906         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
14907         Don't report POSITION based on clock time if sync is
14908         disabled in a sink.
14909
14910 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
14911
14912         * gst/gstobject.h:
14913           Add cast to make compiler happy - refcount variable was a gint
14914           in GstObject but is a guint in GObject and g_atomic_int_get()
14915           wants a gint *.
14916
14917 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14918
14919         * gst/parse/Makefile.am:
14920           chain commands using &&, which also makes parallel make work
14921
14922 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
14923
14924         * docs/gst/gstreamer-sections.txt:
14925         * gst/gstevent.c:
14926         * gst/gstevent.h:
14927         * gst/gstmessage.h:
14928           Minor docs fixes.
14929
14930 === release 0.10.6 ===
14931
14932 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
14933
14934         * configure.ac:
14935           releasing 0.10.6, "Take the cannoli"
14936
14937 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
14938
14939         * tools/gst-launch.c: (print_tag):
14940           Fix use of uninitialized variable in the hypothetical
14941           case that some broken plugin creates a GST_TAG_IMAGE
14942           tag containing a NULL buffer (#341667).
14943
14944 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
14945
14946         * tools/gst-launch.c: (print_tag):
14947           Print something more intelligible for image tags when
14948           using the -t switch (#341556).
14949
14950 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14951
14952         * Makefile.am:
14953           updates for win32
14954         * configure.ac:
14955           define GST_MAJORMINOR so we have it available in win32/common/config.h
14956           Possibly remove it from our Makefile.am files later
14957         * win32/common/config.h:
14958         * win32/common/config.h.in:
14959           added GST_MAJORMINOR
14960         * win32/common/gstenumtypes.c: (register_gst_resource_error):
14961         * win32/common/gstversion.h:
14962           updated
14963
14964 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
14965
14966         * win32/MANIFEST:
14967           Update win32 files listing.
14968         * win32/common/gstversion.h:
14969           Add GST_MAJORMINOR definition.
14970         * win32/common/libgstreamer.def:
14971           Add new exported functions.
14972           
14973 2006-05-12  Michael Smith  <msmith@fluendo.com>
14974
14975         * gst/gstplugin.c: (gst_plugin_load_file):
14976           If an so file has no plugin entry point, unload the module.
14977
14978 2006-05-11  Wim Taymans  <wim@fluendo.com>
14979
14980         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
14981         (gst_queue_set_property):
14982         Don't forget to signal the _chain or _loop function 
14983         when the queue size or thresholds change since that might
14984         cause them to make progres again.
14985
14986 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
14987
14988         * gst/gstclock.c: (gst_clock_class_init):
14989         * gst/gstindex.c: (gst_index_class_init):
14990         * gst/gstobject.c: (gst_object_class_init):
14991         * gst/gstpad.c: (gst_pad_class_init):
14992         * gst/gstpipeline.c: (gst_pipeline_class_init):
14993         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
14994         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
14995         * libs/gst/base/gstbasetransform.c:
14996         (gst_base_transform_class_init):
14997         * libs/gst/net/gstnetclientclock.c:
14998         (gst_net_client_clock_class_init):
14999         * libs/gst/net/gstnettimeprovider.c:
15000         (gst_net_time_provider_class_init):
15001         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
15002         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
15003         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
15004         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
15005         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
15006         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
15007         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
15008         * plugins/elements/gstidentity.c: (gst_identity_class_init):
15009         * plugins/elements/gsttee.c: (gst_tee_class_init):
15010         * tests/old/examples/plugins/example.c: (gst_example_class_init):
15011         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
15012           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
15013
15014 2006-05-11  Wim Taymans  <wim@fluendo.com>
15015
15016         * gst/gstbuffer.c: (_gst_buffer_initialize):
15017         Register subbufer along with the buffer type so that
15018         it does not accidentally gets registered from N
15019         different streaming threads in a non threadsafe way.
15020
15021 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
15022
15023         * gst/gstbuffer.h:
15024         * gst/gstevent.h:
15025         * gst/gstmessage.h:
15026           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
15027           gst_event_ref() and gst_message_ref() functions again
15028           (ugly hack, please do fix if there's a better way besides
15029           overrides.txt, which doesn't seem to work).
15030
15031 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15032
15033         * libs/gst/check/gstcheck.h:
15034           add an assert for setting state to avoid lots of repetitive code
15035           in the future
15036
15037 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15038
15039         * gst/gstvalue.c: (gst_value_serialize_flags):
15040           fix a leak if no flags are set
15041         * tests/check/gst/gstvalue.c: (GST_START_TEST):
15042           fix leak in tests
15043
15044 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
15045
15046         * docs/manual/basics-pads.xml:
15047           Expand a bit on caps and filtered links and update
15048           examples that were still using the no longer existing
15049           gst_pad_link_filtered() (#338206).
15050
15051 2006-05-10  Wim Taymans  <wim@fluendo.com>
15052
15053         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
15054         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
15055         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
15056         (gst_collect_pads_stop):
15057         * libs/gst/base/gstcollectpads.h:
15058         No need to call _stop in _finalize.
15059         Iterate the main pad list in _finalize.
15060         Added some more debug.
15061         Free lists and data in the right order.
15062         Also free data whem doing _remove_pad when stopped for
15063         backward compatibility protect ::started with PAD_LOCK as
15064         well.
15065
15066 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15067
15068         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
15069         (gst_structure_parse_value):
15070           add some comments
15071           rename a method so that it actually says what it does better
15072
15073 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15074
15075         * gst/gstevent.c: (_gst_event_initialize):
15076         * gst/gstformat.c: (_gst_format_initialize):
15077           make sure some essential types used by events are registered
15078           as part of gst_init()
15079         * gst/gstvalue.c: (gst_value_serialize_flags):
15080           if no flags are set, serialize them to a value that represents NONE
15081           so that deserializing them works
15082         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15083           add tests for serialization and deserialization of flags
15084
15085 2006-05-10  Wim Taymans  <wim@fluendo.com>
15086
15087         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
15088         (gst_collect_pads_collect_range), (gst_collect_pads_available),
15089         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
15090         (gst_collect_pads_event), (gst_collect_pads_chain):
15091         Update docs.
15092         Better debug info.
15093         Catch and return errors from the collect function
15094         Refuse data on eos pads.
15095
15096 2006-05-10  Edward Hervey  <edward@fluendo.com>
15097
15098         * gst/gstinterface.h:
15099         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
15100         GInterface type checking.
15101         They were previously using non-defined macros.
15102
15103 2006-05-09  Wim Taymans  <wim@fluendo.com>
15104
15105         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
15106         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
15107         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
15108         (gst_collect_pads_start), (gst_collect_pads_stop),
15109         (gst_collect_pads_peek), (gst_collect_pads_pop),
15110         (gst_collect_pads_available), (gst_collect_pads_read),
15111         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
15112         (gst_collect_pads_is_collected), (gst_collect_pads_event),
15113         (gst_collect_pads_chain):
15114         * libs/gst/base/gstcollectpads.h:
15115         Clean up the mess that is collectpads, add comments and
15116         FIXMEs where needed.
15117         Maintain a separate pad list so we can add pads while
15118         collecting the other ones. For this we need a new separate 
15119         lock (see comics).
15120         Fix memory leak in finalize.
15121         Refactor some weird code to set/unset pad flushing flags, mark
15122         with comments.
15123         Don't crash in _available, _read, _flush when we're EOS.
15124
15125         * tests/check/libs/.cvsignore:
15126         Ignore adapter check binary.
15127
15128 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15129
15130         * gst/gstindex.c: (gst_index_resolver_get_type):
15131         * plugins/elements/gstfakesink.c:
15132         (gst_fake_sink_state_error_get_type):
15133         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
15134         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
15135         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
15136           Const-ify GEnumValue arrays.
15137
15138 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15139
15140         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
15141           Add test case for flags + gst_buffer_make_metadata_writable().
15142
15143 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15144
15145         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
15146           gst_buffer_make_metadata_writable() should maintain the
15147           buffer flags (those that make sense at least) (see #340859).
15148
15149 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15150
15151         * tools/gst-inspect.c:
15152         * tools/gst-launch.c:
15153         * tools/gst-typefind.c:
15154         * tools/gst-xmlinspect.c:
15155         * tools/tools.h:
15156           Fix up includes: need to include stdlib.h in tools.h for exit().
15157
15158 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15159
15160         * gst/gsttaglist.c: (_gst_tag_initialize):
15161         * gst/gsttaglist.h:
15162           API: add GST_TAG_IMAGE tag (#340721).
15163
15164 2006-05-08  Wim Taymans  <wim@fluendo.com>
15165
15166         * gst/gstquery.c:
15167         Added some docs for the segment query.
15168
15169 2006-05-08  Wim Taymans  <wim@fluendo.com>
15170
15171         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15172         (gst_base_src_loop), (gst_base_src_change_state):
15173         Always push non-flushing serialized events in the streaming 
15174         thread.
15175
15176 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15177
15178         * gst/gsterror.c: (_gst_stream_errors_init):
15179           Add a missing error string.
15180
15181 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
15182
15183         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
15184         Add applied_rate to the debug
15185
15186         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
15187         Copy applied_rate into the outgoing NEWSEGMENT event
15188
15189 2006-05-08  Wim Taymans  <wim@fluendo.com>
15190
15191         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
15192
15193         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
15194         (gst_base_sink_change_state):
15195         call ::unlock before taking the PREROLL_LOCK so we can safely
15196         handle elements that lock in ::render.
15197         Fixes #340174.
15198
15199 2006-05-08  Edward Hervey  <edward@fluendo.com>
15200
15201         * autogen.sh: (CONFIGURE_DEF_OPT): 
15202         Darwin's libtoolize is in fact called glibtoolize.
15203         Adding glibtoolize to the list of accepted names for libtoolize.
15204
15205 2006-05-08  Wim Taymans  <wim@fluendo.com>
15206
15207         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
15208         Unify error handling, don't post an error message
15209         when a push() returns EOS but perform our normal EOS
15210         handling code. Fixes #340772.
15211
15212 2006-05-08  Wim Taymans  <wim@fluendo.com>
15213
15214         * docs/design/part-overview.txt:
15215         Make upsteam/downstream concepts more clear.
15216         Give an example of serialized/non-serialized events.
15217
15218         * docs/design/part-events.txt:
15219         * docs/design/part-streams.txt:
15220         Mention applied_rate.
15221
15222         * docs/design/part-trickmodes.txt:
15223         Mention applied rate, flesh out some more use cases.
15224
15225         * gst/gstevent.c: (gst_event_new_new_segment),
15226         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
15227         (gst_event_parse_new_segment_full), (gst_event_new_tag),
15228         (gst_event_parse_tag), (gst_event_new_buffer_size),
15229         (gst_event_parse_buffer_size), (gst_event_new_qos),
15230         (gst_event_parse_qos), (gst_event_parse_seek),
15231         (gst_event_new_navigation):
15232         * gst/gstevent.h:
15233         Add applied_rate field to NEWSEGMENT event.
15234         API: gst_event_new_new_segment_full()
15235         API: gst_event_parse_new_segment_full()
15236
15237         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
15238         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
15239         (gst_segment_to_stream_time), (gst_segment_to_running_time):
15240         * gst/gstsegment.h:
15241         Add applied_rate to GstSegment structure.
15242         Make calculation of stream_time and running_time more correct
15243         wrt rate/applied_rate.
15244         Add some more docs.
15245         API: GstSegment::applied_rate field
15246         API: gst_segment_set_newsegment_full();
15247
15248         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
15249         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
15250         * libs/gst/base/gstbasetransform.c:
15251         (gst_base_transform_sink_eventfunc),
15252         (gst_base_transform_handle_buffer):
15253         Parse and use applied_rate in the GstSegment field.
15254
15255         * tests/check/gst/gstevent.c: (GST_START_TEST):
15256         Add check for applied_rate field.
15257
15258         * tests/check/gst/gstsegment.c: (GST_START_TEST),
15259         (gstsegments_suite):
15260         Add more checks for various GstSegment operations.
15261
15262 2006-05-08  Wim Taymans  <wim@fluendo.com>
15263
15264         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
15265         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
15266         (gst_base_sink_get_position), (gst_base_sink_change_state):
15267         Store the sync time of the buffer end position separatly in a
15268         new variable eos_rtime so we can properly sync the EOS event.
15269         Fixes #340697.
15270         Fix the docs for gst_base_sink_set_qos_enabled().
15271         Don't set segment start to invalid value when we receive a 
15272         non TIME newsegment.
15273         get closer to handling position reporting for negative rates 
15274         correctly.
15275
15276 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
15277
15278         * gst/gstcaps.c:
15279         Docs about how to print caps for debug purposes.
15280
15281         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
15282         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
15283
15284 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
15285
15286         * gst/gstelement.c:
15287           use full enum names and preprend a '%' in docs strings to make recent 
15288           gtk-doc turn that into a link
15289
15290 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15291
15292         * docs/manual/basics-bins.xml:
15293         * docs/manual/basics-bus.xml:
15294         * docs/manual/basics-pads.xml:
15295           Some typo fixes, some additions, some clarifications. 
15296
15297 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15298
15299         * tools/gst-inspect.c: (main):
15300         * tools/gst-launch.c: (main):
15301         * tools/gst-run.c: (main):
15302         * tools/gst-typefind.c: (main):
15303         * tools/gst-xmlinspect.c: (main):
15304           Use the string passed to g_option_context_new() for
15305           what it's intended for - the program name is already
15306           printed elsewhere.
15307
15308 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15309
15310         * tools/Makefile.am:
15311         * tools/gst-inspect.c: (main):
15312         * tools/gst-launch.c: (main):
15313         * tools/gst-xmlinspect.c: (main):
15314         * tools/tools.h:
15315           Add back --version command line option (#340460).
15316
15317         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
15318           Add --version option and use GOption for argument parsing; refactor a
15319           bit; accept directories as arguments and recurse into them; lastly,
15320           print a decent error message when things go wrong.
15321
15322 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15323
15324         * docs/manual/basics-bins.xml:
15325         Don't mention GstThread (#340611)
15326         * docs/manual/basics-elements.xml:
15327         Update link to GObject tutorial (#340607)
15328         
15329 2006-05-05  Wim Taymans  <wim@fluendo.com>
15330
15331         * gst/gstbuffer.h:
15332         * gst/gstminiobject.c:
15333         Add note about refcounting and miniobject/buffer writeability
15334         to docs. Fixes #340604
15335
15336         * gst/gstelementfactory.h:
15337         Added some explanation about @klass.
15338
15339 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15340
15341         * docs/manual/intro-motivation.xml:
15342         * docs/manual/manual.xml:
15343         Avoid CORBA & Bonobo references (#340598)
15344
15345 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15346
15347         * docs/manual/basics-bus.xml:
15348         * docs/manual/basics-pads.xml:
15349         Fix up some inaccuracies and omissions (#340609)
15350         
15351 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15352
15353         * gst/gstghostpad.c:
15354           Small typo in docs (#340625)
15355
15356 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15357
15358         * gst/parse/Makefile.am:
15359           Make 'make -j' proof (see #340698).
15360
15361 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15362
15363         * configure.ac:
15364           Require GLib-2.8 here as well.
15365
15366 2006-05-05  Wim Taymans  <wim@fluendo.com>
15367
15368         * gst/glib-compat.c:
15369         * gst/gst.c: (init_pre):
15370         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
15371         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
15372         (gst_object_dispatch_properties_changed):
15373         * gst/gstobject.h:
15374         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
15375         * gst/gststructure.c: (gst_structure_set_valist):
15376         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
15377         Remove pre glib2.8 compatibility, fixes #340508
15378
15379 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
15380
15381         * gst/gsttaglist.h:
15382           Mention type of tags in doc blurbs.
15383
15384 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
15385
15386         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15387         (gst_pad_configure_src), (gst_pad_push):
15388         Restore acceptcaps checking behaviour now that good plugins have
15389         been released.
15390
15391 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
15392
15393         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
15394
15395         * gst/gst.c:
15396         * gst/gstbus.c:
15397         * gst/gstclock.c:
15398         * gst/gstevent.c:
15399         * gst/gstformat.c:
15400         * gst/gstmessage.c:
15401         * gst/gstparse.c:
15402         * gst/gstquery.c:
15403         * gst/gstutils.c:
15404         * gst/parse/Makefile.am:
15405         * libs/gst/base/gstadapter.c:
15406         * libs/gst/base/gstbasesrc.c:
15407         * libs/gst/base/gstpushsrc.c:
15408         * libs/gst/base/gsttypefindhelper.c:
15409         * plugins/elements/gstfakesrc.c:
15410         * plugins/elements/gstidentity.c:
15411           Make sure gstprivate.h and/or config.h are
15412           always included first, otherwise some of our
15413           defines (like _FILE_OFFSET_BITS) might be
15414           redefined in the system headers. Fixes build
15415           on opensolaris (#340016).
15416
15417 2006-05-04  Wim Taymans  <wim@fluendo.com>
15418
15419         * docs/libs/gstreamer-libs-sections.txt:
15420         API: addition: gst_adapter_take_buffer()
15421         
15422         * libs/gst/base/gstadapter.c: (gst_adapter_push),
15423         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
15424         (gst_adapter_available_fast):
15425         * libs/gst/base/gstadapter.h:
15426         Prepare for optimizing the hell out of this hugely inefficient
15427         piece of code. 
15428         Added gst_adapter_take_buffer() so we can at least start thinking
15429         about subbuffering and merging.
15430         Added some comments.
15431
15432         * tests/check/Makefile.am:
15433         * tests/check/libs/adapter.c: (GST_START_TEST),
15434         (gst_adapter_suite), (main):
15435         Added GstAdapter check.
15436
15437 2006-05-04  Wim Taymans  <wim@fluendo.com>
15438
15439         * docs/design/part-overview.txt:
15440         Fix some typos, add blurb about buffer flags.
15441
15442 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
15443
15444         * docs/libs/gstreamer-libs-sections.txt:
15445           make sure GstBaseTransformClass shows up in the docs
15446         * libs/gst/base/gstbasetransform.c:
15447         * libs/gst/base/gstbasetransform.h:
15448           move docs so gtk-doc picks it up now
15449
15450 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
15451
15452         * docs/libs/gstreamer-libs-sections.txt:
15453           add missing symbols to docs
15454
15455 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
15456
15457         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15458           back out the newsegment handling change, see #340060 for ongoing
15459           discussion
15460
15461 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
15462
15463         * tools/gst-run.c: (get_candidates), (main):
15464           Fix wrong g_file_test() usage (see glib docs for why it doesn't
15465           work); fix typo in error message. Fixes #340079.
15466
15467 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15468
15469         * common/Makefile.am:
15470         * docs/Makefile.am:
15471         * docs/faq/Makefile.am:
15472         * docs/gst/Makefile.am:
15473         * docs/libs/Makefile.am:
15474         * docs/manual/Makefile.am:
15475         * docs/plugins/Makefile.am:
15476         * docs/pwg/Makefile.am:
15477         * docs/slides/Makefile.am:
15478         * docs/upload.mak:
15479         * common/upload.mak:
15480           move upload.mak to common
15481
15482 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15483
15484         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
15485           add more asserts on refcounts
15486           do more cleanup at end of tests
15487           fix test leaks showing in FC5
15488
15489 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
15490
15491         * plugins/elements/gsttypefindelement.c:
15492         (gst_type_find_element_handle_event):
15493         reverted wrong change and reflowed code to avoid others falling into
15494         this trap
15495
15496 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15497
15498         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15499           fix changelog entry about last collectpads change,
15500           add notes about proper fix
15501
15502 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15503
15504         * gst/gst.c:
15505         * gst/gstregistry.c: (gst_registry_scan_path_level),
15506         (gst_registry_scan_path):
15507         * gst/gstregistry.h:
15508           only write out registry if it has changed, fixes #338339
15509
15510 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15511
15512         * gst/gstbin.c:
15513         * gst/gstpipeline.c:
15514         * plugins/elements/gstcapsfilter.c:
15515         * plugins/elements/gstfakesink.c:
15516         * plugins/elements/gstfakesrc.c:
15517         * plugins/elements/gstfdsink.c:
15518         * plugins/elements/gstfdsrc.c:
15519         * plugins/elements/gstfilesink.c:
15520         * plugins/elements/gstfilesrc.c:
15521         * plugins/elements/gstidentity.c:
15522         * plugins/elements/gstqueue.c:
15523         * plugins/elements/gsttee.c:
15524         * plugins/elements/gsttypefindelement.c:
15525         (gst_type_find_element_handle_event):
15526           make GstElementDetails const
15527
15528 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15529
15530         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
15531         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
15532         (gst_collect_pads_is_collected), (gst_collect_pads_event):
15533           more detailed debug and formatting cleanup,
15534           forward newsegments to src-pad (so that e.g. adder not eats them)
15535
15536 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15537
15538         * gst/gstutils.c: (gst_element_link_pads):
15539           cleanup double code
15540
15541 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15542
15543         * libs/gst/controller/gstcontroller.c:
15544         (gst_controller_sync_values):
15545           some little tuning
15546         * tests/check/libs/controller.c: (GST_START_TEST),
15547         (gst_controller_suite):
15548           a new test for live value handling
15549
15550 2006-04-28  Wim Taymans  <wim@fluendo.com>
15551
15552         * gst/gstutils.c: (push_and_ref):
15553         Added some more docs.
15554         Fix refcount issue whith gst_element_found_tags() helper 
15555         function. Fixes #338335
15556
15557         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
15558         Added testsuite for gst_element_found_tags().
15559
15560 2006-04-28  Michael Smith  <msmith@fluendo.com>
15561
15562         * gst/gstvalue.c: (gst_value_serialize_flags):
15563           Avoid NULL dereference when trying to serialize flags containing
15564           invalid values.
15565
15566 2006-04-28  Michael Smith  <msmith@fluendo.com>
15567
15568         * plugins/elements/gsttypefindelement.c:
15569         (gst_type_find_element_handle_event):
15570           If we get EOS before any data is accumulated, don't use
15571           uninitialised local variables.
15572
15573 2006-04-28  Michael Smith  <msmith@fluendo.com>
15574
15575         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15576         (gst_dp_event_from_packet):
15577           Fixes in reading/writing events over GDP (not currently used?) - 
15578           dereferencing NULL events for unknown/invalid event types, memory
15579           leak, and change g_warning to GST_WARNING.
15580
15581 2006-04-28  Wim Taymans  <wim@fluendo.com>
15582
15583         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
15584         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
15585         (gst_base_sink_get_position), (gst_base_sink_change_state):
15586         When frame dropping is enabled, we should not ignore frames
15587         without a duration.
15588         Update some documentation.
15589
15590 2006-04-28  Wim Taymans  <wim@fluendo.com>
15591
15592         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15593         (gst_base_src_send_event), (gst_base_src_change_state):
15594         Documentation updates.
15595
15596 2006-04-28  Wim Taymans  <wim@fluendo.com>
15597
15598         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
15599         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
15600         handle EAGAIN, EINTR and short writes correctly. Also clean
15601         up some error cases, avoid a deadlock on bad file descriptors and
15602         use GST_DEBUG_OBJECT.
15603         Fixes #339843
15604
15605 2006-04-28  Wim Taymans  <wim@fluendo.com>
15606
15607         * gst/gstvalue.c: (gst_value_serialize_buffer),
15608         (gst_value_deserialize_buffer):
15609         Don't try to serialize a GValue with a NULL buffer. 
15610         Fixes #339821.
15611
15612         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15613         Added check for serialisation of NULL buffers.
15614
15615 2006-04-28  Wim Taymans  <wim@fluendo.com>
15616
15617         * gst/gstminiobject.c: (gst_value_take_mini_object):
15618         Taking a NULL miniobject is valid, fix the case where
15619         we try to unref the NULL miniobject.
15620
15621 2006-04-28  Wim Taymans  <wim@fluendo.com>
15622
15623         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
15624
15625         * gst/gstbin.c: (gst_bin_handle_message_func):
15626         Update docs.
15627         Don't leak bin refcount when a state recalc is
15628         in progress and we delay another one #339808.
15629
15630 2006-04-28  Wim Taymans  <wim@fluendo.com>
15631
15632         * docs/design/part-TODO.txt:
15633         Mention QoS as an ongoing work item.
15634
15635         * docs/design/part-buffering.txt:
15636         New doc about buffering that needs to be fleshed out
15637         at some point.
15638
15639         * docs/design/part-qos.txt:
15640         More QoS policy for decoders/demuxers/transforms
15641
15642         * docs/design/part-trickmodes.txt:
15643         Small update.
15644
15645 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
15646
15647         * configure.ac:
15648           back to HEAD
15649
15650 === release 0.10.5 ===
15651
15652 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
15653
15654         * configure.ac:
15655           releasing 0.10.5, "Fogo"
15656
15657 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15658
15659         patch by: Wim Taymans
15660
15661         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15662         (gst_pad_configure_src), (gst_pad_push):
15663         * gst/gstpipeline.c: (gst_pipeline_init):
15664           Fix internal data flow errors.  Fixes #338711.
15665
15666 2006-04-12  Wim Taymans  <wim@fluendo.com>
15667
15668         * tests/check/gst/gstelement.c: (GST_START_TEST):
15669         Don't leak the factory.
15670
15671 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15672
15673         * configure.ac:
15674         * win32/common/config.h:
15675           prerelease
15676
15677 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
15678
15679         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15680         (gst_controller_unset_all):
15681           Free allocated GstTimedValues when freeing list nodes.
15682           Should fix leaks 'make check-valgrind' complains about.
15683
15684         * win32/common/libgstcontroller.def:
15685           Add gst_controller_unset_all.
15686
15687 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
15688
15689         * docs/libs/gstreamer-libs-sections.txt:
15690         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15691         (gst_controller_unset_all):
15692         * libs/gst/controller/gstcontroller.h:
15693         API: Added new method gst_controller_unset_all()
15694         fixed gst_controller_unset()
15695         * tests/check/libs/controller.c: (GST_START_TEST),
15696         (gst_controller_suite):
15697         Added two testcases for new and fixed method
15698
15699 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
15700
15701         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
15702           MSG_DONTWAIT is not defined on Cygwin, so work
15703           around that (fixes #317048).
15704           
15705 2006-04-11  Wim Taymans  <wim@fluendo.com>
15706
15707         * gst/gstelementfactory.c: (gst_element_register),
15708         (gst_element_factory_create), (gst_element_factory_make):
15709         Some cleanups.
15710         Fixed a FIXME.
15711         Updated docs (Fixes #131079)
15712
15713         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
15714         Small cleanups.
15715
15716         * tests/check/gst/gstelement.c: (GST_START_TEST),
15717         (gst_element_suite):
15718         Added testcase for elementfactory class field.
15719
15720 2006-04-10  Wim Taymans  <wim@fluendo.com>
15721
15722         * gst/gstsegment.c:
15723         Added some more docs.
15724
15725         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
15726         (gst_base_sink_reset_qos):
15727         Calculate more accurate rate values.
15728
15729 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
15730
15731         * gst/gst_private.h:
15732           add a new #ifdef to use __declspec(dllimport) only for
15733           other modules and not for gstreamer core
15734         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
15735           use gst_guint64_to_gdouble for conversion
15736         * win32/common/libgstreamer.def:
15737           add new exported functions
15738         * win32/vs6/gst_inspect.dsp:
15739         * win32/vs6/gst_launch.dsp:
15740         * win32/vs6/libgstbase.dsp:
15741         * win32/vs6/libgstcontroller.dsp:
15742         * win32/vs6/libgstcoreelements.dsp:
15743         * win32/vs6/libgstdataprotocol.dsp:
15744         * win32/vs6/libgstnet.dsp:
15745           update project files
15746
15747 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
15748
15749         * gst/gstbuffer.c: (gst_subbuffer_class_init):
15750         * gst/gstclock.c: (gst_clock_class_init):
15751         * gst/gstelement.c: (gst_element_class_init):
15752         * gst/gstindex.c: (gst_index_class_init):
15753         * gst/gstindexfactory.c: (gst_index_factory_class_init):
15754         * gst/gstobject.c: (gst_object_class_init),
15755         (gst_signal_object_class_init):
15756         * gst/gstpad.c: (gst_pad_class_init):
15757         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
15758         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
15759         * gst/gstregistry.c: (gst_registry_class_init):
15760         * gst/gstsystemclock.c: (gst_system_clock_class_init):
15761         * gst/gsttask.c: (gst_task_class_init):
15762         * gst/gstxml.c: (gst_xml_class_init):
15763         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
15764         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
15765         (gst_base_src_loop):
15766         * libs/gst/controller/gstcontroller.c:/
15767         (_gst_controller_class_init):
15768         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
15769         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
15770         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
15771         * tests/old/examples/plugins/example.c: (gst_example_class_init):
15772         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
15773         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
15774
15775 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
15776
15777         * gst/gstpad.c: (gst_pad_link):
15778           Must set peer pads before calling the link function, otherwise
15779           a task started from a link function might get a flow-not-linked
15780           result when trying to push because the other thread where the
15781           linking happens hasn't had a chance to set the peers yet. This
15782           might happen for example when a queue gets linked to a downstream
15783           element, as queue starts a streaming task when its source pad
15784           gets linked. Happens in real life when playing back flac/musepack
15785           files in playbin (#332390).
15786           
15787 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
15788
15789         * gst/gstindex.h:
15790         * gst/gstxml.h:
15791         * libs/gst/base/gstadapter.h:
15792         * libs/gst/base/gstbasesink.h:
15793         * libs/gst/base/gstbasesrc.h:
15794         * libs/gst/base/gstbasetransform.h:
15795         * libs/gst/base/gstcollectpads.h:
15796         * libs/gst/base/gstpushsrc.h:
15797         Fix broken GObject macros
15798
15799 2006-04-07  Wim Taymans  <wim@fluendo.com>
15800
15801         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15802         Initialize start and stop times, thanks valgrind.
15803
15804 2006-04-07  Wim Taymans  <wim@fluendo.com>
15805
15806         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15807         Be a bit nicer to badly behaving upstream elements that expect
15808         us to deal with non TIME segments and timestamps (such as fakesrc
15809         in the testsuite).
15810
15811 2006-04-07  Wim Taymans  <wim@fluendo.com>
15812
15813         * gst/gstbus.c:
15814         Small documentation clarification about the signal watch.
15815
15816         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
15817         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
15818         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
15819         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
15820         (gst_base_sink_get_position_last),
15821         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
15822         Convert and store timestamps in stream time and running time, the
15823         raw timestamps are not useful, also document this better.
15824         Use different window sizes for good and bad QoS observations so
15825         we react to badness a little quicker.
15826         Keep track of the amount of rendered and dropped buffers.
15827         Send QoS timestamps in running time.
15828
15829         * libs/gst/base/gstbasetransform.c:
15830         (gst_base_transform_sink_eventfunc),
15831         (gst_base_transform_handle_buffer):
15832         Compare QoS timestamps against running time.
15833
15834 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
15835
15836         * gst/gstpad.c:
15837           Typo fixes in docs.
15838
15839 2006-04-06  Michael Smith  <msmith@fluendo.com>
15840
15841         * gst/gstpad.c: (gst_pad_set_property):
15842           Use g_value_get_object() instead of g_value_dup_gst_object(),
15843           to avoid double-reffing the pad template (which we then sink,
15844           so this worked previously if (and only if) the pad template
15845           was floating.
15846
15847         * gst/gstpadtemplate.c: (gst_pad_template_init),
15848         (gst_pad_template_pad_created):
15849           Never return floating references to pad templates, create
15850           them as initially-sunken.
15851
15852           Document an extra function (and make this stop sinking our
15853           pad template, since that is now guaranteed to do nothing,
15854           since we created it sunken).
15855
15856         * gst/gstghostpad.c:
15857           Fix docs typo.
15858
15859 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
15860
15861         * gst/gstinfo.c: (__gst_in_valgrind):
15862           Add some newlines.
15863
15864         * plugins/elements/gsttypefindelement.c:
15865         (gst_type_find_element_chain):
15866           Don't leak buffer caps.
15867
15868 2006-04-06  Michael Smith  <msmith@fluendo.com>
15869
15870         * gst/parse/grammar.y:
15871           Fix a leak in parse-launch for any source-or-sink named element 
15872           references used.
15873
15874         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
15875           Unref the pipeline if it exists after we've failed parsing.
15876
15877 2006-04-05  Michael Smith  <msmith@fluendo.com>
15878
15879         * gst/gstpipeline.c: (gst_pipeline_init):
15880           When we create a pipeline bus, initially create it in flushing mode.
15881           Fixes leaks in at least one test, and makes a new pipeline work the
15882           same as one that has gone to READY and then back to NULL.
15883
15884         * gst/gstelement.c:
15885           Typo fix in docs.
15886
15887 2006-04-05  Michael Smith  <msmith@fluendo.com>
15888
15889         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
15890           Unref a pad we reffed.
15891         * tests/check/gst/gstutils.c: (GST_START_TEST):
15892           Unref bins
15893
15894 2006-04-05  Michael Smith  <msmith@fluendo.com>
15895
15896         * gst/gstquery.c: (gst_query_set_formats),
15897         (gst_query_set_formatsv):
15898           Fix leaking GValues in queries, as shown by valgrind/testsuite.
15899
15900 2006-04-05  Michael Smith  <msmith@fluendo.com>
15901
15902         * tests/check/generic/sinks.c: (GST_START_TEST):
15903           Fix a variety of memleaks in sinks check, which are only sometimes 
15904           shown by running the tests under valgrind (weird?).
15905
15906 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
15907
15908         * docs/version.entities.in:
15909           Fix the substituted entity name after thomas' changes on the
15910           weekend.
15911
15912 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
15913
15914         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
15915         VALGRIND_PRINTF
15916         
15917 2006-04-05  Andy Wingo  <wingo@pobox.com>
15918
15919         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
15920
15921         * libs/gst/base/gstbasetransform.c
15922         (gst_base_transform_sink_eventfunc): When resetting our segment on
15923         FLUSH_STOP, also update the flag saying we haven't seen a
15924         newsegment.
15925
15926 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
15927
15928         Patch by: Paolo Borelli  <pborelli at katamail dot com>
15929
15930         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
15931         (gst_plugin_check_license):
15932           minor clean-ups: G_DEFINE_TYPE already takes care of the
15933           parent_class stuff, no need to do it twice. Mark array of
15934           license strings as constant. (#337103)
15935           
15936 2006-04-04  Michael Smith  <msmith@fluendo.com>
15937
15938         * tools/gst-inspect.c: (print_element_list):
15939           Free the right plugin list; fixes a memory leak.
15940
15941 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
15942
15943         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
15944
15945         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
15946           Don't error out on empty buffers (#336945).
15947           
15948 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
15949
15950         * docs/libs/gstreamer-libs-sections.txt:
15951         * gst/gsttaglist.c:
15952         * libs/gst/base/gstbasesink.c:
15953         * libs/gst/base/gstbasesink.h:
15954         * libs/gst/base/gstbasesrc.c:
15955         * libs/gst/base/gstbasesrc.h:
15956           Documentation updates. Make BaseSink and BaseSrc docs contain the
15957           class structure so that people can actually see the prototypes for
15958           virtual functions they're supposed to be overriding.
15959
15960 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
15961
15962         * plugins/elements/gsttypefindelement.c:
15963         (gst_type_find_element_chain):
15964           More debug info; when skipping typefinding, send cached
15965           events in all cases.
15966
15967 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
15968
15969         * configure.ac:
15970           use new AS_VERSION and AS_NANO macros
15971         * gst/gst-i18n-lib.h:
15972         * gst/gst.c:
15973         * gst/gsterror.c:
15974         * gst/gstversion.h.in:
15975         * win32/common/config.h:
15976         * win32/common/config.h.in:
15977           update accordingly
15978
15979 2006-03-31  Michael Smith  <msmith@fluendo.com>
15980
15981         * plugins/elements/gsttypefindelement.c:
15982         (gst_type_find_element_chain):
15983           Do not typefind content if the buffers already have caps.
15984           Neccesary for icydemux (#333657), and the right thing to do anyway.
15985
15986 2006-03-30  Wim Taymans  <wim@fluendo.com>
15987
15988         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
15989         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
15990         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
15991         (gst_base_sink_record_qos_observation),
15992         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
15993         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
15994         (gst_base_sink_change_state):
15995         More QoS measurements as described in the design doc.
15996         Get rid of ringbuffer with observations, running average is
15997         more simple and equally good.
15998         Calculates valid proportion now.
15999         Added beginning of flood measurement.
16000
16001 2006-03-29  Wim Taymans  <wim@fluendo.com>
16002
16003         * docs/design/part-qos.txt:
16004         * gst/gstclock.c:
16005         Small documentation updates and additions.
16006
16007 2006-03-29  Wim Taymans  <wim@fluendo.com>
16008
16009         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
16010         (gst_base_src_send_event), (gst_base_src_loop),
16011         (gst_base_src_change_state):
16012         Perform the EOS logic when we reach the segment stop position.
16013         Fix compilation on gcc4.1
16014
16015 2006-03-29  Wim Taymans  <wim@fluendo.com>
16016
16017         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
16018
16019         * plugins/elements/gstqueue.c: (gst_queue_init),
16020         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
16021         (gst_queue_set_property):
16022         * plugins/elements/gstqueue.h:
16023         In queue, when EOS is received, if minimum threshold > max_size -
16024         current_level, there is chance that queue blocks forever in conditional
16025         item del wait. This is because the queue is not emptied completely due
16026         to minimum threshold.  Here is another approach. Instead of setting
16027         cur_levels to max in EOS, just zero all minimum threshold levels. This
16028         should make sure that queue gives out all data. When going to READY
16029         (stop) state, just reset the original minimum threshold levels.
16030         Fixes #336336.
16031
16032 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
16033
16034         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
16035         (gst_type_find_element_handle_event),
16036         (gst_type_find_element_send_cached_events),
16037         (gst_type_find_element_change_state):
16038         * plugins/elements/gsttypefindelement.h:
16039           When typefinding is done in push mode, we should cache
16040           events we receive during typefinding instead of just
16041           dropping them (e.g. newsegment, custom events from
16042           dvdreadsrc etc.) and then send them out once we've
16043           determined the type of the stream (and decodebin
16044           has had a chance to plug in a decoder/demuxer).
16045           
16046 2006-03-27  Wim Taymans  <wim@fluendo.com>
16047
16048         * docs/design/part-qos.txt:
16049         First QoS ideas.
16050
16051 2006-03-27  Wim Taymans  <wim@fluendo.com>
16052
16053         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
16054
16055         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
16056         (gst_base_src_send_event), (gst_base_src_change_state):
16057         Handle element seek correctly when we are streaming.
16058         Fixes #326998.
16059
16060 2006-03-24  Michael Smith  <msmith@fluendo.com>
16061
16062         * docs/faq/gst-uninstalled:
16063           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
16064           allow you to correctly run intalled applications built against old 
16065           core, using plugins that require updated core (e.g. running
16066           installed totem against a full uninstalled gstreamer stack)
16067
16068 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
16069
16070         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
16071         more debug details
16072
16073 2006-03-24  Wim Taymans  <wim@fluendo.com>
16074
16075         * docs/gst/gstreamer-sections.txt:
16076         Rearrange the order of the methods so that related methods
16077         are grouped together in sections.
16078
16079 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
16080
16081         * gst/gstelement.c:
16082           Little clarification in the docs
16083
16084 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
16085
16086         * docs/README:
16087         formatting fix
16088         * plugins/elements/gstidentity.c:
16089         * plugins/elements/gstqueue.c:
16090         * plugins/elements/gsttee.c:
16091         * plugins/elements/gsttypefindelement.c:
16092         GST_ELEMENT_DETAILS formatting
16093
16094 2006-03-24  Wim Taymans  <wim@fluendo.com>
16095
16096         * libs/gst/base/gstbasesink.h:
16097         Only add fields, not insert or we break ABI.
16098
16099 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
16100
16101         * win32/common/libgstbase.def:
16102         * win32/common/libgstreamer.def:
16103           Update, add recently added functions.
16104
16105 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
16106
16107         * docs/gst/gstreamer-sections.txt:
16108         * gst/gstutils.c: (gst_pad_query_peer_position),
16109         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
16110         * gst/gstutils.h:
16111           API: add some new utility functions:
16112            - gst_pad_query_peer_position()
16113            - gst_pad_query_peer_duration()
16114            - gst_pad_query_peer_convert()
16115           
16116 2006-03-23  Wim Taymans  <wim@fluendo.com>
16117
16118         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16119         (gst_base_sink_init), (gst_base_sink_finalize),
16120         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
16121         (gst_base_sink_set_property), (gst_base_sink_get_property),
16122         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
16123         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
16124         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
16125         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16126         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
16127         (gst_base_sink_preroll_object), (gst_base_sink_event),
16128         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
16129         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
16130         (gst_base_sink_query), (gst_base_sink_change_state):
16131         Decouple max-lateness and the fact that QoS messages are generated
16132         with a new property (qos).
16133         added API: GstBaseSink::async_play()
16134         Add vmethod so subclasses can be notified of ASYNC playing
16135         state changes.
16136         Collect timestamp start and stop to report better current
16137         position in EOS/PLAYING/PAUSED/READY/NULL.
16138         Refactor QoS/frame dropping and other measurements.
16139         API: GstBaseSrc::qos
16140         Fixes #326311
16141
16142         * libs/gst/base/gstbasesink.h:
16143         Added Private struct.
16144         API: gst_base_sink_set_qos_enabled()
16145         API: gst_base_sink_is_qos_enabled()
16146
16147 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
16148
16149         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
16150           If compiling against GLib-2.8 or newer, try to read the
16151           registry file using GMappedFile first before falling back
16152           to fopen() + fread() (#332151).
16153
16154 2006-03-22  Wim Taymans  <wim@fluendo.com>
16155
16156         * gst/gstinfo.c: (gst_debug_set_active),
16157         (gst_debug_category_set_threshold):
16158         Disable debugging unless explicitly activated.
16159         Fixes #335480.
16160
16161 2006-03-22  Wim Taymans  <wim@fluendo.com>
16162
16163         * gst/gstelement.c: (gst_element_set_locked_state),
16164         (gst_element_dispose):
16165         Cleanup the error case.
16166
16167         * gst/gstobject.c: (gst_object_dispose):
16168         print a critical when some object was disposed with
16169         a parent, also revive the object since it might
16170         crash the parent.
16171
16172 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
16173
16174         * tools/gst-launch.1.in:
16175           Fix another typo.
16176
16177 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
16178
16179         * configure.ac:
16180         * tests/check/Makefile.am:
16181           disable some tests when we don't have a registry
16182         * tests/check/gst/gstutils.c: (gst_utils_suite):
16183           don't build the part that needs parsing
16184
16185 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
16186
16187         * gst/Makefile.am
16188         * tests/examples/Makefile.am:
16189           fix --disable-parse build
16190
16191 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16192
16193         * tools/gst-feedback.1.in:
16194           Fix typo: s/feeback/feedback/ (#133494).
16195
16196 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16197
16198         * tools/Makefile.am:
16199         * tools/gst-launch.1.in:
16200           Add FILES section and correct entry about GST_REGISTRY_PATH
16201           environment variable (#133495; #133494).
16202
16203 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16204
16205         * tools/Makefile.am:
16206         * tools/gst-md5sum.1.in:
16207         * tools/gst-md5sum.c:
16208           Remove gst-md5sum and man page (the md5sink element
16209           required was removed ages ago)
16210
16211 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16212
16213         * gst/gststructure.c: (gst_structure_id_set_value):
16214           Make sure that string fields in structures/taglists
16215           contain valid UTF-8 - we don't want to pass rubbish to
16216           applications because of a buggy plugin (cp. #334167).
16217
16218 2006-03-21  Edward Hervey  <edward@fluendo.com>
16219
16220         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
16221         (gst_bin_handle_message_func):
16222         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
16223         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
16224         (gst_element_set_bus_func):
16225         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
16226         * gst/gstminiobject.c: (gst_value_set_mini_object),
16227         (gst_value_take_mini_object):
16228         * gst/gstpad.c: (gst_pad_set_pad_template):
16229         * gst/gstpipeline.c: (gst_pipeline_dispose),
16230         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
16231         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
16232         (gst_collect_pads_chain):
16233         * libs/gst/net/gstnettimeprovider.c:
16234         (gst_net_time_provider_set_property):
16235         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
16236         It's in fact all issues with gst_*object_replace().
16237
16238 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16239
16240         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
16241         
16242         * pkgconfig/gstreamer-check-uninstalled.pc.in:
16243         * pkgconfig/gstreamer-check.pc.in:
16244           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
16245
16246 2006-03-21  Edward Hervey  <edward@fluendo.com>
16247
16248         * gst/gstbuffer.h:
16249         * gst/gstevent.h:
16250         * gst/gstmessage.h:
16251         gst_[buffer|event|message]_ref() macros are replaced by a static
16252         inline functions because gcc-4.1 will about if the return value
16253         isn't used.
16254         * tests/check/gst/gstevent.c: (event_probe):
16255         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
16256
16257 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
16258
16259         * gst/gstutils.h:
16260         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
16261         the type' case. (Closes: #335195 for now). In the future, when we
16262         depend on GLib 2.10, we could also intern the type name using
16263         g_intern_static_string()
16264
16265 2006-03-20  Wim Taymans  <wim@fluendo.com>
16266
16267         * gst/gstbin.c: (gst_bin_handle_message_func),
16268         (bin_query_max_init), (bin_query_position_fold),
16269         (bin_query_position_done), (gst_bin_query):
16270         Position query should also take max of all streams.
16271
16272 2006-03-20  Wim Taymans  <wim@fluendo.com>
16273
16274         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
16275         (gst_fake_src_finalize):
16276         Fix leaks in fakesrc.
16277
16278         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
16279         Fix leaks in the testcase.
16280
16281 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
16282
16283         * gst/gst_private.h:
16284           add win32 specific import decoration(__declspec(dllimport)) 
16285           for all extern GstDebugCategory * variables
16286         * win32/common/libgstbase.def:
16287         * win32/common/libgstcontroller.def:
16288         * win32/common/libgstreamer.def:
16289           Add some exports, remove empty lines
16290         * win32/common/libgstdataprotocol.def:
16291         * win32/common/libgstdataprotocol.dsp:
16292         * win32/common/libgstnet.def:
16293         * win32/common/libgstnet.dsp:
16294           new project files and exportation files added
16295         
16296 2006-03-19  Wim Taymans  <wim@fluendo.com>
16297
16298         * tests/check/libs/basesrc.c: (eos_event_counter):
16299         Use proper return value for probe.
16300
16301 2006-03-17  Wim Taymans  <wim@fluendo.com>
16302
16303         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16304         (gst_pad_push):
16305         Don't leak buffers, caps and pads on negotiation errors.
16306
16307 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
16308
16309         * docs/faq/cvs.xml:
16310         * docs/faq/dependencies.xml:
16311         * docs/faq/developing.xml:
16312         * docs/faq/faq.xml:
16313         * docs/faq/general.xml:
16314         * docs/faq/getting.xml:
16315         * docs/faq/legal.xml:
16316         * docs/faq/troubleshooting.xml:
16317         * docs/faq/using.xml:
16318         Faq review and update.
16319
16320 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
16321
16322         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16323         (gst_pad_push):
16324         Don't pound the cpu to pieces by checking get_caps when accept_caps
16325         is called with the same caps as the pad already has.
16326         Use GST_DEBUG_OBJECT when outputting caps change information.
16327
16328 2006-03-15  Wim Taymans  <wim@fluendo.com>
16329
16330         * gst/gstclock.c: (gst_clock_class_init):
16331         Fix docs.
16332
16333 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
16334
16335         * gst/gstbuffer.h:
16336         Documentation fix.
16337
16338         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
16339         (gst_pad_accept_caps), (gst_pad_configure_sink),
16340         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
16341         Make the default acceptcaps behaviour be to check the requested 
16342         caps against the gst_pad_get_caps output. 
16343
16344         Ensure that gst_pad_accept_caps is used to check caps when a pad
16345         doesn't have a setcaps function, so that pads automatically refuse 
16346         caps that they don't allow in their pad template. (Fixes #332986)
16347
16348         When a buffer with attached caps is pushed, ensure that the source 
16349         pad receives those caps even if the element didn't call
16350         gst_pad_set_caps first.
16351
16352 2006-03-15  Wim Taymans  <wim@fluendo.com>
16353
16354         * libs/gst/base/gstadapter.c:
16355         Add some docs.
16356
16357 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
16358
16359         * win32/common/libgstbase.def:
16360         * win32/common/libgstcontroller.def:
16361         * win32/common/libgstreamer.def:
16362           Add a whole bunch of missing functions (#334434).
16363
16364 2006-03-14  Wim Taymans  <wim@fluendo.com>
16365
16366         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
16367         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
16368         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
16369         Better debug info when we receive a segment event.
16370         Reorganize a bit so we can pass the get_times() results around.
16371         Use the segment format when calculating the running time.
16372         Don't do QoS is sync is disabled or we have no clock or the
16373         element does not want us to sync to the clock.
16374         Don't drop buffers if QoS is disabled for now.
16375
16376 2006-03-14  Wim Taymans  <wim@fluendo.com>
16377
16378         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
16379         Marked the stats property as unimplemented so people don't get
16380         wild ideas.
16381         Add debug message when regression goes wrong.
16382         Added some more docs.
16383
16384 2006-03-14  Wim Taymans  <wim@fluendo.com>
16385
16386         * gst/gstsegment.c: (gst_segment_to_stream_time):
16387         Return correct return type in case of errors.
16388
16389 2006-03-14  Wim Taymans  <wim@fluendo.com>
16390
16391         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
16392           Don't segfault on invalid formats.
16393
16394 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
16395
16396         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
16397           Can't use gst_segment_to_running_time() when the segment
16398           is not in GST_TIME_FORMAT (like with filesink, for example).
16399           Stops flac encoding pipelines from spewing critical warnings
16400           at EOS (#331248).
16401           
16402 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
16403
16404         * gst/gstpipeline.c: (gst_pipeline_class_init):
16405           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
16406
16407         * plugins/elements/gsttypefindelement.c:
16408         (gst_type_find_element_handle_event):
16409           Don't try to typefind empty streams.
16410
16411 2006-03-14  Wim Taymans  <wim@fluendo.com>
16412
16413         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
16414         (gst_base_sink_do_qos):
16415         Separate QoS calculation.
16416         Only drop buffers when lateness is bigger than the 
16417         duration of the buffer.
16418
16419 2006-03-13  Wim Taymans  <wim@fluendo.com>
16420
16421         * gst/gstpipeline.c: (gst_pipeline_set_property),
16422         (gst_pipeline_get_property), (do_pipeline_seek),
16423         (gst_pipeline_change_state), (gst_pipeline_set_delay),
16424         (gst_pipeline_get_delay):
16425         Don't deadlock when reading properties.
16426
16427 2006-03-13  Wim Taymans  <wim@fluendo.com>
16428
16429         * libs/gst/base/gstbasetransform.c:
16430         (gst_base_transform_class_init), (gst_base_transform_init),
16431         (gst_base_transform_sink_event),
16432         (gst_base_transform_sink_eventfunc),
16433         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
16434         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
16435         (gst_base_transform_set_property),
16436         (gst_base_transform_get_property),
16437         (gst_base_transform_change_state), (gst_base_transform_update_qos),
16438         (gst_base_transform_set_qos_enabled),
16439         (gst_base_transform_is_qos_enabled):
16440         * libs/gst/base/gstbasetransform.h:
16441         Make basetransform virtual method for src events too.
16442         Handle QOS in basetransform.
16443         API: gst_base_transform_update_qos()
16444         API: gst_base_transform_set_qos_enabled()
16445         API: gst_base_transform_is_qos_enabled()
16446
16447 2006-03-13  Wim Taymans  <wim@fluendo.com>
16448
16449         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16450         (gst_base_sink_do_sync):
16451         Small cleanups.
16452         Use QOS debug category.
16453
16454 2006-03-13  Wim Taymans  <wim@fluendo.com>
16455
16456         * plugins/elements/gstqueue.c:
16457         Very small doc update.
16458
16459 2006-03-13  Wim Taymans  <wim@fluendo.com>
16460
16461         * gst/gst_private.h:
16462         * gst/gstinfo.c: (_gst_debug_init):
16463         Added QOS debug category
16464
16465 2006-03-13  Wim Taymans  <wim@fluendo.com>
16466
16467         * docs/gst/gstreamer-sections.txt:
16468         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
16469         * gst/gstbin.h:
16470         * gst/gstbus.c: (gst_bus_class_init):
16471         * gst/gstbus.h:
16472         * gst/gstclock.c:
16473         * gst/gstelement.c: (gst_element_set_locked_state):
16474         * gst/gstsegment.c:
16475         Documentation updates.
16476
16477         * gst/gstpipeline.c: (gst_pipeline_get_type),
16478         (gst_pipeline_class_init), (gst_pipeline_init),
16479         (gst_pipeline_dispose), (gst_pipeline_set_property),
16480         (gst_pipeline_get_property), (do_pipeline_seek),
16481         (gst_pipeline_send_event), (gst_pipeline_change_state),
16482         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
16483         (gst_pipeline_get_delay):
16484         * gst/gstpipeline.h:
16485         Added methods for setting the delay.
16486         API: gst_pipeline_set_delay()
16487         API: gst_pipeline_get_delay()
16488         Add pipeline debug category
16489         Various cleanups.
16490         Updated docs.
16491         Don't reset stream time when seek failed.
16492
16493 2006-03-13  Wim Taymans  <wim@fluendo.com>
16494
16495         * docs/design/draft-klass.txt:
16496         * docs/design/part-clocks.txt:
16497         * docs/design/part-events.txt:
16498         * docs/design/part-gstbin.txt:
16499         * docs/design/part-gstpipeline.txt:
16500         * docs/design/part-messages.txt:
16501         * docs/design/part-negotiation.txt:
16502         * docs/design/part-overview.txt:
16503         * docs/design/part-preroll.txt:
16504         * docs/design/part-seeking.txt:
16505         * docs/design/part-states.txt:
16506         * docs/design/part-streams.txt:
16507         Documentation updates.
16508
16509 2006-03-12  Julien MOUTTE  <julien@moutte.net>
16510
16511         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
16512         us to leak strings...
16513
16514 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16515
16516         * libs/gst/net/gstnettimeprovider.c:
16517           fix docs
16518         * win32/common/config.h:
16519           update
16520
16521 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
16522
16523         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
16524
16525         * configure.ac:
16526           Don't check for libgnomeui (leftover from old examples
16527           that aren't built or disted any longer) (#334303).
16528           
16529 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
16530
16531         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
16532         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
16533           Emit RESOURCE_NO_SPACE_LEFT error here as well when
16534           there's no space left on the device.
16535
16536 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
16537
16538         * gst/gstclock.h:
16539           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
16540           to cast the input to GstClockTime before comparing with
16541           another GstClockTime value.
16542
16543 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16544
16545         * configure.ac:
16546           back to trunk
16547
16548 === release 0.10.4 ===
16549
16550 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
16551
16552         * configure.ac:
16553           releasing 0.10.4, "Light"
16554
16555 2006-03-10  Michael Smith  <msmith@fluendo.com>
16556
16557         * libs/gst/dataprotocol/dataprotocol.c:
16558           Fix docs for dataprocotol to not get the return types completely
16559           wrong for a few functions.
16560
16561 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16562
16563         * docs/gst/gstreamer-sections.txt:
16564         * gst/gstpipeline.c: (gst_pipeline_class_init),
16565         (gst_pipeline_init), (gst_pipeline_set_property),
16566         (gst_pipeline_get_property), (gst_pipeline_change_state),
16567         (gst_pipeline_set_auto_flush_bus),
16568         (gst_pipeline_get_auto_flush_bus):
16569         * gst/gstpipeline.h:
16570           Add new API: gst_pipeline_set_auto_flush_bus() and
16571           gst_pipeline_get_auto_flush_bus() to disable automatic
16572           flushing of the pipeline's GstBus when going from READY
16573           to NULL state (#332045).
16574
16575 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16576
16577         * docs/gst/gstreamer-sections.txt:
16578         * gst/gsturi.c: (gst_uri_has_protocol):
16579         * gst/gsturi.h:
16580            Add new API: gst_uri_has_protocol() (#333779).
16581
16582 2006-03-09  Wim Taymans  <wim@fluendo.com>
16583
16584         * gst/gstclock.c: (gst_clock_entry_new),
16585         (gst_clock_id_compare_func), (gst_clock_id_wait),
16586         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
16587         (gst_clock_init), (gst_clock_get_internal_time),
16588         (gst_clock_set_master), (do_linear_regression),
16589         (gst_clock_add_observation), (gst_clock_set_property):
16590         * gst/gstclock.h:
16591         Review docs.
16592         Small cleanups.
16593         Fix a possible segfault when the window-size is made smaller.
16594         Calculate jitter before performing the clock wait. Ideally
16595         the clock implementation should calculate jitter but we need
16596         API breakage for that.
16597
16598         * gst/gstsystemclock.c: (gst_system_clock_init):
16599         Docs review.
16600         
16601         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16602         Remove leftover else
16603
16604         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
16605         (gst_systemclock_suite):
16606         Added check to test GST_CLOCK_DIFF.
16607
16608 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16609
16610         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
16611         (gst_type_find_helper_get_range):
16612           If we are provided with the size, we should implement
16613           GstTypeFind::get_length, so that typefind functions who
16614           want to can actually peek at the middle of a file.
16615
16616 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
16617
16618         * docs/manual/advanced-dataaccess.xml:
16619           Add some very very basic error checking.
16620
16621         * docs/pwg/appendix-checklist.xml:
16622           Some updates to the list of things to check when writing an element.
16623
16624 2006-03-08  Wim Taymans  <wim@fluendo.com>
16625
16626         * docs/design/part-element-transform.txt:
16627         Added some docs about the design of tranform elements.
16628
16629         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
16630         (gst_base_src_loop), (gst_base_src_change_state):
16631         Mark buffers with the DISCONT flag.
16632
16633 2006-03-08  Michael Smith  <msmith@fluendo.com>
16634
16635         * gst/gstregistry.h:
16636         * gst/gstregistryxml.c: (gst_registry_save),
16637         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
16638         (gst_registry_xml_save_pad_template),
16639         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
16640         (gst_registry_xml_write_cache):
16641           Rewrite registry-saving to avoid race conditions and check for
16642           failed writes.
16643
16644 2006-03-08  Wim Taymans  <wim@fluendo.com>
16645
16646         * libs/gst/base/gstbasetransform.c:
16647         (gst_base_transform_transform_caps),
16648         (gst_base_transform_transform_size),
16649         (gst_base_transform_prepare_output_buffer),
16650         (gst_base_transform_get_unit_size),
16651         (gst_base_transform_buffer_alloc),
16652         (gst_base_transform_handle_buffer),
16653         (gst_base_transform_change_state):
16654         Cleanups, separate normal flow from errors, add sensible
16655         DEBUG lines.
16656         Don't try to renegotiate when allocating an output buffer.
16657         Also copy DISCONT buffer flag when copying a buffer.
16658         Reset the transform after we finish streaming, not during.
16659
16660 2006-03-08  Wim Taymans  <wim@fluendo.com>
16661
16662         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16663         Use last buffer timestamp in qos message.
16664
16665 2006-03-07  Wim Taymans  <wim@fluendo.com>
16666
16667         Patch by: Christophe Fergeau
16668
16669         * docs/pwg/advanced-tagging.xml:
16670         * docs/pwg/building-pads.xml:
16671           fixes #333416
16672
16673 2006-03-07  Wim Taymans  <wim@fluendo.com>
16674
16675         * docs/libs/gstreamer-libs-sections.txt:
16676         Added basesink new methods.
16677
16678         * gst/gstevent.c:
16679         * gst/gstevent.h:
16680         Docs updates. Flesh out the QoS docs.
16681
16682         * libs/gst/base/gstadapter.c:
16683         Small doc clarification about ownership and flushing.
16684
16685         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
16686         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
16687         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
16688         (gst_base_sink_get_property), (gst_base_sink_do_sync):
16689         * libs/gst/base/gstbasesink.h:
16690         API additions: 
16691         Added new methods to allow subclass to control max-lateness 
16692         and sync.
16693         Generate very basic QoS events based on last sync observation.
16694         Updated docs, fix typo, added some QoS blurb.
16695
16696         * libs/gst/base/gstbasesrc.c:
16697         Remove obsolete _get_state() calls from docs.
16698
16699 2006-03-07  Wim Taymans  <wim@fluendo.com>
16700
16701         * docs/libs/gstreamer-libs-sections.txt:
16702         * libs/gst/base/gstbasetransform.h:
16703         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
16704         Fix docs for GstBaseSrc.
16705
16706 2006-03-07  Wim Taymans  <wim@fluendo.com>
16707
16708         * docs/gst/gstreamer-sections.txt:
16709         * gst/gstbuffer.h:
16710         * gst/gstvalue.c:
16711         * libs/gst/base/gstbasetransform.h:
16712         Small documentation fixes.
16713
16714 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
16715
16716         * gst/gstvalue.c:
16717           Document thread-unsafety of gst_value_register_foo_func()
16718           when used at the same time as gst_value_foo() (#322628).
16719
16720 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
16721
16722         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
16723         (gst_push_src_check_get_range):
16724           Push sources don't support pull mode by default.
16725
16726 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
16727
16728         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
16729         (gst_base_src_init), (gst_base_src_pad_check_get_range),
16730         (gst_base_src_default_check_get_range):
16731         * libs/gst/base/gstbasesrc.h:
16732           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
16733           provide default implementation, and rename
16734           gst_base_src_check_get_range() to
16735           gst_base_src_pad_check_get_range() for clarity.
16736
16737 2006-03-06  Wim Taymans  <wim@fluendo.com>
16738
16739         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
16740         Make property overridable.
16741
16742 2006-03-06  Wim Taymans  <wim@fluendo.com>
16743
16744         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16745         (gst_base_sink_init), (gst_base_sink_set_property),
16746         (gst_base_sink_get_property), (gst_base_sink_do_sync):
16747         * libs/gst/base/gstbasesink.h:
16748         API addition: Make max-lateness a property.
16749
16750 2006-03-06  Wim Taymans  <wim@fluendo.com>
16751
16752         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
16753         (gst_base_sink_do_sync), (gst_base_sink_render_object):
16754         Don't ever draw a frame that is >10ms late.
16755
16756 2006-03-06  Michael Smith  <msmith@fluendo.com>
16757
16758         * gst/gstmessage.c: (_gst_message_copy):
16759           When copying a message, set the parent_refcount of the enclosed
16760           structure to point at the copy, not the original message.
16761
16762 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
16763
16764         Patch by: Christophe Fergeau
16765
16766         * gst/gstutils.h:
16767           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
16768           usable in c++ code (#333417)
16769
16770 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16771
16772         * gst/gstclock.h:
16773           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
16774
16775 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
16776
16777         * libs/gst/base/gstbasetransform.c:
16778         (gst_base_transform_transform_caps):
16779           Make sure caps are writable before passing them to
16780           gst_caps_append().
16781
16782 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
16783
16784         * gst/gsterror.h:
16785           Fix some minor docs errors.
16786
16787 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
16788
16789           Patch by: Ross Burton <ross at burtonini dot com>
16790
16791         * gst/gsterror.c: (_gst_resource_errors_init):
16792         * gst/gsterror.h:
16793           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
16794
16795 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
16796
16797         * gst/gst.c:
16798         Add a check and output a g_warning when GStreamer is built
16799         against GLib 2.6 but running against 2.8 or higher, and vice 
16800         versa. (Closes: #323542)
16801
16802 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
16803
16804         * gst/parse/parse.l:
16805           Commit patch for parse_launch syntax from #331255. Removes 
16806           support for quoted strings and mimetypes when writing filtered 
16807           caps. See the bug report for more details - I'm pretty sure this
16808           obscure feature is not in use by _anyone_ anywhere.
16809
16810           With this simple change, the size of the gstreamer.so here 
16811           drops from 2193KB to 1565KB.
16812
16813 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
16814
16815         * plugins/elements/gsttypefindelement.h:
16816         * plugins/elements/gsttypefindelement.c:
16817         (gst_type_find_element_src_event), (start_typefinding),
16818         (stop_typefinding), (gst_type_find_element_handle_event),
16819         (gst_type_find_element_chain),
16820         (gst_type_find_element_chain_do_typefinding):
16821           Use gst_type_find_helper_for_buffer() for chain-based
16822           typefinding.
16823
16824 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
16825
16826         * plugins/elements/gsttypefindelement.c:
16827         (gst_type_find_element_class_init),
16828         (gst_type_find_element_set_property),
16829         (gst_type_find_element_get_property):
16830           Deprecate "maximum" property (not only was it only taken into
16831           account for typefinding in push-mode anyway, it also was never
16832           actually possible to set it in the first place because the
16833           property was registered with the numeric property ID for the
16834           "minimum" property). Register "maximum" property correctly,
16835           for the sake of future copy'n'pasters. Remove some cruft
16836           from property get/set functions.
16837
16838 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
16839
16840         * plugins/elements/gsttypefindelement.c:
16841         (gst_type_find_element_activate):
16842           Use gst_type_find_helper_get_range() here, so we
16843           can honour the "minimum" property and also emit
16844           the signal with the correct probability of the found caps.
16845
16846 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
16847
16848         * docs/libs/gstreamer-libs-sections.txt:
16849         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
16850         (helper_find_suggest), (gst_type_find_helper_get_range),
16851         (gst_type_find_helper):
16852         * libs/gst/base/gsttypefindhelper.h:
16853           New API: gst_type_find_helper_get_range() (#333042).
16854
16855 2006-03-02  Michael Smith  <msmith@fluendo.com>
16856
16857         * gst/gstregistryxml.c: (load_feature):
16858           Asserting on a failure to read part of the registry is Not Cool.
16859           Just log a warning and return NULL (which is already handled)
16860
16861 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
16862
16863         * win32/common/libgstbase.def:
16864           added export of gst_type_find_helper_for_buffer
16865         * win32/common/libgstbase.def:
16866           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
16867           gst_ghost_pad_get_target
16868
16869 2006-02-28  Wim Taymans  <wim@fluendo.com>
16870
16871         * docs/design/draft-klass.txt:
16872         We use Filter now.
16873         Added Connector to mark elements that are only used to
16874         allow pipeline connections.
16875         Moved Debug to extra feature since most of them are 
16876         functionally something else.
16877
16878 2006-02-28  Wim Taymans  <wim@fluendo.com>
16879
16880         * docs/design/draft-klass.txt:
16881         Some updates and clarifications.
16882
16883 2006-02-28  Wim Taymans  <wim@fluendo.com>
16884
16885         * docs/design/draft-klass.txt:
16886         Proposal for klass field values.
16887
16888         * docs/design/part-streams.txt:
16889         Start of a doc describing stream anatomy.
16890
16891 2006-02-28  Wim Taymans  <wim@fluendo.com>
16892
16893         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
16894         Help the compiler a bit with type registration.
16895         Use existing forward cod path instead of duplicating it when 
16896         handling a message.
16897         
16898         * gst/gstbus.c: (gst_bus_get_type):
16899         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
16900         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
16901         * gst/gstclock.c: (gst_clock_get_type):
16902         * gst/gstelement.c: (gst_element_get_type),
16903         * gst/gstelementfactory.c: (gst_element_factory_get_type):
16904         * gst/gstindexfactory.c: (gst_index_factory_get_type):
16905         * gst/gstminiobject.c: (gst_mini_object_get_type):
16906         * gst/gstpad.c: (gst_pad_get_type):
16907         * gst/gstsegment.c: (gst_segment_get_type):
16908         * gst/gststructure.c: (gst_structure_get_type):
16909         * gst/gstsystemclock.c: (gst_system_clock_get_type):
16910         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
16911         * gst/gstvalue.c:
16912         Help compiler with type registration.
16913
16914         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
16915         Small doc update.
16916
16917 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
16918
16919         * plugins/elements/gsttypefindelement.c:
16920         (gst_type_find_element_handle_event):
16921           When we get an EOS event and have not found a type yet
16922           (most likely because we had not yet accumulated
16923           TYPE_FIND_MIN_SIZE of data yet), try to determine the
16924           type given the data we have so far. Fixes typefinding
16925           for very short streams again, most notably quicktime
16926           redirections as used on Apple's trailer site (#331701).
16927
16928 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
16929
16930         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
16931         (gst_type_find_helper):
16932           Try typefinding factories with the highest rank first.
16933
16934 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
16935
16936         * docs/libs/gstreamer-libs-docs.sgml:
16937         * docs/libs/gstreamer-libs-sections.txt:
16938         * libs/gst/base/gsttypefindhelper.c:
16939           Add section for typefind helper and add documentation
16940           for the old and the new function.
16941
16942 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
16943
16944         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
16945         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
16946         (gst_type_find_helper_for_buffer):
16947         * libs/gst/base/gsttypefindhelper.h:
16948           New API: gst_type_find_helper_for_buffer() (#332723).
16949           
16950 2006-02-27  Michael Smith  <msmith@fluendo.com>
16951
16952         Patch by: Loïc Minier
16953
16954         * configure.ac:
16955         * docs/Makefile.am:
16956         * docs/slides/Makefile.am:
16957           prevent CVS directories getting disted.
16958
16959 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
16960
16961         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
16962           Use the REFCOUNTING category for caps refcounting.
16963           
16964 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
16965
16966         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
16967           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
16968
16969 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
16970
16971         * plugins/elements/gsttypefindelement.c:
16972         (gst_type_find_element_activate):
16973           Use gst_pad_check_pull_range() before _activate_pull()
16974           to avoid unnecessary open/close (see #331690).
16975
16976 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
16977
16978         * gst/gstutils.c:
16979           Docs enhancement: make it crystal clear what the
16980           gst_pad_add_*_probe() callbacks should look like.
16981
16982 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
16983
16984         * libs/gst/base/gstbasesrc.c:
16985           Document how applications can stop recording from
16986           live sources (see #330996).
16987
16988 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
16989
16990         * tests/check/Makefile.am:
16991         * tests/check/libs/basesrc.c: (eos_event_counter),
16992         (basesrc_eos_events_pull), (basesrc_eos_events_push),
16993         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
16994         (gst_basesrc_suite), (main):
16995           ... and add some tests for the base source EOS stuff.
16996
16997 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
16998
16999         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
17000           Test case originally showed the problem fixed below,
17001           but was then amended. Add checks back at the place
17002           where they used to be.
17003
17004 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17005
17006         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
17007         (gst_base_src_init), (gst_base_src_loop),
17008         (gst_base_src_activate_push), (gst_base_src_activate_pull),
17009         (gst_base_src_change_state):
17010         * libs/gst/base/gstbasesrc.h:
17011           Don't unconditionally send EOS when going from PAUSED to
17012           READY state, esp. make sure we don't send two EOS events
17013           in some cases (e.g. one when reaching EOS and one when
17014           going from PAUSED to READY). Also, we don't want to send
17015           EOS events when operating in pull mode. However, we do
17016           want to send an EOS event when shutting down a live
17017           source explicitly, for example (fixes #330996).
17018           
17019 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17020
17021         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
17022           Update src->read_position after a seek when not using mmap.
17023           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
17024
17025 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
17026
17027         * gst/Makefile.am:
17028         * gst/gstparse.h:
17029         * gst/gstutils.c:
17030         * gst/gstutils.h:
17031         Make things work with --disable-parse as they do with 
17032         --disable-load-save - the symbols involved disappear, but the
17033         header is still installed and GST_DISABLE_PARSE is included via
17034         gstconfig.h
17035
17036 2006-02-20  Julien MOUTTE  <julien@moutte.net>
17037
17038         * libs/gst/base/gstbasetransform.c:
17039         (gst_base_transform_change_state): Fix a stupid bug. I was 
17040         sure I compiled that.
17041
17042 2006-02-20  Julien MOUTTE  <julien@moutte.net>
17043
17044         * gst/gstpad.c: (gst_pad_set_blocked_async):
17045         * gst/gstutils.c: (gst_pad_add_data_probe),
17046         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
17047         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
17048         (gst_pad_remove_buffer_probe): Make those function act on the
17049         ghostpad target when it's a ghostpad. (Closes #331727)
17050
17051 2006-02-20  Julien MOUTTE  <julien@moutte.net>
17052
17053         * libs/gst/base/gstbasetransform.c:
17054         (gst_base_transform_change_state): Make basetransform reusable.
17055         (Closes #331898)
17056
17057 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
17058
17059         * docs/random/release:
17060         Move the current documentation of how to do a release to the top
17061         of the file.
17062
17063         * gst/gstbin.c: (gst_bin_class_init),
17064         (gst_bin_handle_message_func):
17065         Allow multiple state-recalculation threads. (Closes #328873)
17066
17067 2006-02-19  Julien MOUTTE  <julien@moutte.net>
17068
17069         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
17070         * gst/gstpad.c: (gst_pad_set_event_function),
17071         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
17072         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
17073         2 strings. You can't use the STR_NULL macro on that.
17074
17075 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
17076
17077         * gst/gstpad.c: (gst_pad_set_event_function),
17078         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
17079         (gst_pad_set_getcaps_function)
17080         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
17081           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
17082           So now, we can use --gst-debug-level=5 on Windows
17083         * win32/common/libgstcontroller.def:
17084           Added export of gst_controller_init
17085         * win32/vs6/libgstcontroller.dsp:
17086           Fixed Release post build configuration
17087
17088 2006-02-17  Wim Taymans  <wim@fluendo.com>
17089
17090         * tests/check/gst/gstquery.c: (GST_START_TEST):
17091         Added another check.
17092
17093 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
17094
17095         * plugins/elements/gsttypefindelement.c: (find_peek):
17096           We can do peeks at non-zero offsets, as long as they
17097           fall within the buffer we have.
17098
17099 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
17100
17101         * tests/check/Makefile.am:
17102         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
17103         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
17104         (parse_suite), (main):
17105           Add testsuite for parse launch syntax
17106
17107 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
17108
17109         * plugins/elements/gsttypefindelement.c:
17110         (gst_type_find_element_chain):
17111           When typefinding is unsuccessful in the chain function, don't
17112           error out immediately. Only error out with NO_CAPS_FOUND if
17113           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
17114           otherwise simply wait for more data so we can try typefinding
17115           again with more data later. Also, don't attempt to typefind
17116           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
17117           this should improve typefinding from network sources where the
17118           size of the first buffer can be somewhat random.
17119
17120 2006-02-14  Wim Taymans  <wim@fluendo.com>
17121
17122         * docs/gst/gstreamer-sections.txt:
17123         * gst/gstpadtemplate.c:
17124         * gst/gstpadtemplate.h:
17125         Fix padtemplate docs, fixes #328805.
17126
17127 2006-02-14  Wim Taymans  <wim@fluendo.com>
17128
17129         * tools/gst-launch.c: (main):
17130         NO_PREROLL is not an ERROR so don't send confusing messages
17131         to the user.
17132
17133 2006-02-14  Wim Taymans  <wim@fluendo.com>
17134
17135         Patch by: Torsten Schoenfeld
17136
17137         * gst/gstregistry.c: (gst_registry_get_default),
17138         (_gst_registry_cleanup):
17139         Protect default registry with lock and ref/sink it.
17140         Fixes #324818
17141
17142 2006-02-14  Wim Taymans  <wim@fluendo.com>
17143
17144         * gst/gstbuffer.c:
17145         * gst/gstquery.c: (gst_query_list_add_format),
17146         (gst_query_set_formatsv), (gst_query_parse_formats_length),
17147         (gst_query_parse_formats_nth):
17148         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
17149         Docs fixes.
17150
17151 2006-02-14  Wim Taymans  <wim@fluendo.com>
17152
17153         * docs/gst/gstreamer-sections.txt:
17154         Reworked query docs.
17155
17156         * gst/gstquery.c: (gst_query_new_formats),
17157         (gst_query_list_add_format), (gst_query_set_formats),
17158         (gst_query_set_formatsv), (gst_query_parse_formats_length),
17159         (gst_query_parse_formats_nth):
17160         * gst/gstquery.h:
17161         Flesh out formats query, added some new methods.
17162         Fix part of #324398.
17163
17164         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
17165         Added query creation tests.
17166
17167 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
17168
17169         * gst/gstpad.c: (fixate_value):
17170         Add a default fixation for fraction lists.
17171
17172 2006-02-13  Wim Taymans  <wim@fluendo.com>
17173
17174         * gst/gsttask.c: (gst_task_init), (gst_task_func),
17175         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
17176         (gst_task_join):
17177         * gst/gsttask.h:
17178         Detect and warn for obvious deadlocks. fixes #320340
17179         Fix error case where lock was not released.
17180
17181         * tests/check/Makefile.am:
17182         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
17183         (task_func), (gst_element_suite), (main):
17184         Add task check.
17185
17186 2006-02-13  Wim Taymans  <wim@fluendo.com>
17187
17188         * docs/gst/gstreamer-sections.txt:
17189         * gst/gstbus.c:
17190         Add new functions to docs.
17191
17192 2006-02-13  Wim Taymans  <wim@fluendo.com>
17193
17194         * docs/design/part-TODO.txt:
17195         Updated TODO list, basesrc supports seeking to non-bytes
17196         formats.
17197
17198         * docs/design/part-element-sink.txt:
17199         Update docs.
17200
17201         * gst/gstbin.c: (bin_replace_message),
17202         (gst_bin_handle_message_func):
17203         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
17204         * gst/gstevent.c: (gst_event_finalize):
17205         * gst/gstpad.c: (gst_pad_event_default_dispatch),
17206         (gst_pad_send_event):
17207         Use shiny new _TYPE_NAME macros.
17208
17209         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17210         Move debug statement up.
17211
17212         * gst/gstelement.c: (gst_element_set_locked_state):
17213         Add some debugging.
17214
17215 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
17216
17217         * docs/gst/gstreamer-sections.txt:
17218         * gst/gstmessage.h:
17219         * gst/gstquery.h:
17220           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
17221           macros (#330906). Also, document the already existing
17222           GST_QUERY_TYPE macro.
17223
17224 2006-02-13  Wim Taymans  <wim@fluendo.com>
17225
17226         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
17227         (event_probe), (GST_START_TEST):
17228         Only events up to the pipeline EOS are counted, there are
17229         some more when going to NULL currently which we don't care
17230         about for now.
17231
17232 2006-02-13  Wim Taymans  <wim@fluendo.com>
17233
17234         * gst/gstpad.c: (gst_pad_send_event):
17235         Correctly check flushing and emit probes. fixes #330125
17236
17237 2006-02-10  Andy Wingo  <wingo@pobox.com>
17238
17239         * gst/gstbus.c (gst_bus_class_init): Declare our private data
17240         structure.
17241         (gst_bus_init): Cache the location of the private data in the
17242         instance structure.
17243         (gst_bus_enable_sync_message_emission) 
17244         (gst_bus_disable_sync_message_emission): Implement new public
17245         functions.
17246         (gst_bus_post): Emit the sync-message signal if the user asked for
17247         it. Fixes #330684.
17248
17249         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
17250         location of the bus-private structure.
17251         (gst_bus_enable_sync_message_emission)
17252         (gst_bus_disable_sync_message_emission): API addition
17253
17254 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
17255
17256         Patch by: Vincent Torri
17257
17258         * docs/pwg/building-boiler.xml:
17259         PWG patch from #326800
17260
17261 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
17262
17263         * configure.ac:
17264         * docs/Makefile.am:
17265         * docs/design/Makefile.am:
17266           Dist design docs.
17267
17268 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
17269
17270         * configure.ac:
17271           back to CVS
17272
17273 === release 0.10.3 ===
17274
17275 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
17276
17277         * configure.ac:
17278           releasing 0.10.3, "Like a virgin"
17279
17280 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
17281
17282         * configure.ac:
17283           2nd prerelease of 0.10.3
17284           Bump libtool versioning.
17285
17286 2006-02-07  Andy Wingo  <wingo@pobox.com>
17287
17288         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
17289         update last_stop if we're in TIME format and the timestamp is
17290         valid.
17291
17292         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
17293         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
17294         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
17295         If we get a new newsegment with a different format, adapt
17296         accordingly.
17297
17298         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
17299         of 0. Not a problem, really.
17300
17301         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
17302         warn if sync=true.
17303
17304 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
17305
17306         * configure.ac:
17307           Prelease of 0.10.3
17308
17309 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
17310
17311         * win32/vs7:
17312           project files updated to the default vs7 configuration
17313         * win32/common/libgstbase.def:
17314         * win32/common/libgstreamer.def:
17315           added new symbols,
17316           removed empty lines,
17317           sorted all exported symbols alphabetically
17318         * win32/common/dirent.c:
17319         * win32/common/dirent.h:
17320         * win32/common/gchar.h:
17321           use windows line end.
17322           
17323 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
17324
17325         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
17326           Send EOS event when stopping.
17327
17328 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
17329
17330         * docs/README:
17331           Tell folks what to do if the plugin-foobar.xml file
17332           hasn't been generated for a newly-added plugin.
17333
17334 2006-02-05  Julien MOUTTE  <julien@moutte.net>
17335
17336         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
17337         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
17338         (gst_collect_pads_start), (gst_collect_pads_stop),
17339         (gst_collect_pads_event): Collectpads now holds a reference
17340         to the GstPad that was added. Indeed we don't want to look
17341         at pads that might just go away with no warning...
17342
17343 2006-02-05  Julien MOUTTE  <julien@moutte.net>
17344
17345         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
17346         (gst_collect_pads_start), (gst_collect_pads_stop),
17347         (gst_collect_pads_event), (gst_collect_pads_chain):
17348         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
17349         Mark Nauwelaerts's patch on bug #328491.
17350
17351 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
17352
17353         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
17354         (gst_utils_suite):
17355           Add some simple tests for gst_parse_bin_from_description() and
17356           gst_bin_find_unconnected_pad() (#329069).
17357
17358 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
17359
17360         * tools/gst-launch.c: (event_loop), (main):
17361           Catch errors during preroll (#320084).
17362
17363 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
17364
17365         * plugins/elements/gsttypefindelement.c:
17366         (gst_type_find_element_activate):
17367           Post TYPE_NOT_FOUND error message when typefinding
17368           is unsuccessful in the activate function as well.
17369
17370 2006-02-02  Wim Taymans  <wim@fluendo.com>
17371
17372         * docs/design/part-element-sink.txt:
17373         Updated doc.
17374
17375 2006-02-02  Wim Taymans  <wim@fluendo.com>
17376
17377         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
17378         (gst_base_sink_render_object),
17379         (gst_base_sink_queue_object_unlocked):
17380         Only keep track of prerollable items when we are 
17381         prerolling.
17382         Before rendering after preroll, always check if we
17383         have queued items.
17384         Added some more debugging.
17385
17386 2006-02-02  Wim Taymans  <wim@fluendo.com>
17387
17388         * gst/gstelement.c: (gst_element_continue_state),
17389         (gst_element_set_state_func), (gst_element_change_state):
17390         Fixed #326576, been running this for quite some time with
17391         no regressions at all.
17392
17393 2006-02-02  Wim Taymans  <wim@fluendo.com>
17394
17395         * common/gst.supp:
17396         Added more suppressions
17397
17398 2006-02-02  Wim Taymans  <wim@fluendo.com>
17399
17400         * docs/design/part-element-sink.txt:
17401         Updated document.
17402
17403         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17404         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
17405         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
17406         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
17407         (gst_base_sink_do_sync), (gst_base_sink_render_object),
17408         (gst_base_sink_preroll_object),
17409         (gst_base_sink_queue_object_unlocked),
17410         (gst_base_sink_queue_object), (gst_base_sink_event),
17411         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
17412         (gst_base_sink_loop), (gst_base_sink_activate_pull),
17413         (gst_base_sink_get_position), (gst_base_sink_change_state):
17414         * libs/gst/base/gstbasesink.h:
17415         Totally refactored matching the design doc.
17416         Use two segments, one to clip incomming buffers and another to
17417         perform sync.
17418         Handle queueing correctly, bypass the queue when playing.
17419         Make EOS cancelable.
17420         Handle errors correctly when operating in pull based mode.
17421
17422         * tests/check/elements/fakesink.c: (GST_START_TEST),
17423         (fakesink_suite):
17424         Added new check for sinks.
17425
17426 2006-02-02  Wim Taymans  <wim@fluendo.com>
17427
17428         * gst/gstsegment.c: (gst_segment_clip):
17429         No reason to refuse to clip when start == -1
17430
17431 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
17432
17433         * docs/README:
17434         * docs/manual/intro-basics.xml:
17435         * docs/manual/intro-preface.xml:
17436         * docs/manual/manual.xml:
17437         * docs/pwg/advanced-dparams.xml:
17438         * docs/pwg/intro-basics.xml:
17439         * docs/pwg/intro-preface.xml:
17440         * docs/pwg/pwg.xml:
17441           describe dparams (controller) for plugins
17442           unify docs a little more
17443
17444 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
17445
17446         * docs/gst/gstreamer-sections.txt:
17447         * gst/gstutils.c: (element_find_unconnected_pad),
17448         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
17449         * gst/gstutils.h:
17450           Add new API: gst_parse_bin_from_description() and
17451           gst_bin_find_unconnected_pad() (#329069).
17452
17453 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
17454
17455         * docs/manual/README:
17456           uncover a nasty detail of the docs build
17457
17458 2006-01-31  Wim Taymans  <wim@fluendo.com>
17459
17460         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
17461         Don't cache duration messages if we're not going to use or
17462         free them.
17463
17464 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
17465
17466         * docs/manual/advanced-dparams.xml:
17467         * docs/pwg/advanced-dparams.xml:
17468           more dparam docs
17469         * gst/gstindex.c:
17470           fix docs
17471         * libs/gst/controller/lib.c: (gst_controller_init):
17472           init just once
17473
17474 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
17475
17476         * gst/gstelement.c: (gst_element_message_full):
17477           also show file/line/func if no additional debug was given
17478
17479 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
17480         
17481         * win32/vs7/grammar.vcproj:
17482           activate copy of autogenerated files for Release mode
17483
17484 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
17485         
17486         * win32/common/libgstreamer.def:
17487           export gst_value_compare
17488
17489 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
17490
17491         * plugins/elements/Makefile.am:
17492         * plugins/elements/gstelements.c:
17493         * plugins/elements/gstfdsink.c: (_do_init),
17494         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
17495         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
17496         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
17497         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
17498         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
17499         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
17500         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
17501         * plugins/elements/gstfdsink.h:
17502         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
17503
17504 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
17505
17506         * docs/manual/advanced-dparams.xml:
17507           describe controller
17508         * docs/manual/advanced-position.xml:
17509         * docs/manual/basics-init.xml:
17510         * docs/manual/manual.xml:
17511         * docs/manual/titlepage.xml:
17512         * docs/pwg/pwg.xml:
17513         * docs/pwg/titlepage.xml:
17514           cleanup xml (more to come)
17515         * libs/gst/controller/gstcontroller.c:
17516           fix typo
17517
17518 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
17519         
17520         * win32/vs6/grammar.dsp:
17521           add autogen of gstmarshal.c,h for Release mode
17522                 
17523 2006-01-30  Wim Taymans  <wim@fluendo.com>
17524
17525         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17526         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
17527         (gst_base_sink_handle_object), (gst_base_sink_event),
17528         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
17529         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
17530         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
17531         (gst_base_sink_deactivate), (gst_base_sink_activate),
17532         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
17533         (gst_base_sink_query), (gst_base_sink_change_state):
17534         Basesink cleanups, remove some old code.
17535         Handle the case where a subclass can preroll in the render
17536         method (mostly audiosinks).
17537         Handle more events.
17538         Remove some locks around variables that are now protected
17539         with the PREROLL_LOCK (clock_id, flushing, ..).
17540         Optimize position query some more, do correct locking.
17541         Remove old code to push queue in state change, this is not
17542         needed anymore since preroll blocks on all prerollable items 
17543         now.
17544         Almost implemented as described in design doc.
17545
17546 2006-01-30  Wim Taymans  <wim@fluendo.com>
17547
17548         * tests/check/gst/gstbin.c: (GST_START_TEST):
17549         Wait for refcount to settle down before checking.
17550
17551 2006-01-30  Wim Taymans  <wim@fluendo.com>
17552
17553         * docs/design/part-element-sink.txt:
17554         Pseudo code overview of desired sink behaviour regarding
17555         preroll.
17556
17557 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17558         * win32/vs6/grammar.dsp:
17559           fix some bugs in Release mode for autogenerated files
17560                 
17561 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17562         * win32/common/libgstbase.def:
17563         * win32/common/libgstreamer.def:
17564           export some new symbols: gst_base_src_set_format,
17565           gst_iterator_next, gst_structure_set_valist
17566
17567 2006-01-29  Julien MOUTTE  <julien@moutte.net>
17568
17569         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
17570         Set pad functions unconditionally. Fixes #329105.
17571
17572 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17573         * win32/vs8:
17574           add vs8 project files created by Sergey Scobich
17575
17576 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
17577
17578         * gst/gstutils.c: (gst_element_unlink_pads):
17579         Don't leak pad references.
17580
17581         * tests/check/elements/fakesink.c: (GST_START_TEST):
17582         * tests/check/generic/sinks.c: (GST_START_TEST):
17583         * tests/check/generic/states.c: (GST_START_TEST):
17584         * tests/check/gst/gstbin.c: (GST_START_TEST):
17585         * tests/check/gst/gstcaps.c: (GST_START_TEST):
17586         * tests/check/gst/gstelement.c: (GST_START_TEST):
17587         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
17588         * tests/check/gst/gstiterator.c: (GST_START_TEST):
17589         * tests/check/gst/gstvalue.c: (GST_START_TEST):
17590         Fix a bunch of leaks. Make generic/sinks.c
17591         use a bit less cpu by slowing the buffer rate
17592         between fakesrc and fakesink.
17593         
17594 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
17595         * gst/gstcaps.c:
17596         * gst/gstelement.c: (gst_element_send_event):
17597         * gst/gstevent.c:
17598         * gst/gstinfo.c:
17599         * gst/gstiterator.c:
17600         * gst/gstiterator.h:
17601         * gst/gstpad.c: (gst_pad_send_event):
17602         * gst/gststructure.c:
17603         * gst/gsturi.c:
17604         * gst/gstutils.c:
17605         * gst/gstvalue.c:
17606         * libs/gst/base/gstadapter.c:
17607           doc fixes, to link to function, just write gst_cool_function(), don't
17608           prefix with '#'
17609
17610 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
17611
17612         * plugins/elements/gsttee.c: (gst_tee_do_push),
17613         (gst_tee_handle_buffer):
17614         Always prefer an actual return value from a src
17615         pad in place of NOT_LINKED. This means we return
17616         WRONG_STATE when all src pads are WRONG_STATE
17617         instead of NOT_LINKED.
17618
17619         Lock when replacing the last message to prevent
17620         racing with the get_property method.
17621
17622         Add debug output
17623
17624 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
17625
17626         * tests/check/Makefile.am:
17627         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
17628         (main):
17629         Add a very simple check that should have caught the memleak I fixed
17630         last night (if not for the slice allocator hiding it)
17631
17632 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
17633
17634         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
17635         (gst_bin_remove_func), (gst_bin_handle_message_func),
17636         (bin_query_duration_fold), (bin_query_generic_fold):
17637         Clean up references to the clock provider when disposed or when
17638         handling a clock-lost message from it.
17639
17640         Unref sinks when performing a query via gst_iterator_fold, as the
17641         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
17642
17643         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
17644         (gst_clock_set_master):
17645         Drop our reference to the master clock, if any, when we are disposed.
17646
17647         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
17648         Chain up in dispose. 
17649
17650 2006-01-26  Wim Taymans  <wim@fluendo.com>
17651
17652         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17653         Add some debugging.
17654
17655 2006-01-26  Julien MOUTTE  <julien@moutte.net>
17656
17657         * plugins/elements/gsttee.c: (gst_tee_do_push),
17658         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
17659         handles pad being NOT_LINKED or in WRONG_STATE.
17660
17661 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
17662
17663         * win32/MANIFEST:
17664           more updating
17665
17666 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
17667
17668         * win32/MANIFEST:
17669           remove obsolete entry
17670
17671 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
17672
17673         * docs/gst/gstreamer-sections.txt:
17674         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
17675         (gst_bin_iterate_sources), (gst_bin_send_event):
17676         * gst/gstbin.h:
17677         * gst/gstelement.c: (gst_element_send_event):
17678         * gst/gstevent.c:
17679         * gst/gstpad.c: (gst_pad_send_event):
17680           added code for downstream events, reviewed docs in gstevent.c
17681
17682 2006-01-25  Julien MOUTTE  <julien@moutte.net>
17683
17684         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
17685         We only query position using the clock in the playing state.
17686         Query peer in the other cases.
17687         * win32/common/config.h: Updates.
17688
17689 2006-01-24  Wim Taymans  <wim@fluendo.com>
17690
17691         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
17692         A clock entry that is scheduled for the exact time of the
17693         clock is still in time.
17694
17695         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17696         (gst_base_sink_do_sync):
17697         Add some more debug info.
17698
17699 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
17700
17701         * win32/vs7:
17702           Add new vs7 project files and solution.
17703
17704 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
17705
17706         * win32/vs7:
17707           all files removed as they were out-dated.
17708
17709 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17710
17711         * docs/random/release:
17712           update notes
17713         * gst/gstbin.c: (gst_bin_init):
17714         * gst/gstbus.c: (gst_bus_new):
17715         * gst/gstbus.h:
17716         * gst/gstpipeline.c: (gst_pipeline_init):
17717           use gst_bus_new(), improve logging, fix docs
17718         * win32/common/config.h:
17719           update for cvs build
17720
17721 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17722
17723         * autogen.sh:
17724           up required version of automake to 1.7
17725
17726 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
17727
17728         * win32/common/libgstreamer.def:
17729           export gst_buffer_is_metadata_writable
17730
17731 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
17732
17733         * docs/gst/gstreamer-sections.txt:
17734         * gst/gstevent.h:
17735           Add gst_event_replace() (#327001)
17736
17737 2006-01-20  Wim Taymans  <wim@fluendo.com>
17738
17739         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
17740         Make it actually compile too..
17741
17742 2006-01-20  Wim Taymans  <wim@fluendo.com>
17743
17744         * gst/gstcaps.c:
17745         Clarify behaviour of _is_equal() when passing NULL parameters.
17746
17747         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
17748         (gst_pad_set_caps):
17749         Cleanups. Don't unref NULL caps.
17750         When setting the same caps, protect caps of the pad with
17751         proper lock.
17752         Use full functionality of _is_equal() when comparing caps.
17753
17754 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
17755
17756         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
17757         Don't loop infinitely if there are no buffers to present. Partially
17758         fixes #327197, but collectpads is just broken for reusing elements
17759         to do multiple encodes atm.
17760
17761 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
17762
17763         * tools/gst-inspect.c: (print_element_features):
17764         * tools/gst-xmlinspect.c: (main):
17765         URL_HANDLER is not a plugin feature we can search for in
17766         the registry.
17767
17768 2006-01-19  Edward Hervey  <edward@fluendo.com>
17769
17770         * gst/gstelement.c: (gst_element_pads_activate): 
17771         When activating, do src pads first, then sink pads.
17772         When de-activating, do sink pads first, then src pads.
17773
17774 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17775
17776         * docs/gst/gstreamer-sections.txt:
17777         Add gst_index_add_associationv to the docs
17778
17779 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17780
17781         * gst/gstevent.c:
17782           Fix docs typo
17783
17784         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
17785         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
17786           Do some refactoring. Doesn't actually change functionality,
17787           but makes landing the DRAIN event easier later.
17788
17789 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
17790
17791         * docs/pwg/advanced-scheduling.xml:
17792           Update from 0.9.x to 0.10 API and make example a bit
17793           clearer.
17794
17795 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17796
17797         * docs/gst/gstreamer-sections.txt:
17798         Add gst_buffer_(is|make)_metadata_writable methods.
17799
17800 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17801
17802         * docs/design/part-sparsestreams.txt:
17803         Update sparse streams doc, hopefully for greater clarity
17804
17805 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
17806
17807         * docs/design/part-events.txt:
17808         Remove mention of FILLER events.
17809         Add DRAIN event.
17810
17811         * docs/design/part-sparsestreams.txt:
17812         Write some things about using NEWSEGMENT to keep sparse streams
17813         flowing.
17814
17815 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
17816
17817         * gst/gstbin.c: (gst_bin_dispose):
17818           Guard gst_object_unref call against a NULL object (dispose
17819           can theoretically be called multiple times).
17820           
17821 2006-01-18  Wim Taymans  <wim@fluendo.com>
17822
17823         * gst/gstbin.c: (gst_bin_element_set_state):
17824         * gst/gstclock.c: (gst_clock_id_wait):
17825         Added some more debug info.
17826
17827         * libs/gst/base/gstadapter.c:
17828         Added more docs.
17829
17830         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17831         (gst_base_sink_do_sync), (gst_base_sink_chain):
17832         Added some comments.
17833
17834 2006-01-18  Wim Taymans  <wim@fluendo.com>
17835
17836         * tests/check/Makefile.am:
17837         * tests/check/elements/fakesink.c: (chain_async_buffer),
17838         (chain_async), (chain_async_return), (GST_START_TEST),
17839         (fakesink_suite), (main):
17840         Added fakesink test that checks prerolling and clipping
17841         behaviour.
17842
17843         * tests/check/gst/gstutils.c: (GST_START_TEST):
17844         Make check run faster so that buildbots don't timeout.
17845
17846 2006-01-18  Wim Taymans  <wim@fluendo.com>
17847
17848         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17849         (gst_base_sink_do_sync):
17850         Some cleanups.
17851         When the sink finishes blocking on the preroll buffer, it can
17852         immediatly render it instead of rendering when the next buffer
17853         arrives.
17854
17855 2006-01-18  Wim Taymans  <wim@fluendo.com>
17856
17857         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
17858         (gst_base_sink_get_property), (gst_base_sink_do_sync),
17859         (gst_base_sink_chain):
17860         Small cleanups.
17861         GST_ELEMENT_CLOCK and sync are protected with LOCK.
17862         Don't store _last_stop if the buffer is dropped.
17863
17864 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
17865
17866         * plugins/elements/gsttypefindelement.c:
17867         (gst_type_find_element_class_init):
17868           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
17869           object method handler that sets the caps on the pad and we want
17870           that to happen before we emit the signal (fixes e.g. feeding a
17871           plain text file to decodebin).
17872
17873 2006-01-18  Christian Schaller  <Christian@fluendo.com>
17874
17875         * gst/gstplugin.c: Add MPL and Proprietary as license options
17876
17877 2006-01-18  Andy Wingo  <wingo@pobox.com>
17878
17879         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
17880         symbol was exported before, it appears this was just an oversight.
17881         Fixes #168703.
17882         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
17883
17884         * gst/gstindex.c (gst_index_add_associationv): Changed int in
17885         prototype to gint. OK since this prototype was not in the header.
17886
17887 2006-01-17  Andy Wingo  <wingo@pobox.com>
17888
17889         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
17890         registry while we remove plugins.
17891
17892         * tools/gst-inspect.c (print_element_info): Don't unref the
17893         factory arg, that should be the responsibility of whatever code
17894         received the ref. Fixes a double-free when called from
17895         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
17896         (main): Unref the factory if we have one.
17897         (print_element_list): No change -- relies on the
17898         plugin_feature_list_free to free the list of features.
17899
17900 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
17901
17902         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
17903         (gst_buffer_make_metadata_writable):
17904         * gst/gstbuffer.h:
17905         * libs/gst/base/gstbasetransform.c:
17906         (gst_base_transform_prepare_output_buf):
17907         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
17908         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17909           Replace gst_buffer_(make|is)_metadata_writable patch now
17910           that the release is out.
17911
17912 2006-01-17  Andy Wingo  <wingo@pobox.com>
17913
17914         * gst/gstregistry.c: Reflow design comment. Update so as to speak
17915         in the present tense without reference to versions.
17916
17917         * gst/gstregistry.c (gst_registry_add_plugin)
17918         (gst_registry_remove_plugin, gst_registry_remove_feature)
17919         (gst_registry_find_feature, gst_registry_get_feature_list)
17920         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
17921         (gst_registry_lookup, gst_registry_scan_path)
17922         (_gst_registry_remove_cache_plugins)
17923         (gst_registry_get_feature_list_by_plugin): Add argument
17924         validation.
17925
17926 === release 0.10.2 ===
17927
17928 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
17929
17930         * configure.ac:
17931           releasing 0.10.2, "If man is five"
17932
17933 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
17934
17935         * gst/gstbuffer.c:
17936         * gst/gstbuffer.h:
17937         * libs/gst/base/gstbasetransform.c:
17938         (gst_base_transform_prepare_output_buf):
17939         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
17940         * tests/check/gst/gstbuffer.c: (gst_test_suite):
17941           Back out patch until after the release.
17942
17943 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
17944
17945         * gst/gstminiobject.c:
17946           Spelling fix in docs.
17947         * ChangeLog - remove conflict indicator
17948
17949 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
17950
17951         Reviewed By: Andy Wingo
17952
17953         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
17954         (gst_buffer_make_metadata_writable):
17955         * gst/gstbuffer.h:
17956           Add gst_buffer_(is|make)_metadata_writable as analogues of
17957           gst_buffer_(is|make)_writable.
17958
17959         * libs/gst/base/gstbasetransform.c:
17960         (gst_base_transform_prepare_output_buf):
17961         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
17962           Use name gst_buffer_(is|make)_metadata_writable functions.
17963
17964         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17965           Test gst_buffer_(is|make)_metadata_writable
17966         
17967           (Closes: #324162)
17968
17969 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
17970
17971         * docs/manual/Makefile.am:
17972           don't do parallel make
17973         * configure.ac:
17974           AC_SUBST HOST_CPU
17975         * win32/common/config.h.in:
17976           add generations for HOST_CPU and GST_MAJORMINOR
17977         * win32/common/config.h:
17978           commit generated result
17979
17980 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
17981
17982         * docs/manual/appendix-integration.xml:
17983           Update GNOME integration section to use gst_init_get_option_group()
17984           instead of the old popt stuff (#322911). Also, GNOME applications
17985           should  now use gconf*sink and gconf*src instead of the old gconf
17986           helper lib we had.
17987
17988 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
17989
17990
17991         * docs/gst/gstreamer-docs.sgml:
17992         * docs/gst/gstreamer-sections.txt:
17993         * docs/libs/gstreamer-libs-sections.txt:
17994           add new API entries to the docs
17995         * libs/gst/controller/Makefile.am:
17996         * libs/gst/controller/gstcontroller.c:
17997         * libs/gst/controller/gstcontroller.h:
17998         * libs/gst/controller/gstcontrollerprivate.h:
17999         * libs/gst/controller/gsthelper.c:
18000         * libs/gst/controller/gstinterpolation.c:
18001           move private structs to private header
18002         * po/README:
18003           gstreamer-0.7 -> gstreamer-0.10
18004         * tests/check/libs/struct_i386.h:
18005           remove private structs
18006
18007 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
18008
18009         * plugins/indexers/Makefile.am:
18010           Fixes as part of #317048
18011
18012 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
18013
18014         * plugins/indexers/Makefile.am:
18015           fix #316086 - compilation when mmap is missing
18016
18017 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
18018
18019         * libs/gst/base/gstbasesink.c:
18020           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
18021           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
18022         * win32/common/config.h:
18023           added some defines GST_MAJORMINOR and HOST_CPU
18024         * win32/common/libgstbase.def:
18025         * win32/common/libgstreamer.def:
18026           added some exported functions.
18027
18028 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
18029
18030         * libs/gst/controller/gstcontroller.c:
18031         (gst_controlled_property_set_interpolation_mode),
18032         (gst_controlled_property_new):
18033         * libs/gst/controller/gstcontroller.h:
18034         * libs/gst/controller/gstinterpolation.c:
18035         (interpolate_none_get_string_value_array):
18036           make G_TYPE_STRING controlable
18037
18038 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
18039
18040         * tools/README:
18041         * tools/gst-feedback.1.in:
18042         * tools/gst-inspect.1.in:
18043         * tools/gst-launch.1.in:
18044         * tools/gst-md5sum.1.in:
18045         * tools/gst-typefind.1.in:
18046         * tools/gst-xmlinspect.1.in:
18047         * tools/gst-xmllaunch.1.in:
18048           cleanup man-pages, remove reference to gst-register, document env-vars
18049
18050 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
18051
18052         * gst/gstbuffer.c: (gst_buffer_span):
18053           gst_buffer_span should copy the timestamp of the first buffer
18054           if they were both originally overlapping subbuffers of the 
18055           same parent, using the same logic as the 'slow copy' case.
18056
18057 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
18058
18059         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
18060           Need to awaken ALL the pads when we pop a buffer, otherwise
18061           collectpads only works when there is 2 input streams.
18062
18063 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
18064
18065         * docs/random/ensonic/media-device-daemon.txt:
18066           more ideas (dbus)
18067         * gst/gstbuffer.c:
18068           fix doc example, add clarification
18069         * tools/gst-launch.1.in:
18070           add initial info about GST_PLUGIN_PATH, needs more work
18071
18072 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
18073
18074         * docs/manual/basics-bins.xml:
18075         * docs/manual/basics-elements.xml:
18076         * docs/manual/intro-basics.xml:
18077           Some more minor docs additions and updates.
18078
18079 2006-01-11  Wim Taymans  <wim@fluendo.com>
18080
18081         * docs/manual/basics-bins.xml:
18082         * docs/manual/basics-elements.xml:
18083         Some small fixes as pointed out by Ser-ver on IRC.
18084
18085 2006-01-10  Edward Hervey  <edward@fluendo.com>
18086
18087         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
18088         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
18089         the single-segment mode.
18090
18091 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
18092
18093         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
18094
18095         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
18096         (gst_base_src_perform_seek), (gst_base_src_send_event),
18097         (gst_base_src_set_property), (gst_base_src_get_property),
18098         (gst_base_src_loop), (gst_base_src_start),
18099         (gst_base_src_activate_push):
18100         * libs/gst/base/gstbasesrc.h:
18101           Name (private) union; makes Sun's Forte compiler happy (#324900).
18102
18103 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
18104
18105         * README:
18106           gst-register is gone.
18107
18108 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
18109
18110         * gst/gstvalue.c: (_gst_value_initialize):
18111           make the G_TYPE_DATE instantiation work if debug is disabled
18112
18113 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
18114
18115         * gst/gstmessage.c: (gst_message_parse_tag),
18116         (gst_message_parse_error), (gst_message_parse_warning):
18117           Don't crash when return location for error/warning debug
18118           string is NULL; add fact that return locations can be
18119           NULL to docs where appropriate.
18120
18121 2006-01-05  Wim Taymans  <wim@fluendo.com>
18122
18123         * gst/gstplugin.c: (gst_plugin_load_file):
18124         Replace strdup by g_strdup.
18125
18126 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18127
18128         * docs/pwg/advanced-types.xml:
18129           fix doc borkage
18130
18131 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18132
18133         submitted by: Abel Cheung
18134
18135         * po/LINGUAS:
18136         * po/zh_TW.po:
18137           Added Chinese (traditional) translation
18138
18139 2006-01-04  Wim Taymans  <wim@fluendo.com>
18140
18141         * docs/manual/basics-pads.xml:
18142         * docs/plugins/Makefile.am:
18143         * docs/plugins/gstreamer-plugins-docs.sgml:
18144         * docs/plugins/gstreamer-plugins-sections.txt:
18145         * docs/pwg/advanced-clock.xml:
18146         * docs/pwg/advanced-scheduling.xml:
18147         * docs/pwg/advanced-types.xml:
18148         * plugins/elements/gstfdsink.c:
18149         * plugins/elements/gstfdsrc.c:
18150         * plugins/elements/gstfdsrc.h:
18151         * plugins/elements/gstidentity.c: (gst_identity_class_init):
18152         * plugins/elements/gstidentity.h:
18153         * plugins/elements/gstqueue.h:
18154         * plugins/elements/gsttee.c:
18155         * plugins/elements/gsttee.h:
18156         * plugins/elements/gsttypefindelement.c:
18157         (gst_type_find_element_class_init):
18158         * plugins/elements/gsttypefindelement.h:
18159         Small updates to various docs.
18160         Added core plugins to docs.
18161
18162 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18163
18164         * common/gst.supp:
18165           add a suppression for liboil's uninitialized variable
18166
18167 2006-01-02  James Livingston  <jrl at ids dot org dot au>
18168
18169         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
18170
18171         * gst/gstutils.h:
18172           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
18173           macro, so that gcc doesn't complain if the -Wmissing-prototypes
18174           compiler switch is being used (#325429).
18175
18176 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
18177
18178         * gst/gstbin.c: (gst_bin_query):
18179           Disable duration query caching in bins until it gets
18180           fixed (see #324807).
18181
18182 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
18183
18184         * tools/gst-inspect.c: (print_element_properties_info):
18185           Handle properties of POINTER and BOXED type.
18186
18187 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
18188
18189         * gst/gst.c: (init_post):
18190           Init tags stuff and some other things before loading
18191           any static plugins (there may be other static plugins
18192           than just the GStreamer ones, and they may want to
18193           register their own tags or formats or whatever, and
18194           preferably without segfaulting).
18195
18196         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
18197           Print at least a warning in the debug logs if we drop a
18198           query just because we don't know how to adjust the value
18199           in the particular format.
18200
18201 2005-12-24  David Schleef  <ds@schleef.org>
18202
18203         * tools/gstreamer-completion:
18204           Replacement for gst-complete written in sh and sed.  Only
18205           completes names of features, but that's 90% of what I want
18206           it for.  Properties are not available in registry.xml.  (Maybe
18207           they should be...)
18208
18209 === release 0.10.1 ===
18210
18211 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
18212
18213         * configure.ac:
18214           releasing 0.10.1, "Nollaig chridheil"
18215
18216 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
18217
18218         * docs/faq/cvs.xml:
18219           Add missing quote, should be make ERROR_CFLAGS="".
18220
18221 2005-12-20  Wim Taymans  <wim@fluendo.com>
18222
18223         * docs/design/part-trickmodes.txt:
18224         More documentation on trickmodes.
18225
18226 2005-12-20  Edward Hervey  <edward@fluendo.com>
18227
18228         * gst/gstcaps.c: (gst_static_caps_get_type):
18229         * gst/gstcaps.h:
18230           API addition: GST_TYPE_STATIC_CAPS
18231         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
18232         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
18233         * gst/gstpadtemplate.h:
18234           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
18235         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
18236         bindings.
18237
18238 2005-12-18  Wim Taymans  <wim@fluendo.com>
18239
18240         * libs/gst/base/gstadapter.c:
18241         * libs/gst/base/gstadapter.h:
18242         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
18243         (gst_base_sink_get_position):
18244         * libs/gst/base/gstbasesink.h:
18245         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18246         (gst_base_src_default_query), (gst_base_src_default_do_seek),
18247         (gst_base_src_do_seek), (gst_base_src_perform_seek),
18248         (gst_base_src_send_event), (gst_base_src_update_length),
18249         (gst_base_src_get_range), (gst_base_src_loop),
18250         (gst_base_src_start):
18251         * libs/gst/base/gstbasesrc.h:
18252         * libs/gst/base/gstbasetransform.h:
18253         * libs/gst/base/gstcollectpads.h:
18254         * libs/gst/base/gstpushsrc.c:
18255         * libs/gst/base/gstpushsrc.h:
18256         * libs/gst/dataprotocol/dataprotocol.c:
18257         * libs/gst/dataprotocol/dataprotocol.h:
18258         * libs/gst/net/gstnetclientclock.h:
18259         * libs/gst/net/gstnettimeprovider.h:
18260         Documentation updates.
18261
18262 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
18263
18264         * docs/manual/basics-helloworld.xml:
18265           Remove superfluous closing bracket in helloworld example.
18266
18267 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
18268
18269         * tools/gst-launch.1.in:
18270           Update gst-launch man page; add a section with useful
18271           environment variables. Fixes #323882.
18272
18273 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
18274
18275         * gst/gst.c:
18276         * gst/gst_private.h:
18277           change some char* into char[]
18278
18279 2005-12-16  Wim Taymans  <wim@fluendo.com>
18280
18281         * gst/gstregistryxml.c: (load_feature):
18282         Cleanups.
18283         Don't use g_object_unref on GstObjects so that we avoid
18284         leaks on unsafe glibs.
18285
18286 2005-12-16  Wim Taymans  <wim@fluendo.com>
18287
18288         * gst/gstbin.c: (gst_bin_recalc_state):
18289         Small doc updates.
18290
18291 2005-12-16  Wim Taymans  <wim@fluendo.com>
18292
18293         * common/check.mak:
18294         Added make forever target for check.
18295
18296 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18297
18298         * gst/gst.c: (init_post):
18299           make the registry cache file HOST_CPU-dependent
18300
18301 2005-12-16  Andy Wingo  <wingo@pobox.com>
18302
18303         * plugins/elements/gstbufferstore.c
18304         (gst_buffer_store_cleared_func): Pay attention to g_list_append
18305         return value.
18306
18307         * tests/check/gst/gstobject.c
18308         (test_fake_object_name_threaded_unique): Pay attention to
18309         g_list_sort return value.
18310
18311 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
18312
18313         * tools/gst-feedback-m.m:
18314           Update for 0.9/0.10 (fixes #323870).
18315
18316 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
18317
18318         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
18319           Fix lcopy for mini objects, the mini object needs to be ref'ed.
18320           
18321         * tests/check/gst/gstminiobject.c: (my_foo_init),
18322         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
18323         (test_value_collection), (gst_mini_object_suite):
18324           Add test to ensure refcounts end up as expected when passing
18325           GstMiniObjects through g_object_get() and g_object_set().
18326
18327 2005-12-14  Julien MOUTTE  <julien@moutte.net>
18328
18329         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
18330         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
18331         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
18332         of collectpads. This version removes a lot of races without
18333         touching API/ABI. Yay !
18334
18335 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
18336
18337         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
18338           Don't allow activation of a srcpad in pull_range if it has no
18339           getrange function.
18340           Change some debug statements to be a little clearer
18341
18342         * plugins/elements/gsttypefindelement.c:
18343         (gst_type_find_handle_src_query):
18344           Check that we have a peer before executing queries thereupon.
18345
18346         * tests/examples/metadata/read-metadata.c: (message_loop):
18347           Use gst_bus_pop instead of gst_bus_poll when we just want it to
18348           immediately return us any available message with 0 timeout.
18349
18350 2005-12-12  Michael Smith  <msmith@fluendo.com>
18351
18352         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
18353           Don't unref factories after calling them.
18354         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
18355         * plugins/elements/gsttypefindelement.c:
18356         (gst_type_find_element_chain):
18357           Free lists of factories after using them. Fixing typefinding memory
18358           leaks.
18359
18360 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18361
18362         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
18363         (gst_plugin_feature_load):
18364           more meaningful debug output
18365         * configure.ac:
18366         * tests/Makefile.am:
18367         * tests/old/examples/Makefile.am:
18368           make make distcheck happy again
18369
18370 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
18371
18372         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
18373           Catch the special case where we are operating chain-based,
18374           but the downstream peer pad has no chain function. Emit a
18375           custom error message in this case instead of letting the
18376           core generate one implying that this is some sort of core
18377           bug. It's not, it just means that whatever got plugged
18378           into the pipeline downstream when we announced the type
18379           can only operate pull-based, while our source can only
18380           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
18381           Error string has not been marked for translation yet, as
18382           it probably needs some more work first.
18383
18384         (gst_type_find_element_get_best_possibility):
18385           Add helper function to find the best of all available
18386           found possibilities that qualify given the min. threshold.
18387
18388         (gst_type_find_element_handle_event):
18389           Fix the case where we get an EOS while still in TYPEFIND
18390           mode (we want to chose the best of all possible types,
18391           not just the first type that happens to be in our unsorted
18392           list of possible types).
18393
18394         (gst_type_find_element_chain):
18395           Make sure we return GST_FLOW_ERROR when we errored out
18396           in stop_typefinding(); also, don't just find the best of
18397           all found type entries and then use the last examined
18398           type entry, but actually use the best entry.
18399
18400 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
18401
18402         * tests/examples/typefind/typefind.c: (type_found):
18403         * tests/examples/xml/runxml.c: (xml_loaded):
18404           More gcc4 fixes and a mem leak fix.
18405
18406 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18407
18408         * tests/examples/xml/createxml.c: (object_saved):
18409           gcc 4 fixes
18410
18411 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18412
18413         * tests/Makefile.am:
18414           enable the examples even more
18415
18416 2005-12-12  Andy Wingo  <wingo@pobox.com>
18417
18418         * libs/gst/net/gstnettimeprovider.c
18419         (gst_net_time_provider_class_init, gst_net_time_provider_init)
18420         (gst_net_time_provider_set_property)
18421         (gst_net_time_provider_get_property):
18422         API addition: Export "active" as a GObject property.
18423         (gst_net_time_provider_thread): Only respond to time queries if
18424         the time provider is active.
18425
18426         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
18427         NetTimeProvider, preserving binary compat.
18428
18429 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18430
18431         * tests/examples/controller/audio-example.c: (main):
18432         * tests/examples/launch/Makefile.am:
18433           convert comments again
18434
18435 2005-12-12  Wim Taymans  <wim@fluendo.com>
18436
18437         * libs/gst/base/gstpushsrc.c:
18438         Fix typo.
18439
18440 2005-12-12  Wim Taymans  <wim@fluendo.com>
18441
18442         * docs/libs/gstreamer-libs-sections.txt:
18443         Added new symbol to docs.
18444
18445         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18446         (gst_base_src_init), (gst_base_src_set_format),
18447         (gst_base_src_default_query), (gst_base_src_query),
18448         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
18449         (gst_base_src_perform_seek), (gst_base_src_send_event),
18450         (gst_base_src_default_event), (gst_base_src_event_handler),
18451         (gst_base_src_set_property), (gst_base_src_get_property),
18452         (gst_base_src_wait), (gst_base_src_do_sync),
18453         (gst_base_src_update_length), (gst_base_src_get_range),
18454         (gst_base_src_check_get_range), (gst_base_src_loop),
18455         (gst_base_src_default_negotiate), (gst_base_src_start),
18456         (gst_base_src_activate_push), (gst_base_src_activate_pull),
18457         (gst_base_src_change_state):
18458         * libs/gst/base/gstbasesrc.h:
18459         Implement seeking to other formats than _BYTES.
18460         Implement more seeking methods correctly.
18461         Doc updates.
18462         Added query vmethod.
18463         Added do_seek vmethod to make life easier for subclasses
18464         when seeking.
18465         API addition: gst_base_src_set_format()
18466
18467 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18468
18469         * tests/examples/Makefile.am:
18470           added that too
18471
18472 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18473
18474         * configure.ac:
18475         * docs/random/ensonic/media-device-daemon.txt:
18476         * tests/examples/controller/.cvsignore:
18477         * tests/examples/controller/Makefile.am:
18478         * tests/examples/controller/audio-example.c: (main):
18479         * tests/examples/helloworld/.cvsignore:
18480         * tests/examples/helloworld/Makefile.am:
18481         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
18482         * tests/examples/launch/.cvsignore:
18483         * tests/examples/launch/Makefile.am:
18484         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
18485         * tests/examples/metadata/.cvsignore:
18486         * tests/examples/metadata/Makefile.am:
18487         * tests/examples/metadata/read-metadata.c: (message_loop),
18488         (make_pipeline), (print_tag), (main):
18489         * tests/examples/queue/.cvsignore:
18490         * tests/examples/queue/Makefile.am:
18491         * tests/examples/queue/queue.c: (event_loop), (main):
18492         * tests/examples/typefind/.cvsignore:
18493         * tests/examples/typefind/Makefile.am:
18494         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
18495         (main):
18496         * tests/examples/xml/.cvsignore:
18497         * tests/examples/xml/Makefile.am:
18498         * tests/examples/xml/createxml.c: (object_saved), (main):
18499         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
18500         * tests/old/examples/Makefile.am:
18501         * tests/old/examples/TODO:
18502         * tests/old/examples/controller/.cvsignore:
18503         * tests/old/examples/controller/Makefile.am:
18504         * tests/old/examples/controller/audio-example.c:
18505         * tests/old/examples/helloworld/.cvsignore:
18506         * tests/old/examples/helloworld/Makefile.am:
18507         * tests/old/examples/helloworld/helloworld.c:
18508         * tests/old/examples/launch/.cvsignore:
18509         * tests/old/examples/launch/Makefile.am:
18510         * tests/old/examples/launch/mp3parselaunch.c:
18511         * tests/old/examples/launch/mp3play:
18512         * tests/old/examples/manual/Makefile.am:
18513         * tests/old/examples/metadata/Makefile.am:
18514         * tests/old/examples/metadata/read-metadata.c:
18515         * tests/old/examples/queue/.cvsignore:
18516         * tests/old/examples/queue/Makefile.am:
18517         * tests/old/examples/queue/queue.c:
18518         * tests/old/examples/typefind/.cvsignore:
18519         * tests/old/examples/typefind/Makefile.am:
18520         * tests/old/examples/typefind/typefind.c:
18521         * tests/old/examples/xml/.cvsignore:
18522         * tests/old/examples/xml/Makefile.am:
18523         * tests/old/examples/xml/createxml.c:
18524         * tests/old/examples/xml/runxml.c:
18525           applied some simple fixing to some examples
18526           re-enabled the working examples
18527
18528 2005-12-12  Wim Taymans  <wim@fluendo.com>
18529
18530         * gst/gstsegment.c: (gst_segment_init),
18531         (gst_segment_set_last_stop), (gst_segment_set_seek),
18532         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
18533         (gst_segment_to_running_time):
18534         Added more documentation.
18535         Make sure the last_pos value is updated properly.
18536         Make sure to_stream_time and to_running_time don't
18537         operate on wrong values.
18538
18539         * tests/check/gst/gstsegment.c: (GST_START_TEST):
18540         Update check.
18541
18542 2005-12-12  Michael Smith  <msmith@fluendo.com>
18543
18544         * plugins/elements/gsttypefindelement.c: (free_entry),
18545         (gst_type_find_element_chain):
18546           Now that we're not leaking factories, make sure we keep references
18547           to them while we need them.
18548
18549 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18550
18551         * tests/check/gst/struct_i386.h:
18552           ifdef out the XML structs
18553
18554 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18555
18556         * gst/gstvalue.c: (gst_value_transform_double_fraction):
18557           floor is not needed, F is always positive; this obviates the
18558           need for adding -lm when building without libxml
18559
18560 2005-12-12  Wim Taymans  <wim@fluendo.com>
18561
18562         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18563         Take current playback rate into account when reporting
18564         the position.
18565
18566 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18567
18568         * docs/manual/mime-world.fig:
18569           Let's try this again, this time with a file that is
18570           actually in XFig format.
18571
18572 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18573
18574         * docs/manual/mime-world.fig:
18575           Add audioconvert element to diagram so that it
18576           matches the text and the code (fixes #319526).
18577
18578 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18579
18580         * docs/pwg/building-chainfn.xml:
18581         * docs/pwg/building-pads.xml:
18582         * docs/pwg/building-state.xml:
18583         * docs/pwg/other-source.xml:
18584           Update state change stuff for 0.10 (fixes #322969).
18585
18586 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18587
18588         * docs/manual/advanced-dataaccess.xml:
18589         * docs/manual/appendix-checklist.xml:
18590         * docs/manual/appendix-programs.xml:
18591         * docs/manual/basics-pads.xml:
18592         * docs/manual/highlevel-components.xml:
18593         * docs/manual/manual.xml:
18594           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
18595           add converters in front of pipelines; remove curly
18596           brackets for threads stuff, they no longer exist; use
18597           GST_TYPE_FRACTION for framerates; update some pieces of
18598           code to 0.10, but there's plenty more to do.
18599
18600         * docs/manual/appendix-porting.xml:
18601           Expand on asynchroneous state changes; s/0.9/0.10/;
18602           mention disappearance of gst_init_get_popt_table()
18603           (fixes #322916).
18604
18605 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18606
18607         * docs/faq/using.xml:
18608           Spider no longer exists, and neither does gst-launch-ext.
18609           Update examples to use decodebin and playbin and put
18610           converters in front of sinks (fixes #323726).
18611
18612 2005-12-09  Michael Smith  <msmith@fluendo.com>
18613
18614         * plugins/elements/gsttypefindelement.c: (find_peek),
18615         (gst_type_find_element_chain):
18616           Fix leaking element factories in typefinding.
18617           Fix problem where we forgot about a probable type on non-seekable
18618           files, and thus later mis-typefound it.
18619
18620 2005-12-09  Michael Smith  <msmith@fluendo.com>
18621
18622         * common/m4/gst-makecontext.m4:
18623         * common/m4/gst-mcsc.m4:
18624         * configure.ac:
18625         * win32/common/config.h:
18626         * win32/common/config.h.in:
18627           Remove makecontext stuff; not used in 0.10 and causes problems on
18628           HPUX according to bug #322441
18629
18630 2005-12-07  Wim Taymans  <wim@fluendo.com>
18631
18632         * tests/check/Makefile.am:
18633         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
18634         (main):
18635         * tests/check/libs/struct_i386.h:
18636         Added ABI check for libs
18637
18638 2005-12-07  Wim Taymans  <wim@fluendo.com>
18639
18640         * tests/check/Makefile.am:
18641         And add the struct_i386.h to dist.
18642
18643 2005-12-07  Wim Taymans  <wim@fluendo.com>
18644
18645         * tests/check/Makefile.am:
18646         * tests/check/gst/.cvsignore:
18647         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
18648         (main):
18649         * tests/check/gst/struct_i386.h:
18650         Added check for ABI compatibility.
18651
18652 2005-12-07  Wim Taymans  <wim@fluendo.com>
18653
18654         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18655         (gst_fake_src_get_times), (gst_fake_src_create):
18656         Fix broken sync option, fixes #323259
18657
18658 2005-12-07  Wim Taymans  <wim@fluendo.com>
18659
18660         * gst/gstbuffer.c:
18661         Small docs update.
18662
18663         * gst/gstcaps.c: (gst_caps_is_equal):
18664         Don't assert on NULL <--> X. Fixes #323260
18665
18666         * gst/gstminiobject.c: (gst_mini_object_replace):
18667         If we're doing atomic operations, we might just as well use
18668         the proper way to get an atomic pointer.
18669
18670         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18671         Clean up debugging.
18672
18673 2005-12-07  Michael Smith  <msmith@fluendo.com>
18674
18675         * gst/parse/grammar.y:
18676           Remove handling of { } for threads.
18677
18678 2005-12-06  David Schleef  <ds@schleef.org>
18679
18680         * libs/gst/base/gstbasetransform.c: speling fix.
18681
18682 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
18683
18684         * docs/libs/tmpl/gstdataprotocol.sgml:
18685         * docs/random/omega/testing/gstobject.c:
18686         * gst/gst.c:
18687         * gst/gstclock.c:
18688         * gst/gstelement.c:
18689         * gst/gstelementfactory.c:
18690         * gst/gsterror.c:
18691         * gst/gstevent.c:
18692         * gst/gstghostpad.c:
18693         * gst/gstinfo.c:
18694         * gst/gstpadtemplate.c:
18695         * gst/gstregistryxml.c:
18696         * gst/gsttaglist.c:
18697         * gst/gsttagsetter.c:
18698         * gst/gsttypefind.c:
18699         * gst/gstvalue.c:
18700         * libs/gst/base/gstbasesrc.c:
18701         * libs/gst/net/gstnetclientclock.c:
18702         * libs/gst/net/gstnettimeprovider.c:
18703         * plugins/elements/gstfakesrc.c:
18704         * plugins/elements/gstfdsrc.c:
18705         * plugins/elements/gstfilesrc.c:
18706         * plugins/elements/gstidentity.c:
18707         * plugins/elements/gstqueue.c:
18708         * plugins/elements/gsttypefindelement.c:
18709         * plugins/indexers/gstfileindex.c:
18710         * plugins/indexers/gstmemindex.c:
18711         * tests/check/gst/gsttag.c:
18712         * tests/old/examples/cutter/cutter.c:
18713         * tests/old/examples/mixer/mixer.c:
18714         * tests/old/examples/xml/runxml.c: (main):
18715         * tests/old/testsuite/caps/normalisation.c:
18716         * tests/old/testsuite/debug/global.c:
18717         * tests/old/testsuite/parse/parse1.c:
18718         * tools/gst-xmlinspect.c:
18719         * win32/common/dirent.c:
18720           expand tabs
18721
18722 === release 0.10.0 ===
18723
18724 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18725
18726         * configure.ac:
18727           releasing 0.10.0, "Maroilles"
18728
18729 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18730
18731         submitted by: Funda Wang <fundawang@linux.net.cn>
18732
18733         * po/LINGUAS:
18734         * po/zh_CN.po:
18735           added Chinese (Traditional) translation
18736
18737 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18738
18739         * docs/gst/gstreamer-sections.txt:
18740         * docs/libs/tmpl/gstdataprotocol.sgml:
18741         * docs/random/thomasvs/TODO:
18742         * gst/gstutils.c:
18743         * gst/gstutils.h:
18744           fix docs
18745
18746 2005-12-05  Andy Wingo  <wingo@pobox.com>
18747
18748         patch by: Wim Taymans <wim@fluendo.com>
18749
18750         * libs/gst/base/gstbasetransform.c
18751         (gst_base_transform_prepare_output_buf)
18752         (gst_base_transform_buffer_alloc):
18753         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
18754         alloc_buffer_and_set_caps.
18755
18756         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
18757         set_caps on the source pad.
18758         (gst_pad_alloc_buffer_and_set_caps): New function, does what
18759         alloc_buffer used to do. Fixes #322874.
18760
18761         * docs/gst/gstreamer-sections.txt: 
18762         * docs/design/part-negotiation.txt: 
18763         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
18764         changes.
18765
18766 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18767
18768         patch by: Sebastien Moutte
18769
18770         * win32/MANIFEST:
18771         * win32/common/config.h.in:
18772         * win32/vs6/libgstcontroller.dsp:
18773           win32 build fixes
18774
18775 2005-12-05  Wim Taymans  <wim@fluendo.com>
18776
18777         * gst/gstcaps.c: (gst_caps_is_equal):
18778         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18779         (gst_fake_src_create):
18780         Back out previous code changes, leave doc updates, file bugs 
18781         instead. 
18782
18783 2005-12-05  Wim Taymans  <wim@fluendo.com>
18784
18785         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18786         (gst_fake_src_get_times), (gst_fake_src_create):
18787         * plugins/elements/gstfakesrc.h:
18788         Fix broken sync code.
18789
18790 2005-12-05  Wim Taymans  <wim@fluendo.com>
18791
18792         * gst/gstcaps.c: (gst_caps_is_equal):
18793         Comparing NULL against !NULL yields different caps, not a
18794         failure.
18795
18796 2005-12-05  Wim Taymans  <wim@fluendo.com>
18797
18798         * gst/gstpipeline.c:
18799         Fix small typo in docs.
18800
18801 2005-12-05  Andy Wingo  <wingo@pobox.com>
18802
18803         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
18804
18805         * gst/gst.c (init_post): remove hard-coded 0.9 location for
18806         registries/plugins with a MAJORMINOR one.
18807         (plugin_desc): Rename library from gstcoreleements to
18808         staticelements. Fixes #323222.
18809
18810 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
18811
18812         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
18813           Change debug category to 'collectpads' from 'collect_pads'
18814           (fixes #323250).
18815
18816 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
18817
18818         patch by: Sebastien Moutte
18819
18820         * libs/gst/controller/gstinterpolation.c:
18821           use convert function for uint64/double
18822         * win32/vs6/libgstcontroller.dsp:
18823           link to GLib
18824
18825 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
18826
18827         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
18828         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
18829         * gst/gstutils.h:
18830         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
18831           add tests that seem to show that the guint64/gdouble conversions
18832           are correct.
18833
18834 2005-12-02  Wim Taymans  <wim@fluendo.com>
18835
18836         * gst/gstregistry.c: (gst_registry_add_path):
18837         * gst/gstregistry.h:
18838         * gst/gstregistryxml.c:
18839         Fix docs again.
18840
18841 2005-12-02  Wim Taymans  <wim@fluendo.com>
18842
18843         * gst/gstutils.c: (gst_util_uint64_scale_int64),
18844         (gst_util_uint64_scale_int):
18845         Small cleanup.
18846
18847         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18848         Add debug log line.
18849
18850         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
18851         Add FIXME.
18852
18853 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18854
18855         * win32/MANIFEST:
18856         * win32/common/config.h:
18857         * win32/vs6/gstreamer.dsw:
18858         * win32/vs6/libgstcoreelements.dsp:
18859         * win32/vs6/libgstelements.dsp:
18860           renamed core elements plugin
18861
18862 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18863
18864         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
18865         (get_candidates):
18866           do piece-wise major/minor comparison so 0.9 < 0.10
18867           also allow .exe extensions for tools
18868
18869 2005-12-02  Michael Smith  <msmith@fluendo.com>
18870
18871         * gst/gst.c:
18872           Escape a % to make gtkdoc happier; bug 322958.
18873
18874 === release 0.9.7 ===
18875
18876 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18877
18878         * configure.ac:
18879           releasing 0.9.7, "My Dog Has No Nose"
18880
18881 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18882
18883         * common/gst-xmlinspect.py:
18884         * configure.ac:
18885         * docs/libs/tmpl/gstdataprotocol.sgml:
18886         * docs/random/release:
18887         * po/af.po:
18888         * po/az.po:
18889         * po/bg.po:
18890         * po/ca.po:
18891         * po/cs.po:
18892         * po/de.po:
18893         * po/en_GB.po:
18894         * po/fr.po:
18895         * po/it.po:
18896         * po/nb.po:
18897         * po/nl.po:
18898         * po/ru.po:
18899         * po/sq.po:
18900         * po/sr.po:
18901         * po/sv.po:
18902         * po/tr.po:
18903         * po/uk.po:
18904         * po/vi.po:
18905         * win32/common/config.h:
18906         * win32/common/config.h.in:
18907         * win32/vs6/gst_inspect.dsp:
18908         * win32/vs6/gst_launch.dsp:
18909         * win32/vs6/libgstbase.dsp:
18910         * win32/vs6/libgstelements.dsp:
18911         * win32/vs6/libgstreamer.dsp:
18912         * win32/vs7/GStreamer.vcproj:
18913         * win32/vs7/gst-inspect.vcproj:
18914         * win32/vs7/gst-launch.vcproj:
18915         * win32/vs7/libgstbase.vcproj:
18916           bump GST_MAJORMINOR to 0.10
18917           reset libtool version
18918
18919 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18920
18921         * po/LINGUAS:
18922         * po/bg.po:
18923           Added Bulgarian translation by (Alexander Shopov)
18924
18925 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18926
18927         * tests/check/gst/gstplugin.c:
18928           fix test
18929
18930 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18931
18932         * common/gst-xmlinspect.py:
18933         * common/gtk-doc-plugins.mak:
18934         * configure.ac:
18935         * docs/Makefile.am:
18936         * docs/gst/Makefile.am:
18937         * docs/gst/gstreamer-docs.sgml:
18938         * docs/gst/gstreamer-sections.txt:
18939         * docs/gst/gstreamer.types:
18940         * docs/gst/gstreamer.types.in:
18941         * docs/plugins/Makefile.am:
18942         * docs/plugins/gstreamer-plugins-docs.sgml:
18943         * docs/plugins/gstreamer-plugins-sections.txt:
18944         * docs/plugins/gstreamer-plugins.types:
18945         * docs/plugins/inspect.stamp:
18946         * docs/plugins/inspect/plugin-coreelements.xml:
18947         * docs/plugins/inspect/plugin-coreindexers.xml:
18948         * docs/plugins/scanobj-build.stamp:
18949         * gstreamer.spec.in:
18950         * plugins/elements/Makefile.am:
18951         * plugins/elements/gstelements.c:
18952         * plugins/elements/gstfakesink.c:
18953         * plugins/elements/gstfakesrc.c:
18954         * plugins/elements/gstfilesink.c:
18955         * plugins/elements/gstfilesrc.c:
18956         * plugins/elements/gstqueue.c:
18957         * plugins/indexers/Makefile.am:
18958         * plugins/indexers/gstindexers.c:
18959           document core plugins in a separate document just like all the
18960           others
18961           rename these plugins to something starting with core
18962
18963 2005-12-01  Andy Wingo  <wingo@pobox.com>
18964
18965         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
18966         padding here before, but it missed the commit.
18967
18968 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
18969
18970         * libs/gst/controller/gstinterpolation.c:
18971           whitespace prices have crashed, we should feel free to use some now
18972           use gst_guint64_to_gdouble
18973
18974 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
18975
18976         * libs/gst/controller/gstcontroller.c:
18977         * libs/gst/controller/gsthelper.c:
18978         * libs/gst/controller/gstinterpolation.c:
18979         * libs/gst/controller/lib.c:
18980           wrap config.h include
18981
18982 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
18983
18984         * docs/gst/gstreamer-sections.txt:
18985           update docs
18986
18987 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
18988
18989         * plugins/elements/gstelements.c:
18990         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
18991         (gst_fd_sink__class_init), (gst_fd_sink__init),
18992         (gst_fd_sink__chain), (gst_fd_sink__set_property),
18993         (gst_fd_sink__get_property):
18994         * plugins/elements/gstfdsink.h:
18995         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
18996         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
18997         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
18998         (gst_fd_src_unlock), (gst_fd_src_set_property),
18999         (gst_fd_src_get_property), (gst_fd_src_create),
19000         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
19001         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
19002         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
19003         (gst_fd_src_uri_handler_init):
19004         * plugins/elements/gstfdsrc.h:
19005         * plugins/elements/gstqueue.c: (gst_queue_get_type):
19006           more anal cleanup
19007
19008 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19009
19010         * docs/gst/Makefile.am:
19011         * docs/gst/gstreamer.types.in:
19012         * gst/Makefile.am:
19013           fix the docs build
19014
19015 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19016
19017         * configure.ac:
19018         * gst/Makefile.am:
19019         * gst/gst.c:
19020         * gst/gstplugin.h:
19021         * gst/gstregistry.h:
19022         * tests/benchmarks/complexity.c:
19023         * tests/benchmarks/mass-elements.c:
19024         * tests/check/Makefile.am:
19025         * tools/Makefile.am:
19026         * tools/gst-inspect.c:
19027         * tools/gst-xmlinspect.c:
19028           various fixes to make
19029           --disable-nls --disable-registry --disable-loadsave
19030           --disable-parse --disable-gst-debug
19031           work and get the core .so down to 360444 bytes after stripping
19032
19033 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19034
19035         * Makefile.am:
19036         * configure.ac:
19037           descend into tests
19038         * docs/random/thomasvs/TODO:
19039         * tests/Makefile.am:
19040         * tests/README:
19041           add a README
19042
19043 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19044
19045         * win32/GStreamer.vcproj:
19046         * win32/MANIFEST:
19047         * win32/Makefile:
19048         * win32/Makefile.inspect:
19049         * win32/Makefile.launch:
19050         * win32/Makefile.register:
19051         * win32/README.txt:
19052         * win32/gst-inspect.vcproj:
19053         * win32/gst-launch.vcproj:
19054         * win32/gst-register.vcproj:
19055         * win32/gstelements.vcproj:
19056         * win32/gstgetbits.def:
19057         * win32/gstgetbits.vcproj:
19058         * win32/gstreamer-dbg.def:
19059         * win32/gstreamer.def:
19060         * win32/libgstbase.def:
19061         * win32/libgstbase.vcproj:
19062         * win32/link_oldruntime.c:
19063         * win32/mman.c:
19064         * win32/mman.h:
19065         * win32/mman.inl:
19066         * win32/msvc71.sln:
19067           move even more stuff, win32/ is nice and clean now
19068
19069 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19070
19071         * libs/gst/control/.cvsignore:
19072         * win32/MANIFEST:
19073         * win32/config.h:
19074         * win32/dirent.c:
19075         * win32/dirent.h:
19076         * win32/gstbytestream.def:
19077         * win32/gstbytestream.vcproj:
19078         * win32/gstconfig.h:
19079         * win32/gstenumtypes.c:
19080         * win32/gstenumtypes.h:
19081         * win32/gstoptimalscheduler.vcproj:
19082         * win32/gstversion.h:
19083         * win32/gtchar.h:
19084         * win32/testsuite/bins.vcproj:
19085         * win32/testsuite/bytestream.vcproj:
19086         * win32/testsuite/caps.vcproj:
19087         * win32/testsuite/cleanup.vcproj:
19088         * win32/testsuite/clock.vcproj:
19089         * win32/testsuite/debug.vcproj:
19090         * win32/testsuite/dlopen.vcproj:
19091         * win32/testsuite/dynparams.vcproj:
19092         * win32/testsuite/elements.vcproj:
19093         * win32/testsuite/ghostpads.vcproj:
19094         * win32/testsuite/indexers.vcproj:
19095         * win32/testsuite/negotiation.vcproj:
19096         * win32/testsuite/parse.vcproj:
19097         * win32/testsuite/plugin.vcproj:
19098         * win32/testsuite/refcounting.vcproj:
19099         * win32/testsuite/schedulers.vcproj:
19100         * win32/testsuite/states.vcproj:
19101         * win32/testsuite/tags.vcproj:
19102         * win32/testsuite/threads.vcproj:
19103           remove old win32 stuff that isn't maintained and should be
19104           reorganized
19105
19106 2005-11-30  Andy Wingo  <wingo@pobox.com>
19107
19108         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
19109         loading the gst.interfaces python module bork.
19110
19111         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
19112         available since GLib 2.2. Fixes #318031.
19113
19114 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19115
19116         * Makefile.am:
19117         * check/.cvsignore:
19118         * check/Makefile.am:
19119         * check/elements/.cvsignore:
19120         * check/elements/fakesrc.c:
19121         * check/elements/fdsrc.c:
19122         * check/elements/identity.c:
19123         * check/generic/.cvsignore:
19124         * check/generic/states.c:
19125         * check/gst-libs/.cvsignore:
19126         * check/gst-libs/controller.c:
19127         * check/gst-libs/gdp.c:
19128         * check/gst/.cvsignore:
19129         * check/gst/capslist.h:
19130         * check/gst/gst.c:
19131         * check/gst/gstbin.c:
19132         * check/gst/gstbuffer.c:
19133         * check/gst/gstbus.c:
19134         * check/gst/gstcaps.c:
19135         * check/gst/gstelement.c:
19136         * check/gst/gstevent.c:
19137         * check/gst/gstghostpad.c:
19138         * check/gst/gstiterator.c:
19139         * check/gst/gstmessage.c:
19140         * check/gst/gstminiobject.c:
19141         * check/gst/gstobject.c:
19142         * check/gst/gstpad.c:
19143         * check/gst/gstpipeline.c:
19144         * check/gst/gstplugin.c:
19145         * check/gst/gstsegment.c:
19146         * check/gst/gststructure.c:
19147         * check/gst/gstsystemclock.c:
19148         * check/gst/gsttag.c:
19149         * check/gst/gstutils.c:
19150         * check/gst/gstvalue.c:
19151         * check/net/.cvsignore:
19152         * check/net/gstnetclientclock.c:
19153         * check/net/gstnettimeprovider.c:
19154         * check/pipelines/.cvsignore:
19155         * check/pipelines/cleanup.c:
19156         * check/pipelines/simple_launch_lines.c:
19157         * check/pipelines/stress.c:
19158         * check/states/.cvsignore:
19159         * check/states/sinks.c:
19160         * configure.ac:
19161         * examples/Makefile.am:
19162         * examples/appreader/.cvsignore:
19163         * examples/appreader/Makefile.am:
19164         * examples/appreader/appreader.c:
19165         * examples/controller/.cvsignore:
19166         * examples/controller/Makefile.am:
19167         * examples/controller/audio-example.c:
19168         * examples/cutter/.cvsignore:
19169         * examples/cutter/Makefile.am:
19170         * examples/cutter/cutter.c:
19171         * examples/cutter/cutter.h:
19172         * examples/events/Makefile.am:
19173         * examples/events/seek.c:
19174         * examples/helloworld/.cvsignore:
19175         * examples/helloworld/Makefile.am:
19176         * examples/helloworld/helloworld.c:
19177         * examples/helloworld2/.cvsignore:
19178         * examples/helloworld2/Makefile.am:
19179         * examples/helloworld2/helloworld2.c:
19180         * examples/launch/.cvsignore:
19181         * examples/launch/Makefile.am:
19182         * examples/launch/mp3parselaunch.c:
19183         * examples/launch/mp3play:
19184         * examples/manual/.cvsignore:
19185         * examples/manual/Makefile.am:
19186         * examples/manual/extract.pl:
19187         * examples/metadata/Makefile.am:
19188         * examples/metadata/read-metadata.c:
19189         * examples/mixer/.cvsignore:
19190         * examples/mixer/Makefile.am:
19191         * examples/mixer/mixer.c:
19192         * examples/mixer/mixer.h:
19193         * examples/pingpong/.cvsignore:
19194         * examples/pingpong/Makefile.am:
19195         * examples/pingpong/pingpong.c:
19196         * examples/plugins/.cvsignore:
19197         * examples/plugins/Makefile.am:
19198         * examples/plugins/example.c:
19199         * examples/plugins/example.h:
19200         * examples/pwg/.cvsignore:
19201         * examples/pwg/Makefile.am:
19202         * examples/pwg/extract.pl:
19203         * examples/queue/.cvsignore:
19204         * examples/queue/Makefile.am:
19205         * examples/queue/queue.c:
19206         * examples/queue2/.cvsignore:
19207         * examples/queue2/Makefile.am:
19208         * examples/queue2/queue2.c:
19209         * examples/queue3/.cvsignore:
19210         * examples/queue3/Makefile.am:
19211         * examples/queue3/queue3.c:
19212         * examples/queue4/.cvsignore:
19213         * examples/queue4/Makefile.am:
19214         * examples/queue4/queue4.c:
19215         * examples/retag/.cvsignore:
19216         * examples/retag/Makefile.am:
19217         * examples/retag/retag.c:
19218         * examples/retag/transcode.c:
19219         * examples/thread/.cvsignore:
19220         * examples/thread/Makefile.am:
19221         * examples/thread/thread.c:
19222         * examples/typefind/.cvsignore:
19223         * examples/typefind/Makefile.am:
19224         * examples/typefind/typefind.c:
19225         * examples/xml/.cvsignore:
19226         * examples/xml/Makefile.am:
19227         * examples/xml/createxml.c:
19228         * examples/xml/runxml.c:
19229         * tests/Makefile.am:
19230         * tests/check/Makefile.am:
19231         * testsuite/.cvsignore:
19232         * testsuite/Makefile.am:
19233         * testsuite/Rules:
19234         * testsuite/caps/.cvsignore:
19235         * testsuite/caps/Makefile.am:
19236         * testsuite/caps/app_fixate.c:
19237         * testsuite/caps/audioscale.c:
19238         * testsuite/caps/caps.c:
19239         * testsuite/caps/caps.h:
19240         * testsuite/caps/caps_strings:
19241         * testsuite/caps/compatibility.c:
19242         * testsuite/caps/deserialize.c:
19243         * testsuite/caps/enumcaps.c:
19244         * testsuite/caps/eratosthenes.c:
19245         * testsuite/caps/filtercaps.c:
19246         * testsuite/caps/fixed.c:
19247         * testsuite/caps/fraction-convert.c:
19248         * testsuite/caps/fraction-multiply-and-zero.c:
19249         * testsuite/caps/intersect2.c:
19250         * testsuite/caps/intersection.c:
19251         * testsuite/caps/normalisation.c:
19252         * testsuite/caps/random.c:
19253         * testsuite/caps/renegotiate.c:
19254         * testsuite/caps/sets.c:
19255         * testsuite/caps/simplify.c:
19256         * testsuite/caps/string-conversions.c:
19257         * testsuite/caps/structure.c:
19258         * testsuite/caps/subtract.c:
19259         * testsuite/caps/union.c:
19260         * testsuite/debug/.cvsignore:
19261         * testsuite/debug/Makefile.am:
19262         * testsuite/debug/category.c:
19263         * testsuite/debug/commandline.c:
19264         * testsuite/debug/global.c:
19265         * testsuite/debug/output.c:
19266         * testsuite/debug/printf_extension.c:
19267         * testsuite/dlopen/.cvsignore:
19268         * testsuite/dlopen/Makefile.am:
19269         * testsuite/dlopen/dlopen_gst.c:
19270         * testsuite/dlopen/loadgst.c:
19271         * testsuite/elements/.cvsignore:
19272         * testsuite/elements/Makefile.am:
19273         * testsuite/elements/gst-inspect-check.in:
19274         * testsuite/elements/struct_i386.h:
19275         * testsuite/elements/struct_size.c:
19276         * testsuite/indexers/.cvsignore:
19277         * testsuite/indexers/Makefile.am:
19278         * testsuite/indexers/cache1.c:
19279         * testsuite/indexers/indexdump.c:
19280         * testsuite/parse/.cvsignore:
19281         * testsuite/parse/Makefile.am:
19282         * testsuite/parse/parse1.c:
19283         * testsuite/parse/parse2.c:
19284         * testsuite/plugin/.cvsignore:
19285         * testsuite/plugin/Makefile.am:
19286         * testsuite/plugin/README:
19287         * testsuite/plugin/dynamic.c:
19288         * testsuite/plugin/linked.c:
19289         * testsuite/plugin/loading.c:
19290         * testsuite/plugin/registry.c:
19291         * testsuite/plugin/static.c:
19292         * testsuite/plugin/static2.c:
19293         * testsuite/plugin/testplugin.c:
19294         * testsuite/plugin/testplugin2.c:
19295         * testsuite/plugin/testplugin2_s.c:
19296         * testsuite/plugin/testplugin_s.c:
19297         * testsuite/refcounting/.cvsignore:
19298         * testsuite/refcounting/Makefile.am:
19299         * testsuite/refcounting/bin.c:
19300         * testsuite/refcounting/element.c:
19301         * testsuite/refcounting/element_pad.c:
19302         * testsuite/refcounting/mainloop.c:
19303         * testsuite/refcounting/mem.c:
19304         * testsuite/refcounting/mem.h:
19305         * testsuite/refcounting/object.c:
19306         * testsuite/refcounting/pad.c:
19307         * testsuite/refcounting/sched.c:
19308         * testsuite/refcounting/thread.c:
19309         * testsuite/states/.cvsignore:
19310         * testsuite/states/Makefile.am:
19311         * testsuite/states/bin.c:
19312         * testsuite/states/locked.c:
19313         * testsuite/states/parent.c:
19314         * testsuite/threads/.cvsignore:
19315         * testsuite/threads/159566.c:
19316         * testsuite/threads/159852.c:
19317         * testsuite/threads/Makefile.am:
19318         * testsuite/threads/queue.c:
19319         * testsuite/threads/signals.c:
19320         * testsuite/threads/staticrec.c:
19321         * testsuite/threads/thread.c:
19322         * testsuite/threads/threadb.c:
19323         * testsuite/threads/threadc.c:
19324         * testsuite/threads/threadd.c:
19325         * testsuite/threads/threade.c:
19326         * testsuite/threads/threadf.c:
19327         * testsuite/threads/threadg.c:
19328         * testsuite/threads/threadh.c:
19329         * testsuite/threads/threadi.c:
19330           move all of these under tests
19331
19332 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19333
19334         * configure.ac:
19335         * tests/Makefile.am:
19336           fix distcheck
19337
19338 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19339
19340         * docs/gst/gstreamer-sections.txt:
19341         * tests/sched/.cvsignore:
19342         * tests/sched/Makefile.am:
19343         * tests/sched/cases/(fs-fs).xml:
19344         * tests/sched/cases/(fs-i-fs).xml:
19345         * tests/sched/cases/(fs-i-i-fs).xml:
19346         * tests/sched/cases/(fs-i-q[i-fs]).xml:
19347         * tests/sched/dynamic-pipeline.c:
19348         * tests/sched/interrupt1.c:
19349         * tests/sched/interrupt2.c:
19350         * tests/sched/interrupt3.c:
19351         * tests/sched/runtestcases:
19352         * tests/sched/runxml.c:
19353         * tests/sched/sched-stress.c:
19354         * tests/sched/sort.c:
19355         * tests/sched/testcases:
19356         * tests/sched/testcases1.tc:
19357         * tests/seeking/.cvsignore:
19358         * tests/seeking/Makefile.am:
19359         * tests/seeking/seeking1.c:
19360         * tests/threadstate/.cvsignore:
19361         * tests/threadstate/Makefile.am:
19362         * tests/threadstate/test1.c:
19363         * tests/threadstate/test2.c:
19364         * tests/threadstate/threadstate1.c:
19365         * tests/threadstate/threadstate2.c:
19366         * tests/threadstate/threadstate3.c:
19367         * tests/threadstate/threadstate4.c:
19368         * tests/threadstate/threadstate5.c:
19369           remove obsolete tests
19370         * configure.ac:
19371         * tests/bench-complexity.scm:
19372         * tests/bench-mass_elements.scm:
19373         * tests/complexity.c:
19374         * tests/complexity.gnuplot:
19375         * tests/instantiate/.cvsignore:
19376         * tests/instantiate/Makefile.am:
19377         * tests/instantiate/caps.c:
19378         * tests/mass_elements.c:
19379         * tests/network-clock-utils.scm:
19380         * tests/network-clock.scm:
19381         * tests/plot-data:
19382         First pass at cleaning up tests/ dir before moving the rest
19383         Combined with CVS surgery
19384
19385 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19386
19387         * po/POTFILES.in:
19388           queue has moved, update
19389
19390 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19391
19392         * docs/gst/gstreamer-sections.txt:
19393           remove double entries from the docs
19394         * gst/gst_private.h:
19395         * gst/gstinfo.c: (_gst_debug_init):
19396           remove the THREAD debug category
19397         * gst/Makefile.am:
19398         * gst/gstqueue.c:
19399         * gst/gstqueue.h:
19400         * docs/gst/gstreamer.types:
19401         * plugins/elements/gstqueue.c: (gst_queue_get_type),
19402         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
19403           completely move queue and fix up debugging categories
19404
19405 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19406
19407         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
19408           make initialization portable, using LL is not
19409
19410 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19411
19412         * win32/common/gstconfig.h:
19413           add large padding
19414
19415 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19416
19417         * win32/common/libgstreamer.def:
19418           rename symbols; sort base section
19419
19420 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19421
19422         * gst/gstclock.c: (do_linear_regression):
19423           remove crack non-portable handrolled DEBUG macro
19424
19425 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19426
19427         * docs/random/release:
19428           update notes
19429         * win32/common/gstenumtypes.c: (register_gst_object_flags),
19430         (gst_object_flags_get_type), (register_gst_bin_flags),
19431         (gst_bin_flags_get_type), (register_gst_buffer_flag),
19432         (gst_buffer_flag_get_type), (register_gst_bus_flags),
19433         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
19434         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
19435         (gst_caps_flags_get_type), (register_gst_clock_return),
19436         (gst_clock_return_get_type), (register_gst_clock_entry_type),
19437         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
19438         (gst_clock_flags_get_type), (register_gst_state),
19439         (gst_state_get_type), (register_gst_state_change_return),
19440         (gst_state_change_return_get_type), (register_gst_state_change),
19441         (gst_state_change_get_type), (register_gst_element_flags),
19442         (gst_element_flags_get_type), (register_gst_core_error),
19443         (gst_core_error_get_type), (register_gst_library_error),
19444         (gst_library_error_get_type), (register_gst_resource_error),
19445         (gst_resource_error_get_type), (register_gst_stream_error),
19446         (gst_stream_error_get_type), (register_gst_event_type_flags),
19447         (gst_event_type_flags_get_type), (register_gst_event_type),
19448         (gst_event_type_get_type), (register_gst_seek_type),
19449         (gst_seek_type_get_type), (register_gst_seek_flags),
19450         (gst_seek_flags_get_type), (register_gst_format),
19451         (gst_format_get_type), (register_gst_index_certainty),
19452         (gst_index_certainty_get_type), (register_gst_index_entry_type),
19453         (gst_index_entry_type_get_type),
19454         (register_gst_index_lookup_method),
19455         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
19456         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
19457         (gst_index_resolver_method_get_type), (register_gst_index_flags),
19458         (gst_index_flags_get_type), (register_gst_debug_level),
19459         (gst_debug_level_get_type), (register_gst_debug_color_flags),
19460         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
19461         (gst_iterator_result_get_type), (register_gst_iterator_item),
19462         (gst_iterator_item_get_type), (register_gst_message_type),
19463         (gst_message_type_get_type), (register_gst_mini_object_flags),
19464         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
19465         (gst_pad_link_return_get_type), (register_gst_flow_return),
19466         (gst_flow_return_get_type), (register_gst_activate_mode),
19467         (gst_activate_mode_get_type), (register_gst_pad_direction),
19468         (gst_pad_direction_get_type), (register_gst_pad_flags),
19469         (gst_pad_flags_get_type), (register_gst_pad_presence),
19470         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
19471         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
19472         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
19473         (gst_plugin_error_get_type), (register_gst_plugin_flags),
19474         (gst_plugin_flags_get_type), (register_gst_rank),
19475         (gst_rank_get_type), (register_gst_query_type),
19476         (gst_query_type_get_type), (register_gst_tag_merge_mode),
19477         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
19478         (gst_tag_flag_get_type), (register_gst_task_state),
19479         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
19480         (gst_alloc_trace_flags_get_type),
19481         (register_gst_type_find_probability),
19482         (gst_type_find_probability_get_type), (register_gst_uri_type),
19483         (gst_uri_type_get_type), (register_gst_parse_error),
19484         (gst_parse_error_get_type):
19485         * win32/common/gstenumtypes.h:
19486         * win32/common/gstversion.h:
19487           update visual studio generated files
19488
19489 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19490
19491         * win32/vs6/libgstbase.dsp:
19492         * win32/vs6/libgstelements.dsp:
19493           update project files for new locations
19494
19495 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19496
19497         * Makefile.am:
19498           remove some files
19499         * README:
19500           reinstate and update
19501         * DEVEL:
19502         * REQUIREMENTS:
19503           removed
19504         * LICENSE:
19505         * docs/random/LICENSE:
19506           moved to random
19507
19508 2005-11-30  Edward Hervey  <edward@fluendo.com>
19509
19510         * gst/gsttypefind.c: (gst_type_find_register):
19511         * gst/gsttypefind.h:
19512         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
19513         (gst_type_find_factory_dispose):
19514         * gst/gsttypefindfactory.h:
19515         Fix memory leak in GstTypeFindFactory.
19516
19517 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19518
19519         * gst/gst.c:
19520         * plugins/elements/Makefile.am:
19521         * plugins/elements/gstelements.c:
19522         * plugins/elements/gstqueue.c:
19523           move queue from core to the elements plugin
19524
19525 2005-11-29  Andy Wingo  <wingo@pobox.com>
19526
19527         * libs/gst/base/gstbasetransform.h: 
19528         * libs/gst/base/gstbasesrc.h: 
19529         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
19530
19531         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
19532         of pointers by which to pad very extensible base classes (like the
19533         ones in libs/gst/base).
19534
19535 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19536
19537         * docs/gst/gstreamer-docs.sgml:
19538         * docs/gst/gstreamer-sections.txt:
19539         * docs/libs/gstreamer-libs-docs.sgml:
19540         * docs/libs/gstreamer-libs-sections.txt:
19541           moving documentation from core to lib
19542
19543 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19544
19545         * check/Makefile.am:
19546         * configure.ac:
19547         * docs/gst/Makefile.am:
19548         * gst/Makefile.am:
19549         * gst/base/.cvsignore:
19550         * gst/base/Makefile.am:
19551         * gst/base/README:
19552         * gst/base/gstadapter.c:
19553         * gst/base/gstadapter.h:
19554         * gst/base/gstbasesink.c:
19555         * gst/base/gstbasesink.h:
19556         * gst/base/gstbasesrc.c:
19557         * gst/base/gstbasesrc.h:
19558         * gst/base/gstbasetransform.c:
19559         * gst/base/gstbasetransform.h:
19560         * gst/base/gstcollectpads.c:
19561         * gst/base/gstcollectpads.h:
19562         * gst/base/gstpushsrc.c:
19563         * gst/base/gstpushsrc.h:
19564         * gst/base/gsttypefindhelper.c:
19565         * gst/base/gsttypefindhelper.h:
19566         * gst/check/Makefile.am:
19567         * gst/check/gstcheck.c:
19568         * gst/check/gstcheck.h:
19569         * gst/net/Makefile.am:
19570         * gst/net/gstnet.h:
19571         * gst/net/gstnetclientclock.c:
19572         * gst/net/gstnetclientclock.h:
19573         * gst/net/gstnettimepacket.c:
19574         * gst/net/gstnettimepacket.h:
19575         * gst/net/gstnettimeprovider.c:
19576         * gst/net/gstnettimeprovider.h:
19577         * libs/gst/Makefile.am:
19578         * libs/gst/base/Makefile.am:
19579         * libs/gst/base/gstbasetransform.c:
19580         * libs/gst/check/Makefile.am:
19581         * plugins/elements/Makefile.am:
19582         * po/POTFILES.in:
19583           CVS surgery + support to move base, check, and net out of gst
19584           and into libs/gst
19585
19586 2005-11-29  Andy Wingo  <wingo@pobox.com>
19587
19588         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
19589
19590         * gst/gststructure.h (struct _GstStructure): Only one pointer of
19591         padding.
19592
19593         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
19594
19595         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
19596
19597         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
19598
19599         * gst/gstobject.h: (struct _GstObject): Only one pointer of
19600         padding; reduces object size by about 30%. We don't expect
19601         anything else to go into gstobject.
19602
19603         * gst/gstminiobject.h (struct _GstMiniObject)
19604         (struct _GstMiniObjectClass): Only one pointer of padding; the
19605         payload is only a pointer and two ints anyway. For the class there
19606         are only two methods as well.
19607         
19608         * gst/gstelement.h (struct _GstElementClass): Removed
19609         the state_changed signal callback, it is not used.
19610
19611 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19612
19613         * docs/gst/gstreamer.types:
19614           fix includes, though they are a little dinky
19615
19616 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19617
19618         * check/Makefile.am:
19619           look in the right place for elements, a lot more chance of
19620           success
19621         * gst/Makefile.am:
19622           remove indexers and elements subdirs
19623         * plugins/Makefile.am:
19624           make indexers conditional
19625
19626 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19627
19628         * Makefile.am:
19629         * configure.ac:
19630         * plugins/elements/Makefile.am:
19631         * plugins/elements/gstcapsfilter.c:
19632         * plugins/elements/gstfilesink.c:
19633         * plugins/elements/gstfilesrc.c:
19634         * plugins/elements/gstidentity.c:
19635         * plugins/indexers/Makefile.am:
19636           do CVS surgery and related build fixery to move elements
19637           and indexers in a new gstreamer/plugins directory, out of the
19638           gst/ directory
19639
19640 2005-11-29  Andy Wingo  <wingo@pobox.com>
19641
19642         * check/Makefile.am:
19643         * pkgconfig/gstreamer-net-uninstalled.pc.in:
19644         * pkgconfig/gstreamer-net.pc.in:
19645         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
19646         #322257.
19647
19648 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19649
19650         * tools/Makefile.am:
19651         * tools/gst-complete.1.in:
19652         * tools/gst-complete.c:
19653         * tools/gst-compprep.1.in:
19654         * tools/gst-compprep.c:
19655           removing -compprep and -complete
19656
19657 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19658
19659         * gst/gstevent.c: (gst_event_new_new_segment),
19660         (gst_event_parse_new_segment):
19661         * gst/gstevent.h:
19662           fix #320529 - clean up new_segment API and structure.
19663           Let's hope everyone was using the methods, and not the structure.
19664
19665 2005-11-29  Edward Hervey  <edward@fluendo.com>
19666
19667         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19668         (gst_base_sink_event), (gst_base_sink_do_sync),
19669         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
19670         Properly handle non GST_FORMAT_TIME segment
19671         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
19672         Properly handle non GST_FORMAT_TIME segment
19673         * gst/gstsegment.c:
19674         This function is valid if the accumulator is 0 and the format
19675         is different from the requested format.
19676         
19677 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
19678
19679         * docs/gst/gstreamer-sections.txt:
19680         Add gst_query_new_seeking and gst_query_parse_seeking to the
19681         docs.
19682
19683 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
19684
19685         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
19686           Treat a pad alloc with new caps the same as if we were not
19687           negotiated, in order to allow a changing upstream output
19688           to produce a new format of data.
19689
19690 2005-11-29  Edward Hervey  <edward@fluendo.com>
19691
19692         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
19693         (gst_base_transform_event), (gst_base_transform_eventfunc):
19694         The event virtual method is now properly implemented, with a default
19695         handler
19696         Sub classes should call the parent_class event method. They should
19697         return FALSE if they had a problem handling the given event, or don't
19698         want GstBaseTransform to send that even downstream
19699         * gst/elements/gstidentity.c: (gst_identity_class_init),
19700         (gst_identity_init), (gst_identity_event),
19701         (gst_identity_transform_ip), (gst_identity_set_property),
19702         (gst_identity_get_property):
19703         * gst/elements/gstidentity.h:
19704         Added the single-segment boolean property.
19705         If set to TRUE, it will output a single segment of data, starting from
19706         0, will eat up all incoming newsegment, and modify the timestamp of the
19707         buffers accordingly
19708
19709 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
19710
19711         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
19712           Don't ref NULL target pad (#322751). Improve docs.
19713
19714 2005-11-29  Michael Smith  <msmith@fluendo.com>
19715
19716         * gst/gstregistryxml.c: (load_plugin):
19717           Don't crash if we failed to load a feature from a plugin. 
19718
19719 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19720
19721         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
19722         (GST_START_TEST):
19723           use more check API and less GLib API
19724
19725 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19726
19727         * Makefile.am:
19728           don't run checks if we don't have check
19729         * common/check.mak:
19730           remove the registry when running make torture
19731         * docs/gst/gstreamer-sections.txt:
19732           remove second multiply
19733         * gst/gstqueue.c: (gst_queue_loop):
19734           fix a compile warning when disabling debug
19735
19736 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
19737
19738         * gst/gstinfo.h:
19739         Hey! Let's print the pad name if the pointer != NULL instead
19740         of when it == NULL :-)
19741
19742 2005-11-28  Wim Taymans  <wim@fluendo.com>
19743
19744         * check/gst/gstutils.c: (GST_START_TEST):
19745         Updated check, add some scaling accuracy checking code.
19746
19747         * gst/gstutils.c: (gst_util_div128_64),
19748         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
19749         (gst_util_uint64_scale_int):
19750         Fix 6 times faster division code. Optimize for common 
19751         1/1 and less common X/1 cases.
19752
19753 2005-11-28  Wim Taymans  <wim@fluendo.com>
19754
19755         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19756         More checks.
19757
19758         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
19759         (do_linear_regression), (gst_clock_add_observation):
19760         Cleanups.
19761         Release lock when the clock cannot be slaved.
19762         Catch the case where the regression returned an invalid denominator.
19763
19764         * gst/gstutils.c: (gst_util_div128_64_iterate),
19765         (gst_util_div128_64), (gst_util_uint64_scale_int64),
19766         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
19767         Add protentially more performant non-iterative 128/64 divide function
19768         that unfortunatly does not work yet.
19769         Shortcut the trivial 0/X = 0 case.
19770         Remove the warnings on overflow.
19771
19772 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19773
19774         * gst/gstplugin.c: (gst_plugin_register_func):
19775           everything causing a plugin not to load should be at least a WARNING
19776
19777 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
19778
19779         * docs/random/ensonic/dparams.txt:
19780           some TODOs for the next dev cycle
19781         * libs/gst/controller/gstcontroller.c:
19782         (gst_controlled_property_set_interpolation_mode),
19783         (gst_controlled_property_new):
19784         * libs/gst/controller/gstcontroller.h:
19785           use base type to assign acccessor functions
19786
19787 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
19788
19789         * check/Makefile.am:
19790         Oops, that should have been top_srcdir
19791
19792 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
19793
19794         * check/Makefile.am:
19795         * check/elements/fdsrc.c: (GST_START_TEST):
19796         Use a cmdline define to specify the location of a file to use for
19797         testing, to avoid breaking distcheck.
19798
19799 2005-11-28  Andy Wingo  <wingo@pobox.com>
19800
19801         * gst/gstpad.c (fixate_value): Use array functions for arrays.
19802
19803 2005-11-28  Edward Hervey  <edward@fluendo.com>
19804
19805         * tools/gst-launch.c: (main):
19806         Clarify the output strings, makes it easier to translate.
19807         Fixes #322626
19808
19809 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19810
19811         * gst/Makefile.am:
19812           don't try and build net if we don't even have <sys/socket.h>
19813
19814 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
19815
19816         * check/Makefile.am:
19817         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
19818         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
19819           Add tests for fdsrc seekability
19820
19821         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
19822         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
19823         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
19824         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
19825         * gst/elements/gstfdsrc.h:
19826           fdsrc should not be a 'live' source.
19827           Implement seeking on seekable fd's.
19828
19829         * gst/gstquery.c: (gst_query_new_seeking),
19830         (gst_query_parse_seeking):
19831         * gst/gstquery.h:
19832           Implement SEEKING query functions: 
19833             *_new_seeking and *_parse_seeking
19834
19835 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
19836
19837         * gst/gstelement.c: (gst_element_dispose):
19838           don't loop forever
19839
19840         * gst/gstiterator.c:
19841         * gst/gststructure.c:
19842           doc fixes
19843
19844         * libs/gst/controller/gstcontroller.c:
19845         (gst_controlled_property_set_interpolation_mode):
19846         * libs/gst/controller/gstcontroller.h:
19847         * libs/gst/controller/gstinterpolation.c:
19848         (interpolate_none_get_enum_value_array):
19849           support controlling enums
19850
19851 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
19852
19853         * gst/gstvalue.c:
19854           Improve documentation for gst_value_union().
19855
19856         * gst/gstvalue.h:
19857           Change return value for union, intersect and subtract functions
19858           from gint to gboolean.
19859
19860 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
19861
19862         * gst/gstvalue.c: (gst_value_serialize_any_list),
19863         (gst_value_transform_any_list_string),
19864         (gst_value_deserialize_list), (gst_value_deserialize_array),
19865         (gst_value_set_int_range), (gst_value_deserialize_int_range),
19866         (gst_value_set_double_range), (gst_value_deserialize_double_range),
19867         (gst_value_set_fraction_range_full),
19868         (gst_value_deserialize_fraction_range),
19869         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
19870         (gst_value_deserialize_boolean),
19871         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
19872         (gst_value_serialize_float), (gst_value_deserialize_float),
19873         (gst_string_wrap), (gst_value_deserialize_string),
19874         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
19875         (gst_value_union_int_range_int_range),
19876         (gst_value_intersect_int_range_int_range),
19877         (gst_value_intersect_double_range_double_range),
19878         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
19879         (gst_value_subtract_int_range_int_range),
19880         (gst_value_subtract_double_double_range),
19881         (gst_value_subtract_double_range_double_range),
19882         (gst_value_deserialize_fraction):
19883         * gst/gstvalue.h:
19884           Use gint, gdouble and gchar in our API instead of int, double and
19885           char (and make usage in gstvalue.c more consistent).
19886
19887 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
19888
19889         * check/Makefile.am:
19890         * libs/gst/controller/Makefile.am:
19891         * libs/gst/dataprotocol/Makefile.am:
19892           fix up Makefile.am and remove GST_ENABLE_NEW
19893
19894 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
19895
19896         * configure.ac:
19897         * gst/Makefile.am:
19898         * gst/base/Makefile.am:
19899         * gst/check/Makefile.am:
19900         * gst/elements/Makefile.am:
19901         * gst/net/Makefile.am:
19902           update LDFLAGS use some more
19903
19904 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
19905
19906         * common/m4/gst-doc.m4:
19907           Fixes #312589
19908
19909 2005-11-26  Edward Hervey  <edward@fluendo.com>
19910
19911         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
19912         This shouldn't issue a g_warning since it returns NULL if it
19913         couldn't find the plugin, and all functions using this behave
19914         properly on a NULL return. Switching to a GST_WARNING.
19915
19916 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
19917
19918         * gst/gstbin.c: (gst_bin_handle_message_func):
19919         Don't leak clock messages.
19920
19921 2005-11-25  Wim Taymans  <wim@fluendo.com>
19922
19923         * gst/gstutils.c: (gst_util_uint64_scale_int64),
19924         (gst_util_uint64_scale_int):
19925         Optimisations, remove unneeded vars.
19926
19927 2005-11-25  Wim Taymans  <wim@fluendo.com>
19928
19929         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19930         Added more checks for the high precision uint64 cases.
19931
19932         * gst/gstutils.c: (gst_util_uint64_scale_int64),
19933         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
19934         Implement high precision (guint64 * guint64) / guint64.
19935
19936 2005-11-24  Wim Taymans  <wim@fluendo.com>
19937
19938         * gst/base/gstbasesrc.c: (gst_base_src_query):
19939         Fix wrong percentage query.
19940
19941         * gst/gstutils.c: (gst_util_uint64_scale),
19942         (gst_util_uint64_scale_int):
19943         Add some more common cases that can be handled 
19944         efficiently to _scale.
19945
19946 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
19947
19948         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
19949         (gst_mini_object_suite):
19950           don't use check calls from threads; check probably isn't
19951           threadsafe and using a lock to make it threadsafe would
19952           defeat the purpose of this check
19953         * gst/check/gstcheck.c:
19954         * gst/check/gstcheck.h:
19955           use GST_DEBUG some more
19956
19957 2005-11-24  Wim Taymans  <wim@fluendo.com>
19958
19959         * gst/gstutils.c: (gst_util_uint64_scale),
19960         (gst_util_uint64_scale_int):
19961         Chain trivial case to _scale_int.
19962
19963 2005-11-24  Wim Taymans  <wim@fluendo.com>
19964
19965         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19966         Added test for scaling.
19967
19968         * gst/gstclock.h:
19969         Small doc fix.
19970
19971         * gst/gstutils.c: (gst_util_uint64_scale_int):
19972         Implemented high precision scaling code.
19973
19974 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
19975
19976         * gst/gstinfo.h:
19977           do not crash on pad==NULL
19978
19979 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
19980
19981         Patch by: Stefan Kost
19982
19983         * common/gtk-doc.mak:
19984         * docs/gst/Makefile.am:
19985         * docs/libs/Makefile.am:
19986           Fix distcheck issues for the libraries docs build
19987           Closes #319599.
19988
19989 2005-11-24  Michael Smith <msmith@fluendo.com>
19990
19991         * docs/manual/basics-helloworld.xml:
19992           Fix bug #315027: memory leak in example code in docs.
19993
19994 2005-11-24  Michael Smith <msmith@fluendo.com>
19995
19996         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19997           Unlock the PREROLL_LOCK in a failure case.
19998
19999 2005-11-24  Wim Taymans  <wim@fluendo.com>
20000
20001         * docs/gst/gstreamer-sections.txt:
20002         * gst/base/gstadapter.h:
20003         * gst/base/gstbasesink.h:
20004         * gst/base/gstbasesrc.h:
20005         * gst/base/gstbasetransform.h:
20006         * gst/base/gstpushsrc.h:
20007         * gst/elements/gstfakesink.h:
20008         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
20009         * gst/elements/gstfakesrc.h:
20010         * gst/elements/gstfilesink.h:
20011         * gst/elements/gstfilesrc.h:
20012         * gst/gst.c:
20013         * gst/gstbin.c:
20014         * gst/gstbuffer.c: (_gst_buffer_copy):
20015         * gst/gstbus.h:
20016         * gst/gstcaps.c:
20017         * gst/gstchildproxy.c:
20018         * gst/gstclock.c:
20019         * gst/gstelement.c:
20020         * gst/gstelementfactory.c:
20021         * gst/gstelementfactory.h:
20022         * gst/gstevent.c:
20023         * gst/gstghostpad.h:
20024         * gst/gstindex.h:
20025         * gst/gstinterface.h:
20026         * gst/gstminiobject.c:
20027         * gst/gstminiobject.h:
20028         * gst/gstpad.c:
20029         * gst/gstpad.h:
20030         * gst/gstpadtemplate.h:
20031         * gst/gstpipeline.h:
20032         * gst/gstpluginfeature.h:
20033         * gst/gstquery.h:
20034         * gst/gstqueue.h:
20035         * gst/gsttaglist.c:
20036         * gst/gsttaglist.h:
20037         * gst/gsttagsetter.c:
20038         * gst/gsttagsetter.h:
20039         * gst/gsttrace.c:
20040         * gst/gsttrace.h:
20041         * gst/gsttypefind.h:
20042         * gst/gsturi.h:
20043         * gst/gstvalue.c:
20044         * gst/net/gstnetclientclock.c:
20045         * gst/net/gstnetclientclock.h:
20046         * gst/net/gstnettimepacket.c:
20047         * gst/net/gstnettimeprovider.c:
20048         * gst/net/gstnettimeprovider.h:
20049         Doc fixes.
20050
20051 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20052
20053         * configure.ac: back to HEAD
20054
20055 === release 0.9.6 ===
20056
20057 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
20058
20059         * configure.ac:
20060           releasing 0.9.6, "Always On Time"
20061
20062 2005-11-23  Wim Taymans  <wim@fluendo.com>
20063
20064         * docs/gst/gstreamer-sections.txt:
20065         * gst/glib-compat.c:
20066         * gst/gsttagsetter.c:
20067         * gst/gstvalue.c:
20068         * gst/net/gstnetclientclock.c:
20069         * gst/net/gstnettimepacket.h:
20070         Doc updates.
20071
20072 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20073
20074         * docs/faq/using.xml:
20075         * docs/libs/tmpl/gstcontrol.sgml:
20076         * docs/manual/advanced-dparams.xml:
20077         * docs/manual/appendix-checklist.xml:
20078         * docs/manual/basics-elements.xml:
20079         * docs/pwg/other-source.xml:
20080         * docs/random/moving-plugins:
20081         * gst/gstpad.c:
20082         * tools/gst-launch.1.in:
20083           remove mentions of sinesrc
20084
20085 2005-11-23  Michael Smith <msmith@fluendo.com>
20086
20087         * docs/gst/gstreamer-sections.txt:
20088           Update for new API and API changes.
20089         * gst/gstobject.h:
20090           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
20091         * gst/gstvalue.c:
20092           Documentation typo fix.
20093         * gst/net/gstnettimepacket.c:
20094           Documentation fixes for arguments.
20095
20096 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
20097
20098         * gst/gststructure.c: (gst_structure_get_fraction),
20099         (gst_structure_parse_value),
20100         (gst_structure_fixate_field_nearest_fraction):
20101         * gst/gststructure.h:
20102         * gst/gstutils.c: (gst_util_uint64_scale_int):
20103         * gst/gstutils.h:
20104         * scripts/update-funcnames:
20105         API Changes. 
20106         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
20107         Make gst_structure_fixate_field_nearest_fraction take a numerator
20108         and denominator argument instead of a GValue
20109         add gst_structure_get_fraction helper function.
20110
20111 2005-11-23  Wim Taymans  <wim@fluendo.com>
20112
20113         * docs/design/part-TODO.txt:
20114         Update TODO.
20115
20116         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
20117         * gst/net/gstnetclientclock.h:
20118         Use parent fields for timeout and window_size.
20119
20120 2005-11-23  Andy Wingo  <wingo@pobox.com>
20121
20122         * check/net/gstnetclientclock.c (test_functioning): Adjust to
20123         rate_num/rate_denom change.
20124
20125         * gst/net/gstnetclientclock.c
20126         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
20127         OBJECT_LOCK. Don't call add_observation with the lock.
20128
20129         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
20130         fraction.
20131         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
20132         rate fraction.
20133         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
20134         deal with rate as a fraction whose numerator and denominator are
20135         GstClockTime values.
20136         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
20137         master; the other fields are protected by the SLAVE_LOCK.
20138         (do_linear_regression): Note that this must be called with the
20139         SLAVE_LOCK.
20140         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
20141         OBJECT_LOCK. Call set_calibration instead of touching the
20142         variables directly.
20143         (gst_clock_set_property, gst_clock_get_property): Protect
20144         master/slave parameters with the SLAVE_LOCK.
20145
20146         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
20147         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
20148         note that all of the instance variables that add_observation and
20149         the set_master functions use are protected by that lock and not
20150         the OBJECT_LOCK.
20151         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
20152
20153         * gst/gstclock.c (gst_clock_add_observation): No longer requires
20154         the caller to take the object lock.
20155
20156 2005-11-23  Wim Taymans  <wim@fluendo.com>
20157
20158         * gst/gsterror.c: (_gst_core_errors_init):
20159         * gst/gsterror.h:
20160         Add error for clock stuff.
20161
20162         * gst/gstpipeline.c: (gst_pipeline_change_state),
20163         (gst_pipeline_set_clock):
20164         Post clock error when clock cannot be used in a pipeline.
20165
20166 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
20167
20168         * docs/gst/gstreamer-sections.txt:
20169           make two symbols from gstinfo private for the docs
20170         * gst/base/gstcollectpads.h:
20171         * gst/gstutils.c:
20172           fix doc typos, update docs
20173
20174 2005-11-22  Wim Taymans  <wim@fluendo.com>
20175
20176         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
20177         (gst_base_sink_wait), (gst_base_sink_do_sync),
20178         (gst_base_sink_handle_event):
20179         * gst/base/gstbasesink.h:
20180         No need to store the clock, the parent element class already
20181         has it.
20182
20183         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
20184         Updates for clock_set returning a gboolean
20185
20186         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
20187         (gst_clock_id_wait_async), (gst_clock_class_init),
20188         (gst_clock_init), (gst_clock_finalize),
20189         (gst_clock_get_internal_time), (gst_clock_get_time),
20190         (gst_clock_slave_callback), (gst_clock_set_master),
20191         (gst_clock_get_master), (do_linear_regression),
20192         (gst_clock_add_observation), (gst_clock_set_property),
20193         (gst_clock_get_property):
20194         * gst/gstclock.h:
20195         Implement master/slave. When setting a clock as a slave, a
20196         periodic timeout is scheduled to sample master and slave times.
20197         Then the slave clock is recalibrated to match offset and rate
20198         of the master clock.
20199         Update logging a bit.
20200         Add flag so that a clock can state that is cannot be slaved to
20201         another clock.
20202
20203         * gst/gstelement.c: (gst_element_set_clock):
20204         * gst/gstelement.h:
20205         The set clock returns a gboolean for when an element cannot
20206         deal with the selected clock in the pipeline. 
20207
20208         * gst/gstpipeline.c: (gst_pipeline_change_state),
20209         (gst_pipeline_set_clock):
20210         * gst/gstpipeline.h:
20211         Handle the case where the selected clock cannot be set on
20212         the pipeline.
20213
20214         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
20215         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
20216         (gst_net_client_clock_set_property),
20217         (gst_net_client_clock_get_property),
20218         (gst_net_client_clock_observe_times):
20219         * gst/net/gstnetclientclock.h:
20220         Use regression code in GstClock parent, remove duplicated
20221         functionality.
20222
20223 2005-11-22  Michael Smith <msmith@fluendo.com>
20224
20225         * gst/gstutils.c: (gst_util_clock_time_scale):
20226         * gst/gstutils.h:
20227         * docs/gst/gstreamer-sections.txt:
20228           Rename method to have extra underscore.
20229
20230 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20231
20232         * gst/elements/Makefile.am:
20233         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
20234         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
20235         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
20236         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
20237         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
20238         * gst/elements/gstfakesrc.h:
20239         * gst/gstqueue.c: (queue_leaky_get_type):
20240           correctly fix GEnumValues so that nick is the short lowercase
20241           dashed tag
20242         * tools/gst-inspect.c: (print_element_properties_info):
20243           also show the nick, since it's useful to use from parse_launch
20244           syntax
20245           Fixes #322139
20246
20247 2005-11-22  Michael Smith <msmith@fluendo.com>
20248
20249         * gst/gstutils.c: (gst_util_clocktime_scale):
20250         * gst/gstutils.h:
20251         * docs/gst/gstreamer-sections.txt:
20252           Add util method for scaling a clocktime by a fraction. Useful 
20253           implementation is left as an exercise for the reader.
20254
20255 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20256
20257         * gst/gstvalue.c: (gst_value_collect_fraction_range):
20258         If needed, allocate storage in the destination value during
20259         collection.
20260
20261 2005-11-22  Edward Hervey  <edward@fluendo.com>
20262
20263         * docs/gst/gstreamer-sections.txt:
20264         * gst/Makefile.am:
20265         * gst/gst.h:
20266         * gst/gsturitype.c:
20267         * gst/gsturitype.h:
20268         * gst/gstutils.c: (gst_util_set_object_arg):
20269         * tools/gst-compprep.c: (main):
20270         * tools/gst-inspect.c: (print_element_properties_info):
20271         Removed GstURI, closes bug #321061
20272
20273 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20274
20275         * check/gst/gststructure.c: (GST_START_TEST):
20276         * gst/gststructure.c: (gst_structure_parse_value):
20277           Oops, broke automatic string type parsing.
20278           Add a test to catch it in future.
20279
20280 2005-11-22  Andy Wingo  <wingo@pobox.com>
20281
20282         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
20283         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
20284         Actually rename the function implementations. Grr.
20285
20286 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20287
20288         * check/gst/capslist.h:
20289           Comment test cases
20290         * check/gst/gststructure.c: (GST_START_TEST),
20291         (gst_structure_suite):
20292           Test automatic value type detection in gst_structure_from_string.
20293         * gst/gststructure.c: (gst_structure_parse_value):
20294           Add fraction as a type we try and guess automatically in
20295           caps/structure strings.
20296
20297 2005-11-22  Andy Wingo  <wingo@pobox.com>
20298
20299         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
20300
20301         * gst/gsttagsetter.h:
20302         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
20303         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
20304         (gst_tag_setter_add_tag_valist)
20305         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
20306         _add_values, _add_valist, and _add_valist_values. Since this is an
20307         interface the function suffixes should be more explicit so
20308         language binding don't end up with element.add_valist ->
20309         gst_tag_setter_add_valist, for example. Fixes #322069.
20310
20311 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20312
20313         * check/gst/gstcaps.c: (GST_START_TEST):
20314           Extend caps string tests to check that a caps to string
20315           conversion is reversible and produces the same caps.
20316
20317         * gst/gststructure.c: (gst_structure_value_get_generic_type):
20318           Output "fraction" as the generic type fraction range, so caps
20319           serialisation and deserialisation works.
20320         * check/gst/capslist.h:
20321         * gst/gstvalue.c: (gst_value_deserialize_fraction):
20322           Support 'MIN' and 'MAX' for deserialising fractions.
20323
20324 2005-11-22  Andy Wingo  <wingo@pobox.com>
20325
20326         * gst/gstevent.h (gst_event_new_new_segment)
20327         (gst_event_parse_new_segment, gst_event_new_buffer_size)
20328         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
20329         Renamed from *_newsegment, *_buffersize, *_notarget.
20330
20331         * scripts/update-funcnames: New script, performs the changes
20332         listed above.
20333
20334 2005-11-22  Wim Taymans  <wim@fluendo.com>
20335
20336         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20337         Make sure the GstFlowReturn is returned.
20338
20339         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
20340         (gst_bus_add_signal_watch):
20341         * gst/gstbus.h:
20342         add gst_bus_add_signal_watch_full.
20343
20344         * gst/gstplugin.c: (gst_plugin_load_file):
20345         Small style cleanup.
20346
20347 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20348
20349         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
20350           Block the fakesrc srcpad when we send an event, to avoid
20351           contention on the stream_lock causing random test failures.
20352
20353 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20354
20355         * check/gst/gstvalue.c: (GST_START_TEST):
20356         * gst/gstvalue.c: (gst_value_fraction_subtract):
20357           Fix subtraction.
20358
20359 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
20360
20361         * gst/gst.h:
20362           include "gstchildproxy.h"
20363         * gst/gstchildproxy.h:
20364         * libs/gst/controller/gstcontroller.h:
20365           use G_GNUC_NULL_TERMINATED
20366
20367 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20368
20369         * check/gst/capslist.h:
20370         * check/gst/gstcaps.c: (GST_START_TEST):
20371         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20372         * gst/gststructure.c: (gst_structure_parse_range),
20373         (gst_structure_fixate_field_nearest_fraction):
20374         * gst/gststructure.h:
20375         * gst/gstvalue.c: (gst_value_init_fraction_range),
20376         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
20377         (gst_value_collect_fraction_range),
20378         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
20379         (gst_value_set_fraction_range_full),
20380         (gst_value_get_fraction_range_min),
20381         (gst_value_get_fraction_range_max),
20382         (gst_value_serialize_fraction_range),
20383         (gst_value_transform_fraction_range_string),
20384         (gst_value_compare_fraction_range),
20385         (gst_value_deserialize_fraction_range),
20386         (gst_value_intersect_fraction_fraction_range),
20387         (gst_value_intersect_fraction_range_fraction_range),
20388         (gst_value_subtract_fraction_fraction_range),
20389         (gst_value_subtract_fraction_range_fraction),
20390         (gst_value_subtract_fraction_range_fraction_range),
20391         (gst_value_collect_fraction), (gst_value_fraction_multiply),
20392         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
20393         (gst_value_transform_string_fraction), (_gst_value_initialize):
20394         * gst/gstvalue.h:
20395           Implement fraction ranges and extend GstFraction to support
20396           arithmetic subtraction, as well as deserialization from integer
20397           strings such as "100"
20398           Add a testsuite as for int and double range set operations
20399
20400 2005-11-21  Andy Wingo  <wingo@pobox.com>
20401
20402         * gst/gsttaglist.h: 
20403         * gst/gstcaps.h: 
20404         * gst/gststructure.h: Add glib-compat.h.
20405
20406 2005-11-21  Wim Taymans  <wim@fluendo.com>
20407
20408         * gst/gstbin.c: (gst_bin_change_state_func):
20409         Fix for #321595
20410
20411 2005-11-21  Wim Taymans  <wim@fluendo.com>
20412
20413         * gst/gstsegment.h:
20414         And add a nice define too.
20415
20416 2005-11-21  Wim Taymans  <wim@fluendo.com>
20417
20418         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
20419         (gst_segment_new), (gst_segment_free), (gst_segment_init),
20420         (gst_segment_set_duration), (gst_segment_set_last_stop),
20421         (gst_segment_set_seek), (gst_segment_set_newsegment),
20422         (gst_segment_to_stream_time), (gst_segment_to_running_time),
20423         (gst_segment_clip):
20424         * gst/gstsegment.h:
20425         Make binding friendly.
20426
20427 2005-11-21  Andy Wingo  <wingo@pobox.com>
20428
20429         * gst/gsttagsetter.h: 
20430         * gst/gsttaglist.h: 
20431         * gst/gststructure.h: 
20432         * gst/gstcaps.h: 
20433         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
20434         #319940.
20435
20436         * gst/gsterror.c (_gst_core_errors_init):
20437         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
20438         category.
20439
20440         * gst/Makefile.am (gst_headers): Add glib-compat.h.
20441         (noinst_HEADERS): noinst the -private.
20442
20443 2005-11-21  Michael Smith <msmith@fluendo.com>
20444
20445         * gst/gstplugin.h:
20446         * gst/gstregistry.h:
20447           Remove unimplemented declarations for which we can see no sensible
20448           use.
20449
20450 2005-11-21  Andy Wingo  <wingo@pobox.com>
20451
20452         * gst/gst.h: Include glib-compat.h.
20453
20454         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
20455
20456         * gst/glib-compat.c: Include the public and the private header.
20457
20458         * gst/glib-compat-private.h: Copied here from glib-compat.h.
20459
20460         * gst/gstvalue.c: 
20461         * gst/gstpad.c: 
20462         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
20463
20464         * check/gst/gstevent.c (create_custom_events): Check that
20465         FLUSH_STOP is serialized.
20466
20467         * check/elements/identity.c (event_func): 
20468         * check/elements/fakesrc.c (event_func): No stream lock, the core
20469         takes it.
20470
20471         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
20472         stream lock taking, yay.
20473
20474         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
20475         ensure that core takes the stream lock.
20476
20477         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
20478         lock name change.
20479
20480         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
20481         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
20482         it already. For the flush start we do take it though so we get the
20483         right preroll state change messages.
20484
20485         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
20486         the stream lock here, the core does it for us.
20487
20488         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
20489         GST_STREAM_GET_LOCK.
20490         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
20491         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
20492         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
20493         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
20494         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
20495         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
20496
20497         * gst/gstpad.c: Update for stream lock name change.
20498
20499         * gst/base/gstbasesink.c: Update for preroll lock name change.
20500
20501 2005-11-21  Wim Taymans  <wim@fluendo.com>
20502
20503         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
20504         (gst_clock_get_master):
20505         * gst/gstclock.h:
20506         * gst/gstsystemclock.c: (gst_system_clock_init):
20507         Convert Clock flags to object flags.
20508         Added methods to manage master/slave clocks.
20509
20510 2005-11-21  Wim Taymans  <wim@fluendo.com>
20511
20512         * check/gst/gstsegment.c: (GST_START_TEST):
20513         * docs/design/part-TODO.txt:
20514         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20515         (gst_base_sink_event), (gst_base_sink_do_sync),
20516         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
20517         (gst_base_sink_query), (gst_base_sink_change_state):
20518         * gst/base/gstbasesink.h:
20519         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
20520         (gst_base_src_default_newsegment),
20521         (gst_base_src_configure_segment), (gst_base_src_do_seek),
20522         (gst_base_src_get_range), (gst_base_src_loop),
20523         (gst_base_src_change_state):
20524         * gst/base/gstbasesrc.h:
20525         * gst/base/gstbasetransform.c:
20526         (gst_base_transform_prepare_output_buf),
20527         (gst_base_transform_event), (gst_base_transform_change_state):
20528         * gst/base/gstbasetransform.h:
20529         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
20530         (gst_collect_pads_event):
20531         * gst/base/gstcollectpads.h:
20532         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
20533         (gst_fake_src_create):
20534         * gst/elements/gstfakesrc.h:
20535         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
20536         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20537         (gst_segment_set_last_stop), (gst_segment_set_seek),
20538         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
20539         (gst_segment_to_running_time), (gst_segment_clip):
20540         * gst/gstsegment.h:
20541         More segment updates, replace code in plugins with segment
20542         helper functions.
20543
20544 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20545
20546         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
20547         Don't ignore sscanf results
20548
20549 2005-11-21  Andy Wingo  <wingo@pobox.com>
20550
20551         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
20552
20553         * *.h:
20554         * *.c: Ran scripts/update-macros. Oh yes.
20555
20556         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
20557         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
20558         GST_GET_LOCK, etc.
20559
20560         * scripts/update-macros: New script. Run it on your files to
20561         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
20562         well.
20563
20564 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
20565
20566         * docs/gst/Makefile.am:
20567         * docs/gst/gstreamer-docs.sgml:
20568         * docs/gst/gstreamer-sections.txt:
20569         * docs/gst/gstreamer.types:
20570         * gst/gstinfo.h:
20571           more docs fixes, add new api to the docs
20572
20573 2005-11-21  Andy Wingo  <wingo@pobox.com>
20574
20575         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
20576         state_broadcast call.
20577
20578         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
20579
20580 2005-11-21  Julien MOUTTE  <julien@moutte.net>
20581
20582         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
20583         function calls for arrays.
20584
20585 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
20586
20587         * docs/random/ensonic/media-device-daemon.txt:
20588           wild idea, can this be done?
20589         * docs/gst/gstreamer-sections.txt:
20590         * gst/gsterror.h:
20591         * gst/gstfilter.c:
20592         * gst/gstfilter.h:
20593         * gst/gstplugin.h:
20594         * gst/gstpluginfeature.c:
20595         * gst/gsttrace.c:
20596         * gst/gstvalue.c:
20597         * gst/gstvalue.h:
20598           doc fixes and additions
20599
20600 2005-11-21  Andy Wingo  <wingo@pobox.com>
20601
20602         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
20603         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
20604         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
20605         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
20606         private to the basesrc implementation.
20607
20608         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
20609         behalf of event function if necessary. It should no longer be
20610         necessary to take the stream lock in pad's event functions. Fixes
20611         #320299.
20612
20613 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20614         * docs/gst/gstreamer-sections.txt:
20615         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
20616         (gst_structure_fixate_field_nearest_double),
20617         (gst_structure_fixate_field_boolean):
20618         * gst/gststructure.h:
20619         * win32/common/libgstreamer.def:
20620         * win32/gstreamer.def:
20621
20622         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
20623         (#322027)
20624
20625 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20626
20627         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
20628         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
20629         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
20630         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
20631         (gst_fdsrc_uri_handler_init):
20632         * gst/elements/gstfdsrc.h:
20633           Port fd:// URI handler from 0.8 to fdsrc
20634
20635 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20636
20637         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
20638         (gst_value_serialize_fourcc):
20639         * gst/gstvalue.h:
20640           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
20641           consistent with our other format defines (#320324).
20642
20643 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20644
20645         * gst/gstvalue.c: (gst_value_is_fixed):
20646           Revert previous commit. Value lists are by definition
20647           not fixed, as they are a list of possible values.
20648
20649 2005-11-21  Andy Wingo  <wingo@pobox.com>
20650
20651         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
20652         during the stable series if we need it. Fixes #319178.
20653
20654         * gst/gstevent.c (gst_event_new_filler): Removed.
20655
20656         * check/gst/gstevent.c: Update comment about filler events.
20657
20658 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20659
20660         * gst/gstvalue.c: (gst_value_is_fixed):
20661           Should handle both value arrays and value lists.
20662
20663 2005-11-21  Andy Wingo  <wingo@pobox.com>
20664
20665         patch by: Alessandro Dessina <alessandro nnva org>
20666
20667         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
20668         functions to access arrays. Fixes #321962.
20669
20670 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20671
20672         * docs/gst/gstreamer.types:
20673           gst_collectpads_get_type => gst_collect_pads_get_type.
20674           
20675         * gst/base/gstbasetransform.c:
20676           Remove unused SIGNAL_HANDOFF enum.
20677
20678 2005-11-21  Andy Wingo  <wingo@pobox.com>
20679
20680         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
20681         the event type (upstream, downstream, serialized). Renamed
20682         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
20683         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
20684         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
20685
20686         * gst/gstevent.c: Update for new CUSTOM event names.
20687
20688         * check/gst/gstevent.c: Update check for new CUSTOM event names.
20689
20690         * gst/gstevent.h:
20691         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
20692         bug #319392.
20693
20694 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20695
20696         * docs/gst/gstreamer-sections.txt:
20697         * win32/common/libgstbase.def:
20698         * win32/libgstbase.def:
20699         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
20700         (gst_collect_pads_class_init), (gst_collect_pads_init),
20701         (gst_collect_pads_finalize), (gst_collect_pads_new),
20702         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
20703         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
20704         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
20705         (gst_collect_pads_start), (gst_collect_pads_stop),
20706         (gst_collect_pads_peek), (gst_collect_pads_pop),
20707         (gst_collect_pads_available), (gst_collect_pads_read),
20708         (gst_collect_pads_flush), (gst_collect_pads_event),
20709         (gst_collect_pads_chain):
20710         * gst/base/gstcollectpads.h:
20711           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
20712           unimplemented functions as unimplemented. Add padding to
20713           GstCollectData. (#320766, #320423)
20714
20715 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20716
20717         * gst/gstmessage.c:
20718           Improve docs for DURATION message (usage of duration parameter)
20719           (#320113)
20720
20721 2005-11-20  Wim Taymans  <wim@fluendo.com>
20722
20723         * check/Makefile.am:
20724         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
20725         (main):
20726         * gst/Makefile.am:
20727         * gst/gst.h:
20728         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20729         (gst_segment_set_seek), (gst_segment_set_newsegment),
20730         (gst_segment_to_stream_time), (gst_segment_to_running_time),
20731         (gst_segment_clip):
20732         * gst/gstsegment.h:
20733         Added segment helper structure and methods. Not fully implemented
20734         yet.
20735         Added segment check.
20736
20737 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
20738
20739         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20740           Add a deserialisation test for fractions
20741         * examples/metadata/read-metadata.c: (message_loop),
20742         (make_pipeline), (main):
20743           Fix up metadata reading sample.
20744         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
20745           Debug format fix
20746         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
20747           Don't try and fixate empty caps
20748         * gst/gst_private.h:
20749           Wrap in G_BEGIN_DECLS/G_END_DECLS
20750         * gst/gstvalue.c: (gst_value_collect_fraction),
20751         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
20752         (gst_value_transform_string_fraction),
20753         (gst_value_compare_fraction):
20754           Add some extra guards to ensure that we don't end up 
20755           with an invalid denominator of 0 in a gstfraction and
20756           that fractions always get reduced.
20757
20758 2005-11-20  Wim Taymans  <wim@fluendo.com>
20759
20760         * docs/gst/gstreamer-sections.txt:
20761         * gst/gstbuffer.h:
20762         * gst/gstelement.c:
20763         * gst/gstformat.c:
20764         * gst/gstformat.h:
20765         * gst/gstindex.h:
20766         * gst/gstquery.c:
20767         * gst/gstquery.h:
20768         * gst/gstvalue.c:
20769         Doc fixes.
20770
20771 2005-11-20  Wim Taymans  <wim@fluendo.com>
20772
20773         * docs/design/part-TODO.txt:
20774         * gst/gstcaps.h:
20775         Make a proper enum of the flag.
20776
20777 2005-11-19  Wim Taymans  <wim@fluendo.com>
20778
20779         * docs/design/part-TODO.txt:
20780         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
20781         (gst_format_to_quark), (gst_format_register):
20782         * gst/gstformat.h:
20783         * gst/gstquery.c: (_gst_query_initialize),
20784         (gst_query_type_get_name), (gst_query_type_to_quark),
20785         (gst_query_type_register):
20786         * gst/gstquery.h:
20787         Add type to quark and type to string conversions.
20788
20789 2005-11-19  Andy Wingo  <wingo@pobox.com>
20790
20791         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
20792         #320097.
20793
20794 2005-11-19  Wim Taymans  <wim@fluendo.com>
20795
20796         * docs/design/part-TODO.txt:
20797         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
20798         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
20799         (gst_bin_handle_message_func):
20800         * gst/gstbin.h:
20801         Make message handling overridable.
20802
20803 2005-11-19  Andy Wingo  <wingo@pobox.com>
20804
20805         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
20806
20807         * gst/gstclock.h:
20808         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
20809         be a GstClockTime.
20810         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
20811         is a GstClockTime. Fixes #321710.
20812
20813         * gst/gstclock.h (GstClock): Remove offset property. Add
20814         internal_calibration and external_calibration. Fix padding. Pad
20815         also by GstClockTime so we don't run into problems.
20816
20817         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
20818         (gst_clock_get_rate_offset): Remove.
20819         (gst_clock_set_time_adjust): Remove. Fixes #321712.
20820
20821         * gst/gstutils.h:
20822         * gst/gstutils.c (g_static_rec_cond_wait)
20823         (g_static_rec_cond_timed_wait): Removed, no longer needed.
20824
20825         * gst/gstbin.c: Remove terrible continue_state prototype.
20826
20827         * gst/gstelement.h (gst_element_continue_state): Make public.
20828
20829         * gst/gstelement.h:
20830         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
20831         by continue_state. Fixes #319389.
20832
20833         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
20834         Really fixes #168438. However I don't see anywhere where the
20835         filter function is called... stupid GStreamer...
20836         
20837         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
20838         don't have a dispose function, so it won't get called when the
20839         object is unreffed, but oh well!
20840
20841         * gst/gstindex.c (gst_index_set_filter_full): New API function,
20842         allows a destroy function to be set so user_data can be freed.
20843         Fixes #168438.
20844         (gst_index_set_filter): Call gst_index_set_filter_full.
20845
20846         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
20847
20848         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
20849         string should produce an error, given the lack of a way to
20850         represent NULL strings. Fixes #165650.
20851         
20852         * gst/gstvalue.h: 
20853         * gst/gstvalue.c (gst_value_array_append_value) 
20854         (gst_value_array_prepend_value, gst_value_array_get_size) 
20855         (gst_value_array_get_value): New API, copied from
20856         gst_value_list_*, only operates on arrays.
20857         (gst_value_list_append_value, gst_value_list_prepend_value) 
20858         (gst_value_list_concat, gst_value_list_get_size) 
20859         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
20860
20861         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
20862         init_list, because it works on both.
20863         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
20864         (gst_value_copy_list_or_array): Renamed from copy_list.
20865         (gst_value_free_list_or_array): Renamed from free_list.
20866         (gst_value_collect_list_or_array): Renamed from collect_list.
20867         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
20868         (gst_value_list_or_array_peek_pointer): Renamed from
20869         list_peek_pointer.
20870         (_gst_value_array_value_table, _gst_value_list_value_table):
20871         Update value table functions.
20872         (gst_value_compare_list_or_array): Renamed from compare_list.
20873
20874         * gsttaglist.h: Whoops, foreach function returns void. Also fix
20875         some constness.
20876
20877         * gst/gsttaglist.c:
20878         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
20879         GstTagList*. Fixes #143472.
20880
20881         * gst/gststructure.h: Clarify what the foreach/map functions can
20882         or can't do to their arguments.
20883
20884 2005-11-18  Wim Taymans  <wim@fluendo.com>
20885
20886         * gst/gstclock.c: (gst_clock_set_calibration),
20887         (gst_clock_get_calibration):
20888         Doc and API fixes.
20889         Calibration can be set with internal time equal to current
20890         internal time too.
20891
20892 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
20893
20894         * gst/gsterror.c:
20895         * gst/gsterror.h:
20896           document
20897
20898 2005-11-18  Andy Wingo  <wingo@pobox.com>
20899
20900         * configure.ac: 
20901         * pkgconfig/gstreamer-net.pc.in:
20902         * pkgconfig/gstreamer-net-uninstalled.pc.in:
20903         * pkgconfig/Makefile.am: Add net pkgconfig files.
20904
20905 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
20906
20907         * gst/gstcaps.c:
20908         * gst/gstghostpad.c:
20909         * gst/gsttrace.c:
20910         * gst/gstvalue.c:
20911         * gst/gstvalue.h:
20912           docs fixes
20913
20914 2005-11-18  Andy Wingo  <wingo@pobox.com>
20915
20916         * gst/net/gstnetclientclock.c: Turn off debugging.
20917
20918         * check/net/gstnetclientclock.c (test_functioning): Assert that the
20919         times connverge somewhat. Can't make a real test.
20920
20921         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
20922         integer arithmetic. Return the minimum of the domain, which can be
20923         set as "internal" for gst_clock_set_calibration.
20924         (gst_net_client_clock_observe_times): Call _set_calibration.
20925         (gst_net_client_clock_new): Call _set_calibration instead of
20926         rate_offset.
20927
20928         * check/net/gstnetclientclock.c (test_functioning): Use the right
20929         adjustment api.
20930
20931         * gst/gstclock.h:
20932         * gst/gstclock.c (gst_clock_get_calibration) 
20933         (gst_clock_set_calibration): New functions, obsolete the ones I
20934         added yesterday. Doh. Precision issues mean we have to extrapolate
20935         from a point in the more recent past than 1970.
20936         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
20937         obsolete.
20938         (gst_clock_adjust_unlocked): Use the right calibration data.
20939
20940 2005-11-18  Edward Hervey  <edward@fluendo.com>
20941
20942         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
20943         Also reset the ->current_* values in READY->PAUSED
20944
20945 2005-11-18  Andy Wingo  <wingo@pobox.com>
20946
20947         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
20948         Whoops, check the right fd. Also add some debugging.
20949         (gst_net_client_clock_observe_times): Adjust for int64 offset.
20950         (do_linear_regression): Add a crapload of debugging. Subtract off
20951         the minimum values from the input series to discard unneeded bits.
20952         Use only int arithmetic. There is still double arithmetic when
20953         calculating the intercept that needs fixing. Return boolean to
20954         indicate success; FALSE would mean the domain or range is too
20955         great. Still needs fixes.
20956
20957 2005-11-18  Wim Taymans  <wim@fluendo.com>
20958
20959         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
20960         For the current position in stream time, we need to subtract
20961         accumulated time.
20962         
20963         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
20964         Release lock before calling the callback function of async
20965         entries.
20966
20967 2005-11-18  Andy Wingo  <wingo@pobox.com>
20968
20969         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
20970         Port goes all the way to MAXUINT16.
20971
20972         * gst/net/gstnettimeprovider.c: Make the port range the same as
20973         for the kernel: 0 assigns, otherwise ports are less than
20974         MAXUINT16.
20975
20976         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
20977         port change.
20978
20979         * check/net/gstnetclientclock.c (test_functioning): Add the start
20980         of another test. 
20981
20982 2005-11-18  Wim Taymans  <wim@fluendo.com>
20983
20984         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
20985         (gst_bin_remove_func), (bin_bus_handler):
20986         * gst/gstbin.h:
20987         Removing a clock provider from a bin, triggers a clock lost message
20988         so that a new clock will be selected.
20989         Adding a clock to a bin triggers a clock provider message.
20990         Make sure we reselect a clock when we received a clock lost message.
20991         Keep a reference to the element that provided the clock.
20992
20993 2005-11-18  Andy Wingo  <wingo@pobox.com>
20994
20995         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
20996         the clock initially so it produces values around the base time.
20997         (gst_net_client_clock_class_init): Typo fix.
20998         (gst_net_client_clock_thread): Add note on when the socket gets
20999         closed.
21000
21001 2005-11-17  Wim Taymans  <wim@fluendo.com>
21002
21003         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
21004         Free remote and local time arrays.
21005
21006 2005-11-17  Wim Taymans  <wim@fluendo.com>
21007
21008         * gst/net/gstnetclientclock.c: (do_linear_regression),
21009         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
21010         Fix compilation, uninitialized vars and a forgotten continue.
21011
21012 2005-11-17  Andy Wingo  <wingo@pobox.com>
21013
21014         * check/Makefile.am (check_PROGRAMS): 
21015         * check/net/gstnetclientclock.c: Add a most minimal test for the
21016         net client clock. More to come later.
21017
21018         * gst/net/gstnet.h: 
21019         * gst/net/Makefile.am: Add netclientclock.
21020
21021         * gst/net/gstnetclientclock.h:
21022         * gst/net/gstnetclientclock.c: New files, implement an untested
21023         GstClock that takes its time from a network time provider.
21024         Implements the algorithm in network-clock.scm.
21025
21026         * tests/network-clock.scm (*window-size*): Rename from
21027         *queue-length*.
21028         * tests/network-clock.scm (network-time): 
21029         * tests/network-clock-utils.scm (q-push): Update callers.
21030
21031 2005-11-17  Wim Taymans  <wim@fluendo.com>
21032
21033         * gst/gstbin.c: (gst_bin_provide_clock_func),
21034         (gst_bin_sort_iterator_new):
21035         And unref the child too..
21036
21037 2005-11-17  Wim Taymans  <wim@fluendo.com>
21038
21039         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
21040         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
21041         Refactor the sort iterator so it can be used while holding the
21042         LOCK too.
21043         Make clock selection select a clock closest to the source.
21044
21045 2005-11-17  Michael Smith <msmith@fluendo.com>
21046
21047         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
21048         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
21049         * gst/gstclock.h:
21050           Anonymous structs are a gcc (and some other compilers) extension, so
21051           don't use them. Since this is only for ABI-compatibility, and our
21052           API/ABI freeze is over in a few days, this whole thing will only
21053           last a few days, so don't bother trying to think up a meaningful
21054           name for the struct.
21055
21056 2005-11-17  Andy Wingo  <wingo@pobox.com>
21057
21058         * gst/gstclock.h (GstClock): Add rate and offset properties,
21059         preserving ABI stability. Add rate/offset accessors. Will file bug
21060         for the freeze break.
21061
21062         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
21063         and offset, trying to keep precision and avoiding
21064         underflow/overflow.
21065         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
21066         functions. Make gst_clock_set_time_adjust obsolete.
21067         (gst_clock_set_time_adjust): Note that this function is obsolete.
21068         Will file bug soon.
21069
21070         * gst/base/gstbasetransform.h: Make the ABI-stability hack
21071         greppable by using GST_PADDING-1+1.
21072
21073 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
21074
21075         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
21076
21077         * gst/gstmessage.c: (gst_message_parse_clock_lost):
21078           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
21079
21080         * gst/gstpadtemplate.h:
21081         * gst/gstpluginfeature.h:
21082           Don't use c++ style comments in headers (#321638).
21083
21084 2005-11-16  Andy Wingo  <wingo@pobox.com>
21085
21086         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
21087         buffer.
21088
21089         * check/net/gstnettimeprovider.c: Check to see that the time
21090         provider actually provides times. Works, yo!
21091
21092 2005-11-16  Wim Taymans  <wim@fluendo.com>
21093
21094         * check/Makefile.am:
21095         Enable more tests.
21096
21097         * check/elements/fakesrc.c: (GST_START_TEST):
21098         Set element to NULL before disposing it.
21099
21100 2005-11-16  Andy Wingo  <wingo@pobox.com>
21101
21102         * gst/net/Makefile.am:
21103         * gst/net/gstnet.h:
21104         * gst/net/gstnettimeprovider.c: 
21105         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
21106         provider, include it from gstnet.h, and add it to the build.
21107
21108         * gst/net/gstnettimepacket.h: 
21109         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
21110         sending and receiving.
21111
21112 2005-11-16  Wim Taymans  <wim@fluendo.com>
21113
21114         * check/Makefile.am:
21115         Enable valgrind check.
21116
21117         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
21118         (gst_fake_src_alloc_buffer):
21119         Fix memleak.
21120
21121 2005-11-16  Wim Taymans  <wim@fluendo.com>
21122
21123         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
21124         Call parent finalize too.
21125
21126 2005-11-16  Wim Taymans  <wim@fluendo.com>
21127
21128         * check/Makefile.am:
21129         Enable valgrind check that should work fine now.
21130
21131         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21132         * gst/gstqueue.c: (gst_queue_init):
21133         Fix memleaks in pad allocation.
21134
21135 2005-11-16  Andy Wingo  <wingo@pobox.com>
21136
21137         * gst/net/Makefile.am:
21138         * gst/net/gstnet.h: New part of core to hold network elements and
21139         objects. Put in core because it exposes API that applications want
21140         to use. The library is named libgstnet-tempname right now because
21141         of the existing libgstnet in gst-plugins-base. Solution is
21142         probably to rename the one in plugins-base; will file a bug for
21143         the freeze break.
21144
21145         * gst/net/gstnettimeprovider.c: 
21146         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
21147         get_time call over the network.
21148
21149         * configure.ac: 
21150         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
21151
21152         * check/Makefile.am:
21153         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
21154         get additions shortly.
21155
21156 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21157
21158         * gst/gstpad.c: (gst_pad_new_from_static_template):
21159         * gst/gstpad.h:
21160           add gst_pad_new_from_static_template functions
21161         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
21162         (gst_check_setup_sink_pad):
21163         * gst/elements/gsttee.c: (gst_tee_init):
21164           and use them
21165
21166 2005-11-16  Wim Taymans  <wim@fluendo.com>
21167
21168         * gst/gstpad.c: (gst_pad_pause_task):
21169         Removed warning, it's not really an error either.
21170
21171 2005-11-16  Wim Taymans  <wim@fluendo.com>
21172
21173         * gst/base/gstbasetransform.c:
21174         (gst_base_transform_prepare_output_buf),
21175         (gst_base_transform_event):
21176         Check if the caps are NULL, this can happen if the element
21177         is shutting down and the pad caps are set to NULL.
21178
21179 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21180
21181         * gst/elements/gsttee.c: (gst_tee_init):
21182           fix pad template leak in tee
21183
21184 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21185
21186         * gst/glib-compat.c: (g_value_dup_gst_object):
21187         * gst/glib-compat.h:
21188         * gst/gstpad.c: (gst_pad_set_property):
21189           use gst_object_ref when setting the pad template; this will
21190           trigger the pad template leaks on GLib 2.6 and the slaves
21191
21192 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21193
21194         * gst/glib-compat.c: (gst_flags_get_first_value):
21195         * gst/glib-compat.h:
21196         * gst/gstregistryxml.c:
21197           remove functions copied from GLib 2.6
21198
21199 2005-11-16  Michael Smith <msmith@fluendo.com>
21200
21201         * gst/Makefile.am:
21202           Don't link against VALGRIND_LIBS. That was always the wrong thing to
21203           do, but only breaks with newer valgrind versions. We're not a
21204           valgrind tool, we have no link-time dependencies on libcoregrind.
21205
21206 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21207
21208         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
21209           some debug changes
21210         * gst/gstmessage.h:
21211           typo fixes
21212
21213 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21214
21215         * gst/base/gstbasesrc.c: (gst_base_src_init):
21216         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21217         * gst/gstqueue.c: (gst_queue_init):
21218         * gst/gstregistryxml.c: (load_feature):
21219           Revert all these unrefs, they don't even pass make check !
21220
21221 2005-11-15  Johan Dahlin  <johan@gnome.org>
21222
21223         * gst/base/gstbasesrc.c: (gst_base_src_init):
21224         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21225         * gst/gstqueue.c: (gst_queue_init): 
21226         Free pad templates, fixes a couple of leaks.
21227
21228 2005-11-15  Daniel Fischer  <dan at f3c dot com>
21229
21230         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
21231
21232         * gst/gstpad.c: (gst_pad_get_property):
21233           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
21234           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
21235           (#321452)
21236
21237 2005-11-15  Wim Taymans  <wim@fluendo.com>
21238
21239         * gst/gstevent.c:
21240         Small doc update.
21241
21242 2005-11-15  Andy Wingo  <wingo@pobox.com>
21243
21244         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
21245
21246         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
21247         using GST_CLOCK_TIME_NONE to disable base time management.
21248         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
21249         time if it was NONE before.
21250         (gst_pipeline_change_state): Only munge the base time if
21251         stream_time != GST_CLOCK_TIME_NONE.
21252
21253         * check/gst/gstpipeline.c (test_base_time): Punt around the
21254         problem of the probe not being called, because that's not the
21255         issue I'm looking at. Add a check that setting stream_time to NONE
21256         disables base time management.
21257         
21258 2005-11-15  Wim Taymans  <wim@fluendo.com>
21259
21260         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
21261         segment_stop == -1 at startup.
21262
21263         * gst/base/gstbasetransform.c: (gst_base_transform_event),
21264         (gst_base_transform_change_state):
21265         Init segment values at start.
21266
21267 2005-11-15  Wim Taymans  <wim@fluendo.com>
21268
21269         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21270         0 segment values are 0 in any format.
21271
21272         * gst/base/gstbasetransform.c: (gst_base_transform_event):
21273         * gst/base/gstbasetransform.h:
21274         Parse newsegment correctly in basetransform
21275
21276         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
21277         Sync to clock using updated segment values.
21278
21279 2005-11-15  Andy Wingo  <wingo@pobox.com>
21280
21281         * check/gst/gstpipeline.c (test_base_time): Add check that the
21282         base time and stream time are reset correctly.
21283
21284 2005-11-15  Wim Taymans  <wim@fluendo.com>
21285
21286         * docs/design/part-TODO.txt:
21287         Some more TODO items.
21288
21289 2005-11-15  Andy Wingo  <wingo@pobox.com>
21290
21291         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
21292         error if the user selected "no clock" as the clocking method.
21293
21294         * check/gst/gstpipeline.c (test_base_time): New test for buffer
21295         timestamps with live capture.
21296
21297         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
21298         is 0 but we are a live source, timestamp the buffers using the
21299         element's clock.
21300
21301 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
21302
21303         * docs/gst/gstreamer-sections.txt:
21304         * gst/gsterror.c:
21305         * gst/gstghostpad.c:
21306         * gst/gstobject.h:
21307         * gst/gstxml.c:
21308           more section docs
21309
21310 2005-11-14  Wim Taymans  <wim@fluendo.com>
21311
21312         * common/gst.supp:
21313           add suppressions from Wim's Debian machine
21314
21315 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
21316
21317         * common/gst.supp:
21318           add suppressions from Andy's AMD64 Ubuntu machine
21319
21320 2005-11-14  Andy Wingo  <wingo@pobox.com>
21321
21322         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
21323         STATE_LOCK not necessary. Fixes #311489.
21324
21325         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
21326         #305291.
21327
21328         * gst/gstindex.c (gst_index_add_object): Note in the docs that
21329         this function is not implemented.
21330
21331 2005-11-14  Julien MOUTTE  <julien@moutte.net>
21332
21333         * gst/base/gstbasetransform.c:
21334         (gst_base_transform_prepare_output_buf):
21335         Ref the source pad caps while we need them.
21336         Fixes (#321386)
21337
21338 2005-11-11  Wim Taymans  <wim@fluendo.com>
21339
21340         * docs/gst/gstreamer-sections.txt:
21341         Added some docs for GstCollectData.
21342
21343         * gst/base/gstadapter.c:
21344         Some small code example fix.
21345
21346         * gst/base/gstcollectpads.c:
21347         * gst/base/gstcollectpads.h:
21348         Document some more.
21349
21350 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21351
21352         * configure.ac: back to HEAD
21353
21354 === release 0.9.5 ===
21355
21356 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
21357
21358         * configure.ac:
21359           releasing 0.9.5, "Bike Lunch Day"
21360
21361 2005-11-11  Wim Taymans  <wim@fluendo.com>
21362
21363         * gst/gstbuffer.c: (_gst_buffer_copy):
21364         Copy more flags.
21365
21366         * gst/gstcaps.c: (gst_caps_is_equal):
21367         Fix some docs.
21368         Make _is_equal fast in the trivial cases.
21369
21370         * gst/gstminiobject.c:
21371         * gst/gstminiobject.h:
21372         More docs. Spifify .h file.
21373
21374         * gst/gstutils.c:
21375         Small doc update.
21376
21377 2005-11-11  Wim Taymans  <wim@fluendo.com>
21378
21379         * gst/base/gstbasetransform.c:
21380         (gst_base_transform_prepare_output_buf),
21381         (gst_base_transform_handle_buffer):
21382         Small cleanups.
21383         If we're processing a buffer and need to allocate an output
21384         buffer, we cannot accept a format change. If we did get a 
21385         format change, we have to alloc a buffer ourselves of the 
21386         right size.
21387
21388 2005-11-11  Wim Taymans  <wim@fluendo.com>
21389
21390         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
21391         While checking the flag for reentrancy in the gstcaps function
21392         is nice to detect recursive invocations, it also makes it 
21393         impossible to call getcaps from multiple threads, which must be
21394         possible. So, checking for recursive calls has to go.
21395
21396 2005-11-11  Michael Smith <msmith@fluendo.com>
21397
21398         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21399           Don't sync on buffers that fall partially outside our current
21400           segment. Prevents an assertion failure/abort playing some files.
21401
21402 2005-11-10  Andy Wingo  <wingo@pobox.com>
21403
21404         * check/gst/gstbin.c (test_message_state_changed_children): Style
21405         fix..
21406
21407         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
21408         gst_bus_poll with the signal watch. Ensures that poll and a signal
21409         watch see the same messages.
21410
21411         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
21412         a poll and a watch at the same time get the same messages.
21413
21414 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21415
21416         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
21417         * gst/gstcaps.c: (gst_caps_intersect):
21418           Don't call gst_caps_do_simplify - it doesn't respect order of caps
21419           and it's not needed.
21420
21421 2005-11-10  Wim Taymans  <wim@fluendo.com>
21422
21423         * docs/design/part-TODO.txt:
21424         Updated todo.
21425
21426 2005-11-10  Wim Taymans  <wim@fluendo.com>
21427
21428         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21429         * gst/base/gstbasesrc.c: (gst_base_src_wait),
21430         (gst_base_src_do_sync), (gst_base_src_get_range):
21431         Implement clock sync in base class.
21432
21433 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21434
21435         patch by: Tim-Philipp Müller <tim at centricular dot net>
21436
21437         * gst/gststructure.c: (gst_structure_parse_field),
21438         (gst_structure_from_string):
21439           Forward-port a 0.8 patch to handle escaped spaces in structure string,
21440           so that gst_parse_launch() can deal with spaces in filtered link
21441           caps (fixes #164479)
21442         * check/gst/capslist.h:
21443         * check/gst/gststructure.c: (GST_START_TEST):
21444           add unit tests for this change
21445
21446 2005-11-10  Wim Taymans  <wim@fluendo.com>
21447
21448         * docs/gst/gstreamer-sections.txt:
21449         * gst/gstelement.c:
21450         * gst/gstelement.h:
21451         Fix docs, move some STATE macros to private.
21452
21453 2005-11-10  Wim Taymans  <wim@fluendo.com>
21454
21455         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
21456         Added check for bug #317341
21457
21458         * gst/gstbuffer.c:
21459         * gst/gstbuffer.h:
21460         Some more spiffifying.
21461
21462         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
21463         Call peer linkfunction if we are a source pad. Totally fixes
21464         #317341
21465
21466         * gst/gstpad.c:
21467         Update docs, source pads should call the peer linkfunction
21468         so they can atomically perform the pad link.
21469
21470 2005-11-09  Wim Taymans  <wim@fluendo.com>
21471
21472         * gst/gstbuffer.c:
21473         * gst/gstbuffer.h:
21474         Uber-spiffy-spiffify some more.
21475
21476 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
21477
21478         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
21479         * gst/elements/gstfilesink.c: (gst_file_sink_init):
21480         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21481         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
21482         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
21483         * gst/gstpad.c: (gst_pad_init):
21484           Use GST_DEBUG_FUNCPTR() more extensively.
21485
21486 2005-11-09  Wim Taymans  <wim@fluendo.com>
21487
21488         * gst/gstobject.c: (gst_object_class_init):
21489         * gst/gstobject.h:
21490         Documentation fixes.
21491
21492 2005-11-09  Edward Hervey  <edward@fluendo.com>
21493
21494         * gst/gsttypefindfactory.c:
21495         Fix docs.
21496         
21497 2005-11-09  Edward Hervey  <edward@fluendo.com>
21498
21499         * gst/base/gsttypefindhelper.c:
21500         * gst/gsttypefind.c:
21501         * gst/gsttypefind.h:
21502         Fix docs.
21503
21504 2005-11-09  Wim Taymans  <wim@fluendo.com>
21505
21506         * gst/gstiterator.c:
21507         Fix revision data.
21508
21509         * gst/gsttask.c:
21510         * gst/gsttask.h:
21511         Fix docs.
21512
21513 2005-11-09  Wim Taymans  <wim@fluendo.com>
21514
21515         * gst/gstevent.h:
21516         * gst/gsturi.h:
21517         Fix docs.
21518
21519 2005-11-09  Wim Taymans  <wim@fluendo.com>
21520
21521         * docs/gst/gstreamer-sections.txt:
21522         Moved the message async delivery private lock and cond
21523         to the private section.
21524
21525         * gst/gstmessage.c:
21526         * gst/gstmessage.h:
21527         Fixed docs.
21528
21529 2005-11-09  Edward Hervey  <edward@fluendo.com>
21530
21531         * docs/gst/gstreamer-sections.txt:
21532         * gst/gsturi.c:
21533         * gst/gsturi.h:
21534         Document GstURIHandler
21535
21536 2005-11-09  Wim Taymans  <wim@fluendo.com>
21537
21538         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
21539         (gst_iterator_find_custom):
21540         * gst/gstiterator.h:
21541         Fix iterator docs.
21542
21543 2005-11-09  Wim Taymans  <wim@fluendo.com>
21544
21545         * gst/gstbin.h:
21546         Document another field.
21547
21548         * gst/gststructure.c:
21549         * gst/gststructure.h:
21550         Document.
21551
21552 2005-11-09  Wim Taymans  <wim@fluendo.com>
21553
21554         * gst/gstbin.h:
21555         Documented structs.
21556
21557 2005-11-09  Wim Taymans  <wim@fluendo.com>
21558
21559         * docs/gst/gstreamer-sections.txt:
21560         Added some new macros.
21561
21562         * gst/gstclock.c:
21563         * gst/gstclock.h:
21564         * gst/gstobject.h:
21565         Docs updates.
21566
21567 2005-11-09  Wim Taymans  <wim@fluendo.com>
21568
21569         * docs/design/part-TODO.txt:
21570         Some more items for the TODO
21571
21572         * gst/gstcaps.c:
21573         * gst/gstcaps.h:
21574         Document GstCaps.
21575
21576 2005-11-09  Andy Wingo  <wingo@pobox.com>
21577
21578         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
21579         to work on something else now tho...
21580
21581         * gst/base/gstadapter.c: More adapter docs.
21582
21583         * gst/elements/gstfilesink.c (gst_file_sink_start) 
21584         (gst_file_sink_stop): New functions, replace the state change
21585         handler.
21586         (gst_file_sink_class_init): Hook up the start and stop functions.
21587         (gst_file_sink_base_init): Don't set the state change handler any
21588         more. It was a bit ugly too, being set from here...
21589         (gst_file_sink_get_property, gst_file_sink_set_property):
21590         Cleanups...
21591         (gst_file_sink_set_location): More robust check that doesn't call
21592         GST_STATE. Ugggggg.
21593
21594 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
21595
21596         * gst/base/gstbasetransform.c: (gst_base_transform_event):
21597           Hold STREAM_LOCK while pushing newsegment or tag events as well.
21598
21599 2005-11-08  Wim Taymans  <wim@fluendo.com>
21600
21601         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
21602         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
21603         (gst_base_sink_chain), (gst_base_sink_change_state):
21604         * gst/base/gstbasesink.h:
21605         * gst/base/gstbasesrc.h:
21606         * gst/gstelement.h:
21607         * gst/gstevent.h:
21608         Avoid excessive typechecking in macros.
21609
21610         * gst/gstminiobject.c: (gst_mini_object_get_type),
21611         (gst_mini_object_init), (gst_mini_object_new),
21612         (gst_mini_object_free):
21613         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
21614         (gst_object_finalize):
21615         Remove cruft code, optimize alloc_trace.
21616
21617 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
21618
21619         * docs/faq/gst-uninstalled:
21620           fix up PS1 for systems that try to reset it
21621
21622 2005-11-07  Wim Taymans  <wim@fluendo.com>
21623
21624         * gst/base/gstbasesrc.c: (gst_base_src_init),
21625         (gst_base_src_get_range):
21626         Set the segment_end to -1 initially. Fixed typefind.
21627
21628 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
21629
21630         * gst/base/gstadapter.c:
21631           Debug category should be 'adapter', not 'GstAdapter'.
21632           
21633         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
21634         (gst_collectpads_class_init), (gst_collectpads_init),
21635         (gst_collectpads_peek), (gst_collectpads_pop),
21636         (gst_collectpads_event), (gst_collectpads_chain):
21637           Add debug category and some debugging output. Use boilerplate
21638           macros. Remove some extraneous words from docs.
21639
21640 2005-11-05  Andy Wingo  <wingo@pobox.com>
21641
21642         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
21643         macro.
21644
21645 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
21646
21647         * docs/gst/gstreamer-sections.txt:
21648         * gst/gstcaps.h:
21649         * gst/gstinfo.c:
21650         * gst/gstminiobject.h:
21651         * gst/gstobject.h:
21652         * gst/gstutils.h:
21653           more docs added
21654
21655 2005-11-04  Wim Taymans  <wim@fluendo.com>
21656
21657         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21658         Small update to stop at the configured segment_end
21659         position.
21660
21661 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
21662
21663         * gst/gstregistry.c:
21664         * gst/gstregistry.h:
21665           added missing docs
21666
21667 2005-11-04  Edward Hervey  <edward@fluendo.com>
21668
21669         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21670         Check if we are doing a segment seek and have arrived at the
21671         end of that segment.
21672
21673 2005-11-04  Wim Taymans  <wim@fluendo.com>
21674
21675         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
21676         Don't leak a mutex unlock in case of an error.
21677
21678         * gst/gstbus.h:
21679         Doc fixes.
21680
21681 2005-11-04  Wim Taymans  <wim@fluendo.com>
21682
21683         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
21684         (gst_bus_post):
21685         Get the context to wake up only once.
21686
21687 2005-11-03  Wim Taymans  <wim@fluendo.com>
21688
21689         * check/states/sinks.c: (GST_START_TEST):
21690         Uncomment fixed check.
21691
21692         * docs/design/part-TODO.txt:
21693         Updated TODO.
21694
21695         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21696         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
21697         (gst_base_sink_get_position):
21698         If we are going to PLAYING, post the right pending state
21699         when we post the intermediate paused message.
21700
21701         * gst/gstelement.c: (gst_element_continue_state),
21702         (gst_element_set_state_func), (gst_element_change_state):
21703         Don't post state changes that were between the same state
21704         and were not ASYNC.
21705
21706 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
21707
21708         * docs/gst/gstreamer-sections.txt:
21709         * gst/gstcaps.h:
21710         * gst/gstinfo.c:
21711         * gst/gstminiobject.h:
21712         * gst/gstobject.h:
21713         * gst/gstutils.h:
21714           more docs and doc style fixes
21715
21716 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
21717
21718         * docs/gst/gstreamer-sections.txt:
21719         * gst/gstelement.c:
21720         * gst/gstminiobject.c:
21721         doc fixes
21722
21723 2005-11-03  Andy Wingo  <wingo@pobox.com>
21724
21725         * check/states/sinks.c (test_livesrc_sink): Add checks that the
21726         state-changed messages actually have the right order and the right
21727         values.
21728
21729 2005-11-03  Wim Taymans  <wim@fluendo.com>
21730
21731         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
21732         Added some more checks. Specifically the case where NO_PREROLL
21733         elements are in the pipeline.
21734
21735         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21736         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
21737         (gst_base_sink_get_position):
21738         Post READY->PAUSED state change messages too.
21739         Fix bug where VOID was posted as pending state...
21740
21741         * gst/gstbin.c: (gst_bin_recalc_state):
21742         use _element_continue_state() to continue the state change.
21743
21744         * gst/gstelement.c: (gst_element_continue_state),
21745         (gst_element_commit_state), (gst_element_set_state_func),
21746         (gst_element_change_state), (gst_element_change_state_func):
21747         Lots of state change cleanups, assign the STATE_RETURN in
21748         a new continue_state() function that also propagates the
21749         last return value from a state change to the app.
21750         Update some debug statements with proper category.
21751
21752 2005-11-03  Wim Taymans  <wim@fluendo.com>
21753
21754         * docs/design/part-events.txt:
21755         * docs/design/part-gstpipeline.txt:
21756         * docs/design/part-messages.txt:
21757         * docs/design/part-overview.txt:
21758         * docs/design/part-seeking.txt:
21759         * docs/design/part-states.txt:
21760         * docs/design/part-trickmodes.txt:
21761         * docs/manual/advanced-position.xml:
21762         Small docs updates.
21763
21764         * gst/gstobject.h:
21765         People think !! is ugly, this looks better.
21766
21767         * gst/gstpad.c: (gst_pad_set_blocked_async):
21768         Remove !! since it's fixed elsewhere now.
21769
21770 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
21771
21772         * gst/gstminiobject.h:
21773         * gst/gstobject.h:
21774           Add !! to _FLAG_IS_SET macros to make the result boolean.
21775
21776 2005-11-03  Edward Hervey  <edward@fluendo.com>
21777
21778         * gst/gstpad.c: (gst_pad_set_blocked_async):
21779         comparing a flag and a gboolean rarely returns coherent results...
21780         Added two characters (!!) to make that work correctly.
21781         
21782 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
21783
21784         * gst/gstbus.c: (gst_bus_class_init):
21785           Fix some typos.
21786           
21787         * gst/gstqueue.c: (gst_queue_loop):
21788           Don't assume a miniobject that isn't a buffer is an
21789           event (it could be that there is a refcounting
21790           problem somewhere and the pointer is stale and
21791           refers to an already destroyed miniobject).
21792
21793 2005-11-03  Julien MOUTTE  <julien@moutte.net>
21794
21795         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
21796
21797 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
21798
21799         * docs/manual/advanced-position.xml:
21800           Update seek example and explanations to current 0.9 API.
21801
21802         * gst/elements/gsttypefindelement.c:
21803         (gst_type_find_element_activate):
21804           Remove FIXME comment now that the found caps
21805           are unreffed.
21806
21807 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
21808
21809         * gst/gstregistryxml.c: (load_feature):
21810           Add another GST_STR_NULL instance
21811
21812 2005-11-02  Edward Hervey  <edward@fluendo.com>
21813
21814         * gst/gstpad.c: (handle_pad_block):
21815         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
21816         
21817 2005-11-02  Wim Taymans  <wim@fluendo.com>
21818
21819         * gst/gstbin.c:
21820         Fix typo in docs.
21821
21822         * gst/gstelement.c: (gst_element_commit_state):
21823         Remove unused value.
21824
21825         * gst/gstiterator.c:
21826         Mention that the returned element is reffed in the docs.
21827
21828 2005-11-02  Wim Taymans  <wim@fluendo.com>
21829
21830         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
21831         (gst_pad_push), (gst_pad_push_event):
21832         Unlock blocked pads when they are flushed.
21833
21834 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21835
21836         * docs/README:
21837         * docs/gst/gstreamer-sections.txt:
21838         * gst/gstbin.c:
21839           doc updates
21840         * gst/gstregistry.c: (gst_registry_scan_path_level):
21841           fix for a nasty little missed situation where an installed plug-in
21842           which was in the cache did not get overridden by an uninstalled one
21843           which was earlier in the plugin path because the newly created plugin
21844           for the uninstalled one (not in the registry) didn't get its
21845           ->registered set to TRUE
21846
21847 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
21848
21849         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
21850         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
21851         (gst_collectpads_is_active), (gst_collectpads_collect),
21852         (gst_collectpads_collect_range), (gst_collectpads_start),
21853         (gst_collectpads_stop), (gst_collectpads_peek),
21854         (gst_collectpads_pop), (gst_collectpads_available),
21855         (gst_collectpads_read), (gst_collectpads_flush):
21856           Guard public API with assertions.
21857         
21858         * gst/gstpad.c:
21859           Fix docs for gst_pad_set_link_function().
21860
21861 2005-11-02  Johan Dahlin  <johan@gnome.org>
21862
21863         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
21864         Unref found_caps after we used it.
21865
21866 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
21867
21868         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
21869           Don't try to ref NULL.
21870
21871 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21872
21873         * win32/common/config.h.in:
21874           provide a GST_FUNCTION that just gives a string for now
21875
21876 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21877
21878         * win32/common/gstenumtypes.c: (register_gst_object_flags),
21879         (gst_object_flags_get_type), (register_gst_bin_flags),
21880         (gst_bin_flags_get_type), (register_gst_buffer_flag),
21881         (gst_buffer_flag_get_type), (register_gst_bus_flags),
21882         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
21883         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
21884         (gst_clock_return_get_type), (register_gst_clock_entry_type),
21885         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
21886         (gst_clock_flags_get_type), (register_gst_state),
21887         (gst_state_get_type), (register_gst_state_change_return),
21888         (gst_state_change_return_get_type), (register_gst_state_change),
21889         (gst_state_change_get_type), (register_gst_element_flags),
21890         (gst_element_flags_get_type), (register_gst_core_error),
21891         (gst_core_error_get_type), (register_gst_library_error),
21892         (gst_library_error_get_type), (register_gst_resource_error),
21893         (gst_resource_error_get_type), (register_gst_stream_error),
21894         (gst_stream_error_get_type), (register_gst_event_type),
21895         (gst_event_type_get_type), (register_gst_seek_type),
21896         (gst_seek_type_get_type), (register_gst_seek_flags),
21897         (gst_seek_flags_get_type), (register_gst_format),
21898         (gst_format_get_type), (register_gst_index_certainty),
21899         (gst_index_certainty_get_type), (register_gst_index_entry_type),
21900         (gst_index_entry_type_get_type),
21901         (register_gst_index_lookup_method),
21902         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
21903         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
21904         (gst_index_resolver_method_get_type), (register_gst_index_flags),
21905         (gst_index_flags_get_type), (register_gst_debug_level),
21906         (gst_debug_level_get_type), (register_gst_debug_color_flags),
21907         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
21908         (gst_iterator_result_get_type), (register_gst_iterator_item),
21909         (gst_iterator_item_get_type), (register_gst_message_type),
21910         (gst_message_type_get_type), (register_gst_mini_object_flags),
21911         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
21912         (gst_pad_link_return_get_type), (register_gst_flow_return),
21913         (gst_flow_return_get_type), (register_gst_activate_mode),
21914         (gst_activate_mode_get_type), (register_gst_pad_direction),
21915         (gst_pad_direction_get_type), (register_gst_pad_flags),
21916         (gst_pad_flags_get_type), (register_gst_pad_presence),
21917         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
21918         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
21919         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
21920         (gst_plugin_error_get_type), (register_gst_plugin_flags),
21921         (gst_plugin_flags_get_type), (register_gst_rank),
21922         (gst_rank_get_type), (register_gst_query_type),
21923         (gst_query_type_get_type), (register_gst_tag_merge_mode),
21924         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
21925         (gst_tag_flag_get_type), (register_gst_task_state),
21926         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
21927         (gst_alloc_trace_flags_get_type),
21928         (register_gst_type_find_probability),
21929         (gst_type_find_probability_get_type), (register_gst_uri_type),
21930         (gst_uri_type_get_type), (register_gst_parse_error),
21931         (gst_parse_error_get_type):
21932         * win32/common/gstversion.h:
21933           update win32 copies
21934
21935 2005-11-01  Luca Ognibene  <luogni@tin.it>
21936
21937         * gst/gst.c:
21938           fix docs. popt is dead, long live GOption.
21939
21940 2005-10-31  Wim Taymans  <wim@fluendo.com>
21941
21942         * gst/gstbuffer.h:
21943         Small doc fix.
21944
21945 2005-10-31  Andy Wingo  <wingo@pobox.com>
21946
21947         * Boo!
21948
21949         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
21950
21951         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
21952         need to serialize property notifications on GLib 2.8. GLib 2.6 has
21953         the possibility of deadlocks here if code calling notify() or
21954         set() has a lock that can be taken in another notify handler (ABBA
21955         with class lock and e.g. python GIL state lock).
21956
21957 2005-10-28  Julien MOUTTE  <julien@moutte.net>
21958
21959         * gst/gstbus.c: Doc updates.
21960
21961 2005-10-28  Wim Taymans  <wim@fluendo.com>
21962
21963         * docs/design/part-TODO.txt:
21964         * gst/gstiterator.c:
21965         * gst/gstsystemclock.c:
21966         * gst/gstsystemclock.h:
21967         Doc updates.
21968
21969 2005-10-28  Edward Hervey  <edward@fluendo.com>
21970
21971         * docs/gst/gstreamer-docs.sgml:
21972         * docs/gst/gstreamer-sections.txt:
21973         the GstURIType documentation page is private, it only defines GstURIType
21974         which should be defined in the GstURIHandler page
21975         
21976 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
21977
21978         * gst/gstbin.c: (gst_bin_class_init):
21979         * gst/gstbin.h:
21980         * gst/gstutils.c:
21981         Documentation updates.
21982
21983 2005-10-28  Wim Taymans  <wim@fluendo.com>
21984
21985         * docs/gst/gstreamer-sections.txt:
21986         * gst/gstclock.c:
21987         * gst/gstclock.h:
21988         Documented the clocks.
21989
21990 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
21991
21992         * docs/gst/gstreamer-sections.txt:
21993           move some macros to private sections
21994         * gst/gstminiobject.c:
21995         * gst/gstminiobject.h:
21996           add descriptions provided by ds and some more
21997         * gst/gstpad.h:
21998           mark macro as to be removed
21999
22000 2005-10-28  Wim Taymans  <wim@fluendo.com>
22001
22002         * docs/design/part-TODO.txt:
22003         Add an item to TODO.
22004
22005         * gst/gstiterator.c: (gst_iterator_fold),
22006         (gst_iterator_find_custom):
22007         * gst/gstiterator.h:
22008         Add iterator docs.
22009
22010 2005-10-28  Wim Taymans  <wim@fluendo.com>
22011
22012         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
22013         (gst_base_transform_init):
22014         Don't leak class.
22015
22016         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
22017         An EOS event marks the queue as completely filled.
22018
22019 2005-10-27  Wim Taymans  <wim@fluendo.com>
22020
22021         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22022         (gst_base_sink_do_sync), (gst_base_sink_get_position):
22023         Some more debugging.
22024
22025         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
22026         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
22027         (gst_base_transform_event), (gst_base_transform_getrange),
22028         (gst_base_transform_chain):
22029         * gst/base/gstbasetransform.h:
22030         Fix debugging,
22031         Protect transform and concurrent buffer alloc with a new lock.
22032         Try not to break ABI/API.
22033
22034 2005-10-27  Wim Taymans  <wim@fluendo.com>
22035
22036         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22037         (gst_base_src_init), (gst_base_src_query),
22038         (gst_base_src_default_newsegment),
22039         (gst_base_src_configure_segment), (gst_base_src_do_seek),
22040         (gst_base_src_send_event), (gst_base_src_event_handler),
22041         (gst_base_src_pad_get_range), (gst_base_src_loop),
22042         (gst_base_src_unlock), (gst_base_src_default_negotiate),
22043         (gst_base_src_start), (gst_base_src_deactivate),
22044         (gst_base_src_activate_push), (gst_base_src_change_state):
22045         Move some stuff around and cleanup things.
22046
22047 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
22048
22049         * gst/base/gstbasesrc.c: (gst_base_src_query):
22050           Add missing break statements.
22051
22052 2005-10-27  Wim Taymans  <wim@fluendo.com>
22053
22054         * check/gst/gstbin.c: (GST_START_TEST):
22055         An extra refcount is taken in basesrc.
22056
22057         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
22058         (gst_base_src_get_range), (gst_base_src_pad_get_range),
22059         (gst_base_src_loop):
22060         Small cleanups, check for flushing after being unlocked from the 
22061         LIVE_LOCK. take refcounts correctly (not yet everywhere).
22062         Don't send out EOS when going to READY.
22063
22064 2005-10-27  Wim Taymans  <wim@fluendo.com>
22065
22066         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22067         (gst_base_sink_get_position):
22068         Some more debug.
22069
22070         * gst/gstbin.c: (message_check), (bin_replace_message),
22071         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22072         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22073         (bin_query_duration_init), (bin_query_duration_fold),
22074         (bin_query_duration_done), (bin_query_generic_fold),
22075         (gst_bin_query):
22076         * tools/gst-launch.c: (main):
22077         Remove old option.
22078
22079 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
22080
22081         * examples/controller/audio-example.c: (main):
22082         * examples/queue/queue.c: (event_loop):
22083         * gst/base/gstbasetransform.h:
22084         * gst/gstelement.c: (gst_element_send_event):
22085         * gst/gstevent.h:
22086         * gst/gstpad.c: (gst_pad_send_event):
22087           fixing examples
22088           fixing docs typos
22089           changing log priority in error situations
22090
22091 2005-10-25  Wim Taymans  <wim@fluendo.com>
22092
22093         * gst/gstbin.c: (message_check), (bin_replace_message),
22094         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22095         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22096         (bin_query_duration_init), (bin_query_duration_fold),
22097         (bin_query_duration_done), (bin_query_generic_fold),
22098         (gst_bin_query):
22099         Some doc and debug updates.
22100         Cache previously requested query DURATION for speed. invalidate
22101         cached duration if element posts a DURATION message.
22102
22103 2005-10-25  Wim Taymans  <wim@fluendo.com>
22104
22105         * docs/design/part-TODO.txt:
22106         Update TODO.
22107
22108         * gst/gstbin.c: (message_check), (bin_replace_message),
22109         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22110         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22111         (bin_query_duration_init), (bin_query_duration_fold),
22112         (bin_query_duration_done), (bin_query_generic_fold),
22113         (gst_bin_query):
22114         Handle SEGMENT_START/DONE messages correctly.
22115         More evolved query algorithm that handles duration queries
22116         correctly.
22117
22118         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
22119         (gst_element_get_state_func), (gst_element_abort_state),
22120         (gst_element_commit_state), (gst_element_lost_state):
22121         Some more debugging.
22122
22123         * gst/gstmessage.h:
22124         Added doc.
22125
22126 2005-10-25  Wim Taymans  <wim@fluendo.com>
22127
22128         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
22129         Don't use invalid stream_time.
22130
22131         * gst/gstevent.c: (gst_event_new_newsegment):
22132         stream_time in newsegment cannot be undefined.
22133
22134 2005-10-24  Wim Taymans  <wim@fluendo.com>
22135
22136         * gst/gstbus.c:
22137         Doc fix.
22138
22139         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
22140         (gst_queue_loop):
22141         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
22142
22143 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
22144
22145         * docs/libs/tmpl/gstdparam.sgml:
22146         * docs/libs/tmpl/gstdplinint.sgml:
22147         * docs/libs/tmpl/gstdpman.sgml:
22148         * docs/libs/tmpl/gstdpsmooth.sgml:
22149         * docs/libs/tmpl/gstunitconvert.sgml:
22150           these are obsolete
22151
22152 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
22153
22154         * configure.ac:
22155           back to HEAD
22156
22157 === release 0.9.4 ===
22158
22159 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22160
22161         * configure.ac:
22162           releasing 0.9.4, "Tyrannosaurus Rex"
22163
22164 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
22165
22166         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
22167         (gst_file_sink_get_current_offset):
22168           Use fseeko() and ftello() if available. When falling back on
22169           lseek() to get the current offset, fflush() first to make sure
22170           everything is up-to-date and we get the right offset.
22171
22172 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22173
22174         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22175         * gst/base/gstbasesrc.c: (gst_base_src_loop):
22176         * gst/gsterror.c: (_gst_stream_errors_init):
22177         * gst/gsterror.h:
22178         * gst/gstqueue.c: (gst_queue_loop):
22179         * po/POTFILES.in:
22180           remove prematurely added error category and clean up the instances
22181
22182 2005-10-21  Wim Taymans  <wim@fluendo.com>
22183
22184         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22185         (gst_base_sink_get_position), (gst_base_sink_query),
22186         (gst_base_sink_change_state):
22187         Simply set the right flag when going to playing, that's all
22188         we need to do instead of calling a function inside the object
22189         lock (that could take the lock as well and deadlock)
22190
22191 2005-10-21  Wim Taymans  <wim@fluendo.com>
22192
22193         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
22194         (gst_base_src_loop):
22195         Don't warn, the peer element knows what to do best when
22196         the seek failed, it might try something else.
22197
22198 2005-10-21  Wim Taymans  <wim@fluendo.com>
22199
22200         * gst/base/gstbasesrc.c: (gst_base_src_init),
22201         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
22202         Fix seeking.
22203
22204 2005-10-21  Wim Taymans  <wim@fluendo.com>
22205
22206         * docs/design/part-segments.txt:
22207         More docs.
22208
22209         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
22210         Correctly set caps, even on the subbufer.
22211
22212 2005-10-21  Wim Taymans  <wim@fluendo.com>
22213
22214         * docs/gst/gstreamer-docs.sgml:
22215         * docs/gst/gstreamer-sections.txt:
22216         * gst/gstelement.h:
22217         * gst/gstevent.c:
22218         * gst/gstevent.h:
22219         * gst/gstmessage.h:
22220         * gst/gstpad.h:
22221         * gst/gstparse.h:
22222         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
22223         * gst/gsttask.h:
22224         * gst/gstutils.c:
22225         * gst/gstutils.h:
22226         And 2% more doc coverage.
22227
22228 2005-10-21  Andy Wingo  <wingo@pobox.com>
22229
22230         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
22231         position reporting.
22232
22233 2005-10-20  Wim Taymans  <wim@fluendo.com>
22234
22235         * gst/gsterror.c: (gst_error_get_message):
22236         * gst/gstparse.h:
22237         * gst/gstquery.h:
22238         * gst/gststructure.c:
22239         * gst/gsttrace.c:
22240         * gst/gstutils.c:
22241         More docs.
22242
22243 2005-10-20  Wim Taymans  <wim@fluendo.com>
22244
22245         * gst/gstbuffer.h:
22246         * gst/gstpad.c:
22247         * gst/gstparse.c:
22248         Another 1% more coverage.
22249
22250 2005-10-20  Wim Taymans  <wim@fluendo.com>
22251
22252         * docs/gst/gstreamer-sections.txt:
22253         * gst/gstelement.c: (gst_element_get_state_func),
22254         (gst_element_abort_state), (gst_element_commit_state),
22255         (gst_element_lost_state):
22256         * gst/gstevent.h:
22257         * gst/gstquery.c: (gst_query_set_position),
22258         (gst_query_parse_position), (gst_query_set_duration),
22259         (gst_query_parse_duration), (gst_query_new_convert):
22260         * gst/gstutils.c:
22261         Yay! 1% more docs coverage.
22262
22263 2005-10-20  Wim Taymans  <wim@fluendo.com>
22264
22265         * gst/gstpad.h:
22266         * gst/gstquery.c: (gst_query_set_position),
22267         (gst_query_parse_position), (gst_query_set_duration),
22268         (gst_query_parse_duration), (gst_query_new_convert):
22269         * gst/gstquery.h:
22270         * gst/gstutils.c: (gst_element_query_convert):
22271         * gst/gstutils.h:
22272         Docs and consistency fixes.
22273
22274 2005-10-20  Wim Taymans  <wim@fluendo.com>
22275
22276         * gst/gsttask.c:
22277         * gst/gsttask.h:
22278         More docs.
22279
22280 2005-10-20  Wim Taymans  <wim@fluendo.com>
22281
22282         * gst/gstbin.c: (message_check), (bin_replace_message),
22283         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22284         (update_degree), (gst_bin_sort_iterator_next),
22285         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
22286         Reworked the message handling a bit, cache the messages instead of
22287         only the senders. alows us to do more in the future.
22288
22289 2005-10-20  Wim Taymans  <wim@fluendo.com>
22290
22291         * docs/design/part-TODO.txt:
22292         Update TODO
22293
22294         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22295         (gst_base_sink_query):
22296         Don't use clock time to report position when in EOS.
22297
22298 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
22299
22300         * tools/gst-inspect.c: (print_interfaces),
22301         (print_element_properties_info), (print_element_info):
22302           Fix interface output with gst-inspect -a; don't print
22303           newlines after double/float properties.
22304
22305 2005-10-20  Wim Taymans  <wim@fluendo.com>
22306
22307         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22308         (gst_base_sink_query):
22309         Speed up current position calculation.
22310
22311         * gst/base/gstbasesrc.c: (gst_base_src_query),
22312         (gst_base_src_default_newsegment):
22313         Correctly set stream position in newsegment.
22314
22315         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
22316         (update_degree), (gst_bin_sort_iterator_next),
22317         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
22318         * gst/gstmessage.c: (gst_message_new_custom):
22319         Clean up debugging info
22320
22321         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
22322         (gst_queue_loop), (gst_queue_handle_src_query):
22323         Pause task faster.
22324
22325 2005-10-19  Wim Taymans  <wim@fluendo.com>
22326
22327         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22328         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22329         Fix query handling again.
22330
22331 2005-10-19  Wim Taymans  <wim@fluendo.com>
22332
22333         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22334         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22335         * gst/base/gstbasesrc.c: (gst_base_src_query):
22336         * gst/elements/gstfilesink.c: (gst_file_sink_query):
22337         * gst/elements/gsttypefindelement.c:
22338         (gst_type_find_handle_src_query), (find_element_get_length),
22339         (gst_type_find_element_activate):
22340         API change fix.
22341
22342         * gst/gstquery.c: (gst_query_new_position),
22343         (gst_query_set_position), (gst_query_parse_position),
22344         (gst_query_new_duration), (gst_query_set_duration),
22345         (gst_query_parse_duration), (gst_query_set_segment),
22346         (gst_query_parse_segment):
22347         * gst/gstquery.h:
22348         Bundling query position/duration is not a good idea since duration
22349         does not change much and we don't want to recalculate it for every
22350         position query, so they are separated again..
22351         Base value in segment query is not needed.
22352
22353         * gst/gstqueue.c: (gst_queue_handle_src_query):
22354         * gst/gstutils.c: (gst_element_query_position),
22355         (gst_element_query_duration), (gst_pad_query_position),
22356         (gst_pad_query_duration):
22357         * gst/gstutils.h:
22358         Updates for query API change.
22359         Added some docs here and there.
22360
22361 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
22362
22363         * check/gst/gstbin.c: (GST_START_TEST):
22364         * check/gst/gstghostpad.c: (GST_START_TEST):
22365         * check/pipelines/cleanup.c: (GST_START_TEST):
22366           wait on thread to die so we can check refcount correctly
22367
22368 2005-10-18  Wim Taymans  <wim@fluendo.com>
22369
22370         * check/pipelines/stress.c: (GST_START_TEST):
22371         Make check a little more time consuming.
22372
22373 2005-10-18  Wim Taymans  <wim@fluendo.com>
22374
22375         * check/Makefile.am:
22376         * check/pipelines/stress.c: (GST_START_TEST),
22377         (simple_launch_lines_suite), (main):
22378         Small state change torture test.
22379
22380         * docs/design/part-states.txt:
22381         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22382         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
22383         (gst_base_sink_change_state):
22384         Never take state lock from streaming thread, clean up ugly
22385         hacks. Unfortunatly core does not yet support nice ways to
22386         async commit state.
22387         
22388         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
22389         (bin_bus_handler):
22390         Start state recalc if a STATE_DIRTY message is posted, but only
22391         on the toplevel bin.
22392
22393         * gst/gstelement.c: (gst_element_sync_state_with_parent),
22394         (gst_element_get_state_func), (gst_element_abort_state),
22395         (gst_element_commit_state), (gst_element_lost_state),
22396         (gst_element_set_state_func), (gst_element_change_state):
22397         * gst/gstelement.h:
22398         State variables are now protected with the LOCK, the state
22399         lock is only used to serialize _set_state().
22400
22401 2005-10-18  Wim Taymans  <wim@fluendo.com>
22402
22403         * check/gst/gstbin.c: (GST_START_TEST):
22404         * check/gst/gstmessage.c: (GST_START_TEST):
22405         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22406         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
22407         (bin_bus_handler):
22408         * gst/gstelement.c: (gst_element_abort_state),
22409         (gst_element_commit_state), (gst_element_lost_state):
22410         * gst/gstmessage.c: (gst_message_new_state_changed),
22411         (gst_message_new_state_dirty), (gst_message_new_segment_start),
22412         (gst_message_new_segment_done), (gst_message_new_duration),
22413         (gst_message_parse_state_changed),
22414         (gst_message_parse_segment_start),
22415         (gst_message_parse_segment_done), (gst_message_parse_duration):
22416         * gst/gstmessage.h:
22417         * tools/gst-launch.c: (event_loop):
22418         Seriously, this is better than a previous commit as we only need
22419         to notify the fact that an element changed state in a streaming
22420         thread, marking the state of the parents dirty, hence the 
22421         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
22422         message.
22423
22424 2005-10-18  Wim Taymans  <wim@fluendo.com>
22425
22426         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
22427         (gst_bin_recalc_func):
22428         * gst/gstelement.c: (gst_element_set_clock),
22429         (gst_element_abort_state), (gst_element_lost_state):
22430         Cleanups, prepare for state change fixes.
22431
22432 2005-10-18  Wim Taymans  <wim@fluendo.com>
22433
22434         * gst/gstbin.h:
22435         * gst/gstelement.c: (gst_element_class_init),
22436         (gst_element_set_state), (gst_element_set_state_func):
22437         * gst/gstelement.h:
22438         Pending ABI changes.
22439         GThreadPool in GstBinClass to monitor async state changes.
22440         state_cookie in GstElement to detect concurrent gst/set state.
22441         set_state is now virtual too in case a very complicated element
22442         has to be constructed.
22443
22444 2005-10-18  Wim Taymans  <wim@fluendo.com>
22445
22446         * check/gst/gstbin.c: (GST_START_TEST):
22447         * check/gst/gstmessage.c: (GST_START_TEST):
22448         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22449         * gst/gstbin.c: (bin_bus_handler):
22450         * gst/gstelement.c: (gst_element_commit_state),
22451         (gst_element_lost_state):
22452         * gst/gstmessage.c: (gst_message_new_state_changed),
22453         (gst_message_new_segment_start), (gst_message_new_segment_done),
22454         (gst_message_new_duration), (gst_message_parse_state_changed),
22455         (gst_message_parse_segment_start),
22456         (gst_message_parse_segment_done), (gst_message_parse_duration):
22457         * gst/gstmessage.h:
22458         * tools/gst-launch.c: (event_loop):
22459         Make messages future proof.
22460         state-change gets a flag if it was a message comming from the
22461         streaming thread.
22462         segment-start/stop can also be specified in other formats.
22463         A message to notify an app that a pipeline changed playback 
22464         duration.
22465         Also fix a GstMessage leak in -launch
22466
22467 2005-10-18  Andy Wingo  <wingo@pobox.com>
22468
22469         * gst/gstelement.c (gst_element_dispose): More helpful message.
22470
22471 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
22472
22473         reviewed by: <delete if not using a buddy>
22474
22475         * common/gtk-doc.mak:
22476
22477 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
22478
22479         * gst/gstregistry.c: (gst_registry_scan_path_level):
22480           unref a plug-in we get that was already initialized
22481
22482 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
22483
22484         * docs/gst/gstreamer-sections.txt:
22485         * docs/libs/gstreamer-libs-sections.txt:
22486         * gst/gstelement.h:
22487           add new api entries
22488           hide internal macro
22489
22490 2005-10-17  Andy Wingo  <wingo@pobox.com>
22491
22492         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
22493         cleanup.
22494
22495         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
22496
22497         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
22498
22499         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
22500         (gst_element_get_state_func): Better debug message.
22501         (gst_element_commit_state): s/INFO/DEBUG/.
22502         (gst_element_lost_state, gst_element_change_state): 
22503
22504         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
22505         (gst_message_new_custom): s/INFO/LOG/.
22506
22507 2005-10-17  Michael Smith <msmith@fluendo.com>
22508
22509         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
22510           Check if end time is valid using end time, not start time.
22511
22512 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
22513
22514         * check/gst-libs/controller.c: (GST_START_TEST),
22515         (gst_controller_suite):
22516         * libs/gst/controller/gstcontroller.c:
22517         (gst_controlled_property_set_interpolation_mode):
22518         * libs/gst/controller/gstcontroller.h:
22519         * libs/gst/controller/gstinterpolation.c:
22520         * testsuite/controller/.cvsignore:
22521         * testsuite/controller/Makefile.am:
22522         * testsuite/controller/interpolator.c:
22523           merge controller testsuites
22524           fix broken tests
22525           remove mem-chunk from docs
22526
22527 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
22528
22529         * gst/gstmemchunk.c:
22530         * gst/gstmemchunk.h:
22531         * gst/gsttrashstack.c:
22532         * gst/gsttrashstack.h:
22533           out.  get out.  you're fired.  to the Attic !
22534
22535 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
22536
22537         * gst/gstcaps.c: (gst_caps_intersect):
22538           fix signedness issues in a (hopefully) correct way
22539         * gst/gstelement.c: (gst_element_pads_activate):
22540           some debugging
22541         * gst/gstobject.c: (gst_object_set_parent):
22542           some debugging
22543
22544 2005-10-17  Julien MOUTTE  <julien@moutte.net>
22545
22546         * gst/gstvalue.h: Fix prototypes.
22547
22548 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22549
22550         * docs/gst/gstreamer-sections.txt:
22551         * gst/gst.c: (gst_version_string):
22552         * gst/gst.h:
22553         * gst/gstversion.h.in:
22554         * win32/common/libgstreamer.def:
22555           add gst_version_string ()
22556
22557 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22558
22559         * configure.ac:
22560           clean up further
22561         * gst/gst.c: (init_post):
22562         * win32/common/config.h.in:
22563           it's PLUGINDIR now
22564         * gst/gstcaps.c: (gst_caps_intersect):
22565           use gint64, the range could be bigger than a guint
22566
22567 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22568
22569         * gst/gstclock.h:
22570           document potential problem in 2038
22571
22572 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22573
22574         * gst/gstcaps.c: (gst_caps_intersect):
22575           Fix guint j diving under 0
22576
22577 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22578
22579         * configure.ac:
22580         * win32/common/config.h:
22581         * win32/common/config.h.in:
22582           check for process.h, declares getpid() on Windows
22583         * gst/gstinfo.c:
22584           include process.h if we have it
22585         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
22586         * gst/gstmemchunk.h:
22587           fix signedness issues
22588         * win32/common/libgstreamer.def:
22589           fix get_type's
22590
22591 2005-10-16  Julien MOUTTE  <julien@moutte.net>
22592
22593         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
22594         fix. Because of unsigned ints, caps intersection was going nuts and
22595         trying to access structures with G_MAXUINT index. That fixes
22596         videotestsrc ! ffmpegcolorspace ! fakesink
22597         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
22598         consistency.
22599
22600 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22601
22602         * configure.ac:
22603           use the gettext macro
22604         * gst/elements/gstelements.c:
22605         * gst/gst.c:
22606         * gst/indexers/gstindexers.c:
22607           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
22608         * win32/common/config.h:
22609           updated config.h
22610         * win32/common/config.h.in:
22611           add the template to generate config.h
22612         * win32/common/gstenumtypes.c:
22613         * win32/common/gstversion.h:
22614           updated copies
22615
22616 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22617
22618         * gst/gst.c: (gst_version):
22619         * gst/gstversion.h.in:
22620           add the nano
22621
22622 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
22623
22624         * gst/gstevent.h:
22625           Oops, add missing closing bracket.
22626
22627 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22628
22629         * configure.ac:
22630           use common m4's for argument checking
22631
22632 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
22633
22634         * docs/gst/gstreamer-sections.txt:
22635         * gst/gstevent.h:
22636           Add GST_EVENT_TYPE_NAME() macro.
22637
22638 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22639
22640         * gst/gstinfo.c:
22641         * gst/gstpluginfeature.c:
22642         * gst/gsttask.c:
22643           privatize more symbols
22644
22645 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22646
22647         * configure.ac:
22648           add srcdir, builddir includes to GST_ALL_CFLAGS, since
22649           everything that uses GStreamer API should have the includes
22650
22651 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22652
22653         * docs/gst/gstreamer-sections.txt:
22654         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
22655         * gst/gstvalue.h:
22656           give each value a _get_type, removes the DATA exports
22657
22658 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22659
22660         * gst/gst.c:
22661         * gst/gst.h:
22662           remove _gst_registry_auto_load, not used anymore
22663         * gst/gstbin.c: (gst_bin_get_type):
22664         * gst/gstbin.h:
22665         * gst/gstelement.c: (gst_element_get_type):
22666         * gst/gstelement.h:
22667         * gst/gstobject.c: (gst_object_get_type):
22668         * gst/gstobject.h:
22669         * gst/gstpad.c: (gst_pad_get_type):
22670         * gst/gstpad.h:
22671           make _get_type functions similar, fixes data export from library
22672
22673 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22674
22675         * configure.ac:
22676           correctly make conditionals
22677         * gst/elements/Makefile.am:
22678         * gst/elements/gstelements.c:
22679           fix typo causing fdsrc not to build
22680
22681 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22682
22683         * testsuite/Makefile.am:
22684         * testsuite/bytestream/.cvsignore:
22685         * testsuite/bytestream/Makefile.am:
22686         * testsuite/bytestream/filepadsink.c:
22687         * testsuite/bytestream/gstbstest.c:
22688         * testsuite/bytestream/test1.c:
22689         * testsuite/bytestream/testfile1:
22690         * testsuite/caps/normalisation.c:
22691         * testsuite/caps/random.c: (main):
22692         * testsuite/cleanup/.cvsignore:
22693         * testsuite/cleanup/Makefile.am:
22694         * testsuite/cleanup/cleanup1.c:
22695         * testsuite/cleanup/cleanup2.c:
22696         * testsuite/cleanup/cleanup3.c:
22697         * testsuite/cleanup/cleanup4.c:
22698         * testsuite/cleanup/cleanup5.c:
22699         * testsuite/controller/interpolator.c:
22700         * testsuite/debug/printf_extension.c: (main):
22701         * testsuite/elements/tee.c:
22702         * testsuite/negotiation/.cvsignore:
22703         * testsuite/negotiation/Makefile.am:
22704         * testsuite/negotiation/pad_link.c:
22705         * testsuite/pad/Makefile.am:
22706         * testsuite/pad/chainnopull.c:
22707         * testsuite/pad/getnopush.c:
22708         * testsuite/pad/link.c:
22709         * testsuite/refcounting/sched.c: (create_pipeline):
22710         * testsuite/registry/Makefile.am:
22711         * testsuite/registry/gst-print-formats.c:
22712         * testsuite/schedulers/.cvsignore:
22713         * testsuite/schedulers/142183-2.c:
22714         * testsuite/schedulers/142183.c:
22715         * testsuite/schedulers/143777-2.c:
22716         * testsuite/schedulers/143777.c:
22717         * testsuite/schedulers/147713.c:
22718         * testsuite/schedulers/147819.c:
22719         * testsuite/schedulers/147894-2.c:
22720         * testsuite/schedulers/147894.c:
22721         * testsuite/schedulers/Makefile.am:
22722         * testsuite/schedulers/group_link.c:
22723         * testsuite/schedulers/queue_link.c:
22724         * testsuite/schedulers/relink.c:
22725         * testsuite/schedulers/unlink.c:
22726         * testsuite/schedulers/unref.c:
22727         * testsuite/schedulers/useless_iteration.c:
22728         * testsuite/states/bin.c:
22729           clean out/remove some stuff from the testsuite directories
22730
22731 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22732
22733         * configure.ac:
22734           check for some headers
22735         * gst/elements/Makefile.am:
22736         * gst/elements/gstelements.c:
22737           don't compile fdsrc without sys/socket.h
22738         * gst/indexers/Makefile.am:
22739         * gst/indexers/gstindexers.c: (plugin_init):
22740           don't compile fileindex without mmap
22741
22742 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22743
22744         * configure.ac:
22745           reorganize
22746           clean up
22747           document more
22748           remove cruft
22749         * check/Makefile.am:
22750         * docs/gst/Makefile.am:
22751         * examples/helloworld/Makefile.am:
22752         * gst/Makefile.am:
22753         * gst/base/Makefile.am:
22754         * gst/check/Makefile.am:
22755         * gst/elements/Makefile.am:
22756         * gst/indexers/Makefile.am:
22757         * gst/parse/Makefile.am:
22758         * libs/gst/controller/Makefile.am:
22759         * libs/gst/dataprotocol/Makefile.am:
22760         * examples/helloworld/helloworld.c: (event_loop):
22761           compile fixes, though it's not being compiled currently
22762
22763 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
22764
22765         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
22766           Add some simple tests for the new taglist date API.
22767
22768 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
22769
22770         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
22771         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
22772           Beautify 'last-message' output: print 'none' for buffer timestamps
22773           and durations if none is set; improve alignment with next messages.
22774
22775 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
22776
22777         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
22778         * gst/gstpluginfeature.h:
22779         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
22780         * gst/gstregistry.h:
22781         * docs/gst/gstreamer-sections.txt:
22782           Add new API to check plugin feature version requirements.
22783
22784         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
22785           Some basic tests for the above.         
22786
22787 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22788
22789         * gst/gststructure.c: (gst_structure_to_string):
22790           guard against NULL printf - happens when for example
22791           a message structure with GstClock gets serialized
22792
22793 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
22794
22795         * gst/base/gstcollectpads.c: (gst_collectpads_event):
22796           Fix presumable copy'n'pasto.
22797
22798 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22799
22800         * gst/elements/gstfakesrc.h:
22801         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
22802         * gst/elements/gsttypefindelement.c:
22803           fix some signedness
22804         * gst/elements/gstfilesink.c: (gst_file_sink_render):
22805           I wonder if this could actually write +2GB files before
22806
22807 2005-10-13  Andy Wingo  <wingo@pobox.com>
22808
22809         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
22810         Fix Timmeke Waymans bug.
22811         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
22812         string of the proper length to gst_caps_from_string. There's a
22813         potential for, before this fix, that this could cause someone
22814         connecting over the network to cause a segfault if the payload is
22815         not NUL-terminated.
22816
22817 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
22818
22819         * docs/design/draft-push-pull.txt:
22820         * docs/design/part-overview.txt:
22821         * docs/random/TODO-pre-0.9:
22822         * docs/random/old/ChangeLog.gstreamer:
22823         * gst/base/gstpushsrc.c:
22824         * gst/gstclock.c:
22825           fixed typos
22826
22827 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22828
22829         * gst/glib-compat.c: (gst_flags_get_first_value):
22830         * gst/glib-compat.h:
22831         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
22832         (gst_value_compare_double), (gst_value_serialize_flags):
22833           GLib 2.6 g_flags_get_first_value has a bug that triggers an
22834           infinite loop
22835
22836 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22837
22838         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22839         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
22840           fix up debugging
22841         * tools/gst-launch.c: (event_loop):
22842           print out clock nicely
22843
22844 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
22845
22846         * docs/gst/gstreamer-sections.txt:
22847         * gst/gsttaglist.h:
22848         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
22849         (gst_tag_list_get_date_index):
22850           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
22851           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
22852
22853 2005-10-13  Julien MOUTTE  <julien@moutte.net>
22854
22855         * gst/base/gstcollectpads.c: (gst_collectpads_event),
22856         (gst_collectpads_chain):
22857         * gst/base/gstcollectpads.h: Handle newsegment and store informations
22858         in CollectData.
22859
22860 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
22861
22862         * docs/gst/gstreamer-sections.txt:
22863         * gst/gst.c:
22864         * gst/gsterror.h:
22865         * tools/gst-inspect.c: (main):
22866         * tools/gst-launch.c: (main):
22867         * tools/gst-run.c: (main):
22868         * tools/gst-xmlinspect.c: (main):
22869           fix GOption context leaks
22870           doc fixes
22871
22872 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22873
22874         * gst/gstbus.c:
22875           use HAVE_UNISTD_H
22876         * win32/common/config.h:
22877           update config
22878         * win32/vs6/grammar.dsp:
22879         * win32/vs6/libgstelements.dsp:
22880         * win32/vs6/libgstreamer.dsp:
22881           update vs6 files
22882
22883 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
22884
22885         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22886         * gst/base/gstbasesrc.c: (gst_base_src_query):
22887           fix more guint64<->gdouble conversions
22888
22889 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
22890
22891         * Makefile.am:
22892           add win32-update target
22893         * win32/common/gstconfig.h:
22894         * win32/common/gstenumtypes.c:
22895         * win32/common/gstenumtypes.h:
22896         * win32/common/gstversion.h:
22897           add files that visual studio can't generate
22898
22899 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
22900
22901         * Makefile.am:
22902           add a win32-update target
22903         * configure.ac:
22904
22905 2005-10-12  Wim Taymans  <wim@fluendo.com>
22906
22907         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
22908         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
22909         * gst/gstelement.c: (gst_element_commit_state),
22910         (gst_element_set_state):
22911         Protect flags with proper lock.
22912         unref provided cached clock in dispose.
22913
22914 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
22915
22916         * gst/gst.c:
22917         * gst/gstminiobject.h:
22918         * gst/gstpad.h:
22919         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
22920           removed unused flags from miniobject
22921           doc fixes
22922
22923 2005-10-12  Wim Taymans  <wim@fluendo.com>
22924
22925         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
22926         (gst_file_sink_event), (gst_file_sink_render):
22927         Flush before seeking.
22928
22929 2005-10-12  Andy Wingo  <wingo@pobox.com>
22930
22931         * gst/gst.c (gst_init_check): Ignore unknown options, as has
22932         always been the case.
22933
22934 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
22935
22936         * check/gst/gstbin.c: (GST_START_TEST):
22937         * docs/gst/gstreamer-sections.txt:
22938         * gst/base/gstbasesink.c: (gst_base_sink_init):
22939         * gst/base/gstbasesrc.c: (gst_base_src_init),
22940         (gst_base_src_get_range), (gst_base_src_check_get_range),
22941         (gst_base_src_start), (gst_base_src_stop):
22942         * gst/base/gstbasesrc.h:
22943         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
22944         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
22945         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
22946         (bin_bus_handler):
22947         * gst/gstbin.h:
22948         * gst/gstbuffer.h:
22949         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
22950         * gst/gstbus.h:
22951         * gst/gstelement.c: (gst_element_is_locked_state),
22952         (gst_element_set_locked_state), (gst_element_commit_state),
22953         (gst_element_set_state):
22954         * gst/gstelement.h:
22955         * gst/gstindex.c: (gst_index_init):
22956         * gst/gstindex.h:
22957         * gst/gstminiobject.h:
22958         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
22959         (gst_object_set_parent):
22960         * gst/gstobject.h:
22961         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
22962         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
22963         * gst/gstpad.h:
22964         * gst/gstpadtemplate.h:
22965         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
22966         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
22967         * gst/gstpipeline.h:
22968         * gst/indexers/gstfileindex.c: (gst_file_index_load),
22969         (gst_file_index_commit):
22970         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
22971         * testsuite/pad/link.c: (gst_test_src_init),
22972         (gst_test_filter_init), (gst_test_sink_init):
22973         * testsuite/states/locked.c: (main):
22974           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
22975           moved bitshift from macro to enum definition
22976
22977 2005-10-12  Wim Taymans  <wim@fluendo.com>
22978
22979         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
22980         * gst/elements/gstfilesink.c: (gst_file_sink_event),
22981         (gst_file_sink_render):
22982         Some more debugging info.
22983
22984 2005-10-12  Wim Taymans  <wim@fluendo.com>
22985
22986         * docs/design/part-states.txt:
22987         * tools/gst-launch.c: (main):
22988         Some doc updates.
22989         Revert non-intentional change.
22990
22991 2005-10-12  Wim Taymans  <wim@fluendo.com>
22992
22993         * check/gst/gstbin.c: (GST_START_TEST):
22994         * check/gst/gstelement.c: (GST_START_TEST):
22995         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
22996         * check/gst/gstghostpad.c: (GST_START_TEST):
22997         * check/gst/gstpipeline.c: (GST_START_TEST):
22998         * check/pipelines/simple_launch_lines.c: (run_pipeline):
22999         * check/states/sinks.c: (GST_START_TEST):
23000         * gst/elements/gsttypefindelement.c: (stop_typefinding):
23001         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
23002         (gst_bin_remove_func), (gst_bin_get_state_func),
23003         (gst_bin_recalc_state), (gst_bin_change_state_func),
23004         (bin_bus_handler):
23005         * gst/gstelement.c: (gst_element_get_state_func),
23006         (gst_element_get_state), (gst_element_abort_state),
23007         (gst_element_commit_state), (gst_element_set_state),
23008         (gst_element_change_state), (gst_element_change_state_func):
23009         * gst/gstelement.h:
23010         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
23011         (gst_pipeline_provide_clock_func):
23012         * gst/gstutils.c: (gst_element_link_pads_filtered):
23013         * tools/gst-launch.c: (main):
23014         * tools/gst-typefind.c: (main):
23015         Use GstClockTime in _get_state() instead of GTimeVal.
23016         Remove old code in gstutils.c
23017
23018 2005-10-12  Andy Wingo  <wingo@pobox.com>
23019
23020         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
23021         removed.
23022
23023         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
23024         there is no task. Shouldn't affect any code, as nothing in our
23025         plugins checks this return value.
23026         (gst_pad_stop_task): Also take the stream lock if the pad has no
23027         task. Docs updated.
23028
23029 2005-10-12  Wim Taymans  <wim@fluendo.com>
23030
23031         * gst/gstpad.c: (pre_activate), (post_activate),
23032         (gst_pad_activate_pull), (gst_pad_activate_push):
23033         Cleanup activation code. Reset old state if
23034         activation failed.
23035
23036 2005-10-12  Wim Taymans  <wim@fluendo.com>
23037
23038         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23039         (gst_base_sink_change_state):
23040         No need to prerol after receiving EOS.
23041
23042         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
23043         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
23044         * gst/elements/gstidentity.c: (gst_identity_event):
23045         Print events more verbosely.
23046
23047 2005-10-12  Wim Taymans  <wim@fluendo.com>
23048
23049         * check/Makefile.am:
23050         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
23051         * check/states/sinks2.c:
23052         Moved sinks2 testcode in sinks check.
23053
23054         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
23055         (gst_bin_remove_func), (gst_bin_recalc_state),
23056         (gst_bin_change_state_func), (bin_bus_handler):
23057         Fix potential race condition when _get_state() iterated over an
23058         ASYNC element right before it posted a state completion.
23059
23060         * gst/gstclock.h:
23061         Do proper cast here.
23062
23063         * gst/gstevent.c: (gst_event_new_newsegment),
23064         (gst_event_parse_newsegment):
23065         A playback rate of 0.0 is not allowed.
23066
23067 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23068
23069         * win32/common/config.h:
23070         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
23071         (_trewinddir), (_ttelldir), (_tseekdir):
23072         * win32/common/dirent.h:
23073         * win32/common/gtchar.h:
23074         * win32/common/libgstbase.def:
23075         * win32/common/libgstreamer.def:
23076         * win32/vs6/grammar.dsp:
23077         * win32/vs6/gst_inspect.dsp:
23078         * win32/vs6/gst_launch.dsp:
23079         * win32/vs6/gstreamer.dsw:
23080         * win32/vs6/libgstbase.dsp:
23081         * win32/vs6/libgstelements.dsp:
23082         * win32/vs6/libgstreamer.dsp:
23083           Visual Studio 6 project files, and a new common directory.
23084           Phear.
23085
23086 2005-10-11  Wim Taymans  <wim@fluendo.com>
23087
23088         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23089         (gst_base_sink_do_sync), (gst_base_sink_query),
23090         (gst_base_sink_change_state):
23091         * gst/base/gstbasesink.h:
23092         Correctly parse newsegment info.
23093
23094 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23095
23096         * gst/gst.c: (init_post):
23097           split plugin paths correctly
23098
23099 2005-10-11  Wim Taymans  <wim@fluendo.com>
23100
23101         * check/gst/gstevent.c: (GST_START_TEST):
23102         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23103         (gst_base_sink_change_state):
23104         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
23105         * gst/base/gstbasetransform.c: (gst_base_transform_event):
23106         * gst/elements/gstfilesink.c: (gst_file_sink_event):
23107         * gst/gstevent.c: (gst_event_new_newsegment),
23108         (gst_event_parse_newsegment):
23109         * gst/gstevent.h:
23110         Added extra flag to newsegment for future API freeze.
23111         Updated check and base elements.
23112
23113 2005-10-11  Julien MOUTTE  <julien@moutte.net>
23114
23115         * gst/base/gstcollectpads.c: (gst_collectpads_init),
23116         (gst_collectpads_add_pad), (gst_collectpads_pop),
23117         (gst_collectpads_event), (gst_collectpads_chain):
23118         * gst/base/gstcollectpads.h: Handle EOS correctly.
23119
23120 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23121
23122         * tools/gst-launch.c: (main):
23123           more null protecting
23124
23125 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23126
23127         * gst/gst-i18n-lib.h:
23128           check for ENABLE_NLS, not GETTEXT_PACKAGE
23129         * gst/gstregistry.c: (gst_registry_add_plugin),
23130         (gst_registry_scan_path_level),
23131         (_gst_registry_remove_cache_plugins):
23132           protect possibly NULL strings
23133         * gst/parse/types.h:
23134           config.h already included before
23135         * tools/gst-inspect.c: (main):
23136           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
23137           check for ENABLE_NLS, not GETTEXT_PACKAGE
23138         * tools/gst-launch.c: (main):
23139           check for ENABLE_NLS, not GETTEXT_PACKAGE
23140
23141 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23142
23143         * configure.ac:
23144           if we don't have glib, fail before testing 2.8
23145         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
23146           fix a leak, should fix plugins-base testsuite
23147
23148 2005-10-11  Andy Wingo  <wingo@pobox.com>
23149
23150         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
23151         take the mode we're going to as an arg. Go head and set the mode
23152         and flushing flags now, so that if the activate function starts a
23153         thread all the flags will be in the right state.
23154         (post_activate): Renamed also. Just handle making sure streaming
23155         finishes for the deactivation case, and setting the deactivated
23156         mode.
23157         (gst_pad_set_active): Complain loudly if deactivation fails.
23158         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
23159         (gst_pad_activate_push): Adapt to pre/post_activate changes,
23160         remove the terrible hack.
23161
23162 2005-10-11  Wim Taymans  <wim@fluendo.com>
23163
23164         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23165         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
23166         (gst_bin_recalc_state), (gst_bin_change_state_func),
23167         (gst_bin_dispose), (bin_bus_handler):
23168         * gst/gstbin.h:
23169         Prepare to make current EOS message queue more generic.
23170         Fix some typos.
23171
23172         * gst/gstevent.c: (gst_event_new_newsegment),
23173         (gst_event_parse_newsegment):
23174         * gst/gstevent.h:
23175         Rename base to stream_time.
23176
23177         * gst/gstmessage.h:
23178         Fix typo in docs.
23179
23180 2005-10-11  Wim Taymans  <wim@fluendo.com>
23181
23182         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23183         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
23184         (gst_bin_change_state_func), (bin_bus_handler):
23185         * gst/gstbin.h:
23186         Work on proper clock selection.
23187
23188 2005-10-11  Edward Hervey  <edward@fluendo.com>
23189
23190         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
23191         * libs/gst/controller/gstcontroller.h:
23192         Added GList* version of _remove_properties() in order to be able to wrap
23193         it in bindings.
23194
23195 2005-10-11  Wim Taymans  <wim@fluendo.com>
23196
23197         * docs/design/part-states.txt:
23198         Some more docs.
23199
23200         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
23201         (gst_bin_change_state_func), (bin_bus_handler):
23202         Doc updates. Don't distribute the same clock over and over again.
23203
23204         * gst/gstclock.c:
23205         * gst/gstclock.h:
23206         Doc updates.
23207
23208         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
23209         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
23210         (gst_pad_send_event):
23211         * gst/gstpad.h:
23212         Make probe emission threadsafe again.
23213         Register quarks and move _get_name() from utils.
23214         Doc updates.
23215
23216         * gst/gstpipeline.c: (gst_pipeline_class_init),
23217         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23218         Only redistribute the clock of it changed.
23219
23220         * gst/gstsystemclock.h:
23221         Doc updates. 
23222
23223         * gst/gstutils.c:
23224         * gst/gstutils.h:
23225         Moved the _flow_get_name() to GstPad.
23226
23227 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23228
23229         * check/gst-libs/gdp.c: (GST_START_TEST):
23230         * check/gst/gstcaps.c: (GST_START_TEST):
23231         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
23232         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
23233         (gst_dp_packet_from_caps):
23234           fix more valgrind warnings before turning up the heat
23235
23236 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23237
23238         * gst/parse/grammar.y:
23239           some cleanup before the hacking
23240
23241 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23242
23243         * gst/base/gstbasesrc.c: (gst_base_src_query):
23244           use conversions
23245         * gst/gstutils.c: (gst_guint64_to_gdouble),
23246         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
23247         * gst/gstutils.h:
23248           externalize, basesrc uses it
23249           obviously the implementation needs testing
23250
23251 2005-10-10  Wim Taymans  <wim@fluendo.com>
23252
23253         * tests/sched/Makefile.am:
23254         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
23255         (make_pipeline3), (make_pipeline4), (print_elem), (main):
23256
23257 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23258
23259         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
23260           apparently converting from guint64 to double is not implemented
23261           on MSVC
23262
23263 2005-10-10  Wim Taymans  <wim@fluendo.com>
23264
23265         * check/Makefile.am:
23266         * check/generic/states.c: (GST_START_TEST):
23267         * check/gst/gstbin.c: (GST_START_TEST):
23268         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
23269         * check/states/sinks.c: (GST_START_TEST):
23270         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
23271         (main):
23272         Check fixes, use API as stated in design docs, remove hacks.
23273
23274         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23275         (gst_base_sink_change_state):
23276         Catch stopping our task while we're shutting down.
23277
23278         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
23279         (gst_bin_remove_func), (gst_bin_get_state_func),
23280         (gst_bin_recalc_state), (gst_bin_change_state_func),
23281         (bin_bus_handler):
23282         * gst/gstbin.h:
23283         * gst/gstelement.c: (gst_element_init),
23284         (gst_element_get_state_func), (gst_element_abort_state),
23285         (gst_element_commit_state), (gst_element_lost_state),
23286         (gst_element_set_state), (gst_element_change_state),
23287         (gst_element_change_state_func):
23288         * gst/gstelement.h:
23289         New state change algorithm (see #318116)
23290
23291         * gst/gstpipeline.c: (gst_pipeline_class_init),
23292         (gst_pipeline_init), (gst_pipeline_set_property),
23293         (gst_pipeline_get_property), (do_pipeline_seek),
23294         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23295         * gst/gstpipeline.h:
23296         Remove crude state change hacks.
23297
23298         * gst/gstutils.h:
23299         Remove crude hacks.
23300
23301         * tools/gst-launch.c: (main):
23302         Fixes for state change. Needs some more work to fully use the
23303         new stuff.
23304
23305 2005-10-10  Andy Wingo  <wingo@pobox.com>
23306
23307         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
23308
23309         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
23310         this flag, but it's not even in GLib 2.6. Odd. Hack around the
23311         issue.
23312
23313 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23314
23315         * gst/gstiterator.c: (gst_iterator_new):
23316           Fix my previous commit: GTypes passed to gst_iterator_new()
23317           can be fundamental types.
23318
23319 2005-10-10  Wim Taymans  <wim@fluendo.com>
23320
23321         * gst/gstelement.c: (gst_element_iterate_pad_list),
23322         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
23323         (gst_element_iterate_sink_pads):
23324         Use src/sink pads lists for the respective iterators instead
23325         of filtering.
23326
23327 2005-10-10  Andy Wingo  <wingo@pobox.com>
23328
23329         Merged in popt removal + GOption addition patch from Ronald, bug
23330         #169772.
23331
23332         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
23333         GstElement macros around, remove popt-related symbols, add goption
23334         stuff.
23335
23336         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
23337         
23338         * docs/gst/Makefile.am:
23339         * docs/libs/Makefile.am: No POPT_CFLAGS.
23340         
23341         * examples/manual/Makefile.am:
23342         * docs/manual/basics-init.xml: Doc updates with an example.
23343         
23344         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
23345         (gst_init), (parse_one_option), (parse_goption_arg):
23346         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
23347         bit of hand merging and debugging to get the GOption stuff working
23348         tho.
23349         
23350         * tests/Makefile.am:
23351         * tools/Makefile.am:
23352         * tools/gst-inspect.c: (main):
23353         * tools/gst-launch.c: (main):
23354         * tools/gst-run.c: (main):
23355         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
23356
23357 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23358
23359         * gst/gstiterator.c: (gst_iterator_new):
23360           Add assertions to make sure passed GType is likely to really
23361           be a GType (as the compiler won't catch it if the size and
23362           GType arguments get mixed up, see #318447).
23363
23364 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
23365
23366         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
23367
23368         * gst/gstbin.c: (gst_bin_iterate_sorted):
23369           Pass GType and size arguments to gst_iterator_new() in the right
23370           order (maybe we should make _new() take the GType as first argument
23371           just like _new_list()?) (#318447).
23372           
23373
23374 2005-10-10  Wim Taymans  <wim@fluendo.com>
23375
23376         * gst/gstelement.c: (gst_element_finalize):
23377         And free the GStaticRecMutex too
23378
23379 2005-10-10  Andy Wingo  <wingo@pobox.com>
23380
23381         * gst/gstelement.c (gst_element_init, gst_element_finalize):
23382         Allocate and free the mutex properly.
23383
23384         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
23385         New macros.
23386         (GstElement): The state_lock is now recursive. Rebuild your
23387         plugins, suckers. Old macros adapted.
23388
23389         * docs/gst/gstreamer-sections.txt: Doc updates.
23390
23391         * gst/gstutils.h:
23392         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
23393         (g_static_rec_cond_wait): Ported from state changes patch, while
23394         we wait on bug #317802 to be solved in a well-distributed GLib.
23395
23396         * gst/gstelement.c (gst_element_change_state_func): Renamed from
23397         gst_element_change_state, variable name changes.
23398         (gst_element_change_state): Split out of gst_element_set_state in
23399         preparation for the state change merge. Doesn't pay attention to
23400         the 'transition' argument.
23401         (gst_element_set_state): Updates, hopefully purely cosmetic.
23402         (gst_element_sync_state_with_parent): MT-safety. Ported from the
23403         state change patch.
23404         (gst_element_get_state_func): Renamed from get_state, cosmetic
23405         changes.
23406
23407 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23408
23409         * gst/elements/gstelements.c:
23410         * win32/GStreamer.vcproj:
23411         * win32/config.h:
23412         * win32/dirent.c: (_tseekdir):
23413         * win32/gst-inspect.vcproj:
23414         * win32/gst-launch.vcproj:
23415         * win32/gstconfig.h:
23416         * win32/gstelements.vcproj:
23417         * win32/gstenumtypes.c: (gst_object_flags_get_type):
23418         * win32/gstreamer.def:
23419         * win32/msvc71.sln:
23420           updates for the win32 build (patch from Sebastien Moutte)
23421
23422 2005-10-10  Andy Wingo  <wingo@pobox.com>
23423
23424         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
23425         gst_bin_get_state, cleaned up (but no logic changes).
23426         (bin_element_is_sink): Comment updates.
23427         (sink_iterator_filter): Remove needless cast.
23428         (gst_bin_iterate_sinks): Doc update.
23429         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
23430         cleaned up (but no logic changes).
23431
23432         * check/states/sinks.c (test_src_sink): Cleanups from the state
23433         change patch.
23434         (test_livesrc_sink): Sync on the state.
23435
23436         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
23437         the state change patch.
23438
23439         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
23440         change patch.
23441
23442         * check/gst/gstbin.c: Merge in some style fixes and additional
23443         checks from Wim's state change patch.
23444
23445 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23446
23447         * gst/base/gsttypefindhelper.c: (helper_find_peek),
23448         (gst_type_find_helper):
23449           Check whether we have the requested data already in our list of
23450           cached buffers before pulling a new buffer; also make the buffer
23451           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
23452
23453 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23454
23455         * gst/gstcaps.c:
23456         * gst/gstevent.c:
23457           doc updates
23458         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
23459           don't use long long, it's not portable.  Replacing with
23460           gint64 seems to work; let's hope no skeletons fall out of the closet.
23461
23462 2005-10-10  Andy Wingo  <wingo@pobox.com>
23463
23464         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
23465
23466 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
23467
23468         * docs/gst/gstreamer-sections.txt:
23469         * gst/gstevent.c:
23470         * gst/gstevent.h:
23471         * gst/gstinfo.c:
23472         * gst/gstinfo.h:
23473         * gst/gstmessage.c: (gst_message_parse_state_changed):
23474         * gst/gstpad.c:
23475         * gst/gstpad.h:
23476           more docs, fix compilation
23477
23478 2005-10-09  Philippe Khalaf <burger@speedy.org>
23479         * gst/gstmessage.c:
23480           Fixed a few forgotten variables on previous commit
23481
23482 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
23483
23484         * gst/base/gsttypefindhelper.c: (helper_find_peek):
23485           Fix evil typefind crasher: getrange() might return a short
23486           buffer at the end of a file, but gst_type_find_peek() must
23487           either return the full data as requested or NULL, but
23488           never a short buffer.
23489
23490 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
23491
23492         * gst/gstmessage.c: (gst_message_new_state_changed),
23493         (gst_message_parse_state_changed):
23494         * gst/gstmessage.h:
23495           don't use "new", it's a C++ keyword
23496
23497 2005-10-08  Wim Taymans  <wim@fluendo.com>
23498
23499         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
23500         * gst/gstelement.c: (gst_element_post_message):
23501         * gst/gstpipeline.c: (gst_pipeline_change_state):
23502         Small docs and debug updates.
23503
23504 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
23505
23506         * docs/gst/gstreamer-sections.txt:
23507         * gst/gstelementfactory.c:
23508         * gst/gstevent.c:
23509         * gst/gsttaglist.c:
23510           more docs
23511
23512 2005-10-08  Wim Taymans  <wim@fluendo.com>
23513
23514         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
23515         (gst_bin_dispose), (bin_bus_handler):
23516         Fix typos, add comments.
23517         Clear EOS list when going to PAUSED from any direction and do it
23518         in a threadsafe way.
23519         Get base time in a threadsafe way too.
23520         Fix confusing debug in the change_state function.
23521         Various other small cleanups.
23522         
23523         * gst/gstelement.c: (gst_element_post_message):
23524         Fix very verbose bus posting code.
23525
23526         * gst/gstpipeline.c: (gst_pipeline_class_init),
23527         (gst_pipeline_set_property), (gst_pipeline_get_property),
23528         (gst_pipeline_change_state):
23529         Small ARG_ -> PROP_ cleanup
23530
23531 2005-10-08  Wim Taymans  <wim@fluendo.com>
23532
23533         * gst/gstbin.c: (is_eos), (bin_bus_handler):
23534         Do a less CPU demanding EOS check because we can.
23535
23536 2005-10-08  Wim Taymans  <wim@fluendo.com>
23537
23538         * libs/gst/dataprotocol/dataprotocol.c:
23539         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
23540         (gst_dp_packet_from_event):
23541         * libs/gst/dataprotocol/dataprotocol.h:
23542         * libs/gst/dataprotocol/dp-private.h:
23543         It's about time we bump the version number.
23544         Since event types don't fit in the guint8 anymore describing
23545         the payload type, make payload type 16 bits wide.
23546
23547 2005-10-08  Wim Taymans  <wim@fluendo.com>
23548
23549         * docs/design/part-TODO.txt:
23550         * docs/design/part-clocks.txt:
23551         * docs/design/part-events.txt:
23552         * docs/design/part-gstbin.txt:
23553         * docs/design/part-gstelement.txt:
23554         * docs/design/part-gstpipeline.txt:
23555         * docs/design/part-live-source.txt:
23556         * docs/design/part-messages.txt:
23557         * docs/design/part-overview.txt:
23558         * docs/design/part-states.txt:
23559         Many doc updates.
23560
23561 2005-10-08  Wim Taymans  <wim@fluendo.com>
23562
23563         * gst/gstevent.c:
23564         * gst/gstevent.h:
23565         Fix event quark registration.
23566         Add some space between events so we can insert them in the
23567         right groups.
23568
23569 2005-10-08  Wim Taymans  <wim@fluendo.com>
23570
23571         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23572         (gst_base_sink_handle_buffer):
23573         Better log message.
23574
23575         * gst/gstbus.h:
23576         * gst/gstelement.h:
23577         More docs.
23578
23579         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
23580         (gst_queue_set_property), (gst_queue_get_property):
23581         * gst/gstqueue.h:
23582         Remove old unused properties.
23583
23584 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
23585         * docs/gst/gstreamer-sections.txt:
23586         * gst/gstmessage.c:
23587         * gst/gstmessage.h:
23588         * gst/gstminiobject.c:
23589         * gst/gstminiobject.h:
23590         * gst/gstobject.h:
23591         * gst/gstpad.h:
23592         * gst/gstutils.h:
23593           lots of new docs and doc fixes
23594
23595 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23596
23597         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
23598         * gst/gstplugin.h:
23599         * gst/gstregistry.c: (gst_registry_lookup_locked),
23600         (gst_registry_scan_path_level):
23601         * gst/gstregistryxml.c: (load_plugin):
23602           Only ever load one plugin for a given plugin basename.
23603           This ensures correct overriding of GST_PLUGIN_PATH over
23604           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
23605           system installed plugins.
23606
23607 2005-10-08  Wim Taymans  <wim@fluendo.com>
23608
23609         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23610         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
23611         Prepare for doing QOS.
23612
23613 2005-10-08  Wim Taymans  <wim@fluendo.com>
23614
23615         * check/gst/gstbin.c: (GST_START_TEST):
23616         * check/pipelines/cleanup.c: (GST_START_TEST):
23617         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
23618         Allow new clock message too.
23619
23620 2005-10-08  Wim Taymans  <wim@fluendo.com>
23621
23622         * gst/gstmessage.c: (gst_message_new_error),
23623         (gst_message_new_warning), (gst_message_new_tag),
23624         (gst_message_new_state_changed), (gst_message_new_clock_provide),
23625         (gst_message_new_clock_lost), (gst_message_new_new_clock),
23626         (gst_message_new_segment_start), (gst_message_new_segment_done),
23627         (gst_message_parse_state_changed),
23628         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
23629         (gst_message_parse_new_clock):
23630         * gst/gstmessage.h:
23631         Also carry the clock in question.
23632
23633 2005-10-08  Wim Taymans  <wim@fluendo.com>
23634
23635         * gst/gstmessage.c: (gst_message_new_custom),
23636         (gst_message_new_eos), (gst_message_new_error),
23637         (gst_message_new_warning), (gst_message_new_tag),
23638         (gst_message_new_state_changed), (gst_message_new_clock_provide),
23639         (gst_message_new_new_clock), (gst_message_new_segment_start),
23640         (gst_message_new_segment_done), (gst_message_parse_state_changed),
23641         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
23642         * gst/gstmessage.h:
23643         Clean up.
23644         Added clock related messages.
23645
23646         * gst/gstpipeline.c: (gst_pipeline_change_state):
23647         Post message when the clock changed.
23648
23649         * tools/gst-launch.c: (event_loop):
23650         Print new clock.
23651
23652 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
23653
23654         * tools/gst-inspect.c: (print_element_properties_info):
23655           Can't pass NULL strings to g_print() on windows.
23656
23657 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23658
23659         * docs/Makefile.am:
23660         * docs/gst/Makefile.am:
23661         * docs/gst/gstreamer-docs.sgml:
23662         * docs/gst/running.xml:
23663         * docs/version.entities.in:
23664           add a chapter on running GStreamer.
23665           document GST_DEBUG and GST_PLUGIN* env vars
23666
23667 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23668
23669         * Makefile.am:
23670           remove include dir
23671         * configure.ac:
23672           remove PLUGINS_BUILDDIR stuff
23673         * gst/gst.c: (init_post):
23674           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
23675         * idiottest.mak:
23676           remove, it was condescending and not needed
23677
23678 2005-10-08  Wim Taymans  <wim@fluendo.com>
23679
23680         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
23681         (gst_base_sink_handle_object), (gst_base_sink_event),
23682         (gst_base_sink_wait), (gst_base_sink_handle_event),
23683         (gst_base_sink_change_state):
23684         * gst/base/gstbasesink.h:
23685         Repost EOS message while going to PLAYING if still EOS.
23686         Make sure that when receiving a FLUSH_START we don't attempt
23687         to sync on the clock anymore.
23688
23689 2005-10-08  Wim Taymans  <wim@fluendo.com>
23690
23691         * tools/gst-launch.c: (event_loop):
23692         Better message printout.
23693
23694 2005-10-08  Wim Taymans  <wim@fluendo.com>
23695
23696         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
23697         (gst_bin_child_proxy_get_children_count):
23698         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
23699         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
23700         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
23701         (gst_child_proxy_set_valist):
23702         * gst/parse/grammar.y:
23703         Make ChildProxy threadsafe and fix mem leaks.
23704
23705 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23706
23707         * gst/gst.c: (init_post):
23708           debug the GST_PLUGIN_ env vars
23709
23710 2005-10-08  Wim Taymans  <wim@fluendo.com>
23711
23712         * check/gst/gstbin.c: (GST_START_TEST):
23713         * check/gst/gstmessage.c: (GST_START_TEST):
23714         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
23715         * gst/gstelement.c: (gst_element_commit_state),
23716         (gst_element_lost_state):
23717         * gst/gstmessage.c: (gst_message_new_state_changed),
23718         (gst_message_parse_state_changed):
23719         * gst/gstmessage.h:
23720         * tools/gst-launch.c: (event_loop):
23721         Added extra field to STATE_CHANGE message with the pending
23722         state, which will be different from the new state soon.
23723
23724 2005-10-08  Wim Taymans  <wim@fluendo.com>
23725
23726         * gst/gstbus.c: (gst_bus_pop):
23727         * gst/gstclock.c:
23728         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
23729         Small cleanups and doc updates.
23730
23731 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23732
23733         * gst/gst.c: (init_pre):
23734         * gst/gstbin.c: (gst_bin_add_func):
23735           log distributing clocks and base time
23736         * gst/gstregistry.c: (gst_registry_add_plugin),
23737         (gst_registry_scan_path_level), (gst_registry_scan_path):
23738           clean up the debugging output a little
23739         * gst/gstutils.c: (gst_element_state_get_name):
23740           warn about a memleak (I've actually seen this be used, though
23741           it was probably a bug)
23742
23743 2005-10-07  Wim Taymans  <wim@fluendo.com>
23744
23745         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
23746         (gst_base_src_init), (gst_base_src_default_newsegment),
23747         (gst_base_src_newsegment), (gst_base_src_do_seek),
23748         (gst_base_src_loop), (gst_base_src_start):
23749         * gst/base/gstbasesrc.h:
23750         Make the newsegment event customizable by subclasses.
23751
23752 2005-10-07  Wim Taymans  <wim@fluendo.com>
23753
23754         * gst/gstevent.c: (gst_event_new_buffersize),
23755         (gst_event_parse_buffersize):
23756         * gst/gstevent.h:
23757         New event for future idea.
23758
23759 2005-10-07  Andy Wingo  <wingo@pobox.com>
23760
23761         * gst/gstelement.c (gst_element_post_message): Doc update.
23762
23763         * docs/gst/gstreamer-sections.txt: Update.
23764
23765         * gst/gstmessage.c (gst_message_new_application): Made into a
23766         function like honest API calls.
23767         (gst_message_new_element): New message type.
23768
23769         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
23770
23771         * check/elements/fakesrc.c (test_no_preroll): New check, checks
23772         that setting a live fakesrc to PAUSED returns NO_PREROLL both
23773         times.
23774
23775         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
23776         NO_PREROLL from gst_element_change_state to fall through.
23777
23778 2005-10-07  Wim Taymans  <wim@fluendo.com>
23779
23780         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
23781         (gst_ghost_pad_do_activate_push):
23782         Activating a ghostpad with no internal pad in push mode
23783         is ok.
23784
23785 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
23786
23787         * gst/gstobject.h:
23788           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
23789           Fixes compilation on Windows.
23790
23791 2005-10-07  Michael Smith <msmith@fluendo.com>
23792
23793         * tools/gst-inspect.c:
23794           Print out feature and plugin count at the end when printing out
23795           all features.
23796
23797 2005-10-04  Michael Smith <msmith@fluendo.com>
23798
23799         * gst/gsterror.c: (_gst_stream_errors_init):
23800           Add another error string used in a few existing plugins.
23801
23802         * gst/gstplugin.c:
23803         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
23804         * tools/gst-inspect.c: (print_element_info):
23805           When a feature disappears from a plugin (and the feature exists in
23806           the cached registry file), things went horribly wrong. This isn't a
23807           complete fix, we should actually be removing the 'missing' features
23808           from the features list when we load the actual plugin. That's not
23809           yet implemented. 
23810
23811 2005-10-04  Johan Dahlin  <johan@gnome.org>
23812
23813         * check/gst/gstiterator.c: (GST_START_TEST):
23814         * gst/gstbin.c: (gst_bin_iterate_elements),
23815         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
23816         * gst/gstelement.c: (gst_element_iterate_pads):
23817         * gst/gstformat.c: (gst_format_iterate_definitions):
23818         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
23819         (gst_iterator_new_list), (gst_iterator_filter):
23820         * gst/gstiterator.h:
23821         * gst/gstquery.c: (gst_query_type_iterate_definitions):
23822         Add a GType to GstIterator, update callsites and tests.
23823
23824 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23825
23826         * gst/gstpad.c: (gst_pad_event_default_dispatch):
23827           give events a chance to be handled by event probes when the pad
23828           is not linked
23829
23830 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23831
23832         * gst/gstevent.c: (gst_event_type_get_name),
23833         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
23834         * gst/gstevent.h:
23835           add string representations for event types
23836
23837 2005-10-06  Wim Taymans  <wim@fluendo.com>
23838
23839         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
23840         Don't use NULL pointers.
23841
23842 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23843
23844         * gst/gst_private.h:
23845         * gst/gstbus.c:
23846         * gst/gstelement.c:
23847         * gst/gstinfo.c:
23848         * gst/gstpluginfeature.c:
23849           widen the debug category in output to fit the biggest one we have
23850           add a bus category and use it
23851           play with the colors
23852           fix up some categories
23853
23854 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23855
23856         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
23857           add push activation of sink ghost pads.
23858           Andye, please verify
23859
23860 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
23861
23862         * gst/gstutils.c: (gst_element_link_pads):
23863           fix a bug in the case where neither element has a pad
23864         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
23865           add a test for that case
23866
23867 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
23868
23869         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
23870           emit have-data before checking for peers.  This allows
23871           for probe handlers to connect elements.  This helps autopluggers.
23872         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
23873         (gst_pad_suite):
23874           add six checks, linked/unlinked with no/true/false probe
23875
23876 2005-10-04  Wim Taymans  <wim@fluendo.com>
23877
23878         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
23879         (gst_fake_sink_event), (gst_fake_sink_preroll),
23880         (gst_fake_sink_render), (gst_fake_sink_change_state):
23881         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
23882         (gst_fake_src_get_property), (gst_fake_src_create),
23883         (gst_fake_src_stop):
23884         * gst/elements/gstidentity.c: (gst_identity_stop):
23885         Protect last_message with lock.
23886
23887 2005-10-04  Edward Hervey  <edward@fluendo.com>
23888
23889         * gst/gstformat.h: 
23890         Added precision in the comments for GST_FORMAT_DEFAULT
23891
23892 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
23893
23894         * tools/gst-launch.c: (main):
23895           Don't try to run erroneous pipelines.
23896
23897 2005-10-04  Julien MOUTTE  <julien@moutte.net>
23898
23899         * gst/gstbus.c: We don't need this header.
23900
23901 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
23902
23903         * configure.ac:
23904           back to development
23905
23906 === release 0.9.3 ===
23907
23908 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
23909
23910         * README:
23911         * configure.ac:
23912           Releasing 0.9.3, "Unregistered"
23913
23914 2005-10-03  Andy Wingo  <wingo@pobox.com>
23915
23916         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
23917         whereby calling a pad's activatepush() function can start a thread
23918         that starts to push or pull before the pad gets the FLUSHING flag
23919         unset. Hack around it by holding the stream lock until the flag is
23920         set. Need to replace this with a proper solution. Together with
23921         the ghost pad fixes, this fixes mp3 playing/tagreading.
23922
23923         * docs/design/part-gstghostpad.txt: Add a note about activation of
23924         proxy pads outside of ghost pads.
23925
23926         * gst/gstghostpad.c: Implement the ghost pad activation design.
23927
23928 2005-10-02  Andy Wingo  <wingo@pobox.com>
23929
23930         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
23931         It is volatile, after all.
23932
23933         * docs/design/part-gstghostpad.txt: Flesh out activation with
23934         ghost pads.
23935
23936         * gst/base/gstbasesrc.c (gst_base_src_init): Use
23937         GST_DEBUG_FUNCPTR.
23938
23939 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
23940
23941         * configure.ac:
23942           Fix (unused) AM_CONDITIONAL tests.
23943
23944 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
23945
23946         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
23947
23948         * gst/gstutils.c: (gst_pad_query_convert):
23949           Add assertion that makes sure src_val is >=0, just like
23950           gst_query_new_convert() has. (#315895)
23951
23952 2005-09-30  Edward Hervey  <edward@fluendo.com>
23953
23954         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
23955         Let's not iterate pads we're not interested in, it avoids getting 
23956         sky-high refcounts on sinkpad.
23957
23958 2005-09-30  Wim Taymans  <wim@fluendo.com>
23959
23960         * gst/gstelement.c: (gst_element_set_state),
23961         (gst_element_change_state):
23962         Small tweak, element in ASYNC remains ASYNC.
23963
23964 2005-09-30  Wim Taymans  <wim@fluendo.com>
23965
23966         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
23967         Only error is an error.
23968
23969         * gst/gstbin.c: (gst_bin_change_state):
23970         Better debugging.
23971
23972         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
23973         Also call pad_block in pad alloc.
23974
23975         * gst/gstutils.c: (gst_flow_get_name):
23976         Better debugging.
23977
23978 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
23979
23980         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
23981         (gst_base_src_get_range):
23982           Fix documentation typos. Add some more debug info.
23983
23984 2005-09-29  David Schleef  <ds@schleef.org>
23985
23986         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
23987           more end-user friendly.
23988         * tools/gst-inspect.c: (main): Check if command-line argument is
23989           a file and attempt to load that file as a plugin.
23990
23991 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
23992
23993         * check/gst/gstbin.c:
23994         * check/states/sinks.c:
23995           fix tests for the new warning
23996         * check/gst/gstpipeline.c:
23997           add a test for pipeline and bus interaction
23998         * gst/gstelement.c:
23999           elements should be NULL if they get disposed; add a warning if not
24000
24001 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
24002
24003         * gst/gstobject.c:
24004           for 2.6 refcounting, make debug log more correct by printing
24005           the actual refcounts at the time of swap (Wim)
24006
24007 2005-09-29  Andy Wingo  <wingo@pobox.com>
24008
24009         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
24010         removes signal watches previously added via
24011         gst_bus_add_signal_watch.
24012         (gst_bus_add_signal_watch): Don't return the source id, just store
24013         it on the bus if there wasn't an id already.
24014
24015         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
24016         add_signal_watch and remove_signal_watch.
24017
24018 2005-09-29  Edward Hervey  <edward@fluendo.com>
24019
24020         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
24021         Better if we actually iterate the list :)
24022
24023 2005-09-29  Wim Taymans  <wim@fluendo.com>
24024
24025         * check/gst/gstbin.c: (GST_START_TEST):
24026         Change for new bus API.
24027
24028         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
24029         (send_messages), (GST_START_TEST), (gstbus_suite):
24030         Change for new bus signal API.
24031
24032         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
24033         (gst_bus_source_prepare), (gst_bus_source_check),
24034         (gst_bus_create_watch), (gst_bus_add_watch_full),
24035         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
24036         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
24037         * gst/gstbus.h:
24038         Remove support for multiple GSources operating on different
24039         message types as it is too complex and unneeded when using
24040         signals.
24041         Added support for receiving signals from the bus.
24042
24043 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
24044
24045         * docs/libs/tmpl/gstdataprotocol.sgml:
24046         * docs/manual/advanced-dataaccess.xml:
24047         * gst/elements/gstcapsfilter.c:
24048         * gst/gstutils.c:
24049           rename filter-caps to caps property
24050
24051 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
24052
24053         * gst/gstvalue.c: (gst_value_deserialize_fraction):
24054           More robust fraction string parsing.
24055
24056         * docs/pwg/appendix-porting.xml:
24057           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
24058
24059 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
24060
24061         * gst/gstcaps.c: (gst_caps_do_simplify):
24062           Thou shalt not free a structure and then continue using it
24063           in the next loop iteration.
24064
24065         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
24066         (gst_caps_suite):
24067           Add test case for caps simplification.
24068
24069 2005-09-29  Wim Taymans  <wim@fluendo.com>
24070
24071         * check/gst/gstbin.c: (GST_START_TEST):
24072         Oops.
24073
24074 2005-09-29  Wim Taymans  <wim@fluendo.com>
24075
24076         * check/gst/gstbin.c: (GST_START_TEST):
24077         Add bus to bin.
24078
24079         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
24080         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
24081         (find_element), (gst_bin_sort_iterator_next),
24082         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24083         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24084         (gst_bin_change_state), (gst_bin_dispose):
24085         A bin does not have a bus, it gets the bus from the parent.
24086
24087         * gst/gstelement.c: (gst_element_requires_clock),
24088         (gst_element_provides_clock), (gst_element_is_indexable),
24089         (gst_element_is_locked_state), (gst_element_change_state),
24090         (gst_element_set_bus_func):
24091         Small cleanups.
24092
24093         * gst/gstpipeline.c: (gst_pipeline_class_init),
24094         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
24095         The pipeline provides a bus.
24096
24097 2005-09-28  Johan Dahlin  <johan@gnome.org>
24098
24099         * gst/gstmessage.c (gst_message_parse_state_changed): Use
24100         gst_structure_get_enum instead of gst_structure_get_int
24101
24102         * gst/gststructure.c (gst_structure_get_enum): Impl.
24103
24104         * gst/gststructure.h (gst_structure_get_enum): Add
24105
24106         * docs/gst/gstreamer-sections.txt: Ditto
24107
24108         * gst/gstmessage.c (gst_message_new_state_changed): Use
24109         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
24110         which does introspection.
24111         Reviewed by Christian Schaller
24112
24113 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
24114
24115         * gst/gstinfo.c: (gst_debug_log_default):
24116           don't do dummy g_strdup()s
24117         * libs/gst/controller/gstcontroller.c:
24118         (on_object_controlled_property_changed),
24119         (gst_controlled_property_new), (gst_controller_new_valist),
24120         (gst_controller_new_list),
24121         (gst_controller_remove_properties_valist), (gst_controller_set),
24122         (gst_controller_get), (gst_controller_sync_values),
24123         (gst_controller_get_value_array), (_gst_controller_class_init),
24124         (gst_controller_get_type):
24125         * libs/gst/controller/gstcontroller.h:
24126         * libs/gst/controller/gstinterpolation.c:
24127         (gst_controlled_property_find_timed_value_node):
24128           convert // to /**/ comments
24129
24130 2005-09-28  Wim Taymans  <wim@fluendo.com>
24131
24132         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
24133         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
24134         (gst_bus_sync_signal_handler):
24135         * gst/gstbus.h:
24136         Added async-message and sync-message signals to the bus.
24137         Added helper BusFunc to emit signals for all posted messages.
24138
24139         * gst/gstmessage.c: (gst_message_type_get_name),
24140         (gst_message_type_to_quark), (gst_message_get_type):
24141         * gst/gstmessage.h:
24142         Register quarks for message names.
24143
24144 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
24145
24146         * docs/libs/gstreamer-libs-sections.txt:
24147         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
24148         (gst_controller_new_list):
24149         * libs/gst/controller/gstcontroller.h:
24150           added another constructor for language bindings
24151
24152 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
24153
24154         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
24155           add another check
24156         * gst/gstbus.c:
24157           add some doc
24158         * gst/gstinfo.c: (_gst_debug_init):
24159           slightly more readable color for refcount debugging
24160
24161 2005-09-28  Wim Taymans  <wim@fluendo.com>
24162
24163         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
24164         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
24165         (find_element), (gst_bin_sort_iterator_next),
24166         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24167         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24168         (gst_bin_change_state), (gst_bin_dispose):
24169         Small doc fixes. get_clock -> provide_clock.
24170
24171         * gst/gstelement.c: (gst_element_class_init),
24172         (gst_element_provides_clock), (gst_element_provide_clock),
24173         (gst_element_get_clock), (gst_element_commit_state),
24174         (gst_element_lost_state):
24175         * gst/gstelement.h:
24176         Make get/set_clock() symetric. Add provide_clock vmethod since
24177         that is actually what this function does.
24178
24179         * gst/gstpipeline.c: (gst_pipeline_class_init),
24180         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
24181         (gst_pipeline_get_clock):
24182         get_clock -> provide_clock.
24183
24184 2005-09-28  Andy Wingo  <wingo@pobox.com>
24185
24186         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
24187         lieu of real docs...
24188
24189         * gst/elements/gstfdsrc.c: Cleaned up a bit.
24190
24191 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
24192
24193         * gst/elements/gstcapsfilter.c:
24194         * gst/elements/gstfakesink.c:
24195         * gst/elements/gstfakesrc.c:
24196         * gst/elements/gstfdsink.c:
24197         * gst/elements/gstfdsrc.c:
24198         * gst/elements/gstfilesink.c:
24199         * gst/elements/gstfilesrc.c:
24200         * gst/elements/gstidentity.c:
24201         * gst/elements/gsttee.c:
24202         * gst/elements/gsttypefindelement.c:
24203           Make element details static.
24204
24205 2005-09-28  Wim Taymans  <wim@fluendo.com>
24206
24207         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24208         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24209         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24210         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24211         (gst_bin_change_state), (gst_bin_dispose):
24212         Some documentation updates.
24213         Clean up dispose handlers.
24214
24215         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
24216         * gst/gstpad.c: (gst_pad_dispose):
24217         Clean up dispose handler.
24218
24219         * gst/gstpipeline.c: (gst_pipeline_change_state):
24220         Removed spurious UNLOCK.
24221
24222 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
24223
24224         * docs/gst/gstreamer-sections.txt:
24225         * gst/base/gstbasesrc.h:
24226         * gst/gstelement.h:
24227         * gst/gstevent.h:
24228         * gst/gstobject.h:
24229         * gst/gstpad.h:
24230         * gst/gstpipeline.c:
24231         * gst/gstpipeline.h:
24232         * gst/gstutils.h:
24233         * gst/gstxml.h:
24234           added two new functions to the docs
24235                 documents all undocumented GstXXXFlags
24236                 completed some incomplete docs 
24237
24238 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
24239
24240         * gst/gstbin.c: (gst_bin_dispose):
24241         * gst/gstelement.c: (gst_element_dispose):
24242           remove now useless and leaky resurrection code in dispose
24243         * gst/base/gstbasesrc.c: (gst_base_src_init):
24244         * gst/gstelementfactory.c: (gst_element_factory_create):
24245         * gst/gstobject.c: (gst_object_set_parent):
24246           add some debugging
24247
24248 2005-09-27  Wim Taymans  <wim@fluendo.com>
24249
24250         * docs/design/part-TODO.txt:
24251         Update TODO.
24252
24253         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24254         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24255         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24256         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24257         (gst_bin_change_state):
24258         * gst/gstelement.h:
24259         Remove element variable, we keep element info in the iterator now.
24260
24261 2005-09-27  Andy Wingo  <wingo@pobox.com>
24262
24263         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
24264         values.
24265
24266 2005-09-27  Wim Taymans  <wim@fluendo.com>
24267
24268         * check/gst/gstbin.c: (GST_START_TEST):
24269         Enable check that works now.
24270
24271         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24272         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24273         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24274         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24275         (gst_bin_change_state):
24276         * gst/gstbin.h:
24277         Redid the state change algorithm using a topological sort algo.
24278         Handles all cases correctly.
24279         Exposed iterator for state change order.
24280
24281         * gst/gstelement.h:
24282         Temp storage for state changes. Need to get rid of this soon.
24283
24284 2005-09-27  Wim Taymans  <wim@fluendo.com>
24285
24286         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
24287         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
24288         (link_fold_func), (gst_pad_proxy_setcaps):
24289         Leak fixes, the fold functions need to unref the passed object and
24290         _get_parent_*() returns ref to parent.
24291
24292 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24293
24294         * check/gst/gstbuffer.c: (test_make_writable):
24295           Plug leak in test case and fix 'make check-valgrind'
24296
24297 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24298
24299         * gst/gstbuffer.c: (gst_subbuffer_init):
24300           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
24301           works correctly in all circumstances (we could have just copied
24302           the parent buffer's readonly flag, but conceptually it seems
24303           cleaner to mark all subbuffers as read-only). (based on patch
24304           by Alessandro Decina, #314710).
24305         
24306         * check/gst/gstbuffer.c: (create_read_only_buffer),
24307         (test_make_writable), (test_subbuffer_make_writable),
24308         (gst_test_suite):
24309           Add some tests for gst_buffer_make_writable().
24310
24311 2005-09-27  Wim Taymans  <wim@fluendo.com>
24312
24313         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
24314         use gst_object_has_ancestor().
24315
24316         * gst/gstobject.c: (gst_object_has_ancestor):
24317         * gst/gstobject.h:
24318         gst_object_has_ancestor() copied from gstbin.c as it is a
24319         useful function.
24320
24321         * tests/instantiate/create.c: (create_all_elements):
24322         * tests/lat.c: (handoff_src), (handoff_sink):
24323         * tests/sched/runxml.c: (main):
24324         * tests/seeking/seeking1.c: (main):
24325         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
24326         (main):
24327         Fix compilation of some tests.
24328
24329 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24330
24331         * gst/gsterror.h:
24332           Remove comment. GST_TYPE_G_ERROR is here to stay,
24333           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
24334           (#316961, #300610).
24335
24336 2005-09-26  Wim Taymans  <wim@fluendo.com>
24337
24338         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
24339         Added check that shows error in state change order.
24340
24341 2005-09-26  Wim Taymans  <wim@fluendo.com>
24342
24343         * gst/gstbin.c: (gst_bin_change_state):
24344         Make state change function use 3 queues again, we were
24345         adding elements in the wrong order.
24346
24347         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
24348         Some debug info,
24349
24350         * gst/gstpad.c: (gst_pad_dispose):
24351         Added some debug info first.
24352
24353 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
24354
24355         * docs/design/draft-push-pull.txt:
24356         * docs/design/part-events.txt:
24357         * docs/design/part-overview.txt:
24358         * docs/design/part-scheduling.txt:
24359           Replace all _pull_region() with _pull_range()
24360           
24361 2005-09-26  Andy Wingo  <wingo@pobox.com>
24362
24363         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
24364
24365         * check/gst-libs/controller.c: Update for controller api change.
24366
24367         * configure.ac: 
24368         * tests/Makefile.am:
24369         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
24370         over by GLib bug 118439.
24371         
24372         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
24373         routines to a function.
24374
24375         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
24376
24377         * libs/gst/controller/gsthelper.c:
24378         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
24379         (gst_object_sync_values): Renamed from sink_values. Ugh.
24380
24381         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
24382
24383         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
24384         Renamed from controller_key, as it is exported.
24385
24386         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
24387
24388 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
24389
24390         * gst/Makefile.am:
24391         * gst/gst.h:
24392         * gst/gstpad.h:
24393         * gst/gstpadtemplate.h:
24394         * gst/gstquery.c:
24395         * gst/gstquery.h:
24396         * gst/gstqueryutils.c:
24397         * gst/gstqueryutils.h:
24398           remove queryutils headers after moving the two used functions
24399           to gstquery.  also fixes build problem for gstsiddec
24400
24401 2005-09-26  Michael Smith <msmith@fluendo.com>
24402
24403         * tools/gst-launch.1.in:
24404         Correct documentation in manpage of debug syntax
24405
24406 2005-09-26  Wim Taymans  <wim@fluendo.com>
24407
24408         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
24409         (gst_base_src_is_seekable), (gst_base_src_change_state):
24410         Some more debugging info.
24411
24412 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24413
24414         * docs/gst/gstreamer-sections.txt:
24415         * gst/base/gstbasetransform.h:
24416         * gst/gstindex.h:
24417           added more docs
24418
24419 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24420
24421         * docs/gst/.cvsignore:
24422         * docs/gst/tmpl/.cvsignore:
24423         * docs/gst/tmpl/gstpipeline.sgml:
24424         * docs/gst/tmpl/gstplugin.sgml:
24425         * gst/gstpipeline.c:
24426         * gst/gstplugin.c:
24427         * gst/gstplugin.h:
24428           inlined the last two docs files
24429           removed the tmpl directory from cvs (no more conflicts here!)
24430
24431 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24432
24433         * docs/gst/gstreamer-sections.txt:
24434         * docs/gst/tmpl/.cvsignore:
24435         * docs/gst/tmpl/gstpad.sgml:
24436         * docs/gst/tmpl/gstpadtemplate.sgml:
24437         * gst/Makefile.am:
24438         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
24439         (gst_pad_finalize), (gst_pad_set_pad_template):
24440         * gst/gstpad.h:
24441         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
24442         (gst_pad_template_class_init), (gst_pad_template_init),
24443         (gst_pad_template_dispose), (name_is_valid),
24444         (gst_static_pad_template_get), (gst_pad_template_new),
24445         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
24446         (gst_pad_template_pad_created):
24447         * gst/gstpadtemplate.h:
24448           inlined two more docs
24449           factored gstpadtemplate out of gstpad
24450
24451 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
24452
24453         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24454         (test_children_state_change_order_semi_sink):
24455           Fix test case: we can't rely on a fixed state change order when
24456           going from READY => PAUSED because the sink might commit its 
24457           new state first when the first buffer created by the source 
24458           reaches the sink before the source has finished its change state.
24459           (Test case still fails at times, see #316856, comment 5 onwards)
24460
24461 2005-09-24  Wim Taymans  <wim@fluendo.com>
24462
24463         * docs/design/part-events.txt:
24464         * docs/design/part-gstbus.txt:
24465         * docs/design/part-gstpipeline.txt:
24466         * docs/design/part-messages.txt:
24467         * docs/design/part-overview.txt:
24468         * docs/design/part-segments.txt:
24469         * gst/gstbin.c:
24470         * gst/gstbuffer.c:
24471         * gst/gstclock.c:
24472         * gst/gstelement.c:
24473         * gst/gstevent.c:
24474         * gst/gstfilter.c:
24475         * gst/gstiterator.c:
24476         Various documentation updates.
24477
24478 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
24479
24480         * gst/gstclock.h:
24481           Well, that's embarassing.  Luckily we weren't using
24482           GST_CLOCK_DIFF anywhere.
24483
24484 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24485
24486         * common/gtk-doc.mak:
24487           don't fail on building XML, FC4 slave shows a bunch of doc
24488           missing bits that I don't get
24489         * gst/gstpad.c:
24490         * gst/gstpipeline.c:
24491         * gst/gststructure.c:
24492           some doc updates
24493
24494 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
24495
24496         * docs/design/part-gstbin.txt:
24497         * docs/design/part-gstbus.txt:
24498         * gst/gstbus.c:
24499           Add blurb about how the bus goes into flushing mode and
24500           drops all messages when its bin goes from READY into NULL 
24501           state.
24502
24503 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24504
24505         * docs/gst/gstreamer-sections.txt:
24506         * gst/gststructure.c: (gst_structure_get_clock_time):
24507         * gst/gststructure.h:
24508           add a method to get a GstClockTime out of a structure
24509
24510 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
24511
24512         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24513         (test_children_state_change_order_semi_sink), (gst_bin_suite):
24514           Added test to check state change order in bins (can still be made
24515           to fail here under heavy disk load; bails out with 'Push on pad
24516           fakesink:sink0, but it was not activated in push mode').
24517
24518         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
24519           Fix state change order when there is only a semi sink (#316856)
24520
24521         * gst/gstbus.c: (gst_bus_class_init):
24522           Use _class_peek_parent(), not _class_ref(); fix docs to say
24523           'default main context' instead of 'mainloop' where that is
24524           what's meant.
24525
24526         * gst/gstelement.c: (gst_element_commit_state),
24527         (gst_element_set_state):
24528           Fix typos in debug messages
24529
24530 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24531
24532         * docs/README:
24533         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
24534         * gst/gstpluginfeature.c:
24535         * gst/gstutils.c:
24536           various doc updates
24537         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24538           change an assert into an error until it gets fixed properly
24539
24540 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
24541
24542         * docs/gst/gstreamer-sections.txt:
24543         * docs/gst/tmpl/.cvsignore:
24544         * docs/gst/tmpl/gstelement.sgml:
24545         * docs/gst/tmpl/gstinfo.sgml:
24546         * docs/gst/tmpl/gstobject.sgml:
24547         * gst/gstelement.c:
24548         * gst/gstelement.h:
24549         * gst/gstinfo.c:
24550         * gst/gstinfo.h:
24551         * gst/gstobject.c: (gst_object_class_init):
24552         * gst/gstobject.h:
24553           inlined 3 more biiiig doc files and added some missing docs on the fly
24554
24555 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24556
24557         * check/gst/.cvsignore:
24558         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
24559         * gst/gstregistryxml.c: (load_plugin),
24560         (gst_registry_xml_save_plugin):
24561           put back source in registry.  add checks for find_plugin.
24562         * testsuite/states/bin.c: (assert_state), (empty_bin),
24563         (test_adding_one_element), (main):
24564         * testsuite/states/locked.c: (main):
24565           some compile/run fixes
24566
24567 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
24568
24569         * check/gst/gstvalue.c: (GST_START_TEST):
24570           fix leaks in the test itself
24571
24572 2005-09-22  Wim Taymans  <wim@fluendo.com>
24573
24574         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24575         (gst_base_sink_send_event), (gst_base_sink_peer_query),
24576         (gst_base_sink_query):
24577         Prepare for more accurate position reporting and query
24578         handling.
24579
24580         * gst/gstelement.c: (gst_element_send_event),
24581         (gst_element_set_state):
24582         Add some comment.
24583
24584 2005-09-22  Wim Taymans  <wim@fluendo.com>
24585
24586         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
24587         (gst_query_parse_segment):
24588         * gst/gstquery.h:
24589         More documentation.
24590         Add segment query for future use.
24591
24592 2005-09-22  Wim Taymans  <wim@fluendo.com>
24593
24594         * gst/gstbin.c: (gst_bin_add_func):
24595         Some more debug info.
24596
24597         * gst/gstelement.c: (gst_element_send_event):
24598         Simplify send_event
24599
24600         * gst/gstelement.h:
24601         Don't know how flags got broken.
24602
24603         * gst/gstquery.h:
24604         Added new query.
24605
24606 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
24607
24608         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
24609           Add simplistic test suite for GST_TYPE_DATE serialisation and
24610           deserialisation.
24611
24612 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
24613
24614         * docs/gst/gstreamer-sections.txt:
24615         * gst/gststructure.c: (gst_structure_set_valist),
24616         (gst_structure_get_date):
24617         * gst/gststructure.h:
24618         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
24619         (gst_date_copy), (gst_value_compare_date),
24620         (gst_value_serialize_date), (gst_value_deserialize_date),
24621         (gst_value_transform_date_string),
24622         (gst_value_transform_string_date), (_gst_value_initialize):
24623         * gst/gstvalue.h:
24624           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
24625           bunch of utility functions along with a hack that checks that
24626           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
24627           is required. Part of the grand scheme in #170777.
24628
24629 2005-09-22  Andy Wingo  <wingo@pobox.com>
24630
24631         * gst/gstconfig.h.in: Psych out gtk-doc.
24632
24633         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
24634
24635         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
24636
24637         * tools/gst-inspect.c (print_element_list): Plug some
24638         inconsequential leaks.
24639
24640         * gst/gstregistry.c (gst_registry_get_default): Doc.
24641
24642         * check/gst/gstplugin.c: 
24643         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
24644         * gst/gstelementfactory.c (gst_element_factory_create): 
24645         * gst/gstindexfactory.c (gst_index_factory_create): Update for
24646         refcount changes.
24647
24648         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
24649         (gst_plugin_feature_load): Doc, don't eat refs.
24650
24651         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
24652         (gst_plugin_list_free): Doc.
24653         (gst_plugin_load_file): Doc updates.
24654
24655         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
24656         accessors returning refcounted objects, return a ref.
24657
24658         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
24659         accessor for caps. IDEMPOTENCE. Oh yes.
24660
24661 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
24662
24663         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
24664
24665         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
24666         (_gst_debug_register_funcptr):
24667           Add mutex to serialise access to the hash table with
24668           the function pointer => function name string mapping;
24669           make that hash table static scope (#316809).
24670
24671         * gst/registries/.cvsignore:
24672           Remove left-over file.
24673
24674 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
24675
24676         * docs/pwg/appendix-porting.xml:
24677           And something about newsegment events and caps-on-buffers to
24678           the porting guide (feel free to improve).
24679
24680 2005-09-21  Andy Wingo  <wingo@pobox.com>
24681
24682         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
24683         data and event probes on the same pad.
24684         (test_buffer_probe_once): Test that removing probes from within
24685         the probe functions works.
24686
24687 2005-09-21  Andy Wingo  <wingo@pobox.com>
24688
24689         * check/gst/gstutils.c: New file.
24690         (test_buffer_probe_n_times): A simple buffer probe test. More to
24691         come, foolios.
24692
24693         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
24694         have-data::buffer, not have-data.
24695         (gst_pad_add_event_probe): Likewise for have-data::event.
24696         (gst_pad_add_data_probe): More docs. The part about 'resolving the
24697         peer' isn't quite right yet though.
24698         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
24699         (gst_pad_remove_data_probe): Change to take the guint handler_id
24700         as their arg, not the function+data, which is more glib-like.
24701
24702         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
24703         the signal emission to indicate if the data is a buffer or an
24704         event.
24705         (gst_pad_get_type): Initialize buffer and event quarks.
24706         (gst_pad_class_init): have-data is now a detailed signal, yes it
24707         is.
24708
24709 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
24710
24711         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
24712         * gst/gstutils.c: (gst_util_set_value_from_string),
24713         (gst_util_set_object_arg):
24714           Don't put functional code in g_return_if_fail() or
24715           g_return_val_if_fail() statements, otherwise things will 
24716           break when G_DISABLE_CHECKS is defined during compilation.
24717
24718 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24719
24720         * docs/gst/tmpl/.cvsignore:
24721         * docs/gst/tmpl/gstvalue.sgml:
24722         * gst/gstvalue.c:
24723         * gst/gstvalue.h:
24724           inlied another one and added  some obvious docs
24725
24726 2005-09-21  Wim Taymans  <wim@fluendo.com>
24727
24728         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
24729         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
24730         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
24731         (gst_fdsrc_get_property), (gst_fdsrc_create):
24732         * gst/elements/gstfdsrc.h:
24733         Properly implement fdsrc. Removed signal and timeout,
24734         better implemented somewhere else.
24735
24736 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24737
24738         * docs/gst/tmpl/.cvsignore:
24739         * docs/gst/tmpl/gstimplementsinterface.sgml:
24740         * gst/gstinterface.c:
24741           inlined more docs
24742
24743 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24744
24745         * docs/gst/gstreamer-sections.txt:
24746         * docs/gst/tmpl/.cvsignore:
24747         * docs/gst/tmpl/gstenumtypes.sgml:
24748           remove obsolete doc file
24749
24750 2005-09-21  David Schleef  <ds@schleef.org>
24751
24752         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
24753         little beer, fix a little leak.
24754
24755 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24756
24757         * docs/gst/gstreamer-docs.sgml:
24758         * docs/gst/gstreamer-sections.txt:
24759         * docs/gst/tmpl/.cvsignore:
24760         * gst/Makefile.am:
24761         * gst/gst.h:
24762         * gst/gstbin.c:
24763         * gst/gstelement.h:
24764         * gst/gstindex.c: (gst_index_class_init):
24765         * gst/gstindex.h:
24766         * gst/gstindexfactory.c: (gst_index_factory_get_type),
24767         (gst_index_factory_class_init), (gst_index_factory_init),
24768         (gst_index_factory_finalize), (gst_index_factory_new),
24769         (gst_index_factory_destroy), (gst_index_factory_find),
24770         (gst_index_factory_create), (gst_index_factory_make):
24771         * gst/gstindexfactory.h:
24772         * gst/gstpluginfeature.c:
24773         * gst/gstpluginfeature.h:
24774         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24775           more docs inlined, splitted gstindex.{c,h}
24776
24777 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24778
24779         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24780           fix a leak
24781
24782 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
24783
24784         * gst/elements/gstfilesink.c: (gst_file_sink_init):
24785           Set sync to FALSE by default.
24786
24787 2005-09-20  Wim Taymans  <wim@fluendo.com>
24788
24789         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24790         (gst_base_sink_init):
24791         Make sync property settable from subclass.
24792
24793         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
24794         (gst_fake_sink_change_state):
24795         Set sync to FALSE by default.
24796
24797 2005-09-20  Wim Taymans  <wim@fluendo.com>
24798
24799         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
24800         * tools/gst-launch.c: (main):
24801         The timeout handler should have lower priority than the source
24802         so we don't timeout before popping a message with 0 timeout.
24803         Dump error messages after failed state change.
24804
24805 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
24806
24807         * tools/gst-inspect.c: (print_element_properties_info):
24808           Fix two typos.
24809
24810 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24811
24812         * check/gst/gstevent.c:
24813         * gst/elements/gstfakesink.c:
24814         * gst/elements/gstfakesink.h:
24815           remove the sync property from fakesink.
24816           has the side effect of setting sync TRUE
24817           for fakesink, which is a change.  Anyone who knows how
24818           to fix this nicely in a GObject-y way, feel free.
24819
24820 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
24821
24822         * docs/gst/gstreamer-docs.sgml:
24823           remove probe refsection
24824
24825 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
24826
24827         * check/Makefile.am:
24828           disable valgrinding the controller test again
24829         * docs/gst/gstreamer-sections.txt:
24830           update for api-changes
24831
24832 2005-09-20  Wim Taymans  <wim@fluendo.com>
24833
24834         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24835         (gst_base_sink_set_property), (gst_base_sink_get_property),
24836         (gst_base_sink_do_sync):
24837         * gst/base/gstbasesink.h:
24838         Added sync property to basesink to disable clock sync.
24839
24840 2005-09-20  Andy Wingo  <wingo@pobox.com>
24841
24842         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
24843         eating the caller's refcount.
24844
24845         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
24846         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
24847         refcount.
24848
24849         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
24850         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
24851         of GLib 2.8 public, so we can know which refcount to check in
24852         tests.
24853
24854         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
24855         (gst_object_init): Only set the gst refcount if we're going ahead
24856         with the refcount hack.
24857
24858 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
24859
24860         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
24861         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24862           more leaks plumbed, added more debug-logging
24863         * gst/gstmacros.h:
24864           whitespace fix
24865
24866 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24867
24868         * gst/gstmessage.c:
24869           remove include of gstmemchunk.h
24870
24871 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24872
24873         * gst/gstclock.c: (_gst_clock_id_free):
24874           Commit from the Political Party For More Atomic CVS Commits,
24875           so that people don't waste too much of their day fishing
24876           out obvious leaks out of massive commits.
24877           Oh, and fix a pretty damn obvious leak in the memchunk
24878           removal code.
24879
24880 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
24881
24882         * check/Makefile.am:
24883         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
24884           plug mem-leak, re-add to valgrindable tests
24885
24886 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24887
24888         * gst/gstplugin.h:
24889           unbreak the build for those who have chronic arthritis
24890           and typing "make check" is just too taxing on the hands
24891
24892 2005-09-20  Andy Wingo  <wingo@pobox.com>
24893
24894         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
24895         really want it out, you should fix plugins at the same time.
24896
24897 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
24898
24899         * configure.ac:
24900         * docs/gst/gstreamer-sections.txt:
24901         * gst/gstobject.c:
24902           added missing symbols to api docs
24903           disable ref-count hack if we have glib >= 2.8
24904
24905 2005-09-19  David Schleef  <ds@schleef.org>
24906
24907         * docs/gst/Makefile.am: Ignore a few more internal headers
24908         * docs/gst/gstreamer-docs.sgml: Remove old sections
24909         * docs/gst/gstreamer-sections.txt: Remove old sections
24910         * docs/gst/tmpl/gstobject.sgml: update
24911         * docs/gst/tmpl/gstplugin.sgml: update
24912         * docs/gst/tmpl/gstpluginfeature.sgml: update
24913         * docs/random/ds/0.9-suggested-changes: update.
24914         * gst/Makefile.am: remove memchunk and trashstack, since they're
24915           not used.
24916         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
24917         * gst/gst.h: don't include some headers
24918         * gst/gstchildproxy.c: add gstmarshal.h
24919         * gst/gstclock.c: Don't use memchunks
24920         * gst/gstminiobject.c: Add some docs
24921         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
24922         * gst/gstobject.h: same
24923         * gst/gstplugin.c: include gstmacros.h
24924         * gst/gstplugin.h: don't include gstmacros.h, since it's private
24925         * gst/gstquery.c: don't use memchunks
24926         * gst/gstregistry.c: rename gst_registry_deinit()
24927         * gst/gstregistry.h: same
24928
24929 2005-09-19  David Schleef  <ds@schleef.org>
24930
24931         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
24932         * docs/libs/gstreamer-libs-sections.txt:
24933         * docs/libs/tmpl/gstgetbits.sgml:
24934         * docs/libs/tmpl/gstputbits.sgml:
24935
24936 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
24937
24938         * win32/gstenumtypes.c:
24939         * win32/gstenumtypes.h:
24940           Update.
24941
24942 2005-09-19  Wim Taymans  <wim@fluendo.com>
24943
24944         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
24945         Automatically PAUSE and RESUME a pipeline when a flushing seek
24946         is performed.
24947
24948 2005-09-19  Andy Wingo  <wingo@pobox.com>
24949
24950         * gst/gstregistry.h: Spacing fixen.
24951
24952 2005-09-19  Wim Taymans  <wim@fluendo.com>
24953
24954         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
24955         Handle state change failure more correctly.
24956
24957 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
24958
24959         * check/Makefile.am:
24960         * check/pipelines/cleanup.c: (run_pipeline):
24961         * check/pipelines/simple_launch_lines.c: (run_pipeline),
24962         (GST_START_TEST):
24963           enable cleanup again after fixing the leak
24964         * docs/README:
24965           some more info on docs
24966
24967 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
24968
24969         * check/Makefile.am:
24970           re-enable tests now that leaks are plugged
24971         * check/gst/gst.c:
24972         * check/gst/gstbin.c:
24973         * check/gst/gstpipeline.c:
24974           add some more tests while fixing leaks
24975         * common/check.mak:
24976           make sure binaries are uptodate when valgrinding/gdbing
24977         * gst/gst.c:
24978         * gst/gstelementfactory.c:
24979           remove a ref too many, and add a FIXME for when we get
24980           round to disposing of classes
24981         * gst/gstplugin.c:
24982           fix the refcounting when loading a plugin from a file and
24983           the code pretends that the pointer is the same even though
24984           of course it can change
24985         * gst/gstpluginfeature.c:
24986           unref plugins marked cached (a bit confusing as a name)
24987           as the docs state should be done
24988           various doc additions to explain refcounting
24989         * gst/gstregistry.c:
24990         * gst/gstregistryxml.c:
24991           debugging
24992
24993 2005-09-19  Wim Taymans  <wim@fluendo.com>
24994
24995         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
24996         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
24997         (send_messages), (GST_START_TEST), (gstbus_suite):
24998         * check/gst/gstpipeline.c: (GST_START_TEST):
24999         * check/pipelines/cleanup.c: (run_pipeline):
25000         * check/pipelines/simple_launch_lines.c: (run_pipeline),
25001         (GST_START_TEST):
25002         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
25003         (gst_bus_source_check), (gst_bus_source_dispatch),
25004         (gst_bus_create_watch), (gst_bus_add_watch_full),
25005         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
25006         * gst/gstbus.h:
25007         * tools/gst-launch.c: (event_loop):
25008         * tools/gst-md5sum.c: (event_loop):
25009         GstBusHandler -> GstBusFunc, return value has the same meaning as
25010         any other GSource (FALSE == remove source).
25011         _add_watch() and _add_watch_full() now take a MessageType mask to
25012         only handle specific types of messages.
25013         _poll() returns the GstMessage instead of the message type to avoid
25014         race conditions.
25015         _have_pending() takes a MessageType mask now too.
25016         Added testsuite for multiple bus watches.
25017         Fix testsuites and applications for new bus API.
25018
25019 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25020
25021         * check/Makefile.am:
25022           mark a bunch of the tests as to fix until we fix them
25023
25024 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
25025
25026         * common/check.mak:
25027           use GST_PLUGIN settings for valgrind tests as well, so we're
25028           valgrinding the correct thing
25029         * gst/gst.c: (init_post):
25030           plug another leak
25031
25032 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
25033
25034         * gst/gst.c: (init_post), (gst_deinit):
25035         * gst/gstelementfactory.c: (gst_element_factory_class_init),
25036         (gst_element_factory_finalize), (gst_element_factory_cleanup):
25037         * gst/gstindex.c: (gst_index_factory_class_init),
25038         (gst_index_factory_finalize):
25039         * gst/gstobject.c: (gst_object_dispose):
25040         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
25041         (gst_plugin_load_file), (gst_plugin_desc_free):
25042         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
25043         (gst_plugin_feature_finalize):
25044         * gst/gstregistry.c: (gst_registry_class_init),
25045         (gst_registry_init), (gst_registry_finalize),
25046         (gst_registry_get_default), (gst_registry_deinit):
25047         * gst/gstregistry.h:
25048         * gst/gstregistryxml.c: (load_feature), (load_plugin):
25049           various cleanups and memleak plugging.  make valgrind is happy now.
25050
25051 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
25052
25053         * common/check.mak:
25054           add a check-valgrind target
25055
25056 2005-09-18  David Schleef  <ds@schleef.org>
25057
25058         * tools/gst-inspect.c: Revert the GOption code.
25059
25060 2005-09-17  David Schleef  <ds@schleef.org>
25061
25062         * check/Makefile.am: Fix environment variables.
25063         * check/gst/gstplugin.c: Fix for API changes.
25064         * tools/gst-inspect.c: Fix for API changes.
25065         * tools/gst-xmlinspect.c: Fix for API changes.
25066         * gst/gstelementfactory.c:
25067         * gst/gstplugin.c:
25068         * gst/gstplugin.h:
25069         * gst/gstpluginfeature.c:
25070         * gst/gstpluginfeature.h:
25071         * gst/gstregistry.c:
25072         * gst/gstregistry.h:
25073         * gst/gstregistryxml.c:
25074         * gst/gsttypefind.c:
25075         * gst/gsttypefindfactory.c:
25076         * gst/indexers/gstfileindex.c:
25077         * gst/indexers/gstmemindex.c:
25078         * gst/schedulers/Makefile.am:
25079           Change registry to keep track of both plugins and features,
25080           removing the feature tracking from plugins themselves.
25081
25082 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
25083
25084         * check/Makefile.am:
25085         * tools/gst-register.1.in:
25086           remove gst-register
25087
25088 2005-09-15  David Schleef  <ds@schleef.org>
25089
25090         * check/gst/gstplugin.c:
25091         * gst/gstelementfactory.c:
25092         * gst/gstplugin.c:
25093         * gst/gstpluginfeature.c:
25094         * gst/gstregistry.c:
25095           Getting tired of debugging.  Disabled all the unreffing of
25096           plugins and features, which fixes the segfaults, but of
25097           course leaks like crazy.  At least playbin works.
25098
25099 2005-09-15  David Schleef  <ds@schleef.org>
25100
25101         * check/gst/gstplugin.c: (register_check_elements),
25102         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
25103         More testing
25104         * gst/elements/gsttypefindelement.c: Fix refcounting.
25105         * gst/gsttypefind.c:
25106         * gst/gsttypefindfactory.c:
25107         * gst/gsttypefindfactory.h:
25108
25109 2005-09-15  David Schleef  <ds@schleef.org>
25110
25111         * gst/gstindex.c: get refcounting correct.
25112         * gst/gstregistry.c: Handle the case where a feature/plugin is
25113           not found.
25114
25115 2005-09-15  David Schleef  <ds@schleef.org>
25116
25117         * check/Makefile.am:
25118         * check/gst/gstplugin.c: Add test
25119         * gst/gstplugin.c: Fix problems noticed by testsuite
25120         * gst/gstplugin.h:
25121         * gst/gstregistry.c: 
25122         * gst/gstregistry.h:
25123
25124 2005-09-15  David Schleef  <ds@schleef.org>
25125
25126         * gst/gstplugin.c: Implement semi-decent recounting and locking
25127           in plugins and plugin features.
25128         * gst/gstplugin.h:
25129         * gst/gstpluginfeature.c:
25130         * gst/gstpluginfeature.h:
25131         * gst/gstregistry.c:
25132
25133 2005-09-15  Michael Smith <msmith@fluendo.com>
25134
25135         * gst/gstregistry.c: (gst_registry_get_feature_list):
25136           Implement this. Makes oggdemux work; decodebin still broken.
25137
25138 2005-09-14  David Schleef  <ds@schleef.org>
25139
25140         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
25141           #316076)
25142         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
25143         * gst/check/Makefile.am:
25144         * libs/gst/controller/Makefile.am:
25145         * libs/gst/dataprotocol/Makefile.am:
25146
25147 2005-09-14  David Schleef  <ds@schleef.org>
25148
25149         * configure.ac: Remove getbits library.  Nothing uses it, and
25150           it should be in something like liboil if someone did want
25151           to use it.
25152         * libs/gst/Makefile.am:
25153         * libs/gst/getbits/Makefile.am:
25154         * libs/gst/getbits/gbtest.c:
25155         * libs/gst/getbits/getbits.c:
25156         * libs/gst/getbits/getbits.h:
25157         * libs/gst/getbits/gstgetbits_generic.c:
25158         * libs/gst/getbits/gstgetbits_i386.s:
25159         * libs/gst/getbits/gstgetbits_inl.h:
25160
25161 2005-09-14  David Schleef  <ds@schleef.org>
25162
25163         * gst/Makefile.am: Dist glib-compat.h
25164
25165 2005-09-14  David Schleef  <ds@schleef.org>
25166
25167         * configure.ac: Remove gst/registries, since it's no longer used.
25168         * gst/registries/Makefile.am:
25169         * gst/registries/gstlibxmlregistry.c:
25170         * gst/registries/gstlibxmlregistry.h:
25171         * gst/registries/gstxmlregistry.c:
25172         * gst/registries/gstxmlregistry.h:
25173         * gst/registries/registrytest.c:
25174
25175 2005-09-14  David Schleef  <ds@schleef.org>
25176
25177         * gst/glib-compat.h:
25178         * gst/gstregistryxml.c:
25179           Convergence is near.  Seriously.
25180
25181 2005-09-14  David Schleef  <ds@schleef.org>
25182
25183         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25184         * gst/glib-compat.h:
25185           Attempt #4 to appease the buildbots.
25186
25187 2005-09-14  David Schleef  <ds@schleef.org>
25188
25189         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25190           Attempt #3.
25191
25192 2005-09-14  David Schleef  <ds@schleef.org>
25193
25194         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25195         Attempt #2.
25196
25197 2005-09-14  David Schleef  <ds@schleef.org>
25198
25199         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
25200           the new functions.
25201
25202 2005-09-14  David Schleef  <ds@schleef.org>
25203
25204         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25205         * gst/glib-compat.h: Add some functions that are in newer versions
25206           of glib than we care to require.
25207         * gst/gstregistryxml.c: Use them.
25208
25209 2005-09-14  David Schleef  <ds@schleef.org>
25210
25211         * po/POTFILES.in: remove gst-register.c
25212
25213 2005-09-14  David Schleef  <ds@schleef.org>
25214
25215         * docs/gst/gstreamer-docs.sgml:
25216         * docs/gst/gstreamer-sections.txt:
25217         * docs/gst/gstreamer.types:
25218         * docs/gst/tmpl/gstelement.sgml:
25219         * docs/gst/tmpl/gstplugin.sgml:
25220         * docs/gst/tmpl/gstpluginfeature.sgml:
25221           Documentation updates for registry changes.
25222
25223 2005-09-14  David Schleef  <ds@schleef.org>
25224
25225         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
25226           because we don't require glib-2.8.
25227
25228 2005-09-14  David Schleef  <ds@schleef.org>
25229
25230         * gst/gstregistryxml.c: Added.  Essentially moved out of the
25231           registries directory.
25232
25233 2005-09-14  David Schleef  <ds@schleef.org>
25234
25235         * check/Makefile.am:
25236         * check/generic/states.c:
25237         * gst/Makefile.am:
25238         * gst/gst.c:
25239         * gst/gst.h:
25240         * gst/gst_private.h:
25241         * gst/gstelementfactory.c:
25242         * gst/gstindex.c:
25243         * gst/gstinfo.c:
25244         * gst/gstplugin.c:
25245         * gst/gstplugin.h:
25246         * gst/gstpluginfeature.c:
25247         * gst/gstpluginfeature.h:
25248         * gst/gstregistry.c:
25249         * gst/gstregistry.h:
25250         * gst/gstregistrypool.c: remove
25251         * gst/gstregistrypool.h: remove
25252         * gst/gsttypefind.c:
25253         * gst/gsttypefindfactory.c:
25254         * gst/gsturi.c:
25255         * tools/Makefile.am:
25256         * tools/gst-compprep.c:
25257         * tools/gst-inspect.c:
25258         * tools/gst-register.c: remove
25259         * tools/gst-xmlinspect.c:
25260           Registry rewrite.  Changes registry from being a file created
25261           by a tool into a simple cache file created automatically by 
25262           libgstreamer.  Removed gst-register (because it's no longer
25263           needed).  Remove registry pools, because we only have one
25264           registry implementation (XML).  Fix up other subsystems as
25265           necessary.
25266
25267 2005-09-13  Michael Smith <msmith@fluendo.com>
25268
25269         * gst/gstconfig.h.in:
25270           Don't Use windows linking attributes for MinGW. Fixes #316157
25271
25272 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
25273
25274         * gst/gstutils.c: (set_state_async_thread_func),
25275         (gst_element_set_state_async):
25276           Apparently people think it's better if this function doesn't
25277           try to set the state to whatever state was asked for on the first
25278           call to this function for any object.  Seriously.
25279
25280 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25281
25282         * check/gst/gstpipeline.c: (GST_START_TEST):
25283         * docs/gst/gstreamer-sections.txt:
25284         * gst/gstutils.c: (set_state_async_thread_func),
25285         (gst_element_set_state_async):
25286         * gst/gstutils.h:
25287           add a "gst_element_set_state_async" method that
25288           sets the state and starts a thread to make sure the state
25289           change completes as best as it can
25290
25291 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25292
25293         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
25294           codify design+behaviour in testsuite after discussion
25295
25296 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25297
25298         * docs/gst/tmpl/gstelement.sgml:
25299         * docs/manual/appendix-quotes.xml:
25300           add a quote
25301         * gst/gstelement.c: (gst_element_set_state):
25302           add some debug
25303
25304 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
25305
25306         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25307         (gst_base_transform_prepare_output_buf),
25308         (gst_base_transform_handle_buffer):
25309         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
25310         (gst_capsfilter_prepare_buf):
25311           Remove the requirement for sub-classes to call the parent
25312           implementation of prepare_output_buffer with a wrapper function.
25313           
25314         * gst/gsttaglist.h:
25315         * gst/gsttagsetter.h:
25316           Fix #define wrapper
25317
25318 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
25319
25320         * docs/gst/gstreamer-sections.txt:
25321           more doc cleanups
25322
25323 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25324
25325         * docs/gst/gstreamer-sections.txt:
25326         * docs/gst/tmpl/gstelement.sgml:
25327         * docs/gst/tmpl/gstplugin.sgml:
25328         * gst/gstminiobject.c:
25329         * gst/gstvalue.h:
25330           docs now stop throwing warnings
25331
25332 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25333
25334         * docs/gst/gstreamer-sections.txt:
25335         * docs/gst/gstreamer.types:
25336         * docs/gst/tmpl/gstpad.sgml:
25337         * docs/gst/tmpl/gsttypes.sgml:
25338         * gst/base/gstadapter.h:
25339         * gst/base/gstbasesink.h:
25340         * gst/base/gstbasesrc.h:
25341         * gst/gstbin.h:
25342         * gst/gstbuffer.h:
25343         * gst/gstbus.h:
25344         * gst/gstcaps.h:
25345         * gst/gstclock.h:
25346         * gst/gstelement.h:
25347         * gst/gstevent.h:
25348         * gst/gstmessage.h:
25349         * gst/gstpad.h:
25350         * gst/gststructure.c:
25351         * gst/registries/gstlibxmlregistry.h:
25352           various documentation fixes
25353
25354 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25355
25356         * docs/gst/gstreamer-sections.txt:
25357         * docs/gst/tmpl/gstvalue.sgml:
25358           rearrange gstvalue section
25359         * gst/gstutils.c: (gst_element_state_get_name):
25360           NONE -> VOID
25361         * gst/gstvalue.c: (_gst_value_initialize):
25362         * gst/gstvalue.h:
25363           doc updates
25364
25365 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
25366
25367         * check/gst-libs/controller.c:
25368           Header include fix.
25369         * gst/base/gstbasetransform.c:
25370         (gst_base_transform_default_prepare_buf),
25371         (gst_base_transform_handle_buffer):
25372         * gst/base/gstbasetransform.h:
25373           Some more basetransform changes and fixes to enable sub-classes
25374           that modify buffer metadata only.
25375         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
25376         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
25377         (gst_capsfilter_prepare_buf):
25378           If the output pad has fixed allowed caps and input buffers 
25379           don't have any, set the fixed caps on outgoing buffers.
25380
25381 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
25382         * check/elements/identity.c: (GST_START_TEST):
25383           Make the error a little clearer when the test fails because
25384           identity made a copy of the buffer.
25385         * docs/gst/gstreamer-sections.txt:
25386           New symbols in gstbasetransform.h
25387         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25388         (gst_base_transform_init), (gst_base_transform_transform_size),
25389         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
25390         (gst_base_transform_default_prepare_buf),
25391         (gst_base_transform_get_unit_size),
25392         (gst_base_transform_buffer_alloc),
25393         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
25394         (gst_base_transform_change_state),
25395         (gst_base_transform_set_passthrough),
25396         (gst_base_transform_set_in_place),
25397         (gst_base_transform_is_in_place):
25398         * gst/base/gstbasetransform.h:
25399           Change BaseTransform to separate in_place operate from same_caps
25400           output. in_place implies that the element can perform the transform
25401           on incoming buffers in-place, even if the caps on the output are
25402           different.
25403           Sub-class elements can now implement special buffer allocation
25404           methods for outgoing buffers if they wish to.
25405           Big documentation addition.
25406         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
25407         * gst/elements/gstelements.c:
25408           Changes for basetransform modifications.
25409         * gst/elements/Makefile.am:
25410         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
25411           Compile fix. Extra debug output.
25412
25413 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25414
25415         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
25416         (gst_pad_suite):
25417           add tests for valid pad naming
25418         * gst/check/gstcheck.c: (gst_check_log_message_func),
25419         (gst_check_log_critical_func):
25420           add ASSERT_WARNING
25421           remove printing of code, it is fragile when the code contains
25422           % and the line number is enough info
25423         * gst/check/gstcheck.h:
25424         * gst/gstpad.c: (gst_pad_template_new):
25425           fix memleaks
25426
25427 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25428
25429         * configure.ac:
25430           say what CHECK flags we use
25431         * docs/libs/gstreamer-libs.types:
25432         * libs/gst/controller/Makefile.am:
25433         * libs/gst/controller/gst-controller.c:
25434         * libs/gst/controller/gst-controller.h:
25435         * libs/gst/controller/gst-helper.c:
25436         * libs/gst/controller/gst-interpolation.c:
25437         * libs/gst/controller/gstcontroller.c:
25438         * libs/gst/controller/gsthelper.c:
25439         * libs/gst/controller/gstinterpolation.c:
25440         * tools/gst-inspect.c: (print_plugin_info):
25441           we don't use dashes in header names
25442
25443 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25444
25445         * check/Makefile.am:
25446         * check/gst/.cvsignore:
25447         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
25448         (gst_pipeline_suite), (main):
25449           adding a test for pipelines and state changes
25450         * gst/gstutils.c: (get_state_func):
25451           add some debugging
25452         * gstreamer.spec.in:
25453           fix up spec file
25454
25455 2005-09-08  Michael Smith <msmith@fluendo.com>
25456
25457         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
25458         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
25459         (gst_file_src_is_seekable), (gst_file_src_get_size),
25460         (gst_file_src_start):
25461         * gst/elements/gstfilesrc.h:
25462           Various fixes for unseekable, unmmapable, and non-normal files, so
25463           that fallback to read() rather than mmap() works.
25464         * gst/gstevent.c: (gst_event_new_newsegment):
25465           Allow newsegment events with segment_start == segment_end, as will
25466           correctly happen if you use filesrc on a zero-size file, for
25467           example.
25468
25469 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
25470
25471         * gst/gstplugin.c: (gst_plugin_load_file):
25472           Call g_module_close when we don't load the module
25473
25474         * gst/registries/gstlibxmlregistry.c:
25475         (gst_xml_registry_get_property):
25476           Port leak fix from 0.8
25477
25478 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25479
25480         * docs/gst/gstreamer-docs.sgml:
25481         * docs/gst/tmpl/.cvsignore:
25482         * docs/gst/tmpl/gsttrace.sgml:
25483         * docs/gst/tmpl/gsttrashstack.sgml:
25484         * gst/Makefile.am:
25485         * gst/gst.h:
25486         * gst/gstelement.h:
25487         * gst/gstevent.h:
25488         * gst/gstmessage.c:
25489         * gst/gstmessage.h:
25490         * gst/gsttag.c:
25491         * gst/gsttag.h:
25492         * gst/gsttaginterface.c:
25493         * gst/gsttaginterface.h:
25494         * gst/gsttaglist.c:
25495         * gst/gsttaglist.h:
25496         * gst/gsttagsetter.c:
25497         * gst/gsttagsetter.h:
25498         * gst/gsttrace.c:
25499         * gst/gsttrace.h:
25500         * gst/gsttrashstack.c:
25501           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
25502           inlined docs for gsttrace, gsttrashstack
25503
25504 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25505
25506         * gst/Makefile.am:
25507         * gst/elements/gstbufferstore.h:
25508         * gst/elements/gsttypefindelement.c:
25509         * gst/elements/gsttypefindelement.h:
25510         * gst/gst.h:
25511         * gst/gsttypefind.c:
25512         * gst/gsttypefind.h:
25513         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
25514         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
25515         (gst_type_find_factory_dispose),
25516         (gst_type_find_factory_unload_thyself),
25517         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
25518         (gst_type_find_factory_get_caps),
25519         (gst_type_find_factory_get_extensions),
25520         (gst_type_find_factory_call_function):
25521         * gst/gsttypefindfactory.h:
25522         * gst/registries/gstlibxmlregistry.c:
25523         * gst/registries/gstxmlregistry.c:
25524           splitted gsttypefind into gsttypefind, gsttypefindfactory
25525
25526 2005-09-07  Andy Wingo  <wingo@pobox.com>
25527
25528         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
25529         condition whereby the pad's task function is entered before the
25530         pad_mode variable was set.
25531
25532 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
25533
25534         * gst/gstpad.c: (gst_pad_alloc_buffer):
25535           Catch misbehaving pad_alloc functions that don't
25536           set up caps and do it for them.
25537
25538 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25539
25540         * check/pipelines/simple_launch_lines.c: (run_pipeline):
25541           test for pipe!=NULL
25542         * docs/gst/tmpl/.cvsignore:
25543         * docs/gst/tmpl/gstmemchunk.sgml:
25544         * docs/gst/tmpl/gstparse.sgml:
25545         * docs/gst/tmpl/gsttaglist.sgml:
25546         * docs/gst/tmpl/gsttagsetter.sgml:
25547         * docs/gst/tmpl/gsttypefind.sgml:
25548         * docs/gst/tmpl/gsttypefindfactory.sgml:
25549         * gst/gstmemchunk.c:
25550         * gst/gstparse.c:
25551         * gst/gsttag.c:
25552         * gst/gsttaginterface.c:
25553         * gst/gsttypefind.c:
25554         * gst/gsttypefind.h:
25555           inlined more docs
25556
25557 === release 0.9.2 ===
25558
25559 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
25560
25561         * NEWS:
25562         * RELEASE:
25563         * configure.ac:
25564           releasing 0.9.2, "South"
25565
25566 2005-09-05  Andy Wingo  <wingo@pobox.com>
25567
25568         * gst/registries/gstxmlregistry.h:
25569         * gst/registries/gstxmlregistry.c: Um... resurrect...
25570         
25571         * gst/registries/gstxmlregistry.h:
25572         * gst/registries/gstxmlregistry.c: and update to newer API.
25573         Incidentally they should be a bit faster now that they don't have
25574         to parse the caps.
25575         
25576 2005-09-05  Andy Wingo  <wingo@pobox.com>
25577
25578         * gst/registries/gstxmlregistry.h:
25579         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
25580         replaced by the libxml registry a while back
25581
25582 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
25583
25584         * docs/gst/tmpl/gstplugin.sgml:
25585         * gst/elements/gstelements.c:
25586         * gst/gst.c:
25587         * gst/gstplugin.c: (gst_plugin_register_func),
25588         (gst_plugin_desc_copy), (gst_plugin_desc_free),
25589         (gst_plugin_get_source):
25590         * gst/gstplugin.h:
25591         * gst/registries/gstlibxmlregistry.c: (load_plugin),
25592         (gst_xml_registry_save_plugin):
25593         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
25594         (gst_xml_registry_save_plugin):
25595         * tools/gst-inspect.c: (print_plugin_info):
25596           add a "source" plugin description field, to represent the source
25597           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
25598           will set it to PACKAGE, which is automake's idea of the name of
25599           the source project.
25600
25601 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
25602
25603         * Makefile.am:
25604         * autogen.sh:
25605         * configure.ac:
25606         * docs/Makefile.am:
25607         * docs/faq/Makefile.am:
25608         * docs/gst/tmpl/gstelement.sgml:
25609         * docs/gst/tmpl/gsttypes.sgml:
25610         * docs/htmlinstall.mak:
25611         * docs/manual/Makefile.am:
25612         * docs/pwg/Makefile.am:
25613           reorganize doc build a little
25614           split out docbook and gtk-doc stuff
25615           have two separate --enable's and enable them through autogen
25616           but disable by default in configure (to be similar to other
25617           projects)
25618         * gstreamer.spec.in:
25619           clean up docs install
25620         * po/af.po:
25621         * po/az.po:
25622         * po/ca.po:
25623         * po/cs.po:
25624         * po/de.po:
25625         * po/en_GB.po:
25626         * po/fr.po:
25627         * po/it.po:
25628         * po/nb.po:
25629         * po/nl.po:
25630         * po/ru.po:
25631         * po/sq.po:
25632         * po/sr.po:
25633         * po/sv.po:
25634         * po/tr.po:
25635         * po/uk.po:
25636         * po/vi.po:
25637           translation updates
25638
25639 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
25640
25641         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
25642           Add comment.
25643           
25644         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
25645         (gst_fake_sink_change_state):
25646           Make state change function thread-safe.
25647           
25648         * gst/gstpad.c: (gst_pad_alloc_buffer):
25649           Set offset on generic buffer allocated by fallback.
25650
25651 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
25652
25653         * docs/gst/gstreamer-sections.txt:
25654         * docs/gst/tmpl/gstelement.sgml:
25655         * gst/gstpad.c:
25656         * libs/gst/controller/gst-controller.c:
25657         (gst_controlled_property_set_interpolation_mode),
25658         (gst_controlled_property_new),
25659         (gst_controller_find_controlled_property):
25660          run the wingo-magic script against the docs
25661
25662 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
25663
25664         * docs/gst/gstreamer-docs.sgml:
25665         * docs/gst/gstreamer-sections.txt:
25666         * docs/gst/tmpl/.cvsignore:
25667         * docs/gst/tmpl/gstelementdetails.sgml:
25668         * docs/gst/tmpl/gstelementfactory.sgml:
25669         * gst/gst.c:
25670         * gst/gstbus.c:
25671         * gst/gstelementfactory.c:
25672         * gst/gstelementfactory.h:
25673           merged elementdetails docs into elementfactory docs
25674           inlined both
25675
25676 2005-09-02  Andy Wingo  <wingo@pobox.com>
25677
25678         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
25679         consider this enum an enum and not a flags.
25680
25681 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
25682
25683         * docs/gst/gstreamer-docs.sgml:
25684         * docs/gst/tmpl/.cvsignore:
25685         * docs/gst/tmpl/gstghostpad.sgml:
25686         * docs/gst/tmpl/gstiterator.sgml:
25687         * docs/gst/tmpl/gstmacros.sgml:
25688         * docs/gst/tmpl/gstrealpad.sgml:
25689         * docs/gst/tmpl/gstregistry.sgml:
25690         * docs/gst/tmpl/gstregistrypool.sgml:
25691         * docs/gst/tmpl/gststructure.sgml:
25692         * docs/gst/tmpl/gstsystemclock.sgml:
25693         * docs/gst/tmpl/gsttrace.sgml:
25694         * gst/gstghostpad.c:
25695         * gst/gstmacros.h:
25696         * gst/gstmemchunk.c:
25697         * gst/gstmemchunk.h:
25698         * gst/gstqueue.c:
25699         * gst/gstregistry.c:
25700         * gst/gstregistrypool.c:
25701         * gst/gststructure.c:
25702         * gst/gstsystemclock.c:
25703           more docs inlined
25704
25705 2005-09-02  Andy Wingo  <wingo@pobox.com>
25706
25707         * gst/gstelement.h (GstState): Renamed from GstElementState,
25708         changed to be a normal enum instead of flags.
25709         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
25710         munged to be GST_STATE_CHANGE_*.
25711         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
25712         work with the new state representation.
25713         (GstStateChange): New enumeration of possible state transitions.
25714         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
25715         (GstElementClass::change_state): Pass the GstStateChange along as
25716         an argument. Helps language bindings, so they don't have to use
25717         tricky lock-needing macros like GST_STATE_CHANGE ().
25718
25719         * scripts/update-states (file): New script. Run it on a file to
25720         update it for state naming and API changes. Updates files in
25721         place.
25722
25723         * All files updated for the new API.
25724
25725 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
25726
25727         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
25728         * gst/gstutils.c: (gst_util_set_value_from_string),
25729         (gst_util_set_object_arg):
25730           fix a bunch of unchecked return values
25731         * tools/gst-complete.c: (main):
25732         * gstreamer.spec.in:
25733           clean up a little
25734
25735 2005-09-01  Wim Taymans  <wim@fluendo.com>
25736
25737         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25738         (gst_base_sink_event), (gst_base_sink_do_sync),
25739         (gst_base_sink_handle_event):
25740         * gst/base/gstbasesink.h:
25741         Handle newsegments more correctly.
25742
25743         * gst/gstbus.c:
25744         Fix docs.
25745
25746         * gst/gstevent.c: (gst_event_new_newsegment):
25747         A newsegment cannot have a start_time of -1
25748
25749 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
25750
25751         * win32/gstenumtypes.c:
25752         * win32/gstenumtypes.h:
25753           Update
25754
25755 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
25756
25757         * libs/gst/controller/gst-controller.c:
25758         (gst_controlled_property_set_interpolation_mode),
25759         (gst_controlled_property_new):
25760          fixed boolean again
25761
25762 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
25763
25764         * docs/faq/gst-uninstalled:
25765           add -good
25766         * gst/gstevent.c:
25767         * gst/gstevent.h:
25768           remove wrong docs
25769         * gst/gstutils.c: (gst_element_link_filtered):
25770         * gst/gstutils.h:
25771           add gst_element_link_filtered
25772
25773 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
25774
25775         * docs/gst/gstreamer-docs.sgml:
25776         * docs/gst/gstreamer-sections.txt:
25777         * docs/gst/tmpl/.cvsignore:
25778         * docs/gst/tmpl/gsterror.sgml:
25779         * docs/gst/tmpl/gstfilter.sgml:
25780         * docs/gst/tmpl/gsturihandler.sgml:
25781         * docs/gst/tmpl/gsturitype.sgml:
25782         * docs/gst/tmpl/gstutils.sgml:
25783         * docs/gst/tmpl/gstxml.sgml:
25784         * gst/gsterror.c:
25785         * gst/gsterror.h:
25786         * gst/gstfilter.c:
25787         * gst/gsturi.c:
25788         * gst/gsturitype.c:
25789         * gst/gstutils.c:
25790         * gst/gstxml.c:
25791           inlined more docs, fixed double id-ref
25792
25793 2005-08-31  Wim Taymans  <wim@fluendo.com>
25794
25795         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
25796         (gst_base_transform_handle_buffer):
25797         Passthrough elements don't need the caps as they don't care.
25798
25799 2005-08-31  Wim Taymans  <wim@fluendo.com>
25800
25801         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
25802         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
25803         Don't leak refcounts on buffers.
25804
25805 2005-08-31  Wim Taymans  <wim@fluendo.com>
25806
25807         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
25808         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
25809         (gst_base_transform_chain), (gst_base_transform_change_state):
25810         * gst/base/gstbasetransform.h:
25811         Handle the case where we are not negotiated more gracefully.
25812
25813 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
25814
25815         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
25816         (gst_file_src_map_region):
25817           Set READONLY flag on mmap'ed buffers, otherwise
25818           gst_buffer_make_writable() won't work properly (#314708).
25819
25820 2005-08-31  Wim Taymans  <wim@fluendo.com>
25821
25822         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
25823         passthrough elements can even do inplace on non writable
25824         buffers (as they don't touch them).
25825
25826 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
25827
25828         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
25829         (gst_test_mono_source_set_property),
25830         (gst_test_mono_source_class_init), (GST_START_TEST),
25831         (gst_controller_suite):
25832           more tests (hehe I have the most)
25833         * gst/gstbus.c:
25834           describe popping messages whenusing mulltiple sources
25835         * libs/gst/controller/gst-controller.c:
25836         (gst_controlled_property_set_interpolation_mode),
25837         (gst_controlled_property_new):
25838         * libs/gst/controller/gst-controller.h:
25839         * libs/gst/controller/gst-interpolation.c:
25840           implement boolean properties
25841
25842 2005-08-31  Wim Taymans  <wim@fluendo.com>
25843
25844         * gst/gstminiobject.c: (gst_mini_object_ref):
25845         Cannot assert that the refcount has to be positive
25846         since a disposed object can be resurrected.
25847
25848 2005-08-31  Wim Taymans  <wim@fluendo.com>
25849
25850         * gst/gstpad.c: (gst_pad_init):
25851         Revert change, need to first fix badly behaving 
25852         apps.
25853
25854 2005-08-30  Wim Taymans  <wim@fluendo.com>
25855
25856         * check/elements/fakesrc.c: (setup_fakesrc):
25857         * check/elements/identity.c: (setup_identity):
25858         Activate pads before using them.
25859
25860 2005-08-30  Wim Taymans  <wim@fluendo.com>
25861
25862         * gst/base/gstadapter.c: (gst_adapter_flush):
25863         Flushing out 0 bytes is ok for this function.
25864
25865         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
25866         no newsegment gives a warning and sets the start/stop to 
25867         invalid.
25868
25869         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
25870         (gst_base_transform_set_passthrough):
25871         Some debug info.
25872
25873         * gst/gstminiobject.c: (gst_mini_object_ref):
25874         Check refcount here too.
25875
25876         * gst/gstpad.c: (gst_pad_init):
25877         Pads are initially flushing and refusing data.
25878
25879         * gst/gstutils.c: (gst_element_link_pads_filtered):
25880         When adding a capsfilter element make sure it has the
25881         same state as the parent bin.
25882
25883 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
25884
25885         * docs/gst/tmpl/.cvsignore:
25886         * docs/gst/tmpl/gstformat.sgml:
25887         * docs/gst/tmpl/gstversion.sgml:
25888         * gst/gstbus.h:
25889         * gst/gstformat.c:
25890         * gst/gstformat.h:
25891         * gst/gstversion.h.in:
25892           more docs and two more inlined
25893
25894 2005-08-30  Wim Taymans  <wim@fluendo.com>
25895
25896         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
25897         Don't sync to clock.
25898
25899 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
25900
25901         * docs/gst/gstreamer-sections.txt:
25902           ultral33t func10ns deserve to appear in the docs actually
25903         * docs/gst/tmpl/.cvsignore:
25904         * docs/gst/tmpl/gstcompat.sgml:
25905         * docs/gst/tmpl/gstconfig.sgml:
25906         * gst/check/gstcheck.c:
25907         * gst/gstcompat.h:
25908         * gst/gstconfig.h.in:
25909           inlined more docs
25910
25911 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
25912
25913         * docs/gst/tmpl/.cvsignore:
25914         * docs/gst/tmpl/gstquery.sgml:
25915         * docs/gst/tmpl/gstutils.sgml:
25916         * gst/gstquery.c:
25917         * gst/gstquery.h:
25918           inlined and extended docs
25919
25920 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
25921
25922         * check/gst-libs/controller.c: (GST_START_TEST),
25923         (gst_controller_suite):
25924           more tests
25925         * docs/gst/tmpl/gstutils.sgml:
25926         * docs/libs/gstreamer-libs-sections.txt:
25927         * docs/libs/tmpl/gstdataprotocol.sgml:
25928           include path fixes
25929         * examples/controller/audio-example.c: (main):
25930           controller example works now
25931         * gst/gstclock.h:
25932           doc fixes
25933         * tools/gst-inspect.c: (print_element_properties_info):
25934           show param spec flags
25935
25936 2005-08-29  Andy Wingo  <wingo@pobox.com>
25937
25938         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
25939
25940 2005-08-28  Andy Wingo  <wingo@pobox.com>
25941
25942         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
25943         as having two arguments instead of just one. Allows superclasses
25944         to access information on subclasses -- see the terrible for() loop
25945         in gtype.c:g_type_create_instance for the reason why. All callers
25946         changed.
25947
25948 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
25949
25950         * docs/design/part-messages.txt:
25951           update info
25952         * docs/gst/tmpl/.cvsignore:
25953         * docs/gst/tmpl/gstcaps.sgml:
25954         * docs/gst/tmpl/gstclock.sgml:
25955         * gst/gstbus.c:
25956         * gst/gstcaps.c:
25957         * gst/gstcaps.h:
25958         * gst/gstclock.c:
25959         * gst/gstclock.h:
25960         * gst/gstmessage.c:
25961           added descriptions for bus and message
25962           inline caps and clock docs
25963
25964 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
25965
25966         * gst/gstmessage.c:
25967         * gst/gstmessage.h:
25968           doc fixes
25969
25970 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
25971
25972         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
25973           fix div-by-zero
25974
25975 2005-08-26  Andy Wingo  <wingo@pobox.com>
25976
25977         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
25978         element_set_state's return val.
25979         (test_2_elements): Add test that's been disabled for months.
25980
25981         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
25982         can-activate-pull properties.
25983
25984         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
25985         can-activate-pull properties. Implement is_seekable so fakesrc can
25986         operate in pull mode.
25987
25988         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
25989         properties.
25990         (gst_base_sink_activate, gst_base_sink_activate_pull)
25991         (gst_base_sink_activate_push): Make activation mode choosing work.
25992         Cleanups.
25993         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
25994         is right. Make pull mode work. Post an eos before pausing in pull
25995         mode.
25996         (gst_base_sink_change_state): Pay attention to the core's
25997         change_state() return val.
25998         
25999         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
26000         has-getrange properties. Cleanups.
26001         
26002         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
26003         has_getrange and replace with can_activate_pull and
26004         can_activate_push.
26005
26006         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
26007         locking comments. Remove has_loop, has_chain and replace with
26008         can_activate_pull and can_activate_push.
26009
26010 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
26011
26012         * configure.ac:
26013         * examples/Makefile.am:
26014         * examples/metadata/Makefile.am:
26015         * examples/metadata/read-metadata.c: (message_loop),
26016         (have_pad_handler), (make_pipeline), (print_tag), (main):
26017           Add metadata reading example that loops over a list of filenames,
26018           dumping any tags found.
26019
26020         * gst/gstbus.c: (gst_bus_dispose):
26021         * gst/gstelement.c: (gst_element_dispose):
26022           Release a few potentially-held references in dispose.
26023
26024 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26025
26026         * docs/gst/tmpl/gstminiobject.sgml:
26027           do *not* add tmpl/*.sgml files to CVS!
26028
26029 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26030
26031         * libs/gst/bytestream/.cvsignore:
26032         * libs/gst/bytestream/Makefile.am:
26033         * libs/gst/bytestream/adapter.c:
26034         * libs/gst/bytestream/adapter.h:
26035         * libs/gst/bytestream/bytestream.c:
26036         * libs/gst/bytestream/bytestream.h:
26037         * libs/gst/bytestream/filepad.c:
26038         * libs/gst/bytestream/filepad.h:
26039           removing obsolete files
26040
26041 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26042
26043         * docs/gst/gstreamer-docs.sgml:
26044         * docs/libs/gstreamer-libs-docs.sgml:
26045           disabed additional index entries again, as this makes docs-gen just
26046           slow and they aren't useful yet
26047         * docs/libs/gstreamer-libs-sections.txt:
26048           little -section.txt cleanup for libs
26049
26050 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
26051
26052         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26053         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
26054           fix up some debugging
26055         (gst_base_transform_get_unit_size),
26056         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
26057         (gst_base_transform_handle_buffer):
26058         * gst/base/gstbasetransform.h:
26059           handle and store timed NEWSEGMENT events so that subclasses that
26060           calculate time by counting samples have a segment_start time they
26061           need to add to their timestamps - see audioresample
26062
26063 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26064
26065         * gst/gstbin.h:
26066           removed ';' from the end of macro defs
26067         * docs/gst/gstreamer-docs.sgml:
26068         * docs/gst/gstreamer-sections.txt:
26069         * docs/gst/tmpl/.cvsignore:
26070         * gst/gstbus.h:
26071         * gst/gstelement.c: (gst_element_class_init),
26072         (gst_element_set_state), (activate_pads),
26073         (gst_element_save_thyself):
26074         * gst/gstevent.c: (gst_event_new_newsegment):
26075         * gst/gstevent.h:
26076         * gst/gstiterator.c:
26077         * gst/gstiterator.h:
26078         * gst/gstpad.c:
26079         * gst/gstprobe.h:
26080         * gst/gstutils.c: (gst_pad_query_convert):
26081         * gst/gstutils.h:
26082           fixed parameter name mismatches between source, header and docs
26083           added some more docs, resolved the last batch of unused elements in
26084           docs (now someone needs to doc them)
26085
26086 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
26087
26088         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
26089         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
26090           don't walk through the plugins backwards.  Where is all this
26091           reversed logic coming from ?
26092
26093 2005-08-25  Wim Taymans  <wim@fluendo.com>
26094
26095         * gst/base/gstbasetransform.c: (gst_base_transform_init),
26096         (gst_base_transform_transform_size),
26097         (gst_base_transform_configure_caps),
26098         (gst_base_transform_get_unit_size),
26099         (gst_base_transform_buffer_alloc),
26100         (gst_base_transform_change_state):
26101         * gst/base/gstbasetransform.h:
26102         Cache caps unit_size.
26103         Make sure we cannot negotiate up and downstream at the
26104         same time.
26105
26106 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
26107
26108         * gst/gst.c: (init_pre), (init_post):
26109           register the installed plugin path after the env var
26110         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
26111         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
26112           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
26113           directories, so the tests can prefer uninstalled over installed
26114
26115 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
26116
26117         * gst/base/gstbasetransform.h:
26118           comment
26119         * gst/gstpad.c:
26120           add to docs
26121
26122 2005-08-25  Wim Taymans  <wim@fluendo.com>
26123
26124         * gst/gstbin.c: (bin_bus_handler):
26125         Be a bit more conservative about the posted message.
26126         
26127         * gst/gstbus.c: (gst_bus_post):
26128         Some cleanups, warn wrong return values.
26129
26130 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
26131
26132         * check/gst/gstbin.c: (GST_START_TEST):
26133         * gst/gstbin.c: (bin_bus_handler):
26134         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26135         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26136         (gst_message_new_warning), (gst_message_new_tag),
26137         (gst_message_new_state_changed), (gst_message_new_segment_start),
26138         (gst_message_new_segment_done), (gst_message_new_custom):
26139         * gst/gstmessage.h:
26140         * tools/gst-launch.c: (event_loop):
26141         * tools/gst-md5sum.c: (event_loop):
26142           Revert unpopular change for GST_MESSAGE_SRC to GObject.
26143
26144 2005-08-25  Wim Taymans  <wim@fluendo.com>
26145
26146         * check/generic/states.c: (GST_START_TEST):
26147         Cleanup can be done at the end.
26148
26149         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
26150         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26151         (gst_task_get_state), (gst_task_start), (gst_task_pause):
26152         Oh boy.. Thanks for finding this, Thomas. 
26153
26154 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
26155
26156         * docs/gst/gstreamer.types:
26157           added missing types
26158
26159 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
26160
26161         * docs/gst/gstreamer-docs.sgml:
26162         * docs/gst/gstreamer-sections.txt:
26163         * docs/gst/tmpl/.cvsignore:
26164         * gst/gstbin.c:
26165         * gst/gstiterator.c:
26166         * gst/gstutils.c:
26167         * gst/registries/gstxmlregistry.h:
26168           added missing classes and symbols (123 more to go)
26169           removed removed symbols from section file
26170           fixed many doc-comments
26171
26172 2005-08-24  Wim Taymans  <wim@fluendo.com>
26173
26174         * check/generic/states.c: (GST_START_TEST):
26175         Make sure all tasks are stopped.
26176
26177         * check/gst/gstbin.c: (GST_START_TEST):
26178         Unref after usage for proper valgrinding.
26179
26180         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
26181         Really wait for the task to stop before destroying the
26182         mutex.
26183
26184         * gst/gstqueue.c: (gst_queue_sink_activate_push),
26185         (gst_queue_src_activate_push):
26186         Small cleanups. Don't stop the task when we did not start
26187         it.
26188
26189         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
26190         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26191         (gst_task_get_state), (gst_task_start), (gst_task_pause),
26192         (gst_task_join):
26193         * gst/gsttask.h:
26194         Protect the stream lock with the object lock.
26195         Disallow setting the stream lock when running.
26196         Add cleanup_all to wait for the threadpool to finish.
26197         Remove code to autoallocate a mutex if none was provided.
26198         Add _join() to wait for a task to stop.
26199         Protect the thread pool with a global lock.
26200
26201 2005-08-24  Wim Taymans  <wim@fluendo.com>
26202
26203         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26204         (gst_base_sink_get_times), (gst_base_sink_do_sync),
26205         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
26206         * gst/base/gstbasesink.h:
26207         Handle newsegment events correctly.
26208         Drop buffers out of the segment range.
26209
26210 2005-08-22  Andy Wingo  <wingo@pobox.com>
26211
26212         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
26213         macro, implements an interface and gstimplementsinterface for a
26214         new type.
26215
26216 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
26217
26218         * check/Makefile.am:
26219         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
26220           add a test that does a bunch of state changes on elements
26221           needs some fixing for valgrind
26222         * check/states/sinks.c: (gst_object_suite):
26223           whitespace
26224         * gst/gstcaps.h:
26225           add prototype for gst_caps_is_equal_fixed
26226         * gst/gstplugin.c:
26227         * gst/gstregistrypool.c:
26228           doc fixes
26229
26230 2005-08-24  Andy Wingo  <wingo@pobox.com>
26231
26232         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
26233         convert a negative value. Doesn't make much sense. Mostly this is
26234         here to force callers to ensure -1 maps to -1.
26235
26236 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
26237
26238         * docs/pwg/advanced-types.xml:
26239           Well done to Michael for catching my deliberate introduction
26240           of this spelling mistake. 
26241         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
26242         * gst/gstelement.h:
26243           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
26244           unlink pads before removing the element from the bin.
26245
26246 2005-08-24  Andy Wingo  <wingo@pobox.com>
26247
26248         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
26249         the same thing as GST_DEBUG=*:4.
26250         (parse_debug_level, parse_debug_category): New helper parsers.
26251
26252 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
26253
26254         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26255         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
26256         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
26257         (gst_base_transform_buffer_alloc),
26258         (gst_base_transform_handle_buffer):
26259           use gboolean return values and pointers to size so we can use the
26260           full GST_BUFFER_SIZE range (guint) for buffer sizes
26261           use GstPadDirection for transform_caps
26262         * gst/base/gstbasetransform.h:
26263           rename get_size to get_unit_size since that's what it is
26264         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
26265           use GstPadDirection for transform_caps
26266         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26267         * gst/gstutils.h:
26268           cleanup and debugging
26269
26270 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
26271
26272         * gst/gstelement.c: (gst_element_class_init),
26273         (gst_element_set_state), (activate_pads),
26274         (gst_element_save_thyself):
26275         * tools/gst-compprep.c: (main):
26276         * tools/gst-inspect.c: (print_element_properties_info):
26277         * tools/gst-xmlinspect.c: (print_element_properties):
26278           Fixed long standing mem-leak
26279
26280 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
26281
26282         * check/gst/gstbin.c: (GST_START_TEST):
26283         * gst/gstbin.c: (bin_bus_handler):
26284         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26285         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26286         (gst_message_new_warning), (gst_message_new_tag),
26287         (gst_message_new_state_changed), (gst_message_new_segment_start),
26288         (gst_message_new_segment_done), (gst_message_new_custom):
26289         * gst/gstmessage.h:
26290         * tools/gst-launch.c: (event_loop):
26291         * tools/gst-md5sum.c: (event_loop):
26292           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
26293           that applications can sensibly post custom messages with references
26294           to their own objects.
26295
26296 2005-08-24  Andy Wingo  <wingo@pobox.com>
26297
26298         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
26299         already.
26300
26301 2005-08-24  Wim Taymans  <wim@fluendo.com>
26302
26303         * gst/base/gstbasetransform.c: (gst_base_transform_init),
26304         (gst_base_transform_transform_caps),
26305         (gst_base_transform_transform_size),
26306         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
26307         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
26308         (gst_base_transform_handle_buffer):
26309         * gst/base/gstbasetransform.h:
26310         Many fixes and new features added by Thomas. Can now also do
26311         transforms with variable sizes and a custom fixate_caps function.
26312
26313 2005-08-24  Wim Taymans  <wim@fluendo.com>
26314
26315         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26316         Some debugging.
26317
26318         * gst/gstclock.h:
26319         Cast to ClockTime before formatting to time.
26320
26321         * gst/gstutils.h:
26322         Cleanups.
26323
26324 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
26325
26326         * check/gst-libs/controller.c: (GST_START_TEST),
26327         (gst_controller_suite):
26328         * docs/gst/tmpl/gstcaps.sgml:
26329         * docs/gst/tmpl/gstghostpad.sgml:
26330         * docs/gst/tmpl/gstquery.sgml:
26331         * docs/gst/tmpl/gstutils.sgml:
26332         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
26333         (gst_object_sink_values), (gst_object_get_value_arrays),
26334         (gst_object_get_value_array):
26335           gracefully handle helper method calls to objects that are not beeing
26336           controlled, added test case for that          
26337
26338 2005-08-23  Wim Taymans  <wim@fluendo.com>
26339
26340         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
26341         (gst_event_new_newsegment), (gst_event_parse_newsegment),
26342         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
26343         (gst_event_parse_qos), (gst_event_new_seek),
26344         (gst_event_parse_seek):
26345         * gst/gstevent.h:
26346         Some more debugging output and doc cleanups.
26347
26348         * gst/gstqueue.c: (gst_queue_handle_sink_event):
26349         Fix possible deadlock.
26350
26351 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26352
26353         * docs/gst/gstreamer-docs.sgml:
26354         * docs/gst/gstreamer-sections.txt:
26355         * docs/gst/gstreamer.types:
26356         * docs/gst/tmpl/.cvsignore:
26357         * gst/gstbin.h:
26358         * gst/gstbus.c:
26359         * gst/gstelement.c:
26360         * gst/gstevent.h:
26361           added 100 symbols from gstreamer-unused.txt to the right sections
26362           fixed more broken comments
26363           added GstBus to docs
26364
26365 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26366
26367         * docs/gst/gstreamer-sections.txt:
26368         * docs/gst/tmpl/.cvsignore:
26369         * docs/gst/tmpl/gstbin.sgml:
26370         * docs/gst/tmpl/gstbuffer.sgml:
26371         * gst/base/gstbasesrc.c:
26372         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
26373         * gst/gstbuffer.c:
26374         * gst/gstbuffer.h:
26375         * tools/gst-launch.1.in:
26376           inlined more doc comments, added missing comments and fixed comments
26377           fixed typos
26378
26379 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
26380
26381         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26382           some debugging
26383         * gst/gstcaps.h:
26384           whitespace fixes
26385         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
26386           more debugging
26387         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
26388         * gst/gststructure.h:
26389           add a fixate function for booleans; add a FIXME that these func
26390           names should probably be gst_structure_fixate_*
26391
26392 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26393
26394         * docs/gst/gstreamer-docs.sgml:
26395         * docs/gst/gstreamer-sections.txt:
26396         * gst/Makefile.am:
26397         * gst/gstbin.c: (gst_bin_get_type),
26398         (gst_bin_child_proxy_get_child_by_index),
26399         (gst_bin_child_proxy_get_children_count),
26400         (gst_bin_child_proxy_init):
26401         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
26402         (gst_child_proxy_get_child_by_index),
26403         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
26404         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
26405         (gst_child_proxy_get), (gst_child_proxy_set_property),
26406         (gst_child_proxy_set_valist), (gst_child_proxy_set),
26407         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
26408         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
26409         * gst/gstchildproxy.h:
26410         * gst/parse/grammar.y:
26411         * tools/gst-inspect.c: (print_interfaces),
26412         (print_element_properties_info), (print_element_info):
26413           ported gstchildproxy over from 0.8
26414           ported gst-inspect fixes and enhancements over from 0.8
26415
26416 2005-08-22  Wim Taymans  <wim@fluendo.com>
26417
26418         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26419         (gst_base_transform_handle_buffer):
26420         Also call the transform function if we have ANY caps.
26421
26422         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
26423         Fix debug info.
26424
26425 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
26426
26427         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
26428           Don't pretend to handle seek events if the source is not seekable
26429
26430 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
26431
26432         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26433           Remove extra parameter to debug output
26434
26435         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26436         (gst_base_src_do_seek), (gst_base_src_activate_push):
26437           Fix seek event handling.
26438
26439         * gst/gstpipeline.c: (gst_pipeline_change_state):
26440         * gst/gstqueue.c: (gst_queue_handle_sink_event),
26441         (gst_queue_src_activate_push):
26442           Don't start the src pad task on FLUSH_STOP if the pad
26443           isn't linked.
26444           Debug changes.
26445
26446 2005-08-22  Wim Taymans  <wim@fluendo.com>
26447
26448         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
26449         Added check for gst_static_caps_get() refcounting.
26450
26451 2005-08-22  Wim Taymans  <wim@fluendo.com>
26452
26453         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
26454         Make _static_caps_get() refcounting sane.
26455         
26456         * gst/gstelement.c: (gst_element_set_state):
26457         Add g_return_val_if_fail() to protect against segfaults.
26458
26459 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
26460
26461         * docs/gst/tmpl/gstevent.sgml:
26462         * gst/gstevent.c:
26463         * gst/gstevent.h:
26464           inlined remaining docs, added missing doc comments
26465
26466 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
26467
26468         * check/gst/gstbin.c: (GST_START_TEST):
26469           since we don't know when preroll is done, use refcount range
26470           check for the sink
26471         * gst/check/gstcheck.h:
26472           add macro for checking refcount range
26473
26474 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
26475
26476         * check/Makefile.am:
26477           clean up environment for when registry gets built versus
26478           when actual tests are run; valgrind seems to not report
26479           leaks if GST_PLUGIN_PATH is set to some specific values
26480         * check/gst/gstbin.c: (GST_START_TEST):
26481           add more refcounting checks; maybe this exposes a
26482           preroll lock bug ?
26483         * common/check.mak:
26484         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26485         * gst/check/gstcheck.h:
26486         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
26487         (gst_bin_change_state):
26488         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
26489           add/fix debugging/whitespace
26490
26491 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
26492
26493         * check/gst/gstevent.c: (event_probe), (test_event),
26494         (GST_START_TEST):
26495          Er, don't call gst_bin_watch_for_state_change you idiot.
26496
26497 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
26498
26499         * check/Makefile.am:
26500           Use CHECK_CFLAGS and CHECK_LIBS
26501         * check/gst/gstevent.c: (event_probe), (test_event),
26502         (GST_START_TEST):
26503           Don't leak events.
26504         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26505         (gst_base_src_start), (gst_base_src_stop),
26506         (gst_base_src_activate_push), (gst_base_src_activate_pull),
26507         (gst_base_src_change_state):
26508           Sprinkle gst_base_src_stop liberally around error paths to fix
26509           problems reusing a source after failed state changes.
26510         * gst/base/gsttypefindhelper.c: (helper_find_peek),
26511         (helper_find_suggest), (gst_type_find_helper):
26512           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
26513         * gst/gstevent.h:
26514         * docs/gst/tmpl/gstevent.sgml:
26515           Migrate part of the docs from the SGML file. Wait for ensonic to
26516           tell me how I did it wrong ;)
26517         * tools/gst-typefind.c: (main):
26518           Extra robustness to state changes between files.
26519
26520 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
26521
26522         * check/Makefile.am:
26523           don't valgrind the controller test - it's leaking - Stefan, HELP
26524         * gst/check/gstcheck.c: (gst_check_message_error),
26525         (gst_check_chain_func), (gst_check_setup_element),
26526         (gst_check_teardown_element), (gst_check_setup_src_pad),
26527         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
26528         (gst_check_teardown_sink_pad):
26529         * gst/check/gstcheck.h:
26530           add a bunch of methods to set up elements, and src and sink pads
26531         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
26532         * check/elements/identity.c: (setup_identity), (cleanup_identity),
26533         (GST_START_TEST):
26534           use them
26535         * gst/gstmessage.c:
26536         * gst/gsttag.h:
26537           whitespace/doc fixes
26538
26539 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26540
26541         * gst/gstelement.h:
26542           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
26543           be handled by the application and not always printed as well
26544
26545 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26546
26547         * check/Makefile.am:
26548           set GST_TOOLS_DIR
26549         * gst/check/gstcheck.c: (gst_check_message_error):
26550         * gst/check/gstcheck.h:
26551           add a fail_unless_equals_int
26552           add fail_unless for error messages
26553
26554 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26555
26556         * check/Makefile.am:
26557         * check/gst.supp:
26558         * common/Makefile.am:
26559         * common/check.mak:
26560         * common/gst.supp:
26561           factor out some of the common stuff so we can use it
26562
26563 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26564
26565         * check/Makefile.am:
26566         * check/gst/gstiterator.c: (GST_START_TEST):
26567         * check/gst/gstsystemclock.c: (GST_START_TEST),
26568         (gst_systemclock_suite):
26569         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
26570         * gst/gstclock.c:
26571           valgrind more tests
26572
26573 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26574
26575         * check/elements/.cvsignore:
26576         * check/elements/gstfakesrc.c:
26577           rename to name of element
26578         * check/elements/identity.c: (chain_func), (event_func),
26579         (setup_identity), (cleanup_identity), (GST_START_TEST),
26580         (identity_suite), (main):
26581           add a test for identity
26582         * check/Makefile.am:
26583         * pkgconfig/Makefile.am:
26584         * pkgconfig/gstreamer-check.pc.in:
26585         * pkgconfig/gstreamer-check-uninstalled.pc.in:
26586         * gst/check:
26587         * gst/Makefile.am:
26588         * configure.ac:
26589           move the check stuff to a library that gets installed
26590         * check/gst-libs/controller.c: (GST_START_TEST):
26591         * check/gst-libs/gdp.c:
26592         * check/gst/gst.c: (GST_START_TEST):
26593         * check/gst/gstbin.c:
26594         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26595         * check/gst/gstbus.c:
26596         * check/gst/gstcaps.c: (GST_START_TEST):
26597         * check/gst/gstelement.c:
26598         * check/gst/gstghostpad.c:
26599         * check/gst/gstiterator.c:
26600         * check/gst/gstmessage.c:
26601         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
26602         * check/gst/gstobject.c:
26603         * check/gst/gstpad.c: (GST_START_TEST):
26604         * check/gst/gststructure.c: (GST_START_TEST):
26605         * check/gst/gstsystemclock.c: (GST_START_TEST),
26606         (gst_systemclock_suite):
26607         * check/gst/gsttag.c: (gst_tag_suite):
26608         * check/gst/gstvalue.c:
26609         * check/pipelines/cleanup.c:
26610         * check/pipelines/simple_launch_lines.c:
26611         * check/states/sinks.c:
26612           change include statement
26613
26614         * docs/gst/gstreamer-sections.txt:
26615         * docs/gst/tmpl/gstpad.sgml:
26616           document more pad stuff
26617         * gst/gstminiobject.c: (gst_mini_object_ref),
26618         (gst_mini_object_unref):
26619           debug refcounting
26620
26621 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
26622
26623         * docs/gst/tmpl/gst.sgml:
26624         * gst/gst.c:
26625           eliminate another tmpl file, fix spelling in the long-description
26626
26627 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26628
26629         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26630         (test_event), (timediff), (gstevents_suite):
26631           Should fix build on 64-bit arch's
26632
26633 2005-08-18  Andy Wingo  <wingo@pobox.com>
26634
26635         Make sure that when a pipeline goes to PLAYING, that data has
26636         actually hit the sink.
26637
26638         * check/states/sinks.c (test_sink): A sink that doesn't get any
26639         data shouldn't return SUCCESS for going to either PLAYING or
26640         PAUSED. Test also the return values on the way back down.
26641
26642         * gst/gstelement.c (gst_element_set_state): When changing the
26643         state of an element currently changing state asynchronously, go to
26644         lost-state after commiting the pending state. Makes future calls
26645         to get_state continue to return ASYNC.
26646
26647         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
26648         ASYNC when going to PLAYING if we still don't have preroll, as can
26649         happen with live sources.
26650
26651 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26652
26653         * docs/pwg/advanced-types.xml:
26654           Hack long paragraph into 2 chunks as a workaround for buggy
26655           jadetex version in sid and breezy that loops infinitely and
26656           eats all RAM.
26657
26658 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26659
26660         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26661         (test_event), (timediff), (gstevents_suite):
26662           Provide more error margin in clock measurements to allow for 
26663           g_get_current_time inaccuracies.
26664
26665 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26666
26667         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26668         (test_event), (timediff), (gstevents_suite):
26669            Fix error message output so I might be able to tell why the
26670            test works here but fails on the build farm.
26671
26672 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26673
26674         * check/Makefile.am:
26675         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26676         (test_event), (timediff), (gstevents_suite), (main):
26677           I wrote a test!
26678
26679         * docs/design/part-seeking.txt:
26680           Spelling correction
26681
26682         * docs/gst/tmpl/gstevent.sgml:
26683         * docs/gst/tmpl/gstfakesrc.sgml:
26684           Docs updates.
26685
26686         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26687           Treat a buffer-without-newsegment the same as a receiving 
26688           a newsegment not in time format, and disable syncing to the clock
26689           with a warning.
26690
26691         * gst/gstbus.c: (gst_bus_set_sync_handler):
26692           Assert if anyone tries to replace the existing sync_handler for bus, 
26693           as only the owner should be setting it.
26694
26695         * gst/gstevent.h:
26696           Have a fixed set of custom event enums with events identified by
26697           their structure name (as in 0.8), rather than a free-for-all
26698           allowing collisions between enum values from different plugins.
26699
26700         * gst/gstpad.c: (gst_pad_class_init):
26701           Docs change.
26702           
26703         * gst/gstqueue.c: (gst_queue_handle_sink_event):
26704           Handle out-of-band downstream events from the sending thread.
26705
26706 2005-08-17  Andy Wingo  <wingo@pobox.com>
26707
26708         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
26709         play-timeout==0 to mean no timeout at all. In that case, don't
26710         bother with a get_state or a warning, just return directly, even
26711         if it's ASYNC.
26712
26713         * gst/base/gstbasetransform.c: Debug changes.
26714
26715         * gst/gstutils.h:
26716         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
26717         ensure bins post state change messages. A bit of a hack but I can't
26718         think of a way to avoid it.
26719
26720         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
26721
26722 2005-08-16  Andy Wingo  <wingo@pobox.com>
26723
26724         * gst/base/gstadapter.h:
26725         * gst/base/gstadapter.c (gst_adapter_take): New function, like
26726         peek() but you own the data. Not terribly efficient atm.
26727
26728 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26729
26730         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
26731         (gst_element_found_tags):
26732         * gst/gstutils.h:
26733           Add two utility functions for tag handling.
26734
26735 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26736
26737         * docs/manual/advanced-dataaccess.xml:
26738         * docs/manual/basics-helloworld.xml:
26739           Fix docs to use _bin_add() before _link(), which fixes the examples
26740           with recent core versions (reported by Madhan Raj M
26741           <raj_madan@rediffmail.com>, #313199).
26742
26743 2005-08-16  Wim Taymans  <wim@fluendo.com>
26744
26745         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
26746         Added subtract checks.
26747
26748         * docs/design/part-events.txt:
26749         Some more docs about newsegment
26750
26751         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
26752         Fix FIXME
26753
26754         * gst/gstcaps.c: (gst_caps_to_string):
26755         Add comments, cleanups.
26756         
26757         * gst/gstelement.c: (gst_element_save_thyself):
26758         cleanups
26759         
26760         * gst/gstvalue.c: (gst_value_collect_int_range),
26761         (gst_string_unwrap), (gst_value_union_int_int_range),
26762         (gst_value_union_int_range_int_range),
26763         (gst_value_intersect_int_int_range),
26764         (gst_value_intersect_int_range_int_range),
26765         (gst_value_intersect_double_double_range),
26766         (gst_value_intersect_double_range_double_range),
26767         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
26768         (gst_value_subtract_int_range_int),
26769         (gst_value_subtract_double_range_double),
26770         (gst_value_subtract_double_range_double_range),
26771         (gst_value_subtract_from_list), (gst_value_subtract_list),
26772         (gst_value_can_compare), (gst_value_compare_fraction):
26773         Cleanups, add comments, remove unneeded asserts.
26774
26775 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
26776
26777         * tools/gst-launch.c: (event_loop):
26778           don't convert NULL structures to strings
26779
26780 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
26781
26782         * docs/gst/gstreamer-sections.txt:
26783           made some defines private
26784         * docs/gst/tmpl/gstconfig.sgml:
26785         * docs/gst/tmpl/gstqueue.sgml:
26786         * docs/gst/tmpl/gsttaglist.sgml:
26787         * docs/gst/tmpl/gsttypes.sgml:
26788         * docs/gst/tmpl/gstutils.sgml:
26789         * docs/pwg/appendix-porting.xml:
26790         * gst/base/gstbasesink.h:
26791         * gst/base/gstbasesrc.c:
26792         * gst/base/gstbasesrc.h:
26793         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
26794         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
26795         * gst/gstelement.c: (gst_element_class_init):
26796         * gst/gstpad.c: (gst_pad_class_init):
26797         * gst/gstqueue.c: (gst_queue_class_init):
26798         * gst/gstxml.c: (gst_xml_class_init):
26799           documented all undocumented signal inline
26800         * libs/gst/controller/gst-controller.h:
26801           added padding
26802
26803 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26804
26805         * docs/pwg/appendix-porting.xml:
26806           Document _set_link_function -> _set_setcaps_function.
26807
26808 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
26809
26810         * check/Makefile.am:
26811           add a .check target for running the check
26812         * check/gst-libs/controller.c: (GST_START_TEST):
26813           cosmetic fixups
26814         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26815           complete checks for gstbuffer; would be nice if I could get the
26816           gcov stuff to work so I can see if I actually completed gstbuffer.c
26817         * check/gstcheck.h:
26818           add ASSERT_BUFFER_REFCOUNT
26819
26820 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
26821
26822         * docs/gst/gstreamer-sections.txt:
26823         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
26824         * gst/gsttag.h:
26825           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
26826           spew out a warning if a tag that is already registered
26827           is re-registered, unless it is re-registered with a 
26828           different type (#308438).
26829
26830 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
26831
26832         * docs/pwg/appendix-porting.xml:
26833         * docs/pwg/building-state.xml:
26834           Add some paragraphs about state changes in 0.9 to the PWG
26835           and the porting guide, in particular about the new meaning
26836           of GST_STATE_PAUSED and how to write state change functions
26837           with concurrent access by multiple threads in mind.
26838
26839 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
26840
26841         * docs/gst/gstreamer-docs.sgml:
26842         * docs/libs/gstreamer-libs-docs.sgml:
26843           added deprecation and since indexes
26844         * libs/gst/controller/gst-controller.c:
26845         * libs/gst/controller/gst-helper.c:
26846           added since tags
26847
26848
26849 2005-08-11  Wim Taymans  <wim@fluendo.com>
26850
26851         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
26852         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
26853         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
26854         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
26855         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
26856         (gst_ghost_pad_set_target):
26857         Actually implement (re)setting the target on a ghostpad
26858         as described in the docs.
26859
26860 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
26861
26862         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
26863           Check whether GST_DEBUG_NO_COLOR environment variable is
26864           set and disable coloured debug output if that is the case.
26865
26866 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
26867
26868         * gst/base/gsttypefindhelper.c: (helper_find_peek),
26869         (gst_type_find_helper):
26870           The memory returned by gst_type_find_peek() needs to
26871           stay valid until the end of a typefind function, and
26872           typefind functions may keep results from different 
26873           offsets around, so we can't just unref the buffer from
26874           the previous _peek(), but have to save all buffers 
26875           returned by _peek() until typefinding is done and only
26876           free them then.
26877
26878 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
26879
26880         * docs/gst/gstreamer-sections.txt:
26881         * gst/gstutils.h:
26882           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
26883
26884 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26885
26886         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
26887           Fix a pretty good memleak.
26888
26889 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
26890
26891         * gst/gstiterator.h:
26892           Fix wrong include and 'make distcheck'.
26893
26894 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26895
26896         * gst/gstbin.c: (bin_bus_handler):
26897           Use gst_element_post_message() instead.
26898
26899 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
26900
26901         * gst/base/gstadapter.h:
26902         * gst/base/gstbasesink.h:
26903         * gst/base/gstbasesrc.h:
26904         * gst/base/gstbasetransform.h:
26905         * gst/base/gstcollectpads.h:
26906         * gst/base/gstpushsrc.h:
26907         * gst/gstiterator.h:
26908           Add padding to our base elements' class and instance structs and
26909           to GstIterator (you will need to rebuild all plugins and apps!)
26910
26911 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26912
26913         * gst/gstbin.c: (bin_bus_handler):
26914           Make default message forwarding from child->bus to bin->bus
26915           threadsafe and make it not emit warnings if the parent has no bus.
26916
26917 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26918
26919         * gst/gstelement.c: (activate_pads):
26920           On paused->ready, set pad->caps to NULL, as is the documented
26921           behaviour in this state change. Fixes playback of series of
26922           media files when visualization is enabled in Totem.
26923
26924 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26925
26926         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
26927           Allow NULL as filter-caps (which means "any").
26928
26929 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
26930
26931         * docs/libs/gstreamer-libs-sections.txt:
26932         * libs/gst/controller/gst-controller.c:
26933         * libs/gst/controller/gst-controller.h:
26934         * libs/gst/controller/gst-helper.c:
26935           adding more entries to the docs and fix small doc-bugs
26936
26937 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
26938
26939         * docs/gst/gstreamer-docs.sgml:
26940         * docs/gst/gstreamer-sections.txt:
26941         * docs/gst/gstreamer.types:
26942         * docs/gst/tmpl/gstbasesink.sgml:
26943         * docs/gst/tmpl/gstbasesrc.sgml:
26944         * docs/gst/tmpl/gstbasetransform.sgml:
26945         * docs/gst/tmpl/gstfakesrc.sgml:
26946         * gst/base/gstcollectpads.c:
26947         * gst/base/gstcollectpads.h:
26948         * libs/gst/controller/gst-controller.c:
26949         * libs/gst/controller/gst-controller.h:
26950         * libs/gst/controller/gst-helper.c:
26951         * libs/gst/controller/gst-interpolation.c:
26952         * libs/gst/controller/lib.c:
26953           added long/short desc for controller docs
26954           added collectpads base class docs
26955           added correct includes to base-class docs
26956
26957 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
26958
26959         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
26960         (gst_test_mono_source_set_property),
26961         (gst_test_mono_source_class_init), (GST_START_TEST),
26962         (gst_controller_suite):
26963         * docs/gst/gstreamer-docs.sgml:
26964         * docs/gst/gstreamer-sections.txt:
26965         * docs/gst/gstreamer.types:
26966         * docs/libs/gstreamer-libs-docs.sgml:
26967         * docs/libs/gstreamer-libs-sections.txt:
26968         * gst/base/gstadapter.c:
26969         * libs/gst/controller/gst-controller.c:
26970         (gst_controlled_property_new), (gst_controlled_property_free),
26971         (gst_controller_new_valist),
26972         (gst_controller_remove_properties_valist),
26973         (gst_controller_sink_values), (_gst_controller_finalize):
26974         * libs/gst/controller/gst-controller.h:
26975         * libs/gst/controller/gst-helper.c:
26976         (gst_object_control_properties), (gst_object_uncontrol_properties),
26977         (gst_object_get_controller), (gst_object_set_controller),
26978         (gst_object_sink_values), (gst_object_get_value_arrays),
26979         (gst_object_get_value_array):
26980           more tests (and fixes) for the controller
26981           more docs for the controller
26982           integrated companies docs for the adapter 
26983
26984 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
26985
26986         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
26987         (GST_START_TEST), (fakesrc_suite):
26988           add tests for sizetype
26989
26990 2005-08-04  Andy Wingo  <wingo@pobox.com>
26991
26992         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
26993         fixes buffer_alloc proxying among other things.
26994
26995         * gst/base/gstbasetransform.c:
26996         * gst/base/gstbasetransform.h:
26997         Revert patch to gstbasetransform from 7-28 removing
26998         delay_configure.
26999
27000         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
27001         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
27002         Semantics changed, should return not the size of the output buffer
27003         but the byte size of a buffer with a given caps.
27004
27005         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
27006         debug object.
27007         (gst_base_transform_configure_caps): Don't set out_size here: (in,
27008         out) are not the pad caps until setcaps finishes.
27009         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
27010         not-in-place case as well. Deal with changing from in-place to
27011         not-in-place within calling pad_alloc_buffer. Still a bit
27012         concerned about the overhead here...
27013
27014 2005-08-03  Andy Wingo  <wingo@pobox.com>
27015
27016         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
27017         fixating is an error.
27018
27019 2005-08-04  Edward Hervey  <edward@fluendo.com>
27020
27021         * gst/base/gstadapter.h: 
27022         Added gst_adapter_get_type() to the header
27023
27024 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
27025
27026         * check/Makefile.am:
27027         * check/gst-libs/controller.c:
27028         * libs/gst/controller/gst-controller.c:
27029         (gst_controller_new_valist):
27030           added check test suite for the controller
27031         * gst/base/gstpushsrc.c:
27032           fixed a doc typo
27033
27034 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
27035
27036         * docs/gst/Makefile.am:
27037         * docs/gst/gstreamer-docs.sgml:
27038         * docs/gst/gstreamer-sections.txt:
27039         * docs/gst/gstreamer.types:
27040         * docs/gst/tmpl/gstfakesrc.sgml:
27041         * gst/base/README:
27042         * gst/base/gstbasesink.c:
27043         * gst/base/gstbasesink.h:
27044         * gst/base/gstbasesrc.c:
27045         * gst/base/gstbasesrc.h:
27046         * gst/base/gstbasetransform.c:
27047         * gst/base/gstpushsrc.c:
27048         * gst/base/gstpushsrc.h:
27049           add short/long description docs to base classes
27050           add pushsrc to the docs
27051           remove consolidated doc fragments
27052
27053 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
27054
27055         * configure.ac:
27056         * docs/libs/Makefile.am:
27057         * docs/libs/gstreamer-libs-docs.sgml:
27058         * docs/libs/gstreamer-libs-sections.txt:
27059         * docs/libs/gstreamer-libs.types:
27060         * examples/Makefile.am:
27061         * examples/controller/.cvsignore:
27062         * examples/controller/Makefile.am:
27063         * examples/controller/audio-example.c: (main):
27064         * libs/gst/Makefile.am:
27065         * libs/gst/controller/.cvsignore:
27066         * libs/gst/controller/Makefile.am:
27067         * libs/gst/controller/gst-controller.c:
27068         (on_object_controlled_property_changed), (gst_timed_value_compare),
27069         (gst_timed_value_find),
27070         (gst_controlled_property_set_interpolation_mode),
27071         (gst_controlled_property_new), (gst_controlled_property_free),
27072         (gst_controller_find_controlled_property),
27073         (gst_controller_new_valist), (gst_controller_new),
27074         (gst_controller_remove_properties_valist),
27075         (gst_controller_remove_properties), (gst_controller_set),
27076         (gst_controller_set_from_list), (gst_controller_unset),
27077         (gst_controller_get), (gst_controller_get_all),
27078         (gst_controller_sink_values), (gst_controller_get_value_arrays),
27079         (gst_controller_get_value_array),
27080         (gst_controller_set_interpolation_mode),
27081         (_gst_controller_finalize), (_gst_controller_init),
27082         (_gst_controller_class_init), (gst_controller_get_type):
27083         * libs/gst/controller/gst-controller.h:
27084         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
27085         (g_object_uncontrol_properties), (g_object_get_controller),
27086         (g_object_set_controller), (g_object_sink_values),
27087         (g_object_get_value_arrays), (g_object_get_value_array):
27088         * libs/gst/controller/gst-interpolation.c:
27089         (gst_controlled_property_find_timed_value_node),
27090         (interpolate_none_get), (interpolate_trigger_get),
27091         (interpolate_trigger_get_value_array):
27092         * libs/gst/controller/lib.c: (gst_controller_init):
27093         * pkgconfig/Makefile.am:
27094         * pkgconfig/gstreamer-control-uninstalled.pc.in:
27095         * pkgconfig/gstreamer-control.pc.in:
27096         * testsuite/Makefile.am:
27097         * testsuite/controller/.cvsignore:
27098         * testsuite/controller/Makefile.am:
27099         * testsuite/controller/interpolator.c: (main):
27100           added controller code
27101           removed dparam pc files
27102
27103 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
27104         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
27105         (gst_collectpads_stop):
27106           Broadcast the condition when shutting down, to make sure we wake all
27107           threads up. Shut down pads on finalize, for safety.
27108
27109 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
27110         * gst/base/gstbasetransform.c: (gst_base_transform_init),
27111         (gst_base_transform_handle_buffer),
27112         (gst_base_transform_change_state):
27113           Handle PAUSED->READY->PAUSED transition after negotiation
27114           occurred already.
27115         * gst/gstmessage.c: (gst_message_init):
27116           Extra piece of debug for new messages.
27117
27118 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
27119
27120         * configure.ac:
27121         * docs/gst/tmpl/gstbasesrc.sgml:
27122         * docs/gst/tmpl/gstelement.sgml:
27123         * docs/gst/tmpl/gstevent.sgml:
27124         * docs/gst/tmpl/gstfakesrc.sgml:
27125         * docs/gst/tmpl/gstformat.sgml:
27126         * docs/gst/tmpl/gstghostpad.sgml:
27127         * docs/gst/tmpl/gstpad.sgml:
27128         * docs/gst/tmpl/gstquery.sgml:
27129         * docs/gst/tmpl/gststructure.sgml:
27130         * docs/gst/tmpl/gsttaglist.sgml:
27131         * docs/gst/tmpl/gstvalue.sgml:
27132         * docs/libs/gstreamer-libs-docs.sgml:
27133         * docs/libs/gstreamer-libs-sections.txt:
27134         * docs/libs/gstreamer-libs.types:
27135         * libs/gst/Makefile.am:
27136         * libs/gst/control/.cvsignore:
27137         * libs/gst/control/Makefile.am:
27138         * libs/gst/control/control.c:
27139         * libs/gst/control/control.h:
27140         * libs/gst/control/dparam.c:
27141         * libs/gst/control/dparam.h:
27142         * libs/gst/control/dparam_smooth.c:
27143         * libs/gst/control/dparam_smooth.h:
27144         * libs/gst/control/dparamcommon.h:
27145         * libs/gst/control/dparammanager.c:
27146         * libs/gst/control/dparammanager.h:
27147         * libs/gst/control/dplinearinterp.c:
27148         * libs/gst/control/dplinearinterp.h:
27149         * libs/gst/control/unitconvert.c:
27150         * libs/gst/control/unitconvert.h:
27151         * testsuite/Makefile.am:
27152         * testsuite/dynparams/.cvsignore:
27153         * testsuite/dynparams/Makefile.am:
27154         * testsuite/dynparams/dparamstest.c:
27155         * tools/Makefile.am:
27156         * tools/gst-inspect.c: (print_element_info), (main):
27157         * tools/gst-xmlinspect.c: (print_element_info), (main):
27158           deactivate and remove dparams (libgstcontrol)
27159
27160 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
27161
27162         * gst/elements/gsttypefindelement.c:
27163         (gst_type_find_element_have_type), (gst_type_find_element_init),
27164         (stop_typefinding), (gst_type_find_element_handle_event),
27165         (gst_type_find_element_chain), (gst_type_find_element_getrange):
27166         * gst/elements/gsttypefindelement.h:
27167           Set caps on all outgoing buffers, not just the first one.
27168
27169 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
27170
27171         * gst/elements/gsttypefindelement.c:
27172         (gst_type_find_element_have_type),
27173         (gst_type_find_element_check_set_buffer_caps),
27174         (gst_type_find_element_init), (stop_typefinding),
27175         (gst_type_find_element_handle_event),
27176         (gst_type_find_element_chain), (gst_type_find_element_getrange):
27177         * gst/elements/gsttypefindelement.h:
27178           Set caps on first outgoing buffer when we've found the type.
27179
27180 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
27181
27182         * docs/gst/gstreamer-docs.sgml:
27183         * docs/gst/gstreamer-sections.txt:
27184         * docs/gst/tmpl/gstscheduler.sgml:
27185         * docs/gst/tmpl/gstschedulerfactory.sgml:
27186           Remove some old cruft from docs.
27187
27188 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
27189
27190         * gst/gstpad.h:
27191           Fix inline docs for GstPadLinkReturn.
27192           
27193         * gst/gststructure.c: (gst_structure_has_name):
27194         * gst/gststructure.h:
27195         * docs/gst/gstreamer-sections.txt:
27196           New API: gst_structure_has_name().
27197
27198 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
27199
27200         * configure.ac:
27201           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
27202           and _LARGEFILE_SOURCE in config.h as required. Do not 
27203           export those flags in our .pc files any longer (#142209).
27204
27205           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
27206
27207         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
27208         (gst_file_sink_do_seek), (gst_file_sink_event),
27209         (gst_file_sink_get_current_offset), (gst_file_sink_render):
27210           Redo seek/tell calls with large file support in mind; add some
27211           debugging messages; add log message that tells us when large
27212           file support is unavailable or not enabled for some reason.
27213
27214         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
27215           Add log message that tells us when large file support 
27216           is unavailable or not enabled for some reason.
27217
27218 2005-07-29  Wim Taymans  <wim@fluendo.com>
27219
27220         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27221         Added test for removing an element with ghostpad from a bin.
27222         Fixed test as current implementation does the right thing.
27223
27224         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
27225         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
27226         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
27227         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
27228         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
27229         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
27230         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
27231         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
27232         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
27233         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
27234         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
27235         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
27236         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
27237         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
27238         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
27239         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
27240         * gst/gstghostpad.h:
27241         Clean up ghostpads, remove properties for internal stuff.
27242         Make threadsafe.
27243         Fix refcounting.
27244         Prepare for switching targets, not all use cases work yet.
27245
27246 2005-07-29  Wim Taymans  <wim@fluendo.com>
27247
27248         * docs/design/part-gstghostpad.txt:
27249         Small update.
27250
27251         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27252         (gst_bin_remove_func):
27253         Unlinking pads while holding the bin LOCK is not a good
27254         idea.
27255
27256         * gst/gstpad.c: (gst_pad_class_init),
27257         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
27258         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
27259         No prob setting template after creating the pad.
27260
27261 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
27262
27263         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
27264         (gst_bus_peek), (gst_bus_source_dispatch),
27265         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
27266         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
27267           gst_bus_poll may be called from other threads. Handle
27268           this nicely by not making poll_data disappear off the
27269           stack once gst_bus_poll returns.
27270           gst_bus_peek now increments the refcount on the returned
27271           message.
27272
27273 2005-07-29  Wim Taymans  <wim@fluendo.com>
27274
27275         * docs/design/part-gstghostpad.txt:
27276         Overview of current GhostPad datastructures and use
27277         cases for changing the target.
27278
27279 2005-07-28  Wim Taymans  <wim@fluendo.com>
27280
27281         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
27282         Added checks for hierarchy consistency whan adding linked
27283         elements to bins.
27284
27285         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
27286         Added check to test element scheduling without bin/pipeline.
27287
27288         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
27289         First add elements to bin, then link.
27290         
27291         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27292         (gst_bin_remove_func):
27293         Unlink pads from elements added/removed from bin to maintain
27294         hierarchy consistency.
27295
27296 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27297
27298         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
27299         (gst_base_transform_handle_buffer):
27300         * gst/base/gstbasetransform.h:
27301           Remove broken delay_configure (fixes renegotiation of software
27302           scaling pipelines); remove some leftover printf()s.
27303
27304 2005-07-28  Wim Taymans  <wim@fluendo.com>
27305
27306         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27307         Added some more tests for wrong hierarchy
27308
27309         * docs/design/part-overview.txt:
27310         Some updates.
27311
27312         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
27313         Cleanups.
27314
27315         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
27316         (gst_element_dispose):
27317         Some more cleanups.
27318
27319         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
27320         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
27321         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27322         (gst_pad_set_caps), (gst_pad_send_event):
27323         Check for correct hierarchy when linking pads. Moving to
27324         strict requirement for ghostpads when linking elements in
27325         different bins.
27326
27327         * gst/gstpad.h:
27328         Clean ups. Added WRONG_HIERARCHY return value.
27329
27330 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27331
27332         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
27333           Better debug if no transform is possible.
27334
27335 2005-07-27  Wim Taymans  <wim@fluendo.com>
27336
27337         * docs/random/wtay/network-transp:
27338         Some old doc I had.
27339
27340 2005-07-27  Wim Taymans  <wim@fluendo.com>
27341
27342         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27343         (gst_dp_event_from_packet):
27344         Fix serialization of seek events.
27345
27346 2005-07-27  Wim Taymans  <wim@fluendo.com>
27347
27348         * check/gst-libs/gdp.c: (GST_START_TEST):
27349         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27350         Fix compilation and fix event serialization.
27351
27352 2005-07-27  Wim Taymans  <wim@fluendo.com>
27353
27354         * CHANGES-0.9:
27355         * docs/design/part-TODO.txt:
27356         * docs/design/part-events.txt:
27357         Some docs updates
27358
27359         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27360         (gst_base_sink_event), (gst_base_sink_do_sync),
27361         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27362         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
27363         (gst_base_src_do_seek), (gst_base_src_event_handler),
27364         (gst_base_src_loop):
27365         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27366         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27367         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
27368         (gst_base_transform_event), (gst_base_transform_handle_buffer),
27369         (gst_base_transform_set_passthrough),
27370         (gst_base_transform_is_passthrough):
27371         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27372         * gst/elements/gstfilesink.c: (gst_file_sink_event):
27373         Event updates.
27374
27375         * gst/gstbuffer.h:
27376         Use faster casts.
27377
27378         * gst/gstelement.c: (gst_element_seek):
27379         * gst/gstelement.h:
27380         Update gst_element_seek.
27381
27382         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
27383         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
27384         (gst_event_new_flush_start), (gst_event_new_flush_stop),
27385         (gst_event_new_eos), (gst_event_new_newsegment),
27386         (gst_event_parse_newsegment), (gst_event_new_tag),
27387         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
27388         (gst_event_parse_qos), (gst_event_new_seek),
27389         (gst_event_parse_seek), (gst_event_new_navigation):
27390         * gst/gstevent.h:
27391         Make GstEvent use GstStructure. Add parsing code, make sure the
27392         API is sufficiently generic.
27393         Mark possible directions of events and serialization.
27394
27395         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
27396         (_gst_message_copy), (gst_message_new_segment_start),
27397         (gst_message_new_segment_done), (gst_message_new_custom),
27398         (gst_message_parse_segment_start),
27399         (gst_message_parse_segment_done):
27400         Small cleanups.
27401
27402         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27403         (gst_pad_set_caps), (gst_pad_send_event):
27404         Update for new events. 
27405         Catch events sent in wrong directions.
27406
27407         * gst/gstqueue.c: (gst_queue_link_src),
27408         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
27409         (gst_queue_handle_src_query):
27410         Event updates.
27411
27412         * gst/gsttag.c:
27413         * gst/gsttag.h:
27414         Remove event code from this file.
27415
27416         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27417         (gst_dp_event_from_packet):
27418         Event updates.
27419
27420 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27421
27422         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
27423         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27424         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
27425           Make debugging actually useful.
27426
27427 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27428
27429         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
27430         (gst_pad_fixate_caps):
27431           Implement default fixation once again, so that gst_pad_fixate()
27432           actually does anything at all. This probably needs to be some
27433           sort of a last resort, and use profile-based fixation first, but
27434           since that doesn't exist yet, this is the best we have. Fixes
27435           visualization in Totem.
27436
27437 2005-07-22  Wim Taymans  <wim@fluendo.com>
27438
27439         * docs/design/part-events.txt:
27440         Small update.
27441
27442         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27443         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
27444         (gst_base_sink_activate_pull):
27445         Some more comments.
27446
27447         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
27448         (gst_fake_src_create):
27449         Fix handoff marshall.
27450
27451         * gst/elements/gstidentity.c: (gst_identity_class_init),
27452         (gst_identity_transform_ip):
27453         We're a real inplace element.
27454
27455         * gst/gstbus.c: (gst_bus_post):
27456         Added some comments.
27457
27458         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
27459         * tests/muxing/case1.c: (main):
27460         * tests/sched/dynamic-pipeline.c: (main):
27461         * tests/sched/interrupt1.c: (main):
27462         * tests/sched/interrupt2.c: (main):
27463         * tests/sched/interrupt3.c: (main):
27464         * tests/sched/runxml.c: (main):
27465         * tests/sched/sched-stress.c: (main):
27466         * tests/seeking/seeking1.c: (event_received), (main):
27467         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
27468         (main):
27469         * tests/threadstate/threadstate3.c: (main):
27470         * tests/threadstate/threadstate4.c: (main):
27471         * tests/threadstate/threadstate5.c: (main):
27472         Fix the tests.
27473
27474 2005-07-21  Wim Taymans  <wim@fluendo.com>
27475
27476         * docs/design/part-seeking.txt:
27477         Some small additions.
27478
27479         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27480         (gst_base_sink_get_times), (gst_base_sink_do_sync),
27481         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27482         * gst/base/gstbasesink.h:
27483         discont values are gint64, handle the math correctly.
27484
27485         * gst/base/gstbasesrc.c: (gst_base_src_loop):
27486         Make the basesrc report error if the source pad is not linked.
27487
27488         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
27489         (gst_queue_loop), (gst_queue_handle_src_query),
27490         (gst_queue_src_activate_push):
27491         Make queue collect data even if the srcpad is not linked.
27492         Start pushing out data as soon as it is linked.
27493
27494         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
27495         * gst/gstutils.h:
27496         Added gst_flow_get_name() to ease error reporting.
27497
27498 2005-07-20  Wim Taymans  <wim@fluendo.com>
27499
27500         * gst/gstmessage.c: (gst_message_new_segment_start),
27501         (gst_message_new_segment_done), (gst_message_parse_segment_start),
27502         (gst_message_parse_segment_done):
27503         * gst/gstmessage.h:
27504         Added a bunch of messages for advanced seeking.
27505
27506         * gst/parse/grammar.y:
27507         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
27508         (gst_dpman_state_changed):
27509         Fix some new-pad -> pad-added signals
27510
27511 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27512
27513         * docs/manual/appendix-porting.xml:
27514         * docs/pwg/appendix-porting.xml:
27515           Document new-pad/state-change signal renames and the FixedList
27516           type rename.
27517
27518 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27519
27520         * docs/manual/advanced-autoplugging.xml:
27521         * docs/manual/basics-helloworld.xml:
27522         * docs/manual/basics-pads.xml:
27523         * docs/random/ds/0.9-suggested-changes:
27524         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
27525         * gst/gstelement.h:
27526         * gst/gstevent.h:
27527         * gst/gstformat.h:
27528         * gst/gstquery.h:
27529         * gst/gststructure.c: (gst_structure_value_get_generic_type),
27530         (gst_structure_parse_array), (gst_structure_parse_value):
27531         * gst/gstvalue.c: (gst_type_is_fixed),
27532         (gst_value_list_prepend_value), (gst_value_list_append_value),
27533         (gst_value_list_get_size), (gst_value_list_get_value),
27534         (gst_value_transform_array_string), (gst_value_serialize_array),
27535         (gst_value_deserialize_array), (gst_value_intersect_array),
27536         (gst_value_is_fixed), (_gst_value_initialize):
27537         * gst/gstvalue.h:
27538           GstElement::new-pad -> pad-added, GstElement::state-change ->
27539           state-changed, GstValueFixedList -> GstValueArray, add format and
27540           flags as their own arguments in gst_element_seek() (should improve
27541           "bindeability"), remove function generators since they don't work
27542           under a whole bunch of compilers (they were deprecated already
27543           anyway).
27544
27545 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27546
27547         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
27548         (_gst_debug_register_funcptr):
27549         * gst/gstinfo.h:
27550           Fix illegal cast on some platforms (#309253).
27551
27552 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27553
27554         * gst/gstmessage.c: (gst_message_new_custom):
27555         * gst/gstmessage.h:
27556           Add _new_custom, make _new_application a macro to _new_custom.
27557
27558 2005-07-20  Wim Taymans  <wim@fluendo.com>
27559
27560         * gst/base/gstbasesrc.c: (gst_base_src_init),
27561         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
27562         * gst/base/gstbasesrc.h:
27563         Add a gboolean to decide when to push out a discont.
27564
27565         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
27566         (gst_queue_loop), (gst_queue_handle_src_query),
27567         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
27568         (gst_queue_set_property), (gst_queue_get_property):
27569         Some cleanups.
27570
27571         * tests/threadstate/threadstate1.c: (main):
27572         Make a thread test compile and run... very silly..
27573
27574
27575 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27576
27577         * docs/manual/appendix-porting.xml:
27578           Mention removal of libgstgconf-0.9.la and existence of gconf
27579           elements.
27580
27581 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27582
27583         * docs/pwg/advanced-clock.xml:
27584         * docs/pwg/appendix-porting.xml:
27585         * docs/pwg/intro-preface.xml:
27586         * docs/pwg/other-base.xml:
27587         * docs/pwg/other-manager.xml:
27588         * docs/pwg/other-nton.xml:
27589         * docs/pwg/other-ntoone.xml:
27590         * docs/pwg/other-oneton.xml:
27591         * docs/pwg/pwg.xml:
27592           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
27593           demuxer), remove n-to-n (was never written), fix some code examples
27594           and links and update the porting section to include all this.
27595
27596 2005-07-19  Wim Taymans  <wim@fluendo.com>
27597
27598         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
27599         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
27600         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
27601         (gst_queue_src_activate_push), (gst_queue_change_state),
27602         (gst_queue_get_property):
27603         * gst/gstqueue.h:
27604         Propagate GstFlowReturn more intelligently upstream and output
27605         an ERROR/EOS when streaming stopped due to fatal error.
27606
27607 2005-07-19  Wim Taymans  <wim@fluendo.com>
27608
27609         * tools/gst-launch.c: (check_intr), (event_loop), (main):
27610         Don't block forever for the state change to complete, the
27611         pipeline already did with a sensible timeout.
27612
27613 2005-07-19  Wim Taymans  <wim@fluendo.com>
27614
27615         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
27616         Make sure we never call the create function is we
27617         got deactivated.
27618
27619 2005-07-19  Andy Wingo  <wingo@pobox.com>
27620
27621         * gst/parse/parse.l: Attempt to solve bug #172815.
27622
27623 2005-07-19  Wim Taymans  <wim@fluendo.com>
27624
27625         * docs/design/part-clocks.txt:
27626         * docs/design/part-events.txt:
27627         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
27628         Small docs updates.
27629         Only update the seeking values when we are not
27630         busy streaming.
27631
27632 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
27633
27634         * gst/base/gstbasesrc.c: (gst_base_src_loop):
27635           Oops, ignore the result of gst_pad_push_event here.
27636
27637 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
27638
27639         * gst/base/gstbasesrc.c: (gst_base_src_loop),
27640         (gst_base_src_activate_push):
27641           Send discont event from the loop function, as pads
27642           aren't activated yet in the activate_push handler.
27643
27644         * gst/gstbin.c: (bin_bus_handler):
27645           Don't leak element name.
27646
27647 2005-07-18  Andy Wingo  <wingo@pobox.com>
27648
27649         * configure.ac: Use AS_LIBTOOL_TAGS.
27650
27651 2005-07-18  Wim Taymans  <wim@fluendo.com>
27652
27653         * docs/gst/gstreamer.types:
27654         Remove deleted types.
27655
27656 2005-07-18  Wim Taymans  <wim@fluendo.com>
27657
27658         * check/elements/gstfakesrc.c: (GST_START_TEST):
27659         * configure.ac:
27660         * gst/Makefile.am:
27661         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
27662         (init_popt_callback):
27663         * gst/gst.h:
27664         * gst/gst_private.h:
27665         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
27666         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
27667         * gst/gstbin.h:
27668         * gst/gstbus.h:
27669         * gst/gstconfig.h.in:
27670         * gst/gstelement.c: (gst_element_class_init),
27671         (gst_element_set_base_time), (gst_element_get_base_time),
27672         (iterator_fold_with_resync), (gst_element_change_state),
27673         (gst_element_dispose), (gst_element_get_bus):
27674         * gst/gstelement.h:
27675         * gst/gstelementfactory.h:
27676         * gst/gsterror.c: (_gst_core_errors_init):
27677         * gst/gsterror.h:
27678         * gst/gstevent.h:
27679         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
27680         * gst/gstindex.c:
27681         * gst/gstinfo.c: (_gst_debug_init):
27682         * gst/gstmessage.c: (_gst_message_copy):
27683         * gst/gstmessage.h:
27684         * gst/gstminiobject.h:
27685         * gst/gstobject.c:
27686         * gst/gstobject.h:
27687         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27688         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
27689         * gst/gstpad.h:
27690         * gst/gstparse.h:
27691         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
27692         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
27693         (gst_pipeline_get_last_stream_time):
27694         * gst/gstpipeline.h:
27695         * gst/gstpluginfeature.h:
27696         * gst/gstquery.h:
27697         * gst/gstscheduler.c:
27698         * gst/gstscheduler.h:
27699         * gst/gststructure.h:
27700         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
27701         (gst_task_finalize), (gst_task_func), (gst_task_create),
27702         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
27703         (gst_task_stop), (gst_task_pause):
27704         * gst/gsttask.h:
27705         * gst/gsttypefind.h:
27706         * gst/gsttypes.h:
27707         * gst/registries/gstlibxmlregistry.c: (load_feature),
27708         (gst_xml_registry_load), (gst_xml_registry_save_feature):
27709         * gst/registries/gstxmlregistry.c:
27710         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
27711         * gst/schedulers/threadscheduler.c:
27712         * libs/gst/control/dparammanager.h:
27713         * tools/gst-inspect.c: (print_element_list),
27714         (print_plugin_features), (print_element_features):
27715         * tools/gst-xmlinspect.c: (print_element_list),
27716         (print_plugin_info), (main):
27717         Removed plugable schedulers.
27718         Removed Scheduler/Manager from elements.
27719         Removed gsttypes.h, rearranged includes.
27720         Removed dependency pad<->element, element<>pipeline, and
27721         various others,  fix includes.
27722         implement gst_pad_get_parent() with gst_object_get_parent()
27723         Make GstTask sefcontained.
27724         Fix _get_state() on GstBin, it did not return ASYNC with a 0
27725         timeout.
27726         Fix endless loop in iterator_fold_with_resync.
27727
27728
27729 2005-07-18  Wim Taymans  <wim@fluendo.com>
27730
27731         * gst/Makefile.am:
27732         * gst/gstarch.h:
27733         Remove old file.
27734
27735 2005-07-18  Wim Taymans  <wim@fluendo.com>
27736
27737         * gst/Makefile.am:
27738         No more cothreads.h
27739
27740 2005-07-18  Wim Taymans  <wim@fluendo.com>
27741
27742         * gst/cothreads.c:
27743         * gst/cothreads.h:
27744         Let's remove these.
27745
27746 2005-07-18  Wim Taymans  <wim@fluendo.com>
27747
27748         * docs/design/part-dynamic.txt:
27749         * docs/design/part-events.txt:
27750         * docs/design/part-seeking.txt:
27751         Some more docs in the works.
27752
27753         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27754         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
27755         (gst_base_transform_setcaps), (gst_base_transform_get_size),
27756         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
27757         (gst_base_transform_handle_buffer),
27758         (gst_base_transform_sink_activate_push),
27759         (gst_base_transform_src_activate_pull),
27760         (gst_base_transform_set_passthrough),
27761         (gst_base_transform_is_passthrough):
27762         Refcounting fixes.
27763
27764         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
27765         Cleanups.
27766
27767         * gst/gstevent.c: (gst_event_finalize):
27768         Set SRC to NULL.
27769
27770         * gst/gstutils.c: (gst_element_unlink),
27771         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
27772         (gst_pad_proxy_setcaps):
27773         * gst/gstutils.h:
27774         Add _get_parent_element() to get a pads parent as an element.
27775
27776 2005-07-18  Wim Taymans  <wim@fluendo.com>
27777
27778         * check/gst/gstbin.c: (GST_START_TEST):
27779         Remove bogus test.
27780
27781 2005-07-18  Wim Taymans  <wim@fluendo.com>
27782
27783         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
27784         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
27785         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
27786         (gst_base_sink_event), (gst_base_sink_do_sync),
27787         (gst_base_sink_chain), (gst_base_sink_loop),
27788         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
27789         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
27790         Refcounting fixes.
27791         Fix logic for returning ASYNC when not prerolled.
27792
27793 2005-07-18  Wim Taymans  <wim@fluendo.com>
27794
27795         * gst/gstqueue.c: (gst_queue_handle_sink_event):
27796         Fix nasty refcount bug.
27797
27798 2005-07-16 Philippe Khalaf <burger@speedy.org>
27799
27800         * gst/elements/gstfdsrc.c:
27801         * gst/elements/gstfdsrc.h:
27802         * gst/elements/gstelements.c:
27803         * gst/elements/Makefile.am:
27804         Ported fdsrc to 0.9.
27805
27806 2005-07-16  Wim Taymans  <wim@fluendo.com>
27807
27808         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27809         (gst_base_sink_do_sync):
27810         Fix compile error.
27811
27812 2005-07-16  Wim Taymans  <wim@fluendo.com>
27813
27814         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27815         (gst_base_sink_event), (gst_base_sink_get_times),
27816         (gst_base_sink_do_sync), (gst_base_sink_change_state):
27817         * gst/base/gstbasesink.h:
27818         Store and use discont values when syncing buffers as described
27819         in design docs.
27820         
27821         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
27822         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
27823         (gst_base_src_activate_push):
27824         Push discont event when starting.
27825
27826         * gst/elements/gstidentity.c: (gst_identity_transform):
27827         Small cleanups.
27828
27829         * gst/gstbin.c: (gst_bin_change_state):
27830         Small cleanups in base_time  distribution.
27831
27832         * gst/gstelement.c: (gst_element_set_base_time),
27833         (gst_element_get_base_time), (gst_element_change_state):
27834         * gst/gstelement.h:
27835         Added methods for the base_time of the element.
27836         Some MT fixes.
27837
27838         * gst/gstpipeline.c: (gst_pipeline_send_event),
27839         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
27840         (gst_pipeline_get_last_stream_time):
27841         * gst/gstpipeline.h:
27842         MT fixes.
27843         Handle seeking as described in design doc, remove stream_time
27844         hack.
27845         Cleanups clock and stream_time selection code. Added accessors
27846         for the stream_time.
27847         
27848
27849 2005-07-16  Andy Wingo  <wingo@pobox.com>
27850
27851         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
27852         (#305291).
27853
27854 2005-07-16  Wim Taymans  <wim@fluendo.com>
27855
27856         * check/gst/gstbin.c: (GST_START_TEST):
27857         Make elements silent as the deep_notify refs the
27858         parent, which might make the test fail.
27859
27860         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
27861         Don't hold the lock for too long.
27862
27863 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
27864
27865         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
27866           Don't unref the caps we passed to gst_caps_make_writable() after
27867           passing them. gst_caps_make_writable() will do that for us.
27868
27869 2005-07-15  Andy Wingo  <wingo@pobox.com>
27870
27871         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
27872         (#157311).
27873
27874         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
27875         own marshalling function for the handoff signal. Properly type the
27876         buffer as a buffer. Fixes some warnings. Should do a more general
27877         solution.
27878         (gst_identity_class_init): Plug into the right marshaller.
27879
27880 2005-07-15  Wim Taymans  <wim@fluendo.com>
27881
27882         * docs/design/part-TODO.txt:
27883         * docs/design/part-clocks.txt:
27884         * docs/design/part-element-sink.txt:
27885         * docs/design/part-events.txt:
27886         * docs/design/part-gstpipeline.txt:
27887         Updated docs, mostly DISCONT related.
27888
27889 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
27890
27891         * docs/pwg/building-pads.xml:
27892           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
27893
27894 2005-07-15  Andy Wingo  <wingo@pobox.com>
27895
27896         * tools/gst-typefind.c: Update, add copyright block.
27897
27898         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
27899         Normalize and truncate caps before fixation.
27900
27901         * gst/gstcaps.h:
27902         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
27903         discards all but the first structure from its argument.
27904
27905 2005-07-15  Wim Taymans  <wim@fluendo.com>
27906
27907         * gst/base/gstbasetransform.c: (gst_base_transform_init),
27908         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
27909         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27910         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
27911         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
27912         (gst_base_transform_chain), (gst_base_transform_change_state),
27913         (gst_base_transform_set_passthrough),
27914         (gst_base_transform_is_passthrough):
27915         * gst/base/gstbasetransform.h:
27916         Make passthrough work using the bufferpools.
27917         Changed API a bit, subclasses have to write into a buffer
27918         provided by the base class.
27919         More debug info in nego functions.
27920         
27921         * gst/elements/gstidentity.c: (gst_identity_init),
27922         (gst_identity_transform):
27923         Port to new base class.
27924
27925 2005-07-15  Wim Taymans  <wim@fluendo.com>
27926
27927         * gst/gstmessage.c: (gst_message_new_state_changed):
27928         * tools/gst-launch.c: (event_loop), (main):
27929         Totally dump messages in -launch with the -m option.
27930         Fix message name for State messages,
27931
27932 2005-07-14  Wim Taymans  <wim@fluendo.com>
27933
27934         * gst/base/gstbasesrc.c: (gst_base_src_loop):
27935         Post error messages on errors.
27936
27937 2005-07-14  Wim Taymans  <wim@fluendo.com>
27938
27939         * gst/gstcaps.c: (gst_caps_do_simplify):
27940         Remove debug info.
27941
27942         * gst/gsterror.h:
27943         Define error for stream stopped.
27944
27945         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
27946         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
27947         Do proper return values.
27948
27949         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27950         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
27951         (gst_pad_get_range):
27952         Better return values.
27953
27954         * gst/gstpad.h:
27955         Reorganise return values, add macro to check for fatal errors.
27956
27957         * gst/gstqueue.c: (gst_queue_chain):
27958         Return proper GstFlowReturn values,
27959
27960 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
27961
27962         * docs/gst/gstreamer-sections.txt:
27963         * docs/gst/gstreamer.types:
27964         * docs/gst/tmpl/gst.sgml:
27965         * docs/gst/tmpl/gstbasesink.sgml:
27966         * docs/gst/tmpl/gstbasesrc.sgml:
27967         * docs/gst/tmpl/gstbasetransform.sgml:
27968         * docs/gst/tmpl/gstbin.sgml:
27969         * docs/gst/tmpl/gstbuffer.sgml:
27970         * docs/gst/tmpl/gstcaps.sgml:
27971         * docs/gst/tmpl/gstclock.sgml:
27972         * docs/gst/tmpl/gstcompat.sgml:
27973         * docs/gst/tmpl/gstconfig.sgml:
27974         * docs/gst/tmpl/gstelement.sgml:
27975         * docs/gst/tmpl/gstelementdetails.sgml:
27976         * docs/gst/tmpl/gstelementfactory.sgml:
27977         * docs/gst/tmpl/gstenumtypes.sgml:
27978         * docs/gst/tmpl/gsterror.sgml:
27979         * docs/gst/tmpl/gstevent.sgml:
27980         * docs/gst/tmpl/gstfakesink.sgml:
27981         * docs/gst/tmpl/gstfakesrc.sgml:
27982         * docs/gst/tmpl/gstfilesink.sgml:
27983         * docs/gst/tmpl/gstfilesrc.sgml:
27984         * docs/gst/tmpl/gstfilter.sgml:
27985         * docs/gst/tmpl/gstformat.sgml:
27986         * docs/gst/tmpl/gstghostpad.sgml:
27987         * docs/gst/tmpl/gstimplementsinterface.sgml:
27988         * docs/gst/tmpl/gstindex.sgml:
27989         * docs/gst/tmpl/gstindexfactory.sgml:
27990         * docs/gst/tmpl/gstinfo.sgml:
27991         * docs/gst/tmpl/gstiterator.sgml:
27992         * docs/gst/tmpl/gstmacros.sgml:
27993         * docs/gst/tmpl/gstmemchunk.sgml:
27994         * docs/gst/tmpl/gstminiobject.sgml:
27995         * docs/gst/tmpl/gstobject.sgml:
27996         * docs/gst/tmpl/gstpad.sgml:
27997         * docs/gst/tmpl/gstpadtemplate.sgml:
27998         * docs/gst/tmpl/gstparse.sgml:
27999         * docs/gst/tmpl/gstpipeline.sgml:
28000         * docs/gst/tmpl/gstplugin.sgml:
28001         * docs/gst/tmpl/gstpluginfeature.sgml:
28002         * docs/gst/tmpl/gstquery.sgml:
28003         * docs/gst/tmpl/gstqueue.sgml:
28004         * docs/gst/tmpl/gstregistry.sgml:
28005         * docs/gst/tmpl/gstregistrypool.sgml:
28006         * docs/gst/tmpl/gstscheduler.sgml:
28007         * docs/gst/tmpl/gstschedulerfactory.sgml:
28008         * docs/gst/tmpl/gststructure.sgml:
28009         * docs/gst/tmpl/gstsystemclock.sgml:
28010         * docs/gst/tmpl/gsttaglist.sgml:
28011         * docs/gst/tmpl/gsttagsetter.sgml:
28012         * docs/gst/tmpl/gsttrace.sgml:
28013         * docs/gst/tmpl/gsttrashstack.sgml:
28014         * docs/gst/tmpl/gsttypefind.sgml:
28015         * docs/gst/tmpl/gsttypefindfactory.sgml:
28016         * docs/gst/tmpl/gsttypes.sgml:
28017         * docs/gst/tmpl/gsturihandler.sgml:
28018         * docs/gst/tmpl/gsturitype.sgml:
28019         * docs/gst/tmpl/gstutils.sgml:
28020         * docs/gst/tmpl/gstvalue.sgml:
28021         * docs/gst/tmpl/gstversion.sgml:
28022         * docs/gst/tmpl/gstxml.sgml:
28023         * docs/libs/tmpl/gstcontrol.sgml:
28024         * docs/libs/tmpl/gstdataprotocol.sgml:
28025         * docs/libs/tmpl/gstdparam.sgml:
28026         * docs/libs/tmpl/gstdplinint.sgml:
28027         * docs/libs/tmpl/gstdpman.sgml:
28028         * docs/libs/tmpl/gstdpsmooth.sgml:
28029         * docs/libs/tmpl/gstgetbits.sgml:
28030         * docs/libs/tmpl/gstunitconvert.sgml:
28031         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
28032         (gst_push_src_base_init), (gst_push_src_class_init),
28033         (gst_push_src_init), (gst_push_src_create):
28034         * gst/base/gstpushsrc.h:
28035         * gst/elements/gstelements.c:
28036         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
28037         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
28038         (gst_fake_sink_init), (gst_fake_sink_set_property),
28039         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
28040         (gst_fake_sink_event), (gst_fake_sink_preroll),
28041         (gst_fake_sink_render), (gst_fake_sink_change_state):
28042         * gst/elements/gstfakesink.h:
28043         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
28044         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
28045         (gst_fake_src_base_init), (gst_fake_src_class_init),
28046         (gst_fake_src_init), (gst_fake_src_event_handler),
28047         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
28048         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
28049         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
28050         (gst_fake_src_create_buffer), (gst_fake_src_create),
28051         (gst_fake_src_start), (gst_fake_src_stop):
28052         * gst/elements/gstfakesrc.h:
28053         * gst/elements/gstfilesink.c: (_do_init),
28054         (gst_file_sink_base_init), (gst_file_sink_class_init),
28055         (gst_file_sink_init), (gst_file_sink_dispose),
28056         (gst_file_sink_set_location), (gst_file_sink_set_property),
28057         (gst_file_sink_get_property), (gst_file_sink_open_file),
28058         (gst_file_sink_close_file), (gst_file_sink_query),
28059         (gst_file_sink_event), (gst_file_sink_render),
28060         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
28061         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
28062         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
28063         * gst/elements/gstfilesink.h:
28064         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
28065         (gst_file_src_class_init), (gst_file_src_init),
28066         (gst_file_src_finalize), (gst_file_src_set_location),
28067         (gst_file_src_set_property), (gst_file_src_get_property),
28068         (gst_file_src_map_region), (gst_file_src_map_small_region),
28069         (gst_file_src_create_mmap), (gst_file_src_create_read),
28070         (gst_file_src_create), (gst_file_src_is_seekable),
28071         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
28072         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
28073         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
28074         (gst_file_src_uri_handler_init):
28075         * gst/elements/gstfilesrc.h:
28076           more autistic cleanliness in functions/names/defines
28077
28078 2005-07-13  Andy Wingo  <wingo@pobox.com>
28079
28080         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
28081         source couldn't negotiate.
28082
28083         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
28084         connections again.
28085
28086         * gst/gstutils.h:
28087         * gst/gstutils.c (gst_element_link_pads_filtered): New old
28088         function. I am channeling Hades. Put your boots on suckers!!!
28089
28090 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
28091
28092         * testsuite/caps/Makefile.am:
28093         * testsuite/caps/value_compare.c:
28094         * testsuite/caps/value_intersect.c:
28095         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
28096           move two testsuite apps over to the check dir
28097
28098 2005-07-12  Wim Taymans  <wim@fluendo.com>
28099
28100         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
28101         Added more debug info in the negotiate process.
28102
28103         * gst/gstmessage.h:
28104         Prepare for segment playback.
28105
28106         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
28107         Better debugging.
28108
28109         * gst/gstutils.c:
28110         Some more docs.
28111
28112         * tools/gst-launch.c: (main):
28113         NULL pipeline on errors.
28114
28115 2005-07-12  Andy Wingo  <wingo@pobox.com>
28116
28117         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
28118         not it comes from a malloc region. Make sure our copy gets freed.
28119
28120 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
28121
28122         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
28123         * check/gst/gstmessage.c: (GST_START_TEST):
28124         * check/gst/gststructure.c: (GST_START_TEST),
28125         (gst_structure_suite), (main):
28126           more testing
28127         * gst/gstelement.c: (gst_element_message_full):
28128           clean up GError and debug string now that they get copied
28129         * gst/gstmessage.c: (gst_message_new_error),
28130         (gst_message_new_warning), (gst_message_parse_error),
28131         (gst_message_parse_warning):
28132           use GST_TYPE_G_ERROR for structure_new, and take copies of
28133           arguments, so that we don't mess up refcounting
28134
28135 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
28136
28137         * check/Makefile.am:
28138           add per-test valgrind targets
28139         * check/gst-libs/gdp.c: (GST_START_TEST),
28140         (gst_data_protocol_suite), (main):
28141           clean up
28142
28143 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
28144
28145         * check/Makefile.am:
28146           instate more valgrindable tests
28147         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28148         (GST_START_TEST), (fakesrc_suite):
28149         * check/gst/gstpad.c: (GST_START_TEST):
28150         * check/gst/gststructure.c: (GST_START_TEST):
28151           fix test leaks
28152         * docs/gst/tmpl/gstminiobject.sgml:
28153         * gst/gstpad.c: (gst_pad_finalize):
28154           fix the static mutex leak
28155
28156 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28157
28158         * check/Makefile.am:
28159           add two more tests for valgrinding
28160         * check/gst/gstvalue.c: (GST_START_TEST):
28161           test refcount of deserialized buffer, found a leak
28162         * docs/gst/gstreamer-docs.sgml:
28163         * docs/gst/gstreamer-sections.txt:
28164         * docs/gst/gstreamer.types:
28165         * docs/gst/tmpl/gstminiobject.sgml:
28166           add miniobject to docs
28167         * gst/gstminiobject.c:
28168           add some docs
28169         * gst/gstvalue.c: (gst_value_deserialize_buffer),
28170         (gst_string_unwrap):
28171           fix a hard-to-find invalid write for one of the tests
28172           fix a leak for deserialized buffers
28173
28174 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28175
28176         * docs/pwg/advanced-events.xml:
28177         * docs/pwg/advanced-request.xml:
28178         * docs/pwg/advanced-scheduling.xml:
28179         * docs/pwg/appendix-porting.xml:
28180         * docs/pwg/building-boiler.xml:
28181         * docs/pwg/intro-preface.xml:
28182         * docs/pwg/other-ntoone.xml:
28183           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
28184           of example code and explanation for pad activation, loop() and
28185           getrange() functions and a bit more. Remove old comments pointing
28186           to loop-functions.
28187         * examples/pwg/Makefile.am:
28188           Add loop/getrange examples.
28189
28190 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28191
28192         * configure.ac:
28193           check for valgrind binary + some fixes
28194         * check/gst.supp:
28195           valgrind suppressions for the tests
28196         * check/Makefile.am:
28197           add a valgrind: target that valgrinds the unit tests
28198         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
28199         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
28200         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28201         * check/gst/gstghostpad.c:
28202           added some cleanup
28203         * check/gst/gstdata.c:
28204           removed
28205         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
28206         (thread_unref), (gst_mini_object_suite), (main):
28207           added
28208         * gst/gst.c: (gst_deinit):
28209         * gst/gst.h:
28210           add a method to clean up.
28211         * gst/gstsystemclock.c: (gst_system_clock_dispose),
28212         (gst_system_clock_obtain):
28213           allow for disposing the system clock.
28214         * tools/gst-launch.c: (main):
28215           deinit
28216
28217 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28218
28219         * docs/gst/tmpl/gstbasesrc.sgml:
28220         * docs/gst/tmpl/gstfakesrc.sgml:
28221         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28222         (gst_base_src_init), (gst_base_src_set_property),
28223         (gst_base_src_get_property), (gst_base_src_get_range),
28224         (gst_base_src_start):
28225         * gst/base/gstbasesrc.h:
28226           add num-buffers property
28227         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28228         (gst_fakesrc_init), (gst_fakesrc_set_property),
28229         (gst_fakesrc_get_property), (gst_fakesrc_create),
28230         (gst_fakesrc_start):
28231           remove num-buffers property
28232
28233 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28234
28235         * docs/gst/gstreamer-sections.txt:
28236         * docs/gst/tmpl/gstbasesink.sgml:
28237         * docs/gst/tmpl/gstbasesrc.sgml:
28238         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
28239         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
28240         (gst_base_sink_finalize), (gst_base_sink_set_clock),
28241         (gst_base_sink_set_property), (gst_base_sink_get_property),
28242         (gst_base_sink_handle_object), (gst_base_sink_event),
28243         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
28244         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
28245         (gst_base_sink_loop), (gst_base_sink_deactivate),
28246         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
28247         (gst_base_sink_change_state):
28248         * gst/base/gstbasesink.h:
28249         * gst/base/gstbasesrc.h:
28250         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
28251         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
28252         (gst_filesink_init):
28253           more macro splitting
28254
28255 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28256
28257         * gst/gstelement.c: (gst_element_get_bus):
28258           add debug
28259         * tools/gst-launch.c: (check_intr), (event_loop):
28260           fix bus leaks
28261
28262 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28263
28264         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
28265           fix a caps leak
28266
28267 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28268
28269         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28270         (gst_base_src_finalize):
28271           add finalize method and clean up properly
28272         * gst/gstpipeline.c: (gst_pipeline_dispose):
28273           add debug
28274
28275 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28276
28277         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
28278         (gst_bin_suite):
28279           add more things to check
28280         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
28281         * gst/gstelement.c:
28282           more debug
28283
28284 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28285
28286         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28287         (GST_START_TEST), (fakesrc_suite):
28288         * check/gst-libs/gdp.c: (GST_START_TEST):
28289         * check/gst/gst.c: (GST_START_TEST):
28290         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
28291         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28292         * check/gst/gstbus.c: (GST_START_TEST):
28293         * check/gst/gstcaps.c: (GST_START_TEST):
28294         * check/gst/gstdata.c: (GST_START_TEST):
28295         * check/gst/gstelement.c: (GST_START_TEST):
28296         * check/gst/gstghostpad.c: (GST_START_TEST):
28297         * check/gst/gstiterator.c: (GST_START_TEST):
28298         * check/gst/gstmessage.c: (GST_START_TEST):
28299         * check/gst/gstobject.c: (GST_START_TEST):
28300         * check/gst/gstpad.c: (GST_START_TEST):
28301         * check/gst/gststructure.c: (GST_START_TEST):
28302         * check/gst/gstsystemclock.c: (GST_START_TEST),
28303         (gst_systemclock_suite):
28304         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
28305         * check/gst/gstvalue.c: (GST_START_TEST):
28306         * check/pipelines/cleanup.c: (GST_START_TEST):
28307         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
28308         * check/states/sinks.c: (GST_START_TEST):
28309         * check/gstcheck.c: (gst_check_init):
28310         * check/gstcheck.h:
28311           add debugging category
28312           use GST_START_TEST now, so we add a debug line
28313
28314 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28315
28316         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
28317           add test for state change message on a bin
28318         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
28319           add another test
28320         * gst/gstbin.c: (gst_bin_init):
28321         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
28322         * gst/gstelement.c: (gst_element_post_message),
28323         (gst_element_set_state):
28324         * gst/gstelementfactory.c: (gst_element_factory_create):
28325         * gst/gstmessage.c: (gst_message_new):
28326         * gst/gstscheduler.c:
28327           various debugging additions and cleanups
28328
28329 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28330
28331         * check/Makefile.am:
28332         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
28333         (main):
28334           adding tests for elements
28335         * gst/gstelement.c: (gst_element_dispose):
28336
28337 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28338
28339         * gst/registries/gstlibxmlregistry.c: (load_feature):
28340           plug more leaks.  A simple gst_init() now is leakfree, yay.
28341
28342 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28343
28344         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
28345         (gst_xml_registry_load):
28346           plug another memleak
28347
28348 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28349
28350         * configure.ac:
28351           use GST_SET_ERROR_CFLAGS
28352         * docs/faq/cvs.xml:
28353           change to ERROR_CFLAGS
28354
28355 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28356
28357         * configure.ac:
28358           make GST_ERROR_CFLAGS overridable and re-enable Werror
28359         * docs/faq/cvs.xml:
28360           add a note about error CFLAGS
28361         * docs/gst/tmpl/gstfakesrc.sgml:
28362         * gst/elements/gstfakesrc.c:
28363           comment out some unused code
28364         * gst/gst.c: (split_and_iterate):
28365         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
28366         (load_feature):
28367           plug some memleaks
28368
28369 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
28370
28371         * common/Makefile.am:
28372         * common/gtk-doc.mak:
28373         * docs/gst/Makefile.am:
28374           factor out gtk-doc.mak
28375
28376 2005-07-07  Wim Taymans  <wim@fluendo.com>
28377
28378         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
28379         (gst_thread_scheduler_dispose):
28380         Unlock the STREAM_LOCK completely.
28381
28382 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
28383
28384         * check/Makefile.am:
28385         * check/elements/.cvsignore:
28386         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28387         (START_TEST), (fakesrc_suite), (main):
28388         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28389         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
28390         (gst_fakesrc_create), (gst_fakesrc_start):
28391         * gst/elements/gstfakesrc.h:
28392           adding a first element test
28393
28394 2005-07-07  Andy Wingo  <wingo@pobox.com>
28395
28396         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
28397         debug message.
28398
28399 2005-07-07  Wim Taymans  <wim@fluendo.com>
28400
28401         * gst/gstquery.c:
28402         * gst/gstquery.h:
28403         Remove old types
28404
28405 2005-07-07  Wim Taymans  <wim@fluendo.com>
28406
28407         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
28408         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
28409         Allow subclasses to implement their own negotiation.
28410
28411 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28412
28413         * docs/design/part-gstbin.txt:
28414         * docs/design/part-gstpipeline.txt:
28415           Update design notes to reflect the movement of
28416           responsibility for bus handling from GstPipeline to
28417           GstBin
28418
28419 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28420
28421         * configure.ac:
28422           Remove unnecessary queue2/3/4 examples.
28423
28424 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28425
28426         * examples/Makefile.am:
28427         * examples/helloworld/helloworld.c: (event_loop), (main):
28428         * examples/queue/queue.c: (event_loop), (main):
28429         * examples/queue2/queue2.c: (main):
28430           Update a couple of the examples to work again.
28431
28432         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28433         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
28434          Spelling corrections and extra debug.
28435         
28436         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
28437         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
28438         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
28439         * gst/gstbin.h:
28440         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
28441         (gst_pipeline_change_state):
28442         * gst/gstpipeline.h:
28443           Move the bus handler for children to the GstBin, and create a
28444           separate bus for receiving messages from children to the one the
28445           bus sends 'upwards' on.
28446
28447 2005-07-06  Wim Taymans  <wim@fluendo.com>
28448
28449         * gst/base/README:
28450         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28451         (gst_base_sink_handle_object), (gst_base_sink_loop),
28452         (gst_base_sink_change_state):
28453         * gst/base/gstbasesink.h:
28454         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28455         (gst_base_src_init), (gst_base_src_setcaps),
28456         (gst_base_src_getcaps), (gst_base_src_loop),
28457         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
28458         (gst_base_src_start), (gst_base_src_change_state):
28459         * gst/base/gstbasesrc.h:
28460         Make basesrc negotiate.
28461         Handle the case where preroll fails in basesink.
28462         Update README.
28463
28464 2005-07-06  Wim Taymans  <wim@fluendo.com>
28465
28466         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
28467         Implement the fixate function.
28468         Clean up acceptcaps.
28469
28470 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28471
28472         * docs/pwg/building-filterfactory.xml:
28473         * docs/pwg/pwg.xml:
28474           Remove never-written filter-factory chapter; I'll add the various
28475           base classes to part 4 ("other element types") later on.
28476
28477 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28478
28479         * docs/pwg/advanced-negotiation.xml:
28480         * docs/pwg/building-boiler.xml:
28481         * docs/pwg/building-pads.xml:
28482         * docs/pwg/pwg.xml:
28483         * examples/pwg/Makefile.am:
28484           Add a chapter on caps negotiation, simplify the original code
28485           samples a bit w.r.t. caps negotiation, add link to the advanced
28486           section. Add a bunch of examples showing different use cases of
28487           different types of caps negotiation. Upstream renegotiation isn't
28488           fully documented yet since nobody knows how that works.
28489
28490 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
28491
28492         * check/gst/gstpad.c:
28493         * check/gstcheck.c:
28494         * gst/gstpad.c: (gst_pad_get_internal_links_default):
28495           if pad has no parent, return NULL as list of internal links
28496
28497 2005-07-05  Andy Wingo  <wingo@pobox.com>
28498
28499         * gst/elements/gstfilesrc.c:
28500         * gst/elements/gstfakesrc.c: 
28501         * gst/base/gstpushsrc.c:
28502         * gst/base/gstbasesrc.h: 
28503         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
28504         
28505 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
28506
28507         * Makefile.am:
28508           better report generation target (lcov needs a patch)
28509
28510 2005-07-05  Andy Wingo  <wingo@pobox.com>
28511
28512         * gst/elements, testsuite: Null if we got it...
28513
28514 2005-07-05  Wim Taymans  <wim@fluendo.com>
28515
28516         * configure.ac:
28517         * libs/gst/dataprotocol/Makefile.am:
28518         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
28519         * libs/gst/dataprotocol/dataprotocol.h:
28520         * pkgconfig/Makefile.am:
28521         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
28522         * pkgconfig/gstreamer-dataprotocol.pc.in:
28523         Ported dataprotol to 0.9. 
28524         Added pkgconfig files.
28525
28526 2005-07-05  Andy Wingo  <wingo@pobox.com>
28527
28528         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
28529         Default to returning TRUE for the case when tranform_caps returns
28530         a fixed caps, like for identity or volume.
28531
28532         * check/gst/gstbus.c (pound_bus_with_messages): 
28533         * check/gst/gstmessage.c (START_TEST): 
28534         * check/pipelines/simple_launch_lines.c (got_handoff): Application
28535         message API change.
28536
28537         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
28538         logic weaks here: always run transform_caps, trying passthrough
28539         operation only if the original caps intersects with the transform.
28540
28541         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
28542         source and sink caps.
28543
28544         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
28545         Intersect the peer caps with the pad template before going into
28546         transform_caps.
28547         (gst_base_transform_transform_caps): More debugging.
28548
28549         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
28550         src argument.
28551
28552 2005-07-04  Edward Hervey  <edward@fluendo.com>
28553
28554         * gst/gstutils.c:
28555         * gst/gstutils.h:
28556         (gst_pad_add_*_probe): now returns the signal id for better wrapping
28557         in bindings.
28558
28559 2005-07-04  Andy Wingo  <wingo@pobox.com>
28560
28561         * check/gst/gstpad.c: Only set explicit caps on pads.
28562
28563 2005-07-01  Andy Wingo  <wingo@pobox.com>
28564
28565         * tests/network-clock.scm: Commentary update.
28566
28567         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
28568         Didn't really make sense, not implementable with basetransform,
28569         etc.
28570         (gst_identity_transform): Unref inbuf via make_writable. Feeble
28571         attempt at implementing the sync property, needs an unlock method.
28572
28573         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
28574         New func, by default returns the same caps (the identity
28575         transformation).
28576         (gst_base_transform_getcaps): Uses transform_caps to return
28577         something sensible.
28578         (gst_base_transform_setcaps): Complicated logic to get caps on
28579         both pads, even if they are different, and to call set_caps once
28580         for every time both pads get their caps set.
28581         (gst_base_transform_handle_buffer): Give the ref to the transform
28582         function. Allows in-place modification of the buffer.
28583
28584         * gst/base/gstbasetransform.h (transform_caps): New class method.
28585         Given caps on one side, what can I do on the other.
28586         (set_caps): Take two caps, one for each side of the element.
28587
28588         * gst/gstpad.h:
28589         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
28590         caps in place. This is safe because we can check the mutability of
28591         the caps, and a good idea because fixate functions are just called
28592         as a matter of last resort. (Not actually implemented.)
28593         (gst_pad_set_caps): If the caps we're setting is actually the same
28594         as the existing pad caps, just update the pointer without calling
28595         setcaps. Assert that caps is either NULL or fixed, as per the
28596         docs.
28597
28598         * gst/gstghostpad.c: Update for fixate changes.
28599
28600 2005-07-02  Andy Wingo  <wingo@pobox.com>
28601
28602         * gst/gstcaps.c:
28603         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
28604         two refcounts makes it immutable, which is enough. Doc more.
28605
28606 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
28607
28608         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
28609           Put the mini_object into GValue as a mini_object,
28610           not a gpointer, since that's how we declared
28611           the signal.
28612
28613 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28614
28615         * examples/pwg/Makefile.am:
28616           Fix buildbot again.
28617
28618 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28619
28620         * docs/pwg/building-testapp.xml:
28621           Add extra check.
28622         * examples/pwg/Makefile.am:
28623           Fix buildbot.
28624
28625 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28626
28627         * configure.ac:
28628         * examples/Makefile.am:
28629         * examples/pwg/Makefile.am:
28630         * examples/pwg/extract.pl:
28631           Enable building the PWG examples.
28632         * docs/pwg/advanced-interfaces.xml:
28633           Add URI interface stub.
28634         * docs/pwg/advanced-types.xml:
28635         * docs/pwg/other-autoplugger.xml:
28636         * docs/pwg/appendix-porting.xml:
28637         * docs/pwg/pwg.xml:
28638           Add porting guide (mostly stubs), remove autoplugging (see ADM).
28639         * docs/pwg/building-boiler.xml:
28640         * docs/pwg/building-chainfn.xml:
28641         * docs/pwg/building-pads.xml:
28642         * docs/pwg/building-props.xml:
28643         * docs/pwg/building-state.xml:
28644         * docs/pwg/building-testapp.xml:
28645           Update the building-*.xml parts for 0.9 changes. All examples
28646           code blocks compile in examples/pwg/*.
28647
28648 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28649
28650         * docs/manual/advanced-autoplugging.xml:
28651         * docs/manual/appendix-checklist.xml:
28652         * docs/manual/appendix-integration.xml:
28653         * docs/manual/highlevel-components.xml:
28654           Fix playbin/decodebin examples, update docs a bit, mention bus
28655           instead of signals in various places, mention kmplayer and
28656           kaffeine since they have a working GStreamer backend in the KDE
28657           section.
28658
28659 2005-06-30  Wim Taymans  <wim@fluendo.com>
28660
28661         * CHANGES-0.9:
28662         * docs/design/draft-ghostpads.txt:
28663         * docs/design/draft-push-pull.txt:
28664         * docs/design/draft-query.txt:
28665         * docs/design/part-TODO.txt:
28666         * docs/design/part-query.txt:
28667         Added CHANGES-0.9 doc, updated status of other docs.
28668         
28669         * gst/gstquery.h:
28670         Remove "hmm" macro
28671
28672 2005-06-30  Wim Taymans  <wim@fluendo.com>
28673
28674         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28675         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
28676         (gst_base_sink_change_state):
28677         * gst/base/gstbasesink.h:
28678         Some tweaks, only EOS and a buffer complete a preroll.
28679
28680 2005-06-30  Andy Wingo  <wingo@pobox.com>
28681
28682         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
28683         activate_push down to the internal pad as well.
28684
28685 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
28686
28687         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28688
28689         * gst/gsttaginterface.c:
28690           Some documentation fixes (#307394 and #307397).
28691
28692 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
28693
28694         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28695
28696         * gst/gstvalue.c: (gst_value_intersect_list):
28697           Fix memleak (#309125).
28698
28699 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28700
28701         * docs/manual/advanced-dataaccess.xml:
28702           Fix fakesrc example to compile; doesn't work, bug somewhere...?
28703         * docs/manual/basics-pads.xml:
28704           Add reference for filtered caps to above chapter.
28705
28706 2005-06-30  Wim Taymans  <wim@fluendo.com>
28707
28708         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
28709         (gst_bin_change_state):
28710         Probes are gone.
28711         Lame attempt at making the state change function a bit
28712         more readable.
28713
28714 2005-06-30  Wim Taymans  <wim@fluendo.com>
28715
28716         * docs/design/part-clocks.txt:
28717         * docs/design/part-element-sink.txt:
28718         * docs/design/part-events.txt:
28719         * docs/design/part-preroll.txt:
28720         * docs/design/part-states.txt:
28721         Some more tweeks and additions to the docs.
28722
28723 2005-06-30  Wim Taymans  <wim@fluendo.com>
28724
28725         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28726         (default_have_data), (gst_pad_class_init), (gst_pad_init),
28727         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
28728         (gst_pad_check_pull_range), (gst_pad_get_range),
28729         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
28730         * gst/gstpad.h:
28731         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
28732         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
28733         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
28734         (gst_pad_remove_buffer_probe):
28735         Removed atomic operations, use existing LOCK.
28736         Move exception handling out of main code path.
28737
28738 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28739
28740         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28741         (silly_return_true_function), (gst_pad_class_init),
28742         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
28743         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
28744         (gst_pad_send_event):
28745           Fix accumulator, add default value by using _emitv() instead
28746           of _emit() for signal emission.
28747
28748 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28749
28750         * docs/manual/advanced-dataaccess.xml:
28751         * examples/manual/Makefile.am:
28752           Add probe example.
28753         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
28754           Make work (??).
28755
28756 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
28757
28758         * gst/elements/gstfilesink.c: (gst_filesink_render):
28759           Simplify code so that we don't have to handle short
28760           writes and return GST_FLOW_ERROR if an error occured.
28761
28762 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28763
28764         * docs/gst/gstreamer-docs.sgml:
28765           Remove probes more.
28766
28767 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28768
28769         * docs/gst/gstreamer-sections.txt:
28770         * docs/gst/tmpl/gstpad.sgml:
28771         * docs/gst/tmpl/gstprobe.sgml:
28772         * gst/Makefile.am:
28773         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28774         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
28775         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
28776         (gst_pad_push_event), (gst_pad_send_event):
28777         * gst/gstpad.h:
28778         * gst/gstutils.c: (gst_pad_add_data_probe),
28779         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
28780         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
28781         (gst_pad_remove_buffer_probe):
28782         * gst/gstutils.h:
28783           Remove old probes, add new g-signal-based probes and some utility
28784           functions.
28785
28786 2005-06-29  Edward Hervey  <edward@fluendo.com>
28787
28788         * gst/gstelementfactory.c:
28789         * gst/gstutils.h:
28790         * gst/gstutils.c:
28791         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
28792         the definition to the header file.
28793
28794 2005-06-29  Andy Wingo  <wingo@pobox.com>
28795
28796         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
28797         plugins from the source directory.
28798
28799 2005-06-29  Wim Taymans  <wim@fluendo.com>
28800
28801         * docs/gst/tmpl/gstbuffer.sgml:
28802         * docs/gst/tmpl/gstclock.sgml:
28803         Some fixings for blantently wrong text.
28804
28805 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
28806
28807         * check/Makefile.am:
28808         * gst/gst.c: (add_path_func), (init_pre):
28809         * gst/gstregistry.c: (gst_registry_add_path):
28810           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
28811           only scan the GST_PLUGIN_PATH locations, and not add
28812           system locations
28813
28814 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
28815
28816         * docs/gst/gstreamer-sections.txt:
28817         * docs/gst/tmpl/gstbasesrc.sgml:
28818         * gst/gstelement.c:
28819         * gst/gstelement.h:
28820         * gst/gstevent.c:
28821         * gst/gstutils.c:
28822           doc fixes
28823
28824 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28825
28826         * docs/manual/advanced-autoplugging.xml:
28827           Fix autoplugging example.
28828
28829 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28830
28831         * docs/manual/advanced-autoplugging.xml:
28832         * docs/manual/mime-world.fig:
28833           Try to get autoplugging working, fix type detection. Fix text
28834           in hello-world image.
28835
28836 2005-06-29  Wim Taymans  <wim@fluendo.com>
28837
28838         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
28839         (gst_base_sink_change_state):
28840         Small debug line.
28841
28842         * gst/gstclock.h:
28843         map SIGNAL and BROADCAST to the right function.
28844
28845         * gst/gstobject.h:
28846         Remove redundant braces.
28847
28848         * gst/gstpad.c: (gst_pad_set_caps):
28849         Don't call setcaps function when reseting caps to NULL.
28850
28851         * gst/gstsystemclock.c: (gst_system_clock_dispose),
28852         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
28853         (gst_system_clock_id_unschedule):
28854         Use BROADCAST as this is what we do.
28855
28856 2005-06-29  Wim Taymans  <wim@fluendo.com>
28857
28858         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
28859         We are actually prerolling before commiting the state
28860         change. 
28861
28862 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28863
28864         * docs/manual/advanced-clocks.xml:
28865         * docs/manual/advanced-interfaces.xml:
28866         * docs/manual/advanced-metadata.xml:
28867         * docs/manual/advanced-position.xml:
28868         * docs/manual/advanced-schedulers.xml:
28869         * docs/manual/advanced-threads.xml:
28870         * docs/manual/appendix-porting.xml:
28871         * docs/manual/basics-bins.xml:
28872         * docs/manual/basics-bus.xml:
28873         * docs/manual/basics-elements.xml:
28874         * docs/manual/basics-helloworld.xml:
28875         * docs/manual/basics-pads.xml:
28876         * docs/manual/highlevel-components.xml:
28877         * docs/manual/manual.xml:
28878         * docs/manual/thread.fig:
28879           Update (until threads/scheduling) Application Development Manual;
28880           remove GstThread, add GstBus, add simple porting checklist, add
28881           documentation for tag writing, clocks, make all examples until this
28882           part compile and run.
28883         * examples/manual/Makefile.am:
28884           Update from changes to Application Development Manual; add bus
28885           example, remove thread example.
28886
28887 2005-06-28  Wim Taymans  <wim@fluendo.com>
28888
28889         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
28890         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
28891         (gst_bus_source_dispatch):
28892         Add debugging messages.
28893         Make internal methods static.
28894         Handle the case where the bus is flushed in the handler.
28895         
28896         * gst/gstelement.c: (gst_element_get_bus):
28897         Fix refcount in _get_bus();
28898
28899         * gst/gstpipeline.c: (gst_pipeline_change_state),
28900         (gst_pipeline_get_clock_func):
28901         Clock refcounting fixes.
28902         Handle the case where preroll timed out more gracefully.
28903         
28904         * gst/gstsystemclock.c: (gst_system_clock_dispose):
28905         Clean up the internal thread in dispose. This is needed
28906         for subclasses that actually get disposed.
28907         
28908         * gst/schedulers/threadscheduler.c:
28909         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
28910         (gst_thread_scheduler_dispose):
28911         Free thread pool in dispose.
28912
28913 2005-06-28  Andy Wingo  <wingo@pobox.com>
28914
28915         * tests/network-clock-utils.scm (debug, print-event): New utils.
28916
28917         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
28918         (*packet-loss*): Unified loss probability.
28919         (network-time): Report out-of-band events.
28920
28921         * tests/plot-data: Add support for out-of-band events. Hack it
28922         into this script instead of passing it down the pipe; should fix
28923         this later.
28924
28925 2005-06-28  Wim Taymans  <wim@fluendo.com>
28926
28927         * docs/gst/gstreamer.types:
28928         * docs/gst/tmpl/gstbasesrc.sgml:
28929         * docs/gst/tmpl/gstpad.sgml:
28930         Docs fixes.
28931
28932 2005-06-28  Wim Taymans  <wim@fluendo.com>
28933
28934         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28935         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
28936         (gst_proxy_pad_do_fixatecaps):
28937         Correctly proxy the check_pull_range function.
28938
28939 2005-06-28  Andy Wingo  <wingo@pobox.com>
28940
28941         * tests/network-clock.scm: Removed need for slib.
28942         
28943 2005-06-28  Wim Taymans  <wim@fluendo.com>
28944
28945         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
28946         (gst_basesink_preroll_queue_flush):
28947         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
28948         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
28949         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28950         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
28951         (gst_proxy_pad_set_property):
28952         * gst/gstpad.c:
28953         * gst/gstpad.h:
28954         * gst/gstqueue.c: (gst_queue_init):
28955         The deprecated pad loop function is removed now.
28956
28957 2005-06-28  Andy Wingo  <wingo@pobox.com>
28958
28959         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
28960         New parameters, simulate network packet loss.
28961
28962         * tests/network-clock-utils.scm: Initialize the RNG.
28963
28964 2005-06-28  Wim Taymans  <wim@fluendo.com>
28965
28966         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
28967         (gst_basesink_event), (gst_basesink_deactivate):
28968         Flushing the preroll queue always needs to unlock the waiters.
28969
28970 2005-06-28  Edward Hervey  <edward@fluendo.com>
28971
28972         * gst/gstpipeline.c: (gst_pipeline_send_event): 
28973         Wheen a seek was successful on a pipeline, set the stream_time to the
28974         seek offset in order to have a synchronized stream_time.
28975
28976 2005-06-28  Wim Taymans  <wim@fluendo.com>
28977
28978         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28979         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
28980         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
28981         (gst_proxy_pad_do_fixatecaps):
28982         Call wrapper function instead of just calling the function
28983         pointers. This takes care of any locking and whatmore.
28984
28985 2005-06-28  Wim Taymans  <wim@fluendo.com>
28986
28987         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
28988         (gst_pad_pull_range):
28989         * gst/gstpad.h:
28990         CONNECTED -> LINKED.
28991
28992 2005-06-28  Andy Wingo  <wingo@pobox.com>
28993
28994         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
28995         source-munging commit!!!
28996
28997         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
28998         (gst_object_sink): Take gpointer arguments, not GstObject --
28999         avoids casts. Like GLib.
29000
29001         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
29002         activate.
29003
29004 2005-06-27  Andy Wingo  <wingo@pobox.com>
29005
29006         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
29007         remaining buffer.
29008
29009         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
29010         returns a sorted copy of the trace list.
29011         (gst_alloc_trace_print_live): New API, only prints traces with
29012         live objects. Sort the list.
29013         (gst_alloc_trace_print_all): Sort the list.
29014         (gst_alloc_trace_print): Align columns.
29015
29016         * gst/elements/gstttypefindelement.c:
29017         * gst/elements/gsttee.c:
29018         * gst/base/gstbasesrc.c:
29019         * gst/base/gstbasesink.c:
29020         * gst/base/gstbasetransform.c:
29021         * gst/gstqueue.c: Adapt for pad activation changes.
29022
29023         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
29024         sched.
29025         (gst_pipeline_dispose): Drop ref on sched.
29026
29027         * gst/gstpad.c (gst_pad_init): Set the default activate func.
29028         (gst_pad_activate_default): Push mode by default.
29029         (pre_activate_switch, post_activate_switch): New stubs, things to
29030         do before and after switching activation modes on pads.
29031         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
29032         the pad's activate function to choose which mode to activate.
29033         Shortcut on deactivation and call the right function directly.
29034         (gst_pad_activate_pull): New API, (de)activates a pad in pull
29035         mode.
29036         (gst_pad_activate_push): New API, same for push mode.
29037         (gst_pad_set_activate_function) 
29038         (gst_pad_set_activatepull_function) 
29039         (gst_pad_set_activatepush_function): Setters for new API.
29040
29041         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
29042         Trace all miniobjects.
29043         (gst_mini_object_make_writable): Unref the arg if we copy, like
29044         gst_caps_make_writable.
29045
29046         * gst/gstmessage.c (_gst_message_initialize): No trace init.
29047
29048         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
29049         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
29050         Adapt for new pad API.
29051
29052         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
29053
29054         * gst/gstelement.h:
29055         * gst/gstelement.c (gst_element_iterate_src_pads) 
29056         (gst_element_iterate_sink_pads): New API functions.
29057         
29058         * gst/gstelement.c (iterator_fold_with_resync): New utility,
29059         should fold into gstiterator.c in some form.
29060         (gst_element_pads_activate): Simplified via use of fold and
29061         delegation of decisions to gstpad->activate.
29062
29063         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
29064         help in debugging.
29065
29066         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
29067         class once in init, like gstmessage. Didn't run into this issue
29068         but it seems correct. Don't initialize a trace, gstminiobject does
29069         that.
29070
29071         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
29072         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
29073         to the bus.
29074         (assert_live_count): New util function, uses alloc traces to check
29075         cleanup.
29076
29077         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
29078         To be modified when unlink drops the internal pad.
29079
29080 2005-06-27  Wim Taymans  <wim@fluendo.com>
29081
29082         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
29083         (gst_bin_change_state):
29084         Cleanup the get_state() function a little, make sure it
29085         iterates the same set of elements.
29086         Added stub iterate_state_order().
29087
29088 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
29089
29090         * docs/gst/gstreamer-docs.sgml:
29091         * docs/gst/gstreamer-sections.txt:
29092         * docs/gst/gstreamer.types:
29093         * docs/gst/tmpl/gstbasesink.sgml:
29094         * docs/gst/tmpl/gstbasesrc.sgml:
29095         * docs/gst/tmpl/gstbasetransform.sgml:
29096         * docs/gst/tmpl/gstelement.sgml:
29097         * docs/gst/tmpl/gstiterator.sgml:
29098         * gst/base/gstbasesrc.c:
29099         * gst/base/gstbasesrc.h:
29100         * gst/base/gstbasetransform.h:
29101         * gst/gstelement.c:
29102         * gst/gstiterator.h:
29103           adding basetransform and iterator docs
29104
29105 2005-06-27  Andy Wingo  <wingo@pobox.com>
29106
29107         * docs/design/part-activation.txt: Notes on how activation should
29108         work -- not quite implemented yet.
29109
29110 2005-06-25  Wim Taymans  <wim@fluendo.com>
29111
29112         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
29113         At least get the chain function correct, needs more
29114         fixing.
29115
29116 2005-06-25  Wim Taymans  <wim@fluendo.com>
29117
29118         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29119         (gst_basesink_handle_object), (gst_basesink_event),
29120         (gst_basesink_do_sync), (gst_basesink_handle_event),
29121         (gst_basesink_change_state):
29122         * gst/gsttask.h:
29123         Right, two problems here: ghostpads don't take locks and
29124         glib _rec_mutex_lock_full() with depth==0 still locks.
29125         Catch illegal locking and g_warn them.
29126
29127 2005-06-25  Wim Taymans  <wim@fluendo.com>
29128
29129         * check/states/sinks.c: (START_TEST), (gst_object_suite):
29130         Have to check for completion now...
29131
29132 2005-06-25  Wim Taymans  <wim@fluendo.com>
29133
29134         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29135         (gst_basesink_handle_object), (gst_basesink_event),
29136         (gst_basesink_do_sync), (gst_basesink_handle_event),
29137         (gst_basesink_change_state):
29138         * gst/gstpad.h:
29139         Unlock STREAM_LOCK whatever the recursion was.
29140
29141 2005-06-25  Wim Taymans  <wim@fluendo.com>
29142
29143         * gst/base/gstbasesink.c: (gst_basesink_set_property),
29144         (gst_basesink_preroll_queue_empty),
29145         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
29146         (gst_basesink_event), (gst_basesink_do_sync),
29147         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
29148         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
29149         (gst_basesink_change_state):
29150         Reworked the base sink, handle event and buffer serialisation
29151         correctly and removed possible deadlock.
29152         Handle EOS correctly.
29153
29154 2005-06-25  Wim Taymans  <wim@fluendo.com>
29155
29156         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
29157         (gst_pipeline_change_state):
29158         * tools/gst-launch.c: (check_intr), (event_loop), (main):
29159         Allow elements to post EOS in the state change function.
29160         Fix up -launch, make it exit the poll loop when the
29161         pipeline actually changed state.
29162         Fix up warning parsing in -launch.
29163
29164 2005-06-25  Wim Taymans  <wim@fluendo.com>
29165
29166         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
29167         (gst_tee_sink_activate):
29168         Core takes STREAM_LOCK for us now.
29169
29170 2005-06-25  Wim Taymans  <wim@fluendo.com>
29171
29172         * gst/gstelement.c: (gst_element_get_state_func),
29173         (gst_element_set_state):
29174         * gst/gstelement.h:
29175         * gst/gstmessage.c: (gst_message_parse_error),
29176         (gst_message_parse_warning):
29177         Keep track of current target state while performing a state
29178         change so that subclasses can do something interesting.
29179         Fix parsing of warning/error messages when GError is NULL.
29180
29181 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
29182
29183         * docs/gst/Makefile.am:
29184         * docs/gst/gstreamer-docs.sgml:
29185         * docs/gst/gstreamer-sections.txt:
29186         * docs/gst/gstreamer.types:
29187         * docs/gst/tmpl/gstbasesink.sgml:
29188         * docs/gst/tmpl/gstbasesrc.sgml:
29189         * docs/gst/tmpl/gstbin.sgml:
29190         * docs/gst/tmpl/gstcompat.sgml:
29191         * docs/gst/tmpl/gstfakesink.sgml:
29192         * docs/gst/tmpl/gstfakesrc.sgml:
29193         * docs/gst/tmpl/gstfilesink.sgml:
29194         * docs/gst/tmpl/gstfilesrc.sgml:
29195         * docs/gst/tmpl/gstindex.sgml:
29196         * docs/manual/appendix-quotes.xml:
29197         * gst/base/gstbasesrc.h:
29198         * gst/elements/gstfakesrc.h:
29199         * gst/gstmessage.h:
29200           start pulling in base classes and elements in our docs
29201
29202 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
29203
29204         * docs/gst/Makefile.am:
29205         * docs/libs/Makefile.am:
29206           fixed make distcheck with gtk-doc 1.3
29207
29208 2005-06-23  Wim Taymans  <wim@fluendo.com>
29209
29210         * gst/gstelement.c: (gst_element_get_state_func),
29211         (gst_element_set_state), (gst_element_change_state):
29212         When the state did not change, also report NO_PREROLL
29213         when it matters.
29214
29215 2005-06-23  Wim Taymans  <wim@fluendo.com>
29216
29217         * gst/gstpad.c: (gst_pad_event_default):
29218         * gst/gstqueue.c: (gst_queue_loop):
29219         No unsafe task pausing please.
29220
29221 2005-06-23  Wim Taymans  <wim@fluendo.com>
29222
29223         * gst/schedulers/threadscheduler.c:
29224         (gst_thread_scheduler_task_start),
29225         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
29226         Ref the task before pushing it on the threadpool. This
29227         makes sure that we have a ref when the threadfunction is
29228         actually called.
29229
29230 2005-06-23  Andy Wingo  <wingo@pobox.com>
29231
29232         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
29233         offset is greater than the file's size.
29234
29235         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
29236         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
29237         * gst/gstobject.c (gst_object_class_init): Make the class lock
29238         recursive. Wim won't let me drop deep_notify. Decodebin works
29239         again, whoopdy doo.
29240
29241         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
29242         internal pad, and hacks accordingly. Doesn't do it on the target
29243         pad because we change its caps. Probably catches all cases of
29244         interest tho.
29245         (gst_ghost_pad_set_property): Connect to notify::caps as
29246         appropritate.
29247
29248         * tests/network-clock.scm (plot-simulation): Pipe data to the
29249         elite python skript.
29250
29251         * tests/network-clock-utils.scm (define-parameter): New macro,
29252         defines a parameter that can be set via the command line.
29253         (set-parameter!, parse-parameter-arguments): Command line args
29254         parser.
29255
29256         * tests/plot-data: Simple matplotlib-based plotter, takes input on
29257         stdin.
29258
29259 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
29260
29261         * gst/elements/gsttypefindelement.c:
29262         (gst_type_find_element_handle_event):
29263           Don't restart typefinding on a discont.
29264         * gst/gstelement.c: (gst_element_set_state):
29265           Debug spelling fix.
29266         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
29267           Allow changing mode of an active pad.
29268           Debug output fixes.
29269         * gst/registries/gstlibxmlregistry.c: (load_feature):
29270           Don't cast a static pad template to a normal pad template.
29271
29272 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
29273
29274         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29275         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29276           remove gst_strtoll completely, since it didn't actually do
29277           anything more than what g_ascii_strtoull already does.
29278           check for range errors when deserializing
29279           do a cast for the unsigned cases; but further fixing needs
29280           a decision on what the interpretation of "(int)" and
29281           deserialization should be for values that fall outside the
29282           type's boundaries (ie, refuse, or interpret as casting)
29283
29284 2005-06-23  Wim Taymans  <wim@fluendo.com>
29285
29286         * check/Makefile.am:
29287         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
29288         * docs/design/part-live-source.txt:
29289         * docs/design/part-states.txt:
29290         * gst/base/gstbasesrc.c: (gst_basesrc_init),
29291         (gst_basesrc_set_live), (gst_basesrc_is_live),
29292         (gst_basesrc_get_range), (gst_basesrc_activate),
29293         (gst_basesrc_change_state):
29294         * gst/base/gstbasesrc.h:
29295         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
29296         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
29297         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
29298         * gst/gstelement.c: (gst_element_get_state_func),
29299         (gst_element_set_state):
29300         * gst/gstelement.h:
29301         * gst/gsttypes.h:
29302         * tools/gst-launch.c: (event_loop), (main):
29303         Added support for live sources and other elements that
29304         cannot do preroll.
29305         Updated design docs, added live-source design doc.
29306         Implemented live source functionality in basesrc
29307         Fix error condition in _bin_get_state()
29308         Implement live source handling in -launch.
29309         Added check for live sources.
29310         Fixed case in GstBin where elements were changed state
29311         multiple times.
29312
29313
29314 2005-06-23  Andy Wingo  <wingo@pobox.com>
29315
29316         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
29317         borken refcounting.
29318
29319         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
29320         gst_caps_replace takes care of this for us.
29321
29322         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
29323         gst_pad_set_caps on the target, not just its setcaps() function.
29324
29325         * tests/network-clock.scm: 
29326         * tests/network-clock-utils.scm: A network clock simulator.
29327         Something of an algorithmic testbed before doing something in C.
29328
29329 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29330
29331         * check/Makefile.am:
29332         * check/gst/capslist.h:
29333           copy over from 0.8, and add two with bitmasks specified with
29334           (int) 0xFF...
29335         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29336           add test to parse everything from capslist.h
29337         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
29338         (main):
29339           add test for structure deserialization
29340         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29341           add tests for deserialization of strings to int types
29342         * gst/gststructure.c: (gst_structure_nth_field_name):
29343         * gst/gststructure.h:
29344           add a way to get the name of a field referenced by index
29345         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29346           instead of checking if the resulting long long lies between
29347           min and max, we check if the long long would fit into
29348           a number of bytes for the final type.
29349           This fixes cases where a string represents 2^32 - 1, which
29350           when cast to int would be the (valid) -1, but is bigger than
29351           G_MAXINT
29352
29353 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29354
29355         * gst/parse/grammar.y:
29356           add a log line for type deserialization
29357
29358 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29359
29360         * check/gst/gstvalue.c: (START_TEST):
29361         * gst/gstvalue.c: (gst_value_deserialize):
29362           return long long, not int, so gint64 deserialization actually
29363           works.  Is there any flag that makes the compiler check this ?
29364           Fixes #308559
29365
29366 2005-06-22  Wim Taymans  <wim@fluendo.com>
29367
29368         * gst/gstbuffer.h:
29369         Added convenience macros for setting buffers in GValue.
29370
29371 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
29372
29373         * check/gst/.cvsignore:
29374         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29375           add a test deserializing int64, and comment part out because
29376           it fails, yay !
29377
29378 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
29379
29380         * check/Makefile.am:
29381         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
29382         * testsuite/Makefile.am:
29383         * testsuite/caps/Makefile.am:
29384         * testsuite/caps/value_serialize.c:
29385         * testsuite/test_gst_init.c:
29386           move a value_serialize test over
29387
29388 2005-06-20  Wim Taymans  <wim@fluendo.com>
29389
29390         * gst/gstpad.c:
29391         Small doc updates.
29392         
29393         * gst/gstvalue.c: (gst_value_compare_buffer),
29394         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
29395         (gst_value_compare_flags), (gst_value_serialize_flags),
29396         (gst_value_deserialize_flags), (_gst_value_initialize):
29397         Fix serialisation of buffers, they are not boxed types anymore
29398
29399 2005-06-20  Wim Taymans  <wim@fluendo.com>
29400
29401         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29402         Testcase to show error in buffer-on-caps serialisation.
29403
29404 2005-06-20  Andy Wingo  <wingo@pobox.com>
29405
29406         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
29407         will be adding to later.
29408
29409         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
29410         if its socks fill with rocks.
29411         (gst_system_clock_obtain): Set the name on object construction.
29412         Avoid double-checked locking.
29413
29414 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
29415
29416         * gst/gsturi.c: (gst_element_make_from_uri):
29417           Fix potential endless loop.
29418
29419 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29420
29421         * check/Makefile.am:
29422           add gsttag
29423         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
29424         (main):
29425           move over from testsuite dir and clean up
29426         * configure.ac:
29427         * gst/gsttag.c:
29428         * testsuite/Makefile.am:
29429         * testsuite/tags/.cvsignore:
29430         * testsuite/tags/Makefile.am:
29431         * testsuite/tags/merge.c:
29432           remove testsuite/tags
29433
29434 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29435
29436         * docs/gst/gstreamer-sections.txt:
29437         * docs/gst/tmpl/gstenumtypes.sgml:
29438         * win32/gstenumtypes.c:
29439           clean up documentation build a little
29440
29441 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29442
29443         * check/gstcheck.h:
29444           add macros for checking refcounts on objects and caps
29445         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
29446           add some more unit tests
29447         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
29448         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
29449           fix leaked refcounts (I hope :)) so unittest works
29450         * gst/gstpad.h:
29451           whitespace removal
29452
29453 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29454
29455         * configure.ac: back to HEAD
29456
29457 === release 0.9.1 ===
29458
29459 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
29460
29461         * NEWS:
29462         * RELEASE:
29463           updated
29464
29465 2005-06-17  Andy Wingo  <wingo@pobox.com>
29466
29467         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
29468         assert; it's always possible that the pad gets deactivated in
29469         between the checks in gstpad.c and the implementation. Rely on
29470         finish_preroll() to return a FLUSHING or similar instead of on the
29471         assert.
29472         
29473         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
29474         clock and post an EOS message if we come out of finish_preroll in
29475         the playing state.
29476
29477 2005-06-16  David Schleef  <ds@schleef.org>
29478
29479         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
29480         (gst_capsfilter_set_property): Allow NULL as possible value
29481         for filter_caps property, indicating GST_CAPS_ANY.
29482
29483 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
29484
29485         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
29486           fix debug output
29487         * gst/schedulers/Makefile.am:
29488           use libgst prefix
29489         * gstreamer.spec.in:
29490           fix spec for it
29491
29492 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
29493
29494         * gstreamer.spec.in:
29495           clean up
29496
29497 2005-06-08  Andy Wingo  <wingo@pobox.com>
29498
29499         * gst/gstutils.c: RPAD fixes all around.
29500         (gst_element_link_pads): Refcounting fixes.
29501
29502         * tools/gst-inspect.c:
29503         * tools/gst-xmlinspect.c:
29504         * parse/grammar.y:
29505         * gst/base/gsttypefindhelper.c:
29506         * gst/base/gstbasesink.c:
29507         * gst/gstqueue.c: RPAD fixes.
29508
29509         * gst/gstghostpad.h:
29510         * gst/gstghostpad.c: New ghost pad implementation as full proxy
29511         pads. The tricky thing is they provide both source and sink
29512         interfaces, since they proxy the internal pad for the external
29513         pad, and vice versa. Implement with lower-level ProxyPad objects,
29514         with the interior proxy pad as a child of the exterior ghost pad.
29515         Should write a doc on this.
29516         
29517         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
29518         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
29519         gst_object API.
29520         
29521         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
29522         pads are real pads. No ghost pads in this file. Not documenting
29523         the myriad s/RPAD/PAD/ and REALIZE fixes.
29524         (gst_pad_class_init): Add properties for "direction" and
29525         "template". Both are construct-only, so they can't change during
29526         the life of the pad. Fixes properly deriving from GstPad.
29527         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
29528         derived objects, just set properties when creating the objects via
29529         g_object_new.
29530         (gst_pad_get_parent): Implement as a function, return NULL if the
29531         parent is not an element.
29532         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
29533         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
29534         
29535         * gst/gstobject.c (gst_object_class_init): Make name a construct
29536         property. Don't set it in the object init.
29537
29538         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
29539         with UNKNOWN direction.
29540         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
29541         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
29542         (gst_element_remove_pad): Remove ghost-pad special cases.
29543         (gst_element_pads_activate): Remove rpad cruft.
29544
29545         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
29546         catch the pad's-parent-not-an-element case.
29547
29548         * gst/gst.h: Include gstghostpad.h.
29549
29550         * gst/gst.c (init_post): No more real, ghost pads.
29551
29552         * gst/Makefile.am: Add gstghostpad.[ch].
29553
29554         * check/Makefile.am:
29555         * check/gst/gstbin.c:
29556         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
29557         into a bin creates ghost pads, and that the refcounts are right.
29558         Partly moved from gstbin.c.
29559
29560 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29561
29562         * check/gst-libs/.cvsignore:
29563         * check/gst/.cvsignore:
29564         * check/pipelines/.cvsignore:
29565           ignore more
29566         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
29567         (START_TEST), (cleanup_suite), (main):
29568           add some tests related to cleanup after running pipelines
29569
29570 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29571
29572         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
29573           add a testsuite for GstBuffer
29574
29575 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29576
29577         * gst/gstminiobject.h:
29578           add defines for accessing the refcount
29579
29580 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
29581
29582         * Makefile.am: added support for html unit test coverage reports
29583
29584 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
29585
29586         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
29587           Free existing caps if the capsfilter changes. Add a FIXME about
29588           setting those caps on the pads.
29589
29590         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
29591           Before adding a ghost pad to a parent bin, check that there isn't
29592           already one for the element on the bin. Prevents infinite recursion
29593           when using decodebin in parse pipelines. Andy says he'll rewrite the
29594           way this works anyway, so ignore the hack.
29595
29596 2005-06-02  Andy Wingo  <wingo@pobox.com>
29597
29598         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
29599         file size, pass it on to the type find helper.
29600
29601         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
29602         segment_start and segment_end properly according to the seek
29603         method. Segment_end is still a bit flaky because offset can be
29604         negative for CUR and END cases, but it takes -1 as an "unset"
29605         value.
29606
29607 2005-06-02  Wim Taymans  <wim@fluendo.com>
29608
29609         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
29610         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
29611         (gst_basesink_activate):
29612         * gst/base/gstbasesink.h:
29613         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29614         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29615         (gst_pad_query), (gst_pad_start_task):
29616         * gst/gstpad.h:
29617         * gst/gstqueue.c: (gst_queue_bufferalloc),
29618         (gst_queue_handle_sink_event), (gst_queue_chain):
29619         Bufferalloc: return GstFlowReturn to more accuratly report
29620         why allocation failed.
29621
29622 2005-06-02  Wim Taymans  <wim@fluendo.com>
29623
29624         * gst/gstpipeline.c: (gst_pipeline_send_event):
29625         Take snapshot of state without blocking.
29626
29627 2005-06-02  Wim Taymans  <wim@fluendo.com>
29628
29629         * docs/design/part-TODO.txt:
29630         * docs/design/part-caps.txt:
29631         * docs/design/part-clocks.txt:
29632         * docs/design/part-negotiation.txt:
29633         * docs/design/part-preroll.txt:
29634         Small doc updates 
29635
29636 2005-05-30  Wim Taymans  <wim@fluendo.com>
29637
29638         * gst/elements/gstidentity.c: (gst_identity_event),
29639         (gst_identity_transform), (gst_identity_get_property):
29640         Protect last_message property as it is accessed from
29641         multiple threads.
29642
29643 2005-05-30  Wim Taymans  <wim@fluendo.com>
29644
29645         * gst/gstelement.c: (gst_element_init),
29646         (gst_element_pads_activate), (gst_element_change_state):
29647         Slicker pad activation code.
29648
29649 2005-05-30  Wim Taymans  <wim@fluendo.com>
29650
29651         * gst/Makefile.am:
29652         * gst/gstelement.h:
29653         * gst/gstelementfactory.h:
29654         * gst/gsttypes.h:
29655         Move elementfactory methods to separate .h file.
29656
29657 2005-05-30  Wim Taymans  <wim@fluendo.com>
29658
29659         * docs/design/part-overview.txt:
29660         * gst/gstsystemclock.h:
29661         Small typo fixes, doc updates.
29662
29663 2005-05-30  Wim Taymans  <wim@fluendo.com>
29664
29665         * gst/gst.c: (gst_init_get_popt_table), (init_post),
29666         (init_popt_callback):
29667         Remove cpu-opt flag.
29668
29669 2005-05-30  Wim Taymans  <wim@fluendo.com>
29670
29671         * gst/gstbuffer.c: (gst_subbuffer_finalize),
29672         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
29673         * gst/gstbuffer.h:
29674         Avoid typechecking in places where not needed.
29675         Added accessor for malloc_data.
29676
29677 2005-05-30  Wim Taymans  <wim@fluendo.com>
29678
29679         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
29680         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
29681         (gst_pad_configure_sink), (gst_pad_configure_src),
29682         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
29683         (gst_pad_start_task):
29684         Propagate errors from _set_caps() in configure_src/sink
29685         functions instead of returning TRUE.
29686         FLUSH events can travel up and downstream
29687
29688
29689 2005-05-30  Wim Taymans  <wim@fluendo.com>
29690
29691         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
29692         (gst_basesink_activate):
29693         Handle EOS in preroll.
29694
29695 2005-05-30  Wim Taymans  <wim@fluendo.com>
29696
29697         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
29698         (gst_queue_loop), (gst_queue_handle_src_event):
29699         Remove old pieces of code
29700         Flushing the queue in an upstream event is a very bad idea.
29701
29702 2005-05-26  Andy Wingo  <wingo@pobox.com>
29703
29704         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
29705         gst_value_set_mini_object so as to add a ref on the object (which
29706         will be removed when the value is unset).
29707
29708         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
29709         arg type in ::handoff.
29710
29711         * gst/gstelement.c (gst_element_change_state): Also deactivate
29712         pads in READY->NULL, just in case the element didn't make it to
29713         PAUSED. Wingo tested, Wim approved.
29714
29715 2005-05-26  Wim Taymans  <wim@fluendo.com>
29716
29717         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29718         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29719         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
29720         A flushing pad cannot be used to alloc_buffer from.
29721
29722 2005-05-26  Wim Taymans  <wim@fluendo.com>
29723
29724         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
29725         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
29726         (gst_bus_source_dispatch), (gst_bus_source_finalize),
29727         (gst_bus_create_watch), (gst_bus_add_watch_full):
29728         * gst/gstbus.h:
29729         Implement a real GSource and use g_main_context_wakeup() to
29730         signal new messages instead of the socketpair.
29731
29732 2005-05-25  Wim Taymans  <wim@fluendo.com>
29733
29734         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
29735         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
29736         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29737         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
29738         (gst_pad_send_event), (gst_pad_start_task):
29739         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
29740         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
29741         (gst_queue_sink_activate), (gst_queue_src_activate),
29742         (gst_queue_change_state):
29743         * gst/gstqueue.h:
29744         Fix state changes for non sinks. We now change sinks, then elements
29745         with unconnected srcpads, then the rest.
29746         More efficient queue unlocking in flush and state changes.
29747         Set the pad activate mode even if it does not have an activate
29748         function.
29749
29750 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29751
29752         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
29753           Don't go in pull mode for non-seekable sources.
29754         * gst/elements/gsttypefindelement.h:
29755         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
29756         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
29757         (free_entry), (stop_typefinding),
29758         (gst_type_find_element_handle_event), (find_peek),
29759         (gst_type_find_element_chain), (do_pull_typefind),
29760         (gst_type_find_element_change_state):
29761           Allow typefinding (w/o seeking) in push-mode, simplified version
29762           of what was in 0.8.
29763         * gst/gstutils.c: (gst_buffer_join):
29764         * gst/gstutils.h:
29765           gst_buffer_join() from 0.8.
29766
29767 2005-05-25  Wim Taymans  <wim@fluendo.com>
29768
29769         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29770         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
29771         (gst_pad_send_event), (gst_pad_start_task):
29772         Disable attempt at mode switching until it is figured out.
29773
29774 2005-05-25  Wim Taymans  <wim@fluendo.com>
29775
29776         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
29777         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
29778         (gst_basesink_finish_preroll), (gst_basesink_chain),
29779         (gst_basesink_loop), (gst_basesink_activate),
29780         (gst_basesink_change_state):
29781         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
29782         (gst_basesrc_get_range), (gst_basesrc_loop),
29783         (gst_basesrc_activate):
29784         * gst/elements/gsttee.c: (gst_tee_sink_activate):
29785         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
29786         (gst_real_pad_init), (gst_real_pad_set_property),
29787         (gst_real_pad_get_property), (gst_pad_set_active),
29788         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
29789         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
29790         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
29791         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
29792         (gst_pad_event_default_dispatch), (gst_pad_event_default),
29793         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
29794         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
29795         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
29796         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
29797         (gst_pad_stop_task):
29798         * gst/gstpad.h:
29799         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
29800         (gst_queue_loop), (gst_queue_src_activate):
29801         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
29802         (gst_task_get_state):
29803         * gst/gsttask.h:
29804         * gst/schedulers/threadscheduler.c:
29805         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
29806         Implement gst_pad_pause/start/stop_task(), take STREAM lock
29807         in task function.
29808         Remove ACTIVE pad flag, use FLUSHING everywhere
29809         Added _pad_chain(), _pad_get_range() to call chain/getrange 
29810         functions.
29811         Add locks around IS_FLUSHING when reading.
29812         Take STREAM lock in chain(), get_range() functions so plugins
29813         don't need to take it anymore.
29814         
29815
29816
29817 2005-05-25  Wim Taymans  <wim@fluendo.com>
29818
29819         * tools/gst-launch.c: (event_loop):
29820         Unref message after using its contents instead of
29821         before.
29822
29823 2005-05-24  Wim Taymans  <wim@fluendo.com>
29824
29825         * docs/design/draft-ghostpads.txt:
29826         * docs/design/draft-push-pull.txt:
29827         * docs/design/draft-query.txt:
29828         * docs/design/part-overview.txt:
29829         Docs updates, added general overview doc.
29830
29831 2005-05-21  David Schleef  <ds@schleef.org>
29832
29833         * docs/gst/tmpl/old/GstBin.sgml:
29834         * docs/gst/tmpl/old/GstBuffer.sgml:
29835         * docs/gst/tmpl/old/GstCaps.sgml:
29836         * docs/gst/tmpl/old/GstClock.sgml:
29837         * docs/gst/tmpl/old/GstCompat.sgml:
29838         * docs/gst/tmpl/old/GstData.sgml:
29839         * docs/gst/tmpl/old/GstElement.sgml:
29840         * docs/gst/tmpl/old/GstEvent.sgml:
29841         * docs/gst/tmpl/old/GstIndex.sgml:
29842         * docs/gst/tmpl/old/GstStructure.sgml:
29843         * docs/gst/tmpl/old/GstTag.sgml:
29844         * docs/gst/tmpl/old/cothreads.sgml:
29845         * docs/gst/tmpl/old/cothreads_compat.sgml:
29846         * docs/gst/tmpl/old/gettext.sgml:
29847         * docs/gst/tmpl/old/gobject2gtk.sgml:
29848         * docs/gst/tmpl/old/grammar.tab.sgml:
29849         * docs/gst/tmpl/old/gst-i18n-app.sgml:
29850         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
29851         * docs/gst/tmpl/old/gst_private.sgml:
29852         * docs/gst/tmpl/old/gstaggregator.sgml:
29853         * docs/gst/tmpl/old/gstarch.sgml:
29854         * docs/gst/tmpl/old/gstatomic_impl.sgml:
29855         * docs/gst/tmpl/old/gstbufferstore.sgml:
29856         * docs/gst/tmpl/old/gstdata_private.sgml:
29857         * docs/gst/tmpl/old/gstdisksink.sgml:
29858         * docs/gst/tmpl/old/gstdisksrc.sgml:
29859         * docs/gst/tmpl/old/gstelementfactory.sgml:
29860         * docs/gst/tmpl/old/gstextratypes.sgml:
29861         * docs/gst/tmpl/old/gstfakesink.sgml:
29862         * docs/gst/tmpl/old/gstfakesrc.sgml:
29863         * docs/gst/tmpl/old/gstfdsink.sgml:
29864         * docs/gst/tmpl/old/gstfdsrc.sgml:
29865         * docs/gst/tmpl/old/gstfilesink.sgml:
29866         * docs/gst/tmpl/old/gstfilesrc.sgml:
29867         * docs/gst/tmpl/old/gsthttpsrc.sgml:
29868         * docs/gst/tmpl/old/gstidentity.sgml:
29869         * docs/gst/tmpl/old/gstindexfactory.sgml:
29870         * docs/gst/tmpl/old/gstmarshal.sgml:
29871         * docs/gst/tmpl/old/gstmd5sink.sgml:
29872         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
29873         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
29874         * docs/gst/tmpl/old/gstpadtemplate.sgml:
29875         * docs/gst/tmpl/old/gstpipefilter.sgml:
29876         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
29877         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
29878         * docs/gst/tmpl/old/gstshaper.sgml:
29879         * docs/gst/tmpl/old/gstspider.sgml:
29880         * docs/gst/tmpl/old/gstspideridentity.sgml:
29881         * docs/gst/tmpl/old/gststatistics.sgml:
29882         * docs/gst/tmpl/old/gsttee.sgml:
29883         * docs/gst/tmpl/old/gsttimecache.sgml:
29884         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
29885         * docs/gst/tmpl/old/gstxmlregistry.sgml:
29886         * docs/gst/tmpl/old/gthread-cothreads.sgml:
29887         * docs/gst/tmpl/old/types.sgml:
29888           I didn't intend to add these or check them in.
29889
29890 2005-05-19  David Schleef  <ds@schleef.org>
29891
29892         * configure.ac: Use -no-common everywhere.  In a sane world, it
29893           would be the default in libtool, because without it, you can't
29894           build DLLs on Windows.
29895         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
29896         * docs/gst/gstreamer-sections.txt:
29897         * docs/gst/tmpl/gstcpu.sgml:
29898         * docs/gst/tmpl/gstdata.sgml:
29899         * docs/gst/tmpl/gstthread.sgml:
29900
29901 2005-05-19  David Schleef  <ds@schleef.org>
29902
29903         * gst/gstminiobject.c: (gst_value_set_mini_object),
29904         (gst_value_take_mini_object), (gst_value_get_mini_object):
29905         * gst/gstminiobject.h: Add GValue set/get functions.
29906
29907 2005-05-19  Wim Taymans  <wim@fluendo.com>
29908
29909         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
29910         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
29911         (gst_subbuffer_init), (gst_buffer_is_span_fast):
29912         * gst/gstbuffer.h:
29913         * gst/gstbus.c: (gst_bus_post):
29914         * gst/gstelement.c: (gst_element_get_random_pad):
29915         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
29916         Make subbufer unref the parent in finalize.
29917         some more debugging info.
29918
29919
29920 2005-05-19  Wim Taymans  <wim@fluendo.com>
29921
29922         * gst/base/gstbasesink.c: (gst_basesink_class_init),
29923         (gst_basesink_init), (gst_basesink_finalize),
29924         (gst_basesink_activate), (gst_basesink_change_state):
29925         Don't free preroll queue too early.
29926
29927 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29928
29929         * gst/Makefile.am:
29930         * gst/ROADMAP:
29931           Hi, I'm outdated. Please shoot me.
29932
29933 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29934
29935         * gst/gstpipeline.c: (gst_pipeline_send_event):
29936           Do not access variables after they have been deleted.
29937
29938 2005-05-19  Wim Taymans  <wim@fluendo.com>
29939
29940         * tools/gst-inspect.c: (print_plugin_features):
29941         A plugin feature does unfortunatly not use the
29942         object name yet...
29943
29944 2005-05-18  Wim Taymans  <wim@fluendo.com>
29945
29946         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
29947         Port _span() functions to new subbuffers.
29948
29949 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29950
29951         * gst/gstbin.c: (gst_bin_add_func):
29952           Fix clock settery in bins when adding kids after the clock has
29953           been selected.
29954
29955 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29956
29957         * gst/elements/gstidentity.c: (gst_identity_class_init):
29958           Workaround until signals support GstMiniObject.
29959
29960 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
29961
29962         * gst/gstbuffer.c:
29963         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
29964
29965 2005-05-18  Wim Taymans  <wim@fluendo.com>
29966
29967         * gst/base/Makefile.am:
29968         * gst/base/gstadapter.c: (gst_adapter_base_init),
29969         (gst_adapter_class_init), (gst_adapter_init),
29970         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
29971         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
29972         (gst_adapter_flush), (gst_adapter_available),
29973         (gst_adapter_available_fast):
29974         * gst/base/gstadapter.h:
29975         Ported and added adapter to the base classes.
29976
29977 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
29978
29979         * gst/gst.c:
29980         * gst/gstmessage.c:
29981           Make sure the class is reffed/unreffed once before threads can be
29982           used.  Fixes #304551.
29983
29984 2005-05-17  Wim Taymans  <wim@fluendo.com>
29985
29986         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
29987         (gst_basesink_chain_unlocked), (gst_basesink_activate):
29988         * gst/gstminiobject.c: (gst_mini_object_get_type),
29989         (gst_mini_object_free):
29990         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
29991         (gst_pad_push), (gst_pad_push_event):
29992         * gst/gstqueue.c: (gst_queue_change_state):
29993         Don't queue buffers in basesink when we are flushing.
29994         Unref buffer when flushing in basesink.
29995         Flush queue when going to READY
29996         Unref buffer when _push() returns an error.
29997         Don't free MiniObject instance when refcount is incremented
29998         in _finalize() so that we can recover objects.
29999
30000 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
30001
30002         * docs/manual/advanced-schedulers.xml:
30003         * docs/manual/appendix-checklist.xml:
30004         * docs/pwg/advanced-clock.xml:
30005         * docs/pwg/advanced-interfaces.xml:
30006         * docs/pwg/advanced-request.xml:
30007         * docs/pwg/advanced-types.xml:
30008         * docs/pwg/intro-preface.xml:
30009         * examples/plugins/example.c: (gst_example_get_type),
30010         (gst_example_class_init), (gst_example_chain),
30011         (gst_example_set_property), (gst_example_get_property),
30012         (gst_example_change_state), (plugin_init):
30013         * examples/plugins/example.h:
30014           small doc fixes
30015
30016 2005-05-17  Wim Taymans  <wim@fluendo.com>
30017
30018         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
30019         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
30020         * gst/gstqueue.c: (gst_queue_change_state):
30021         Clear queue when going to READY.
30022         Remove IN_SETCAPS flag too.
30023
30024 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
30025
30026         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
30027           Remove implicit cast from gboolean to GstElementStateReturn;
30028           make sure we still return failure in paused => ready case if
30029           the parent class fails to change state and our own stop 
30030           vfunc succeeds.
30031
30032 2005-05-17  Wim Taymans  <wim@fluendo.com>
30033
30034         * tools/gst-launch.c: (event_loop):
30035         Message was unreffed too soon.
30036
30037 2005-05-16  Andy Wingo  <wingo@pobox.com>
30038
30039         * gst/gstbin.c (sink_iterator_filter): Err... um...
30040
30041         * check/gst/gstbin.c (test_ghost_pads): New test for the
30042         ghosting-if-elements-not-in-same-bin behavior.
30043
30044 2005-05-16  David Schleef  <ds@schleef.org>
30045
30046         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
30047         accessing refcount directly.
30048
30049 2005-05-15  David Schleef  <ds@schleef.org>
30050
30051         * check/Makefile.am: remove GstData checks
30052         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
30053         * gst/Makefile.am: add miniobject, remove data
30054         * gst/gst.h: add miniobject, remove data
30055         * gst/gstdata.c: remove
30056         * gst/gstdata.h: remove
30057         * gst/gstdata_private.h: remove
30058         * gst/gsttypes.h: remove GstEvent and GstMessage
30059         * gst/gstelement.c: (gst_element_post_message): fix for API changes
30060         * gst/gstmarshal.list: change BOXED -> OBJECT
30061
30062         Implement GstMiniObject.
30063         * gst/gstminiobject.c:
30064         * gst/gstminiobject.h:
30065
30066         Modify to be subclasses of GstMiniObject.
30067         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
30068         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
30069         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
30070         (gst_subbuffer_get_type), (gst_subbuffer_init),
30071         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
30072         (gst_buffer_span):
30073         * gst/gstbuffer.h:
30074         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
30075         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
30076         (_gst_event_copy), (gst_event_new):
30077         * gst/gstevent.h:
30078         * gst/gstmessage.c: (_gst_message_initialize),
30079         (gst_message_get_type), (gst_message_class_init),
30080         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
30081         (gst_message_new), (gst_message_new_error),
30082         (gst_message_new_warning), (gst_message_new_tag),
30083         (gst_message_new_state_changed), (gst_message_new_application):
30084         * gst/gstmessage.h:
30085         * gst/gstprobe.c: (gst_probe_perform),
30086         (gst_probe_dispatcher_dispatch):
30087         * gst/gstprobe.h:
30088         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
30089         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
30090         (_gst_query_copy), (gst_query_new):
30091
30092         Update elements for GstData -> GstMiniObject changes
30093         * gst/gstquery.h:
30094         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
30095         (gst_queue_chain), (gst_queue_loop):
30096         * gst/elements/gstbufferstore.c:
30097         (gst_buffer_store_add_buffer_func),
30098         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
30099         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30100         (gst_fakesink_render):
30101         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
30102         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
30103         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
30104         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
30105         (gst_filesrc_create_read):
30106         * gst/elements/gstidentity.c: (gst_identity_class_init):
30107         * gst/elements/gsttypefindelement.c:
30108         (gst_type_find_element_src_event), (free_entry_buffers),
30109         (gst_type_find_element_handle_event):
30110         * libs/gst/dataprotocol/dataprotocol.c:
30111         (gst_dp_header_from_buffer):
30112         * libs/gst/dataprotocol/dataprotocol.h:
30113         * libs/gst/dataprotocol/dp-private.h:
30114
30115 2005-05-15  David Schleef  <ds@schleef.org>
30116
30117         * gst/elements/gstelements.c: Don't include headers that were
30118         just removed.
30119
30120 2005-05-15  David Schleef  <ds@schleef.org>
30121
30122         * gst/elements/Makefile.am: Remove some elements that don't
30123         need to be in the core (or even exist at all).
30124         * gst/elements/gstaggregator.c:
30125         * gst/elements/gstaggregator.h:
30126         * gst/elements/gstmd5sink.c:
30127         * gst/elements/gstmd5sink.h:
30128         * gst/elements/gstmultifilesrc.c:
30129         * gst/elements/gstmultifilesrc.h:
30130         * gst/elements/gstpipefilter.c:
30131         * gst/elements/gstpipefilter.h:
30132         * gst/elements/gstshaper.c:
30133         * gst/elements/gstshaper.h:
30134         * gst/elements/gststatistics.c:
30135         * gst/elements/gststatistics.h:
30136         * po/POTFILES.in: Remove above files.
30137
30138 2005-05-14  Andy Wingo  <wingo@pobox.com>
30139
30140         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
30141         so as to get the refs right.
30142         (sink_iterator_filter): New function, wraps bin_element_is_sink,
30143         unreffing objects that don't pass the filter.
30144
30145         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
30146         gst_element_set_bus.
30147         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
30148         normal cases, this will destroy the bus.
30149
30150         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
30151         object.
30152
30153         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
30154         has no sinks.
30155
30156 2005-05-13  Andy Wingo  <wingo@pobox.com>
30157
30158         * gst/gstutils.c (gst_element_link_pads): Instead of calling
30159         gst_pad_link, call pad_link_maybe_ghosting,
30160         (pad_link_maybe_ghosting): Links pads, making sure that the
30161         elements being linked are in the same bin.
30162         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
30163         Helpers for pad_link_maybe_ghosting.
30164
30165 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
30166
30167         * configure.ac:
30168           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
30169
30170 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
30171
30172         * docs/design/part-element-source.txt:
30173           Mention GstPushSrc
30174
30175 2005-05-12  Wim Taymans  <wim@fluendo.com>
30176
30177         * gst/base/gstbasesink.c: (gst_basesink_init),
30178         (gst_basesink_activate):
30179         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
30180         (gst_basesrc_is_seekable):
30181         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
30182         (bin_element_is_sink), (gst_bin_change_state):
30183         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30184         * gst/gstelement.h:
30185         Identify sinks by their flag to avoid overly complicated
30186         checks (fow now).
30187         Do state changes even for elements not reachable from the
30188         sinks.
30189         BaseSink is a sink now :)
30190         Some more debugging info in the basesrc.
30191
30192
30193 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30194
30195         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
30196           Implement _query on a bin, similar to _send_event.
30197
30198 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
30199
30200         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
30201           Discont event offset format should be GST_FORMAT_BYTES,
30202           not GST_FORMAT_TIME.
30203
30204 2005-05-12  Wim Taymans  <wim@fluendo.com>
30205
30206         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
30207         Same fix as Ronald's but without the signal. 
30208
30209 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30210
30211         * gst/gstutils.c: (gst_element_query_position):
30212           No, an element is not a pad.
30213
30214 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30215
30216         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
30217         (gst_bin_get_state):
30218           If a child is removed from a bin while we remove the child from
30219           the bin and while we're retrieving its state, signal this to the
30220           get_state function so we abort the wait (instead of waiting for
30221           a timeout) and can immediately re-iterate over all other elements.
30222
30223 2005-05-12  Wim Taymans  <wim@fluendo.com>
30224
30225         * gst/base/Makefile.am:
30226         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
30227         (gst_basesrc_start):
30228         * gst/base/gstbasesrc.h:
30229         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
30230         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
30231         (gst_pushsrc_init), (gst_pushsrc_create):
30232         * gst/base/gstpushsrc.h:
30233         Added is_seekable to BaseSrc
30234         Added simple PushSrc.
30235
30236 2005-05-11  Wim Taymans  <wim@fluendo.com>
30237
30238         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30239         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30240         (gst_element_link_pads), (gst_element_query_position),
30241         (gst_element_query_convert), (intersect_caps_func),
30242         (gst_pad_query_position), (gst_pad_query_convert):
30243         Fix refcounting in utils function.
30244         No point in trying to activate a pad when it's added, it could
30245         be added from the state change function and then we deadlock, the
30246         element has to decide what to do.
30247
30248 2005-05-10  Andy Wingo  <wingo@pobox.com>
30249
30250         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
30251         *all* the arguments.
30252
30253         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
30254         stream lock if it's a FLUSH_DONE; normal flushes don't get the
30255         lock (according to the docs -- if this is wrong change the docs).
30256
30257         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
30258         flush messages in the NULL state.
30259
30260         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
30261         message immediately and return.
30262         (gst_bus_set_flushing): New function. If a bus is flushing, it
30263         flushes out any queued messages and immediately unrefs new
30264         messages. This is so when an element goes to NULL, all of the
30265         unhandled messages coming from it can be freed, and their
30266         references to the element dropped. In other words: message source
30267         ref considered harmful :P
30268
30269         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
30270         we're finished with it.
30271
30272         * gst/gstmessage.c (gst_message_new_state_changed): 
30273
30274 2005-05-10  Wim Taymans  <wim@fluendo.com>
30275
30276         * gst/gstvalue.c: (gst_value_compare_flags),
30277         (gst_value_serialize_flags), (gst_value_deserialize_flags),
30278         (_gst_value_initialize):
30279         Added flags serialize/deserialize/compare code.
30280
30281 2005-05-09  Andy Wingo  <wingo@pobox.com>
30282
30283         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
30284         Intersect the peer's caps with our caps.
30285
30286 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30287
30288         * gst/base/gsttypefindhelper.c: (helper_find_peek):
30289         * gst/elements/gsttypefindelement.c: (find_peek):
30290           Handle negative offsets better. Fixes decodebin.
30291
30292 2005-05-09  Wim Taymans  <wim@fluendo.com>
30293
30294         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
30295         (gst_base_transform_event):
30296         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
30297         Implement accept_caps.
30298         Fix silly lock/unlock mismatch in base class.
30299
30300 2005-05-09  Wim Taymans  <wim@fluendo.com>
30301
30302         * docs/design/draft-push-pull.txt:
30303         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
30304         * gst/elements/gstfilesink.c: (gst_filesink_init),
30305         (gst_filesink_query):
30306         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
30307         (gst_type_find_handle_src_query), (find_element_get_length):
30308         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
30309         * gst/gstelement.h:
30310         * gst/gstmessage.c:
30311         * gst/gstmessage.h:
30312         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
30313         (gst_real_pad_get_caps_unlocked),
30314         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
30315         (gst_pad_event_default_dispatch), (gst_pad_event_default),
30316         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
30317         (gst_real_pad_dispose), (gst_real_pad_finalize),
30318         (gst_pad_load_and_link), (gst_pad_save_thyself),
30319         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
30320         (gst_pad_check_pull_range), (gst_pad_pull_range),
30321         (gst_pad_template_get_type), (gst_pad_template_class_init),
30322         (gst_pad_template_init), (gst_pad_template_dispose),
30323         (name_is_valid), (gst_static_pad_template_get),
30324         (gst_pad_template_new), (gst_static_pad_template_get_caps),
30325         (gst_pad_template_get_caps), (gst_pad_set_element_private),
30326         (gst_pad_get_element_private), (gst_pad_start_task),
30327         (gst_pad_pause_task), (gst_pad_stop_task),
30328         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
30329         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
30330         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
30331         (gst_ghost_pad_new):
30332         * gst/gstpad.h:
30333         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
30334         (gst_query_new_position), (gst_query_set_position),
30335         (gst_query_parse_position), (gst_query_new_convert),
30336         (gst_query_set_convert), (gst_query_parse_convert):
30337         * gst/gstquery.h:
30338         * gst/gstqueryutils.c:
30339         * gst/gstqueryutils.h:
30340         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30341         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30342         (gst_queue_handle_src_query):
30343         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30344         (gst_element_query_position), (gst_element_query_convert),
30345         (intersect_caps_func), (gst_pad_query_position),
30346         (gst_pad_query_convert):
30347         * gst/gstutils.h:
30348         * tools/gst-inspect.c: (print_pad_info):
30349         * tools/gst-xmlinspect.c: (print_element_info):
30350         Remove old query functions. Ported old code.
30351         Added position/convert helper functions to gstutils.
30352         Reordered gstpad.c code, grouping relevant things.
30353         Remove gst_message_new(), always need to speficy a specific
30354         message.
30355
30356
30357 2005-05-09  Andy Wingo  <wingo@pobox.com>
30358
30359         * gst/gstiterator.h: Add some includes.
30360
30361         * gst/gstqueryutils.h: Include more headers.
30362
30363         * gst/gstpad.h:
30364         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
30365         some uses of gst_pad_query.
30366
30367         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
30368         NULL out parameters.
30369         (gst_query_new_position): New proc, allocates a new position
30370         query.
30371
30372         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
30373         gstqueryutils.c to the build.
30374
30375         * gst/gststructure.c (gst_structure_set_valist): Implement with
30376         the generic G_VALUE_COLLECT.
30377         
30378 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
30379
30380         * gst/Makefile.am: (gst_headers):
30381         Added gstqueryutils.h to the list of headers to install, that was
30382         a 'nachty' move wingo :)
30383
30384 2005-05-06  Andy Wingo  <wingo@pobox.com>
30385
30386         * gst/gstquery.h
30387         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
30388         GstData, init a memchunk.
30389         (standard_definitions): Add a few query types, deprecate a few.
30390         (gst_query_get_type): New proc.
30391         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
30392         implementation.
30393         (gst_query_new_application, gst_query_get_structure): New public
30394         procs.
30395
30396         * docs/design/draft-query.txt: Removed LINKS from the query types,
30397         because all the rest can be dispatched to other pads -- seemed
30398         ugly to have a query that couldn't be dispatched. internal_links
30399         is fine as a pad method.
30400
30401         * gst/gstpad.h: Add query2 as a pad method, add the new functions
30402         in gstpad.c, but maintain binary compatibility for the moment.
30403         Will fix before 0.9 is out.
30404
30405         * gst/gstqueryutils.c: 
30406         * gst/gstqueryutils.h: New files, implement 3 methods for each
30407         query type: parse_query, parse_response, and set. Probably need an
30408         allocator as well.
30409
30410         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
30411
30412         * gst/elements/gstfilesink.c (gst_filesink_query2):
30413         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
30414         query_types, and formats methods.
30415
30416         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
30417         (gst_pad_set_query2_function): New functions.
30418         (gst_real_pad_init): Set query2_default as the default query2
30419         function. Basically just dispatches to internally linked pads.
30420
30421         Needs review!
30422         
30423         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
30424         without using the atomic operations. Only one thread can possibly
30425         be accessing the data at this point. Changed so as to avoid
30426         gst_atomic operations.
30427
30428 2005-05-06  Wim Taymans  <wim@fluendo.com>
30429
30430         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
30431         Also set caps if we use the fallback buffer alloc.
30432
30433 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
30434
30435         * docs/gst/Makefile.am:
30436         * docs/gst/gstreamer-docs.sgml:
30437         * docs/gst/gstreamer-sections.txt:
30438         * docs/gst/tmpl/gstatomic.sgml:
30439         * docs/gst/tmpl/gstmemchunk.sgml:
30440         * testsuite/elements/struct_i386.h:
30441         * win32/GStreamer.vcproj:
30442         * win32/Makefile:
30443           Purge GstAtomic stuff from docs and win32 makefiles as well
30444
30445 2005-05-06  Wim Taymans  <wim@fluendo.com>
30446
30447         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
30448         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
30449         * gst/gstpad.c: (gst_pad_peer_get_caps):
30450         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30451         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30452         (gst_queue_src_activate), (gst_queue_change_state):
30453         * gst/gstqueue.h:
30454         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30455         (intersect_caps_func):
30456         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
30457         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
30458         Some fixes for the peer_get_caps() change.
30459
30460 2005-05-06  Wim Taymans  <wim@fluendo.com>
30461
30462         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
30463         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
30464         (gst_basesink_activate):
30465         Actually do something with error codes returned from the push
30466         functions.
30467
30468 2005-05-06  Wim Taymans  <wim@fluendo.com>
30469
30470         * docs/design/part-element-sink.txt:
30471         * docs/design/part-element-source.txt:
30472         * gst/base/gstbasesink.c: (gst_basesink_class_init),
30473         (gst_basesink_event), (gst_basesink_activate):
30474         * gst/base/gstbasesink.h:
30475         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
30476         (gst_basesrc_activate):
30477         * gst/base/gstbasesrc.h:
30478         * gst/gstelement.c: (gst_element_pads_activate):
30479         Some more documentation.
30480         Fixed scheduling decision in _pads_activate().
30481
30482 2005-05-05  Andy Wingo  <wingo@pobox.com>
30483
30484         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
30485         the test suite.
30486
30487 2005-05-05  Wim Taymans  <wim@fluendo.com>
30488
30489         * gst/base/Makefile.am:
30490         * gst/base/gstbasesink.h:
30491         * gst/base/gstbasesrc.c: (gst_basesrc_init),
30492         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
30493         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
30494         (gst_collectpads_class_init), (gst_collectpads_init),
30495         (gst_collectpads_finalize), (gst_collectpads_new),
30496         (gst_collectpads_set_function), (gst_collectpads_add_pad),
30497         (find_pad), (gst_collectpads_remove_pad),
30498         (gst_collectpads_is_active), (gst_collectpads_collect),
30499         (gst_collectpads_collect_range), (gst_collectpads_start),
30500         (gst_collectpads_stop), (gst_collectpads_peek),
30501         (gst_collectpads_pop), (gst_collectpads_available),
30502         (gst_collectpads_read), (gst_collectpads_flush),
30503         (gst_collectpads_chain):
30504         * gst/base/gstcollectpads.h:
30505         * gst/elements/Makefile.am:
30506         * gst/elements/gstelements.c:
30507         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30508         (gst_fakesink_get_times), (gst_fakesink_event),
30509         (gst_fakesink_preroll), (gst_fakesink_render):
30510         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
30511         (gst_filesink_init), (gst_filesink_set_location),
30512         (gst_filesink_open_file), (gst_filesink_close_file),
30513         (gst_filesink_pad_query), (gst_filesink_event),
30514         (gst_filesink_render), (gst_filesink_change_state):
30515         * gst/elements/gstfilesink.h:
30516         Added object to help in making collect pad based elements.
30517         Ported filesink.
30518         Make event function in sink baseclass return gboolean.
30519
30520 2005-05-05  Wim Taymans  <wim@fluendo.com>
30521
30522         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
30523         (gst_bin_get_by_name):
30524         * gst/gstbuffer.h:
30525         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
30526         (gst_clock_finalize):
30527         * gst/gstdata.c: (gst_data_replace):
30528         * gst/gstdata.h:
30529         * gst/gstelement.c: (gst_element_request_pad),
30530         (gst_element_pads_activate):
30531         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
30532         (gst_object_unref):
30533         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30534         (gst_pad_set_checkgetrange_function),
30535         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
30536         (gst_pad_check_pull_range), (gst_pad_pull_range),
30537         (gst_static_pad_template_get_caps), (gst_pad_start_task),
30538         (gst_pad_pause_task), (gst_pad_stop_task):
30539         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30540         (gst_element_request_pad), (gst_pad_proxy_getcaps):
30541         Fix name lookup in GstBin.
30542         Added _data_replace() function and _buffer_replace()
30543         Use finalize method to clean up clock.
30544         Fix refcounting on request pads.
30545         Fix pad schedule mode error.
30546         Some more object refcounting debug info,
30547
30548
30549 2005-05-04  Andy Wingo <wingo@pobox.com>
30550
30551         * check/Makefile.am:
30552         * docs/gst/tmpl/gstatomic.sgml:
30553         * docs/gst/tmpl/gstplugin.sgml:
30554         * gst/base/gstbasesink.c: (gst_basesink_activate):
30555         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
30556         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
30557         (gst_basesrc_query), (gst_basesrc_set_property),
30558         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
30559         (gst_basesrc_activate):
30560         * gst/base/gstbasesrc.h:
30561         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
30562         (gst_base_transform_src_activate):
30563         * gst/elements/gstelements.c:
30564         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
30565         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
30566         * gst/elements/gsttee.c: (gst_tee_sink_activate):
30567         * gst/elements/gsttypefindelement.c: (find_element_get_length),
30568         (gst_type_find_element_checkgetrange),
30569         (gst_type_find_element_activate):
30570         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
30571         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
30572         (gst_caps_load_thyself):
30573         * gst/gstelement.c: (gst_element_pads_activate),
30574         (gst_element_save_thyself), (gst_element_restore_thyself):
30575         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
30576         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
30577         * gst/gstpad.h:
30578         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
30579         (gst_xml_parse_file), (gst_xml_parse_memory),
30580         (gst_xml_get_element), (gst_xml_make_element):
30581         * gst/indexers/gstfileindex.c: (gst_file_index_load),
30582         (_file_index_id_save_xml), (gst_file_index_commit):
30583         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
30584         (read_enum), (load_pad_template), (load_feature), (load_plugin),
30585         (load_paths):
30586         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
30587         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
30588         * tools/gst-complete.c: (main):
30589         * tools/gst-compprep.c: (main):
30590         * tools/gst-inspect.c: (print_element_properties_info):
30591         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
30592         * tools/gst-xmlinspect.c: (print_element_properties):
30593         GCC 4 fixen.
30594         
30595 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
30596
30597         * gst/gstplugin.c: (gst_plugin_check_module),
30598         (gst_plugin_check_file), (gst_plugin_load_file):
30599             apply patch from #172526 to make register work on MacOSX
30600
30601 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30602
30603         * docs/gst/tmpl/gstconfig.sgml:
30604         * gst/gstconfig.h.in:
30605           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
30606         * testsuite/debug/printf_extension.c: (main):
30607           Do not use GST_PTR_FORMAT on pointers to types with
30608           sizeof < sizeof(gpointer).  Fixes test on 64-bit
30609         * testsuite/elements/property.h:
30610           use correct printf format
30611
30612 2005-05-02  Wim Taymans  <wim@fluendo.com>
30613
30614         * docs/design/draft-push-pull.txt:
30615         * docs/design/draft-query.txt:
30616         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
30617         (gst_basesrc_start):
30618         Added draft for new query API.
30619         Added draft for better selecting scheduling methods.
30620         Make basesrc ignore length if the subclass does not support
30621         it.
30622
30623 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30624
30625         * gst/Makefile.am:
30626           possible fixes for automake-1.5 - _LIBADD is reserved
30627
30628 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30629
30630         * docs/faq/Makefile.am:
30631         * docs/manual/Makefile.am:
30632         * docs/manuals.mak:
30633         * docs/pwg/Makefile.am:
30634         * gst/Makefile.am:
30635           possible fixes for automake-1.5
30636
30637 2005-04-28  Wim Taymans  <wim@fluendo.com>
30638
30639         * gst/base/gstbasesink.c: (gst_basesink_base_init),
30640         (gst_basesink_pad_getcaps), (gst_basesink_init),
30641         (gst_basesink_do_sync):
30642         * gst/gstclock.c: (gst_clock_entry_new):
30643         * gst/gstevent.c: (gst_event_discont_get_value):
30644         * gst/gstpipeline.c: (pipeline_bus_handler),
30645         (gst_pipeline_change_state):
30646         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
30647         Better debugging of clocking info.
30648         Allow NULL values when getting discont values.
30649
30650 2005-04-27  Wim Taymans  <wim@fluendo.com>
30651
30652         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
30653         * check/gst/gstpad.c: (gst_pad_suite):
30654         Increase timeout for checks.
30655
30656 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
30657
30658         * check/Makefile.am:
30659           fix the broken rule for cleanup.  Apparently this rule is
30660           only needed on FC2, so maybe this warrants further autotool
30661           inspection.
30662
30663 2005-04-26  Wim Taymans  <wim@fluendo.com>
30664
30665         * gst/gsttrashstack.h:
30666         Ooohh. a nasty one! After having a failed pop() from the stack,
30667         it's possible that the stack is empty. In that case, don't
30668         follow the NULL pointer.
30669
30670 2005-04-25  Wim Taymans  <wim@fluendo.com>
30671
30672         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30673         (gst_pad_set_checkgetrange_function),
30674         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
30675         (gst_pad_check_pull_range), (gst_pad_pull_range),
30676         (gst_static_pad_template_get_caps), (gst_pad_start_task),
30677         (gst_pad_pause_task), (gst_pad_stop_task):
30678         * gst/gstplugin.c: (gst_plugin_load):
30679         * gst/gstplugin.h:
30680         Remove gst_library_load as it does more harm than good with
30681         the new g_module flags.
30682         Revert bogus caps template check in pad linking, pad caps
30683         are important when linking not the template, which is more
30684         general than the current caps.
30685
30686 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30687
30688         * gst/autoplug/.cvsignore:
30689         * gst/autoplug/Makefile.am:
30690         * gst/autoplug/gstsearchfuncs.c:
30691         * gst/autoplug/gstsearchfuncs.h:
30692         * gst/autoplug/gstspider.c:
30693         * gst/autoplug/gstspider.h:
30694         * gst/autoplug/gstspideridentity.c:
30695         * gst/autoplug/gstspideridentity.h:
30696         * gst/autoplug/spidertest.c:
30697           Die, spider, die.
30698
30699 2005-04-25  Wim Taymans  <wim@fluendo.com>
30700
30701         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30702         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
30703         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
30704         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
30705         * gst/gstpad.h:
30706         Added stubs for unimplemented functions. 
30707
30708 2005-04-24  David Schleef  <ds@schleef.org>
30709
30710         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
30711         please fix.
30712
30713 2005-04-24  David Schleef  <ds@schleef.org>
30714
30715         Convert everything from GstAtomicInt to g_atomic_int_*, and
30716         remove gstatomic.
30717         * gst/Makefile.am:
30718         * gst/gstatomic.c:
30719         * gst/gstatomic.h:
30720         * gst/gstatomic_impl.h:
30721         * gst/gstbuffer.c:
30722         * gst/gstcaps.c:
30723         * gst/gstcaps.h:
30724         * gst/gstclock.c:
30725         * gst/gstclock.h:
30726         * gst/gstdata.c:
30727         * gst/gstdata.h:
30728         * gst/gstdata_private.h:
30729         * gst/gstevent.c:
30730         * gst/gstinfo.c:
30731         * gst/gstinfo.h:
30732         * gst/gstmessage.c:
30733         * gst/gstobject.c:
30734         * gst/gstobject.h:
30735         * gst/gststructure.c:
30736         * gst/gststructure.h:
30737         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
30738         * gst/gstutils.h:
30739
30740 2005-04-24  David Schleef  <ds@schleef.org>
30741
30742         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
30743         make the regressions tests work.  Remove some code that is no
30744         longer true.
30745         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
30746         Disable warning for pads without templates.
30747
30748 2005-04-24  David Schleef  <ds@schleef.org>
30749
30750         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
30751         functions that handle filtered links.
30752         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
30753         removed functions.
30754         * gst/gstutils.c: Fix/remove utility functions that handle
30755         filtered caps.
30756         * gst/gstutils.h:
30757         * gst/gstvalue.c: Add serialization/deserialization of caps
30758         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
30759         requires fixing so that the filter caps notation creates
30760         a capsfilter element and sets the filter_caps property.  I
30761         think everyone probably wants to keep the shorthand notation.
30762         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
30763         * docs/gst/tmpl/gstpad.sgml:
30764
30765         * gst/elements/gstelements.c: Register capsfilter element.
30766         * gst/Makefile.am: fix spacing
30767         * docs/random/ds/0.9-suggested-changes: random
30768
30769 2005-04-23  David Schleef  <ds@schleef.org>
30770
30771         * gst/elements/Makefile.am:
30772         * gst/elements/gstcapsfilter.c: New element that acts like an
30773         identity, but filters caps.  Will eventually replace filtered
30774         caps in pad linking.
30775         * gst/gstutils.c: (gst_element_create_all_pads): New function
30776         to create all the ALWAYS pads that are registered with an
30777         element class.  This functionality should eventually be
30778         merged in with GstElement initialization.
30779         * gst/gstutils.h:
30780         * testsuite/trigger/README: part of trigger test code that should
30781         have been checked in a long time ago.
30782
30783 2005-04-23  David Schleef  <ds@schleef.org>
30784
30785         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
30786         needed with new versions of libtool (nobody will confirm this),
30787         and hard to carry around.
30788         * gst/autoplug/Makefile.am:
30789         * gst/base/Makefile.am:
30790         * gst/elements/Makefile.am:
30791         * gst/indexers/Makefile.am:
30792         * gst/schedulers/Makefile.am:
30793         * libs/gst/bytestream/Makefile.am:
30794         * libs/gst/control/Makefile.am:
30795         * libs/gst/dataprotocol/Makefile.am:
30796         * libs/gst/getbits/Makefile.am:
30797
30798 2005-04-21  Wim Taymans  <wim@fluendo.com>
30799
30800         * docs/design/draft-push-pull.txt:
30801         * docs/design/part-MT-refcounting.txt:
30802         * docs/design/part-TODO.txt:
30803         * docs/design/part-caps.txt:
30804         * docs/design/part-events.txt:
30805         * docs/design/part-gstbus.txt:
30806         * docs/design/part-gstpipeline.txt:
30807         * docs/design/part-messages.txt:
30808         * docs/design/part-push-pull.txt:
30809         * docs/design/part-query.txt:
30810         Some more docs.
30811
30812 2005-04-21  Wim Taymans  <wim@fluendo.com>
30813
30814         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
30815         (gst_message_new), (gst_message_new_error),
30816         (gst_message_new_warning), (gst_message_new_tag),
30817         (gst_message_new_state_changed), (gst_message_new_application),
30818         (gst_message_get_structure):
30819         * gst/gstmessage.h:
30820         * gst/gststructure.c: (gst_structure_set_parent_refcount),
30821         (gst_structure_copy_conditional):
30822         Use parent refcount in GstMessage to ensure GstStructure
30823         consistency.
30824         Cleaned up headers a bit.
30825         
30826
30827 2005-04-20  Wim Taymans  <wim@fluendo.com>
30828
30829         * gst/base/gstbasesink.c: (gst_basesink_base_init),
30830         (gst_basesink_pad_getcaps), (gst_basesink_init),
30831         (gst_basesink_chain_unlocked):
30832         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
30833         (gst_type_find_helper):
30834         * gst/elements/gsttypefindelement.c:
30835         (gst_type_find_element_have_type), (gst_type_find_element_init),
30836         (stop_typefinding), (gst_type_find_element_handle_event),
30837         (find_suggest), (gst_type_find_element_chain),
30838         (gst_type_find_element_checkgetrange),
30839         (gst_type_find_element_getrange), (do_typefind),
30840         (gst_type_find_element_activate):
30841         * gst/gstbuffer.c: (_gst_buffer_sub_free),
30842         (gst_buffer_default_free), (gst_buffer_default_copy),
30843         (gst_buffer_set_caps):
30844         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
30845         (gst_caps_replace):
30846         * gst/gstmessage.c: (gst_message_new),
30847         (gst_message_new_state_changed):
30848         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30849         (gst_pad_set_checkgetrange_function),
30850         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
30851         (gst_pad_set_caps), (gst_pad_check_pull_range),
30852         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
30853         * gst/gstpad.h:
30854         * gst/gsttypefind.c: (gst_type_find_register):
30855         Make gst_caps_replace() work like other _replace() functions.
30856         Use _caps_replace() where possible.
30857         Make sure _message_new() initialises its field.
30858         Add gst_static_pad_template_get_caps()
30859
30860
30861 2005-04-18  Andy Wingo  <wingo@pobox.com>
30862
30863         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
30864         on the peer, not the pad. I think that was a typo. Pass an extra
30865         arg to see if random access is possible. Activate the pads as
30866         PULL_RANGE if possible.
30867
30868         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
30869
30870         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
30871         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
30872         to PROP_....
30873
30874 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30875
30876         * docs/faq/using.xml:
30877           Add note on gstreamer-properties (#154996).
30878
30879 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30880
30881         * docs/random/bbb/optional-properties:
30882           Some analysis on optional properties.
30883
30884 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30885
30886         * docs/gst/tmpl/gstelementfactory.sgml:
30887         * gst/gstelement.h:
30888         * gst/gstelementfactory.c: (gst_element_factory_init),
30889         (gst_element_factory_cleanup), (gst_element_register),
30890         (__gst_element_factory_add_static_pad_template),
30891         (gst_element_factory_get_static_pad_templates),
30892         (gst_element_factory_can_src_caps),
30893         (gst_element_factory_can_sink_caps):
30894         * gst/registries/Makefile.am:
30895         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
30896         (gst_xml_registry_class_init), (gst_xml_registry_init),
30897         (gst_xml_registry_new), (gst_xml_registry_set_property),
30898         (gst_xml_registry_get_property), (get_time), (make_dir),
30899         (gst_xml_registry_get_perms_func),
30900         (plugin_times_older_than_recurse), (plugin_times_older_than),
30901         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
30902         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
30903         (add_to_char_array), (read_string), (read_uint), (read_enum),
30904         (load_pad_template), (load_feature), (load_plugin), (load_paths),
30905         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
30906         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
30907         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
30908         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
30909         (gst_xml_registry_rebuild):
30910         * gst/registries/gstlibxmlregistry.h:
30911         * tools/gst-compprep.c: (main):
30912         * tools/gst-inspect.c: (print_pad_templates_info):
30913         * tools/gst-xmlinspect.c: (print_element_info):
30914           Use libxml2 for registry parsing, use staticpadtemplates in
30915           elementfactories. Makes gst_init() +/- 10x faster.
30916
30917 2005-04-12  Wim Taymans  <wim@fluendo.com>
30918
30919         * gst/base/Makefile.am:
30920         * gst/base/gstbasesink.c: (gst_basesink_base_init),
30921         (gst_basesink_pad_getcaps), (gst_basesink_init),
30922         (gst_basesink_event), (gst_basesink_change_state):
30923         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
30924         (gst_basesrc_init), (gst_basesrc_query),
30925         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
30926         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
30927         (gst_basesrc_check_get_range), (gst_basesrc_loop),
30928         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
30929         (gst_basesrc_stop), (gst_basesrc_activate),
30930         (gst_basesrc_change_state):
30931         * gst/base/gsttypefindhelper.c: (helper_find_peek),
30932         (helper_find_suggest), (gst_type_find_helper):
30933         * gst/base/gsttypefindhelper.h:
30934         * gst/elements/Makefile.am:
30935         * gst/elements/gstelements.c:
30936         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30937         (gst_fakesink_get_times), (gst_fakesink_event),
30938         (gst_fakesink_preroll), (gst_fakesink_render):
30939         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
30940         (gst_fakesrc_init), (gst_fakesrc_event_handler),
30941         (gst_fakesrc_get_property), (gst_fakesrc_create),
30942         (gst_fakesrc_start), (gst_fakesrc_stop):
30943         * gst/elements/gstfakesrc.h:
30944         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
30945         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
30946         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
30947         (gst_filesrc_create_read), (gst_filesrc_create),
30948         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
30949         (gst_filesrc_start):
30950         * gst/elements/gsttypefindelement.c:
30951         (gst_type_find_element_have_type), (gst_type_find_element_init),
30952         (start_typefinding), (stop_typefinding), (push_buffer_store),
30953         (gst_type_find_element_handle_event),
30954         (gst_type_find_element_chain),
30955         (gst_type_find_element_checkgetrange),
30956         (gst_type_find_element_getrange), (do_typefind),
30957         (gst_type_find_element_activate),
30958         (gst_type_find_element_change_state):
30959         * gst/elements/gsttypefindelement.h:
30960         * gst/gstpipeline.c: (pipeline_bus_handler):
30961         Added typefind helper.
30962         Small preroll fix in the base sink.
30963         Disable typefind code in basesrc.
30964         Crude port of typefindelement.
30965         Fakesrc cleanups.
30966
30967
30968 2005-04-11  Wim Taymans  <wim@fluendo.com>
30969
30970         * check/gst/gstbus.c: (gstbus_suite):
30971         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
30972         * check/gstcheck.h:
30973           Fix up the timeout so that the test does not fail.
30974
30975 2005-04-06  Wim Taymans  <wim@fluendo.com>
30976
30977         * gst/base/README:
30978         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
30979         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
30980         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
30981         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
30982         (gst_basesrc_check_get_range), (gst_basesrc_loop),
30983         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
30984         (gst_basesrc_stop), (gst_basesrc_activate),
30985         (gst_basesrc_change_state), (basesrc_find_peek),
30986         (basesrc_find_suggest), (gst_basesrc_type_find):
30987         * gst/base/gstbasesrc.h:
30988         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
30989         (gst_filesrc_class_init), (gst_filesrc_init),
30990         (gst_filesrc_finalize), (gst_filesrc_set_location),
30991         (gst_filesrc_set_property), (gst_filesrc_get_property),
30992         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
30993         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
30994         (gst_filesrc_create_read), (gst_filesrc_create),
30995         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
30996         * gst/elements/gstfilesrc.h:
30997         * gst/gstelement.c: (gst_element_get_state_func),
30998         (gst_element_lost_state), (gst_element_pads_activate):
30999         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31000         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
31001         (gst_pad_pull_range):
31002         * gst/gstpad.h:
31003         More work on the generic source base class, implement seeking,
31004         query.
31005         Make filesrc extend the base source class.
31006         Added gst_pad_set_checkgetrange_function to GstPad.
31007
31008 2005-04-06  Andy Wingo  <wingo@pobox.com>
31009
31010         * pkgconfig/gstreamer-base.pc.in:
31011         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
31012
31013         * pkgconfig/Makefile.am:
31014         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
31015
31016 2005-04-04  Wim Taymans  <wim@fluendo.com>
31017
31018         * gst/base/Makefile.am:
31019         * gst/base/README:
31020         * gst/base/gstbasesink.c: (gst_basesink_base_init),
31021         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
31022         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
31023         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
31024         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31025         (gst_basesrc_base_init), (gst_basesrc_class_init),
31026         (gst_basesrc_init), (gst_basesrc_get_formats),
31027         (gst_basesrc_get_query_types), (gst_basesrc_query),
31028         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
31029         (gst_basesrc_set_property), (gst_basesrc_get_property),
31030         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
31031         (gst_basesrc_loop), (gst_basesrc_activate),
31032         (gst_basesrc_change_state):
31033         * gst/base/gstbasesrc.h:
31034         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
31035         (gst_fakesrc_class_init), (gst_fakesrc_init),
31036         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
31037         (gst_fakesrc_get_property), (gst_fakesrc_create):
31038         * gst/elements/gstfakesrc.h:
31039         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
31040         (gst_filesrc_open_file), (gst_filesrc_loop),
31041         (gst_filesrc_activate), (filesrc_find_peek),
31042         (gst_filesrc_type_find):
31043         Made base source class, make fakesrc extend it.
31044         Add comments to basesink class.
31045         Some filesrc cleanup.
31046
31047 2005-03-31  David Schleef  <ds@schleef.org>
31048
31049         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
31050         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
31051         expected to link against libgstreamer.
31052         * gst/base/Makefile.am: link against libgstreamer
31053         * gst/elements/Makefile.am: same
31054
31055 2005-03-31  Andy Wingo  <wingo@pobox.com>
31056
31057         * tests/instantiate/Makefile.am:
31058         * tests/instantiate/caps.c: Add test to test speed of caps copy
31059         and free.
31060
31061         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
31062         GMemChunk to be fair.
31063
31064         * gst/gsttrashstack.h: Remove warning about using the fallback
31065         trash stack implementation, it's still faster than malloc.
31066
31067 2005-03-30  Andy Wingo  <wingo@pobox.com>
31068
31069         * tests/complexity.c: Add a copyright.
31070
31071 2005-03-31  Wim Taymans  <wim@fluendo.com>
31072
31073         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
31074         (gst_base_transform_class_init), (gst_base_transform_init),
31075         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
31076         (gst_base_transform_get_property),
31077         (gst_base_transform_sink_activate),
31078         (gst_base_transform_src_activate),
31079         (gst_base_transform_change_state):
31080         * gst/base/gstbasetransform.h:
31081         * gst/elements/gstidentity.c: (gst_identity_class_init),
31082         (gst_identity_event), (gst_identity_check_perfect),
31083         (gst_identity_transform), (gst_identity_start),
31084         (gst_identity_stop):
31085         Added start/stop methods to transform base class so subclasses 
31086         don't need to deal with state changes even.
31087
31088 2005-03-31  Wim Taymans  <wim@fluendo.com>
31089
31090         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
31091         (gst_event_new_discontinuous), (gst_event_discont_get_value):
31092         * gst/gstevent.h:
31093         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31094         (gst_pad_pull_range):
31095         Added rate to the discont event to prepare for variable speed
31096         and reverse playback.
31097
31098 2005-03-29  David Schleef  <ds@schleef.org>
31099
31100         * configure.ac:
31101         * testsuite/trigger/Makefile.am:
31102         * testsuite/trigger/trigger.c: A little example program to show
31103         how trigger-based elements can work.
31104
31105 2005-03-29  Wim Taymans  <wim@fluendo.com>
31106
31107         * gst/base/Makefile.am:
31108         * gst/base/README:
31109         * gst/base/gstbasesink.c: (gst_basesink_get_type),
31110         (gst_basesink_base_init), (gst_basesink_class_init),
31111         (gst_basesink_pad_getcaps), (gst_basesink_init),
31112         (gst_basesink_activate), (gst_basesink_change_state):
31113         * gst/base/gstbasesink.h:
31114         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
31115         (gst_base_transform_base_init), (gst_base_transform_finalize),
31116         (gst_base_transform_class_init), (gst_base_transform_init),
31117         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
31118         (gst_base_transform_event), (gst_base_transform_getrange),
31119         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
31120         (gst_base_transform_set_property),
31121         (gst_base_transform_get_property),
31122         (gst_base_transform_sink_activate),
31123         (gst_base_transform_src_activate),
31124         (gst_base_transform_change_state):
31125         * gst/base/gstbasetransform.h:
31126         * gst/elements/gstidentity.c: (gst_identity_finalize),
31127         (gst_identity_class_init), (gst_identity_init),
31128         (gst_identity_event), (gst_identity_check_perfect),
31129         (gst_identity_transform), (gst_identity_set_property),
31130         (gst_identity_get_property), (gst_identity_change_state):
31131         * gst/elements/gstidentity.h:
31132         * gst/gstelement.c: (gst_element_get_state_func),
31133         (gst_element_lost_state), (gst_element_pads_activate):
31134         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31135         (gst_pad_check_pull_range), (gst_pad_pull_range):
31136         * gst/gstpad.h:
31137         Simplify pad activation.
31138         Added function to check if pull_range can be performed.
31139         Error out when pulling inactive or flushing pads.
31140         Removed const from refcounted types as it does not make sense.
31141         Simplify pad templates in basesink
31142         Added base class for simple 1-to-1 transforms.
31143         Make identity subclass the base transform.
31144
31145 2005-03-29  Andy Wingo  <wingo@pobox.com>
31146
31147         * docs/libs/gstreamer-libs-overrides.txt: 
31148         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
31149         really don't understand what's going on, but like whatever. I want
31150         green buildbot!
31151
31152         * docs/gst/Makefile.am:
31153         * docs/libs/Makefile.am: Dist the overrides files.
31154
31155         * check/Makefile.am (clean-local): Remove .libs directories.
31156
31157         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
31158         elements to EXTRA_DIST, so po/ files are happy.
31159
31160         * po/POTFILES.in: Er, remove it here.
31161
31162         * po/POTFILES: Remove gstspider.c.
31163
31164         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
31165
31166         * docs/libs/gstreamer-libs-docs.sgml: 
31167         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
31168         bytestream.
31169
31170         * tests/complexity.c (main): Set the length of the preroll queue
31171         on the sinks to prevent a lockup.
31172
31173         * libs/gst/dataprotocol/Makefile.am: 
31174         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
31175         the same as the one in check/gst-libs/gdp.c.
31176
31177         * po/, docs/gst/: Commit automatic changes to docs and po files.
31178
31179         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
31180         the versioned libgstbase.
31181
31182         * check/Makefile.am: Depend on an unversioned gst-register, seems
31183         to make autoconf happier.
31184
31185         * gst/base/Makefile.am: Make libgstbase a versioned lib.
31186
31187 2005-03-28  Wim Taymans  <wim@fluendo.com>
31188
31189         * configure.ac:
31190         * docs/design/part-gstelement.txt:
31191         * docs/design/part-negotiation.txt:
31192         * docs/design/part-preroll.txt:
31193         * docs/design/part-scheduling.txt:
31194         * docs/design/part-states.txt:
31195         * gst/Makefile.am:
31196         * gst/base/Makefile.am:
31197         * gst/base/README:
31198         * gst/base/gstbasesink.c: (gst_basesink_get_template),
31199         (gst_basesink_base_init), (gst_basesink_class_init),
31200         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
31201         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
31202         (gst_basesink_set_pad_functions),
31203         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
31204         (gst_basesink_set_property), (gst_basesink_get_property),
31205         (gst_base_sink_get_template), (gst_base_sink_get_caps),
31206         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
31207         (gst_basesink_preroll_queue_push),
31208         (gst_basesink_preroll_queue_empty),
31209         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
31210         (gst_basesink_event), (gst_basesink_get_times),
31211         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
31212         (gst_basesink_chain_unlocked), (gst_basesink_chain),
31213         (gst_basesink_loop), (gst_basesink_activate),
31214         (gst_basesink_change_state):
31215         * gst/base/gstbasesink.h:
31216         * gst/elements/Makefile.am:
31217         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
31218         (gst_fakesink_class_init), (gst_fakesink_init),
31219         (gst_fakesink_set_property), (gst_fakesink_get_property),
31220         (gst_fakesink_get_times), (gst_fakesink_event),
31221         (gst_fakesink_preroll), (gst_fakesink_render),
31222         (gst_fakesink_change_state):
31223         * gst/elements/gstfakesink.h:
31224         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31225         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
31226         * gst/gstelement.c: (gst_element_add_pad),
31227         (gst_element_get_state_func), (gst_element_abort_state),
31228         (gst_element_commit_state), (gst_element_lost_state),
31229         (gst_element_set_state), (gst_element_pads_activate):
31230         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
31231         * gst/gstpipeline.c: (gst_pipeline_send_event),
31232         (gst_pipeline_change_state):
31233         Added state change code.
31234         Added/updated docs.
31235         Added sink base class, make fakesink extend the base class.
31236         Small cleanups in GstPipeline.
31237
31238 2005-03-26  David Schleef  <ds@schleef.org>
31239
31240         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
31241         is broken and should be implemented in a different library.
31242         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
31243         * gst/gst.h: remove gstcpu.h
31244         * gst/gstcpu.c: remove
31245         * gst/gstcpu.h: remove
31246         * gst/Makefile.am.future: Remove this file.  It's ancient.
31247
31248 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31249
31250         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31251         (gst_bin_send_event):
31252           Add default event/set_manager handlers. The set_manager handler
31253           takes care that the manager is distributed over kids that were
31254           already in the bin before the manager was set. The event handler
31255           is a utility virtual function that sends the event over all sinks,
31256           so that gst_element_send_event (bin, event); has the expected
31257           behaviour.
31258         * gst/gstpad.c: (gst_pad_event_default):
31259           Re-install default event handling for discontinuities, so that
31260           seeking works without requiring hacks in applications or extra
31261           code in sinks.
31262         * gst/gstpipeline.c: (gst_pipeline_class_init),
31263         (gst_pipeline_send_event):
31264           Half hack, half utility: set a pipeline to PAUSED for seek events,
31265           since that is the only way we can guarantee a/v sync. Means that
31266           you can do gst_element_seek (pipeline, method, pos); on a pipeline
31267           and it "just works".
31268
31269 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31270
31271         * gst/gstpipeline.c: (gst_pipeline_use_clock):
31272           Lock/unlock mismatch.
31273
31274 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
31275
31276         * docs/faq/gst-uninstalled:
31277           add gst-plugins-base
31278         * docs/gst/Makefile.am:
31279           don't error out until docs are fixed
31280         * docs/gst/gstreamer.types:
31281           remove thread
31282
31283 2005-03-22  Wim Taymans  <wim@fluendo.com>
31284
31285         * check/Makefile.am:
31286         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
31287         * gst/gststructure.c: (gst_structure_set_valist),
31288         (gst_structure_copy_conditional):
31289         Activated more tests.
31290         Added message test.
31291         Added G_TYPE_POINTER to GstStructure.
31292         
31293
31294 2005-03-22  Wim Taymans  <wim@fluendo.com>
31295
31296         * docs/design/part-TODO.txt:
31297         * docs/design/part-events.txt:
31298         * docs/design/part-gstbin.txt:
31299         * docs/design/part-gstbus.txt:
31300         * docs/design/part-gstpipeline.txt:
31301         * docs/design/part-messages.txt:
31302         * gst/gstbus.c:
31303         * gst/gstmessage.c:
31304         Docs updates
31305
31306 2005-03-21  Wim Taymans  <wim@fluendo.com>
31307
31308         * gst/gstbus.c: (gst_bus_post):
31309         Fix copy-and-paste error.
31310
31311 2005-03-21  Wim Taymans  <wim@fluendo.com>
31312
31313         * check/Makefile.am:
31314         * gst/Makefile.am:
31315         * gst/elements/Makefile.am:
31316         * gst/elements/gstelements.c:
31317         * gst/elements/gstfakesink.c: (gst_fakesink_init),
31318         (gst_fakesink_event), (gst_fakesink_chain):
31319         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
31320         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
31321         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
31322         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
31323         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
31324         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
31325         (gst_fakesrc_loop), (gst_fakesrc_activate),
31326         (gst_fakesrc_change_state):
31327         * gst/elements/gstfakesrc.h:
31328         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
31329         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
31330         (gst_filesrc_open_file), (gst_filesrc_loop),
31331         (gst_filesrc_activate), (gst_filesrc_change_state),
31332         (filesrc_find_peek), (filesrc_find_suggest),
31333         (gst_filesrc_type_find):
31334         * gst/elements/gstidentity.c: (gst_identity_finalize),
31335         (gst_identity_class_init), (gst_identity_init),
31336         (gst_identity_proxy_getcaps), (identity_queue_push),
31337         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
31338         (gst_identity_getrange), (gst_identity_chain),
31339         (gst_identity_sink_loop), (gst_identity_src_loop),
31340         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
31341         (gst_identity_set_property), (gst_identity_get_property),
31342         (gst_identity_change_state):
31343         * gst/elements/gstidentity.h:
31344         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
31345         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
31346         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
31347         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
31348         (gst_tee_sink_activate):
31349         * gst/elements/gsttee.h:
31350         * gst/gst.c: (gst_register_core_elements), (init_post):
31351         * gst/gst.h:
31352         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
31353         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
31354         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
31355         (gst_bin_change_state):
31356         * gst/gstbin.h:
31357         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
31358         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
31359         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
31360         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
31361         (gst_bus_set_sync_handler), (gst_bus_create_watch),
31362         (bus_watch_callback), (bus_watch_destroy),
31363         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
31364         (poll_timeout), (gst_bus_poll):
31365         * gst/gstbus.h:
31366         * gst/gstcaps.h:
31367         * gst/gstdata.h:
31368         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
31369         (gst_element_post_message), (gst_element_message_full),
31370         (gst_element_get_state_func), (gst_element_get_state),
31371         (gst_element_abort_state), (gst_element_commit_state),
31372         (gst_element_lost_state), (gst_element_set_state),
31373         (gst_element_pads_activate), (gst_element_change_state),
31374         (gst_element_dispose), (gst_element_set_manager_func),
31375         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
31376         (gst_element_set_manager), (gst_element_get_manager),
31377         (gst_element_set_bus), (gst_element_get_bus),
31378         (gst_element_set_scheduler), (gst_element_get_scheduler):
31379         * gst/gstelement.h:
31380         * gst/gstevent.c: (gst_event_new_segment_seek),
31381         (gst_event_new_flush):
31382         * gst/gstevent.h:
31383         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
31384         (_gst_message_free), (gst_message_get_type), (gst_message_new),
31385         (gst_message_new_eos), (gst_message_new_error),
31386         (gst_message_new_warning), (gst_message_new_tag),
31387         (gst_message_new_state_changed), (gst_message_new_application),
31388         (gst_message_get_structure), (gst_message_parse_tag),
31389         (gst_message_parse_state_changed), (gst_message_parse_error),
31390         (gst_message_parse_warning):
31391         * gst/gstmessage.h:
31392         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
31393         (gst_real_pad_set_property), (gst_pad_set_active),
31394         (gst_pad_is_active), (gst_pad_set_blocked_async),
31395         (gst_pad_set_blocked), (gst_pad_is_blocked),
31396         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
31397         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
31398         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
31399         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
31400         (gst_pad_link_filtered), (gst_pad_relink_filtered),
31401         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
31402         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
31403         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
31404         (gst_pad_set_caps), (gst_pad_configure_sink),
31405         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
31406         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
31407         (gst_real_pad_dispose), (gst_real_pad_finalize),
31408         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
31409         (gst_pad_event_default_dispatch), (gst_pad_event_default),
31410         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
31411         * gst/gstpad.h:
31412         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
31413         (pipeline_bus_handler), (gst_pipeline_change_state),
31414         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
31415         * gst/gstpipeline.h:
31416         * gst/gstprobe.h:
31417         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
31418         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
31419         (gst_queue_link_src), (gst_queue_bufferalloc),
31420         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
31421         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
31422         (gst_queue_loop), (gst_queue_handle_src_event),
31423         (gst_queue_handle_src_query), (gst_queue_src_activate),
31424         (gst_queue_change_state):
31425         * gst/gstqueue.h:
31426         * gst/gstscheduler.c: (gst_scheduler_init),
31427         (gst_scheduler_dispose), (gst_scheduler_create_task),
31428         (gst_scheduler_factory_create):
31429         * gst/gstscheduler.h:
31430         * gst/gststructure.c: (gst_structure_get_type),
31431         (gst_structure_copy_conditional):
31432         * gst/gststructure.h:
31433         * gst/gsttaginterface.h:
31434         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
31435         (gst_task_init), (gst_task_dispose), (gst_task_create),
31436         (gst_task_get_state), (gst_task_start), (gst_task_stop),
31437         (gst_task_pause):
31438         * gst/gsttask.h:
31439         * gst/gstthread.c:
31440         * gst/gstthread.h:
31441         * gst/gsttypes.h:
31442         * gst/schedulers/Makefile.am:
31443         * gst/schedulers/cothreads_compat.h:
31444         * gst/schedulers/entryscheduler.c:
31445         * gst/schedulers/faircothreads.c:
31446         * gst/schedulers/faircothreads.h:
31447         * gst/schedulers/fairscheduler.c:
31448         * gst/schedulers/gstbasicscheduler.c:
31449         * gst/schedulers/gstoptimalscheduler.c:
31450         * gst/schedulers/gthread-cothreads.h:
31451         * gst/schedulers/threadscheduler.c:
31452         (gst_thread_scheduler_task_get_type),
31453         (gst_thread_scheduler_task_class_init),
31454         (gst_thread_scheduler_task_init),
31455         (gst_thread_scheduler_task_start),
31456         (gst_thread_scheduler_task_stop),
31457         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
31458         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
31459         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
31460         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
31461         (plugin_init):
31462         * libs/gst/Makefile.am:
31463         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
31464         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
31465         (gst_file_pad_parent_set):
31466         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
31467         (gst_dp_event_from_packet):
31468         * tests/complexity.c: (main):
31469         * tests/mass_elements.c: (main):
31470         * testsuite/states/locked.c: (message_received), (main):
31471         * testsuite/states/parent.c: (main):
31472         * tools/gst-inspect.c: (print_element_flag_info),
31473         (print_implementation_info), (print_pad_info):
31474         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
31475         (main):
31476         * tools/gst-md5sum.c: (event_loop), (main):
31477         * tools/gst-typefind.c: (main):
31478         * tools/gst-xmlinspect.c: (print_element_info):
31479         Next big merge.
31480         Added GstBus for mainloop integration.
31481         Added GstMessage for sending notifications on the bus.
31482         Added GstTask as an abstraction for pipeline entry points.
31483         Removed GstThread.
31484         Removed Schedulers.
31485         Simplified GstQueue for multithreaded core.
31486         Made _link threadsafe, removed old capsnego.
31487         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
31488         Added pad blocking functions.
31489         Reworked scheduling functions in GstPad to prepare for
31490         scheduling updates soon.
31491         Moved events out of data stream.
31492         Simplified GstEvent types.
31493         Added return values to push/pull.
31494         Removed clocking from GstElement.
31495         Added prototypes for state change function for next merge.
31496         Removed iterate from bins and state change management.
31497         Fixed some elements, disabled others for now.
31498         Fixed -inspect and -launch.
31499         Added check for GstBus.
31500
31501 2005-03-10  Wim Taymans  <wim@fluendo.com>
31502
31503         * docs/design/part-MT-refcounting.txt:
31504         * docs/design/part-clocks.txt:
31505         * docs/design/part-gstelement.txt:
31506         * docs/design/part-gstobject.txt:
31507         * docs/design/part-standards.txt:
31508         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31509         (gst_bin_remove_func), (gst_bin_remove):
31510         * gst/gstbin.h:
31511         * gst/gstbuffer.c:
31512         * gst/gstcaps.h:
31513         * testsuite/clock/clock1.c: (main):
31514         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
31515         (main):
31516         * testsuite/dlopen/loadgst.c: (do_test):
31517         * testsuite/refcounting/bin.c: (add_remove_test1),
31518         (add_remove_test2), (main):
31519         * testsuite/refcounting/element.c: (main):
31520         * testsuite/refcounting/element_pad.c: (main):
31521         * testsuite/refcounting/pad.c: (main):
31522         * tools/gst-launch.c: (sigint_handler_sighandler):
31523         * tools/gst-typefind.c: (main):
31524         Doc updates.
31525         Added doc about clock.
31526         removed gst_bin_iterate_recurse_up(), marked methods
31527         for removal.
31528         Fix more testsuites.
31529
31530 2005-03-09  Wim Taymans  <wim@fluendo.com>
31531
31532         * gst/gstpad.c: (gst_pad_get_direction),
31533         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
31534         (gst_pad_collect_valist):
31535         * testsuite/bins/interface.c: (main):
31536         * testsuite/caps/audioscale.c: (test_caps):
31537         * testsuite/caps/caps.c: (test1), (test2), (test3):
31538         * testsuite/caps/deserialize.c: (main):
31539         * testsuite/caps/enumcaps.c: (main):
31540         * testsuite/caps/filtercaps.c: (main):
31541         * testsuite/caps/intersect2.c: (main):
31542         * testsuite/caps/random.c: (main):
31543         * testsuite/caps/renegotiate.c: (my_fixate), (main):
31544         * testsuite/caps/sets.c: (check_caps):
31545         * testsuite/caps/simplify.c: (check_caps), (main):
31546         * testsuite/caps/subtract.c: (check_caps):
31547         Fix _pad_get_direction wrt ghostpads.
31548         Fix caps testsuite.
31549
31550 2005-03-09  Wim Taymans  <wim@fluendo.com>
31551
31552         * check/Makefile.am:
31553         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
31554         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
31555         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
31556         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
31557         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
31558         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
31559         (gst_bin_remove), (gst_bin_iterate_recurse_up),
31560         (bin_element_is_sink), (gst_bin_iterate_sinks),
31561         (gst_bin_iterate_all_by_interface):
31562         * gst/gstbin.h:
31563         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
31564         (gst_element_change_state), (gst_element_dispose),
31565         (gst_element_finalize), (gst_element_set_loop_function):
31566         * gst/gstelement.h:
31567         * gst/gstiterator.c: (find_custom_fold_func):
31568         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31569         (gst_pad_collectv), (gst_pad_collect_valist),
31570         (gst_pad_template_new):
31571         * gst/gstpipeline.c: (gst_pipeline_class_init),
31572         (gst_pipeline_dispose), (gst_pipeline_set_property),
31573         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
31574         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
31575         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
31576         * gst/gstutils.h:
31577         * gst/schedulers/entryscheduler.c:
31578         * gst/schedulers/gstbasicscheduler.c:
31579         (gst_basic_scheduler_cothreaded_chain),
31580         (gst_basic_scheduler_chain_add_element):
31581         * testsuite/bins/interface.c: (main):
31582         Added GstBin test.
31583         Added GstSystemClock test.
31584         Implemented clock distribution code in GstBin.
31585         Implemented iterate sinks method for future use.
31586         Rearranged gstelement.h
31587         Fix GstIterator comparison bug.
31588         Moved some code to GstPipeline, mostly clocking related.
31589
31590 2005-03-09  Wim Taymans  <wim@fluendo.com>
31591
31592         * configure.ac:
31593         * gst/gst_private.h:
31594         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31595         (gst_bin_remove_func), (gst_bin_remove),
31596         (gst_bin_get_by_name_recurse_up):
31597         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
31598         (gst_clock_id_compare_func), (gst_clock_id_wait),
31599         (gst_clock_id_wait_async), (gst_clock_init),
31600         (gst_clock_adjust_unlocked), (gst_clock_get_time):
31601         * gst/gstelement.h:
31602         * gst/gstinfo.c: (_gst_debug_init):
31603         * gst/gstobject.h:
31604         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31605         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
31606         * gst/gstpad.h:
31607         Bump version number, we're now 0.9.0
31608         Add future debugging category.
31609         Fix NULL _unref() in _get_by_name_recurse_up
31610         Rearrange gstpad.h.
31611         Update some docs.
31612
31613 2005-03-08  Wim Taymans  <wim@fluendo.com>
31614
31615         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
31616         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
31617         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
31618         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
31619         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
31620         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
31621         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
31622         * gst/elements/gstidentity.c: (gst_identity_class_init):
31623         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
31624         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
31625         * gst/elements/gstshaper.c: (gst_shaper_class_init):
31626         * gst/elements/gststatistics.c: (gst_statistics_class_init):
31627         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
31628         (gst_tee_link):
31629         * gst/gstelement.c: (gst_element_class_init),
31630         (gst_element_base_class_init), (gst_element_init),
31631         (gst_element_get_random_pad), (gst_element_wait_state_change),
31632         (gst_element_change_state), (gst_element_dispose),
31633         (gst_element_finalize), (gst_element_set_loop_function):
31634         * gst/gstelement.h:
31635         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
31636         * gst/gstthread.c: (gst_thread_class_init),
31637         (gst_thread_release_children_locks), (gst_thread_change_state):
31638         * gst/schedulers/gstbasicscheduler.c:
31639         (gst_basic_scheduler_loopfunc_wrapper),
31640         (gst_basic_scheduler_chain_wrapper),
31641         (gst_basic_scheduler_src_wrapper),
31642         (gst_basic_scheduler_remove_element):
31643         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
31644         Remove threadsafe properties. Fix elements because GObject
31645         complains when installing a property before declaring a
31646         set/get_property handler.
31647         Rearrange gstelement.h file, use STATE macros for state locks.
31648         Free mutexes in the finalize method instead of dispose.
31649
31650 2005-03-08  Wim Taymans  <wim@fluendo.com>
31651
31652         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
31653         * gst/gstthread.c: (gst_thread_release_children_locks):
31654         Added parentage check.
31655         Fix build og GstThread again.
31656
31657 2005-03-08  Wim Taymans  <wim@fluendo.com>
31658
31659         * docs/design/part-MT-refcounting.txt:
31660         * docs/design/part-conventions.txt:
31661         * docs/design/part-gstobject.txt:
31662         * docs/design/part-relations.txt:
31663         * docs/design/part-standards.txt:
31664         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31665         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
31666         (gst_bin_get_by_name), (gst_bin_get_by_interface),
31667         (gst_bin_iterate_all_by_interface):
31668         * gst/gstbuffer.h:
31669         * gst/gstclock.h:
31670         * gst/gstelement.c: (gst_element_class_init),
31671         (gst_element_change_state), (gst_element_set_loop_function):
31672         * gst/gstelement.h:
31673         * gst/gstiterator.c:
31674         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
31675         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
31676         (gst_object_dispatch_properties_changed), (gst_object_set_name),
31677         (gst_object_set_parent), (gst_object_unparent),
31678         (gst_object_check_uniqueness):
31679         * gst/gstobject.h:
31680         Docs updates, clean up some headers.
31681
31682 2005-03-07  Wim Taymans  <wim@fluendo.com>
31683
31684         * check/.cvsignore:
31685         * check/Makefile.am:
31686         * check/gst-libs/.cvsignore:
31687         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
31688         * check/gst/.cvsignore:
31689         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
31690         (START_TEST), (gstbus_suite), (main):
31691         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
31692         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
31693         (gst_data_suite), (main):
31694         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
31695         (add_fold_func), (gstiterator_suite), (main):
31696         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
31697         (thread_name_object), (thread_name_object_default),
31698         (gst_object_name_compare), (gst_object_suite), (main):
31699         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
31700         (gst_pad_suite), (main):
31701         * check/gstcheck.c: (gst_check_log_message_func),
31702         (gst_check_log_critical_func), (gst_check_init):
31703         * check/gstcheck.h:
31704         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
31705         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
31706         Added checks.
31707
31708 2005-03-07  Wim Taymans  <wim@fluendo.com>
31709
31710         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
31711         (gst_list_iterator_next), (gst_list_iterator_resync),
31712         (gst_list_iterator_free), (gst_iterator_new_list),
31713         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
31714         (gst_iterator_free), (gst_iterator_push), (filter_next),
31715         (filter_resync), (filter_uninit), (filter_free),
31716         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
31717         (gst_iterator_foreach), (find_custom_fold_func),
31718         (gst_iterator_find_custom):
31719         * gst/gstiterator.h:
31720         Added missing files.
31721
31722 2005-03-07  Wim Taymans  <wim@fluendo.com>
31723
31724         * Makefile.am:
31725         * configure.ac:
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         * examples/mixer/mixer.c: (main):
31731         * examples/thread/thread.c: (eos), (main):
31732         * gst/Makefile.am:
31733         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
31734         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
31735         (gst_spider_plug_from_srcpad):
31736         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
31737         (gst_spider_identity_change_state),
31738         (gst_spider_identity_sink_loop_type_finding):
31739         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
31740         * gst/elements/gstidentity.c: (gst_identity_init):
31741         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
31742         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
31743         * gst/elements/gsttypefindelement.c: (free_entry):
31744         * gst/gst.c:
31745         * gst/gst.h:
31746         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
31747         (gst_bin_set_clock_func), (gst_bin_auto_clock),
31748         (gst_bin_set_index), (gst_bin_set_element_sched),
31749         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
31750         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
31751         (gst_bin_iterate_elements), (iterate_child_recurse),
31752         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
31753         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
31754         (compare_interface), (gst_bin_get_by_interface),
31755         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
31756         * gst/gstbin.h:
31757         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
31758         (gst_buffer_default_free), (gst_buffer_default_copy),
31759         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
31760         (gst_buffer_create_sub):
31761         * gst/gstbuffer.h:
31762         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
31763         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
31764         (gst_caps_unref), (gst_static_caps_get),
31765         (gst_caps_remove_and_get_structure), (gst_caps_append),
31766         (gst_caps_append_structure), (gst_caps_remove_structure),
31767         (gst_caps_copy_nth), (gst_caps_set_simple),
31768         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
31769         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
31770         (gst_caps_structure_intersect_field), (gst_caps_intersect),
31771         (gst_caps_structure_subtract_field), (gst_caps_subtract),
31772         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
31773         (gst_caps_structure_figure_out_union),
31774         (gst_caps_switch_structures), (gst_caps_do_simplify),
31775         (gst_caps_replace), (gst_caps_from_string),
31776         (gst_caps_copy_conditional):
31777         * gst/gstcaps.h:
31778         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
31779         (_gst_clock_id_free), (gst_clock_id_unref),
31780         (gst_clock_id_compare_func), (gst_clock_id_wait),
31781         (gst_clock_id_wait_async), (gst_clock_class_init),
31782         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
31783         (gst_clock_get_time), (gst_clock_set_time_adjust),
31784         (gst_clock_set_property), (gst_clock_get_property):
31785         * gst/gstclock.h:
31786         * gst/gstcompat.h:
31787         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
31788         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
31789         * gst/gstdata.h:
31790         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
31791         (gst_element_requires_clock), (gst_element_provides_clock),
31792         (gst_element_set_clock), (gst_element_clock_wait),
31793         (gst_element_wait), (gst_element_set_time_delay),
31794         (gst_element_is_indexable), (gst_element_add_pad),
31795         (gst_element_add_ghost_pad), (gst_element_remove_pad),
31796         (pad_compare_name), (gst_element_get_static_pad),
31797         (gst_element_request_pad), (gst_element_get_request_pad),
31798         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
31799         (gst_element_class_get_pad_template_list),
31800         (gst_element_class_get_pad_template), (gst_element_error_func),
31801         (gst_element_get_random_pad), (gst_element_get_event_masks),
31802         (gst_element_send_event), (gst_element_seek),
31803         (gst_element_get_query_types), (gst_element_query),
31804         (gst_element_get_formats), (gst_element_convert),
31805         (gst_element_is_locked_state), (gst_element_set_locked_state),
31806         (gst_element_sync_state_with_parent), (gst_element_change_state),
31807         (gst_element_finalize), (gst_element_yield),
31808         (gst_element_interrupt), (gst_element_set_scheduler),
31809         (gst_element_get_scheduler), (gst_element_set_loop_function):
31810         * gst/gstelement.h:
31811         * gst/gstevent.h:
31812         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
31813         (gst_format_get_by_nick), (gst_format_get_details),
31814         (gst_format_iterate_definitions):
31815         * gst/gstformat.h:
31816         * gst/gstindex.c: (gst_index_gtype_resolver):
31817         * gst/gstinfo.c:
31818         * gst/gstinfo.h:
31819         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
31820         (gst_mem_chunk_free):
31821         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
31822         (gst_object_ref), (gst_object_unref), (gst_object_sink),
31823         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
31824         (gst_object_dispatch_properties_changed),
31825         (gst_object_set_name_default), (gst_object_set_name),
31826         (gst_object_get_name), (gst_object_set_name_prefix),
31827         (gst_object_get_name_prefix), (gst_object_set_parent),
31828         (gst_object_get_parent), (gst_object_unparent),
31829         (gst_object_check_uniqueness), (gst_object_save_thyself),
31830         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
31831         (gst_object_set_property), (gst_object_get_property),
31832         (gst_object_get_path_string):
31833         * gst/gstobject.h:
31834         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
31835         (gst_real_pad_init), (gst_real_pad_get_property),
31836         (gst_pad_custom_new), (gst_pad_get_direction),
31837         (gst_pad_set_active), (gst_pad_is_active),
31838         (gst_pad_set_event_function), (gst_pad_is_linked),
31839         (gst_pad_link_free), (gst_pad_link_intersect),
31840         (gst_pad_link_fixate), (gst_pad_set_caps),
31841         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
31842         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
31843         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
31844         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
31845         (gst_pad_get_caps), (gst_pad_peer_get_caps),
31846         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
31847         (gst_pad_realize), (gst_pad_get_allowed_caps),
31848         (gst_real_pad_dispose), (gst_real_pad_finalize),
31849         (gst_pad_collectv), (gst_pad_collect_valist),
31850         (gst_pad_template_dispose), (gst_pad_template_new),
31851         (gst_pad_get_internal_links):
31852         * gst/gstpad.h:
31853         * gst/gstpipeline.c: (gst_pipeline_dispose),
31854         (gst_pipeline_change_state):
31855         * gst/gstpipeline.h:
31856         * gst/gstplugin.c:
31857         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
31858         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
31859         * gst/gstpluginfeature.h:
31860         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
31861         * gst/gstquery.c: (_gst_query_type_initialize),
31862         (gst_query_type_register), (gst_query_type_get_by_nick),
31863         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
31864         * gst/gstquery.h:
31865         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
31866         * gst/gstscheduler.c: (gst_scheduler_add_element),
31867         (gst_scheduler_factory_create):
31868         * gst/gststructure.c: (gst_structure_set_parent_refcount),
31869         (gst_structure_free), (gst_structure_set_name),
31870         (gst_structure_id_set_value), (gst_structure_set_value),
31871         (gst_structure_set_valist), (gst_structure_remove_field),
31872         (gst_structure_remove_fields),
31873         (gst_structure_remove_fields_valist),
31874         (gst_structure_remove_all_fields), (gst_structure_foreach),
31875         (gst_structure_map_in_place),
31876         (gst_caps_structure_fixate_field_nearest_int),
31877         (gst_caps_structure_fixate_field_nearest_double):
31878         * gst/gststructure.h:
31879         * gst/gstsystemclock.c: (gst_system_clock_class_init),
31880         (gst_system_clock_init), (gst_system_clock_dispose),
31881         (gst_system_clock_async_thread),
31882         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
31883         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
31884         * gst/gstsystemclock.h:
31885         * gst/gsttag.c: (gst_tag_list_add_value_internal),
31886         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
31887         * gst/gsttaginterface.c:
31888         * gst/gstthread.c: (gst_thread_dispose),
31889         (gst_thread_release_children_locks), (gst_thread_change_state),
31890         (gst_thread_main_loop):
31891         * gst/gsttrashstack.h:
31892         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
31893         * gst/gsttypes.h:
31894         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
31895         (gst_element_request_pad), (gst_element_get_pad_from_template),
31896         (gst_element_request_compatible_pad),
31897         (gst_element_get_compatible_pad_filtered),
31898         (gst_element_get_compatible_pad), (gst_element_state_get_name),
31899         (gst_element_link_pads_filtered), (gst_element_link_filtered),
31900         (gst_element_link_many), (gst_element_link),
31901         (gst_element_link_pads), (gst_element_unlink_pads),
31902         (gst_element_unlink_many), (gst_element_unlink),
31903         (gst_pad_can_link_filtered), (gst_pad_can_link),
31904         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
31905         (gst_object_default_error), (gst_bin_add_many),
31906         (gst_bin_remove_many), (gst_element_populate_std_props),
31907         (gst_element_class_install_std_props), (gst_buffer_merge),
31908         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
31909         (link_fold_func), (gst_pad_proxy_setcaps):
31910         * gst/gstutils.h:
31911         * gst/gstvalue.c: (gst_value_deserialize_string):
31912         * gst/parse/grammar.y:
31913         * gst/schedulers/gstbasicscheduler.c:
31914         (gst_basic_scheduler_cothreaded_chain),
31915         (gst_basic_scheduler_chain_recursive_add),
31916         (gst_basic_scheduler_pad_link):
31917         * gst/schedulers/gstoptimalscheduler.c:
31918         (get_group_schedule_function),
31919         (gst_opt_scheduler_state_transition),
31920         (gst_opt_scheduler_add_element), (element_get_reachables_func):
31921         * libs/gst/bytestream/bytestream.c:
31922         * libs/gst/dataprotocol/dataprotocol.c:
31923         (gst_dp_header_from_buffer):
31924         * po/nb.po:
31925         * po/ru.po:
31926         * tests/threadstate/threadstate2.c: (eos):
31927         * tools/gst-compprep.c: (main):
31928         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
31929         (print_pad_info), (print_children_info):
31930         * tools/gst-launch.c: (idle_func), (main):
31931         * tools/gst-md5sum.c: (idle_func), (main):
31932         * tools/gst-xmlinspect.c: (print_element_info):
31933         First THREADED backport attempt, focusing on adding locks and
31934         making sure the API is threadsafe. Needs more work. More docs
31935         follow this week.
31936
31937 2005-02-24  Andy Wingo  <wingo@pobox.com>
31938
31939         * tests/bench-complexity.scm:
31940         * tests/complexity.gnuplot: New files, good for running complexity
31941         benchmarks.
31942
31943         * tests/Makefile.am:
31944         * tests/complexity.c: New test, sets up N elements, at each level
31945         teeing into M streams per element. Eeeenteresting.
31946
31947         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
31948         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
31949         running bench-mass_elements.scm.
31950
31951         * tests/bench-mass_elements.scm: New script, runs mass_elements
31952         for various numbers of identities, outputting the results to a
31953         file. Requires guile 1.6. Just for testing.
31954
31955 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
31956
31957         * gst/schedulers/fairscheduler.c:
31958           compile with debug disabled
31959
31960 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
31961
31962         * configure.ac:
31963           hunting season on 0.9 is now OPEN