gst/gstutils.c: Check if the caps of the pads are compatible before returning a pad...
[platform/upstream/gstreamer.git] / ChangeLog
1 2008-12-09  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2
3         * gst/gstutils.c: (gst_element_get_compatible_pad):
4         Check if the caps of the pads are compatible before returning
5         a pad and claiming it is compatible. This, among other things,
6         fixes a bug with gst-launch where an incompatible pad is chosen
7         and linking fails. Fixes bug #544003.
8
9 2008-12-09  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
10
11         * libs/gst/check/gstcheck.c: (gst_check_init):
12         Revert accidentially commited patch for bug #404631 which
13         tries to print a backtrace if a testcase is terminated by
14         a signal. This code was never activated as the corresponding
15         configure.ac change wasn't committed.
16
17 2008-12-09  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
18
19         * tests/check/libs/controller.c: (GST_START_TEST):
20         This test should return TRUE now as syncing an uncontrolled
21         object will succeed now (there's nothing to sync).
22
23 2008-12-09  Stefan Kost  <ensonic@users.sf.net>
24
25         * libs/gst/controller/gstcontroller.c:
26           Aggregate return value for gst_controller_sync_values(). More info in
27           logging. Always set values on first sync-call.
28
29         * libs/gst/controller/gstcontrolsource.c:
30           Microoptimizations.
31
32         * libs/gst/controller/gsthelper.c:
33           Fix return code and comment.
34
35 2008-12-09  Stefan Kost  <ensonic@users.sf.net>
36
37         * tools/gst-launch.1.in:
38           Fix description of how to specify a type in caps. Fixes #553873.
39           Also ranges and list contain values and not property-assignments.
40
41 2008-12-08  Wim Taymans  <wim.taymans@collabora.co.uk>
42
43         * plugins/elements/gsttee.c: (gst_tee_handle_buffer):
44         Check for changed pads-list before checking the last returned
45         GstFlowReturn because the pad could have been removed and we
46         need to ignore the value in that case.
47
48 2008-12-08  Wim Taymans  <wim.taymans@collabora.co.uk>
49
50         * libs/gst/base/gstbasetransform.c:
51         (gst_base_transform_prepare_output_buffer),
52         (gst_base_transform_getrange), (gst_base_transform_chain):
53         * libs/gst/base/gstbasetransform.h:
54         Add vmethod that is called before we start the transform and which can
55         be used to configure the transform, such as dynamic properties.
56
57 2008-12-05  David Schleef  <ds@schleef.org>
58
59         * gst/gst.c:
60         Search for plugins on win32 based on the location of the
61         gstreamer DLL.  Fixes #548786
62
63 2008-12-04  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
64
65         * configure.ac:
66         Apparently AC_CONFIG_MACRO_DIR breaks when using more
67         than one macro directory, reverting last change.
68
69 2008-12-04  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
70
71         * configure.ac:
72         Set AC_CONFIG_MACRO_DIR to common/m4 to point autoconf to
73         our M4 macros.
74
75 2008-11-29  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
76
77         Patch by: Cygwin Ports maintainer
78                   <yselkowitz at users dot sourceforge dot net>
79
80         * autogen.sh:
81         * configure.ac:
82         Require gettext 0.17 because older versions don't mix with libtool
83         2.2. At build time an older gettext version will still work.
84         Fixes bug #556091.
85
86 2008-11-27  Wim Taymans  <wim.taymans@collabora.co.uk>
87
88         Patch by: 이문형 <iwings at gmail dot com>
89
90         * gst/gstpoll.c: (gst_poll_fd_ctl_write), (gst_poll_fd_has_error):
91         Adds support for FD_CONNECT event (win32). See #562258.
92
93 2008-11-24  Stefan Kost  <ensonic@users.sf.net>
94
95         * libs/gst/base/gstbasesink.c:
96           Turn comment into gtk-doc comment.
97
98 2008-11-24  Wim Taymans  <wim.taymans@collabora.co.uk>
99
100         * libs/gst/base/gstbasetransform.c:
101         (gst_base_transform_acceptcaps):
102         Revert quick accepcaps attempt, it's not fully equivalent to the old
103         behaviour and thus causes regressions.
104
105 2008-11-24  Edward Hervey  <edward.hervey@collabora.co.uk>
106
107         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
108         Fix memory leak.
109
110 2008-11-24  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
111
112         Patch by: Simon Holm Thøgersen <odie at cs dot aau dot dk>
113
114         * gst/gstregistry.c: (gst_registry_scan_path_level):
115         Reduce the number of stat() calls for every file from three times
116         to one time. Fixes bug #560360.
117
118 2008-11-22  Wim Taymans  <wim.taymans@collabora.co.uk>
119
120         * libs/gst/base/gstbasetransform.c:
121         (gst_base_transform_acceptcaps):
122         Rename a variable to make the code clearer.
123
124 2008-11-21  Stefan Kost  <ensonic@users.sf.net>
125
126         * plugins/elements/gstidentity.c:
127         Don't warning on offset==-1. Taken from _check_imperfect_offset().
128
129 2008-11-21  Michael Smith <msmith@songbirdnest.com>
130
131         * plugins/elements/gstfilesrc.c:
132           Check for localhost in URI was backwards, fix it. Fixes unit test.
133
134 2008-11-21  Wim Taymans  <wim.taymans@collabora.co.uk>
135
136         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
137         (gst_base_transform_getcaps), (gst_base_transform_find_transform),
138         (gst_base_transform_acceptcaps), (gst_base_transform_getrange):
139         Add beginnings of a more optimized acceptcaps function than the default
140         core one.
141
142 2008-11-21  Wim Taymans  <wim.taymans@collabora.co.uk>
143
144         * gst/gstpad.c: (gst_pad_accept_caps):
145         Avoid getting the acceptcaps function too early.
146
147 2008-11-21  Wim Taymans  <wim.taymans@collabora.co.uk>
148
149         * tools/gst-launch.c: (event_loop):
150         Make gst-launch handle LATENCY messages and make it recalculate the
151         latency.
152
153 2008-11-20  Michael Smith <msmith@songbirdnest.com>
154
155         * plugins/elements/gstfilesrc.c:
156           Use g_filename_from_uri() for URI parsing in filesrc rather than rolling
157           out own slightly incorrect version. Fixes use of some paths on
158           win32.
159
160 2008-11-20  Michael Smith <msmith@songbirdnest.com>
161
162         * gst/gstregistrybinary.c:
163           In win32 codepath, if we fail to write the registry, create the
164           directory for it and try again, matching the behaviour in non-win32
165           codepaths.
166
167 2008-11-20  Wim Taymans  <wim.taymans@collabora.co.uk>
168
169         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_render_delay):
170         Changing the render delay changes the latency and so we must post a
171         latency message.
172
173 2008-11-20  Wim Taymans  <wim.taymans@collabora.co.uk>
174
175         * gst/gstquery.c:
176         * gst/gstquery.h:
177         Add GstQueryType for custom queries instead of having to use the
178         not-so-very-convenient registration infrastructure to register new
179         types.
180
181 2008-11-19  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
182
183         Patch by: Andrew Feren <acferen at yahoo dot com>
184
185         * gst/gstobject.c: (gst_object_default_deep_notify):
186         Unref the GEnumClass after usage again. Fixes bug #561501.
187
188 2008-11-19  Wim Taymans  <wim.taymans@collabora.co.uk>
189
190         * gst/gstbin.c: (_gst_boolean_accumulator), (gst_bin_class_init),
191         (gst_bin_recalculate_latency), (gst_bin_do_latency_func),
192         (gst_bin_change_state_func):
193         * gst/gstbin.h:
194         Add do-latency signal with the old default fallback implementation. This
195         allows for custom latency calculations for when the default is not
196         sufficient.
197         API: GstBin::do-latency signal.
198
199 2008-11-18  Wim Taymans  <wim.taymans@collabora.co.uk>
200
201         * win32/common/libgstreamer.def:
202         Add new symbols to .def file.
203
204 2008-11-18  Wim Taymans  <wim.taymans@collabora.co.uk>
205
206         * docs/gst/gstreamer-sections.txt:
207         * gst/gstbin.c: (gst_bin_recalculate_latency),
208         (gst_bin_change_state_func):
209         * gst/gstbin.h:
210         Add method to recalculate and redistribute the latency on a bin.
211         API: gst_bin_recalculate_latency().
212
213 2008-11-18  Wim Taymans  <wim.taymans@collabora.co.uk>
214
215         * gst/gstbuffer.h:
216         Document the free_func.
217
218 2008-11-17  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
219
220         * libs/gst/controller/gstinterpolation.c:
221         * libs/gst/controller/gstlfocontrolsource.c:
222         Use gst_guint64_to_gdouble instead of gst_util_guint64_to_gdouble
223         as it is mapped to a cast on non-win32 platforms.
224
225 2008-11-17  Stefan Kost  <ensonic@users.sf.net>
226
227         * libs/gst/controller/gstcontroller.c:
228         * libs/gst/controller/gstcontrollerprivate.h:
229           Keep last-value and only call set_property if value has changed. This
230           supresses all the g_object_notifies we would trigger otherwise. It
231           also allows the user to chage the value while there is no controller
232           change.
233
234 2008-11-17  Stefan Kost  <ensonic@users.sf.net>
235
236         * gst/gstvalue.c:
237           Don't crash if either of the string GValues is empty.
238
239 2008-11-17  Andy Wingo  <wingo@pobox.com>
240
241         * tools/gst-inspect.c (print_all_uri_handlers): New function,
242         prints a summary of what URI schemes are supported by what
243         elements.
244         (main): Plumb in support for --uri-handlers or -u, and fix the
245         argc check for -a and -u.
246
247 2008-11-17  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
248
249         * gst/gstutils.h:
250         Add G_GNUC_PURE to gst_util_uint64_scale* and the double<->uint64
251         conversion functions.
252
253 2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>
254
255         * gst/gstbuffer.c: (gst_buffer_finalize):
256         Avoid costly typechecking for trivially correct pointers.
257
258         * gst/gstpoll.c: (gst_poll_wait):
259         Add some G_LIKELY here and there.
260
261         * libs/gst/base/gstadapter.c: (gst_adapter_push):
262         Add some debug info.
263
264 2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>
265
266         * docs/random/wtay/poll-timeout:
267         Small tweaks.
268
269 2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>
270
271         * tests/old/testsuite/caps/intersection.c: (main):
272         * tests/old/testsuite/plugin/loading.c: (main):
273         Remove references to deprecated API g_mem_chunk*.
274         Fixes #560442.
275
276 2008-11-12  Wim Taymans  <wim.taymans@collabora.co.uk>
277
278         * tools/gst-inspect.c: (main):
279         Add --plugin option. Fixes #560301.
280
281 2008-11-12  Wim Taymans  <wim.taymans@collabora.co.uk>
282
283         * docs/random/wtay/poll-timeout:
284         Quick braindump for a possible (not totally verified) atomic case.
285
286 2008-11-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
287
288         * gst/gstregistrybinary.c: (gst_registry_binary_write_chunk),
289         (gst_registry_binary_initialize_magic),
290         (gst_registry_binary_write_cache),
291         (gst_registry_binary_check_magic):
292         * gst/gstregistrybinary.h:
293         Don't write and check a CRC for the binary registry file. It's
294         guaranteed that the registry is completely written (it's first written
295         to a temporary file and then moved) and if the registry was corrupted
296         by some hardware failure we would have bigger problems.
297
298         Bump binary registry version to 0.10.21.1 for this as it's an
299         incompatible change and to ensure that the registry gets rebuild
300         after the update.
301
302         This saves some milliseconds for reading/writing the registry.
303         Fixes bug #560399.
304
305 2008-11-11  Wim Taymans  <wim.taymans@collabora.co.uk>
306
307         * docs/random/wtay/poll-timeout:
308         Some pseudo code for how we could implement clock timeouts with GstPoll.
309
310 2008-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
311
312         * plugins/elements/gstfilesink.c:
313           Update Author string to match others.
314
315 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
316
317         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
318         Reorganize some more, be more conservative with the GST_TYPE_ARRAY not
319         being fixed and inline the trivial check.
320
321 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
322
323         * gst/gstcaps.c: (gst_caps_copy), (_gst_caps_free),
324         (gst_caps_merge_structure), (gst_caps_get_structure),
325         (gst_caps_copy_nth), (gst_caps_set_simple),
326         (gst_caps_set_simple_valist), (gst_caps_is_fixed),
327         (gst_caps_is_equal_fixed), (gst_caps_intersect),
328         (gst_caps_subtract), (gst_caps_normalize), (gst_caps_do_simplify),
329         (gst_caps_to_string):
330         Callgrind micro optimisations.
331         Avoid array bounds checks and force inline of trivial function.
332
333         * gst/gstobject.c: (gst_object_set_name_default):
334         -1 is equivalent to letting glib to the strlen but then there is more
335         room for optimisations and it's not our fault.
336
337         * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
338         no need to clear the array, we're cool.
339
340         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
341         The most common _is_fixed() check is done on fundamental glib base
342         types so we check this first instead of doing a huge amount of
343         useless GST_TYPE_ARRAY calls.
344
345 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
346
347         * gst/gstevent.h:
348         Add a SKIP seek flag for use with advanced trickmodes.
349         API: GstSeekFlags::GST_SEEK_FLAG_SKIP
350
351 2008-11-05  Wim Taymans  <wim.taymans@collabora.co.uk>
352
353         * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
354         No need to memset, we can clear the value ourselves.
355
356         * gst/gstvalue.c: (gst_type_is_fixed),
357         (gst_value_get_compare_func):
358         Some optimisations from a few callgrind sessions:
359         When checking if a type is fixed, check for trivial fundamental types
360         first before checking types for which we need to get the type followed
361         by the heavy duty type checks, this reduces the amount of
362         g_type_fundamental() calls a lot.
363         When getting the compare function, first check for our registered types.
364         If that fails, do the heavy duty g_type_is_a() checks, reduces the
365         amount of g_type_is_a() considerably.
366
367 2008-11-05  Wim Taymans  <wim.taymans@collabora.co.uk>
368
369         * docs/design/part-TODO.txt:
370         Mumble something about removing GstXML.
371
372 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
373
374         * gst/gstbin.c: (gst_bin_handle_message_func):
375         Get the seqnum before we dispose the message.
376
377 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
378
379         * docs/design/part-TODO.txt:
380         Refer to the framestepping document.
381
382 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
383
384         * gst/gstbin.c: (bin_handle_async_start),
385         (gst_bin_handle_message_func), (gst_bin_query):
386         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
387         (gst_base_sink_event), (gst_base_sink_change_state):
388         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
389         (gst_base_src_loop), (gst_base_src_change_state):
390         Copy seqnums from events to messages so that they can all be related
391         back to eachother.
392
393 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
394
395         * tools/gst-launch.c: (event_loop):
396         Print the message seqnums.
397
398 2008-11-04  Andy Wingo  <wingo@pobox.com>
399
400         * gst/gstutils.c (gst_util_seqnum_next): Refactor for clarity.
401
402 2008-11-04  Andy Wingo  <wingo@pobox.com>
403
404         Add sequence numbers to events and messages. See #559250.
405
406         * gst/gstutils.c (gst_util_seqnum_next, gst_util_seqnum_compare):
407         API: New functions.
408
409         * gst/gstevent.h:
410         * gst/gstevent.c (_gst_event_copy, gst_event_new): Initialize new
411         events with a new sequence number, and copy it when copying.
412         (gst_event_get_seqnum, gst_event_set_seqnum): API: Accessors for
413         an event's sequence number.
414
415         * gst/gstmessage.h:
416         * gst/gstmessage.c (_gst_message_copy, gst_message_new_custom):
417         (gst_event_get_seqnum, gst_event_set_seqnum): API: As with events,
418         so with messages.
419
420         * docs/gst/gstreamer-sections.txt: Add new functions to the docs.
421
422 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
423
424         * docs/manual/advanced-position.xml:
425         * docs/manual/basics-bins.xml:
426         * docs/manual/basics-bus.xml:
427         * docs/manual/basics-pads.xml:
428         * docs/manual/intro-gstreamer.xml:
429         * docs/manual/intro-preface.xml:
430         Some Application Development Manual fixes thanks to
431         Andrew Feren. Fixes #558459.
432
433 2008-11-03  Stefan Kost  <ensonic@users.sf.net>
434
435         * gst/gstregistrybinary.c:
436           Don't bother with the GTimer if we don't output the results.
437
438 2008-11-03  Wim Taymans  <wim.taymans@collabora.co.uk>
439
440         Patch by: David Schleef  <ds@schleef.org>
441
442         * libs/gst/net/Makefile.am:
443         Add WIN32_LIBS to libgstnet LIBADD. Fixes #557300.
444
445 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
446
447         * gst/gstregistrybinary.c:
448           Oh my, studip, stupid me. Remove double stat() call.
449
450 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
451
452         * gst/gstpreset.c:
453           Use g_unlink instead of unlink.
454
455         * gst/gststructure.c:
456           Use glib type.
457
458         * gst/gstutils.c:
459           Add a FIXME:.
460
461         * gst/gsttaglist.c:
462         * gst/gsttypefind.c:
463         * gst/gstvalue.c:
464           Formatting & whitespaces.
465
466 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
467
468         * plugins/elements/gstidentity.c:
469           Doc typo. Use return value of parent_class->event.
470   
471         * plugins/elements/gsttypefindelement.c:
472           Chain up at the end for consistency.
473   
474 2008-10-30  Stefan Kost  <ensonic@users.sf.net>
475
476         * docs/Makefile.am:
477         * docs/gst/gstreamer-docs.sgml:
478         * docs/gst/gstreamer-sections.txt:
479         * docs/gst/running.xml:
480         * docs/libs/gstreamer-libs-docs.sgml:
481           Change to xinclude based build - its faster and easier to maintain.
482
483 2008-10-30  Stefan Kost  <ensonic@users.sf.net>
484
485         * gst/gstregistrybinary.c:
486         * gst/gstregistryxml.c:
487           Use g_unlink() as none of these are directories.
488
489 2008-10-29  Wim Taymans  <wim.taymans@collabora.co.uk>
490
491         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func):
492         Some more comments.
493
494 2008-10-27  Wim Taymans  <wim.taymans@collabora.co.uk>
495
496         * libs/gst/base/gstbasetransform.c:
497         (gst_base_transform_find_transform), (gst_base_transform_getrange):
498         If we have a fixate function, call it even if we already have fixed caps
499         because the subclass might add some caps. Makes audioconvert add a
500         default channel layout.
501
502 2008-10-24  Wim Taymans  <wim.taymans@collabora.co.uk>
503
504         * libs/gst/base/gstbasetransform.c:
505         (gst_base_transform_prepare_output_buffer),
506         (gst_base_transform_getrange):
507         Clear the output buffer variable.
508         Cleanups to the error path in the getrange function.
509         Fixes #557649.
510
511 2008-10-23  Sebastian Dröge  <slomo@circular-chaos.org>
512
513         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
514         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
515         Use gst_buffer_try_new_and_alloc() and handle errors instead of
516         using gst_buffer_new_and_alloc() which aborts if the buffer couldn't
517         be allocated.
518
519 2008-10-23  Wim Taymans  <wim.taymans@collabora.co.uk>
520
521         * gst/gstsegment.c: (gst_segment_set_newsegment_full):
522         Set the last_stop to a more meaningful position when configuring the
523         segment. ie. the start/stop of the segment or clipped against the
524         updated segment boundaries.
525
526         * tests/check/gst/gstsegment.c: (GST_START_TEST):
527         Add some unit tests for the last_stop.
528
529 2008-10-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
530
531         * libs/gst/base/gstbytereader.c:
532         Use GST_(READ|WRITE)_(FLOAT|DOUBLE)_(LE|BE) instead of our own
533         copies of them.
534
535 2008-10-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
536
537         * docs/gst/gstreamer-sections.txt:
538         * gst/gstutils.h:
539         API: Move float endianness conversion macros from libgstfloatcast
540         to core as it's useful in general, even in core. Fixes bug #555196.
541         This adds GDOUBLE_FROM_BE, GDOUBLE_FROM_LE, GDOUBLE_TO_BE,
542         GDOUBLE_TO_LE, GDOUBLE_SWAP_LE_BE, GFLOAT_FROM_BE, GFLOAT_FROM_LE,
543         GFLOAT_TO_BE, GFLOAT_TO_LE, GFLOAT_SWAP_LE_BE.
544
545         Also add GST_READ_ and GST_WRITE_ macros for floats and doubles:
546         GST_READ_FLOAT_LE, GST_READ_FLOAT_BE, GST_READ_DOUBLE_LE,
547         GST_READ_DOUBLE_BE, GST_WRITE_FLOAT_LE, GST_WRITE_FLOAT_BE,
548         GST_WRITE_DOUBLE_LE, GST_WRITE_DOUBLE_BE.
549
550 2008-10-22  Sebastian Dröge  <slomo@circular-chaos.org>
551
552         * docs/libs/gstreamer-libs-sections.txt:
553         * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_data),
554         (gst_byte_reader_peek_data):
555         * libs/gst/base/gstbytereader.h:
556         * win32/common/libgstbase.def:
557         API: Add gst_byte_reader_get_data and gst_byte_reader_peek_data
558         to get a pointer to the data at the current position and have
559         a guaranteed size.
560
561 2008-10-22  Jan Schmidt  <jan.schmidt@sun.com>
562
563         * configure.ac:
564         Fix a bug in the output of the configure script summary
565         when --gst-disable-registry is supplied
566
567 2008-10-22  Jan Schmidt  <jan.schmidt@sun.com>
568
569         * libs/gst/base/gstbitreader.c:
570         * libs/gst/base/gstbytereader.c:
571         Fix the names of 2 functions in the docs strings.
572
573 2008-10-21  Wim Taymans  <wim.taymans@collabora.co.uk>
574
575         * libs/gst/base/gstbasetransform.c:
576         (gst_base_transform_prepare_output_buffer),
577         (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
578         Protect sink_alloc caps with the sinkpad lock to avoid nasty caps
579         refcount problems as seen in banshee and maybe also in farsight2.
580         Remove atomic int now that we need to take the lock anyways.
581
582 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
583
584         * libs/gst/base/gstbasesink.c: (gst_base_sink_default_do_seek),
585         (gst_base_sink_default_prepare_seek_segment),
586         (gst_base_sink_perform_seek), (gst_base_sink_get_position_last),
587         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
588         (gst_base_sink_query):
589         Implement more seeking in pull mode.
590         Use pad convert functions to convert position to the requested format.
591         Fix position/duration reporting in pull mode.
592         Implement position and duration reporting in other formats than time.
593
594         * libs/gst/base/gstbasesink.h:
595         Add member to keep track of when the segment is playing.
596
597 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
598
599         * gst/gstpad.c: (gst_pad_configure_src):
600         When we use gst_pad_alloc_buffer() without wanting to set the caps we
601         also don't need to check if the caps are compatible because the caller
602         presumably is going to perform its own custom checks. Fixes some cases
603         where basetransform elements would error out when it was not needed.
604
605 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
606
607         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
608         Update comment.
609
610         * libs/gst/base/gstbasetransform.c:
611         (gst_base_transform_handle_buffer),
612         (gst_base_transform_reconfigure):
613         Add some debug info.
614
615         * win32/common/libgstbase.def:
616         Add new method.
617
618 2008-10-19  Stefan Kost  <ensonic@users.sf.net>
619
620         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek);
621           Remove duplicated assignment and log a message in failure case.
622
623 2008-10-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
624
625         Patch by: Dig Ge <dig.ge.cn at gmail com>
626
627         * tests/examples/helloworld/helloworld.c: (main):
628           Fix copy'n'paste bug in hello world example (#556900).
629
630 2008-10-17  Wim Taymans  <wim.taymans@collabora.co.uk>
631
632         * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate_pull),
633         (gst_base_sink_query):
634         Query the total number of bytes when activating the pad in pull mode.
635         Implement duration query in pull mode by using the installed pad convert
636         function to convert from bytes to the requested format.
637
638 2008-10-16  Wim Taymans  <wim.taymans@collabora.co.uk>
639
640         * docs/libs/gstreamer-libs-sections.txt:
641         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_preroll),
642         (gst_base_sink_flush_start), (gst_base_sink_flush_stop),
643         (gst_base_sink_event), (gst_base_sink_perform_seek),
644         (gst_base_sink_loop), (gst_base_sink_pad_activate_pull),
645         (gst_base_sink_send_event), (gst_base_sink_change_state):
646         * libs/gst/base/gstbasesink.h:
647         Add method to commit the state in subclasses.
648         Refactor the flush_start and flush_stop code because we need it for
649         flushing while seeking too.
650         Implement the beginnings of seeking in pull mode.
651         Use the segment last_stop field for the pulling offset.
652         Fix the pause method in pull mode.
653         Configure the segment to BYTES for pull mode.
654         API: GstBaseSink::gst_base_sink_do_preroll()
655
656 2008-10-16  Wim Taymans  <wim.taymans@collabora.co.uk>
657
658         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
659         Update some docs.
660
661 2008-10-14  Tim-Philipp Müller  <tim.muller at collabora co uk>
662
663         * gst/gstquark.c: (_priv_gst_quarks_initialize):
664           Fix printf format warning.
665
666 2008-10-14  Sebastian Dröge  <slomo@circular-chaos.org>
667
668         * plugins/elements/gsttee.c: (gst_tee_handle_buffer):
669         Fix flow aggregation of tee. Error out immediately for all flow returns
670         except OK and NOT_LINKED, return NOT_LINKED if all pads are not linked
671         and return OK if at least one pad is linked.
672
673         Before we errored out on "fatal" flow returns (i.e. not for WRONG_STATE)
674         and otherwise returned the flow return of the last pad, which is wrong.
675         
676         * tests/check/elements/tee.c: (_fake_chain), (_fake_chain_error),
677         (GST_START_TEST), (tee_suite):
678         Add unit tests for the flow aggregation.
679
680 2008-10-13  Wim Taymans  <wim.taymans@collabora.co.uk>
681
682         * docs/design/part-TODO.txt:
683         Remove item from the todo list because it was fixed with the latency
684         state change rewrites.
685
686         * docs/design/part-seeking.txt:
687         * docs/design/part-segments.txt:
688         Update some docs.
689
690         * gst/gstevent.c: (gst_event_new_new_segment_full),
691         (gst_event_parse_new_segment_full), (gst_event_new_buffer_size),
692         (gst_event_parse_buffer_size), (gst_event_new_qos),
693         (gst_event_parse_qos), (gst_event_new_seek),
694         (gst_event_parse_seek), (gst_event_new_latency),
695         (gst_event_parse_latency):
696         Use quarks to construct and parse events.
697
698         * gst/gstquark.c: (_priv_gst_quarks_initialize):
699         * gst/gstquark.h:
700         Add some more quarks to the table.
701         Emit a warning when the quark tables are not in sync.
702
703         * tests/check/gst/gstbus.c: (GST_START_TEST):
704         Add an assert.
705
706 2008-10-13  Stefan Kost  <ensonic@users.sf.net>
707
708         * plugins/elements/Makefile.am:
709         * plugins/indexers/Makefile.am:
710           Don't install static libs for plugins. Fixes #550851 for core.
711
712 2008-10-13  Wim Taymans  <wim.taymans@collabora.co.uk>
713
714         * gst/gstbus.c: (gst_bus_source_finalize),
715         (gst_bus_add_watch_full_unlocked), (gst_bus_add_watch_full),
716         (gst_bus_enable_sync_message_emission),
717         (gst_bus_disable_sync_message_emission),
718         (gst_bus_add_signal_watch_full), (gst_bus_remove_signal_watch):
719         Fix deadlock, g_source_get_id() cannot be called in finalize.
720         Keep track of the watch source by keeping a pointer to the source object
721         instead.
722         Use the bus lock to protect access to the pointer to the current
723         watch source.
724
725 2008-10-13  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
726
727         Base on Patch by: Olivier Crete <tester at tester dot ca>
728
729         * gst/gstbus.c: (gst_bus_source_finalize),
730         (gst_bus_add_watch_full), (gst_bus_add_signal_watch_full):
731         Only allow one bus watch to be set at a time. This is necessary
732         because the dispatcher pops the message from the bus and the second
733         watcher will then get NULL or the next message (and the first won't
734         get this next message then, etc). If more than one "watcher" is
735         required signal watches should be used. Fixes bug #526044.
736
737 2008-10-12  Jan Schmidt  <jan.schmidt@sun.com>
738
739         * tools/gst-launch.c:
740         Change the printing of the 'buffering...' output to avoid putting
741         a \r in a translateable string (flagged by the TP).
742
743 2008-10-10  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
744
745         * gst/gstxml.c:
746         Clarify that the save_thyself() and restore_thyself() virtual
747         functions of GstObject need to be overriden, not
748         gst_object_(save|restore)_thyself() which is impossible.
749         Fixes bug #555700.
750
751 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
752
753         * gst/gstpad.c: (gst_pad_get_range), (gst_pad_pull_range):
754         Revert a patch from 21 months ago that broke caps negotiation in pull
755         mode. Basically, having a buffer pass over a pad will trigger the
756         setcaps function when caps change, just like in push mode.
757
758 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
759
760         * docs/design/part-negotiation.txt:
761         Update the docs some more.
762
763         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
764         If we pull a buffer with non-trivial caps, suggest those caps with the
765         max probability.
766
767 2008-10-10  Edward Hervey  <edward.hervey@collabora.co.uk>
768
769         * docs/design/part-TODO.txt:
770         Add another limitation of pad-blocking with segment seeks not pushing
771         EOS events.
772
773 2008-10-10  Jan Schmidt  <jan.schmidt@sun.com>
774
775         * win32/common/libgstbase.def:
776         * win32/common/libgstreamer.def:
777         Add new symbols to the win32 defs files
778
779 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
780
781         * gst/gstbin.c: (gst_bin_remove_func), (update_degree),
782         (gst_bin_handle_message_func):
783         The message src can be NULL, don't try to print the object names in that
784         case.
785
786         * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate):
787         Add some more debug info.
788
789         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline),
790         (GST_START_TEST):
791         Add some debug.
792         Fix the test, pull based sinks go ASYNC to PAUSED, just like other
793         scheduling modes.
794
795 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
796
797         * docs/design/part-negotiation.txt:
798         Small doc update.
799
800         * docs/libs/gstreamer-libs-sections.txt:
801         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
802         (gst_base_sink_pad_getcaps), (gst_base_sink_pad_setcaps),
803         (gst_base_sink_init), (gst_base_sink_set_blocksize),
804         (gst_base_sink_get_blocksize), (gst_base_sink_set_property),
805         (gst_base_sink_get_property), (gst_base_sink_needs_preroll),
806         (gst_base_sink_loop), (gst_base_sink_pad_activate),
807         (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
808         (gst_base_sink_change_state):
809         * libs/gst/base/gstbasesink.h:
810         Add blocksize property and methods to control the amount of data
811         to pull.
812         Negotiate first before activating upstream in pull mode so that they can
813         negotiate themselves.
814         When we operate in pull mode, we only accept the caps that we
815         negotiated.
816         Make the sink go ASYNC to PAUSED, like all other sinks.
817         API: GstBaseSink::gst_base_sink_set_blocksize()
818         API: GstBaseSink::gst_base_sink_get_blocksize()
819         API: GstBaseSink::blocksize
820
821         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
822         (gst_base_src_set_live), (gst_base_src_is_live),
823         (gst_base_src_set_format), (gst_base_src_query_latency),
824         (gst_base_src_set_blocksize), (gst_base_src_get_blocksize),
825         (gst_base_src_set_do_timestamp), (gst_base_src_get_do_timestamp),
826         (gst_base_src_set_property), (gst_base_src_get_property):
827         * libs/gst/base/gstbasesrc.h:
828         Add typechecking in public API functions.
829         Add methods to control the blocksize in subclasses.
830         API: GstBaseSrc::gst_base_src_set_blocksize()
831         API: GstBaseSrc::gst_base_src_get_blocksize()
832
833 2008-10-10  Edward Hervey  <edward.hervey@collabora.co.uk>
834
835         * tests/check/gst/gstutils.c: (probe_do_nothing), (data_probe),
836         (buffer_probe), (event_probe), (GST_START_TEST):
837         We now see 3 events go through our pad, since basesink now sends
838         upstream latency events.
839
840 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
841
842         * gst/gstpipeline.c: (gst_pipeline_change_state):
843         Release the object lock before trying to flush the bus.
844
845 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
846
847         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
848         Forward LATENCY events upstreams so that elements know about the total
849         pipeline latency. Fixes #555307.
850
851 2008-10-08  Jan Schmidt  <jan.schmidt@sun.com>
852
853         * plugins/elements/gstqueue.c:
854         Allow through queries when we don't know how
855         to adjust them (not TIME or BYTES), as otherwise it's
856         not possible to query the current position in order
857         to seek in other formats at all.
858
859 2008-10-08  Andy Wingo  <wingo@pobox.com>
860
861         * docs/gst/gstreamer-sections.txt: Placate doc pendants.
862
863 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
864
865         * gst/gstghostpad.c:
866         * gst/gstghostpad.h:
867         Unbreak -good build, private is a reserved c++ keyword.
868
869 2008-10-08  Andy Wingo  <wingo@pobox.com>
870
871         * gst/gstghostpad.h (GST_GHOST_PAD_CAST):
872         * gst/gstghostpad.c (GST_GHOST_PAD_CAST): Fix unintended API
873         removal: re-add GST_GHOST_PAD_CAST to the header.
874
875         * gst/gstghostpad.h (GstProxyPad, GstProxyPadClass, GstGhostPad)
876         (GstGhostPadClass): Publically expose these structures so as to
877         allow easy subclassing from C. Hide the member data behind a
878         private opaque data pointer.
879
880         * gst/gstghostpad.c: Adapt to store instance data in the type
881         instance's private data region, not in the public struct.
882
883 2008-10-08  Andy Wingo  <wingo@pobox.com>
884
885         * gst/gstghostpad.c (gst_ghost_pad_construct): If we got a
886         template via g_object_get(), be sure to unref it.
887
888         * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): Fix incorrect doc.
889
890 2008-10-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
891
892         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
893         If we can't get a cache file don't try to save something to it.
894         Dereferencing NULL pointers usually isn't a good idea.
895
896 2008-10-07  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
897
898         * tests/check/Makefile.am:
899         * tests/check/gst/gstabi.c:
900         * tests/check/gst/struct_sparc.h:
901         * tests/check/libs/libsabi.c:
902         * tests/check/libs/struct_sparc.h:
903         Add Sparc ABI checks
904
905         * tests/check/gst/gstvalue.c: (GST_START_TEST):
906         Cast signed integer to unsigned to avoid a compiler warning.
907
908 2008-10-07  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
909
910         * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_uint24_le),
911         (gst_byte_reader_get_uint24_be), (gst_byte_reader_get_int24_le),
912         (gst_byte_reader_get_int24_be), (gst_byte_reader_peek_uint24_le),
913         (gst_byte_reader_peek_uint24_be), (gst_byte_reader_peek_int24_le),
914         (gst_byte_reader_peek_int24_be):
915         Use new GST_READ_UINT24_(LE|BE) macros.
916
917 2008-10-07  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
918
919         * docs/gst/gstreamer-sections.txt:
920         * gst/gstutils.h:
921         Always use the unaligned variants of GST_READ_UINT* and GST_WRITE_UINT*
922         as it's too easy to break the ISO C strict aliasing rules with simple
923         casts to the corresponding type and this would introduce hard to debug
924         bugs. Fixes bug #545714.
925
926         API: Add GST_READ_UINT24_(LE|BE) and GST_WRITE_UINT24_(LE|BE).
927
928 2008-10-07  Tim-Philipp Müller  <tim.muller at collabora co uk>
929
930         * gst/gstbuffer.h: (GST_BUFFER_FREE_FUNC):
931         * gst/gstghostpad.c: (gst_ghost_pad_construct):
932           Add 'Since' bits to gtk-doc chunks for new API.
933
934 2008-10-06  Thijs Vermeir  <thijsvermeir@gmail.com>
935
936         * docs/gst/gstreamer-sections.txt:
937         Fix documentation
938
939 2008-10-06  Andy Wingo  <wingo@pobox.com>
940
941         * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): New API, a free function
942         that will be called on the malloc_data to free it. Basically a way
943         to avoid subclassing when all you need is a different free
944         function, i.e. free() instead of g_free().
945
946         * gst/gstbuffer.c (gst_buffer_finalize): Free malloc_data via
947         calling the free function.
948         (gst_buffer_init): Initialize the free function to g_free.
949
950 2008-10-06  Andy Wingo  <wingo@pobox.com>
951
952         * gst/gstghostpad.h:
953         * gst/gstghostpad.c (gst_ghost_pad_construct): New function,
954         finishes the initialization of ghost pad. Useful for language
955         bindings and subclassers of GstGhostPad. Fixes #539108.
956         (gst_ghost_pad_new_full): Use the new constructor.
957
958 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
959
960         Base on Patch by: Olivier Crete <tester at tester dot ca>
961
962         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
963         (gst_bin_remove_func), (update_degree),
964         (gst_bin_sort_iterator_new), (gst_bin_handle_message_func):
965         Keep track of pads that are being linked/unlinked and resync the state
966         changes.
967
968         * gst/gstpad.c: (gst_pad_get_direction),
969         (gst_pad_set_chain_function), (gst_pad_set_getrange_function),
970         (gst_pad_set_checkgetrange_function), (gst_pad_unlink),
971         (gst_pad_link_prepare), (gst_pad_link),
972         (gst_pad_event_default_dispatch), (gst_pad_chain), (gst_pad_push),
973         (gst_pad_check_pull_range), (gst_pad_get_range),
974         (gst_pad_pull_range):
975         Some code cleanups, use macros to check pad direction.
976         Don't need to take the lock on the pad direction.
977         Post structure change when pads are linked/unlinked.
978         Change some checks into _return_if_fail().
979
980         * tests/check/gst/gstbin.c:
981         (test_link_structure_change_state_changed_sync_cb),
982         (GST_START_TEST), (gst_bin_suite):
983         Add testcase for pad link/unlinke resync during a state change.
984         Fixes #510354.
985
986 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
987
988         * docs/gst/gstreamer-sections.txt:
989         * gst/gstmessage.c: (gst_message_new_structure_change),
990         (gst_message_parse_structure_change):
991         * gst/gstmessage.h:
992         Implement STRUCTURE_CHANGED messages. These messages will be used to
993         signal the parent bin of link/unlink operations that could require a
994         resync when doing a state change. See ##510354.
995         API: gst_message_new_structure_change()
996         API: gst_message_parse_structure_change()
997
998 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
999
1000         * gst/gstquark.c:
1001         * gst/gstquark.h:
1002         Add some more quarks for new message. See #510354.
1003
1004 2008-10-06  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1005
1006         * docs/libs/gstreamer-libs-docs.sgml:
1007         * docs/libs/gstreamer-libs-sections.txt:
1008         * libs/gst/base/Makefile.am:
1009         * libs/gst/base/gstbitreader.c: (gst_bit_reader_new),
1010         (gst_bit_reader_new_from_buffer), (gst_bit_reader_free),
1011         (gst_bit_reader_init), (gst_bit_reader_init_from_buffer),
1012         (gst_bit_reader_set_pos), (gst_bit_reader_get_pos),
1013         (gst_bit_reader_get_remaining), (gst_bit_reader_skip),
1014         (gst_bit_reader_skip_to_byte):
1015         * libs/gst/base/gstbitreader.h:
1016         * libs/gst/base/gstbytereader.c: (GDOUBLE_SWAP_LE_BE),
1017         (GFLOAT_SWAP_LE_BE), (gst_byte_reader_new),
1018         (gst_byte_reader_new_from_buffer), (gst_byte_reader_free),
1019         (gst_byte_reader_init), (gst_byte_reader_init_from_buffer),
1020         (gst_byte_reader_set_pos), (gst_byte_reader_get_pos),
1021         (gst_byte_reader_get_remaining), (gst_byte_reader_skip),
1022         (gst_byte_reader_get_uint8), (gst_byte_reader_get_int8),
1023         (gst_byte_reader_peek_uint8), (gst_byte_reader_peek_int8),
1024         (gst_byte_reader_get_uint24_le), (gst_byte_reader_get_uint24_be),
1025         (gst_byte_reader_get_int24_le), (gst_byte_reader_get_int24_be),
1026         (gst_byte_reader_peek_uint24_le), (gst_byte_reader_peek_uint24_be),
1027         (gst_byte_reader_peek_int24_le), (gst_byte_reader_peek_int24_be):
1028         * libs/gst/base/gstbytereader.h:
1029         * tests/check/Makefile.am:
1030         * tests/check/libs/bitreader.c: (GST_START_TEST),
1031         (gst_bit_reader_suite):
1032         * tests/check/libs/bytereader.c: (GST_START_TEST),
1033         (gst_byte_reader_suite):
1034         API: Add bit reader and byte reader classes, including documentation
1035         and an extensive unit test suite. Fixes bug #553554.
1036
1037 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
1038
1039         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position),
1040         (gst_base_sink_query):
1041         Improve position reporting while flushing and other intermediate state
1042         changes. Fixes #553874.
1043
1044 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
1045
1046         Patch by: Antoine Tremblay <hexa00 at gmail dot com>
1047
1048         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
1049         Original patch by : Simon Descaries
1050         Fix small refount leak in caps compatibility check.
1051         Fixes #551676.
1052
1053 2008-10-06  Stefan Kost  <ensonic@users.sf.net>
1054
1055         * docs/pwg/advanced-request.xml:
1056           Fix 0.8 api usage in example. Fixes #554561
1057
1058         * docs/pwg/appendix-porting.xml:
1059           Change 0.9 to 0.10 here.
1060
1061 2008-10-06  Stefan Kost  <ensonic@users.sf.net>
1062
1063         * docs/manual/basics-data.xml:
1064           Change "event-event interaction" to "element-element interaction".
1065           Fixes #552448. Also fix sample code for seeking and do more 0.8->0.10
1066           updates.
1067
1068 2008-10-05  Jan Schmidt  <jan.schmidt@sun.com>
1069
1070         * configure.ac:
1071         Back to development -> 0.10.21.1
1072
1073 === release 0.10.21 ===
1074
1075 2008-10-02  Jan Schmidt <jan.schmidt@sun.com>
1076
1077         * configure.ac:
1078           releasing 0.10.21, "Take These Things From Me"
1079
1080 2008-09-28  Jan Schmidt  <jan.schmidt@sun.com>
1081
1082         * configure.ac:
1083         0.10.20.4 pre-release
1084
1085 2008-09-28  Jan Schmidt  <jan.schmidt@sun.com>
1086
1087         * libs/gst/base/gstbasetransform.c:
1088         * plugins/elements/gstcapsfilter.c:
1089         * tests/check/Makefile.am:
1090         * tests/check/elements/.cvsignore:
1091         * tests/check/elements/capsfilter.c:
1092         Fix assertion in basetransform when the subclass chooses not to
1093         allocate a buffer in prepare_buffer(), and make capsfilter error out
1094         cleanly if requested to apply caps that don't completely specify the
1095         buffer. Fixes #551509
1096
1097 2008-09-24  Wim Taymans  <wim.taymans@collabora.co.uk>
1098
1099         * libs/gst/base/gstbasetransform.c:
1100         (gst_base_transform_prepare_output_buffer):
1101         Take new caps ref because our old one might have been gone when the
1102         subclass performs a gst_pad_set_caps() on the srcpad. See #548764.
1103
1104 2008-09-15  Stefan Kost  <ensonic@users.sf.net>
1105
1106         * configure.ac:
1107           Do not probe availability of check unit test library when cross
1108           compiling, as test would not work anyway. Also cleanup verbose output
1109           of the check test. Fixes #551952.
1110
1111 2008-09-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1112
1113         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
1114
1115         * gst/gstelement.c: (gst_element_sync_state_with_parent):
1116         Avoid leaking the parent ref when we fail changing the state of the
1117         element using gst_element_sync_state_with_parent(). Fixes #551978.
1118
1119 2008-09-11  Tim-Philipp Müller  <tim.muller at collabora co uk>
1120
1121         * docs/manual/intro-motivation.xml::
1122           Remove some bits that no longer apply, update others (#551642).
1123
1124 2008-09-10  Jan Schmidt  <jan.schmidt@sun.com>
1125
1126         * configure.ac:
1127         0.10.20.2 pre-release
1128
1129         * po/LINGUAS:
1130         * po/id.po:
1131         * po/pt_BR.po:
1132
1133         New translations.
1134
1135 2008-09-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
1136
1137         * win32/common/config.h.in:
1138           Add GST_DATADIR, hard-code cpu to x86.
1139
1140         * win32/common/libgstreamer.def:
1141           Spaces to tabs.
1142
1143 2008-09-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
1144
1145         * gst/gsttaglist.h:
1146           Fix Since: markers for new geo tags.
1147
1148 2008-09-02  Stefan Kost  <ensonic@users.sf.net>
1149
1150         * gst/gsttaglist.h:
1151           Fix actual tag name define after renaming from altitude to elevation.
1152
1153 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1154
1155         * gst/gstpad.c: (add_unref_pad_to_list),
1156         (gst_pad_get_internal_links_default):
1157         Add fallback when calling the deprecated function on an element that
1158         implements the new internal_link handler.
1159
1160 2008-09-01  Stefan Kost  <ensonic@users.sf.net>
1161
1162         * docs/gst/gstreamer-sections.txt:
1163         * gst/gsttaglist.c:
1164         * gst/gsttaglist.h:
1165           Add new tags for geo location and clarify purpose of existing location
1166           tag. Fixes #481169
1167
1168 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1169
1170         Patch by: Olivier Crete <tester at tester dot ca>
1171
1172         * gst/gstpad.c: (gst_pad_iterate_internal_links_default),
1173         (gst_pad_event_default_dispatch), (gst_pad_dispatcher):
1174         Use thread-safe internal links iterator. Fixes #549504.
1175
1176 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1177
1178         Based on patch by: Olivier Crete <tester at tester dot ca>
1179
1180         * docs/gst/gstreamer-sections.txt:
1181         * win32/common/libgstreamer.def:
1182         * gst/gstpad.c: (gst_pad_init),
1183         (gst_pad_set_iterate_internal_links_function),
1184         (int_link_iter_data_free), (iterate_pad),
1185         (gst_pad_iterate_internal_links_default),
1186         (gst_pad_iterate_internal_links), (gst_pad_get_internal_links):
1187         * gst/gstpad.h:
1188         Add threadsafe replacement functions for getting internal links of an
1189         element. Deprecate the old internal links functions.
1190         API:GstPad::gst_pad_set_iterate_internal_links_function()
1191         API:GstPad::GstPadIterIntLinkFunction
1192         API:GstPad::gst_pad_iterate_internal_links()
1193         API:GstPad::gst_pad_iterate_internal_links_default()
1194
1195         * gst/gstghostpad.c: (gst_proxy_pad_do_iterate_internal_links),
1196         (gst_proxy_pad_init):
1197         Implement threadsafe internal links.
1198
1199         * tests/check/elements/tee.c: (GST_START_TEST), (tee_suite):
1200         Unit test for internal links on tee. See #549504.
1201
1202 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
1203
1204         * tests/check/Makefile.am:
1205         libs/transform1 test requires libs/test_transform.c
1206
1207 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
1208
1209         * gst/gstpad.c: (gst_pad_get_internal_links_default):
1210         Die evil deadlock, die !
1211
1212 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
1213
1214         * gst/gstutils.c: (gst_element_get_compatible_pad):
1215         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1216         * tests/check/gst/gstpad.c: (name_is_valid), (GST_START_TEST):
1217         Fix all leaks due to the bug in gst_pad_template_new() by which it does
1218         not steal the refcount of the given caps as stated.
1219
1220         REVERT THIS COMMIT ONCE FIXED !
1221         REVERT THIS COMMIT ONCE FIXED !
1222         REVERT THIS COMMIT ONCE FIXED !
1223         REVERT THIS COMMIT ONCE FIXED !
1224         REVERT THIS COMMIT ONCE FIXED !
1225         REVERT THIS COMMIT ONCE FIXED !
1226
1227 2008-08-29  Wim Taymans  <wim.taymans@collabora.co.uk>
1228
1229         * gst/gstiterator.c:
1230         * gst/gstiterator.h:
1231         After 3 years it's about time to revise the documentation of the
1232         iterator objects.
1233
1234 2008-08-29  Wim Taymans  <wim.taymans@collabora.co.uk>
1235
1236         * gst/gstpad.c: (gst_pad_get_internal_links_default):
1237         Make the internal links function less thread-unsafe and add some
1238         comments, dunno why.
1239
1240 2008-08-29  Tim-Philipp Müller  <tim.muller at collabora co uk>
1241
1242         * gst/gst_private.h:
1243           Include gstinfo.h even if GST_DISABLE_GST_DEBUG is defined. Fixes
1244           build with --disable-gst-debug.
1245
1246 2008-08-28  David Schleef  <ds@schleef.org>
1247
1248         * gst/gstpadtemplate.c: Revert last change, since it breaks
1249           a few plugins, ffmpeg, alaw, and mulaw.  Code is correct,
1250           but shouldn't be enabled until we've released fixed versions
1251           of -good and -ffmpeg.
1252
1253 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
1254
1255         * gst/gstobject.c:
1256           Put the gst_object_get_name() back in.
1257
1258 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
1259
1260         * gst/gstpadtemplate.c:
1261           The old behaviour was that gst_pad_template_new() takes ownership of
1262           the caps. As we now call g_object_new() which calls g_object_set() and
1263           which copies the caps, we have to unref them to not leak them. Fixes
1264           make valgrid for me.
1265
1266 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
1267
1268         * gst/gsturi.c:
1269           Don't segfault on input like "tel:+1-123-555-1234".
1270
1271 2008-08-27  Stefan Kost  <ensonic@users.sf.net>
1272
1273         * gst/gstobject.c:
1274           Due to popular request also include ObjectType in
1275           gst_object_get_path_string(). Makes gst-launch -v bit more useful.
1276
1277 2008-08-26  David Schleef  <ds@schleef.org>
1278
1279         * gst/gstutils.c: Remove check in gst_pad_query_convert() that
1280           src_val must be positive, because that's not a requirement.
1281           This causes problems with converting negative granulepos
1282           values for Dirac.
1283         * gst/gstquery.c: Same, gst_query_new_convert().
1284
1285 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1286
1287         * gst/gstclock.c: (gst_clock_add_observation):
1288         Add some more debugging to the clock slaving code.
1289
1290         * win32/common/libgstbase.def:
1291         Add new basetransform method.
1292
1293 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1294
1295         * gst/gstbin.c: (gst_bin_element_set_state):
1296         Take the (recursive) state lock between getting the locked state of an
1297         element and changing the element state. This allows the application to
1298         lock an element's state and then change its state without races.
1299
1300 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1301
1302         * gst/gstbin.c: (gst_bin_element_set_state):
1303         When an element is in the locked state we still want to update the
1304         base_time of the element.
1305
1306 2008-08-21  Wim Taymans  <wim.taymans@collabora.co.uk>
1307
1308         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1309         Use the result from gst_pad_set_caps() instead of assuming the element
1310         always accepted the caps computed by the default negotiate function.
1311
1312 2008-08-20  Wim Taymans  <wim.taymans@collabora.co.uk>
1313
1314         * docs/libs/gstreamer-libs-sections.txt:
1315         * libs/gst/base/gstbasetransform.c:
1316         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1317         (gst_base_transform_chain), (gst_base_transform_suggest),
1318         (gst_base_transform_reconfigure):
1319         * libs/gst/base/gstbasetransform.h:
1320         Implement method for reconfiguring basetransform.
1321         API: GstBaseTransform::gst_base_transform_reconfigure()
1322
1323 2008-08-20  Stefan Kost  <ensonic@users.sf.net>
1324
1325         patch by: Murray Cumming <murrayc@murrayc.com>
1326
1327         * gst/gstutils.c:
1328           Mention that this is just like gst_buffer_merge() but with extra
1329           unreffing for C coders. Advise language bindings not to wrap it.
1330           Fixes Bug #533856.
1331           
1332           Also fix file comment.
1333
1334 2008-08-20  Stefan Kost  <ensonic@users.sf.net>
1335
1336         reviewed by: Wim Taymans <wim.taymans@collabora.co.uk>
1337
1338         * plugins/elements/gstfakesink.c:
1339         * plugins/elements/gstfakesrc.c:
1340           Call super::event() when not handling it. Fixes #544855.
1341
1342 2008-08-19  Michael Smith <msmith@songbirdnest.com>
1343
1344         Patch by: Alessandro Decina <alessandro@nnva.org>
1345         * plugins/elements/gstfilesrc.c:
1346           Use 64 bit variants of stat functions on win32, to enable support
1347           of large files there.
1348           Fixes #547277.
1349
1350 2008-08-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1351
1352         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
1353         (gst_base_sink_event), (gst_base_sink_chain_unlocked),
1354         (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
1355         (gst_base_sink_get_position), (gst_base_sink_change_state):
1356         Improve position reporting in the flushing state.
1357         Also report the position when we are not yet prerolled but we
1358         have a newsegment event. Fixes #543444.
1359         Improve the pull-based negotiation code.
1360
1361         * tests/check/elements/fakesink.c: (GST_START_TEST),
1362         (fakesink_suite):
1363         Add testcase for position reporting while flushing in PAUSED and
1364         PLAYING.
1365
1366         * tests/check/generic/sinks.c: (GST_START_TEST):
1367         Update unit-test, we can now query the position as soon as we receive a
1368         NEWSEGMENT event.
1369
1370 2008-08-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1371
1372         Based on patch by: Jason Zhao <e3423c at motorola dot com>
1373
1374         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object):
1375         When the subclass event handler releases the PREROLL_LOCK, we could be
1376         in the flushing state and we have to ignore the event. Fixes #548394.
1377
1378 2008-08-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
1379
1380         * tools/gst-launch.1.in:
1381           Document GST_REGISTRY_UPDATE environment variable.
1382
1383 2008-08-18  Wim Taymans  <wim.taymans@collabora.co.uk>
1384
1385         * libs/gst/base/gstbasetransform.c:
1386         (gst_base_transform_prepare_output_buffer):
1387         If the element is configured in passthrough mode but the
1388         prepare_output_buffer gave us a new output buffer, discard that buffer
1389         and reuse the input buffer.
1390
1391 2008-08-15  Wim Taymans  <wim.taymans@collabora.co.uk>
1392
1393         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
1394
1395         * plugins/elements/gsttee.c: (gst_tee_finalize), (gst_tee_init),
1396         (gst_tee_request_new_pad), (gst_tee_release_pad),
1397         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc):
1398         * plugins/elements/gsttee.h:
1399         Protect pad_alloc with a new lock so that we can be sure that nothing is
1400         performing a pad_alloc when removing the pad. Fixes #547835.
1401
1402         * tests/check/elements/tee.c: (buffer_alloc_harness_setup),
1403         (buffer_alloc_harness_teardown), (app_thread_func),
1404         (final_sinkpad_bufferalloc), (GST_START_TEST), (tee_suite):
1405         Added testcase for shutdown race.
1406
1407 2008-08-14  Thijs Vermeir  <thijsvermeir@gmail.com>
1408
1409         * gst/gstpad.h:
1410         Add doc
1411
1412 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1413
1414         * libs/gst/base/gstbasetransform.c:
1415         (gst_base_transform_prepare_output_buffer),
1416         (gst_base_transform_buffer_alloc):
1417         Go over the buffer_alloc function again and make sure we always end up
1418         allocating a buffer.
1419         Add some more docs.
1420         Avoid doing pad alloc when we have a pending suggestion because we
1421         cannot yet deal with changing caps in that case. Fixes #547728
1422
1423 2008-08-14  Stefan Kost  <ensonic@users.sf.net>
1424
1425         patch by: Luc Pionchon <luc.pionchon@nokia.com>
1426
1427         * docs/manual/advanced-clocks.xml:
1428         * docs/manual/clocks.png:
1429         * docs/manual/diagrams-clocks.svg:
1430           Add one more image showing different times together with a describing
1431           paragraph. Fixes #547729.
1432
1433 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1434
1435         * win32/common/libgstbase.def:
1436         Add new method.
1437
1438 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1439
1440         * libs/gst/base/gstbasetransform.c:
1441         (gst_base_transform_transform_caps),
1442         (gst_base_transform_prepare_output_buffer),
1443         (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
1444         Don't overwrite the outsize when calculating the expected size of a new
1445         buffer because we still need it in case we cannot process the new
1446         buffer.
1447         When converting the size of the new buffer to an upstream size, actually
1448         use the expected size of the buffer, not some other random value.
1449         Use an atomic int to signal that a new upstream caps suggestion is
1450         available.
1451         When we can convert the current buffer to a new format, check if the
1452         buffer size is of the expected size and allocate a new buffer of the
1453         expected size when this is not the case. Fixes #546883.
1454
1455         * tests/check/libs/transform1.c: (GST_START_TEST):
1456         remove ifdeffed code from the unit test.
1457
1458 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1459
1460         * pkgconfig/gstreamer-uninstalled.pc.in:
1461         * pkgconfig/gstreamer.pc.in:
1462           Remove -lgstcontrol-0.10 which never worked anyway as the lib is
1463           called gstcontroller-0.10.
1464
1465 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1466
1467         * gst/gstchildproxy.h:
1468         * gst/gstpreset.h:
1469           Remove double interface from doc-string.        
1470
1471 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1472
1473         * libs/gst/base/gstbasesrc.c:
1474         * libs/gst/base/gstbasetransform.c:
1475           Fix headings in docs and gtk-doc warnings.
1476
1477 2008-08-11  Michael Smith <msmith@songbirdnest.com>
1478
1479         * gst/gstregistrybinary.c:
1480           Don't use g_mkstmp() on win32, it's unsafe if glib is using a different
1481           libc.
1482           Fixes #544776.
1483
1484 2008-08-11  Edward Hervey  <edward.hervey@collabora.co.uk>
1485
1486         * libs/gst/base/gstbasetransform.c:
1487         (gst_base_transform_buffer_alloc):
1488         Fix a "may be used unitialized" warning.
1489
1490 2008-08-11  Stefan Kost  <ensonic@users.sf.net>
1491
1492         * docs/gst/gstreamer-sections.txt:
1493         * gst/gstpreset.h:
1494           Document preset-iface vmethods.
1495
1496 2008-08-11  Stefan Kost  <ensonic@users.sf.net>
1497
1498         * docs/manual/advanced-interfaces.xml:
1499           Turn thoughts about HAL into a note-tag. Remove mentioning that is
1500           only used to discover devices.
1501
1502 2008-08-07  Tim-Philipp Müller  <tim.muller at collabora co uk>
1503
1504         Patch by: Frederic Crozat <fcrozat@mandriva.org>
1505
1506         * gst/gst.c: (init_pre):
1507         Make sure gettext returns translations in UTF-8 encoding rather
1508         than in the current locale encoding (#546822).
1509
1510 2008-08-07  Wim Taymans  <wim.taymans@collabora.co.uk>
1511
1512         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
1513         Fix subset test.
1514
1515         * tests/check/gst/gstcaps.c: (GST_START_TEST):
1516         Improve unit test subset tests and add a testcase for the subset failure
1517         cases.
1518
1519         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1520         Improve subtraction unit test.
1521
1522 2008-08-07  Stefan Kost  <ensonic@users.sf.net>
1523
1524         * plugins/elements/gsttee.c:
1525           Unlock, instead of locking again.
1526
1527 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1528
1529         * gst/gstpad.h:
1530         Clarify the docs a bit more.
1531
1532 2008-08-05  Stefan Kost  <ensonic@users.sf.net>
1533
1534         * tests/examples/metadata/read-metadata.c:
1535           Don't leak old taglist.
1536
1537 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1538
1539         Patch by: Olivier Crete <tester at tester dot ca>
1540
1541         * gst/gststructure.c:
1542         (gst_structure_fixate_field_nearest_fraction):
1543         Avoid overflows in fixation code when dealing with MAXINT values, which
1544         v4l2src seems to do.
1545         Fixes #546328.
1546
1547         * tests/check/gst/gststructure.c: (GST_START_TEST):
1548         Make a unit test to check the fix. 
1549
1550 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1551
1552         * plugins/elements/gstcapsfilter.c: (copy_func),
1553         (gst_capsfilter_set_property):
1554         Use new caps suggestion feature of basetransform to request a caps
1555         negotiation upstream.
1556
1557 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1558
1559         * docs/libs/gstreamer-libs-sections.txt:
1560         Add new function:
1561         API: GstBaseTransform::gst_base_transform_suggest()
1562
1563         * libs/gst/base/gstbasetransform.c: (gst_base_transform_finalize),
1564         (gst_base_transform_init), (gst_base_transform_transform_caps),
1565         (gst_base_transform_transform_size),
1566         (gst_base_transform_configure_caps),
1567         (gst_base_transform_can_transform),
1568         (gst_base_transform_find_transform), (gst_base_transform_setcaps),
1569         (gst_base_transform_prepare_output_buffer),
1570         (gst_base_transform_buffer_alloc),
1571         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1572         (gst_base_transform_chain), (gst_base_transform_activate),
1573         (gst_base_transform_set_passthrough),
1574         (gst_base_transform_is_passthrough),
1575         (gst_base_transform_set_in_place),
1576         (gst_base_transform_is_in_place), (gst_base_transform_update_qos),
1577         (gst_base_transform_set_qos_enabled),
1578         (gst_base_transform_is_qos_enabled),
1579         (gst_base_transform_set_gap_aware), (gst_base_transform_suggest),
1580         (gst_base_transform_reconfigure):
1581         * libs/gst/base/gstbasetransform.h:
1582         Rewrite of basetransform to perform negotiation outside of the
1583         buffer_alloc functions.  Fixes #545853.
1584
1585         * tests/check/libs/transform1.c: (GST_START_TEST),
1586         (buffer_alloc_ct2):
1587         Update unit test.
1588
1589 2008-08-05  Stefan Kost  <ensonic@users.sf.net>
1590
1591         * tests/check/gst/gstpreset.c:
1592           Only run preset tests when $HOME is writable. Preliminary fix for
1593           #545433.
1594
1595 2008-08-04  Wim Taymans  <wim.taymans@collabora.co.uk>
1596
1597         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1598         (gst_bin_change_state_func), (bin_handle_async_done),
1599         (gst_bin_handle_message_func):
1600         Fix race for bins that simulate ASYNC state changes by inserting
1601         ASYNC_START and ASYNC_DONE messages in their bus. We need to check for
1602         pending ASYNC messages even when the bin does not have ASYNC children.
1603         We note detect this behaviour because we will receive an ASYNC message
1604         that is originating from the bin itself. 
1605         Fixes races with decodebin2 state changes.
1606
1607         * tests/check/gst/gstbin.c: (GST_START_TEST):
1608         Add some more debug.
1609
1610 2008-08-04  Tim-Philipp Müller  <tim.muller at collabora co uk>
1611
1612         * gst/gsttaglist.c: (_gst_tag_initialize):
1613           Fix typo.
1614
1615 2008-08-04  Stefan Kost  <ensonic@users.sf.net>
1616
1617         * gst/gsttaglist.c:
1618           Argh. actually save the text before committing. Now adds
1619           gst_tag_merge_strings_with_comma() to gst_tag_register().
1620
1621 2008-08-04  Stefan Kost  <ensonic@users.sf.net>
1622
1623         * gst/gsttaglist.c:
1624         * gst/gsttaglist.h:
1625           Do as tim pointed out and actually register the new tag. Also improve
1626           te docs and use gst_tag_merge_strings_with_comma() method to allow
1627           retriving all keywords merged in one list.
1628
1629 2008-08-01  Stefan Kost  <ensonic@users.sf.net>
1630
1631         * configure.ac:
1632         * docs/gst/gstreamer.types:
1633           Revert 'accidential' change of the configure option removal. We still
1634           need to generate the types file in configure --disable-load-save.
1635
1636 2008-08-01  Stefan Kost  <ensonic@users.sf.net>
1637
1638         * docs/gst/gstreamer-sections.txt:
1639         * gst/gsttaglist.h:
1640           Add new taglist item GST_TAG_KEYWORDS, needed for #520694 .
1641
1642 2008-08-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
1643
1644         * gst/gstpadtemplate.c:
1645           (gst_pad_template_class_init), (gst_static_pad_template_get),
1646           (gst_pad_template_new), (gst_pad_template_pad_created),
1647           (gst_pad_template_set_property), (gst_pad_template_get_property):
1648           Add "name-template", "direction", "presence" and "caps" properties,
1649           so that gst_pad_template_new() is just a thin wrapper around
1650           g_object_new(), which is better for bindings. (Fixes: #539772)
1651
1652 2008-07-31  Michael Smith <msmith@songbirdnest.com>
1653
1654         * gst/gsturi.c:
1655           Be more liberal in what URIs we accept.
1656           Do not unescape bits of the URI for no apparent reason before passing to
1657           the element. Fixes #545352.
1658
1659 2008-07-31  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1660
1661         Patch by: Robert Schwebel <r.schwebel@pengutronix.de>
1662
1663         * gst/gst.c:
1664         Include gstconfig.h as macros from it are used. Fixes bug #545607.
1665
1666 2008-07-31  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1667
1668         * configure.ac:
1669         * docs/gst/gstreamer-sections.txt:
1670         * docs/gst/gstreamer.types:
1671         * docs/gst/gstreamer.types.in:
1672         * gst/Makefile.am:
1673         * gst/gst.c:
1674         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func):
1675         * gst/gstconfig.h.in:
1676         * gst/gstelement.c: (gst_element_get_index):
1677         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
1678         (gst_registry_binary_load_feature),
1679         (gst_registry_binary_read_cache):
1680         * gst/gstregistryxml.c: (load_feature),
1681         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
1682         * plugins/Makefile.am:
1683         * tools/gst-indent:
1684         * tools/gst-inspect.c: (print_index_info), (print_element_list),
1685         (print_plugin_features), (print_element_features):
1686         * tools/gst-xmlinspect.c: (print_event_masks),
1687         (print_element_info):
1688         * win32/common/gstconfig.h:
1689         Remove GST_DISABLE_(ENUMTYPES|INDEX|URI) everywhere.
1690
1691         Disabling the indexers and URI handler code will only reduce the
1692         required amount of memory by a very small amount but on the other hand
1693         requires much more maintaince work. Apart from that many places of
1694         code are broken when disabling them.
1695
1696         Disabling the enum types doesn't reduce the required amount of memory
1697         by more than a few bytes and makes it hard to fix bugs like #539772,
1698         i.e. use the enums as GObject properties.
1699
1700 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1701
1702         * docs/design/part-TODO.txt:
1703         Add some thoughts and problems with upstream renegotiation.
1704
1705 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1706
1707         * gst/gstpad.c: (gst_pad_acceptcaps_default),
1708         (gst_pad_configure_src), (gst_pad_alloc_buffer_full):
1709         Remove silly redundant debug.
1710         Add some more debug info.
1711         Clarify the docs regarding new caps received from pad_alloc.
1712
1713 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1714
1715         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_set_property),
1716         (gst_capsfilter_get_property), (gst_capsfilter_transform_caps):
1717         Make setting the caps more threadsafe.
1718
1719 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1720
1721         * docs/design/part-element-transform.txt:
1722         Update docs.
1723
1724 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1725
1726         * plugins/elements/gstqueue.c: (gst_queue_init),
1727         (gst_queue_acceptcaps):
1728         Add and use a custom acceptcaps function instead of falling back to the
1729         potentially less optimized default implementation.
1730
1731 2008-07-29  Tim-Philipp Müller  <tim.muller at collabora co uk>
1732
1733         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
1734           Only sanity-check the buffer size if requested_caps == buffer_caps
1735           (ie. don't take pad caps into account, they're not relevant here)
1736
1737 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1738
1739         * plugins/elements/gsttee.c:
1740         * plugins/elements/gsttee.h:
1741           Reverting as not everything is clear yet. Needs some general design
1742           work.
1743
1744 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1745
1746         * ChangeLog:
1747           ChangeLog surgery for tee commit.
1748
1749 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1750
1751         * docs/gst/gstreamer-sections.txt:
1752           Cleanup section-file.
1753
1754 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1755
1756         * plugins/elements/gsttee.c:
1757         * plugins/elements/gsttee.h:
1758           Relay tag events in tee. Fixes parts of #474016.
1759           Downgrades 3 reoccurring debugs to log.
1760
1761 2008-07-28  Michael Smith <msmith@songbirdnest.com>
1762
1763         * configure.ac:
1764         * libs/gst/Makefile.am:
1765           Build the net library if we have winsock2.
1766
1767 2008-07-26  Stefan Kost  <ensonic@users.sf.net>
1768
1769         patch by: Luc Pionchon <luc.pionchon@nokia.com>
1770
1771         * docs/manual/advanced-threads.xml:
1772         * docs/manual/diagrams-pipelines.svg:
1773         * docs/manual/hello-world.png:
1774         * docs/manual/linked-elements.png:
1775         * docs/manual/mime-world.png:
1776         * docs/manual/queue.png:
1777         * docs/manual/thread-buffering.png:
1778         * docs/manual/thread-synchronizing.png:
1779           Replace one diagram with two separate ones and updates others.
1780           Fixes #542401.
1781
1782 2008-07-25  Thijs Vermeir  <thijsvermeir@gmail.com>
1783
1784         * gst/gstelement.h:
1785         Fix link in documentation.
1786
1787 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
1788
1789         * gst/gstmessage.c:
1790         Fix confusing documentation.
1791
1792 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
1793
1794         * libs/gst/base/gstbasesrc.h:
1795         revert the changes to the header file for the ABI.
1796
1797 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
1798
1799         * libs/gst/base/gstbasesrc.c:
1800         * libs/gst/base/gstbasesrc.h:
1801         Don't cache the seekable status.
1802         Fixes bug #544174
1803
1804 2008-07-24  Rene Stadler  <mail@renestadler.de>
1805
1806         * docs/manual/advanced-autoplugging.xml: Add fakesink to example
1807         code to close the pipeline graph.  This prevents the program from
1808         printing internal data flow errors.
1809
1810 2008-07-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1811
1812         * docs/manual/basics-bus.xml:
1813         Correct typo. Fixes bug #544320.
1814
1815 2008-07-22  Michael Smith <msmith@songbirdnest.com>
1816
1817         * configure.ac:
1818           Remove AC_ISC_POSIX macro; it's broken on some platforms and not needed.
1819           Add check (taken from -base) for winsock, adds WIN32_LIBS
1820         * gst/Makefile.am:
1821           Add WIN32_LIBS to LIBADD for libgstreamer. Needed now that gstpoll uses
1822           winsock.
1823           Define GST_EXPORTS when building libgstreamer (only used on win32)
1824         * gst/gst_private.h:
1825         * gst/gstinfo.h:
1826           Use GST_EXPORT instead of locally-defined (and incorrect IMPORT_SYMBOL)
1827           for symbols that we need to export in both these files.
1828         * gst/gstpoll.c:
1829           Include gst_private.h higher up to avoid some compile problems on win32.
1830
1831 2008-07-22  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1832
1833         * gst/gstvalue.c:
1834         Fix typos.
1835
1836 2008-07-22  Thijs Vermeir  <thijsvermeir@gmail.com>
1837
1838         * gst/gstcaps.c:
1839         Previous commit was wrong NULL caps does not exist
1840         and indicate an error, so also add a FIXME to
1841         gst_caps_is_equal where NULL caps are accepted.
1842
1843 2008-07-22  Thijs Vermeir  <thijsvermeir@gmail.com>
1844
1845         * gst/gstcaps.c:
1846         Allow passing of NULL to gst_caps_union
1847
1848 2008-07-21  Thijs Vermeir  <thijsvermeir@gmail.com>
1849
1850         * gst/gstghostpad.c:
1851         Add in doc that gst_ghost_pad_set_target can accept
1852         NULL to clear target
1853
1854 2008-07-15  Michael Smith <msmith@songbirdnest.com>
1855
1856         * gst/gstplugin.c:
1857         * gst/gstregistry.c:
1858           GstRegistryPool doesn't exist; don't refer to it in docs.
1859           Don't refer to functions that don't exist in docs, it's
1860           unhelpful.
1861
1862 2008-07-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1863
1864         * gst/gst.c:
1865         Fix scanning of paths given via --gst-plugin-path. Fixes bug #542175.
1866
1867 2008-07-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1868
1869         Patch by: Tristan Matthews <le dot businessman at gmail dot com>
1870
1871         * docs/pwg/building-testapp.xml:
1872         Don't use an undeclared variable in the example program.
1873         Fixes bug #542573.
1874
1875 2008-07-12  Stefan Kost  <ensonic@users.sf.net>
1876
1877         * gst/gstdebugutils.c:
1878           Squeeze ghost-pad links and remove <> from classname labels to save
1879           more horizontal space.
1880
1881 2008-07-11  Stefan Kost  <ensonic@users.sf.net>
1882
1883         * gst/gstdebugutils.c:
1884           Give request and sometimes pads a different shpe style. Condense the
1885           graphs a little more.
1886
1887 2008-07-09  Michael Smith <msmith@songbirdnest.com>
1888
1889         * configure.ac:
1890           Don't require flex and bison if the parser is disabled.
1891
1892 2008-07-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1893
1894         * libs/gst/controller/gstinterpolationcontrolsource.c:
1895         (_list_find_sorted_custom):
1896         Don't use declarations after statements.
1897
1898 2008-07-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1899
1900         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
1901         Add FIXMEs for 0.11 to use GST_TYPE_OBJECT in the signature
1902         of the the child-added / -removed signals as GstChildProxy
1903         only supports GstObjects.
1904
1905 2008-07-07  Thijs Vermeir  <thijsvermeir@gmail.com>
1906
1907         * gst/gstdebugutils.c:
1908         Fix memleak
1909
1910 2008-07-06  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1911
1912         Patch by: Alessandro Decina <alessandro at nnva dot org>
1913
1914         * gst/gstpoll.c:
1915         Fix "ignored return value" compiler warning with newer glibc.
1916
1917 2008-07-05  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1918
1919         * gst/gstchildproxy.c:
1920         Fix copy&paste error in gst_child_proxy_removed() documentation.
1921
1922 2008-07-02  Tim-Philipp Müller  <tim.muller at collabora co uk>
1923
1924         * gst/gstplugin.c: (CHECK_PLUGIN_DESC_FIELD), (gst_plugin_load_file):
1925           Print error debug message if plugin description fields that should
1926           be set are NULL.
1927
1928         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string):
1929           Don't crash if the string to serialise is NULL (it really should
1930           not be, but apparently this used to work with the xml registry ...).
1931
1932 2008-07-02  Thijs Vermeir  <thijsvermeir@gmail.com>
1933
1934         * tools/gst-plot-timeline.py:
1935         Fix parsing of log messages
1936
1937 2008-07-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
1938
1939         * win32/common/libgstbase.def::
1940           Sort alphabetically so make check-exports doesn't barf.
1941
1942 2008-07-01  Stefan Kost  <ensonic@users.sf.net>
1943
1944         * gst/gstevent.c:
1945           Use gst_format_get_name() to improve debug output.
1946
1947         * gst/gstpreset.c:
1948           Remove #ifdef'ed code. Add TODO comment.
1949
1950         * gst/gstsegment.c:
1951           Add debug output to ease spotting format != segment.format assertions.
1952
1953 2008-06-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1954
1955         * tests/check/libs/gdp.c: (gst_dp_suite):
1956         Also enable the GDP unit test again on PPC now that the bug
1957         is fixed.
1958
1959 2008-06-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1960
1961         * libs/gst/dataprotocol/dataprotocol.c:
1962         Don't write to the same region of memory as a uint64 and uint16
1963         as this breaks strict aliasing rules and apparantly breaks on PPC
1964         and s390. Thanks to Sjoerd Simons for analysing. Fixes bug #348114.
1965
1966 2008-06-29  Stefan Kost  <ensonic@users.sf.net>
1967
1968         * libs/gst/controller/gstinterpolationcontrolsource.c:
1969           Optimize list handling. Use own find function. Exploit that fact that
1970           the list is sorted. Also pass back the node before, so that we can
1971           insert quickly. Have a fast path for append.
1972
1973 2008-06-29  Stefan Kost  <ensonic@users.sf.net>
1974
1975         * docs/design/draft-framestep.txt:
1976         * docs/design/part-negotiation.txt:
1977           Fix two typos.
1978
1979 2008-06-27  Stefan Kost  <ensonic@users.sf.net>
1980
1981         * configure.ac:
1982           Show configuration sumary after configure run. Based on patch by
1983           Luc Pionchon <luc.pionchon@nokia.com>. Fixes: #540134
1984
1985 2008-06-27  Stefan Kost  <ensonic@users.sf.net>
1986
1987         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
1988
1989         * docs/manual/advanced-autoplugging.xml:
1990         * docs/manual/advanced-threads.xml:
1991         * docs/manual/basics-bins.xml:
1992         * docs/manual/basics-elements.xml:
1993         * docs/manual/basics-helloworld.xml:
1994         * docs/manual/basics-pads.xml:
1995           Add scale factor for pdf output.
1996
1997         * docs/manual/intro-basics.xml:
1998           Switched sections "pads" and "bins" and added a pipeline diagram.
1999
2000         * docs/manual/intro-gstreamer.xml:
2001           Added more info on gstreamer.
2002
2003         * docs/manual/intro-motivation.xml:
2004           Commented out the whole section "current problem", which sounds
2005           historical and somehow osolete; it could be turned in a positive
2006           way and reused to improve the design principles.
2007
2008         * docs/manual/intro-preface.xml:
2009           - Update URLs to library.gnome.org. 
2010           - Do not mention GTK+ in preliminary reading (irrelevant). 
2011           - Mention Plugin Writer's Manual and further reading only in the
2012             previous section.
2013           - Added a list of most relevant GObject/glib topics.
2014
2015         * docs/manual/Makefile.am:
2016         * docs/manual/bin-element-ghost.fig:
2017         * docs/manual/bin-element-ghost.png:
2018         * docs/manual/bin-element-noghost.fig:
2019         * docs/manual/bin-element-noghost.png:
2020         * docs/manual/bin-element.fig:
2021         * docs/manual/bin-element.png:
2022         * docs/manual/filter-element-multi.fig:
2023         * docs/manual/filter-element-multi.png:
2024         * docs/manual/filter-element.fig:
2025         * docs/manual/filter-element.png:
2026         * docs/manual/gstreamer-overview.png:
2027         * docs/manual/hello-world.fig:
2028         * docs/manual/hello-world.png:
2029         * docs/manual/linked-elements.fig:
2030         * docs/manual/linked-elements.png:
2031         * docs/manual/mime-world.fig:
2032         * docs/manual/mime-world.png:
2033         * docs/manual/queue.fig:
2034         * docs/manual/queue.png:
2035         * docs/manual/simple-player.png:
2036         * docs/manual/sink-element.fig:
2037         * docs/manual/sink-element.png:
2038         * docs/manual/src-element.fig:
2039         * docs/manual/src-element.png:
2040         * docs/manual/diagrams-general.svg:
2041         * docs/manual/diagrams-pipelines.svg:
2042           Removed .fig, added .png counterpart.
2043           
2044           Fixes: #539137
2045
2046 2008-06-26  Thijs Vermeir  <thijsvermeir@gmail.com>
2047
2048         * plugins/elements/gstmultiqueue.c:
2049         * plugins/elements/gstmultiqueue.h:
2050         revert extra-size-buffers stuff, caused some race conditions
2051         and extra-size-buffers is not used anymore. Docs needs some updates
2052
2053 2008-06-26  Tim-Philipp Müller  <tim.muller at collabora co uk>
2054
2055         * win32/common/config.h:
2056         * win32/common/gstenumtypes.c:
2057         * win32/common/gstenumtypes.h:
2058         * win32/common/gstversion.h:
2059           Update win32 files.
2060
2061 2008-06-26  Tim-Philipp Müller  <tim.muller at collabora co uk>
2062
2063         * gst/gstdebugutils.h: (GstDebugGraphDetails),
2064           (GST_DEBUG_BIN_TO_DOT_FILE):
2065           Add missing Since' markers to gtk-doc blurbs.
2066
2067 2008-06-26  Wim Taymans  <wim.taymans@collabora.co.uk>
2068
2069         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2070         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2071         (set_caps_1), (set_caps_ct1), (transform_ct1),
2072         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2073         (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
2074         (transform_size_ct2), (buffer_alloc_ct2):
2075         Add some more tests with switching caps in buffer_alloc.
2076
2077 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2078
2079         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2080         (gst_test_trans_class_init), (result_sink_chain),
2081         (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
2082         (gst_test_trans_push), (gst_test_trans_pop):
2083         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2084         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2085         (set_caps_1), (set_caps_ct1), (transform_ct1),
2086         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2087         (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
2088         (transform_size_ct2), (buffer_alloc_ct2),
2089         (gst_basetransform_suite):
2090         More tests, prepare for tests with switching caps in buffer_alloc.
2091
2092 2008-06-25  Thijs Vermeir  <thijsvermeir@gmail.com>
2093
2094         * plugins/elements/gstmultiqueue.c:
2095         * plugins/elements/gstmultiqueue.h:
2096         Fix dead-lock in underrun_cb
2097
2098 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2099
2100         * docs/design/part-states.txt:
2101         Fix device open/close docs.
2102
2103 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2104
2105         * ChangeLog:
2106           Mention bugnumber for last commit.
2107
2108 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2109
2110         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
2111
2112         * docs/manual/manual.xml:
2113         - Reorganised the previous "introduction" bundle into Foreword,
2114         Introduction, and About GStreamer. The two first are <preface>
2115         docbook elements. The later is the first part of the book.
2116         - added intro-gstreamer.xml (content partially from
2117         intro-preface.xml)
2118         - moved appendix-win32.xml into appendix-integration.xml
2119
2120         * docs/manual/intro-preface.xml: gstreamer section moved...
2121         * docs/manual/intro-gstreamer.xml: ...here. new file.
2122
2123         * docs/manual/appendix-win32.xml: removed file. Content moved...
2124         * docs/manual/appendix-integration.xml: ...here.
2125         
2126         * docs/manual/highlevel-components.xml: section about GstEditor moved...
2127         * docs/manual/appendix-checklist.xml: ...here.
2128         
2129         Fixes: 538764
2130
2131 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2132
2133         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
2134
2135         * docs/manual/basics-helloworld.xml:
2136         * docs/manual/hello-world.fig:
2137           - Explicitely include glib.h.
2138           - Do not use global variables.
2139           - Use g_printerr() instead of g_print().
2140           - Minor formating/renaming to increase readibility.
2141           - Renamed new_pad() to on_pad_added()
2142           - Improved explenatory comments.
2143           - renamed ogg parser to ogg demuxer
2144           - Use "autoaudiosink" instead of "alsasink".
2145           Fixes: #538619
2146
2147 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2148
2149         * ChangeLog:
2150           Remove cvs conflict marker.
2151
2152 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2153
2154         * docs/README:
2155           Document that for plgin-docs we extraxt he short-desc from the element
2156           details.
2157
2158         * docs/design/part-states.txt:
2159           Tell that devices should be closed in PAUSED -> READY.
2160
2161         * docs/manual/README:
2162           Document how tests in the manual are handled.
2163
2164         * docs/manuals.mak:
2165           Typo in comment.
2166
2167 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2168
2169         * gst/gstbin.c: (bin_query_latency_fold):
2170         Only care about latency min and max when the sink is actually a live
2171         sink.
2172
2173 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2174
2175         * docs/design/part-block.txt:
2176         Fix typo.
2177
2178         * docs/design/part-element-transform.txt:
2179         Add notes about why transform needs to know input/output sizes.
2180         Add some issues that need to be solved.
2181         Add some more use cases.
2182
2183         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2184         (gst_test_trans_class_init), (result_sink_chain),
2185         (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
2186         (gst_test_trans_push), (gst_test_trans_pop):
2187         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2188         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2189         (set_caps_1), (set_caps_ct1), (transform_ct1),
2190         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2191         (gst_basetransform_suite):
2192         Add suport for different pad templates and buffer-alloc.
2193         Add more checks for caps and buffer-alloc.
2194         Add checks for proxy buffer alloc.
2195         Add unit test for copy transform.
2196
2197 2008-06-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2198
2199         Patch by: Luc Pionchon  <luc.pionchon@nokia.com>
2200
2201         * docs/manual/appendix-integration.xml:
2202         * docs/manual/appendix-licensing.xml:
2203         * docs/manual/basics-elements.xml:
2204         * docs/manual/basics-helloworld.xml:
2205         * docs/manual/basics-pads.xml:
2206         * docs/manual/highlevel-components.xml:
2207         * docs/manual/highlevel-xml.xml:
2208         * docs/manual/intro-basics.xml:
2209         * docs/manual/intro-preface.xml:
2210           Typo and formatting fixes (#538594).
2211
2212 2008-06-24  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2213
2214         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2215         Fix some memory leaks and uses of object instances that we don't
2216         actually own.
2217
2218 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
2219
2220         * plugins/elements/gstmultiqueue.c:
2221         Add functionality to extra-size-buffers property.
2222
2223 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
2224
2225         * plugins/elements/gstmultiqueue.c:
2226         Don't update the cur_time on GST_CLOCK_TIME_NONE (#537804) and don't
2227         activate the pads if they are added in STATE_NULL.
2228
2229 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
2230
2231         * docs/libs/gstreamer-libs-sections.txt:
2232         Add new API to doc
2233         * libs/gst/check/gstcheck.c:
2234         * libs/gst/check/gstcheck.h:
2235         API: gst_check_teardown_pad_by_name
2236
2237 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
2238
2239         * libs/gst/check/gstcheck.c:
2240         * libs/gst/check/gstcheck.h:
2241         Also setup request pads and allow setup pads by name (#537812)
2242         API: gst_check_setup_src_pad_by_name
2243         API: gst_check_setup_sink_pad_by_name
2244
2245 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2246
2247         * tests/check/gst/gstbuffer.c:
2248         * tests/check/pipelines/parse-launch.c:
2249           Use HAVE_VALGRIND_H some more.
2250
2251 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2252
2253         * scripts/cvs-update.sh:
2254           Pass arguments to make.
2255           Run autoregen.sh if Makefile is not there.
2256
2257 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2258
2259         * configure.ac:
2260         * gst/gstinfo.c:
2261           Don't assume that <valgrind/valgrind.h> exists just because
2262           the binary is there.
2263
2264 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2265
2266         * tests/check/Makefile.am:
2267         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2268         (gst_test_trans_class_init), (gst_test_trans_init),
2269         (gst_test_trans_set_data), (result_sink_chain),
2270         (gst_test_trans_new), (gst_test_trans_free), (gst_test_trans_push),
2271         (gst_test_trans_pop):
2272         * tests/check/libs/transform1.c: (GST_START_TEST),
2273         (transform_ip_1), (set_caps_1), (gst_basetransform_suite):
2274         Add some test basetransform element and the beginnings of various
2275         unit tests for it.
2276
2277 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2278
2279         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
2280         Increase code readability.
2281         Don't try to compare buffer offsets when ther are invalid.
2282
2283 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
2284
2285         * docs/design/Makefile.am:
2286           Dist some more design docs.
2287
2288         * docs/random/moving-plugins:
2289           Small addition: good plugins mustn't have functional code
2290           within assertion macros.
2291
2292 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2293
2294         * docs/design/draft-framestep.txt:
2295         Some ideas about a framestep API
2296
2297         * docs/design/part-element-transform.txt:
2298         Start design and use cases for basetransform in order to get it
2299         fixed soon.
2300
2301 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
2302
2303         * gst/gsttaglist.h:
2304           In GST_TAG_ATTACHEMENT docs, mention that the file name needs to
2305           be in UTF-8 encoding.
2306
2307 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
2308
2309         * gst/gstbus.c:
2310           Make it known that gst_bus_poll() is pure evil (fixes #538810).
2311
2312 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2313
2314         * plugins/elements/gstcapsfilter.c:
2315         * plugins/elements/gstfakesink.c:
2316         * plugins/elements/gstfakesrc.c:
2317         * plugins/elements/gstfdsink.c:
2318         * plugins/elements/gstfdsrc.c:
2319         * plugins/elements/gstfilesink.c:
2320         * plugins/elements/gstfilesrc.c:
2321         * plugins/elements/gstidentity.c:
2322         * plugins/elements/gstmultiqueue.c:
2323         * plugins/elements/gstqueue.c:
2324         * plugins/elements/gsttee.c:
2325         * plugins/elements/gsttypefindelement.c:
2326           Remove short_description. Add basic docs for gsttypefindelement.
2327           Simplify markup for fakesrc/fdsrc.
2328
2329 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2330
2331         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
2332         Added Since doc.
2333
2334 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2335
2336         Patch by: Joel Larsson <tilljoel at gmail dot com>
2337
2338         * docs/plugins/gstreamer-plugins.args:
2339         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
2340         (gst_fd_src_init), (gst_fd_src_update_fd),
2341         (gst_fd_src_set_property), (gst_fd_src_get_property),
2342         (gst_fd_src_create):
2343         * plugins/elements/gstfdsrc.h:
2344         Add timeout property like udpsrc. Fixes #538628.
2345         Add some more docs and example pipelines.
2346
2347 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2348
2349         * docs/libs/gstreamer-libs-sections.txt:
2350         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2351         (gst_base_sink_query_latency), (gst_base_sink_set_render_delay),
2352         (gst_base_sink_get_render_delay), (gst_base_sink_wait_eos),
2353         (gst_base_sink_do_sync):
2354         * libs/gst/base/gstbasesink.h:
2355         * win32/common/libgstbase.def:
2356         Add method to allow sinks to specify additional delay between the sync
2357         times and the actual rendering of the data.
2358         API: gst_base_sink_set_render_delay()
2359         API: gst_base_sink_get_render_delay()
2360
2361 2008-06-20  Jan Schmidt  <jan.schmidt@sun.com>
2362
2363         * configure.ac:
2364         Bump version number back to dev -> 0.10.20.1
2365
2366 2008-06-20  Sebastian Dröge  <slomo@circular-chaos.org>
2367
2368         * docs/gst/gstreamer-sections.txt:
2369         * gst/gsttaglist.c: (_gst_tag_initialize):
2370         * gst/gsttaglist.h:
2371         API: Add GST_TAG_ATTACHMENT for generic file attachments to streams.
2372         Fixes bug #538568.
2373
2374 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2375
2376         * libs/gst/controller/gstcontroller.c:
2377           Revert one change, that make ret value possible uninitialized.
2378
2379 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2380
2381         * libs/gst/controller/gstcontroller.c:
2382           Use freeze/thaw notify to sync notify emission a bit (its also more
2383           efficient). Move debug output to LOG (is called a lot in a loop).
2384           Always unset g_values if the have been initialized.
2385
2386 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2387
2388         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2389         (gst_base_sink_wait_eos), (gst_base_sink_event):
2390         If we have not seen a buffer before EOS, use the segment values to
2391         report the current position instead of invalid positions.
2392
2393 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2394
2395         * docs/plugins/tmpl/.cvsignore:
2396         * tests/check/gst/.cvsignore:
2397           Ignore more.
2398
2399 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2400
2401         * libs/gst/controller/gstinterpolation.c:
2402         * libs/gst/controller/gstinterpolationcontrolsource.c:
2403         * tests/check/libs/controller.c:
2404           Rewrite handling of default values. Fix overflow with unsigned types
2405           in linear interpolation. Remove now obsolete _first_value() function.
2406           Add more tests. Fixes #538201.
2407
2408 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2409
2410         * libs/gst/base/gstbasetransform.c:
2411         (gst_base_transform_class_init), (gst_base_transform_init),
2412         (gst_base_transform_transform_caps),
2413         (gst_base_transform_prepare_output_buffer):
2414         Add debug info.
2415         When a buffer is writable, its metadata is also writable so we don't
2416         need to subbuffer (which then makes the buffer not-writable anymore).
2417
2418 === release 0.10.20 ===
2419
2420 2008-06-18  Jan Schmidt <jan.schmidt@sun.com>
2421
2422         * configure.ac:
2423           releasing 0.10.20, "You Crazy Diamond"
2424
2425 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
2426
2427         * configure.ac:
2428         0.10.19.3 pre-release
2429
2430 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
2431
2432         * configure.ac:
2433         * gst/gstpreset.c:
2434         Rename DATADIR to GST_DATADIR to avoid build problems
2435         on win32. Patch By: David Schleef <ds@schleef.org>
2436         Fixes: #536857
2437
2438 2008-06-05  Sebastian Dröge  <slomo@circular-chaos.org>
2439
2440         * configure.ac:
2441         Explicitely link with -ldl if dladdr() is found there. Before it was
2442         implicitely linked by the gmodule pkgconfig file but in glib 2.17.0
2443         -ldl has moved from Libs to Libs.private. Fixes bug #536744.
2444
2445 2008-06-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
2446
2447         * gst/gsterror.c: (_gst_stream_errors_init):
2448           Fix typo (spotted by Fabricio Godoy, #536723).
2449
2450 2008-06-05  Jan Schmidt  <jan.schmidt@sun.com>
2451
2452         * configure.ac:
2453         0.10.19.2 pre-release
2454
2455 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
2456
2457         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_async_enabled),
2458         (gst_base_sink_set_ts_offset), (gst_base_sink_perform_qos):
2459         Add some debug.
2460         Make sure we don't generate invalid QoS messages.
2461
2462 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
2463
2464         * gst/gstevent.c: (gst_event_new_qos):
2465         Add some assert and docs for invalid input to the qos function.
2466
2467 2008-05-30  Wim Taymans  <wim.taymans@collabora.co.uk>
2468
2469         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2470         (gst_base_sink_get_position):
2471         The reported position must always be smaller than the last seen
2472         timestamps (or timestamp + duration for reverse).
2473
2474 2008-05-30  Sebastian Dröge  <slomo@circular-chaos.org>
2475
2476         Patch by: Rob Bradford <rob at robster dot org dot uk>
2477
2478         * gst/gstregistry.c: (gst_registry_scan_path_level):
2479         Don't recurse into .debug directories as some distros install
2480         the debugging symbols next to the plugins in .debug directories
2481         and dlopen() crashes on them sometimes. Fixes bug #508070.
2482
2483         Add FIXME for 0.11 to not recurse into directories at all because
2484         it's very inconsistent to the behaviour of other PATH environment
2485         variables.
2486
2487 2008-05-29  Wim Taymans  <wim.taymans@collabora.co.uk>
2488
2489         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2490         (gst_base_sink_get_position_last), (gst_base_sink_get_position):
2491         Fix position query range checks in reverse playback.
2492
2493 2008-05-29  Sebastian Dröge  <slomo@circular-chaos.org>
2494
2495         * gst/gstelement.c:
2496         * gst/gstelement.h:
2497         Deprecated gst_element_get_pad() as it can't be used sanely. It's not
2498         clear of the reference to the resulting pad must be released later
2499         or not, resulting in possible leaks. Fixes bug #533865.
2500
2501 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
2502
2503         Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
2504
2505         * gst/gstelementfactory.c:
2506         Small doc fix. Fixes #535285.
2507
2508 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
2509
2510         Based on patch by: Bjarne Rosengren <bjarne at axis dot com>
2511
2512         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
2513         (gst_base_src_get_range), (gst_base_src_pad_get_range),
2514         (gst_base_src_loop), (gst_base_src_set_flushing),
2515         (gst_base_src_change_state):
2516         Make sending an EOS event to the basesrc non-blocking even if the
2517         implementation does blocking waits in the create function. This is done
2518         by unlocking the create function when EOS is sent.
2519         Fixes #535218.
2520
2521 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
2522
2523         * tools/gst-inspect.c: (print_element_properties_info):
2524         If possible print the element type of GValueArray properties.
2525
2526 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
2527
2528         * gst/gstiterator.c:
2529         Remove an unused field from the private GstListIterator struct.
2530
2531 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2532
2533         * libs/gst/controller/gstcontroller.c:
2534           Add parameter guards.
2535
2536 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2537
2538         * tests/check/gst/gstpipeline.c:
2539           Revert test change and add comment why it should not work.
2540
2541 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2542
2543         * tests/check/gst/gstpipeline.c:
2544           Extending the test a little to verify that we also get the NULL state-
2545           change message.
2546
2547 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
2548
2549         * gst/gstpreset.c: (gst_preset_default_get_meta),
2550           (gst_preset_get_preset_names), (gst_preset_get_property_names),
2551           (gst_preset_load_preset), (gst_preset_save_preset),
2552           (gst_preset_rename_preset), (gst_preset_delete_preset),
2553           (gst_preset_set_meta):
2554           Add Since: markers to docs blurbs.
2555
2556         * win32/common/libgstreamer.def:
2557           Add recently-added API.
2558
2559 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2560
2561         Patch by: Stefan Kost  <ensonic@users.sf.net>
2562
2563         * configure.ac:
2564         Add DATADIR for storing presets.
2565
2566         * docs/gst/gstreamer-docs.sgml:
2567         * docs/gst/gstreamer-sections.txt:
2568         * docs/gst/gstreamer.types.in:
2569         Add GstPreset to docs.
2570
2571         * gst/Makefile.am:
2572         * gst/gst.h:
2573         * gst/gstpreset.c: (preset_get_paths), (preset_skip_property),
2574         (preset_open_and_parse_header), (preset_parse_version),
2575         (preset_merge), (preset_get_keyfile),
2576         (gst_preset_default_get_preset_names),
2577         (gst_preset_default_get_property_names),
2578         (gst_preset_default_load_preset),
2579         (gst_preset_default_save_presets_file),
2580         (gst_preset_default_save_preset),
2581         (gst_preset_default_rename_preset),
2582         (gst_preset_default_delete_preset), (gst_preset_default_set_meta),
2583         (gst_preset_default_get_meta), (gst_preset_default_randomize),
2584         (gst_preset_default_reset), (gst_preset_get_preset_names),
2585         (gst_preset_get_property_names), (gst_preset_load_preset),
2586         (gst_preset_save_preset), (gst_preset_rename_preset),
2587         (gst_preset_delete_preset), (gst_preset_set_meta),
2588         (gst_preset_get_meta), (gst_preset_class_init),
2589         (gst_preset_base_init), (gst_preset_get_type):
2590         * gst/gstpreset.h:
2591         Add GstPreset to core. Fixes #396779
2592
2593         * tests/check/Makefile.am:
2594         * tests/check/gst/gstpreset.c: (gst_preset_test_get_property),
2595         (gst_preset_test_set_property), (gst_preset_test_class_init),
2596         (gst_preset_test_base_init), (gst_preset_test_get_type),
2597         (gst_preset_test_plugin_init), (GST_START_TEST),
2598         (remove_preset_file), (test_setup), (test_teardown),
2599         (gst_preset_suite):
2600         Add GstPreset unit tests.
2601
2602 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2603
2604         * gst/gstpad.c: (gst_pad_event_default_dispatch):
2605         The default event function on a sinkpad should return TRUE when
2606         there are no internal links but should collect the return values from
2607         the internal links otherwise.
2608
2609 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2610
2611         * plugins/elements/gsttypefindelement.c:
2612         (gst_type_find_element_src_event),
2613         (gst_type_find_element_handle_event):
2614         Use faster and safer _pad_push_event().
2615
2616 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
2617
2618         * docs/gst/gstreamer-sections.txt:
2619         * gst/gstutils.c: (element_find_unlinked_pad),
2620           (gst_bin_find_unlinked_pad), (gst_bin_find_unconnected_pad),
2621         * gst/gstutils.h:
2622           API: add gst_bin_find_unlinked_pad()
2623           API: deprecate gst_bin_find_unconnected_pad() (#401456)
2624
2625 2008-05-26  Peter Kjellerstedt  <pkj@axis.com>
2626
2627         * gst/gstclock.c:
2628         * gst/gstclock.h:
2629         * gst/gsttask.c:
2630         * gst/gsttask.h:
2631         Fixed a bunch of typos.
2632
2633 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2634
2635         * gst/gstpad.h:
2636         * gst/gstutils.c: (gst_element_unlink), (element_find_unlinked_pad),
2637           (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description),
2638           (gst_parse_bin_from_description_full):
2639         * gst/gstutils.h:
2640           'unconnected pad' -> 'unlinked pad' for consistency (#401456).
2641
2642 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2643
2644         * docs/pwg/advanced-tagging.xml:
2645           Small docs update, can't be bothered to rewrite the nonsensical
2646           examples right now.
2647
2648 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2649
2650         * gst/gstevent.h:
2651           Clarify docs for GST_SEEK_TYPE_CUR (#534505).
2652
2653 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2654
2655         * gst/parse/grammar.y:
2656           Remove unneeded casts.
2657
2658 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2659
2660         * gst/parse/grammar.y:
2661         * tests/check/pipelines/parse-launch.c:
2662           Get all missing elements from a parse launch string if possible
2663           (ie. if the FATAL_ERRORS flag has been specified). Fixes #528178.
2664
2665 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2666
2667         * tests/check/Makefile.am:
2668         * tests/check/pipelines/parse-launch.c:
2669           Add some unit tests for the new gst_parse_launch*_full() API.
2670           (Exposes a previously-existing memory leak in the error code
2671           path, so adding to VALGRIND_TO_FIX for now).
2672
2673 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2674
2675         * docs/gst/gstreamer-sections.txt:
2676         * gst/gst.c: (init_post):
2677         * gst/gst_private.h: (_GstParseContext):
2678         * gst/gstparse.c: (gst_parse_error_quark), (gst_parse_context_new),
2679           (gst_parse_context_free), (gst_parse_context_get_missing_elements),
2680           (gst_parse_launchv), (gst_parse_launchv_full), (gst_parse_launch),
2681           (gst_parse_launch_full):
2682         * gst/gstparse.h: (GST_PARSE_FLAG_NONE), (GST_PARSE_FLAG_FATAL_ERRORS),
2683           (GstParseFlags), (GstParseContext):
2684         * gst/gstutils.c: (gst_parse_bin_from_description),
2685           (gst_parse_bin_from_description_full):
2686         * gst/gstutils.h:
2687         * gst/parse/grammar.y:
2688         * gst/parse/types.h:
2689         * win32/common/libgstreamer.def:
2690           Add new gst_parse_*_full API (#528178):
2691           API: gst_parse_launch_full()
2692           API: gst_parse_launchv_full()
2693           API: gst_parse_bin_from_description_full()
2694           API: gst_parse_context_new()
2695           API: gst_parse_context_free()
2696           API: gst_parse_context_get_missing_elements()
2697
2698 2008-05-23  Stefan Kost  <ensonic@users.sf.net>
2699
2700         patch by: Suresh Kumar P <sureshkumar.pp@gmail.com>
2701
2702         * docs/faq/gst-uninstalled:
2703           Also support ffmpeg in gst-uninstalled.
2704
2705 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
2706
2707         * configure.ac:
2708         After discussion on IRC use the binary registry as default
2709         but allow to disable it with --disable-binary-registry.
2710
2711         * win32/common/libgstreamer.def:
2712         Add the two new symbols for the binary registry.
2713
2714 2008-05-22  Tim-Philipp Müller  <tim.muller at collabora co uk>
2715
2716         * gst/gstparse.c: (_gst_parse_escape), (gst_parse_launchv):
2717         * gst/gstutils.c: (gst_parse_bin_from_description):
2718         * gst/parse/grammar.y: (graph):
2719           More guards against bad input; typo fix; some minor clean-ups.
2720
2721 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
2722
2723         Patch by: Sjoerd Simons <sjoerd at luon dot net>
2724
2725         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2726         If nothing else can be used, use the last buffer's start time as
2727         the segment's last stop. Fixes bug #534258.
2728
2729 2008-05-21  Tim-Philipp Müller  <tim.muller at collabora co uk>
2730
2731         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
2732           Move size sanity check to the right place: downstream may return
2733           a buffer with a smaller size if the buffer caps are different than
2734           the requested ones, as may happen when doing reverse negotiation.
2735
2736 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2737
2738         * plugins/elements/gstfilesink.c: (gst_file_sink_set_location),
2739         (gst_file_sink_render):
2740         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location),
2741         (gst_file_src_start):
2742         Small cleanups. Add note adbout g_fopen() on windows and why we don't
2743         use it yet.
2744
2745 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2746
2747         * gst/gstpad.c: (gst_pad_load_and_link):
2748         * gst/gstutils.c: (gst_element_link_pads),
2749         (gst_element_unlink_pads):
2750         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2751         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
2752         (gst_check_teardown_sink_pad),
2753         (gst_check_element_push_buffer_list):
2754         * tests/check/elements/fakesink.c: (GST_START_TEST):
2755         * tests/check/elements/filesink.c:
2756         * tests/check/elements/filesrc.c: (GST_START_TEST):
2757         * tests/check/elements/multiqueue.c: (setup_multiqueue),
2758         (mq_sinkpad_to_srcpad):
2759         * tests/check/elements/tee.c: (GST_START_TEST):
2760         * tests/check/generic/sinks.c: (GST_START_TEST):
2761         * tests/check/gst/gstbin.c: (GST_START_TEST):
2762         * tests/check/gst/gstevent.c: (GST_START_TEST):
2763         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2764         * tests/check/gst/gstpipeline.c: (GST_START_TEST):
2765         * tests/check/gst/gstquery.c: (GST_START_TEST):
2766         * tests/check/gst/gstutils.c: (GST_START_TEST):
2767         * tests/check/libs/basesrc.c: (GST_START_TEST):
2768         * tests/check/pipelines/parse-launch.c: (run_delayed_test),
2769         (gst_parse_test_element_change_state):
2770         Don't use gst_element_get_pad().
2771
2772 2008-05-21  Felipe Contreras  <felipe.contreras@gmail.com>
2773
2774         * docs/Makefile.am:
2775         Fix installing plugin documentation when gtk-doc is disabled.
2776
2777 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2778
2779         * docs/manual/advanced-autoplugging.xml:
2780         * docs/manual/basics-helloworld.xml:
2781         * docs/manual/basics-pads.xml:
2782         * docs/manual/highlevel-components.xml:
2783         Avoid using a bad function in the example code.
2784
2785 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2786
2787         * gst/gstclock.c: (gst_clock_set_calibration):
2788         Fix debug of the new clock rate.
2789
2790 2008-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
2791
2792         * win32/common/libgstbase.def:
2793         Add gst_base_sink_wait_clock() to the exported symbols.
2794
2795 2008-05-20  Sebastian Dröge  <slomo@circular-chaos.org>
2796
2797         Patch by: Tim-Philipp Müller  <tim.muller at collabora co uk>
2798
2799         * libs/gst/base/gstbasetransform.c:
2800         (gst_base_transform_sink_event):
2801         Unref events that the GstBaseTransform::event vfunc didn't want to
2802         have forwarded by the base class. Closes a leak in identity.
2803         Fixes bug #446763.
2804
2805 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2806
2807         * docs/libs/gstreamer-libs-sections.txt:
2808         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock):
2809         * libs/gst/base/gstbasesink.h:
2810         Expose a method that was previously used internally to synchronize
2811         against the clock because it can be useful for subclasses too.
2812         API: GstBaseSink::gst_base_sink_wait_clock()
2813
2814 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
2815
2816         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
2817           Add sanity check to make sure we don't get smaller buffers
2818           than requested (and fallback to normal buffer alloc if we do).
2819
2820 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2821
2822         * libs/gst/base/gstbasesink.c: (gst_base_sink_adjust_time),
2823         (gst_base_sink_wait_clock), (gst_base_sink_wait_eos),
2824         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked):
2825         Refactor adjusting the running_time with latency and offset into a
2826         separate method.
2827         When doing clipping, we still want to use the subclass get_times method,
2828         just in case the DURATION or TIMESTAMP are not set.
2829
2830 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
2831
2832         * docs/gst/gstreamer-sections.txt:
2833         * gst/gsttypefind.c: (gst_type_find_suggest_simple):
2834         * gst/gsttypefind.h:
2835         * win32/common/libgstreamer.def:
2836           API: add gst_type_find_suggest_simple(), #533740.
2837
2838 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
2839
2840         * libs/gst/base/gstbasesrc.c: (gst_base_src_start):
2841           Use right error code when typefinding fails, so we can use
2842           the default (translated) error messages.
2843
2844 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2845
2846         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
2847         (gst_base_src_start):
2848         When the subclass did not set caps on outgoing buffers, configure the
2849         caps we negotiated on the source pad.
2850         When the typefind helper does not find caps, error out properly instead
2851         of doing things with NULL caps.
2852
2853 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
2854
2855         * gst/gsttypefind.h:
2856           Tabs to spaces, oh yes!
2857
2858 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
2859
2860         * tests/check/gst/gstcaps.c: (test_intersect2), (gst_caps_suite):
2861           Add David's and Benjamin's tests for array intersection to the
2862           unit test suite (#147931).
2863
2864 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
2865
2866         * gst/gstevent.c:
2867           Document that gst_event_new_tag() and gst_event_new_navigation()
2868           take ownership of the taglist/structure passed to them. (#533635).
2869
2870 2008-05-17  Jan Schmidt  <jan.schmidt@sun.com>
2871
2872         * docs/Makefile.am:
2873         Don't descend into the plugins dir if plugin docs building
2874         is disabled.
2875
2876         * docs/README:
2877         Add a note about the new type:GTypeName syntax for the plugin
2878         documentation .types file.
2879
2880 2008-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
2881
2882         * gst/gstmessage.c: (gst_message_new_error),
2883         (gst_message_new_warning), (gst_message_new_info):
2884         * gst/gstmessage.h:
2885         Mark the debug string parameters as const. Fixes bug #533490.
2886
2887 2008-05-16  Sebastian Dröge  <slomo@circular-chaos.org>
2888
2889         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
2890         Sort buffer cache list by end offsets. This makes sure that we don't
2891         stop to search for a cached buffer that contains the requested data
2892         too early.
2893         Also read a minimum of 4k bytes instead of 512 bytes as this is a bit
2894         more efficient. Fixes bug #459862.
2895
2896 2008-05-14  Stefan Kost  <ensonic@users.sf.net>
2897
2898         * gst/gstinfo.c:
2899           Explain why we copy the list.
2900
2901         * gst/gstpipeline.c:
2902           Improve docs.
2903
2904         * gst/gstutils.c:
2905           Add one debug-log statement to help tracing probelms with linking pads.
2906
2907 2008-05-12  Stefan Kost  <ensonic@users.sf.net>
2908
2909         * tests/check/gst/gstinfo.c:
2910         Add a test for removing the default log handler. Seems to fail under
2911         windows.
2912
2913 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
2914
2915         * gst/gstpad.c: (gst_pad_peer_accept_caps):
2916         Release pad lock before calling out to avoid a possible deadlock.
2917
2918 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
2919
2920         * gst/parse/grammar.y:
2921         Remove unneeded value unset.
2922
2923         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2924         Add unit test for de/serialization of caps.
2925
2926 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2927
2928         * plugins/elements/gstfakesink.c:
2929         (marshal_VOID__MINIOBJECT_OBJECT), (gst_fake_sink_class_init):
2930         * plugins/elements/gstfakesrc.c: (marshal_VOID__MINIOBJECT_OBJECT),
2931         (gst_fake_src_class_init):
2932         Use custom marshalers that take GstMiniObject as first parameter.
2933         Using OBJECT as parameter while a GstMiniObject is given will lead
2934         to assertions if built with G_ENABLE_DEBUG. Fixes bug #525532.
2935
2936 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2937
2938         * plugins/elements/gsttypefindelement.c:
2939         (gst_type_find_element_handle_event),
2940         (gst_type_find_element_send_cached_events),
2941         (gst_type_find_element_change_state):
2942         Clean up on FLUSH_STOP and not FLUSH_START. Forward both events
2943         immediately.
2944
2945 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2946
2947         * plugins/elements/gsttypefindelement.c:
2948         (gst_type_find_handle_src_query), (stop_typefinding),
2949         (gst_type_find_element_handle_event),
2950         (gst_type_find_element_send_cached_events),
2951         (gst_type_find_element_change_state):
2952         Forward FLUSH_START events immediately and clean up instead of
2953         caching them.
2954
2955 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2956
2957         Patch by: Sjoerd Simons <sjoerd at luon dot net>
2958
2959         * libs/gst/base/gstbasetransform.c:
2960         (gst_base_transform_buffer_alloc):
2961         Check the caps of the buffer returned by gst_pad_alloc_buffer() and
2962         fall back to default negotiation in the chain function if the caps
2963         are different from what was requested. Fixes bug #526768.
2964
2965 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
2966
2967         * gst/gstsegment.c:
2968         * tests/check/gst/gstsegment.c:
2969           No, let's not use g_slice_{dup|copy} here, since they only exist
2970           since GLib 2.14 and we still depend only on >= 2.12. Also add
2971           unit test for gst_segment_copy().
2972
2973 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
2974
2975         * gst/gstutils.h: (GST_BOILERPLATE_FULL):
2976           Try to fix 'dereferencing type-punned pointer will break strict
2977           aliasing rules' warnings with C++ compilers and GLib >= 2.14.0: GLib
2978           changed the default GType typedef from gulong to gsize at some point,
2979           but kept GType typedef'ed to gulong for C++ for ABI reasons; the
2980           g_once_* functions all take a gsize * though, so work around the type
2981           mismatch for C++ by doing everything in gsize and casting to GType
2982           later.
2983
2984 2008-05-09  Jan Schmidt  <jan.schmidt@sun.com>
2985
2986         * plugins/elements/gstmultiqueue.c:
2987         Add documentation for the signals to push our core plugin docs
2988         coverage back up to 100%.
2989
2990 2008-05-08  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
2991
2992         * gst/gstinfo.h (GST_FUNCTION):
2993           Reverted GST_FUNCTION to the old version as we don't want the
2994           full signature in C++ code. Also added support for MSVC.
2995
2996 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
2997
2998         * gst/gstutils.h:
2999         Intern the type name string, similar to what G_DEFINE_TYPE does.
3000
3001 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
3002
3003         * gst/gstutils.h:
3004         Make GST_BOILERPLATE thread-safe if building with GLib 2.14 or newer.
3005
3006 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
3007
3008         Based on a patch by: Sjoerd Simons <sjoerd at luon dot net>
3009
3010         * libs/gst/base/gstbasetransform.c:
3011         (gst_base_transform_buffer_alloc):
3012         Don't passthrough buffer allocation too easily if the caps change.
3013         This breaks when working in passthrough mode and upstream changes
3014         it's caps. Fixes bug #526768.
3015
3016 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
3017
3018         * gst/gstinfo.c (gst_debug_log_valist):
3019           Improved the __FILE__ part of debug output for MSVC.
3020
3021 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
3022
3023         * libs/gst/base/gstbasesrc.c (gst_base_src_default_query):
3024           Declaration after statement fix for compilers like MSVC.
3025
3026 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
3027
3028         * win32/common/config.h.in:
3029           Don't define GST_FUNCTION, if GLib supports MSVC we'd much rather
3030           use the real thing than having "???" unconditionally.
3031
3032 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
3033
3034         * gst/gstinfo.h (GST_FUNCTION):
3035           Made GST_FUNCTION an alias for G_STRFUNC to avoid duplication.
3036
3037 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
3038
3039         * libs/gst/base/gstadapter.c: (gst_adapter_available_fast):
3040         Small code cleanup.
3041
3042         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3043         (gst_base_sink_set_flushing):
3044         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
3045         Fix some comments.
3046
3047 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
3048
3049         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
3050         (gst_fake_src_init), (gst_fake_src_set_property),
3051         (gst_fake_src_get_property), (gst_fake_src_start):
3052         * plugins/elements/gstfakesrc.h:
3053         Added format property to control the format of the newsegment events.
3054         API: GstFakeSrc:format
3055
3056 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
3057
3058         * win32/common/libgstreamer.def:
3059         Add gst_pad_has_name() to the exported symbols.
3060
3061 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
3062
3063         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
3064         * libs/gst/base/gstbasetransform.c:
3065         (gst_base_transform_prepare_output_buffer):
3066         Don't allow negative sizes when allocating new buffers.
3067         Fixes bug #461253.
3068
3069 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
3070
3071         Patch by: Sjoerd Simons <sjoerd at luon net>
3072
3073         * gst/gstbus.c: (gst_bus_source_dispatch):
3074           Don't print a warning if the queue is empty when we try to pop
3075           here. That could happen if another thread or callback set the
3076           bus to flushing between the source's check/prepare and the
3077           dispatch being called (#531538).
3078
3079 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
3080
3081         * plugins/elements/gstmultiqueue.c:
3082           Small docs fix.
3083         
3084 2008-05-05  Sebastian Dröge  <slomo@circular-chaos.org>
3085
3086         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3087         Add unit test for deserializing uint64s and check some really large
3088         numbers in the int64 test.
3089
3090 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
3091
3092         * tools/gst-inspect.c: (n_print), (print_hierarchy),
3093         (print_interfaces), (print_element_properties_info),
3094         (print_signal_info):
3095         Use "%s" as format string instead of printing strings directly.
3096
3097 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
3098
3099         * gst/gstclock.c: (gst_clock_set_calibration):
3100         Make some checks actually useful.
3101
3102         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
3103         Remove some unused code. Unsigned integers tend to be >= 0.
3104
3105 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3106
3107         * gst/gstminiobject.c: (gst_value_get_mini_object):
3108           Fix 'Since:' version in gst_value_dup_mini_object() docs blurb: this
3109           function was not in the unscheduled 0.10.19 release.
3110
3111 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3112
3113         * gst/gstregistry.c: (gst_registry_scan_path_level):
3114           Only print one log message per non-plugin file.
3115
3116 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3117
3118         * gst/gstinfo.c: (gst_debug_log_default):
3119           Fix alignment of debug log columns on 64-bit.
3120
3121 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3122
3123         * docs/libs/Makefile.am:
3124         * docs/libs/gstreamer-libs-sections.txt:
3125           Ignore private controller headers for docs.
3126
3127 2008-05-03  Sebastian Dröge  <slomo@circular-chaos.org>
3128
3129         * libs/gst/controller/gstcontrollerprivate.h:
3130         * libs/gst/controller/gsthelper.c:
3131         * libs/gst/controller/gstinterpolation.c:
3132         * libs/gst/controller/gstinterpolationcontrolsource.c:
3133         (gst_interpolation_control_source_set_interpolation_mode):
3134         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
3135         * libs/gst/controller/lib.c:
3136         Move some private declarations into private headers.
3137
3138 2008-05-02  Sebastian Dröge  <slomo@circular-chaos.org>
3139
3140         * gst/gstdebugutils.c: (debug_dump_element_pad):
3141         Remove some code that is unused after Stefan's refactoring and uses
3142         uninitialized variables now, resulting in a compiler warning.
3143
3144 2008-05-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
3145
3146         * gst/gstregistry.c: (gst_registry_scan_path_level):
3147           Run g_str_has_suffix() only on the file name, not the
3148           entire file path.
3149
3150 2008-04-30  Tim-Philipp Müller  <tim.muller at collabora co uk>
3151
3152         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream):
3153           Since we're not called only from the chain function any longer,
3154           we can't assume that there's always data in the queue, so move
3155           the is_full check to the beginning of the loop (otherwise we'd
3156           hit the assert when changing the limit properties while the
3157           queue is empty or not running yet).
3158           Also, only set a discont if items were actually removed from
3159           the queue.
3160
3161         * tests/check/elements/queue.c: (test_leaky_downstream):
3162           Test case for the above.
3163
3164 2008-04-30  Wim Taymans  <wim.taymans@collabora.co.uk>
3165
3166         Patch by: Jonas Holmberg <jonas dot holmberg at axis dot com>
3167
3168         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream),
3169         (gst_queue_chain), (queue_capacity_change),
3170         (gst_queue_set_property):
3171         When changing thr max capacity of a leaky queue, immediatly drop buffers
3172         instead of waiting for a push on the sinkpad. Fixes #530637.
3173
3174 2008-04-30  Stefan Kost  <ensonic@users.sf.net>
3175
3176         * gst/gstdebugutils.c:
3177           Refactor code and fix handling of ghostpads and their proxypads.
3178
3179 2008-04-29  Wim Taymans  <wim.taymans@collabora.co.uk>
3180
3181         * docs/gst/gstreamer-sections.txt:
3182         * gst/gstevent.c: (gst_event_has_name):
3183         * gst/gstevent.h:
3184         * tests/check/gst/gstevent.c: (GST_START_TEST):
3185         Add method to conveniently check the name of a custom event with
3186         gst_event_has_name().
3187         Reformat the event docs so that related methods are put together instead
3188         of the default alphabetical sort.
3189         Update unit test with new method.
3190         API: GstEvent::gst_event_has_name()
3191
3192 2008-04-28  Michael Smith <msmith@songbirdnest.com>
3193
3194         * libs/gst/check/Makefile.am:
3195           Don't add an explicit link to libgstreamer-0.10.la; it's already
3196           included in GST_OBJ_LIBS.
3197
3198 2008-04-28  Sebastian Dröge  <slomo@circular-chaos.org>
3199
3200         * gst/gst.c:
3201         Register GstClock type from a type-safe context. Fixes bug #530317.
3202
3203 2008-04-25  Michael Smith <msmith@songbirdnest.com>
3204
3205         Patch by Edward Hervey <edward.hervey@collabora.co.uk>
3206         * tools/gst-run.c:
3207           Include <unistd.h> conditionally on HAVE_UNISTD_H as elsewhere.
3208
3209 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
3210
3211         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
3212         (gst_bin_dispose):
3213         Use the GLib stuff to create a private structure.
3214         Add some locking around some dispose methods to make them a little
3215         safer, see #529723. Patch by: Antoine Tremblay <hexa00 at gmail dot com>
3216
3217 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
3218
3219         * libs/gst/base/gstbasesink.h:
3220         * libs/gst/base/gstbasesrc.h:
3221         * libs/gst/base/gstbasetransform.h:
3222         * libs/gst/base/gstcollectpads.h:
3223           Fix doc typos and unify caps a bit.
3224
3225 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
3226
3227         * tools/gst-launch.1.in:
3228           Forgot to also add the envvar docs here.
3229
3230 2008-04-25  Tim-Philipp Müller  <tim at centricular dot net>
3231
3232         * gst/gst.c: (init_post), (gst_deinit):
3233         * tests/check/gst/gstpipeline.c: (GST_START_TEST), (pipeline_thread),
3234           (test_concurrent_create), (gst_pipeline_suite):
3235           Ref some more classes in gst_init() to work around thread-safety
3236           issues in pre-2.16 GLibs, and add basic unit test.
3237
3238 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
3239
3240         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3241         (gst_base_sink_send_event):
3242         Rearrange the latency query code. We always want to do the upstream
3243         query, even if we are not live so that the upstream elements can get the
3244         latency results too. If we fail doing the query and we are live, we
3245         return TRUE afterwards.
3246
3247 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
3248
3249         patch by: Jason Zhao <e3423c@motorola.com>
3250
3251         * docs/gst/running.xml:
3252         * gst/gst.c:
3253           Enable/disable scan_and_update_registry() based on commandline switch
3254           or environment variable. Fixes #520468.
3255           
3256         * ChangeLog:
3257           Fix typo in my previous commit.
3258
3259 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
3260
3261         * gst/gstregistrybinary.c:
3262           Add a warning if we hit unhandled factories when saving.
3263           More debug logging detail, but move to LOG category.
3264
3265 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
3266
3267         * gst/gstregistry.c:
3268           Tell the *truth* when improving the documentation.
3269
3270 2008-04-23  Sebastian Dröge  <slomo@circular-chaos.org>
3271
3272         * gst/gstelementfactory.c: (gst_element_factory_make):
3273         Unref the factory after it was used the last time, not before.
3274
3275         * gst/gstindexfactory.c: (gst_index_factory_make):
3276         Improve debugging a bit and don't leak a ref to the index factory with
3277         each call.
3278
3279 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3280
3281         * gst/gstregistry.c:
3282           Improve the documentation.
3283
3284 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3285
3286         * gst/gstsegment.c:
3287           The glib macro seems to be borked. Use g_slice_copy directly and cast
3288           in the hope that this fixes the warning on 64bit.
3289
3290 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3291
3292         * gst/gstsegment.c:
3293           Document the new function. Use g_slice_dup() (no need for
3294           gst_segment_init()).    
3295
3296 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3297
3298         * docs/gst/gstreamer-sections.txt:
3299           Move GParamSepc macros to standart section.
3300   
3301         * gst/gstbin.c:
3302           Dn't document _get_type - its in private section in docs anyway and
3303           this doc-blob was incomplete.
3304
3305         * gst/gstclock.h:
3306           Fix wrong symbol names in docs.
3307
3308         * gst/gstmacros.h:
3309           Add once doc sentence.
3310
3311         * tests/check/gst/.cvsignore:
3312           Ignore more.
3313
3314 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
3315
3316         * docs/gst/Makefile.am:
3317           And remove those libs here.
3318
3319 2008-04-21  Tim-Philipp Müller  <tim at centricular dot net>
3320
3321         * docs/libs/Makefile.am:
3322           Fix docs build again by adding libgstnet-0.10.so to SCANOBJ_DEPS.
3323
3324 2008-04-21  Wim Taymans  <wim.taymans@collabora.co.uk>
3325
3326         Patch by: Olivier Crete <tester at tester dot ca>
3327
3328         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
3329         Add the min-threshold to the min latency if possible. Fixes #529148.
3330
3331 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
3332
3333         * docs/gst/gstreamer.types.in:
3334           Stupid editor, I removed that line as it should go in yet.
3335
3336 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
3337
3338         * docs/gst/gstreamer.types.in:
3339         * docs/libs/gstreamer-libs.types:
3340           Remove library types fro core docs and have them in libs docs.
3341           Reformat and cleanup. Add comment for miniobject types.
3342
3343 2008-04-20  Tim-Philipp Müller  <tim at centricular dot net>
3344
3345         * gst/gsturi.c: (gst_uri_get_protocol):
3346           Fix leak: g_strdown operates on the string in place, while
3347           g_ascii_strdown() returns a newly-allocated string.
3348
3349 2008-04-20  Sebastian Dröge  <slomo@circular-chaos.org>
3350
3351         * tools/gst-inspect.c: (print_uri_handler_info),
3352         (print_element_info):
3353         Print the URI protocols and the URI type supported by the element.
3354
3355 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3356
3357         * gst/gsttaglist.c: (gst_tag_merge_strings_with_comma):
3358         Use g_value_take_string() instead of the deprecated
3359         g_value_set_string_take_ownership().
3360
3361 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3362
3363         * gst/gstregistrybinary.c: (_gst_crc32):
3364         Return the old CRC instead of 0 if we give a NULL buffer
3365         or a buffer with a length of 0.
3366
3367 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3368
3369         * gst/gsturi.c: (gst_uri_protocol_check_internal),
3370         (gst_uri_get_protocol), (gst_uri_has_protocol),
3371         (gst_uri_construct), (gst_uri_handler_set_uri):
3372         A valid URI scheme can also include '+', '-' and '.' additional
3373         to alphanumeric characters as per RFC 3986 Section 3.1.
3374
3375         Handle URI schemes case insensitive in all places and convert
3376         to lower-case when constructing an URI or setting an URI with
3377         the GstURIHandler interface. Fixes bug #528868.
3378         All elements can still assume (as before) that they will
3379         get passed URIs with a lower-case URI scheme by the GstURIHandler
3380         interface.
3381
3382 2008-04-17  Tim-Philipp Müller  <tim at centricular dot net>
3383
3384         * gst/gstcaps.c: (gst_static_caps_get):
3385         * gst/gstclock.c: (gst_clock_entry_new):
3386           Don't use g_atomic_set_int where it's not needed.
3387
3388 2008-04-17  Wim Taymans  <wim.taymans@collabora.co.uk>
3389
3390         * gst/gstvalue.c: (gst_value_deserialize_caps):
3391         * gst/parse/grammar.y:
3392         Fix 2 caps leaks.
3393
3394 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
3395
3396         * gst/gstutils.c: (gst_atomic_int_set):
3397         Use g_atomic_int_set() here too instead of assignment +
3398         g_atomic_int_get().
3399
3400 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
3401         
3402         * gst/gstutils.c:
3403         * gst/gstutils.h:
3404         API: Deprecate gst_atomic_int_set(), g_atomic_int_set() should be used
3405         now that we depend on new enough GLib.
3406
3407         * gst/gstcaps.c: (gst_static_caps_get):
3408         * gst/gstclock.c: (gst_clock_entry_new):
3409         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_set_colored),
3410         (gst_debug_set_default_threshold), (_gst_debug_category_new),
3411         (gst_debug_category_set_threshold):
3412         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3413         (gst_base_sink_set_qos_enabled):
3414         * libs/gst/net/gstnettimeprovider.c:
3415         (gst_net_time_provider_set_property):
3416         Use g_atomic_int_set() instead of gst_atomic_int_set().
3417
3418 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3419
3420         * gst/gstquery.c:
3421           Also use G_GINT64_CONSTANT for the queries.
3422
3423 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3424
3425         * gst/gstmessage.c:
3426           Use G_GINT64_CONSTANT in varargs function.
3427
3428 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3429
3430         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic):
3431         Initialize the registry magic with zeroes.
3432
3433 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3434
3435         * gst/gstregistrybinary.c: (_gst_crc32),
3436         (gst_registry_binary_write),
3437         (gst_registry_binary_initialize_magic),
3438         (gst_registry_binary_write_cache),
3439         (gst_registry_binary_check_magic),
3440         (gst_registry_binary_read_cache):
3441         * gst/gstregistrybinary.h:
3442         Add crc32 checksum to the binary registry file and check this before
3443         accepting a registry file.
3444
3445         Also free the data list when writing to the registry file fails.
3446
3447 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3448
3449         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
3450         (gst_registry_binary_load_feature),
3451         (gst_registry_binary_load_plugin):
3452         If an element supports the Uri interface, returns a valid pointer
3453         to the supported URI protocols but this pointer contains nothing
3454         don't try to save that as it will corrupt the registry.
3455
3456         Don't unref the plugin if we added it to the registry already but
3457         fail to load a feature as gst_registry_add_plugin() takes ownership
3458         of the plugin.
3459
3460         Improve debugging a bit.
3461
3462 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3463
3464         * gst/gsttaglist.h:
3465           Clarify some tag item docs after discussion on irc.
3466
3467 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3468
3469         * docs/gst/gstreamer-docs.sgml:
3470           Remove commented out plugins (they have their own docs). Update
3471           comments.
3472
3473 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3474
3475         * docs/gst/gstreamer-docs.sgml:
3476         * docs/gst/gstreamer-sections.txt:
3477         * gst/gstparamspecs.c:
3478         * gst/gstparamspecs.h:
3479           Add GST_PARAM_CONTROLLABLE and GST_PARAM_USER_SHIFT. Move paramspec
3480           docs to own section.
3481
3482         * gst/gstvalue.c:
3483           This now only documents GValue.
3484           
3485         * docs/libs/gstreamer-libs-sections.txt:
3486         * libs/gst/controller/gstcontroller.h:
3487           Remove GST_PARAM_CONTROLLABLE.
3488
3489 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3490
3491         * docs/README:
3492           Correct file path. Tell about how to use -overrides.txt.
3493         * docs/design/draft-tagreading.txt:
3494           Small design update.
3495
3496 2008-04-14  Sebastian Dröge  <slomo@circular-chaos.org>
3497
3498         * gst/gstregistrybinary.c: (gst_registry_binary_load_feature),
3499         (gst_registry_binary_load_plugin):
3500         Fix a typo in a debug message and revert change from yesterday as
3501         gst_registry_add_plugin() will only fail if something is really wrong
3502         already and we can't survive it anyway.
3503
3504 2008-04-14  Tim-Philipp Müller  <tim at centricular dot net>
3505
3506         * gst/gst.c: (init_post), (gst_deinit):
3507           Pre-register GstGError GType from a thread-safe context
3508           (fixes #527967); unref enum type classes in deinit.
3509
3510 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3511
3512         Patch by: Rene Stadler <mail at renestadler de>
3513
3514         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
3515           Merging an empty list with another list in KEEP_ALL mode should
3516           yield an empty list as result and not the second list (#512578).
3517
3518         * tests/check/gst/gsttagsetter.c:
3519           Add unit test for tag merge modes and the aforementioned bug.
3520
3521 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3522
3523         Patch by: Rene Stadler <mail at renestadler de>
3524
3525         * gst/gsttaglist.h:
3526           Fix description to match the order in the table (#512577).
3527   
3528 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3529
3530         Patch by: Kwang Yul Seo  <kwangyul.seo gmail com>
3531
3532         * libs/gst/net/gstnettimepacket.h:
3533         * docs/libs/gstreamer-libs-sections.txt:
3534           Define socklen_t as int if it's not defined yet. Fixes compilation
3535           with MSVC6 and other versions where socklen_t is not defined in
3536           the windows headers (#518022).
3537
3538 2008-04-13  Sebastian Dröge  <slomo@circular-chaos.org>
3539
3540         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
3541         If gst_registry_add_plugin() fails our reference to the plugin is
3542         invalid so don't try to use it anymore and instead error out.
3543
3544 2008-04-12  Tim-Philipp Müller  <tim at centricular dot net>
3545
3546         * tools/gst-xmlinspect.c: (print_element_info), (main):
3547           De-cruft a bit. If no argument is specified, print all elements in
3548           XML syntax rather than a freestyle list of elements like gst-inspect.
3549           Also, don't print XML header chunk unless we actually have something
3550           to print (ie. don't print it before an error message); print error
3551           message to stderr not stdout. Remove support for printing plugin
3552           info (it would just output something freestyle along the lines of
3553           gst-inspect so far), which fixes #514507. Also add license header.
3554
3555 2008-04-11  Julien Moutte  <julien@fluendo.com>
3556
3557         Mac OS X love...
3558         * configure.ac: Merge platform specific defines, introduce a new
3559         define on OS X to remember that forking when updating registry is
3560         unsafe.
3561         * docs/faq/gst-uninstalled: Updated to include gst-libs in the bad
3562         module.
3563         * gst/gst.c: Don't fork when updating registry if GST_HAVE_UNSAFE_FORK
3564         is defined.
3565         * gst/gstregistry.c: (gst_registry_scan_path_level): Fixed a bogus
3566         condition that leads to absolutely no plugins being registered on
3567         OS X.
3568
3569 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
3570
3571         Based on patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
3572
3573         * gst/gstutils.c: (gst_pad_add_data_probe),
3574           (gst_pad_add_data_probe_full), (gst_pad_add_event_probe),
3575           (gst_pad_add_event_probe_full), (gst_pad_add_buffer_probe),
3576           (gst_pad_add_buffer_probe_full):
3577         * gst/gstutils.h:
3578         * docs/gst/gstreamer-sections.txt:
3579         * win32/common/libgstreamer.def:
3580           Add gst_pad_add_*_probe_full() functions with a notify callback that
3581           lets the caller free the data it passes to the probe functions. This
3582           is useful for bindings such as gst-python or gstreamermm (#526814).
3583           API: gst_pad_add_data_probe_full
3584           API: gst_pad_add_buffer_probe_full
3585           API: gst_pad_add_event_probe_full
3586
3587         * tests/check/gst/gstutils.c:
3588           Add minimal unit test to make sure freeing the data actually works
3589           as expected.
3590
3591         * tests/benchmarks/.cvsignore:
3592           Random cvsignore addendum.
3593
3594 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
3595
3596         * gst/gstdebugutils.h: (GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS),
3597           (GST_DEBUG_BIN_TO_DOT_FILE):
3598           Mention GstDebugGraphDetails enum type in doc blurb so we get a link
3599           to it in the docs (since these are macros the types of the arguments
3600           won't be shown in the docs otherwise).
3601
3602 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
3603
3604         * gst/gstpad.c:
3605           Do not abort on out of memory for pad_alloc_buffer.
3606
3607 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
3608
3609         * libs/gst/check/gstcheck.c:
3610           Remove blank line between symbol name ad parameters to fix gtkdoc
3611           warning.
3612
3613 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3614
3615         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
3616
3617         * docs/gst/gstreamer-sections.txt:
3618         * gst/gstsegment.c:
3619         * gst/gstsegment.h:
3620         * win32/common/libgstreamer.def:
3621           Expose gst_segment_copy() to make things easier for the c++ bindings.
3622           Fixes #518932.
3623           API: gst_segment_copy()
3624
3625 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3626
3627         * gst/gst.c: (gst_init_get_option_group), (init_post):
3628           Fix const position; ref GType classes for enum types to work
3629           around thread-safety issues in GLib versions < 2.16.
3630
3631 2008-04-09  Wim Taymans  <wim.taymans@collabora.co.uk>
3632
3633         * docs/design/part-buffering.txt:
3634         Fix some typos and set the estimated total for push mode to -1.
3635
3636         * gst/gstquery.c: (gst_query_new_buffering):
3637         Set buffering-left to 0 as we're not buffering by default.
3638
3639         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
3640         Implement BUFFERING query.
3641
3642 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3643
3644         Based on patch by: Milosz Derezynski <internalerror gmail com>
3645
3646         * gst/gsterror.c: (_gst_stream_errors_init):
3647         * gst/gsterror.h:
3648           Add two new error codes for encrypted content. Fixes #524659.
3649           API: GST_STREAM_ERROR_DECRYPT
3650           API: GST_STREAM_ERROR_DECRYPT_NOKEY
3651
3652 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3653
3654         * gst/gstquery.h:
3655           Fix typo.
3656
3657         * win32/common/libgstreamer.def:
3658           Add new functions.
3659
3660 2008-04-09  Sebastian Dröge  <slomo@circular-chaos.org>
3661
3662         * plugins/elements/gstidentity.c: (gst_identity_event),
3663         (gst_identity_start):
3664         Fix imperfect timestamp/offset checks when we get another NEWSEGMENT
3665         event after processing some data. Fixes bug #526042.
3666
3667 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3668
3669         * docs/gst/gstreamer-sections.txt:
3670         * gst/gstquery.c: (gst_query_parse_latency),
3671         (gst_query_set_buffering_percent),
3672         (gst_query_parse_buffering_percent),
3673         (gst_query_set_buffering_range), (gst_query_parse_buffering_range):
3674         * gst/gstquery.h:
3675         Rename _avail -> _range
3676         API: gst_query_set_buffering_range
3677         API: gst_query_parse_buffering_range
3678
3679 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3680
3681         * docs/design/part-buffering.txt:
3682         * gst/gstquark.c:
3683         * gst/gstquark.h:
3684         * gst/gstquery.c: (gst_query_parse_latency),
3685         (gst_query_new_buffering), (gst_query_set_buffering_percent),
3686         (gst_query_parse_buffering_percent):
3687         * gst/gstquery.h:
3688         Add busy field and quark for the buffering query so that the app can
3689         only use the query to see if buffering is in progress.
3690
3691 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3692
3693         * docs/gst/gstreamer-sections.txt:
3694         * gst/gstmessage.c: (gst_message_set_buffering_stats),
3695         (gst_message_parse_buffering_stats):
3696         * gst/gstmessage.h:
3697         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
3698         (gst_query_parse_latency), (gst_query_new_buffering),
3699         (gst_query_set_buffering_percent),
3700         (gst_query_parse_buffering_percent),
3701         (gst_query_set_buffering_stats), (gst_query_parse_buffering_stats),
3702         (gst_query_set_buffering_avail), (gst_query_parse_buffering_avail):
3703         * gst/gstquery.h:
3704         Reorder the message docs and headers for clarity.
3705         Add aditional buffering stats API for messages.
3706         Add buffering query.
3707         Convert some leftover queries to use GstQuark.
3708         API: gst_message_set_buffering_stats
3709         API: gst_message_parse_buffering_stats
3710         API: GST_QUERY_BUFFERING
3711         API: GstBufferingMode
3712         API: gst_query_new_buffering
3713         API: gst_query_set_buffering_percent
3714         API: gst_query_parse_buffering_percent
3715         API: gst_query_set_buffering_stats
3716         API: gst_query_parse_buffering_stats
3717
3718 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3719
3720         * gst/gstmessage.c: (gst_message_new_error),
3721         (gst_message_new_warning), (gst_message_new_info),
3722         (gst_message_new_buffering), (gst_message_new_state_changed),
3723         (gst_message_new_clock_provide), (gst_message_new_clock_lost),
3724         (gst_message_new_new_clock), (gst_message_new_segment_start),
3725         (gst_message_new_segment_done), (gst_message_new_duration),
3726         (gst_message_new_async_start), (gst_message_parse_buffering),
3727         (gst_message_parse_state_changed),
3728         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
3729         (gst_message_parse_new_clock), (gst_message_parse_error),
3730         (gst_message_parse_warning), (gst_message_parse_info),
3731         (gst_message_parse_segment_start),
3732         (gst_message_parse_segment_done), (gst_message_parse_duration),
3733         (gst_message_parse_async_start):
3734         Use GstQuark for messages.
3735
3736 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3737
3738         * gst/gstquark.c: (_priv_gst_quarks_initialize):
3739         * gst/gstquark.h:
3740         Add some more quarks needed for messages and queries.
3741
3742 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3743
3744         * docs/design/part-buffering.txt:
3745         Remove the "none" buffering mode, STREAM is a good default.
3746         Move estimated-time to the avail query, that's when it will be needed.
3747         Other small typo fixes and updates.
3748
3749 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
3750
3751         * gst/gstindex.c: (gst_index_resolver_get_type):
3752           Don't put descriptions into the nick field of a GEnumValue: it's not
3753           meant for that and some language bindings rely on the nick field to
3754           construct constants and the like. Fixes #526705.
3755
3756 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
3757
3758         * NEWS:
3759         * RELEASE:
3760         * gstreamer.doap:
3761           Merge other changes from 0.10.19 release branch.
3762
3763 2008-04-06  Sebastian Dröge  <slomo@circular-chaos.org>
3764
3765         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3766
3767         * configure.ac:
3768         Actually build dlls when cross-compiling with mingw32.
3769         Fixes bug #526247.
3770
3771 2008-04-05  Sebastian Dröge  <slomo@circular-chaos.org>
3772
3773         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3774
3775         * gst/gstpoll.c:
3776         Fix compilation of GstPoll with mingw32. Fixes bug #526236.
3777
3778 2008-04-04  Wim Taymans  <wim.taymans@collabora.co.uk>
3779
3780         * docs/design/draft-latency.txt:
3781         Fix typo.
3782
3783         * docs/design/part-buffering.txt:
3784         Update design docs with more buffering ideas.
3785
3786 2008-04-03  Tim-Philipp Müller  <tim at centricular dot net>
3787
3788         * configure.ac:
3789           Bump version to 0.10.19.1 after the unscheduled 0.10.19 release.
3790
3791 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
3792
3793         * configure.ac:
3794           Revert part that belongs to the preset patch.
3795
3796 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
3797
3798         * configure.ac:
3799           Add qoutes to the define. Fixes # 525961.
3800
3801 2008-04-03  Sebastian Dröge  <slomo@circular-chaos.org>
3802
3803         * plugins/indexers/gstfileindex.c: (_file_index_id_free),
3804         (gst_file_index_load), (gst_file_index_add_id),
3805         (gst_file_index_get_assoc_entry):
3806         * plugins/indexers/gstmemindex.c: (gst_mem_index_free_format),
3807         (gst_mem_index_free_id), (gst_mem_index_add_id),
3808         (gst_mem_index_index_format):
3809         Use GSlice when possible.
3810
3811 2008-04-02  Sebastian Dröge  <slomo@circular-chaos.org>
3812
3813         * libs/gst/controller/gstinterpolationcontrolsource.c:
3814         (gst_control_point_free),
3815         (gst_interpolation_control_source_set_internal):
3816         Use GSlice for allocating the control points.
3817
3818 2008-04-02  Wim Taymans  <wim.taymans@collabora.co.uk>
3819
3820         * plugins/elements/gsttypefindelement.c:
3821         (gst_type_find_element_class_init),
3822         (gst_type_find_element_set_property),
3823         (gst_type_find_element_get_property),
3824         (gst_type_find_element_activate):
3825         * plugins/elements/gsttypefindelement.h:
3826         Cleanup properties.
3827         Fix pad leak when peer query fails.
3828         We can still typefind when the peer returns -1.
3829         Add property to force caps and bypass typefinding. This will be used in
3830         uridecodebin.
3831         API::force-caps
3832
3833 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
3834
3835         * configure.ac:
3836         Require GLib 2.12.
3837
3838         * gst/glib-compat-private.h:
3839         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free):
3840         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
3841         Unconditionally use GSlice for allocation.
3842
3843         * gst/gstpoll.c: (gst_poll_new), (gst_poll_free):
3844         * gst/gstsegment.c: (gst_segment_new), (gst_segment_free):
3845         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
3846         (gst_structure_free):
3847         Use GSlice for allocation.
3848
3849 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
3850
3851         * gst/parse/Makefile.am:
3852         * gst/parse/grammar.tab.pre.c:
3853         * gst/parse/grammar.tab.pre.h:
3854         * gst/parse/lex._gst_parse_yy.pre.c:
3855         Require a new enough flex and bison and remove the parser hacks to use
3856         a pre-regenerated version.
3857
3858 2008-04-01  Julien Moutte  <julien@fluendo.com>
3859
3860         patch by: Jason Zhao <E3423C@motorola.com>
3861
3862         * configure.ac: Add a configure switch to disable option parsing
3863         in gst_init.
3864         Fixes #522882.
3865
3866 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
3867
3868         * configure.ac:
3869         * gst/gstregistry.c:
3870           MacOS has plugins under .so or under .dylib. Add detection for MacOS
3871           and handle this case.
3872
3873         * gst/gst.c:
3874           Add a comment here describing, why we stat each plugin and not try to
3875           be smart.
3876
3877 2008-03-31  Sebastian Dröge  <slomo@circular-chaos.org>
3878
3879         * libs/gst/base/gstbasetransform.c:
3880         (gst_base_transform_prepare_output_buffer):
3881         Also unset the GAP flag on buffers if we're working inplace but
3882         the element is not GAP-aware.
3883
3884         Mark a comment as FIXME 0.11.
3885
3886 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
3887
3888         * gst/gst.c:
3889           Fix type in log message and add one to ease seeing how long registry
3890           cache verification takes.
3891
3892         * gst/gstregistry.c:
3893           Only test plugin filenames against G_MODULE_SUFFIX.
3894
3895 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
3896
3897         * gst/gstdebugutils.c:
3898           Improve handling ghost/proxy pads.
3899
3900 2008-03-27  Stefan Kost  <ensonic@users.sf.net>
3901
3902         * docs/gst/gstreamer-sections.txt:
3903         * gst/gstpad.c:
3904         * gst/gstpad.h:
3905           Expose macro to docs and fix link to it.
3906
3907 2008-03-27  Michael Smith <msmith@fluendo.com>
3908
3909         * libs/gst/dataprotocol/dataprotocol.c:
3910         (gst_dp_packet_from_event_1_0):
3911           When calculating GDP body CRC, use the correct pointer. 
3912           Fixes part of #522401.
3913
3914 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3915
3916         Patch by: Mark Nauwelaerts <manauw at skynet be>
3917
3918         * plugins/elements/gstidentity.c: (gst_identity_class_init),
3919         (gst_identity_init), (gst_identity_prepare_output_buffer):
3920         Identity is not always a passthrough element, it can modify the buffer
3921         timestamps when it has a datarate and operates in single-segment mode.
3922         We therefore make it an in_place filter with a custom buffer prepare
3923         function that conditionally makes the input buffer metadata writable
3924         when needed.  Fixes #523985.
3925
3926 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3927
3928         Patch by: Mark Nauwelaerts <manauw at skynet be>
3929
3930         * gst/gstclock.h:
3931         * libs/gst/base/gstbasesrc.h:
3932         * libs/gst/base/gstbasetransform.c:
3933         * libs/gst/check/gstcheck.c:
3934         Small documentation fixes. Fixes #523978.
3935
3936 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3937
3938         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
3939         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
3940         Also retry our poll_wait when we get EAGAIN. Fixes #524041.
3941
3942 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3943
3944         * plugins/elements/gstmultiqueue.c: (single_queue_overrun_cb),
3945         (single_queue_underrun_cb):
3946         When trying to make room in the queue, bump the max allowed buffers
3947         bigger than the current amount of buffers in the queue. this fixes some
3948         nasty deadlocks in multiqueue when dynamically changing the limits of
3949         the queue.
3950
3951 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3952
3953         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
3954
3955         * gst/gstcaps.c: (gst_caps_set_simple),
3956         (gst_caps_set_simple_valist), (gst_caps_intersect):
3957         * gst/gstcaps.h:
3958         Constify the field gchar * params in set_simple and friends.
3959         Fixes #522326.
3960
3961 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3962
3963         * gst/gstvalue.c: (gst_value_transform_object_string):
3964         Transform a GstObject to a more meaningfull string that includes the
3965         object type in addition to its name.
3966
3967 2008-03-23  Stefan Kost  <ensonic@users.sf.net>
3968
3969         * ChangeLog:
3970           ChangeLog surgery to add bugnumber to commit.
3971
3972 2008-03-23  Rene Stadler  <mail@renestadler.de>
3973
3974         * libs/gst/base/gstbasetransform.c:
3975         (gst_base_transform_set_gap_aware): Fix confusing documentation.
3976
3977 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
3978
3979         * gst/gstregistrybinary.c: (gst_registry_binary_write):
3980         Rename constant everywhere and don't forget one occurence.
3981
3982 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
3983
3984         * gst/gstregistrybinary.c: (gst_registry_binary_write):
3985         Align memory to the pointer size even if the architecture allows
3986         unaligned memory access. Unaligned memory access usually comes with
3987         performance penality.
3988
3989 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
3990
3991         * gst/gstregistrybinary.c: (gst_registry_binary_write),
3992         (gst_registry_binary_check_magic),
3993         (gst_registry_binary_load_pad_template),
3994         (gst_registry_binary_load_feature),
3995         (gst_registry_binary_load_plugin):
3996         Align memory to the pointer size instead of always 32 bit. Fixes
3997         unaligned memory accesses on ia64 and friends.
3998
3999         * gst/gstregistrybinary.h:
4000         Bump binary registry format version for this as it changes the
4001         format on those architectures that don't have unaligned access
4002         and 64 bit pointers.
4003
4004 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
4005
4006         * docs/pwg/advanced-dparams.xml:
4007         * docs/pwg/building-props.xml:
4008         * docs/pwg/other-source.xml:
4009         * gst/glib-compat.h:
4010         * gst/gstbin.c: (gst_bin_class_init):
4011         * gst/gstclock.c: (gst_clock_class_init):
4012         * gst/gstindex.c: (gst_index_class_init):
4013         * gst/gstobject.c: (gst_object_class_init):
4014         * gst/gstpad.c: (gst_pad_class_init):
4015         * gst/gstpipeline.c: (gst_pipeline_class_init):
4016         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4017         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
4018         * libs/gst/base/gstbasetransform.c:
4019         (gst_base_transform_class_init):
4020         * libs/gst/base/gstdataqueue.c: (gst_data_queue_class_init):
4021         * libs/gst/check/gstcheck.c: (_gst_check_fault_handler_restore),
4022         (_gst_check_fault_handler_sighandler),
4023         (_gst_check_fault_handler_setup), (gst_check_init):
4024         * libs/gst/controller/gstcontroller.c:
4025         (_gst_controller_class_init):
4026         * libs/gst/controller/gstlfocontrolsource.c:
4027         (gst_lfo_control_source_class_init):
4028         * libs/gst/net/gstnetclientclock.c:
4029         (gst_net_client_clock_class_init):
4030         * libs/gst/net/gstnettimeprovider.c:
4031         (gst_net_time_provider_class_init):
4032         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
4033         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
4034         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
4035         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
4036         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
4037         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
4038         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
4039         * plugins/elements/gstidentity.c: (gst_identity_class_init):
4040         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_class_init):
4041         * plugins/elements/gstqueue.c: (gst_queue_class_init):
4042         * plugins/elements/gsttee.c: (gst_tee_class_init):
4043         * plugins/elements/gsttypefindelement.c:
4044         (gst_type_find_element_class_init):
4045         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
4046         Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and
4047         use it everywhere for GParamSpecs that use static strings (i.e. all).
4048         This gives us less memory usage, fewer allocations and thus less
4049         memory defragmentation. Fixes bug #523806.
4050
4051 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
4052
4053         * gst/gstminiobject.c: (gst_value_dup_mini_object),
4054         (gst_param_spec_mini_object):
4055         * gst/gstminiobject.h:
4056         * win32/common/libgstreamer.def:
4057         * docs/gst/gstreamer-sections.txt:
4058         API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
4059         GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object. Also move
4060         GstParamSpecMiniObject into a public header for this.
4061
4062         This make GstMiniObject a bit more consistent with GObject and makes
4063         it possible to extend the param specs.
4064
4065         gst_value_dup_mini_object is mainly useful for set_property methods.
4066
4067         Fixes bug #523798.
4068
4069         * tools/gst-inspect.c: (print_element_properties_info):
4070         Print something useful for GstMiniObject properties and not just
4071         "unknown type".
4072
4073 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
4074
4075         * docs/gst/gstreamer-sections.txt:
4076         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
4077         (gst_registry_binary_check_magic):
4078         * gst/gstregistrybinary.h:
4079         Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent
4080         and add it to the (private part) of the docs to fix the build.
4081
4082 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
4083
4084         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
4085         (gst_registry_binary_check_magic),
4086         (gst_registry_binary_read_cache):
4087         * gst/gstregistrybinary.h:
4088         Don't use GST_MAJORMINOR for the binary registry version. Instead
4089         hardcode a value that must be changed whenever the format changes
4090         in an incompatible way.
4091         Also don't GST_ERROR when there is a version mismatch, just
4092         regenerate the registry silently.
4093
4094 2008-03-21  Jan Schmidt  <jan.schmidt@sun.com>
4095
4096         * configure.ac:
4097         Back to development - 0.10.18.1
4098
4099 === release 0.10.18 ===
4100
4101 2008-03-20  Jan Schmidt <jan.schmidt@sun.com>
4102
4103         * configure.ac:
4104           releasing 0.10.18, "So far away"
4105
4106 2008-03-18  Jan Schmidt  <jan.schmidt@sun.com>
4107
4108         * configure.ac:
4109         * win32/common/config.h:
4110         0.10.17.4 pre-release
4111
4112 2008-03-18  Wim Taymans  <wim.taymans@collabora.co.uk>
4113
4114         Patch by: Ole André Vadla Ravnås
4115             <ole dot andre dot ravnas at tandberg dot com>
4116
4117         * docs/gst/gstreamer-sections.txt:
4118         * gst/gstpoll.c: (gst_poll_winsock_error_to_errno),
4119         (gst_poll_update_winsock_event_mask),
4120         (gst_poll_prepare_winsock_active_sets),
4121         (gst_poll_collect_winsock_events), (gst_poll_new), (gst_poll_free),
4122         (gst_poll_add_fd_unlocked), (gst_poll_fd_ctl_write),
4123         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ignored),
4124         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
4125         (gst_poll_check_ctrl_commands), (gst_poll_wait):
4126         * gst/gstpoll.h:
4127         * win32/common/libgstreamer.def:
4128         Add new function gst_poll_fd_ignored() for improved Windows
4129         compatibility.
4130         Various minor fixes and cleanups. See #520808.
4131
4132 2008-03-17  Tim-Philipp Müller  <tim at centricular dot net>
4133
4134         * gst/gstindex.c: (gst_index_entry_free):
4135         * gst/gstindex.h:
4136           Don't free key strings which we don't own. Fixes crash in
4137           gst_index_entry_free() (#522741).
4138
4139         * tests/check/Makefile.am:
4140         * tests/check/gst/.cvsignore:
4141         * tests/check/gst/gstindex.c: (test_index_entries),
4142           (gst_index_suite), (gst_index):
4143           Add unit test for the above.
4144
4145 2008-03-11  Sebastian Dröge  <slomo@circular-chaos.org>
4146
4147         * win32/common/libgstreamer.def:
4148         Remove symbols that were removed recently. Fixes bug #521740.
4149
4150 2008-03-11  Jan Schmidt  <jan.schmidt@sun.com>
4151
4152         * configure.ac:
4153         * win32/common/config.h:
4154         0.10.17.3 pre-release
4155
4156 2008-03-07  Wim Taymans  <wim.taymans@collabora.co.uk>
4157
4158         Patch by: Ole André Vadla Ravnås
4159             <ole dot andre dot ravnas at tandberg dot com>
4160
4161         * docs/gst/gstreamer-sections.txt:
4162         * gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event),
4163         (gst_poll_update_winsock_event_mask), (gst_poll_new),
4164         (gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked),
4165         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
4166         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed),
4167         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
4168         (gst_poll_fd_can_write), (gst_poll_wait),
4169         (gst_poll_set_controllable), (gst_poll_restart),
4170         (gst_poll_set_flushing):
4171         * gst/gstpoll.h:
4172         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
4173         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start),
4174         (gst_net_time_provider_new):
4175         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
4176         * plugins/elements/gstfdsrc.c: (gst_fd_src_start):
4177         * tests/benchmarks/gstpollstress.c: (main):
4178         * tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite):
4179         Remove GstPollMode from the API, it does not make sense to let the
4180         application control this.
4181         Add support for Win32.
4182         Fix the testsuite. Fixes #520671.
4183
4184 2008-03-07  Sebastian Dröge  <slomo@circular-chaos.org>
4185
4186         Patch by: Ole André Vadla Ravnås
4187             <ole dot andre dot ravnas at tandberg dot com>
4188
4189         * gst/gstregistrybinary.c:
4190         Include io.h for write() and close() when building with MSVC. Fixes
4191         bug #520877.
4192
4193 2008-03-07  Stefan Kost  <ensonic@users.sf.net>
4194
4195         * configure.ac:
4196         * gst/gst_private.h:
4197         * gst/gstconfig.h.in:
4198         * gst/gstregistry.h:
4199         * gst/gstregistrybinary.c:
4200         * win32/common/gstconfig.h:
4201           Move registry backend API to private headers where we can. Add
4202           fixme-0.11 comments for the others. Add stubs for the xml backend when
4203           using the binary to ensure they functions exists (they should not be
4204           used though). Fixes #520756.
4205
4206 2008-03-04  Jan Schmidt  <jan.schmidt@sun.com>
4207
4208         * configure.ac:
4209         * win32/common/config.h:
4210         0.10.17.2 prelease
4211
4212 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
4213
4214         * gst/gstregistrybinary.c: (gst_registry_binary_write),
4215         (gst_registry_binary_read_cache):
4216         * gst/gstregistryxml.c: (gst_registry_save):
4217         * gst/gsturi.c: (unescape_string), (gst_uri_has_protocol):
4218         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file):
4219         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4220         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
4221         Switch to using portabl gsize/gssize instead of size_t/ssize_t
4222         Fixes #520152
4223
4224 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
4225
4226         * gst/gstminiobject.c:
4227         Import gst_private.h before any other header that might include other
4228         glib headers. This fixes the build on windows using native compilers.
4229
4230 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
4231
4232         * win32/common/gstconfig.h:
4233           Add here too, just for completeness.
4234
4235 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
4236
4237         * configure.ac:
4238         * gst/gstconfig.h.in:
4239         * gst/gstregistry.h:
4240           Fix broken use of config.h-defined preprocessor directive in a public
4241           header file. Add a corresponding define to gstconfig.h, since we can't
4242           really remove those function declarations from the header file now
4243           (or can we? and why are they there in the first place?).
4244
4245 2008-03-03  Andy Wingo  <wingo@pobox.com>
4246
4247         * tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
4248         the new warning.
4249
4250         * gst/gststructure.c (gst_structure_from_string): Warn if
4251         structure_from_string didn't consume the whole string, but the
4252         caller did not provide an end pointer.
4253
4254 2008-03-01  Tim-Philipp Müller  <tim at centricular dot net>
4255
4256         Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it>
4257
4258         * gst/gstregistryxml.c: (read_string), (load_feature):
4259           Strings allocated by libxml2 should be freed with xmlFree(), not
4260           with g_free(). Fixes issues on windows in certain contexts (#519698).
4261
4262 2008-02-29  Tim-Philipp Müller  <tim at centricular dot net>
4263
4264         * gst/gstinterface.c: (gst_element_implements_interface):
4265           Don't crash if the element supports the interface queried, but does
4266           not implement GstImplementsInterface. Fixes #519584.
4267
4268         * tests/check/Makefile.am:
4269         * tests/check/gst/.cvsignore:
4270         * tests/check/gst/gstinterface.c:
4271           Add unit test for the above.
4272
4273 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4274
4275         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4276         Small doc update.
4277
4278 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4279
4280         * gst/gstsegment.c: (gst_segment_set_seek),
4281         (gst_segment_to_stream_time):
4282         Improve some comment.
4283         Update variables where it makes more sense.
4284
4285 2008-02-29  Rene Stadler  <mail@renestadler.de>
4286
4287         * gst/gsturi.c: (gst_uri_handler_get_protocols):
4288         Use the get_protocols_full vfunc if get_protocols is NULL.  Fixes
4289         URIHandlers implemented using language bindings.
4290
4291 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4292
4293         * gst/gstelementfactory.h:
4294         * tests/check/elements/fakesink.c:
4295         * tests/check/elements/fakesrc.c: (setup_fakesrc):
4296         * tests/check/elements/fdsrc.c: (setup_fdsrc):
4297         * tests/check/elements/filesink.c: (setup_filesink):
4298         * tests/check/elements/filesrc.c: (setup_filesrc):
4299         * tests/check/elements/identity.c: (setup_identity):
4300         * tests/check/elements/tee.c:
4301         * tests/check/generic/sinks.c:
4302         * tests/check/generic/states.c: (setup), (teardown):
4303         * tests/check/gst/gst.c:
4304         * tests/check/gst/gstabi.c:
4305         * tests/check/gst/gstbin.c:
4306         * tests/check/gst/gstbus.c: (pull_messages):
4307         * tests/check/gst/gstcaps.c:
4308         * tests/check/gst/gstelement.c:
4309         * tests/check/gst/gstevent.c:
4310         * tests/check/gst/gstghostpad.c:
4311         * tests/check/gst/gstiterator.c:
4312         * tests/check/gst/gstmessage.c:
4313         * tests/check/gst/gstminiobject.c: (my_foo_init):
4314         * tests/check/gst/gstobject.c: (thread_name_object),
4315         (gst_object_suite):
4316         * tests/check/gst/gstpad.c:
4317         * tests/check/gst/gstplugin.c:
4318         * tests/check/gst/gstpoll.c:
4319         * tests/check/gst/gstquery.c:
4320         * tests/check/gst/gstsegment.c:
4321         * tests/check/gst/gststructure.c:
4322         * tests/check/gst/gstsystemclock.c:
4323         * tests/check/gst/gsttask.c:
4324         * tests/check/gst/gstutils.c:
4325         * tests/check/gst/gstvalue.c:
4326         * tests/check/gst/struct_hppa.h:
4327         * tests/check/gst/struct_i386.h:
4328         * tests/check/gst/struct_ppc32.h:
4329         * tests/check/gst/struct_ppc64.h:
4330         * tests/check/gst/struct_x86_64.h:
4331         * tests/check/libs/adapter.c: (create_and_fill_adapter):
4332         * tests/check/libs/basesrc.c:
4333         * tests/check/libs/controller.c: (GST_START_TEST):
4334         * tests/check/libs/gdp.c:
4335         * tests/check/libs/gstnetclientclock.c:
4336         * tests/check/libs/gstnettimeprovider.c:
4337         * tests/check/libs/libsabi.c:
4338         * tests/check/libs/struct_hppa.h:
4339         * tests/check/libs/struct_i386.h:
4340         * tests/check/libs/struct_ppc32.h:
4341         * tests/check/libs/struct_ppc64.h:
4342         * tests/check/libs/struct_x86_64.h:
4343         * tests/check/pipelines/cleanup.c:
4344         * tests/check/pipelines/simple-launch-lines.c:
4345         * tests/check/pipelines/stress.c:
4346         And correct even more valid sparse warnings.
4347
4348         * win32/common/libgstreamer.def:
4349         Add gst_poll_fd_init to the list of symbols.
4350
4351 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4352
4353         * gst/gstconfig.h.in:
4354         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
4355         * libs/gst/check/gstcheck.c: (gst_check_log_message_func),
4356         (gst_check_log_critical_func), (gst_check_drop_buffers),
4357         (gst_check_element_push_buffer_list):
4358         * libs/gst/controller/gstcontroller.c: (gst_controller_get),
4359         (gst_controller_get_type):
4360         * libs/gst/controller/gsthelper.c: (gst_object_control_properties),
4361         (gst_object_get_controller), (gst_object_get_control_source):
4362         * libs/gst/controller/gstinterpolationcontrolsource.c:
4363         (gst_interpolation_control_source_new):
4364         * libs/gst/controller/gstlfocontrolsource.c:
4365         (gst_lfo_control_source_new):
4366         * libs/gst/dataprotocol/dataprotocol.c:
4367         (gst_dp_event_from_packet_0_2):
4368         * plugins/elements/gstfdsrc.c:
4369         * plugins/elements/gstmultiqueue.c:
4370         * plugins/elements/gsttee.c:
4371         * plugins/elements/gsttypefindelement.c:
4372         * plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
4373         (gst_file_index_add_association):
4374         * plugins/indexers/gstmemindex.c:
4375         * tests/benchmarks/gstpollstress.c: (mess_some_more):
4376         * tests/check/elements/queue.c: (setup_queue):
4377         * tests/check/gst/gstpipeline.c:
4378         * tests/check/libs/collectpads.c: (setup), (teardown),
4379         (gst_collect_pads_suite):
4380         * tests/examples/adapter/adapter_test.c:
4381         * tests/examples/metadata/read-metadata.c: (make_pipeline):
4382         * tests/examples/xml/createxml.c:
4383         * tests/examples/xml/runxml.c:
4384         * tools/gst-inspect.c:
4385         * tools/gst-run.c:
4386         Correct all relevant warnings found by the sparse semantic code
4387         analyzer. This include marking several symbols static, using
4388         NULL instead of 0 for pointers, not using variable sized arrays
4389         on the stack, moving variable declarations to the beginning of
4390         a block and using "foo (void)" instead of "foo ()" for declarations.
4391
4392 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4393
4394         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4395         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4396         Don't reset GstPollFDs, this is not necessary at all.
4397
4398         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4399         (delayed_restart), (delayed_control):
4400         Use GST_POLL_FD_INIT.
4401
4402 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4403
4404         * gst/gstpoll.c: (gst_poll_fd_init):
4405         * gst/gstpoll.h:
4406         Added Since tags.
4407
4408         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4409         Use some more init macros.
4410
4411 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4412
4413         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
4414         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4415         Use init macros and functions.
4416
4417 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4418
4419         * docs/gst/gstreamer-sections.txt:
4420         * gst/gstpoll.c: (gst_poll_fd_init):
4421         * gst/gstpoll.h:
4422         Add INIT macro and _init method for initializing the GstPollFD.
4423
4424 2008-02-28  Sebastian Dröge  <slomo@circular-chaos.org>
4425
4426         * plugins/elements/gstfdsink.c: (gst_fd_sink_start),
4427         (gst_fd_sink_update_fd):
4428         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4429         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4430         (delayed_restart), (delayed_control):
4431         Initialize some uninitialized variables as spotted by valgrind.
4432
4433 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
4434
4435         * tests/benchmarks/Makefile.am:
4436         * tests/benchmarks/gstpollstress.c: (mess_some_more), (run_test),
4437         (main):
4438         Add poll stress test.
4439
4440 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
4441
4442         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4443
4444         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
4445         (gst_fd_sink_start), (gst_fd_sink_stop), (gst_fd_sink_unlock),
4446         (gst_fd_sink_unlock_stop), (gst_fd_sink_update_fd):
4447         * plugins/elements/gstfdsink.h:
4448         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
4449         (gst_fd_src_start), (gst_fd_src_stop), (gst_fd_src_unlock),
4450         (gst_fd_src_unlock_stop), (gst_fd_src_create),
4451         (gst_fd_src_uri_set_uri):
4452         * plugins/elements/gstfdsrc.h:
4453         Port to GstPoll. See #505417.
4454
4455 2008-02-27  Jan Schmidt  <jan.schmidt@sun.com>
4456
4457         * win32/common/libgstreamer.def:
4458         Add new gst_poll_ symbols to win32 defs.
4459
4460 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4461
4462         * docs/libs/gstreamer-libs-sections.txt:
4463         * libs/gst/net/gstnetclientclock.c:
4464         (gst_net_client_clock_class_init), (gst_net_client_clock_init),
4465         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4466         (gst_net_client_clock_thread), (gst_net_client_clock_start),
4467         (gst_net_client_clock_stop), (gst_net_client_clock_new):
4468         * libs/gst/net/gstnetclientclock.h:
4469         * libs/gst/net/gstnettimeprovider.c:
4470         (gst_net_time_provider_class_init), (gst_net_time_provider_init),
4471         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4472         (gst_net_time_provider_start), (gst_net_time_provider_stop),
4473         (gst_net_time_provider_new):
4474         * libs/gst/net/gstnettimeprovider.h:
4475         Use a private stuct to not break ABI.
4476
4477 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4478
4479         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4480
4481         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_init),
4482         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4483         (gst_net_client_clock_thread), (gst_net_client_clock_start),
4484         (gst_net_client_clock_stop), (gst_net_client_clock_new):
4485         * libs/gst/net/gstnetclientclock.h:
4486         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_init),
4487         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4488         (gst_net_time_provider_start), (gst_net_time_provider_stop),
4489         (gst_net_time_provider_new):
4490         * libs/gst/net/gstnettimeprovider.h:
4491         Massive code removal and cleanups because of GstPoll.
4492         Fixes #505417.
4493
4494 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4495
4496         * configure.ac:
4497         Add checks for poll, ppoll and pselect.
4498
4499         * docs/gst/gstreamer-docs.sgml:
4500         * docs/gst/gstreamer-sections.txt:
4501         Add docs for GstPoll.
4502
4503         * gst/Makefile.am:
4504         * gst/gst.h:
4505         * gst/gstpoll.c: (find_index), (selectable_fds),
4506         (pollable_timeout), (choose_mode), (pollfd_to_fd_set),
4507         (fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
4508         (gst_poll_set_mode), (gst_poll_get_mode),
4509         (gst_poll_add_fd_unlocked), (gst_poll_add_fd),
4510         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
4511         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
4512         (gst_poll_fd_has_closed), (gst_poll_fd_has_error),
4513         (gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
4514         (gst_poll_fd_can_write), (gst_poll_wait),
4515         (gst_poll_set_controllable), (gst_poll_restart),
4516         (gst_poll_set_flushing):
4517         * gst/gstpoll.h:
4518         Add generic poll abstraction. We ideally don't want to have this in core
4519         here but in glib intead...
4520         This code will be used in various network elements and ultimately for
4521         the nanosecond precision monotonic clock (that's why it's here in core).
4522         It'll allow us to implement cancelable socket operations for windows too.
4523
4524         * tests/check/Makefile.am:
4525         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4526         (delayed_stop), (delayed_restart), (delayed_flush),
4527         (delayed_control), (gst_poll_suite):
4528         Add GstPoll unit test.
4529
4530 2008-02-25  Tim-Philipp Müller  <tim at centricular dot net>
4531
4532         * gst/gstfilter.c:
4533           Improve documentation of gst_filter_run(). Fixes #518627.
4534
4535 2008-02-23  Tim-Philipp Müller  <tim at centricular dot net>
4536
4537         * docs/README:
4538           Add a few lines about the new 'check-inspected-versions' target.
4539
4540 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
4541
4542         * tests/check/gst/gstevent.c:
4543           Add qos to the event test. Rename tcase/tsuite; is not only about
4544           custom events.
4545
4546 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
4547
4548         * plugins/elements/gstqueue.c:
4549           Ensure that buffer metadata is writeable, before modifying. Spotted by
4550           Mike.
4551
4552 2008-02-20  Stefan Kost  <ensonic@users.sf.net>
4553
4554         * plugins/elements/gstqueue.c:
4555         * plugins/elements/gstqueue.h:
4556           When dropping buffers in leaky modes, mark next buffers we sent as
4557           DISCONT.
4558
4559 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
4560
4561         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region):
4562           Also, if mmap() fails that would be a READ error, not OPEN_READ.
4563
4564 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
4565
4566         * plugins/elements/Makefile.am:
4567         * plugins/elements/gstbufferstore.c:
4568         * plugins/elements/gstbufferstore.h:
4569         * plugins/elements/gsttypefindelement.h:
4570           Remove GstBufferStore, no idea why we were still building it.
4571           It's not used anywhere and superseded by GstAdapter.
4572
4573         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4574           (gst_file_src_create_mmap):
4575         * plugins/indexers/gstfileindex.c: (gst_file_index_add_association):
4576           Printf format fixes for 64-bit integers.
4577
4578 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4579
4580         * configure.ac:
4581         Don't set GST_CACHE_DIR and allow to set it by a configure parameter.
4582         We're not in 0.8 times anymore.
4583
4584 2008-02-19  Jan Schmidt  <Jan.Schmidt@sun.com>
4585
4586         * libs/gst/check/gstcheck.c: (gst_check_drop_buffers),
4587         (gst_check_element_push_buffer_list):
4588         * libs/gst/check/gstcheck.h:
4589         Make the declaration in the header for
4590         gst_check_element_push_buffer_list match the implementation.
4591
4592         Fix up spelling, grammar and wording of the documentation in a few
4593         places, and add the Since keyword to new API functions.
4594         Use g_list_delete_link instead of g_list_remove in
4595         gst_check_drop_buffers, since it's immeasurably more efficient.
4596
4597         * tests/check/elements/fakesrc.c: (GST_START_TEST):
4598         Use new gst_check_drop_buffers function where appropriate.
4599
4600         * win32/common/libgstbase.def:
4601         * win32/common/libgstreamer.def:
4602         Add new symbols gst_collect_pads_take_buffer, 
4603         gst_collect_pads_read_buffer, gst_index_set_resolver_full to the
4604         exports
4605
4606         Changelog surgery to add API keyword to new gst_check API.
4607
4608 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4609
4610         * gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer),
4611         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra):
4612         Update pre-generated flex files with flex 2.3.34.
4613
4614 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4615
4616         * gst/gstminiobject.c:
4617           Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
4618           friendly to subclasses and not require them to know all internals
4619           of their parent class.
4620
4621 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
4622
4623         * docs/libs/gstreamer-libs-sections.txt:
4624         * libs/gst/base/gstcollectpads.c:
4625         * libs/gst/base/gstcollectpads.h:
4626           Add sub-buffer functions to collectpads. Fixes #516187.
4627           API: gst_collect_pads_take_buffer(), gst_collect_pads_read_buffer()
4628
4629 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
4630
4631         * gst/gstbuffer.c:
4632           Copy selected buffer-flags when creating subbuffers.
4633           Fixes #516395.
4634
4635 2008-02-12  Sebastian Dröge  <slomo@circular-chaos.org>
4636
4637         * gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
4638         * gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
4639         * gst/gstmessage.c: (gst_message_class_init),
4640         (gst_message_finalize):
4641         * gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
4642         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
4643         (gst_mmap_buffer_finalize):
4644         Properly chain up finalize functions to the parent class.
4645
4646 2008-02-11  Wim Taymans  <wim.taymans@collabora.co.uk>
4647
4648         Patch by: Siavash Safi <siavash dot safi at gmail dot com>
4649
4650         * gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
4651         (gst_index_set_resolver_full):
4652         * gst/gstindex.h:
4653         Add new function with option to dispose of user_data in resolver.
4654         Actually call the dispose function when finalizing the object and not
4655         just when changing the resolver/filter.
4656         API: GstIndex::gst_index_set_resolver_full()
4657
4658         * docs/gst/gstreamer-sections.txt:
4659         Add new function to docs. Fixes #515469.
4660
4661 2008-02-11  Sebastian Dröge  <slomo@circular-chaos.org>
4662
4663         * gst/gstindex.c: (gst_index_finalize):
4664         Chain up finalize to the parent class. Fixes leaking the GstObject
4665         name and other things.
4666
4667 2008-02-08  Jan Schmidt  <jan.schmidt@sun.com>
4668
4669         * configure.ac:
4670         Make DISABLE_DEPRECATED defined *only* during CVS, not during
4671         pre-releases or releases.
4672
4673         * docs/faq/gst-uninstalled:
4674         Add gst-plugins-gl
4675
4676         * docs/random/release:
4677         Change one of the steps - we only upload core & base to Gnome FTP
4678
4679 2008-02-06  Stefan Kost  <ensonic@users.sf.net>
4680
4681         * gst/gstconfig.h.in:
4682           Add 'id' for example.
4683
4684         * gst/gstpad.c:
4685         * gst/gstutils.c:
4686         * plugins/elements/gstfdsink.c:
4687           Link to signals. Doc and comment fixes.
4688
4689 2008-02-05  Tim-Philipp Müller  <tim at centricular dot net>
4690
4691         * gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
4692         * gst/gstpluginfeature.h: (GstPluginFeatureClass):
4693           Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
4694           unused and unimplemented; finally, it is plugin features, not
4695           plugins, that have ranks.
4696           
4697 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
4698
4699         * gst/gstpluginfeature.h:
4700           Clarify GstRank range docs.
4701
4702 2008-02-05  David Schleef  <ds@schleef.org>
4703
4704         * gst/gst.c: Add a separate gst_deinitialized that prevents
4705           gst_init() from being called after gst_deinit().  Fixes #509559
4706
4707 2008-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
4708
4709         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
4710         (gst_bin_class_init):
4711         * gst/gstelement.c: (gst_element_base_class_init),
4712         (gst_element_class_add_pad_template):
4713         * gst/gstpadtemplate.c: (gst_pad_template_init):
4714         * gst/gstpipeline.c: (gst_pipeline_get_type),
4715         (gst_pipeline_base_init), (gst_pipeline_class_init):
4716         * libs/gst/base/gstbasesink.c:
4717         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4718         (gst_base_src_base_init), (gst_base_src_class_init):
4719         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4720         (gst_capsfilter_class_init):
4721         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4722         (gst_fake_sink_class_init):
4723         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4724         (gst_fake_src_class_init):
4725         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4726         (gst_fd_sink_class_init):
4727         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4728         (gst_fd_src_class_init):
4729         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4730         (gst_file_sink_class_init):
4731         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4732         (gst_file_src_class_init):
4733         * plugins/elements/gstidentity.c: (gst_identity_base_init),
4734         (gst_identity_class_init):
4735         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4736         (gst_multi_queue_class_init):
4737         * plugins/elements/gstqueue.c: (gst_queue_base_init),
4738         (gst_queue_class_init):
4739         * plugins/elements/gsttee.c: (gst_tee_base_init),
4740         (gst_tee_class_init):
4741         * plugins/elements/gsttypefindelement.c:
4742         (gst_type_find_element_base_init),
4743         (gst_type_find_element_class_init):
4744         * tests/check/gst/gstelement.c: (gst_element_suite):
4745         Revert previous changes to the behaviour of GstPadTemplates, etc
4746         and the possiblity to call them in class_init as it breaks too
4747         many elements. Reopens bug #491501.
4748
4749         Should be applied again for 0.11, thus added a few FIXME 0.11 at
4750         several places.
4751
4752 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
4753
4754         * tools/gst-launch.c:
4755         Dump one graph per pipeline state-change and state change name
4756         (if GST_DEBUG_DUMP_DOT_DIR is set).
4757
4758 2008-02-04  Thijs Vermeir  <thijsvermeir@gmail.com>
4759
4760         * gst/gstpad.c:
4761         * tests/check/gst/gstpad.c:
4762         Be sure that we have a new copy of the caps and not
4763         reffed caps from a template
4764
4765 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
4766
4767         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
4768         * gst/gstpipeline.c: (gst_pipeline_get_type),
4769         (gst_pipeline_class_init):
4770         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
4771         (gst_base_sink_class_init):
4772         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4773         (gst_base_src_class_init):
4774         * libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
4775         (gst_base_transform_class_init):
4776         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4777         (gst_collect_pads_class_init):
4778         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
4779         * libs/gst/net/gstnettimeprovider.c:
4780         (gst_net_time_provider_base_init),
4781         (gst_net_time_provider_class_init):
4782         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4783         (gst_capsfilter_class_init):
4784         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4785         (gst_fake_sink_class_init):
4786         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4787         (gst_fake_src_class_init):
4788         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4789         (gst_fd_sink_class_init):
4790         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4791         (gst_fd_src_class_init):
4792         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4793         (gst_file_sink_class_init):
4794         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4795         (gst_file_src_class_init):
4796         * plugins/elements/gstidentity.c: (gst_identity_base_init),
4797         (gst_identity_class_init):
4798         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4799         (gst_multi_queue_class_init):
4800         * plugins/elements/gstqueue.c: (gst_queue_base_init),
4801         (gst_queue_class_init):
4802         * plugins/elements/gsttee.c: (gst_tee_base_init),
4803         (gst_tee_class_init):
4804         * plugins/elements/gsttypefindelement.c:
4805         (gst_type_find_element_base_init),
4806         (gst_type_find_element_class_init):
4807         Don't use base_init where not absolutely necessary. For example it's
4808         not necessary anymore for adding pad templates or setting element
4809         details.
4810
4811         Leave empty base_init functions in several places as GST_BOILERPLATE
4812         still defines and uses them.
4813
4814 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
4815
4816         * gst/gstelement.c: (gst_element_base_class_init),
4817         (gst_element_class_add_pad_template):
4818         * gst/gstpadtemplate.c:
4819         Make it possible (and recommended) to set element details and add
4820         pad templates in the class_init functions by copying the details/pad
4821         templates in GstElement's base_init.
4822
4823         Also make it possible to replace existing pad templates by adding
4824         a new one with the same name. This was done in a hackish fashion
4825         in same elements before already.
4826
4827         Don't reference pad templates that are added a second time. A
4828         new pad template has a refcount of one and is not floating anymore
4829         and to be owned by the element's class. Make this more explicit by
4830         mentioning it in the docs of gst_element_class_add_pad_template().
4831
4832         These changes are backwards compatible. Fixes bug #491501.
4833
4834         * tests/check/gst/gstelement.c:
4835         Add unit test for setting element details, adding pad templates and
4836         replacing them in a subclass.
4837
4838 2008-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
4839
4840         * tools/gst-inspect.c: (print_interfaces),
4841         (print_element_properties_info), (print_pad_info),
4842         (print_signal_info), (print_element_info):
4843         Fix a few memory leaks.
4844
4845 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
4846
4847         * docs/libs/gstreamer-libs-sections.txt:
4848         * libs/gst/check/gstcheck.c:
4849         * libs/gst/check/gstcheck.h:
4850         Add more functions for unit testing: gst_check_drop_buffers,
4851         gst_check_caps_equal, gst_check_element_push_buffer_list,
4852         gst_check_element_push_buffer
4853         API: gst_check_drop_buffers
4854         API: gst_check_caps_equal
4855         API: gst_check_element_push_buffer_list
4856         API: gst_check_element_push_buffer
4857
4858 2008-02-01  Julien Moutte  <julien@fluendo.com>
4859
4860         * docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
4861         * gst/gstindex.c: (gst_index_class_init), (gst_index_free_writer),
4862         (gst_index_finalize), (gst_index_entry_free),
4863         (gst_index_add_association): Fix memory leaks.
4864         * gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
4865         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
4866         (gst_mem_index_free_format), (gst_mem_index_free_id),
4867         (gst_mem_index_finalize): Fix memory leaks.
4868         * win32/common/config.h: Updated to CVS HEAD.
4869
4870 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
4871
4872         * docs/README:
4873           Some more details about how the plugin docs works.
4874
4875         * docs/plugins/gstreamer-plugins-sections.txt:
4876           Whitespace cleanup.
4877
4878 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
4879
4880         * gst/parse/grammar.tab.pre.c:
4881         * gst/parse/grammar.tab.pre.h:
4882         * gst/parse/grammar.y:
4883         * gst/parse/lex._gst_parse_yy.pre.c:
4884           Add delayed set-property. This allows to set properties on dynamicaly
4885           created objects (pads in videomxer). Fixes #509391.
4886
4887 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
4888
4889         * gst/gstutils.c:
4890         Check if caps are not NULL (fix bug #510194)
4891
4892 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
4893
4894         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop),
4895         (gst_base_sink_get_position_paused):
4896         Add fixme regarding EOS in pull mode.
4897         Fix position reporting in PAUSED for negative rates.
4898
4899 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
4900
4901         * gst/gstminiobject.c: (gst_mini_object_replace):
4902         When replacing a miniobject, do a quick equality check first so that we
4903         can avoid a ref/unref pair.
4904
4905 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
4906
4907         * docs/design/part-synchronisation.txt:
4908         Update some docs.
4909
4910         * docs/plugins/Makefile.am:
4911         * docs/plugins/gstreamer-plugins-docs.sgml:
4912         * docs/plugins/gstreamer-plugins-sections.txt:
4913         * plugins/elements/gstmultiqueue.c:
4914         Add multiqueue to the docs.
4915
4916 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4917
4918         * configure.ac:
4919           Back to CVS
4920
4921 === release 0.10.17 ===
4922
4923 2008-01-30  Jan Schmidt <jan.schmidt@sun.com>
4924
4925         * configure.ac:
4926           releasing 0.10.17, "Due Negligence"
4927
4928 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4929
4930         * gst/gstutils.c:
4931         Revert caps != NULL check temporarily for 0.10.17 release.
4932
4933 2008-01-30  Thijs Vermeir  <thijsvermeir@gmail.com>
4934
4935         * gst/gstutils.c:
4936         Check if caps are not NULL (fix bug #510194)
4937
4938 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4939
4940         * gst/gstutils.c:
4941         Fix compilation on systems that have posix timers but no
4942         monotonic clock.
4943         Fixes: #512715
4944         Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
4945         dot net>
4946
4947 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4948
4949         * tools/gst-inspect.c:
4950         Revert previous commit in preparation for an impromptu 0.10.17 release
4951
4952 2008-01-29  Sebastian Dröge  <slomo@circular-chaos.org>
4953
4954         * tools/gst-inspect.c: (print_interfaces),
4955         (print_element_properties_info), (print_pad_info),
4956         (print_signal_info), (print_element_info):
4957         Fix a few memory leaks.
4958
4959 2008-01-28  Jan Schmidt  <jan.schmidt@sun.com>
4960
4961         * configure.ac:
4962         Back to CVS
4963
4964 === release 0.10.16 ===
4965
4966 2008-01-28  Jan Schmidt <thaytan@noraisin.net>
4967
4968         * configure.ac:
4969           releasing 0.10.16, "Special Dispensation"
4970
4971 2008-01-24  Tim-Philipp Müller  <tim at centricular dot net>
4972
4973         * configure.ac:
4974           Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for
4975           _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes configure
4976           not fail when trying to crosscompile on OpenEmbedded (#511750).
4977
4978 2008-01-20  Sebastian Dröge  <slomo@circular-chaos.org>
4979
4980         * docs/manuals.mak:
4981         Use $(MAKE) instead of make to fix the build if GNU make is
4982         called different. Fixes bug #510747.
4983
4984 2008-01-20  Tim-Philipp Müller  <tim at centricular dot net>
4985
4986         * gst/gstplugin.c: (_gst_plugin_initialize):
4987           Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
4988           again, which I broke two commits ago when changing the API
4989           of gst_plugin_register_static(): the g_list_foreach() in
4990           _gst_plugin_register_static still assumed the old function
4991           signature and would therefore fail (re-fixes #510187).
4992
4993         * gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
4994           (_gst_plugin_register_static), (gst_plugin_register_static):
4995           Revert the (technically correct) change to call g_thread_init() from
4996           the pre-main() constructor. This will break programs which call
4997           g_thread_init() without an if (!g_thread_supported()) guard in their
4998           main function. We could just blame it on GLib or the application, but
4999           it's probably best to just avoid this altogether and simply not use
5000           any GLib functions here and use plain old malloc() with a simple
5001           array to store the plugins to register later when gst_init() is
5002           finally called (re-fixes #510187).
5003
5004         * tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
5005           (GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
5006           (plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
5007           (GST_START_TEST), (gst_plugin_suite):
5008           Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
5009           works.
5010
5011 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
5012
5013         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
5014           Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
5015           This makes gtk-doc complain, but results in slightly better
5016           compiler errors. The old _gst_plugin_register_static() is
5017           still guarded, so there'll be a compiler warning about that
5018           instead. Fixes #510187 too.
5019
5020 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
5021
5022         * gst/gst.c: (init_post):
5023         * gst/gstplugin.c: (_gst_plugin_register_static),
5024           (gst_plugin_register_static), (_gst_plugin_initialize):
5025         * gst/gstplugin.h: (GstPluginFilter):
5026           Change API of gst_plugin_register_static() to not take
5027           a GstPluginDesc, but rather just take all the arguments
5028           in a GstPluginDesc directly. This is more intuitive and
5029           avoids certain mistakes when porting code from
5030           GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
5031           Fixes #510187.
5032
5033         * tests/check/gst/gstplugin.c:
5034           Fix up for changed API.
5035
5036 2008-01-17  Thomas Vander Stichele  <thomas at apestaart dot org>
5037
5038         * docs/faq/legal.xml:
5039           Update FAQ, Totem actually has an exception these days.
5040
5041 2008-01-14  Jan Schmidt  <jan.schmidt@sun.com>
5042
5043         * win32/common/libgstreamer.def:
5044         Add new API declarations
5045
5046 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
5047
5048         * gst/gstminiobject.c:
5049           Spelling fixes for the API docs.
5050
5051 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
5052
5053         * libs/gst/base/gstbasetransform.c:
5054           Fix long property description for QoS.
5055
5056 2008-01-12  Jan Schmidt  <Jan.Schmidt@sun.com>
5057
5058         * gst/gst.c:
5059         _gst_trace_on is already provided by gsttrace.h, no need to declare
5060         it ourselves.
5061
5062         * docs/libs/gstreamer-libs-sections.txt:
5063         Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
5064         and remove strange tcase_add_test which is outputting a warning.
5065
5066         * libs/gst/check/gstcheck.c:
5067         * libs/gst/check/gstcheck.h:
5068         Properly declare 'buffers', 'check_cond', 'check_mutex' extern
5069         and define them in gstcheck.c instead of having every .c file whcih
5070         includes gstcheck.h be defining its own copy and relying on symbol
5071         interposing to marry them all, which doesn't work on Solaris.
5072
5073         * tests/check/elements/identity.c: (GST_START_TEST):
5074         Don't define 'buffers' locally, it comes from libgstcheck.
5075
5076         * tests/check/generic/sinks.c: (send_buffer):
5077         Fix type of variable (GstFlowReturn, not GstStateChangeReturn)
5078
5079         * tests/check/gst/gststructure.c: (GST_START_TEST):
5080         * tests/check/gst/gstsystemclock.c: (GST_START_TEST):
5081         * tests/check/gst/gstutils.c: (GST_START_TEST):
5082         * tests/check/gst/gstvalue.c: (GST_START_TEST):
5083         Add a bunch of casts to make various constants fit the types
5084         they're being assigned to.
5085
5086 2008-01-10  Stefan Kost  <ensonic@users.sf.net>
5087
5088         * gst/gstchildproxy.c:
5089           Improve docs and add some ideas for making this more general-purpose.
5090
5091 2008-01-10  Tim-Philipp Müller  <tim at centricular dot net>
5092
5093         * gst/gst_private.h: (GST_CAT_TYPES):
5094           Add GST_CAT_TYPES, for consistency, and so that the other
5095           debug categories don't make fun of it. Spotted by Saur on IRC.
5096
5097 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
5098
5099         * gst/parse/Makefile.am:
5100           Move types.h from EXTRA_DIST to noinst_HEADERS.
5101
5102 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
5103
5104         * autogen.sh:
5105           Add -Wno-portability to the automake parameters to stop warnings
5106           about GNU make extensions being used. We require GNU make in almost
5107           every Makefile anyway.
5108
5109         * configure.ac:
5110           Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
5111           at the same time is required for per target flags.
5112
5113 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5114
5115         * gst/gstmacros.h:
5116           Include glib/gmacros.h for G_BEGIN_DECLS. Check if
5117           __GNUC__ is defined before using it.
5118
5119 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5120
5121         * docs/gst/gstreamer-sections.txt:
5122         * gst/gst.c: (init_post):
5123         * gst/gstplugin.c: (_gst_plugin_register_static),
5124           (gst_plugin_register_static), (_gst_plugin_initialize),
5125           (gst_plugin_register_func):
5126         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
5127           API: add gst_plugin_register_static() and deprecate
5128           GST_PLUGIN_DEFINE_STATIC, since it's not portable
5129           (#498924).
5130           Also, in _gst_plugin_register_static(), make sure to call
5131           g_thread_init() before calling GLib functions such as
5132           g_list_append() if we're not initialised yet, since that
5133           may lead to random crashes with older GSlice/GLib versions.
5134
5135         * tests/check/gst/gstplugin.c:
5136           Adapt unit test to above changes.
5137
5138 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5139
5140         * gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
5141         * gst/gstcaps.c: (gst_caps_to_string):
5142         * gst/gststructure.c: (GST_ASCII_IS_STRING),
5143           (priv_gst_structure_append_to_gstring), (gst_structure_to_string):
5144           Yet another gratuitous GString micro-optimisation: add a (private)
5145           function that serialises a structure appending to an existing
5146           GString, so that when we serialise caps we don't need to alloc+free
5147           a throwaway GString for each structure (each of which also entailing
5148           multiple reallocs on the way); also use g_string_sized_new() in
5149           various places with an approximate string length to avoid reallocs
5150           within GString. See #500143.
5151
5152 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5153
5154         * gst/gststructure.c: (gst_structure_id_set_value):
5155           Always check UTF-8 conformance of structure strings and not only
5156           if the debugging system is enabled; reasoning: the behaviour of
5157           the actual code shouldn't really change depending on whether the
5158           debugging system is enabled or not (#508291).
5159
5160 2008-01-09  Stefan Kost  <ensonic@users.sf.net>
5161
5162         * Makefile.am:
5163           Remove old coverage target in favour of "make lcov".
5164
5165 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
5166
5167         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
5168         (gst_base_src_loop):
5169         The start segment for reverse playback goes from start to last_stop.
5170
5171 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
5172
5173         Patch by: Peter Kjellerstedt <pkj axis com>
5174
5175         * gst/gstclock.h:
5176         Cast the results from the timeval/spec_to_time macros to what the
5177         docs say it casts to, a GstClockTime. fixes #508175.
5178
5179 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
5180
5181         * gst/gstbuffer.c:
5182         Update some comments.
5183
5184         * tools/gst-inspect.c: (print_element_properties_info):
5185         Improve printing of flags.
5186
5187 2008-01-08  Tim-Philipp Müller  <tim at centricular dot net>
5188
5189         * libs/gst/base/gstbasetransform.c:
5190           (gst_base_transform_transform_size):
5191           Print element name with g_warning() if there's a problem
5192           with the unit size.
5193
5194 2008-01-07  David Schleef  <ds@schleef.org>
5195
5196         Patch by: Damien Lespiau <damien.lespiau@gmail.com>
5197
5198         * libs/gst/controller/gstcontroller.h:
5199         * libs/gst/controller/gstcontrolsource.h:
5200         * libs/gst/controller/gstinterpolationcontrolsource.h:
5201         * libs/gst/controller/gstlfocontrolsource.h:
5202         * libs/gst/dataprotocol/dataprotocol.h:
5203           Fix empty prototypes.  Fixes bug #507957.
5204
5205 2008-01-07  David Schleef  <ds@schleef.org>
5206
5207         * docs/faq/dependencies.xml: Fix typo.
5208
5209 2008-01-07  Wim Taymans  <wim.taymans@collabora.co.uk>
5210
5211         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek),
5212         (gst_base_src_loop):
5213         Don't update the last_stop position in do_seek, that's the position we
5214         did a seek to.
5215         Read backwards when we have a negative rate.
5216
5217         * tests/check/elements/filesrc.c: (event_func), (wait_eos),
5218         (setup_filesrc), (cleanup_filesrc), (GST_START_TEST),
5219         (filesrc_suite):
5220         Add check for reverse reading.
5221
5222 2008-01-07  Tim-Philipp Müller  <tim at centricular dot net>
5223
5224         Patch by: Alexis Ballier <aballier at gentoo org>
5225
5226         * tests/check/gst/gstabi.c:
5227         * tests/check/gst/struct_ppc64.h:
5228         * tests/check/libs/libsabi.c:
5229         * tests/check/libs/struct_ppc64.h:
5230           Decide which header to include based on the userland ABI target
5231           and not the kernel/cpu. Fix up structure sizes of ppc64 header
5232           for 64-bit userland (#503590).  Might need something similar for
5233           x86 too.
5234
5235 2008-01-05  Tim-Philipp Müller  <tim at centricular dot net>
5236
5237         * gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
5238           Log the reason why fopen fails in addition to the fact that it failed.
5239           
5240 2008-01-04  Sebastian Dröge  <slomo@circular-chaos.org>
5241
5242         * gst/parse/parse.l:
5243         Use "%option never-interactive" to prevent useless calls to isatty()
5244         on every input when parsing. Also use "%option noinput" to not define
5245         the static input/yyinput functions which we don't use anyway. This
5246         removes a compiler warning with gcc 4.3 and saves some bytes in the
5247         library.
5248         
5249         * gst/parse/lex._gst_parse_yy.pre.c:
5250         Regenerated for the above change.
5251
5252 2008-01-04  Wim Taymans  <wim.taymans@collabora.co.uk>
5253
5254         * gst/gstpad.c: (fixate_value):
5255         Don't crash when trying to fixate and empty list.
5256         Fixes #506643.
5257
5258 2008-01-03  Sebastian Dröge  <slomo@circular-chaos.org>
5259
5260         * docs/faq/gst-uninstalled:
5261         Clarify the comments to make the usage of this script and what it
5262         does easier to understand.
5263
5264 2008-01-01  Thijs Vermeir  <thijsvermeir@gmail.com>
5265
5266         * tools/gst-plot-timeline.py:
5267         Add more options to gst-plot-timeline
5268
5269 2007-12-31  Wim Taymans  <wim.taymans@collabora.co.uk>
5270
5271         * docs/design/part-synchronisation.txt:
5272         Some more info on how the stream_time in GstBaseSink is done.
5273
5274 2007-12-30  Tim-Philipp Müller  <tim at centricular dot net>
5275
5276         * tests/check/generic/sinks.c: (gst_sinks_suite):
5277           Put back the tcase_set_timeout(), apparently it's needed after
5278           all; fix it up in a way that makes things work with valgrind too.
5279
5280 2007-12-30  Thijs Vermeir  <thijsvermeir@gmail.com>
5281
5282         * gst/gstdebugutils.c:
5283           Add warning when failed to open file for writing.
5284
5285 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
5286
5287         Based on patch by: Laurent Glayal  <spglegle yahoo fr>
5288
5289         * gst/gstvalue.c: (gst_value_is_fixed):
5290           Optimisation: bail out of the loop as early as possible (#500143).
5291
5292 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
5293
5294         * gst/gstcaps.c: (gst_caps_to_string):
5295         * gst/gstinfo.c: (gst_debug_construct_term_color):
5296         * gst/gstparse.c: (gst_parse_launchv):
5297         * gst/gstutils.c: (gst_util_dump_mem):
5298         * gst/gstvalue.c: (gst_value_serialize_any_list),
5299           (gst_value_transform_any_list_string):
5300           Bunch of gratuitous nano-optimisations.
5301
5302 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
5303
5304         * tests/check/generic/sinks.c: (async_done_func),
5305           (async_done_eos_func):
5306           Fix leak in unit test (bus sync handler must unref the message
5307           if it returns GST_BUS_DROP). Don't fiddle with the default test
5308           timeout, this is smaller than the current preconfigured value
5309           via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
5310           because it overrides the value specified in CK_DEFAULT_TIMEOUT.
5311
5312 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
5313
5314         Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5315
5316         * configure.ac:
5317         Check for stdio_ext.h for the filesink changes.
5318
5319         * plugins/elements/gstfilesink.c: (buffer_mode_get_type),
5320         (gst_file_sink_class_init), (gst_file_sink_init),
5321         (gst_file_sink_dispose), (gst_file_sink_set_property),
5322         (gst_file_sink_get_property), (gst_file_sink_open_file),
5323         (gst_file_sink_close_file):
5324         * plugins/elements/gstfilesink.h:
5325         Add two properties to control the buffering mode and size.
5326         API: GstFileSink::buffer-mode
5327         API: GstFileSink::buffer-size
5328         Fixes #500150.
5329
5330 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
5331
5332         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
5333         Add some more docs to explain why a FIXME was wrongly added. 
5334
5335 2007-12-22  Sebastian Dröge  <slomo@circular-chaos.org>
5336
5337         * gst/gstobject.c:
5338           Fix typo in the gst_object_{ref,unref} documentation.
5339
5340 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
5341
5342         * tests/check/libs/controller.c:
5343         * tests/check/libs/typefindhelper.c:
5344         * tests/check/pipelines/parse-launch.c:
5345           Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
5346           going to be deprecated (see #498924).
5347
5348 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
5349
5350         * gst/gsttypefind.c: (gst_type_find_register):
5351           Make gst_type_find_register work for static typefind functions,
5352           ie. allow passing plugin == NULL (prerequisite for #498924).
5353
5354         * gst/gstelementfactory.c: (gst_element_register):
5355           Small docs addition.
5356
5357 2007-12-21  Wim Taymans  <wim.taymans@collabora.co.uk>
5358
5359         * gst/gstpad.c: (gst_pad_dispose):
5360         Really unlink the peer pad instead of setting the peer pointer to NULL
5361         when we dispose the pad.
5362         This correctly calls the unlink functions and makes sure that the peer
5363         does not have a handle to invalid memory. See #504671.
5364
5365         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
5366         Add testsuite for above case.
5367
5368 2007-12-20  Tim-Philipp Müller  <tim at centricular dot net>
5369
5370         Patch by: Peter Kjellerstedt <pkj axis com>
5371
5372         * libs/gst/check/gstcheck.h:
5373           Fix detection of the check version we're compiling against (would
5374           otherwise break if check goes v0.10.0); correctly report the
5375           name of the failed test again in case of failure, instead of
5376           just 'tf' (fixes #504499).
5377
5378 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
5379
5380         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
5381         (gst_base_src_get_range), (gst_base_src_pad_get_range),
5382         (gst_base_src_loop), (gst_base_src_set_flushing),
5383         (gst_base_src_change_state):
5384         Allow sending EOS to the source to make it send out an EOS event from
5385         the streaming thread.
5386         Update docs and deprecate the old NULL/READY shutdown method.
5387
5388         * tests/check/libs/basesrc.c: (GST_START_TEST),
5389         (gst_basesrc_suite):
5390         Add unit test for controlled shutdown.
5391
5392 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
5393
5394         * docs/design/part-synchronisation.txt:
5395         Small updates.
5396
5397         * gst/gstsegment.c: (gst_segment_set_seek),
5398         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
5399         (gst_segment_to_running_time):
5400         The seek format can be different from the segment format when the start
5401         and stop values are not to be updated, when we only do a rate change for
5402         example.
5403
5404         * tests/check/gst/gstsegment.c: (GST_START_TEST),
5405         (gst_segment_suite):
5406         Add a testcase for the rate-only seeks, checking that the format is
5407         correctly ignored when start and stop are not updated.
5408
5409 2007-12-18  Sebastian Dröge  <slomo@circular-chaos.org>
5410
5411         Patch by: Matthias Bolte <photon at mail dot upb dot de>
5412
5413         * win32/vs8/grammar.vcproj:
5414         * win32/vs8/libgstcontroller.vcproj:
5415         * win32/vs8/libgstreamer.vcproj:
5416         Fix compilation with VS8 and include some missing files.
5417
5418 2007-12-18  Tim-Philipp Müller  <tim at centricular dot net>
5419
5420         * gst/gsttaglist.c:
5421           Small docs addition: mention that the strings returned by
5422           gst_tag_list_get_string*() are in UTF-8 encoding.
5423
5424 2007-12-17  Tim-Philipp Müller  <tim at centricular dot net>
5425
5426         * Makefile.am:
5427           The check-exports stuff moved to common/win32.mak, so include that.
5428
5429 2007-12-17  Wim Taymans  <wim.taymans@collabora.co.uk>
5430
5431         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
5432         (gst_base_src_perform_seek), (gst_base_src_get_range),
5433         (gst_base_src_set_playing), (gst_base_src_change_state):
5434         Make _wait_playing() not check any variables so that we can call this
5435         function from subclasses. Move the checks elsewhere similar to
5436         _wait_preroll() in basesink.
5437         Add some debugging.
5438         Only signal the LIVE cond when we are going back to PLAYING.
5439
5440 2007-12-16  Tim-Philipp Müller  <tim at centricular dot net>
5441
5442         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
5443           Use g_remove() and g_rename(). Check result of g_rename(), and
5444           don't leak the open file descriptor if we error out when writing.
5445
5446         * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
5447           Must check the return value of close() after writing out the new
5448           registry file.  Sometimes write problems such as out-of-diskspace
5449           are only reported when the file is closed and not already during
5450           the write.  This may have caused partial/broken registry files in
5451           some rare circumstances. Should fix #503675.
5452
5453 2007-12-16  Edward Hervey  <edward.hervey@collabora.co.uk>
5454
5455         * docs/gst/.cvsignore:
5456         * docs/libs/.cvsignore:
5457         * docs/plugins/.cvsignore:
5458         Ignore files generated by new common/* modifications
5459
5460 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5461
5462         * win32/common/libgstbase.def:
5463           Yes, you can also have a <TAB> if you want.
5464
5465 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5466
5467         * win32/common/libgstbase.def:
5468           Add new basetransform API to win export file.
5469
5470 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5471
5472         * tests/check/gst/gstbin.c:
5473           Adjust the test to the refcount change two days ago.
5474
5475 2007-12-14  David Schleef  <ds@schleef.org>
5476
5477         * docs/faq/getting.xml: Fix typo.
5478
5479 2007-12-14  Sebastian Dröge  <slomo@circular-chaos.org>
5480
5481         * docs/libs/gstreamer-libs-sections.txt:
5482         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
5483           (gst_base_transform_prepare_output_buffer),
5484           (gst_base_transform_set_gap_aware):
5485         * libs/gst/base/gstbasetransform.h:
5486           API: Add gst_base_transform_set_gap_aware() to control whether
5487           the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
5488           get buffers with this flag at all. Fixes #503231.
5489
5490 2007-12-13  Stefan Kost  <ensonic@users.sf.net>
5491
5492         * libs/gst/base/gstbasesink.c:
5493         * libs/gst/base/gstbasesrc.c:
5494         * libs/gst/base/gstbasetransform.c:
5495           Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
5496           thread. Correct log message in gstbasesrc.c.
5497
5498 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
5499
5500         * gst/gstutils.c: (element_find_unconnected_pad):
5501           Fix possible compiler warning (#503417).
5502
5503 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
5504
5505         * gst/gstobject.c: (gst_object_dispatch_properties_changed):
5506           Don't use GST_CAT_EVENT here for logging, it makes no sense.
5507
5508 2007-12-13  Sebastian Dröge  <slomo@circular-chaos.org>
5509
5510         * tools/gst-inspect.c: (print_element_properties_info):
5511           Add support for GstFraction properties.
5512
5513 2007-12-12  Tim-Philipp Müller  <tim at centricular dot net>
5514
5515         * Makefile.am:
5516           Add check-exports target and run it as part of 'make check'
5517           (see #499140 and #493983).
5518
5519         * gst/gst_private.h:
5520         * gst/gstelementfactory.h:
5521         * gst/gstghostpad.c: (gst_proxy_pad_class_init):
5522         * gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
5523           (_priv_gst_in_valgrind):
5524         * gst/gstinfo.h: (GstLogFunction):
5525         * gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
5526           (gst_type_find_register):
5527         * gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
5528           (gst_type_find_factory_get_type):
5529         * libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
5530           (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
5531           (gst_controller_new_valist), (gst_controller_new_list),
5532           (_gst_controller_dispose), (_gst_controller_class_init):
5533         * libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
5534         * libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
5535           (GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
5536           (gst_object_get_controller), (gst_object_set_controller),
5537           (gst_object_suggest_next_sync), (gst_object_sync_values),
5538           (gst_object_set_control_source), (gst_object_get_control_source),
5539           (gst_object_get_value_arrays), (gst_object_get_value_array),
5540           (gst_object_get_control_rate), (gst_object_set_control_rate):
5541         * libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
5542         * libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
5543           Make some functions that should be static static; rename some
5544           private symbols so that they don't get exported; add some FIXME
5545           comments so we can move accidentally exported functions into
5546           our private section in 0.11.
5547
5548         * win32/common/libgstreamer.def:
5549           Add gst_utils_get_timestamp().
5550
5551 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
5552
5553         * gst/gstvalue.c:
5554         * gst/gstvalue.h:
5555           Add more missing "Since:" tags to docs.
5556
5557 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
5558
5559         * gst/gstutils.c:
5560           Add mising "Since:" to docs.
5561
5562 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5563
5564         * gst/gstplugin.c:
5565           Include "glib-compat-private.h" to fix the build on system with
5566           glib < 2.10. Fixes #503131.
5567
5568 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5569
5570         * gst/gstutils.c:
5571         * gst/gstutils.h:
5572           Actually its not PURE as it gets the time from elsewhere.
5573
5574 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5575
5576         * docs/gst/gstreamer-sections.txt:
5577         * gst/gstclock.h:
5578         * gst/gstdebugutils.c:
5579         * gst/gstinfo.c:
5580         * gst/gstutils.c:
5581         * gst/gstutils.h:
5582         * libs/gst/base/gstbasesink.c:
5583         * tools/gst-launch.c:
5584           Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
5585           uses as we don't have HAVE_POSIX_TIMERS in public headers.
5586           Thanks Tim for spotting.
5587           API: gst_util_get_timestamp
5588
5589 2007-12-09  Sebastian Dröge  <slomo@circular-chaos.org>
5590
5591         * configure.ac:
5592           Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.
5593
5594 2007-12-08  Tim-Philipp Müller  <tim at centricular dot net>
5595
5596         * gst/gststructure.c: (gst_structure_validate_name),
5597           (gst_structure_new_valist), (gst_structure_parse_value),
5598           (gst_structure_from_string):
5599           Don't crash in _from_string() if the structure name is not valid
5600           (fixes #501560).  Allow structure names to start with a number
5601           again (this apparently broke the ubuntu codec installer).
5602
5603         * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
5604           (GST_START_TEST):
5605           Add unit test for the crash; update unit tests for new behaviour.
5606
5607 2007-12-03  Wim Taymans  <wim.taymans@gmail.com>
5608
5609         * gst/gstutils.c:
5610         Clarify gst_element_get_compatible_pad() documentation.
5611         Fixes #500919.
5612
5613 2007-12-02  Sebastian Dröge  <slomo@circular-chaos.org>
5614
5615         * tests/check/Makefile.am:
5616           Don't forget to dist {gst,libs}/struct_hppa.h.
5617
5618 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5619
5620         * libs/gst/base/gstbasesink.c:
5621           Use new API to get elapsed time.
5622
5623 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5624
5625         * gst/gstdebugutils.c:
5626         * gst/gstinfo.c:
5627           Fix wrong order of args in GST_CLOCK_DIFF() usage.
5628
5629         * tools/gst-launch.c:
5630           Use new API to get elapsed time.
5631
5632 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5633
5634         * docs/gst/gstreamer-sections.txt:
5635         * gst/gstclock.h:
5636         * gst/gstdebugutils.c:
5637         * gst/gstinfo.c:
5638           Rename new API + ChangeLog surgery to remove old name from last entry..
5639
5640 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5641
5642         * docs/gst/gstreamer-sections.txt:
5643         * gst/gstclock.h:
5644         * gst/gstdebugutils.c:
5645         * gst/gstinfo.c:
5646           Now hide the different clock stuff behind a macro.
5647
5648 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5649
5650         * configure.ac:
5651         * gst/gstdebugutils.c:
5652         * gst/gstinfo.c:
5653           Apply the posix-timer check from #361155. Conditionally use the posix
5654           timer for logging. This gives better timestamp precission, less
5655           overhead and no ntp jitter.
5656
5657 2007-11-28  Sebastian Dröge  <slomo@circular-chaos.org>
5658
5659         * gst/gstminiobject.c: (gst_mini_object_get_type),
5660         (gst_mini_object_class_init), (gst_mini_object_copy_default),
5661         (gst_mini_object_finalize), (gst_mini_object_copy),
5662         (gst_mini_object_is_writable), (gst_mini_object_make_writable),
5663         (gst_mini_object_replace), (param_mini_object_validate),
5664         (gst_param_spec_mini_object_get_type):
5665         Some cleanup and checking against invalid function parameters.
5666
5667 2007-11-28  Wim Taymans  <wim.taymans@gmail.com>
5668
5669         * docs/gst/gstreamer-sections.txt:
5670         * gst/gstclock.h:
5671         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
5672         (gst_systemclock_suite):
5673         Start merging in the easy bits of #361155, the monotonic clock patch.
5674         This one adds a few handy macros with docs and a testsuite.
5675
5676 2007-11-27  Wim Taymans  <wim.taymans@gmail.com>
5677
5678         * plugins/elements/gstfilesink.c: (gst_file_sink_event):
5679         Be a bit smarter when seeking, like, don't try to do a seek when it's
5680         not needed. This avoids errors when the file is not seekable.
5681         Fixes #499771.
5682
5683 2007-11-26  Stefan Kost  <ensonic@users.sf.net>
5684
5685         * docs/gst/gstreamer-docs.sgml:
5686         * docs/gst/gstreamer-sections.txt:
5687         * docs/gst/gstreamer.types.in:
5688         * gst/Makefile.am:
5689         * gst/gst.h:
5690         * gst/gstpreset.c:
5691         * gst/gstpreset.h:
5692         * plugins/elements/gstqueue.c:
5693           Due to popular request remove preset interface again. :-(.
5694
5695 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5696
5697         * tools/gst-inspect.c:
5698           Print 'default value' for enums and flags too.
5699
5700 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5701
5702         * docs/random/ensonic/profiling.txt:
5703           More ideas.
5704
5705         * gst/gstbin.c:
5706           Fix typo and give better log output.
5707
5708         * gst/gstdebugutils.c:
5709         * gst/gstdebugutils.h:
5710           More ideas, make graphs a bit smaller and fix param name in macro.
5711
5712 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5713
5714         * gst/gstpreset.c:
5715           Try harder to use the return value from fgets().
5716
5717 2007-11-21  Stefan Kost  <ensonic@users.sf.net>
5718
5719         * gst/gstpreset.c:
5720           For theses two fgets we handle the error below.
5721
5722 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
5723
5724         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
5725         Only send upstream events upstream. Fixes #498746.
5726
5727 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
5728
5729         Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5730
5731         * plugins/elements/gstidentity.c: (gst_identity_class_init),
5732         (gst_identity_init), (gst_identity_transform_ip),
5733         (gst_identity_set_property), (gst_identity_get_property):
5734         * plugins/elements/gstidentity.h:
5735         Add property to disable handoff signal emission. Fixes #498694.
5736         API: GstIdentity::signal-handoffs
5737
5738 2007-11-21  Julien Moutte  <julien@fluendo.com>
5739
5740         * docs/faq/gst-uninstalled: Yet another missing library for the
5741         uninstalled script (fft)
5742
5743 2007-11-21  Jan Schmidt  <jan.schmidt@sun.com>
5744
5745         * docs/faq/developing.xml:
5746         Add a question about how to submit new translations.
5747
5748         * docs/random/release:
5749         Update the contact email address for the Translation Project
5750
5751         * plugins/elements/gstfdsrc.c:
5752         The parent_class for fdsrc is pushsrc, not GstElement.
5753
5754 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
5755
5756         * gst/gstpreset.c:
5757           Plug a leak and fix saving.
5758
5759 2007-11-20  Sebastian Dröge  <slomo@circular-chaos.org>
5760
5761         * docs/gst/gstreamer-sections.txt:
5762         Add new gst_preset__get_property_names() function to the docs
5763         to fix the build.
5764
5765 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
5766
5767         * gst/gstpreset.c:
5768         * gst/gstpreset.h:
5769           Change _get_preset_names API to return a strv with copies. Add
5770           _get_property_names to allow implementations to filter and provide
5771           good default implementation.
5772
5773 2007-11-20  Julien MOUTTE  <julien@moutte.net>
5774
5775         * docs/faq/gst-uninstalled: Add another library to the uninstalled
5776         script (sdp).
5777
5778 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
5779
5780         * gst/gstpreset.c:
5781           More cleanups, docs, and TODOs from comments that now slowly come in.
5782
5783 2007-11-19  Julien MOUTTE  <julien@moutte.net>
5784
5785         * docs/faq/gst-uninstalled: Add new base libraries in the LD 
5786         search path.
5787
5788 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
5789
5790         * gst/gstpreset.c:
5791           Fix bogus warning and make the property type specific code more
5792           similar.
5793
5794 2007-11-19  Julien MOUTTE  <julien@moutte.net>
5795
5796         * gst/gstpreset.c: (gst_preset_default_create_preset): Make
5797         it build on OS X.
5798
5799 2007-11-19  Wim Taymans  <wim.taymans@gmail.com>
5800
5801         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5802         (gst_bin_add_func), (gst_bin_remove_func),
5803         (gst_bin_change_state_func), (gst_bin_continue_func):
5804         Change email, cleanups add some more debug and comments.
5805         Also set bus and clock on new elements when the pipeline was in error.
5806
5807 2007-11-18  Stefan Kost  <ensonic@users.sf.net>
5808
5809         * gst/gstbin.c:
5810         * gst/gstdebugutils.c:
5811           Fix build with --disable-gst-debug. Fixes #497859.
5812           Spotted by Sameer Naik.
5813
5814 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
5815
5816         * gst/gstevent.c:
5817           Little documentation improvment.
5818
5819         * gst/gstpreset.c:
5820           More TODO cleanups. Remove c++ comments.
5821
5822         * libs/gst/controller/gstcontroller.c:
5823           Add TODO and use quark from static string.
5824
5825         * tests/check/gst/gstmessage.c:
5826         * tests/check/gst/gststructure.c:
5827           Use quark from static string.
5828
5829 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
5830
5831         * gst/gstpreset.c:
5832           Add some comments and TODOs.
5833
5834         * gst/gstpreset.h:
5835           Add padding for future changes.
5836
5837         * plugins/elements/gstqueue.c:
5838           Implement the iface.    
5839
5840 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
5841
5842         * docs/gst/gstreamer-docs.sgml:
5843         * docs/gst/gstreamer-sections.txt:
5844         * docs/gst/gstreamer.types.in:
5845         * gst/Makefile.am:
5846         * gst/gst.h:
5847         * gst/gstpreset.c:
5848         * gst/gstpreset.h:
5849           Add the preset interface (Fixes #396779). Do some doc cleanups along.
5850
5851 2007-11-16  Jan Schmidt  <jan.schmidt@sun.com>
5852
5853         * configure.ac:
5854
5855         Back to CVS
5856
5857 === release 0.10.15 ===
5858
5859 2007-11-15  Jan Schmidt <jan.schmidt@sun.com>
5860
5861         * configure.ac:
5862           releasing 0.10.15, "October"
5863
5864 2007-11-14  Jan Schmidt  <jan.schmidt@sun.com>
5865
5866         * win32/vs6/libgstreamer.dsp:
5867         Convert line endings back to DOS.
5868
5869 2007-11-13  Stefan Kost  <ensonic@users.sf.net>
5870
5871         * docs/design/draft-tagreading.txt:
5872         * docs/random/ensonic/profiling.txt:
5873         Update fast tagreading draft and performance profiling ideas.
5874
5875 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
5876
5877         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
5878         Don't hold the object lock when unreffing a buffer because it could
5879         cause a deadlock when the finalize function wants to grab the object
5880         lock too. Fixes #495133.
5881
5882 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
5883
5884         * gst/gstsegment.c: (gst_segment_set_newsegment_full),
5885         (gst_segment_to_stream_time), (gst_segment_to_running_time):
5886         Also accumulate time correctly when doing reverse playback. Fixes
5887         #488201,
5888         When converting to running and stream time, use default values for
5889         start/stop/time/accum when comparing different formats. Fixes #494245.
5890
5891         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
5892         Do running/stream time in TIME format.
5893
5894         * tests/check/gst/gstsegment.c: (GST_START_TEST),
5895         (gst_segment_suite):
5896         2 new unit tests for segment accumulation.
5897
5898 2007-11-07  Tim-Philipp Müller  <tim at centricular dot net>
5899
5900         * gst/gst.c: (init_pre):
5901         * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
5902           (_gst_debug_bin_to_dot_file):
5903           Move getenv() back into gst_init, so everyone can live happily
5904           ever after. Make sure the symbol isn't exported though.
5905
5906 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5907
5908         Patch by: Sebastien Moutte  <sebastien moutte net>
5909
5910         * win32/common/gstenumtypes.c:
5911         * win32/common/gstenumtypes.h:
5912           Update enum types.
5913
5914         * win32/vs6/libgstreamer.dsp:
5915           Update vs6 project files (#494343).
5916
5917 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5918
5919         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
5920         (gst_base_src_perform_seek), (gst_base_src_default_event),
5921         (gst_base_src_set_flushing), (gst_base_src_activate_push),
5922         (gst_base_src_activate_pull):
5923         Unify flushing code, remove some old unlock code that is no longer used.
5924         Take the streaming lock when seeking to avoid races. Fixes #492729.
5925         Added some more comments.
5926
5927 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5928
5929         * gst/gst.c: (_gst_disable_segtrap):
5930           Make  _gst_disable_segtrap static, it's only used in gstplugin.c and
5931           we can use gst_segtrap_is_enabled() there now that we have that API.
5932           Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
5933           to do the getenv here (and export the variable).
5934
5935         * gst/gstdebugutils.c: (debug_dump_element),
5936           (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
5937           Don't use VLAs which is a C99ism and throws off MSVC (#493983).
5938
5939         * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
5940           (gst_debug_log_default):
5941           Rename _gst_info_start_time to priv_gst_info_start_time so it
5942           doesn't get exported (was never in any header).
5943
5944         * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
5945           (gst_plugin_loading_mutex):
5946           Make static mutex gst_plugin_loading_mutex really static (was never
5947           in any header), and use gst_segtrap_is_enabled() instead of
5948           _gst_disable_segtrap.
5949
5950         * gst/gsttrace.c: (_gst_trace_default):
5951           Make local _gst_trace_default static (was never in any header).
5952
5953 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5954
5955         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
5956
5957         * win32/common/libgstbase.def:
5958         * win32/common/libgstcontroller.def:
5959         * win32/common/libgstdataprotocol.def:
5960         * win32/common/libgstnet.def:
5961         * win32/common/libgstreamer.def:
5962           Add more missing symbols, remove some duplicates, and sort
5963           as the 'sort' command sorts it (partially fixes #493983).
5964
5965 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5966
5967         * gst/gstelement.c: (gst_element_set_state_func):
5968         Only change the state cookie if a different state was set on the
5969         element. See #492729.
5970
5971 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5972
5973         * gst/gstvalue.c:
5974           Remove unused and uninitialised type variables that were still
5975           exported for some reason (they were never in any header files
5976           though).
5977
5978 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5979
5980         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
5981         (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
5982         (gst_base_sink_event), (gst_base_sink_get_position_last),
5983         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
5984         (gst_base_sink_change_state):
5985         Don't try to report a 0 position when we don't know, return -1 and FALSE
5986         instead. This mostly happens when we are prerolling.
5987         Make sure we can report the right position before we post the ASYNC_DONE
5988         message so that a message handler can query position without races.
5989
5990         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
5991         (async_done_handoff), (async_done_func), (send_buffer),
5992         (async_done_eos_func), (gst_sinks_suite):
5993         Add two tests for the above.
5994
5995 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5996
5997         * MAINTAINERS:
5998         Update with new email address.
5999
6000         * docs/design/part-TODO.txt:
6001         Add some more info about future pad-block and negotiation changes.
6002
6003         * docs/design/part-buffering.txt:
6004         Add some ideas about buffering reporting.
6005
6006 2007-11-06  Jan Schmidt  <jan.schmidt@sun.com>
6007
6008         * tests/check/gst/gstobject.c:
6009         Disable silly racy test that always fails on this combination of CPU
6010         and kernel.
6011
6012 2007-11-03  Tim-Philipp Müller  <tim at centricular dot net>
6013
6014         Patch by: Murray Cumming  <murrayc@murrayc.com>
6015
6016         * gst/gstobject.c:
6017           Corrected the registration of the parent-set and parent-unset
6018           signals: The parameter is a GstObject, not a GObject (#493134).
6019
6020 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6021
6022         * gst/gst_private.h:
6023         * gst/gstbuffer.h:
6024         * gst/gstevent.h:
6025         * gst/gstformat.h:
6026         * gst/gstmessage.h:
6027         * gst/gstplugin.h:
6028         * gst/gstquery.h:
6029         * gst/gsttaglist.h:
6030         * gst/gstvalue.h:
6031           Move declaration of private _gst_foo_initialize() functions into
6032           our private header file where they should have been all along.
6033
6034 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6035
6036         * docs/plugins/gstreamer-plugins-sections.txt:
6037         * gst/gstdebugutils.h:
6038         * gst/gstxml.h:
6039         * plugins/elements/gstqueue.c:
6040           gtk-doc fixes; trailing-comma-in-enum fix.
6041
6042 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6043
6044         * gst/gst.c: (gst_deinit):
6045           Clean up on deinit (not the external ones though, doesn't seem to be
6046           needed for some reason).
6047
6048 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
6049
6050         * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
6051           Remove __declspec(dllimport) for MSVC that was copied over into core
6052           from a plugin, obviously without ever having been tested (note the
6053           single underscore in _declspec in the initial commit), and that doesn't
6054           really make sense.  See #492077.
6055
6056 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
6057
6058         * gst/gst.c: (init_post):
6059         * gst/gstevent.c: (_gst_event_initialize):
6060         * gst/gstquery.c: (_gst_query_initialize):
6061         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
6062           g_type_class_ref() other types as well, see #349410 and #64764.
6063
6064         * gst/gstbuffer.c: (_gst_buffer_initialize):
6065         * gst/gstmessage.c: (_gst_message_initialize):
6066           Simplify existing g_type_class_ref().
6067
6068 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
6069
6070         * gst/gstformat.c: (_gst_format_initialize):
6071           g_type_class_ref() our GstFormat type to make sure we avoid the
6072           thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
6073           bug #64764. Should fix intermittent tee unit test failures (#474823).
6074
6075 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
6076
6077         * tests/check/elements/tee.c: (test_num_buffers):
6078           Simplify, simplify, simplify - or not.  Rewrite unit test
6079           not to use gst_parse_launch(); allow N sub-streams. Increasing
6080           the number of sub-streams seems to reproduce #474823 more easily.
6081
6082 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
6083
6084         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
6085
6086         * gst/gsttrace.c:
6087         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
6088         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
6089         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
6090           Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
6091           starting with 2.14.0, GLib won't provide a pipe() macro any longer,
6092           so use _pipe() directly (#492077).
6093
6094         * win32/common/dirent.c: (_treaddir):
6095           Add a couple of casts to make it build without warnings with MSVC.
6096
6097         * win32/common/libgstreamer.def:
6098           Add some more symbols that need to be exported.
6099
6100 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
6101
6102         * tests/examples/metadata/read-metadata.c: (message_loop):
6103           Use _KEEP as merge mode rather than _KEEP_ALL, so tags
6104           arriving in a second or third tag message are added to
6105           the tag list as well.
6106
6107 2007-10-31  Stefan Kost  <ensonic@users.sf.net>
6108
6109         * libs/gst/base/gstbasesrc.c:
6110           Its "Since:" and not "@Since:". And remove an superflous cast.
6111
6112 2007-10-30  Wim Taymans  <wim.taymans@gmail.com>
6113
6114         * docs/libs/gstreamer-libs-sections.txt:
6115         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6116         (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
6117         (gst_base_sink_get_property), (gst_base_sink_render_object),
6118         (gst_base_sink_preroll_object),
6119         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
6120         (gst_base_sink_change_state):
6121         * libs/gst/base/gstbasesink.h:
6122         Add a new last-buffer property that contains the last buffer used in
6123         basesink for preroll or rendering. useful for making snapshots.
6124         API: gst_base_sink_get_last_buffer()
6125         API: GstBaseSink::last-buffer
6126
6127 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
6128
6129         * docs/gst/running.xml:
6130         * gst/gst.c:
6131         * gst/gstdebugutils.c:
6132         * gst/gstdebugutils.h:
6133         * tools/gst-launch.c:
6134           Improve bin graph dumping, by using the envvar to specify a path.
6135           Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
6136
6137 2007-10-29  Tim-Philipp Müller  <tim at centricular dot net>
6138
6139         * plugins/elements/gsttypefindelement.c:
6140           (gst_type_find_element_handle_event),
6141           (gst_type_find_element_activate):
6142           Post special error message if we can't determine the type of a stream
6143           because it's empty.
6144
6145 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
6146
6147         * docs/gst/running.xml:
6148         * gst/gstdebugutils.c:
6149           Document new env-var. Add one log-line after dumpng a graph.
6150
6151 2007-10-26  Tim-Philipp Müller  <tim at centricular dot net>
6152
6153         * configure.ac:
6154           Ugly hack to put the (recently removed and non-portable, apparently)
6155           -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
6156           GNU ld, because without that 'make check' fails miserably on my debian
6157           stable box.  Someone with more knowledge of linker intricacies and
6158           portability issues than me fix this properly please.
6159
6160 2007-10-25  Wim Taymans  <wim.taymans@gmail.com>
6161
6162         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
6163         Reset last seen position after flushing so that we don't report the old
6164         position anymore.
6165
6166 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
6167
6168         * gst/gstelementfactory.c: (gst_element_register):
6169         * gst/gsturi.h:
6170         Patch from Alessandro Decina adding get_type_full and
6171         get_protocols_full private vfuncs to the URIHandler interface
6172         to allow bindings to support creating URI handlers. 
6173         Partially fixes: #339279
6174         API: GstURIHandlerInterface::get_type_full
6175         API: GstURIHandlerInterface::get_protocols_full
6176
6177 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
6178
6179         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
6180         (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
6181         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
6182         Make it so that pads are considered linked until a buffer is pushed
6183         and discovered otherwise. This avoids problems with decodebin2 hanging
6184         after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
6185         case.
6186
6187         Make sure we lock the multiqueue when updating the max-size properties.
6188         
6189         Fix a crash on Solaris in a debug statement in get_request_pad that
6190         passes a NULL string to GST_DEBUG. 
6191
6192         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
6193         (run_output_order_test):
6194         Fix the test to allow the first buffer on not-linked pads to come out
6195         of sequence while multiqueue discovers that they are not-linked.
6196
6197 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
6198
6199         * configure.ac:
6200         * libs/gst/check/Makefile.am:
6201         Use a custom export symbol regex for libgstcheck, as it needs
6202         to export symbols that don't match the standard GStreamer gst_*
6203         pattern, and  --export-dynamic is not portable (only works on 
6204         GNU ld)
6205
6206         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
6207         (gst_check_setup_sink_pad):
6208         Make sure to pass a message parameter to the fail_* macros.
6209
6210         * tests/check/gst/gstinfo.c: (GST_START_TEST):
6211         Fix some compiler warnings.
6212
6213 2007-10-25  Tim-Philipp Müller  <tim at centricular dot net>
6214
6215         * tests/check/gst/gststructure.c: (test_to_string):
6216           Disable test that checks that white spaces are not allowed
6217           in structure names or field names, since we need to
6218           support that for now for backwards compatibility reasons.
6219
6220 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
6221
6222         * docs/gst/gstreamer-sections.txt:
6223         * gst/gsttaglist.c:
6224         * gst/gsttaglist.h:
6225           API: add GST_TAG_ARTIST_SORTNAME
6226           API: add GST_TAG_ALBUM_SORTNAME
6227           API: add GST_TAG_TITLE_SORTNAME
6228           Add tag variants for sorting (#414539).
6229
6230 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
6231
6232         * gst/gststructure.c:
6233           Also allow white space for names so we don't break
6234           backwards compatibility.
6235
6236 2007-10-22  Wim Taymans  <wim.taymans@gmail.com>
6237
6238         * docs/design/part-TODO.txt:
6239         * docs/design/part-segments.txt:
6240         * docs/design/part-streams.txt:
6241         Small updates.
6242
6243 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
6244
6245         * docs/gst/gstreamer-sections.txt:
6246          Fixed documentation from my previous commit (added new API add
6247          gst_value_set_structure(), add gst_value_get_structure() and
6248          GST_VALUE_HOLDS_STRUCTURE).
6249
6250 2007-10-22  Stefan Kost  <ensonic@users.sf.net>
6251
6252         * gst/gstdebugutils.c:
6253           Reflow code to fix uninitialized variable warning.
6254
6255 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
6256
6257         * gst/gstcaps.c: (gst_caps_to_string),
6258         (gst_caps_from_string_inplace):
6259         * gst/gststructure.c: (gst_structure_get_abbrs),
6260         (gst_structure_to_string), (gst_structure_from_string):
6261         * gst/gstvalue.c: (gst_value_set_structure),
6262         (gst_value_get_structure), (gst_value_serialize_structure),
6263         (gst_value_deserialize_structure), (_gst_value_initialize):
6264         * gst/gstvalue.h:
6265         * tests/check/gst/gststructure.c: (GST_START_TEST),
6266         (gst_structure_suite):
6267         * tests/check/gst/gstvalue.c: (GST_START_TEST):
6268          Added GstStructure to gst_value_table and its related functions.
6269          Changed gst_structure_to_string to print ';' in the end.
6270          Changed gst_caps_to_string to not print ';' beteween its
6271          fields (structures) anymore and remove the lastes ';' from latest
6272          structure. Now it is possible to have nested structures.
6273          In addition, backward compatibilty is assured by accepting '\0' as
6274          end delimiter. Fixes: #487969.
6275          API: add gst_value_set_structure()
6276          API: add gst_value_get_structure()
6277          API: add GST_VALUE_HOLDS_STRUCTURE
6278
6279 2007-10-19  Tim-Philipp Müller  <tim at centricular dot net>
6280
6281         * gst/gstbus.c:
6282           When no GSource callback has been set up, tell developer
6283           to use a function that actually exists.
6284
6285 2007-10-17  Stefan Kost  <ensonic@users.sf.net>
6286
6287         * docs/gst/gstreamer-sections.txt:
6288         * gst/Makefile.am:
6289         * gst/gst.c:
6290         * gst/gst.h:
6291         * gst/gstdebugutils.c:
6292         * gst/gstdebugutils.h:
6293         * gst/gstinfo.c:
6294         * gst/gstinfo.h:
6295         * tools/gst-launch.c:
6296           Allow dumping pipelines as dot graphs. Fixes #456573.
6297
6298 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6299
6300         * gst/gststructure.c:
6301           Allow '+' as well, it can be part of media or mime types
6302           such as image/svg+xml.
6303
6304 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6305
6306         * docs/gst/gstreamer-sections.txt:
6307         * gst/gstbus.c:
6308         * gst/gstbus.h:
6309           API: add gst_bus_pop_filtered
6310           API: add gst_bus_timed_pop_filtered
6311           Two new functions for waiting for specific message types on the
6312           bus for a specified amount of time without iterating any main
6313           loops or main contexts.
6314
6315         * tests/check/gst/gstbus.c:
6316           Some tests for the new functions.
6317
6318 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6319
6320         * docs/libs/gstreamer-libs-sections.txt:
6321           Make gtk-doc ignore stuff it should ignore.
6322
6323 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6324
6325         * libs/gst/check/gstcheck.c:
6326         * libs/gst/check/gstcheck.h:
6327           Allow runtime selection of unit tests to run via the GST_CHECKS
6328           environment variable (test case function names, comma-separated).
6329
6330 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
6331
6332         * gst/gststructure.c:
6333         * tests/check/gst/gststructure.c:
6334           Revert serialisation change and constrain structure-names after
6335           consensus on irc. Update api documentation to reflect the change.
6336
6337 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
6338
6339         * gst/gststructure.c:
6340           Improve serialization and fix tests.
6341
6342         * tests/check/gst/gststructure.c:
6343           Add another test that covers why I actually did the previous structure
6344           change.
6345
6346 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
6347
6348         * tools/gst-inspect.c: (print_element_info):
6349         Don't crash when inspecting an element.
6350
6351 2007-10-15  Tim-Philipp Müller  <tim at centricular dot net>
6352
6353         * tests/check/gst/gststructure.c:
6354           Add unit test for escaping of structure name when serialising
6355           and deserialising to/from strings.
6356
6357 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
6358
6359         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
6360         (gst_single_queue_new):
6361         * plugins/elements/gstqueue.c: (gst_queue_init),
6362         (gst_queue_push_one):
6363         Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
6364         upstream is tricked into thinking it can suggest a format downstream
6365         while downstream does not support that format. The real problem is that
6366         core calls acceptcaps when pushing a buffer with new caps, for which we
6367         do a little workaround by setting the caps on the srcpad ourselves
6368         before pushing the buffer (until this is figured out). Fixes #486758.
6369
6370 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6371
6372         * gst/gststructure.c:
6373         * gst/gstvalue.c:
6374           Add some more comments and debug output. Quote structure name to fix
6375           deserialisation of some strings.
6376
6377 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6378
6379         * gst/gstbuffer.h:
6380           Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
6381           on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
6382
6383 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6384
6385         * tools/gst-inspect.c:
6386           Save approx. 400 1 byte allocs when printing. Use API to acces element
6387           details.
6388
6389         * tools/gst-run.c:
6390           Avoid a strdup.
6391
6392         * tools/gst-xmlinspect.c:
6393           Use API to acces element details.
6394
6395 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6396
6397         * gst/gstinfo.c:
6398           Fix some spelling errors.
6399
6400 2007-10-14  Wim Taymans  <wim.taymans@gmail.com>
6401
6402         * gst/gstbin.c: (bin_handle_async_done):
6403         Correctly set the next state if all of our async children commited their
6404         state. This makes sure we can actually cancel the state change in
6405         progress. Fixes a regression in Rhythmbox when seeking.
6406
6407 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
6408
6409         * gst/gstbin.c:
6410           Don't shadow local variable.
6411
6412         * gst/gstinfo.c:
6413           Don't shadow global function name.
6414
6415 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
6416
6417         * gst/gstelementfactory.c:
6418         * gst/gstpluginfeature.c:
6419         * gst/gstpluginfeature.h:
6420         * gst/gstregistrybinary.c:
6421         * gst/gstregistryxml.c:
6422         * gst/gsttypefind.c:
6423           Use already-interned string for the private GstPluginFeature
6424           plugin_name field.
6425
6426 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6427
6428         * docs/libs/gstreamer-libs-sections.txt:
6429           Add new API to docs; fixes the build.
6430
6431 2007-10-10  Wim Taymans  <wim.taymans@gmail.com>
6432         
6433         Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
6434
6435         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
6436         (gst_base_sink_event):
6437         * libs/gst/base/gstbasesink.h:
6438         Add function to wait for EOS, subclasses can use this to correctly wait
6439         for devices to drain before performing the EOS logic. Fixes #485343.
6440         API: gst_base_sink_wait_eos()
6441
6442 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6443
6444         * gst/gstplugin.h:
6445           Cast description string constants in GST_PLUGIN_DEFINE macros
6446           to a (gchar*) to make C++ code using these macros compile
6447           without warning with g++-4.2 (see #462737).  Even if slightly
6448           ugly, this seems preferable to putting the description strings
6449           into the GLib quark table or making the structure member a
6450           const gchar * and doing casts in core code that allocs and
6451           frees these strings, or requiring a cast in the C++ code.
6452
6453 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6454
6455         * gst/gstinfo.h:
6456           Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
6457           to print the entire class/function signature into the log
6458           file for C++ code.  This only affects C++ code, for C code
6459           everything remains the same.
6460
6461 2007-10-09  Wim Taymans  <wim.taymans@gmail.com>
6462
6463         * gst/gstbin.c: (remove_from_queue):
6464         Work around a problem with pipelines containing (semi)loops until a
6465         proper, more complicated solution is ready. See #475455.
6466
6467 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6468
6469         * gst/gstplugin.c:
6470         * gst/gstplugin.h:
6471         * gst/gstregistrybinary.c:
6472         * gst/gstregistryxml.c:
6473           Put more strings into the GLib quark table. No need to keep
6474           a hundred-something copies of identical version strings,
6475           license strings, package name strings and package origin
6476           strings around. 
6477
6478 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6479
6480         * docs/manual/advanced-dataaccess.xml:
6481           Don't imply that it's okay to unconditionally change
6482           buffer data or buffer metadata in a pad probe callback,
6483           and a bunch of other comments. Fixes #430031.
6484
6485 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6486
6487         * win32/common/gstenumtypes.c:
6488         * win32/common/gstenumtypes.h:
6489         * win32/common/gstversion.h:
6490           Update generated files.
6491
6492 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6493
6494         * docs/manual/advanced-autoplugging.xml:
6495           Prefix section with broken code with a warning (see #342432).
6496
6497 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6498
6499         * docs/manual/appendix-integration.xml:
6500         * docs/manual/basics-init.xml:
6501           Call g_thread_init() before g_option_context_new() to
6502           avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
6503
6504 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6505
6506         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6507         (gst_base_sink_queue_object_unlocked),
6508         (gst_base_sink_queue_object), (gst_base_sink_event),
6509         (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
6510         When we received EOS and are waiting for when to post the EOS message,
6511         our state is prerolled and we should not return ASYNC.
6512         Reorganize some code paths to implement this behavior.
6513
6514         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
6515         (gst_sinks_suite):
6516         Add unit test to verify above EOS fix.
6517
6518 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6519
6520         * plugins/elements/gsttypefindelement.c:
6521         (gst_type_find_element_have_type), (gst_type_find_element_init),
6522         (gst_type_find_element_setcaps), (gst_type_find_element_chain):
6523         Move detecting the input caps of the sinkpad to the setcaps function.
6524         This allows us to update the output caps when we receive new input caps
6525         instead of always using the first detected caps.
6526
6527 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6528
6529         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
6530         (gst_base_sink_get_position):
6531         Don't try to preroll non-async elements after a flush.
6532         Subtract latency form clock times when reporting position.
6533
6534 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6535
6536         * gst/gstpad.c: (gst_pad_pause_task):
6537         * gst/gstutils.c:
6538         Small comment and documentation update.
6539
6540 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6541
6542         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
6543         (gst_base_src_set_live), (gst_base_src_is_live),
6544         (gst_base_src_query_latency), (gst_base_src_perform_seek),
6545         (gst_base_src_default_event), (gst_base_src_wait),
6546         (gst_base_src_do_sync), (gst_base_src_get_range),
6547         (gst_base_src_pad_get_range), (gst_base_src_loop),
6548         (gst_base_src_unlock), (gst_base_src_unlock_stop),
6549         (gst_base_src_set_flushing), (gst_base_src_set_playing),
6550         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6551         (gst_base_src_change_state):
6552         Rework the locking of basesrc in a similar fashion to basesink. We
6553         basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
6554         us to handle live sources and semi live ones much better.
6555         Simplify flushing.
6556         Fix unlocking when seeking, shutting down and pausing in live sources.
6557
6558 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6559
6560         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
6561         Fix compilation again.
6562
6563 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6564
6565         * gst/gstelement.c:
6566           Use meaningful categories for the logs to clean the default one.
6567
6568 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6569
6570         * tests/check/pipelines/cleanup.c:
6571           Print message name and not just number.
6572
6573 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6574
6575         * docs/design/draft-tagreading.txt:
6576           Add some more thoughts.
6577
6578 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6579
6580         * tests/check/pipelines/simple-launch-lines.c:
6581           Print message name and not just number.
6582
6583 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6584
6585         * libs/gst/base/gsttypefindhelper.c:
6586           Speedup typefinding. This is work in progress (see #459862).
6587
6588 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6589
6590         * gst/gstplugin.c:
6591           Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
6592           Spotted by Josep Torra Valles <josep@fluendo.com>.
6593
6594 2007-10-03  Tim-Philipp Müller  <tim at centricular dot net>
6595
6596         * gst/gstclock.h:
6597           Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
6598           field has moved to GstObject.
6599
6600 2007-10-02  Wim Taymans  <wim.taymans@gmail.com>
6601
6602         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
6603         (gst_base_src_get_range), (gst_base_src_change_state):
6604         Call unlock for live sources so that they can't get stuck in _create and
6605         produce a buffer before they are set back to PLAYING.
6606
6607 2007-10-02  Edward Hervey  <bilboed@bilboed.com>
6608
6609         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6610         (gst_queue_locked_dequeue):
6611         Comment the segment-related code... in the PROPER function.
6612         See #482147 and my commit from yesterday.
6613
6614 2007-10-01  Wim Taymans  <wim.taymans@gmail.com>
6615
6616         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
6617         Also initialize the counter that calculates the first timestamp on a
6618         buffer correctly for non-live sources.
6619
6620 2007-10-01  Edward Hervey  <bilboed@bilboed.com>
6621
6622         * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
6623         Disable code that's breaking the current-time-level reporting.
6624         See #482147
6625
6626 2007-09-30  Sebastian Dröge  <slomo@circular-chaos.org>
6627
6628         * docs/gst/gstreamer-sections.txt:
6629         Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
6630         as they shouldn't show up. Fixes the docs build.
6631
6632 2007-09-29  Sebastien Moutte  <sebastien@moutte.net>
6633         
6634         * gst/gstinfo.h:
6635         Add an explicit variable importation needed on VS6 (only for MSC_VER)
6636         Define M_PI which is used in files which are including gstinfo.h. 
6637         VS6 includes doesn't define it.
6638         * win32/common/libgstbase.def:
6639         * win32/common/libgstcontroller.def:
6640         * win32/common/libgstreamer.def:
6641         Add new exported functions and variables.
6642         * win32/vs6/libgstcontroller.dsp:
6643         * win32/vs6/libgstreamer.dsp:
6644         Update the list of files to build.
6645         
6646 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
6647
6648         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6649
6650         * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
6651         (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
6652         (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
6653         Improve debugging. Fixes #480858.
6654
6655 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
6656
6657         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6658
6659         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
6660         First patch of code cleanups, use the macros and right arguments in the
6661         macros to signal and lock the queue. See #480858.
6662
6663 2007-09-26  Wim Taymans  <wim.taymans@gmail.com>
6664
6665         * gst/gstbus.c: (poll_func):
6666         Improve debugging when dealing with _poll().
6667
6668 2007-09-26  Tim-Philipp Müller  <tim at centricular dot net>
6669
6670         * gst/gstregistryxml.c:
6671           Fix memory leak I introduced a few days ago.
6672
6673 2007-09-26  Michael Smith <msmith@fluendo.com>
6674
6675         * gst/gstbuffer.c: (gst_buffer_finalize):
6676           Make it once again possible to free GstBuffers in the default
6677           build.
6678           The poisoning scribbles on parts of the miniobject we need in
6679           order to free it.
6680           Fixes #480341
6681
6682 2007-09-25  Tim-Philipp Müller  <tim at centricular dot net>
6683
6684         * docs/gst/gstreamer-sections.txt:
6685         * gst/gsttaglist.c:
6686         * gst/gsttaglist.h:
6687         API: add GST_TAG_COMPOSER, fixes #459809.
6688
6689 2007-09-24  Sebastian Dröge  <slomo@circular-chaos.org>
6690
6691         * gst/gstplugin.c:
6692         * gst/gstplugin.h:
6693         Add the 3-clause BSD license and the MIT/X11 license to the license
6694         list. Fixes #479784.
6695
6696 2007-09-24  Tim-Philipp Müller  <tim at centricular dot net>
6697
6698         * docs/faq/getting.xml:
6699           Add Q+A about different GStreamer versions (#364056).
6700
6701 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6702
6703         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6704         (gst_base_sink_event), (gst_base_sink_change_state):
6705         Return correct gboolean from query function.
6706
6707 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6708
6709         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6710         (gst_base_sink_event), (gst_base_sink_query),
6711         (gst_base_sink_change_state):
6712         Simplify latency query.
6713         When not synchronizing, we can report latency without querying the peer
6714         element.
6715
6716 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6717
6718         * gst/gstobject.h:
6719         * gst/gstvalue.c:
6720         Fix small typos in the docs.
6721
6722 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6723
6724         * docs/design/draft-latency.txt:
6725         * docs/design/draft-push-pull.txt:
6726         * docs/design/draft-tagreading.txt:
6727         * docs/design/part-MT-refcounting.txt:
6728         * docs/design/part-activation.txt:
6729         * docs/design/part-block.txt:
6730         * docs/design/part-element-source.txt:
6731         * docs/design/part-events.txt:
6732         * docs/design/part-gstbin.txt:
6733         * docs/design/part-gstelement.txt:
6734         * docs/design/part-gstobject.txt:
6735         * docs/design/part-gstpipeline.txt:
6736         * docs/design/part-messages.txt:
6737         * docs/design/part-preroll.txt:
6738         * docs/design/part-push-pull.txt:
6739         * docs/design/part-qos.txt:
6740         * docs/design/part-query.txt:
6741         * docs/design/part-scheduling.txt:
6742         * docs/design/part-seeking.txt:
6743         * docs/design/part-segments.txt:
6744         * docs/design/part-states.txt:
6745         Documentation updates and typo fixes.
6746
6747 2007-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6748
6749         * plugins/elements/gstfakesink.c:
6750           Add some debug text to error message to indicate that
6751           we errored out on request.
6752
6753         * tools/gst-launch.c:
6754           When the state change to PLAYING fails, check for an
6755           error message on the bus and print it.
6756
6757 2007-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6758
6759         translated by: Jorge González González <aloriel@gmail.com>
6760
6761         * po/LINGUAS:
6762         * po/es.po:
6763           Added Spanish translation.
6764
6765 2007-09-21  Wim Taymans  <wim.taymans@gmail.com>
6766
6767         * plugins/elements/gstqueue.c: (gst_queue_push_one):
6768         Fix printf arguments.
6769
6770 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
6771
6772         * tests/check/generic/states.c:
6773           Improved state change unit test.
6774
6775 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
6776
6777         * gst/gstbin.h:
6778           Move priv to the right place.
6779
6780         * gst/gstsystemclock.c:
6781           Add FIXME: and improve log.
6782
6783         * tests/check/Makefile.am:
6784         * tests/examples/manual/Makefile.am:
6785           Work with all types of registries.
6786
6787 2007-09-19  Wim Taymans  <wim.taymans@gmail.com>
6788
6789         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6790         Don't unref the event after pushing it. Fixes #478401.
6791
6792 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
6793
6794         * .cvsignore:
6795         * tests/examples/manual/.cvsignore:
6796           Ignore registries in any format.
6797
6798 2007-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6799
6800         * gst/glib-compat-private.h:
6801           Add compatibility macro for g_intern_string() for
6802           GLib-2.8 (any reason we can't just bump the
6803           requirement to at least 2.10?)
6804
6805         * gst/gstpadtemplate.h:
6806         * gst/gstelementfactory.c:
6807         * gst/gstregistryxml.c:
6808         * gst/gstregistrybinary.c:
6809           Make GstStaticPadTemplate's templ_name field a const gchar * and fix
6810           up the internal code accordingly.  This shouldn't be a problem, since
6811           there is no reason external code could ever assume the string in such
6812           a structure is dynamically allocated unless it did that itself;  the
6813           use of g_strdup() is private to element factories.  The new code also
6814           saves some memory by putting pad template name strings into the GLib
6815           quark table instead of allocating them dynamically.
6816           Declaring this field constant fixes warnings with g++-4.2 when using
6817           the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
6818
6819 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
6820
6821         * gst/gstelementfactory.c:
6822           Release static caps. Fixes #475723.
6823
6824 2007-09-18  Tim-Philipp Müller  <tim at centricular dot net>
6825
6826         * gst/gstinfo.c:
6827         * gst/gstinfo.h:
6828           Make some internal API take const gchar * instead of just
6829           gchar * to avoid compiler warnings with g++-4.2.2 when
6830           passing string constants (partially fixes #478092).
6831
6832 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
6833
6834         * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
6835         A latency query fails when one of the sinks fail.
6836
6837         * gst/gstelement.c: (gst_element_set_base_time):
6838         Improve debugging.
6839
6840 2007-09-17  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
6841
6842         * gst/gstbin.c: (gst_bin_continue_func):
6843         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
6844         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
6845         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
6846
6847         Fix minor compilation warnings shown with Forte.
6848
6849 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
6850
6851         * plugins/elements/gstqueue.c: (apply_buffer),
6852         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
6853         Measure queue level based on the diff between head and tail timestamps
6854         even when pushing the first buffer.
6855
6856 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
6857
6858         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6859         (gst_base_sink_event), (gst_base_sink_change_state):
6860         Sinks that don't preroll can always be queried for the latency.
6861         Don't post ASYNC start when we are not async.
6862
6863 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
6864
6865         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6866         (gst_queue_handle_sink_event), (gst_queue_chain),
6867         (gst_queue_push_one), (gst_queue_handle_src_query),
6868         (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
6869         * plugins/elements/gstqueue.h:
6870         When downstream returns UNEXPECTED from pushing a buffer, don't try to
6871         push more buffers but allow pushing of EOS and NEWSEGMENT.
6872         Add some more debug info here and there. Fixes #476514.
6873
6874 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
6875
6876         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
6877         (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
6878         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
6879         (gst_base_sink_set_flushing), (gst_base_sink_query),
6880         (gst_base_sink_change_state):
6881         Latency query is allowed after we are prerolled. Introduce a new flag
6882         for this and stop abusing other variables.
6883
6884 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6885
6886         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6887         Push OOB events downstream when we get them in send_event. This allows
6888         the application to insert events in the pipeline.
6889         Add some more comments.
6890
6891 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6892
6893         * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
6894         (do_bin_latency), (gst_bin_change_state_func):
6895         * gst/gstpipeline.c: (gst_pipeline_change_state):
6896         Move latency query from GstPipeline to GstBin so that we can also
6897         use it when async-handling is enabled on bins.
6898
6899 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6900
6901         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
6902         (gst_base_src_do_sync), (gst_base_src_change_state):
6903         Update docs.
6904         Clean up the timestamping and syncing code for pseudo live sources.
6905
6906 2007-09-13  Tim-Philipp Müller  <tim at centricular dot net>
6907
6908         Patch by: Steve Fink  <sphink gmail com>
6909
6910         * docs/manual/appendix-checklist.xml:
6911           Mention less -R switch in the section about debug output (#474055).
6912
6913 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6914
6915         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
6916         Queue can latency to the pipeline up to the configured max size in time.
6917         Report this fact in the latency query.
6918
6919 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
6920
6921         Patch by: Sebastien Moutte <sebastien at moutte dot net>
6922
6923         * libs/gst/controller/gstinterpolation.c:
6924         * libs/gst/controller/gstlfocontrolsource.c:
6925         Use gst_guint64_to_gdouble() when converting from a uint64 or
6926         GstClockTime to double to fix the build on win32. Fixes #474371.
6927
6928 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
6929
6930         * gst/gstbuffer.c: (gst_buffer_finalize):
6931         Implement poisoning for GstBuffer if --enable-poisoning is specified.
6932         When finalizing a buffer the complete struct is filled with 0xff,
6933         thus making a use of the buffer after the final unref impossible.
6934
6935 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
6936
6937         * tests/check/libs/controller.c: (GST_START_TEST):
6938         Use fail_unless_equals_int(a, b) instead of
6939         fail_unless_equals (a == b) to get better output on failures.
6940
6941 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
6942
6943         * tests/check/gst/gsturi.c:
6944           Also check for the other file URI variant on win32.
6945
6946 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
6947
6948         * gst/gsturi.c: (gst_uri_get_location):
6949           If there's no hostname, we want to return 'c:/foo/bar.txt'
6950           and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
6951
6952         * tests/check/gst/gsturi.c:
6953           Unit test for the above and a few more things.
6954
6955 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
6956
6957         * docs/design/part-live-source.txt:
6958         Add docs on how live sources should timestamp.
6959
6960         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
6961         Add some more debug info.
6962         For subclasses that are live and like to sync, add aditional startup
6963         latency to sync time and timestamps so that we timstamp according to the
6964         design doc.
6965
6966 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
6967
6968         * gst/gstbuffer.c:
6969           Also do a g_type_class_ref() for the subbuffer type in
6970           the init function.
6971
6972 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
6973
6974         * docs/gst/gstreamer-sections.txt:
6975         * gst/gstpad.c: (gst_pad_peer_query):
6976         * gst/gstpad.h:
6977         Add function to perform a query on the peer of a pad.
6978         API: gst_pad_peer_query()
6979
6980 2007-09-11  Stefan Kost  <ensonic@users.sf.net>
6981
6982         * tests/check/gst/gstsystemclock.c:
6983           Cleanup the test a little (use gst-logging and not g_message). Improve
6984           test to check if a wait reached the target.
6985
6986 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
6987
6988         * docs/libs/gstreamer-libs-sections.txt:
6989           Add new API to docs and fix the build.
6990
6991 2007-09-10  Wim Taymans  <wim.taymans@gmail.com>
6992
6993         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6994         (gst_base_src_init), (gst_base_src_set_do_timestamp),
6995         (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
6996         (gst_base_src_get_property), (gst_base_src_do_sync):
6997         * libs/gst/base/gstbasesrc.h:
6998         Add property to make the basesrc timestamp buffers based on the current
6999         running time.
7000         API: GstBaseSrc::do-timestamp
7001         API: gst_base_src_set_do_timestamp()
7002         API: gst_base_src_get_do_timestamp()
7003
7004 2007-09-08  Tim-Philipp Müller  <tim at centricular dot net>
7005
7006         * docs/random/release:
7007           Really make sure translations are up-to-date before
7008           a release (#465010).
7009
7010 2007-09-07  Sebastian Dröge  <slomo@circular-chaos.org>
7011
7012         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7013         Always destroy the timer, also in error cases.
7014
7015 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
7016
7017         * docs/manual/highlevel-xml.xml:
7018         Fix XML example code. Fixes #472714.
7019
7020 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
7021
7022         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
7023         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
7024         (gst_base_sink_query):
7025         Protect eos and have_preroll with the OBJECT lock so we don't need to
7026         take the PREROLL lock when querying the latency. Fixes #473846.
7027
7028 2007-09-05  Stefan Kost  <ensonic@users.sf.net>
7029
7030         * gst/gstelement.c:
7031           Give some log-messages a category.
7032
7033 2007-09-04  Wim Taymans  <wim.taymans@gmail.com>
7034
7035         * gst/gststructure.c:
7036         (gst_structure_fixate_field_nearest_fraction):
7037         Fix fraction list fixation code. Take the fraction with the smallest
7038         difference with the target instead of the first one in the list.
7039
7040         * tests/check/gst/gststructure.c: (GST_START_TEST),
7041         (gst_structure_suite):
7042         Added test to verify correct fraction list fixation behaviour.
7043
7044 2007-09-02  Tim-Philipp Müller  <tim at centricular dot net>
7045
7046         * win32/common/libgstreamer.def:
7047           Export gst_bus_add_signal_watch too.
7048
7049 2007-08-30  Wim Taymans  <wim.taymans@gmail.com>
7050
7051         * docs/libs/gstreamer-libs-sections.txt:
7052         Add new methods to docs.
7053
7054         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7055         (gst_base_sink_init), (gst_base_sink_set_ts_offset),
7056         (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
7057         (gst_base_sink_get_property), (gst_base_sink_wait_clock):
7058         * libs/gst/base/gstbasesink.h:
7059         Add ts-offset property to fine-tune the synchronisation.
7060         API: GstBaseSink::ts-offset property
7061         API: gst_base_sink_set_ts_offset()
7062         API: gst_base_sink_get_ts_offset()
7063
7064 2007-08-29  Wim Taymans  <wim.taymans@gmail.com>
7065
7066         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7067         (gst_base_sink_init), (gst_base_sink_set_sync),
7068         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
7069         (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
7070         (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
7071         (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
7072         (gst_base_sink_get_property), (gst_base_sink_change_state):
7073         * libs/gst/base/gstbasesink.h:
7074         Add async property to instruct the sink never to inform the parent about
7075         ASYNC state changes, update docs.
7076         Check argument with g_return_* for the public functions.
7077         API: GstBaseSink::async property
7078         API: gst_base_sink_set_async_enabled()
7079         API: gst_base_sink_is_async_enabled()
7080
7081 2007-08-28  Wim Taymans  <wim.taymans@gmail.com>
7082
7083         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
7084         Improve debugging.
7085
7086         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
7087         (gst_base_src_default_query), (gst_base_src_wait),
7088         (gst_base_src_do_sync), (gst_base_src_change_state):
7089         Rearrange some code so that we can add support for measuring the 
7090         startup latency.
7091
7092 2007-08-27  Stefan Kost  <ensonic@users.sf.net>
7093
7094         * docs/random/ensonic/dynlink.txt:
7095           More thoughs on this.
7096
7097         * plugins/elements/gstcapsfilter.c:
7098           Add bugzilla ticket number to FIXME comment.
7099
7100 2007-08-24  Wim Taymans  <wim.taymans@gmail.com>
7101
7102         * docs/design/part-TODO.txt:
7103         * docs/design/part-block.txt:
7104         Update some docs.
7105
7106 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7107
7108         * gst/Makefile.am:
7109           Revert patch which uses $(gst_headers) instead of $^ because it
7110           breaks make dist.
7111
7112 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7113
7114         * tests/check/gst/gstbin.c: (GST_START_TEST):
7115           Fix leaks in the new unit test.
7116
7117 2007-08-23  Tim-Philipp Müller  <tim at centricular dot net>
7118
7119         * gst/gst.c:
7120           Don't use GST_INFO before the debug system is actually initialised
7121           (shouldn't do any harm, but won't print anything either, so we can
7122           just as well remove it).
7123
7124         * gst/gstinfo.h:
7125           GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
7126           compilers that don't support variadic macros (such as MSVC), should
7127           check for debug_level <= __gst_debug_min as well, since that's the
7128           function called from all the level-specific GST_CAT_*_LOG_OBJECT()
7129           inline helper functions. Should improve performance a bit, but also
7130           makes sure uses of GST_INFO et.al are ignored if the debugging
7131           system isn't initialised yet (instead of printing an assertion
7132           failure).
7133
7134 2007-08-23  Stefan Kost  <ensonic@users.sf.net>
7135
7136         patch by: David Nečas <yeti@physics.muni.cz>
7137
7138         * gst/Makefile.am:
7139           Replace some non portable makefile constructs.
7140
7141 2007-08-21  Stefan Kost  <ensonic@users.sf.net>
7142
7143         * common/gtk-doc-plugins.mak:
7144           Grrrrr. Don't remove the types file on make clean.
7145
7146 2007-08-20  Wim Taymans  <wim.taymans@gmail.com>
7147
7148         * tools/gst-launch.1.in:
7149         Add colorspace to example pipeline. Fixes #458274.
7150
7151 2007-08-20  Tim-Philipp Müller  <tim at centricular dot net>
7152
7153         * docs/random/release:
7154           The release manager should run 'make download-po' before making a
7155           release to make sure translations are up-to-date.
7156
7157         * po/LINGUAS:
7158         * po/be.po:
7159         * po/pl.po:
7160         * po/rw.po:
7161           Add some new translations.
7162
7163 2007-08-17  Wim Taymans  <wim.taymans@gmail.com>
7164
7165         * tools/gst-launch.c: (event_loop), (main):
7166         Don´t try to do any state management when a live pipeline posts
7167         buffering messages.
7168         Also make the buffering string translatable.
7169
7170 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
7171
7172         * gst/gstbin.c: (is_eos), (gst_bin_add_func),
7173         (bin_handle_async_start), (gst_bin_handle_message_func):
7174         Improve debugging.
7175         When adding elements, insert messages into the bus of the newly added
7176         element and make sure the element is the source of the message. This
7177         allows the parent bin to intercept the message and do the
7178         right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
7179         messages to the app (which is not allowed).
7180         Update some docs.
7181
7182         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
7183         Fix testsuite so that is does not work around messages that should not
7184         have been posted in the first place.
7185
7186 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
7187
7188         * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
7189         (update_degree), (gst_bin_sort_iterator_next):
7190         Fix annoying bug in the sorted iterator where a sink that is not really
7191         a sink (when it has downstream links) screwed up the iterator.
7192
7193         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7194         Unit test to verify the fix.
7195
7196 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
7197
7198         * gst/gstmessage.h:
7199         Add some more docs for the messages.
7200
7201         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7202         (gst_base_sink_query):
7203         Add some more debugging.
7204
7205         * tools/gst-launch.c: (event_loop):
7206         When interrupting, don't try to set pipeline to PAUSED twice.
7207
7208 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
7209
7210         
7211         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
7212         (bin_handle_async_start), (gst_bin_handle_message_func):
7213         Move ASYNC_START message posting to where it belongs, similar to
7214         async_done. 
7215         Don't post ASYNC_START when we are in error. 
7216         Post ASYNC_START when we added an async element to a bin.
7217
7218 2007-08-14  Julien MOUTTE  <julien@moutte.net>
7219
7220         * gst/gstindex.c: (gst_index_add_association): Fix index entry
7221         generation from vargs. Fixes #466595.
7222
7223 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
7224
7225         * gst/gstbin.c: (gst_bin_element_set_state):
7226         Always change the state of a NO_PREROLL element even if it has ASYNC
7227         elements inside (in case of a bin).
7228
7229         * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
7230         Unit test for this case.
7231
7232 2007-08-13  Stefan Kost  <ensonic@users.sf.net>
7233
7234         * libs/gst/check/gstbufferstraw.c:
7235         * libs/gst/check/gstcheck.h:
7236         * libs/gst/controller/gstcontroller.c:
7237         * libs/gst/controller/gstcontrolsource.h:
7238         * libs/gst/controller/gstlfocontrolsource.h:
7239         * plugins/elements/gstcapsfilter.h:
7240         * plugins/elements/gstfdsink.h:
7241         * plugins/elements/gstfdsrc.h:
7242           Add more missing docs.
7243
7244 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
7245
7246         * gst/gststructure.c:
7247         Add Since tag to docs.
7248
7249 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
7250
7251         * docs/gst/gstreamer-sections.txt:
7252         * gst/gststructure.c: (gst_structure_get_uint):
7253         * gst/gststructure.h:
7254         Add function to get uint from a structure.
7255         API: gst_structure_get_uint()
7256
7257 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
7258
7259         * gst/gstcaps.c: (gst_caps_set_simple_valist),
7260         (gst_caps_intersect):
7261         Fix proper check for simple caps.
7262
7263 2007-08-10  Stefan Kost  <ensonic@users.sf.net>
7264
7265         * docs/gst/Makefile.am:
7266         * docs/libs/Makefile.am:
7267           Remove cruft and do some cleanups.
7268
7269         * docs/gst/gstreamer-docs.sgml:
7270         * docs/libs/gstreamer-libs-docs.sgml:
7271           Prepare for comming gtkdoc features (rebase against online docs).
7272
7273 2007-08-10  Michael Smith <msmith@fluendo.com>
7274
7275         * docs/gst/gstreamer-sections.txt:
7276           Add gst_registry_add_path to docs.
7277
7278 2007-08-10  Michael Smith <msmith@fluendo.com>
7279
7280         * gst/gstregistry.h:
7281           Add gst_registry_add_path, which was missing from this header.
7282
7283 2007-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7284
7285         * libs/gst/controller/gstlfocontrolsource.c:
7286           Printf format fix.
7287
7288 2007-08-09  Philippe Kalaf <philippe.kalaf@collabora.co.uk>
7289
7290         * libs/gst/base/gstbasesink.c:
7291           Don't send an async_start message during downwards state change if 
7292           target state is less than READY
7293
7294 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7295
7296         translated by: Gabor Kelemen <kelemeng@gnome.hu>
7297
7298         * po/LINGUAS:
7299         * po/hu.po:
7300           Added Hungarian translation.
7301
7302 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7303
7304         * po/fi.po:
7305         * po/it.po:
7306         * po/nl.po:
7307         * po/sv.po:
7308         * po/uk.po:
7309           Updated translations.
7310
7311 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
7312
7313         * libs/gst/controller/Makefile.am:
7314         Dist gstlfocontrolsourceprivate.h
7315
7316 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
7317
7318         * docs/libs/gstreamer-libs.types:
7319         Don't register the enum type gst_lfo_waveform_get_type() in the
7320         .types file - only GObject derived types belong.
7321
7322 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
7323
7324         Patch by: <arenevier at fdn dot fr>
7325
7326         * gst/gstbuffer.h:
7327         Remove comma from last element in enum to avoid compile errors when
7328         using -pendantic. Fixes #464366.
7329
7330 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
7331
7332         * docs/design/part-TODO.txt:
7333         Add some more TODO items
7334
7335         * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
7336         Improve debugging.
7337
7338         * gst/gstcaps.c: (gst_caps_intersect):
7339         Optimize trivial intersection case between identical caps pointers.
7340
7341         * gst/gstelement.c: (gst_element_continue_state),
7342         (gst_element_set_state_func):
7343         * gst/gstpad.c:
7344         Fix spelling and grammar mistakes.
7345
7346 2007-08-05  Stefan Kost  <ensonic@users.sf.net>
7347
7348         * po/POTFILES.in:
7349         * po/POTFILES.skip:
7350           Update POTFILES. Fixes #461599.
7351
7352 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
7353
7354         * gst/gst.c:
7355         Fix confusing typo in debug output.
7356
7357 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
7358
7359         reviewed by: Stefan Kost <ensonic@users.sf.net>
7360
7361         * libs/gst/controller/Makefile.am:
7362         * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
7363         (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
7364         (gst_lfo_control_source_new),
7365         (gst_lfo_control_source_set_waveform),
7366         (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
7367         (gst_lfo_control_source_finalize),
7368         (gst_lfo_control_source_dispose),
7369         (gst_lfo_control_source_set_property),
7370         (gst_lfo_control_source_get_property),
7371         (gst_lfo_control_source_class_init):
7372         * libs/gst/controller/gstlfocontrolsource.h:
7373         * libs/gst/controller/gstlfocontrolsourceprivate.h:
7374         API: Add GstLFOControlSource, a control source that gives values
7375         for specific timestamps based on several periodic waveforms.
7376         Fixes #459717.
7377
7378         * tests/check/libs/controller.c: (GST_START_TEST),
7379         (gst_controller_suite):
7380         * docs/libs/gstreamer-libs-docs.sgml:
7381         * docs/libs/gstreamer-libs-sections.txt:
7382         * docs/libs/gstreamer-libs.types:
7383         Add documentation and unit tests for GstLFOControlSource.
7384
7385 2007-08-03  Jan Schmidt  <thaytan@mad.scientist.com>
7386
7387         * configure.ac:
7388         Back to CVS
7389
7390 === release 0.10.14 ===
7391
7392 2007-08-03  Jan Schmidt <thaytan@mad.scientist.com>
7393
7394         * configure.ac:
7395           releasing 0.10.14, "Breathing Vacuum"
7396
7397 2007-08-02  Tim-Philipp Müller  <tim at centricular dot net>
7398
7399         * gst/gstelement.c: (gst_element_class_set_details_simple):
7400         * gst/gstelement.h:
7401           Make strings passed to gst_element_class_set_details_simple()
7402           constant, as they should be (#462752).
7403
7404 2007-08-02  Wim Taymans  <wim.taymans@gmail.com>
7405
7406         * gst/gstbin.c: (gst_bin_change_state_func),
7407         (bin_handle_async_done), (gst_bin_handle_message_func):
7408         Don't forget about the fact that some element went ASYNC even after a
7409         resync. This makes us post the ASYNC_DONE message correctly.
7410         Fixes #462558.
7411
7412 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
7413
7414         * gst/gstregistry.c: (gst_registry_add_feature):
7415         When replacing an existing feature in the registry, make sure to
7416         continue holding a reference until we've replaced the name string
7417         within our feature hash table. Make sure to use g_hash_table_replace
7418         instead of g_hash_table_insert to ensure the new name string is used
7419         as a key instead of the old one that we're about to free.
7420         Fixes: #462085
7421
7422 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
7423
7424         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7425         (gst_plugin_feature_set_name):
7426         Revert patch from #459466 until after the release and we can work
7427         out exactly what the problem is (if any).
7428
7429 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
7430
7431         * docs/gst/gstreamer-sections.txt:
7432         * gst/gsttaglist.c:
7433         * gst/gsttaglist.h:
7434           API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
7435
7436 2007-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
7437
7438         * docs/libs/Makefile.am:
7439         Include our build-prefix libs and includes before the generic ones to
7440         avoid linking against the installed libs when we want the build-tree
7441         ones.
7442
7443 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
7444
7445         Patch by: Steve Fink  <sphink gmail com>
7446
7447         * docs/pwg/building-testapp.xml:
7448           Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
7449           if people try to build or install the example from the plugin
7450           template against a GStreamer from package using the configure
7451           defaults.
7452
7453 2007-07-25  Tim-Philipp Müller  <tim at centricular dot net>
7454
7455         Patch by: Steve Fink  <sphink gmail com>
7456
7457         * tools/gst-inspect.1.in:
7458           Document --print-all and --print-plugin-auto-install-info command
7459           line options in man page.
7460
7461 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
7462
7463         * docs/gst/gstreamer-sections.txt:
7464         Add docs for new api function.
7465
7466 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
7467
7468         * gst/gstelementfactory.c: (gst_element_factory_has_interface):
7469         * gst/gstelementfactory.h:
7470         API: gst_element_factory_has_interface()
7471         Added method to check if an element factory implements a named
7472         interface.
7473
7474 2007-07-25  Stefan Kost  <ensonic@users.sf.net>
7475
7476         * configure.ac:
7477         * docs/gst/gstreamer.types.in:
7478           Another conditional doc check.
7479
7480         * gst/gstmessage.c:
7481         * gst/gstparamspecs.h:
7482         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7483         * gst/gstvalue.c:
7484         * gst/gstxml.h:
7485           API-doc fixes.
7486
7487 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7488
7489         * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
7490         (gst_registry_binary_load_feature),
7491         (gst_registry_binary_load_plugin),
7492         (gst_registry_binary_read_cache):
7493           Print error just once and with additional info.
7494
7495 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7496
7497         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
7498         (helper_find_suggest), (helper_find_get_length),
7499         (gst_type_find_helper_get_range), (buf_helper_find_suggest),
7500         (gst_type_find_helper_for_buffer):
7501           Cleanup the typefindhelper code and add private doc comments.
7502
7503 2007-07-24  Edward Hervey  <bilboed@bilboed.com>
7504
7505         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7506         (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
7507         Fix capsfilter for cases where the caps set on capsfilter will provide
7508         additional information.
7509         Fixes #449197
7510
7511 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7512
7513         * gst/gsttypefindfactory.c:
7514           Fix docs that recommened wrong function to use.
7515
7516 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7517
7518         * tools/gst-inspect.c: (print_plugin_features):
7519           Also give media-type for typefinders in element output.
7520
7521 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7522
7523         * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
7524         (gst_registry_remove_features_for_plugin_unlocked),
7525         (gst_registry_add_feature), (gst_registry_remove_feature),
7526         (gst_registry_lookup_feature_locked):
7527         * gst/gstregistry.h:
7528           Speed up gst_registry_lookup_feature_locked() by using a hashmap.
7529           Fixes #459501.
7530
7531 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7532
7533         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7534         (gst_plugin_feature_set_name):
7535           Avoid double memory usage for pluginfeature names. Fixes #459466.
7536
7537 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
7538
7539         * gst/gstpad.h:
7540           Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
7541           driving the pipeline may need to explicitly check for NOT_LINKED as
7542           well, since IS_FATAL doesn't cover that.
7543
7544 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
7545
7546         * docs/pwg/advanced-types.xml:
7547           Fix typo and duplicate entry in video formats list.
7548
7549 2007-07-22  Sebastian Dröge  <slomo@circular-chaos.org>
7550
7551         * libs/gst/controller/gstinterpolation.c:
7552         Also round to the nearest int when using cubic interpolation.
7553
7554 2007-07-19  Jan Schmidt  <thaytan@noraisin.net>
7555
7556         * libs/gst/controller/gstinterpolation.c:
7557         When linearly interpolating integer types, round to the nearest int
7558         by adding 0.5. Don't do it for float/double types.
7559         Fixes the failing controller test on my machine, which is somehow
7560         rounding differently than on the buildbots.
7561
7562 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7563
7564         * tools/gst-plot-timeline.py:
7565           Better log parsing (categories can have -). Adjust text vs. lines, so
7566           that they span the same y-range.        
7567
7568 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7569
7570         * docs/random/ensonic/audiobaseclasses.txt:
7571         * docs/random/ensonic/dynlink.txt:
7572         * docs/random/ensonic/profiling.txt:
7573           Save my thoughts.
7574
7575         * docs/random/moving-plugins:
7576           Add note to use g_assert type macros.
7577
7578 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7579
7580         * configure.ac:
7581         * libs/gst/check/Makefile.am:
7582           Add libm check as we use in for plugins.
7583
7584 2007-07-18  Jan Schmidt  <thaytan@noraisin.net>
7585
7586         * gst/gstbin.c: (gst_bin_continue_func):
7587         Check that the state_cookie hasn't changed since the continue_func
7588         was scheduled. Avoids problems where the state changes back to
7589         something it shouldn't be because it was changed in the meantime.
7590
7591 2007-07-17  Stefan Kost  <ensonic@users.sf.net>
7592
7593         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
7594         (gst_registry_binary_save_string),
7595         (gst_registry_binary_save_pad_template),
7596         (gst_registry_binary_save_feature),
7597         (gst_registry_binary_save_plugin),
7598         (gst_registry_binary_load_feature),
7599         (gst_registry_binary_load_plugin),
7600         (gst_registry_binary_read_cache):
7601           Fix memory leak. Be less verbose in the log.
7602
7603 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7604
7605         * tests/check/elements/.cvsignore:
7606         Add file to cvsignore as commanded.
7607
7608 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7609
7610         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
7611         (mq_dummypad_event), (run_output_order_test):
7612         Use a GStaticMutex to protect all cases where libcheck
7613         fail_if/fail_unless macros might be called from multiple threads
7614         simultaneously to avoid errors like:
7615           "check_pack.c:107: :-1081725400:Bad message type arg"
7616
7617 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7618
7619         * tests/check/pipelines/stress.c: (GST_START_TEST):
7620         Make sure we set the pipeline back to the NULL state before
7621         dropping our final reference.
7622
7623 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7624
7625         * tests/check/elements/tee.c: (GST_START_TEST):
7626         Make the tee stress-test a little less stressful so it doesn't just
7627         time out on slow-machines, and remove a small race when it's starting 
7628         up by adding a get_state() call.
7629
7630 2007-07-16  Stefan Kost  <ensonic@users.sf.net>
7631
7632         * gst/gst.c:
7633           Avoid reading registry twice on startup. Fixes #457322.
7634
7635 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
7636
7637         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7638         * pkgconfig/gstreamer-check.pc.in:
7639         Substitute the CFLAGS for libcheck into our .pc file too so that
7640         dependent modules will pick it up properly if libcheck is installed
7641         into some other prefix.
7642
7643 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
7644
7645         * configure.ac:
7646         Revert the pkg-config check for libcheck, since it pulls in the
7647         wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
7648         a proper solution, either from the check project, or something else.
7649
7650 2007-07-12  Stefan Kost  <ensonic@users.sf.net>
7651
7652         * configure.ac:
7653           Use pkg-config to locate check.
7654
7655 2007-07-10  Stefan Kost  <ensonic@users.sf.net>
7656
7657         * gst/gsttaglist.c:
7658           Fix doc syntax.
7659
7660         * gst/gstutils.c:
7661         * gst/gstutils.h:
7662           Add deprecation guards.
7663
7664         * libs/gst/base/gstcollectpads.h:
7665           Don't document object (this is implicitly private).
7666
7667 2007-07-08  Tim-Philipp Müller  <tim at centricular dot net>
7668
7669         * gst/gststructure.c: (gst_structure_parse_value):
7670           When deserialising foo=bar without a type cast, check if it's a
7671           boolean before falling back to a string type, otherwise things like
7672           audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
7673           because the filtercaps end up having a signed=(string)true field,
7674           which causes problems later when intersection caps.
7675
7676         * tests/check/gst/gststructure.c: (GST_START_TEST):
7677           Add a unit test for this.
7678
7679 2007-07-06  Sebastian Dröge  <slomo@circular-chaos.org>
7680
7681         Reviewed by: Stefan Kost <ensonic@users.sf.net>
7682
7683         * libs/gst/controller/Makefile.am:
7684         * libs/gst/controller/gstcontroller.c:
7685         (gst_controlled_property_add_interpolation_control_source),
7686         (gst_controlled_property_new), (gst_controlled_property_free),
7687         (gst_controller_find_controlled_property),
7688         (gst_controller_new_valist), (gst_controller_new_list),
7689         (gst_controller_new), (gst_controller_remove_properties_valist),
7690         (gst_controller_remove_properties_list),
7691         (gst_controller_remove_properties),
7692         (gst_controller_set_property_disabled),
7693         (gst_controller_set_disabled), (gst_controller_set_control_source),
7694         (gst_controller_get_control_source), (gst_controller_get),
7695         (gst_controller_sync_values), (gst_controller_get_value_array),
7696         (_gst_controller_dispose), (gst_controller_get_type),
7697         (gst_controlled_property_set_interpolation_mode),
7698         (gst_controller_set), (gst_controller_set_from_list),
7699         (gst_controller_unset), (gst_controller_unset_all),
7700         (gst_controller_get_all), (gst_controller_set_interpolation_mode):
7701         * libs/gst/controller/gstcontroller.h:
7702         * libs/gst/controller/gstcontrollerprivate.h:
7703         * libs/gst/controller/gstcontrolsource.c:
7704         (gst_control_source_class_init), (gst_control_source_init),
7705         (gst_control_source_get_value),
7706         (gst_control_source_get_value_array), (gst_control_source_bind):
7707         * libs/gst/controller/gstcontrolsource.h:
7708         * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
7709         (gst_object_get_control_source):
7710         * libs/gst/controller/gstinterpolation.c:
7711         (gst_interpolation_control_source_find_control_point_node),
7712         (gst_interpolation_control_source_get_first_value),
7713         (_interpolate_none_get), (interpolate_none_get),
7714         (interpolate_none_get_boolean_value_array),
7715         (interpolate_none_get_enum_value_array),
7716         (interpolate_none_get_string_value_array),
7717         (_interpolate_trigger_get), (interpolate_trigger_get),
7718         (interpolate_trigger_get_boolean_value_array),
7719         (interpolate_trigger_get_enum_value_array),
7720         (interpolate_trigger_get_string_value_array):
7721         * libs/gst/controller/gstinterpolationcontrolsource.c:
7722         (gst_control_point_free), (gst_interpolation_control_source_reset),
7723         (gst_interpolation_control_source_new),
7724         (gst_interpolation_control_source_set_interpolation_mode),
7725         (gst_interpolation_control_source_bind),
7726         (gst_control_point_compare), (gst_control_point_find),
7727         (gst_interpolation_control_source_set_internal),
7728         (gst_interpolation_control_source_set),
7729         (gst_interpolation_control_source_set_from_list),
7730         (gst_interpolation_control_source_unset),
7731         (gst_interpolation_control_source_unset_all),
7732         (gst_interpolation_control_source_get_all),
7733         (gst_interpolation_control_source_get_count),
7734         (gst_interpolation_control_source_init),
7735         (gst_interpolation_control_source_finalize),
7736         (gst_interpolation_control_source_dispose),
7737         (gst_interpolation_control_source_class_init):
7738         * libs/gst/controller/gstinterpolationcontrolsource.h:
7739         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
7740         API: Refactor GstController into the core controller which can take
7741         a GstControlSource for providing actual values for timestamps.
7742         Implement a interpolation control source and use this for backward
7743         compatibility, deprecate a bunch of functions that are now handled
7744         by GstControlSource or GstInterpolationControlSource.
7745         Make it possible to disable the controller completely or only for
7746         specific properties. Fixes #450711.
7747         * docs/libs/gstreamer-libs-docs.sgml:
7748         * docs/libs/gstreamer-libs-sections.txt:
7749         * docs/libs/gstreamer-libs.types:
7750         Add new functions and classes to the docs.
7751         * tests/check/libs/controller.c: (GST_START_TEST),
7752         (gst_controller_suite):
7753         * tests/examples/controller/audio-example.c: (main):
7754         Port unit test and example to the new API and add some new
7755         unit tests.
7756
7757 2007-07-05  Wim Taymans  <wim.taymans@gmail.com>
7758
7759         Patch by: Mark Nauwelaerts <manauw at skynet be>
7760
7761         * plugins/elements/gstmultiqueue.c:
7762         (gst_multi_queue_get_internal_links), (apply_buffer),
7763         (single_queue_overrun_cb), (gst_single_queue_new):
7764         Implement non-default GstPadIntLinkFunction for multiqueue pads so that
7765         the pipeline layout can be tracked correctly. Fixes #453732.
7766
7767 2007-07-05  Stefan Kost  <ensonic@users.sf.net>
7768
7769         * docs/gst/Makefile.am:
7770         * docs/libs/Makefile.am:
7771         * docs/plugins/Makefile.am:
7772           Simplify --extra-dir as gtkdoc scans recursively.
7773
7774 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
7775
7776         * tools/gst-launch.c: (main):
7777         When we got an error, there is no point in waiting for preroll when
7778         shutting down.
7779
7780 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
7781
7782         * plugins/elements/gsttee.c: (gst_tee_base_init),
7783         (gst_tee_request_new_pad), (gst_tee_release_pad),
7784         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
7785         (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
7786         (gst_tee_chain):
7787         Be a lot smarter when deciding what srcpad to use for proxying
7788         the buffer_alloc. Also handle pad added/removed when doing so.
7789         Fixes #357959.
7790         Keep track of what pads we already pushed on in case we have pads
7791         added/removed while pushing. Fixes #374639 
7792
7793         * tests/check/Makefile.am:
7794         * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
7795         (tee_suite):
7796         Added unit test for pad resync.
7797
7798 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7799
7800         * po/nl.po:
7801         * po/sv.po:
7802           Updated translations.
7803
7804 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7805
7806         translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
7807
7808         * po/LINGUAS:
7809         * po/fi.po:
7810           Added new Finnish translation.
7811
7812 2007-06-28  Wim Taymans  <wim@fluendo.com>
7813
7814         * plugins/elements/gstmultiqueue.c: (apply_buffer),
7815         (single_queue_overrun_cb):
7816         When figuring out when a queue is filled, use our internal time estimate
7817         based on segments, just like check_full does.
7818
7819 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
7820
7821         * gst/gstminiobject.c: (gst_mini_object_get_type):
7822           Remove 3 do-nothing methods.
7823
7824 2007-06-27  Wim Taymans  <wim@fluendo.com>
7825
7826         Patch by: Tim Angus <tim at ngus dot net>
7827
7828         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7829         (gst_capsfilter_set_property):
7830         Take a reference instead of a copy when setting "caps".
7831         Fix documentation to clarify this behaviour. Fixes #449414.
7832
7833 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
7834
7835         * gst/gstindexfactory.c: (gst_index_factory_get_type):
7836         * gst/gstplugin.c: (gst_plugin_init):
7837         * gst/gstpluginfeature.c: (gst_plugin_feature_init):
7838         * gst/gstquery.c: (gst_query_get_type):
7839         * gst/gstregistry.c: (gst_registry_init):
7840         * gst/gsturi.c: (gst_uri_handler_base_init):
7841           Remove empty instance_init() functions to save relocs and lessen the
7842           noise. Remove some of the function prototypes that are doubled by
7843           G_DEFINE_TYPE.
7844           
7845 2007-06-27  Wim Taymans  <wim@fluendo.com>
7846
7847         Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
7848
7849         * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
7850         Add peer and direction in the XML serialisation of ghostpads.
7851         Fixes #449226.
7852
7853 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
7854
7855         * configure.ac:
7856           Preserve useful information, thanks Tim.
7857
7858 2007-06-26  Jan Schmidt  <thaytan@noraisin.net>
7859
7860         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
7861         (gst_single_queue_flush), (apply_segment), (apply_buffer),
7862         (gst_single_queue_push_one), (gst_multi_queue_loop),
7863         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
7864         (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
7865         (compute_high_id), (gst_single_queue_new):
7866         * plugins/elements/gstmultiqueue.h:
7867         Take the multiqueue lock when updating the fill level so we don't get
7868         confused. 
7869
7870         After applying a buffer or event on the src pad segment, make sure to
7871         call gst_data_queue_limits_changed() to get the data queue to unblock
7872         and check the filled state again.
7873         
7874         Rework the not-linked pad handling so the logic is that not-linked 
7875         pads can push as fast as they like, but only so they never get 
7876         ahead of any linked pads.
7877
7878         * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
7879         (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
7880         (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
7881
7882         Add a test to check that not-linked pads always stay behind
7883         linked pads.
7884
7885         Fixes: #430682
7886
7887 2007-06-26  Jan Schmidt  <thaytan@mad.scientist.com>
7888
7889         * docs/random/release:
7890           Some updates to the release procedure.
7891
7892 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
7893
7894         * gst/gstelementfactory.c: (__gst_element_details_clear):
7895           Microoptimization that saves stunning 80 bytes.
7896
7897 2007-06-25  Stefan Kost  <ensonic@users.sf.net>
7898
7899         * docs/plugins/gstreamer-plugins.args:
7900         * docs/plugins/inspect/plugin-coreelements.xml:
7901         * docs/plugins/inspect/plugin-coreindexers.xml:
7902           Update docs with caps info.
7903
7904 2007-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7905
7906         * po/it.po:
7907           Updated Italian translation.
7908
7909 2007-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7910
7911         * ChangeLog:
7912         * po/vi.po:
7913           Update Vietnamese translations.
7914
7915 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
7916
7917         * libs/gst/base/gstbasesink.c:
7918           Remove unused signal enum.
7919
7920 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
7921
7922         * docs/gst/gstreamer-sections.txt:
7923         * gst/gstelement.c:
7924         * gst/gstutils.c: (gst_type_register_static_full):
7925         Beef up and include the docs for gst_type_register_static_full and
7926         gst_element_class_set_details_simple and add the API keyword
7927         in the ChangeLog.
7928
7929 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
7930
7931         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
7932         (update_time_level), (gst_single_queue_push_one),
7933         (gst_multi_queue_chain), (gst_multi_queue_sink_event),
7934         (single_queue_overrun_cb), (single_queue_underrun_cb),
7935         (single_queue_check_full):
7936         Fix setting max-* properties after adding queues.
7937         Use IS_FILLED for checking visible items.
7938         Signal overrun if multiple queues overrun.
7939         Add extra debug output.
7940         Patch by: Wim Taymans <wim@fluendo.com>
7941
7942 2007-06-21  Stefan Kost  <ensonic@users.sf.net>
7943
7944         * gst/gstelement.c: (gst_element_class_set_details_simple):
7945         * gst/gstelement.h:
7946         * gst/gstutils.c: (gst_type_register_static_full):
7947         * gst/gstutils.h:
7948         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
7949         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
7950         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
7951         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
7952         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
7953         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
7954         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
7955         * plugins/elements/gstidentity.c: (gst_identity_base_init):
7956         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
7957         * plugins/elements/gstqueue.c: (gst_queue_base_init),
7958         (apply_buffer), (gst_queue_chain):
7959         * plugins/elements/gsttee.c: (gst_tee_base_init):
7960         * plugins/elements/gsttypefindelement.c:
7961         (gst_type_find_element_base_init),
7962         (gst_type_find_element_class_init):
7963           Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
7964           API: add gst_type_register_static_full
7965           API: add gst_element_class_set_details_simple
7966
7967 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
7968
7969         * docs/pwg/advanced-types.xml:
7970           Fix typo in iana.org URI.
7971
7972 2007-06-19  Andy Wingo  <wingo@pobox.com>
7973
7974         * tests/check/pipelines/simple-launch-lines.c
7975         (test_state_change_returns): Enable pull-mode tests now that
7976         basesink has been fixed.
7977
7978         * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
7979         Changed from gst_base_sink_is_prerolled, reversing the sense of
7980         the return value. Returns FALSE also if the sink is in pull mode,
7981         in which case it needs no preroll.
7982         (gst_base_sink_query, gst_base_sink_change_state): Update for
7983         needs_preroll change.
7984         (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
7985         chaining up, in which we return SUCCESS directly if we activated
7986         in pull mode instead of ASYNC. Involves countering an async_start
7987         message sent before chaining up; not sure if this is correct, in
7988         an ideal world we only send async-start when activating in push
7989         mode.
7990
7991         * tests/check/pipelines/simple-launch-lines.c
7992         (test_state_change_returns): New test, partially disabled until
7993         basesink is fixed.
7994
7995 2007-06-19  Wim Taymans  <wim@fluendo.com>
7996
7997         * plugins/elements/gstmultiqueue.c: (apply_buffer),
7998         (gst_multi_queue_sink_event):
7999         Fix event leak.
8000
8001 2007-06-19  Wim Taymans  <wim@fluendo.com>
8002
8003         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
8004         (gst_bin_change_state_func), (bin_push_state_continue),
8005         (bin_handle_async_start), (bin_handle_async_done),
8006         (gst_bin_handle_message_func):
8007         Move the common code for posting state-change messages into
8008         one function.
8009         Broadcast the state signal after we posted the messages.
8010         Mark the bin as busy when it's doing a state-change.
8011         Make sure async-start/done messages don't interfere with the bin's
8012         state when it's busy.
8013         After the state change, let the bin check which elements completed the
8014         state change while it was busy so that it can update its state.
8015
8016 2007-06-19  Jan Schmidt  <thaytan@mad.scientist.com>
8017
8018         * docs/random/release:
8019         Add a note about updating the doap file to the release checklist
8020
8021 2007-06-18  Wim Taymans  <wim@fluendo.com>
8022
8023         * plugins/elements/gstmultiqueue.c: (apply_buffer),
8024         (gst_single_queue_push_one), (gst_multi_queue_chain),
8025         (gst_multi_queue_sink_event):
8026         Make sure we don't reference the buffer/event after we have given away
8027         ownership in the queue.
8028
8029 2007-06-18  Wim Taymans  <wim@fluendo.com>
8030
8031         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
8032         (gst_multi_queue_chain), (gst_multi_queue_sink_event):
8033         Update queue state _after_ adding the item in the queue because else we
8034         could end up being full without the element added yet.
8035
8036 2007-06-18  Wim Taymans  <wim@fluendo.com>
8037
8038         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
8039         (gst_bin_remove_func), (gst_bin_get_state_func),
8040         (gst_bin_element_set_state), (gst_bin_continue_func),
8041         (bin_push_state_continue), (bin_handle_async_start),
8042         (bin_handle_async_done), (gst_bin_handle_message_func):
8043         * gst/gstbin.h:
8044         Immediatly commit the toplevel bin state when receiving an async-done
8045         message. This enables us to avoid spawning a thread to commit the state
8046         in some common cases and it also avoids some races.
8047         Avoid spawning a state thread when adding/removing async elements to a
8048         toplevel bin. Instead we immediatly update the bin state.
8049         Get rid of iterating all the children when getting the state in the bin
8050         because it is now always up-to-date.
8051         Fix bug where locked elements would always return _SUCCESS even it they
8052         returned NO_PREROLL before being locked.
8053         Fix the order of the state_change, async-start/done messages that was
8054         sometimes incorrect.
8055         Mark the state_dirty field as deprecated, we don't need it anymore as we
8056         are always up-to-date.
8057
8058         * gst/gstelement.c: (gst_element_get_state_func),
8059         (gst_element_continue_state):
8060         Small debug inprovements.
8061         Return the previous element state return when nothing is pending instead
8062         of blindly returning SUCCESS.
8063
8064         * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
8065         (gst_sinks_suite):
8066         Add a whole bunch of new testcases.
8067
8068 2007-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8069
8070         * po/uk.po:
8071         * po/vi.po:
8072           Update translations.
8073
8074 2007-06-15  Jan Schmidt  <thaytan@mad.scientist.com>
8075
8076         * gst/gstpad.c:
8077         Fix typo in the docs.
8078
8079 2007-06-15  Wim Taymans  <wim@fluendo.com>
8080
8081         * docs/libs/gstreamer-libs-sections.txt:
8082         Add docs for new methods.
8083
8084 2007-06-15  Wim Taymans  <wim@fluendo.com>
8085
8086         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
8087         (gst_multi_queue_item_new):
8088         Don't use GSlice because we don't depend on >= 2.10 yet.
8089
8090 2007-06-15  Wim Taymans  <wim@fluendo.com>
8091
8092         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
8093         (update_time_level), (apply_segment), (apply_buffer),
8094         (gst_single_queue_push_one), (gst_multi_queue_item_new),
8095         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
8096         (gst_multi_queue_sink_event), (single_queue_overrun_cb),
8097         (single_queue_underrun_cb), (single_queue_check_full):
8098         Remove debug printf.
8099
8100 2007-06-15  Wim Taymans  <wim@fluendo.com>
8101
8102         * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
8103         (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
8104         (gst_data_queue_set_flushing), (gst_data_queue_push),
8105         (gst_data_queue_pop), (gst_data_queue_drop_head),
8106         (gst_data_queue_limits_changed), (gst_data_queue_get_level):
8107         * libs/gst/base/gstdataqueue.h:
8108         Various cleanups.
8109         Added methods to get the current levels and to inform the queue that the
8110         'full' limits changed.
8111
8112         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
8113         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
8114         (gst_single_queue_flush), (update_time_level), (apply_segment),
8115         (apply_buffer), (gst_single_queue_push_one),
8116         (gst_multi_queue_item_steal_object),
8117         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
8118         (gst_multi_queue_loop), (gst_multi_queue_chain),
8119         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
8120         (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
8121         (gst_multi_queue_src_query), (single_queue_overrun_cb),
8122         (single_queue_underrun_cb), (single_queue_check_full),
8123         (gst_single_queue_new):
8124         Keep track of time in the queue by measuring the difference between
8125         running_time on input and output. This gives more accurate results and
8126         can compensate for segments correctly.
8127         Make a queue by default only 5 buffers deep. We will now increase the
8128         buffer size depending on the filledness of the other queues.
8129         Factor out commong flush code.
8130         Make sure we don't add additional refcounts to buffers when we can avoid
8131         it.
8132         Propagate GstFlowReturn differently.
8133         Use GSlice for intermediate GstMultiQueueItems.
8134         Keep track of EOS.
8135         Resize queues on over and underruns based on filled level of other
8136         queues.
8137         When checking if the queue is filled, prefer to measure in time if we
8138         can and fall back to bytes when no time is known.
8139
8140         * plugins/elements/gstqueue.c:
8141         Fix return value.
8142
8143 2007-06-15  Wim Taymans  <wim@fluendo.com>
8144
8145         * libs/gst/base/gstbasetransform.c:
8146         (gst_base_transform_sink_event):
8147         Work around the brokenness of the event vmethod in basetransform. Prefer
8148         to return TRUE when the subclass returned FALSE (meaning don't forward
8149         the event). 
8150
8151         * libs/gst/base/gstbasetransform.h:
8152         Clarify the docs.
8153
8154 2007-06-15  Wim Taymans  <wim@fluendo.com>
8155
8156         * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
8157         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
8158         (gst_base_src_default_query), (gst_base_src_get_range),
8159         (gst_base_src_start):
8160         * tests/check/pipelines/parse-launch.c: (setup_pipeline):
8161         Improve debugging.
8162
8163 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
8164
8165         * docs/pwg/advanced-types.xml:
8166           Added more formats to caps table.
8167
8168 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
8169
8170         * tools/gst-launch.c: (main):
8171           Remove crufy code. GOption does not need this workaround.
8172
8173 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
8174
8175         * libs/gst/controller/gstcontroller.c:
8176         (gst_controlled_property_set_interpolation_mode):
8177           Fix wrong getter for enums in controller.
8178
8179 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8180
8181         * libs/gst/check/gstcheck.c: (gst_check_init):
8182           Intercept criticals and warnings in the Gst-Phonon log domain, so
8183           ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
8184           well.
8185         
8186 2007-06-14  Edward Hervey  <edward@fluendo.com>
8187
8188         * gst/gstparamspecs.c: (_gst_param_fraction_validate):
8189         Since this file doesn't include "gst.h" it will not go through the
8190         macros that disable GST_LOG if debugging was disabled.
8191
8192 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8193
8194         * libs/gst/check/Makefile.am:
8195         * libs/gst/check/gstcheck.h:
8196         * pkgconfig/gstreamer-check-uninstalled.pc.in:
8197         * pkgconfig/gstreamer-check.pc.in:
8198           Ugly 'fix' for the controller unit test on the p5 bot: in
8199           fail_unless_equals_float() check whether the values are 'almost
8200           equal' by allowing a small absolute error, which should be good
8201           enough for our use cases (normal numbers and values close to 0).
8202           Proper fixage left to floating point arithmetic aficionados.
8203
8204 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
8205
8206         * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
8207         (gst_base_sink_render_object), (gst_base_sink_get_position):
8208           Add two breaks thats where missing.
8209
8210 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8211
8212         * docs/libs/gstreamer-libs-sections.txt:
8213         * libs/gst/check/gstcheck.h:
8214           API: add fail_unless_equals_float() and assert_equals_float().
8215           Add documentation for some of the macros.
8216
8217         * tests/check/libs/controller.c: (GST_START_TEST):
8218           Use newly-added asserts.
8219
8220 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
8221
8222         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
8223           Show the caps change in the log to help spotting the case of not
8224           exactly matching caps.
8225
8226 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8227
8228         * docs/pwg/building-boiler.xml:
8229           Fix typos, spotted by Thijs Vermeir (#447190).
8230
8231 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8232
8233         * docs/plugins/tmpl/.cvsignore:
8234         Ignore file to keep the buildbots happy
8235
8236 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8237
8238         * docs/plugins/Makefile.am:
8239         * docs/plugins/gstreamer-plugins-docs.sgml:
8240         * docs/plugins/gstreamer-plugins-sections.txt:
8241         Pull fdsink into the docs too.
8242
8243 2007-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
8244
8245         * libs/gst/controller/gstinterpolation.c:
8246         Actually use the new functions with min/max checks for the trigger and
8247         none interpolation modes for get() and get_value_array() instead of
8248         just the latter.
8249
8250 2007-06-10  Sebastian Dröge  <slomo@circular-chaos.org>
8251
8252         * libs/gst/controller/gstcontroller.c:
8253         (gst_controlled_property_free):
8254         Unset the minimum and maximum GValues when freeing the corresponding
8255         GstControllerProperty struct.
8256
8257 2007-06-09  Sebastian Dröge  <slomo@circular-chaos.org>
8258
8259         * libs/gst/controller/gstcontroller.c:
8260         (gst_controlled_property_new):
8261         * libs/gst/controller/gstcontrollerprivate.h:
8262         * libs/gst/controller/gstinterpolation.c:
8263         (gst_controlled_property_find_control_point_node),
8264         (interpolate_none_get), (interpolate_none_get_enum_value_array),
8265         (interpolate_none_get_string_value_array),
8266         (interpolate_trigger_get),
8267         (interpolate_trigger_get_enum_value_array),
8268         (interpolate_trigger_get_string_value_array):
8269         Protect against values larger or smaller than the minimum or maximum
8270         allowed value for the property when using values that can be compared.
8271
8272         Optimize trigger interpolator a bit by taking the last requested value
8273         into account instead of always looping through the complete list.
8274
8275         Fix coding style a bit, everywhere else we use "return foo" instead
8276         of "return (foo)".
8277         
8278         * tests/check/libs/controller.c: (GST_START_TEST),
8279         (gst_controller_suite):
8280         Add unit test for the protection against too large or too small
8281         values.
8282
8283 2007-06-08  Sebastian Dröge  <slomo@circular-chaos.org>
8284
8285         * docs/random/slomo/controller.txt:
8286         Add some thoughts about the future of the controller.
8287
8288 2007-06-08  Wim Taymans  <wim@fluendo.com>
8289
8290         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
8291         Don't overflow in retimestamping code.
8292
8293 2007-06-07  Sebastien Moutte  <sebastien@moutte.net>
8294
8295         * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
8296         Use gst_util_guint64_to_gdouble for conversions.
8297         * win32/common/libgstreamer.def:
8298         Add new exported functions.
8299
8300 2007-06-07  Tim-Philipp Müller  <tim at centricular dot net>
8301
8302         * gst/gstutils.c:
8303           Small docs addition.
8304
8305 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8306
8307         * README:
8308           Remove that test line again.
8309
8310 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8311
8312         * README:
8313           Test commit mail sending.
8314
8315 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8316
8317         * configure.ac:
8318           Fix typo and test commit mail sending.
8319
8320 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8321
8322         * tests/examples/controller/audio-example.c:
8323           Improve comment and test commit mail sending.
8324
8325 2007-06-07  Wim Taymans  <wim@fluendo.com>
8326
8327         * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
8328         (gst_bin_remove_func), (gst_bin_element_set_state),
8329         (bin_handle_async_start), (bin_handle_async_done),
8330         (gst_bin_handle_message_func):
8331         Add helper function to find messages.
8332         Generate the async-done messages together with the state change
8333         messages.
8334         Small cleanups in handling toplevel bins.
8335
8336 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8337
8338         * libs/gst/base/gstdataqueue.c:
8339         * libs/gst/base/gstdataqueue.h:
8340         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
8341         (gst_multi_queue_item_new), (gst_multi_queue_chain),
8342         (gst_multi_queue_sink_event):
8343         * tests/check/elements/multiqueue.c: (multiqueue_suite):
8344           Fix multiqueue leaking buffers and events when downstream or the
8345           queue are flushing. Make refcounting assumptions explicit and
8346           document them (shouldn't break existing code that uses it other than
8347           maybe leak miniobjects, but that already happens anyway). Add unit
8348           test for the most common flushing case. Fixes #423700.
8349           
8350 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
8351
8352         * libs/gst/controller/gstcontroller.c:
8353         Clarify docs: The get_all, get_value_array(s) functions
8354         don't modify the GObject properties.
8355
8356 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
8357
8358         * libs/gst/controller/gstcontroller.c:
8359         (gst_controlled_property_set_interpolation_mode),
8360         (gst_controlled_property_prepend_default),
8361         (gst_controlled_property_new), (gst_controller_set_unlocked),
8362         (gst_controller_set), (gst_controller_set_from_list),
8363         (gst_controller_unset), (gst_controller_unset_all):
8364         * libs/gst/controller/gstcontrollerprivate.h:
8365         * libs/gst/controller/gstinterpolation.c:
8366         Factor out the 'set' logic into gst_controller_set_unlocked for the
8367         gst_controller_set and gst_controller_set_from_list functions.
8368
8369         To make life of the interpolators easier always add a control point
8370         at timestamp zero with the default value.
8371
8372         In the linear interpolator make things more obvious by better variable
8373         naming (slope).
8374
8375         Implement cubic interpolation mode (by using a natural cubic spline)
8376         and map the quadratic interpolation mode to this too (as quadratic
8377         doesn't make much sense, see discussion on the list).
8378
8379         * tests/check/libs/controller.c: (GST_START_TEST),
8380         (gst_controller_suite):
8381         Add unit test for the cubic interpolation mode and check everywhere
8382         if the interpolation mode could be set as expected.
8383
8384 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8385
8386         * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
8387           Don't use GLib-2.10 functions, we still depend on
8388           GLib-how-old-is-it-again-2.8.
8389
8390 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8391
8392         * docs/gst/gstreamer-sections.txt:
8393         * gst/Makefile.am:
8394         * gst/gst.c:
8395         * gst/gst.h:
8396         * gst/gstparamspecs.c: (_gst_param_fraction_init),
8397         (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
8398         (_gst_param_fraction_values_cmp),
8399         (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
8400         * gst/gstparamspecs.h:
8401         * gst/gstvalue.c:
8402         * tests/check/Makefile.am:
8403         * tests/check/gst/.cvsignore:
8404         * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
8405         (gst_dummy_obj_class_init), (gst_dummy_obj_init),
8406         (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
8407         (GST_START_TEST), (gst_param_spec_suite):
8408           API: add GstParamSpecFraction, so elements can have fraction
8409           properties without lots of painful string parsing (#444648).
8410
8411 2007-06-05  Wim Taymans  <wim@fluendo.com>
8412
8413         * gst/gstobject.c: (gst_object_class_init):
8414         Fix signal signature.
8415
8416         * gst/gstsegment.c:
8417         Add small clarification in the api docs.
8418
8419         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
8420         States are protected with object lock.
8421
8422 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
8423
8424         * AUTHORS:
8425         I should probably be listed as an author by now.
8426
8427         * docs/random/release:
8428         Update the release doc
8429
8430 2007-06-05  Tim-Philipp Müller  <tim at centricular dot net>
8431
8432         * gst/gstvalue.c:
8433           Make docs for gst_value_compare() mention return enums that
8434           actually exist.
8435
8436 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
8437
8438         * configure.ac:
8439           Back to CVS
8440
8441 === release 0.10.13 ===
8442
8443 2007-06-05  Jan Schmidt <thaytan@mad.scientist.com>
8444
8445         * configure.ac:
8446           releasing 0.10.13, "With or without you"
8447
8448 2007-05-25  Wim Taymans  <wim@fluendo.com>
8449
8450         * gst/gstbin.c: (bin_handle_async_done):
8451         Make sure that the child bin stops after completing the async state
8452         change so that the parent can continue the state change to PLAYING.
8453         Fixes #441159.
8454
8455 2007-05-25  Wim Taymans  <wim@fluendo.com>
8456
8457         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8458         (unref_data), (gst_collect_pads_remove_pad),
8459         (gst_collect_pads_check_pads):
8460         Use additional refcounting to avoid crashes when dynamically adding and
8461         removing pads. Fixes #420206.
8462
8463 2007-05-24  Wim Taymans  <wim@fluendo.com>
8464
8465         * tools/gst-launch.c: (event_loop):
8466         When buffering goes from a two digit to a single digit number, make sure
8467         to remove the old second digit by writing a blank over it.
8468
8469 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
8470
8471         * libs/gst/base/gstdataqueue.c:
8472           Eliminate tabs and trailing comma in enum list; fix some typos.
8473
8474 2007-05-24  Wim Taymans  <wim@fluendo.com>
8475
8476         * tests/check/gst/gstbin.c: (GST_START_TEST):
8477         Allow refcount of 3 and 4 because some state thread might still be busy
8478         with it.
8479
8480 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
8481
8482         * plugins/elements/Makefile.am:
8483         * plugins/elements/gstmultiqueue.h:
8484         * plugins/elements/gstqueue.h:
8485           These are not installed headers, no need for padding.
8486
8487 2007-05-24  Wim Taymans  <wim@fluendo.com>
8488
8489         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
8490         (gst_bin_continue_func):
8491         Enable latency for next release.
8492         Restore STATE_LOCK around recalc_state that was left out during the
8493         rewrite and could result in racy behaviour when _get_state and
8494         recalc_state are run concurrently. See #440463.
8495
8496 2007-05-23  Wim Taymans  <wim@fluendo.com>
8497
8498         * tests/check/gst/gstsystemclock.c: (store_callback),
8499         (GST_START_TEST):
8500         Improve test_async_order to also work when both timers are already
8501         expired when we get scheduled to check it.
8502
8503 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8504
8505         * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
8506         (gst_bin_set_property), (gst_bin_get_property),
8507         (gst_bin_remove_func), (gst_bin_handle_message_func):
8508         * gst/gstbin.h:
8509           'private' is a c++ keyword, let's not use that in header files,
8510           otherwise c++ compilers will throw a tantrum.
8511
8512 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8513
8514         * plugins/elements/gstelements.c:
8515         * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
8516         (gst_file_sink_get_current_offset):
8517         * plugins/indexers/gstindexers.c: (plugin_init):
8518           Use #ifdef for HAVE_XYZ for consistency.
8519
8520         * tests/check/Makefile.am:
8521         * tests/check/elements/.cvsignore:
8522         * tests/check/elements/filesink.c: (setup_filesink),
8523         (cleanup_filesink), (GST_START_TEST), (filesink_suite):
8524           Add some unit tests for filesink.
8525
8526 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8527
8528         Patch by: Mark Nauwelaerts <manauw at skynet be>
8529
8530         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
8531         (gst_file_sink_query), (gst_file_sink_do_seek),
8532         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8533         * plugins/elements/gstfilesink.h:
8534           Fix position reporting; rename data_written member to current_pos to
8535           reflect its real meaning (fixes #412648).
8536
8537 2007-05-22  Edward Hervey  <edward@fluendo.com>
8538
8539         * docs/gst/gstreamer-sections.txt:
8540         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
8541         (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
8542         (gst_bin_remove_func), (gst_bin_handle_message_func):
8543         * gst/gstbin.h:
8544         Add a property for bins that handle the state change of their childs.
8545         Fixes #435880
8546
8547 2007-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
8548
8549         * libs/gst/controller/gstinterpolation.c:
8550         Use an array of the correct type when using _get_value_array with
8551         linear interpolation.
8552
8553 2007-05-22  Stefan Kost  <ensonic@users.sf.net>
8554
8555         * gst/gstelement.c (gst_element_requires_clock,
8556           gst_element_provides_clock, gst_element_request_pad,
8557           gst_element_class_set_details, gst_element_class_set_details_simple,
8558           gst_element_default_send_event, gst_element_abort_state,
8559           gst_element_continue_state, gst_element_set_state,
8560           gst_element_set_state_func, iterator_activate_fold_with_resync):
8561         * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
8562           gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
8563           gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
8564           gst_pad_get_range, gst_pad_pull_range):
8565         * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
8566           GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
8567           GstPadActivateModeFunction, GstPadChainFunction,
8568           GstPadGetCapsFunction, GstPadAcceptCapsFunction,
8569           GstPadFixateCapsFunction, GstPadTemplate):
8570         * gst/gstpipeline.c (gst_pipeline_change_state,
8571           gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
8572           gst_pipeline_set_clock, gst_pipeline_auto_clock,
8573           gst_pipeline_get_delay):
8574           Whitespace and docs fixes.
8575
8576 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8577
8578         * libs/gst/controller/gstinterpolation.c:
8579         (interpolate_trigger_get_enum_value_array),
8580         (interpolate_trigger_get_string_value_array):
8581         Add support for retrieving value arrays when using the trigger
8582         interpolation mode. 
8583
8584 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8585
8586         * libs/gst/controller/gstcontroller.c:
8587         (gst_controller_get_value_array):
8588         * libs/gst/controller/gstcontroller.h:
8589         Clarify the docs of gst_controller_get_value_array(): The array where
8590         the values should be written to must be allocated as there seems to be
8591         no way to get the size of a random GType. This doesn't change any
8592         behaviour. Also fix some typos all over the place and remove an unused,
8593         commented function that is not necessary as g_object_set() could be
8594         used instead.
8595         * tests/check/libs/controller.c: (GST_START_TEST),
8596         (gst_controller_suite):
8597         Add unit test for gst_controller_get_value_array().
8598
8599 2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>
8600
8601         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
8602
8603         Disable part of the gst_buffer_try_new_and_alloc test, because
8604         it can happily succeed on 64-bit systems where there's more address
8605         space available.
8606
8607 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8608
8609         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
8610         Add unit test for the improved caps checking from bug #421543.
8611
8612 2007-05-21  Wim Taymans  <wim@fluendo.com>
8613
8614         * docs/design/part-synchronisation.txt:
8615         Small addition.
8616
8617         * gst/gstbin.c: (gst_bin_query):
8618         * plugins/elements/gstqueue.c: (apply_segment):
8619         Improve debugging.
8620
8621         * gst/gstmessage.h:
8622         Improve docs.
8623
8624 2007-05-21  Wim Taymans  <wim@fluendo.com>
8625
8626         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
8627         (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
8628         (gst_pad_configure_src):
8629         Added simple version of improved caps checking. It was previously
8630         assumed that a setcaps function would check the validity of the caps but
8631         people prefer us to check caps against the template automatically. 
8632         Fixes #421543.
8633
8634 2007-05-21  Wim Taymans  <wim@fluendo.com>
8635
8636         * libs/gst/base/gstbasetransform.h:
8637         Fix macro for locking/unlocking the transform lock.
8638
8639 2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
8640
8641         * docs/plugins/tmpl/.cvsignore:
8642           Ignore more.
8643
8644 2007-05-18  Edward Hervey  <edward@fluendo.com>
8645
8646         * plugins/elements/gstqueue.c: (gst_queue_loop):
8647         Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
8648         for the subtle art of warning a potentially blocking thread that it
8649         should check the source pad return value, and relay the information
8650         upstream.
8651
8652 2007-05-18  Edward Hervey  <edward@fluendo.com>
8653
8654         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
8655         Release the queue lock !
8656
8657 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8658
8659         * docs/libs/gstreamer-libs-sections.txt:
8660         Add the two new controller functions to the appropiate places.
8661
8662 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8663
8664         reviewed by: Stefan Kost <ensonic@users.sf.net>
8665
8666         * libs/gst/controller/gstcontroller.c:
8667         (gst_controller_suggest_next_sync), (gst_controller_sync_values),
8668         (_gst_controller_get_property), (_gst_controller_set_property),
8669         (_gst_controller_init), (_gst_controller_class_init):
8670         * libs/gst/controller/gstcontroller.h:
8671         * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
8672         (gst_object_get_control_rate), (gst_object_set_control_rate):
8673         API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
8674         Add API that provides sync suggestion timestamps for elements that
8675         call gst_object_sync_values() from which those elements can subdivide
8676         their processing loop to get the best results for the controlled
8677         properties. For now it just suggests last_sync + control_rate as
8678         new timestamp but this will be improved in the future.
8679
8680         While doing that change the control-rate property to a GstClockTime
8681         from guint and change it's meaning from samples to nanoseconds as
8682         the GstController doesn't know anything about sampling rate. Strictly
8683         speaking this breaks ABI but as the control-rate property didn't do
8684         anything in the past and as such couldn't be used this should be no
8685         problem.        
8686
8687 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8688
8689         reviewed by: Stefan Kost <ensonic@users.sf.net>
8690
8691         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
8692         (gst_controller_unset_all):
8693         * libs/gst/controller/gstcontrollerprivate.h:
8694         * libs/gst/controller/gstinterpolation.c:
8695         (gst_controlled_property_find_control_point_node):
8696         Save last synced value from the list to continue searching from there
8697         in future syncs. This speeds everything up a bit.
8698         
8699 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8700
8701         reviewed by: Stefan Kost <ensonic@users.sf.net>
8702
8703         * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
8704         (gst_control_point_find), (gst_controlled_property_new),
8705         (gst_control_point_free), (gst_controlled_property_free),
8706         (gst_controller_set), (gst_controller_set_from_list),
8707         (gst_controller_unset), (gst_controller_unset_all),
8708         (gst_controller_sync_values):
8709         * libs/gst/controller/gstcontroller.h:
8710         * libs/gst/controller/gstcontrollerprivate.h:
8711         * libs/gst/controller/gstinterpolation.c:
8712         (gst_controlled_property_find_control_point_node),
8713         (interpolate_none_get), (interpolate_trigger_get):
8714         Add a new private GstControlPoint struct which "inherits" from
8715         GstTimedValue to allow different interpolators to store internal
8716         values next to each control point. From the outside everything is
8717         still a GstControlPoint so we don't loose binary compatibility.
8718         Also fixup all the GValue handling to not leak GValues or list nodes.
8719         * tests/check/libs/controller.c: (GST_START_TEST):
8720         Free the list nodes and GValues in the controller_misc test.
8721
8722 2007-05-17  Edward Hervey  <edward@fluendo.com>
8723
8724         * gst/gstsegment.c:
8725         Small doc fix.
8726
8727 2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
8728
8729         * gst/gstplugin.c: (gst_plugin_load_file):
8730           If we fail to load a plugin because of unresolved symbols or missing
8731           libraries and spew a warning to stderr, we may just as well mention
8732           which plugin it was that failed to load.
8733
8734 2007-05-13  David Schleef  <ds@schleef.org>
8735
8736         * docs/Makefile.am: the gtk-doc makefile snippet correctly
8737           handles the case when ENABLE_GTK_DOC is false, and installs
8738           the prebuilt documentation.  So gtk-doc subdirs are 
8739           unconditionally enabled.  Fixes: #349099.
8740
8741 2007-05-13  David Schleef  <ds@schleef.org>
8742
8743         * gst/gstutils.h: Reword some documentation.
8744
8745 2007-05-12  David Schleef  <ds@schleef.org>
8746
8747         * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
8748           do anything with the passed "module" parameter, so remove it.
8749           Allows removal of additional vestigal code.
8750
8751 2007-05-12  David Schleef  <ds@schleef.org>
8752
8753         * gst/gstplugin.c:
8754           Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
8755           Switch to using g_stat() because it's more portable.
8756
8757 2007-05-12  David Schleef  <ds@schleef.org>
8758
8759         * gst/gst.c:
8760           Add GST_DISABLE_OPTION_PARSING, in order to disable option
8761           parsing for embedded systems.
8762         * gst/gstelementfactory.c:
8763           Allow gst_element_register() to be called with plugin==NULL.
8764           Did nobody notice that static elements were broken?
8765
8766 2007-05-12  Wim Taymans  <wim@fluendo.com>
8767
8768         * tools/gst-launch.c: (event_loop):
8769         Give more interesting info when buffering starts and stops.
8770         Fix case where buffering starts but we fail to update the buffering flag
8771         because the target state is not PLAYING.
8772
8773 2007-05-12  Wim Taymans  <wim@fluendo.com>
8774
8775         * plugins/elements/gstqueue.c: (gst_queue_init),
8776         (gst_queue_finalize), (update_time_level), (apply_segment),
8777         (apply_buffer), (gst_queue_locked_flush),
8778         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
8779         (gst_queue_handle_sink_event), (gst_queue_chain),
8780         (gst_queue_push_one), (gst_queue_loop):
8781         * plugins/elements/gstqueue.h:
8782         Refactor an cleanup queue a bit.
8783         Do better time level calculations that also work when the srcpad is not
8784         yet running.
8785         Remove some unneeded debug lines.
8786
8787         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
8788         Added testcase for time level measurement.
8789         Try to make some stuff more racefree.
8790
8791 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
8792
8793         * gst/gsturi.c: (gst_element_make_from_uri):
8794           Don't leak plugin feature.
8795
8796         * tests/check/Makefile.am:
8797         * tests/check/gst/.cvsignore:
8798         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
8799           Add brain-dead unit test.
8800
8801 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
8802
8803         Patch by: Jeroen Wouters <woutersj at gmail com>
8804
8805         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
8806           Treat protocol strings in a case-insensitive way (#437563).
8807
8808 2007-05-11  Michael Smith <msmith@fluendo.com>
8809
8810         * gst/gstplugin.c: (gst_plugin_load_file):
8811         * gst/gstregistry.c: (gst_registry_scan_path_level):
8812           Don't print a g_warning for any failure to load a shared object.
8813           Instead, push this down into gstplugin.c, and warn _only_ if we
8814           failed to open the module (i.e. failure to link).
8815           Avoids warnings on normal, working, non-plugin .so files.
8816
8817 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
8818
8819         * gst/gstplugin.c (gst_plugin_load_file):
8820         * gst/gstregistry.c (GST_CAT_DEFAULT,
8821           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
8822           Print a g_warning if there was an error when loading a plugins during
8823           registry scan. The shuld help beginners starting with gst-plugin
8824           template.
8825
8826 2007-05-10  Wim Taymans  <wim@fluendo.com>
8827
8828         * plugins/elements/gstqueue.c: (gst_queue_class_init),
8829         (update_time_level), (gst_queue_locked_flush),
8830         (gst_queue_handle_sink_event), (gst_queue_chain),
8831         (gst_queue_push_one), (gst_queue_loop):
8832         * plugins/elements/gstqueue.h:
8833         Be smarter when calculating the current amount of data in the queue by
8834         measuring the difference between start and end timestamps (in running
8835         time) inside the queue. Fixes #432876.
8836         API: GstQueue::pushing to notify elements that we are pushing data again
8837         since the running signal is rather broken for this purpose.
8838
8839 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
8840
8841         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
8842           gst_queue_base_init, gst_queue_init):
8843           use GST_BOILERPLATE
8844
8845 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
8846
8847         * win32/common/libgstreamer.def:
8848         Add new exported functions.
8849         * win32/vs6/grammar.dsp:
8850         Use grammar pre-generated files.
8851
8852 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
8853
8854         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
8855
8856         * gst/Makefile.am:
8857         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
8858         * gst/gstparse.h:
8859         * gst/gstutils.c: (gst_parse_bin_from_description):
8860         * gst/gstutils.h:
8861           Maintain API and ABI when --disable-parse is used. Now that
8862           we have an appropriate error code, we can just return NULL and the
8863           appropriate error when gst_parse_launch() is used despite it having
8864           been disabled (#342564).
8865
8866         * tests/check/Makefile.am:
8867         * tests/check/pipelines/.cvsignore:
8868         * tests/check/pipelines/parse-disabled.c:
8869           Make sure these functions exist and return NULL plus a GError when
8870           --disable-parse is used.
8871
8872 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
8873
8874         * tests/benchmarks/complexity.c: (main):
8875         * tests/benchmarks/mass-elements.c: (main):
8876           Set a good example and don't leak messages.
8877
8878 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
8879
8880         * docs/gst/Makefile.am:
8881         * docs/libs/Makefile.am:
8882           Correct fixxrefs options.
8883
8884         * docs/plugins/Makefile.am:
8885         * docs/plugins/gstreamer-plugins-docs.sgml:
8886         * docs/plugins/gstreamer-plugins-sections.txt:
8887         * plugins/elements/Makefile.am:
8888         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
8889         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
8890           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
8891           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
8892           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
8893           _GstCapsFilterClass, trans_class):
8894         * plugins/elements/gstelements.c (name, rank, type, _elements):
8895         * plugins/elements/gstidentity.c
8896           (gst_identity_check_imperfect_timestamp,
8897           gst_identity_check_imperfect_offset):
8898           Document capsfilter and add doc-blurb to identity.
8899
8900 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
8901
8902         * libs/gst/controller/gstcontroller.c:
8903         (gst_controlled_property_set_interpolation_mode):
8904         * libs/gst/controller/gstinterpolation.c:
8905           Don't crash if someone tries to set an interpolation mode that
8906           is invalid or that isn't supported yet. Fixes #422295.
8907
8908         * tests/check/libs/controller.c: (GST_START_TEST),
8909         (gst_controller_suite):
8910           Add a test case for the above.
8911
8912 2007-05-03  Edward Hervey  <edward@fluendo.com>
8913
8914         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
8915         Properly set the last_stop position on GstSegment. This will only happen
8916         if there is a buffer to push out.
8917
8918 2007-05-03  Wim Taymans  <wim@fluendo.com>
8919
8920         * libs/gst/base/gstbasetransform.c:
8921         (gst_base_transform_buffer_alloc):
8922         always_in_place does not mean that the sink and source caps are the
8923         same! Make sure we don't blindly proxy the buffer_alloc in this case.
8924
8925 2007-05-03  Wim Taymans  <wim@fluendo.com>
8926
8927         * docs/libs/gstreamer-libs-sections.txt:
8928         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
8929         (gst_base_src_default_query), (gst_base_src_get_range):
8930         * libs/gst/base/gstbasesrc.h:
8931         API: gst_base_src_query_latency(). Added method so that subclasses can
8932         easily get the latency values of the base source class.
8933
8934 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
8935
8936         * tools/gst-inspect.c (print_implementation_info):
8937         Remove 0.8 cruft.
8938
8939 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
8940
8941         * tools/Makefile.am:
8942         * tools/gst-launch.1.in:
8943           Don't create a customised man page based on the host architecture,
8944           describe the default registry path generically. That way the man
8945           page is the same for all architectures and packagers have one
8946           multilib issue less to deal with. Fixes #434926.
8947
8948 2007-05-02  Wim Taymans  <wim@fluendo.com>
8949
8950         * gst/gstpad.c:
8951         Fix documentation as spotted by rg on IRC. 
8952
8953 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
8954
8955         * gst/gstutils.c:
8956           Improve docs for gst_element_{link,unlink}.
8957
8958 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
8959
8960         * docs/design/part-events.txt:
8961         * docs/design/part-overview.txt:
8962         * gst/gstevent.c:
8963         * gst/gsturi.c:
8964         * gst/gsturi.h:
8965         * libs/gst/base/gstbasesink.c:
8966           Typo fixes; minor docs addition.
8967
8968 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
8969
8970         * docs/gst/gstreamer-sections.txt:
8971         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
8972         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
8973         * gst/gsturi.h:
8974         API: Add gst_uri_protocol_is_supported(), which checks if a sink
8975         or src that supports a given URI protocol exists.
8976
8977 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
8978
8979         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
8980         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
8981         Set the location to NULL if "file://" is set as URI. Otherwise
8982         some random previous URI would still be set if "file://" is
8983         set on an already used filesink/filesrc.
8984
8985 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
8986
8987         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
8988         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
8989         Special case the "file://" URI as as this is used by some
8990         applications to test with gst_element_make_from_uri if there's
8991         an element that supports the URI protocol.
8992         Also move the g_path_is_absolute() check for the location part
8993         of the URI to also check this for "file://localhost/bla" URIs.
8994
8995 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
8996
8997         * docs/gst/gstreamer-sections.txt:
8998         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
8999         * gst/gstbuffer.h:
9000         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
9001         (gst_buffer_suite):
9002           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
9003
9004 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
9005
9006         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
9007         (gst_registry_binary_load_pad_template),
9008         (gst_registry_binary_load_plugin),
9009         (gst_registry_binary_read_cache):
9010         * gst/gstregistrybinary.h:
9011           Implement no-mmap alternative for registry reading. Do code cleanups.
9012           Add more comments about avoiding strdups for all text data. Comments
9013           welcome.
9014
9015 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
9016
9017         * gst/gstregistrybinary.h (GstBinaryPluginElement,
9018           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
9019           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
9020           Comment structs and reformat to fix the build (that stuff should go
9021           into a priv. header).
9022
9023 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
9024
9025         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
9026         (gst_registry_binary_load_feature):
9027         * gst/gstregistrybinary.h:
9028           Refactor so that we can implement multiple features. Add support for
9029           TypeFindFactory features.
9030
9031 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
9032
9033         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
9034
9035         * configure.ac:
9036           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
9037
9038 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
9039
9040         * gst/gstbin.c: (gst_bin_element_set_state),
9041         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
9042         (bin_handle_async_done), (gst_bin_handle_message_func):
9043           Fix build with --gst-disable-gst-debug
9044
9045 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
9046
9047         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
9048           Make sure streaming has finished before calling the ::stop() vfunc,
9049           since that vfunc might clear state which is being used in the
9050           streaming thread. This fixes a race that caused crashes in
9051           audioresample when shutting down a pipeline (#420106).
9052
9053 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
9054
9055         * docs/gst/gstreamer-sections.txt:
9056           That was one byte missing.
9057
9058 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
9059
9060         * configure.ac:
9061         * docs/gst/gstreamer-sections.txt:
9062         * gst/Makefile.am:
9063         * gst/gstconfig.h.in:
9064         * gst/gstobject.c: (gst_object_class_init),
9065         (gst_signal_object_class_init):
9066         * gst/gstobject.h:
9067           2nd attempt to have a xml-less build as a joined effort of #413123
9068           and #421480.
9069
9070 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
9071
9072         * docs/design/draft-tagreading.txt:
9073           Added open issues/thoughts to draft.
9074
9075 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
9076
9077         * gst/parse/grammar.tab.pre.c:
9078         * gst/parse/grammar.tab.pre.h:
9079         * gst/parse/lex._gst_parse_yy.pre.c:
9080         Update the prebuild parser sources.
9081
9082 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
9083
9084         * gst/parse/Makefile.am:
9085         And now fix the building of the flex sources. Now everything should
9086         work as expected.
9087
9088 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
9089
9090         * gst/parse/Makefile.am:
9091         Now hopefully fix the build failures by setting proper rule
9092         dependencies and moving instead of copying.
9093
9094 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
9095
9096         * tests/benchmarks/complexity.gnuplot:
9097         * tests/benchmarks/complexity.scm:
9098         * tests/benchmarks/mass-elements.gnuplot:
9099         * tests/benchmarks/mass-elements.scm:
9100           Total licensification.
9101
9102 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
9103
9104         * gst/parse/Makefile.am:
9105           Fix the build by correcting the rule that gave wrong files to flex.
9106
9107 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
9108
9109         * tests/benchmarks/complexity.c:
9110         * tests/benchmarks/mass-elements.c:
9111           Change licence to LGPL as granted by Benjamin and Andy.
9112
9113 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
9114
9115         * gst/parse/Makefile.am:
9116         Add correct grammar.tab.h dependency if compiling without new enough
9117         flex. Fixes #431150.
9118
9119 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
9120
9121         * gst/parse/Makefile.am:
9122         Fix typo and use outdated sources if the flex/bison sources are newer
9123         than the pregenerated ones but flex is too old. Print a warning in
9124         that case. This should fix the build on the build bot.
9125
9126 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
9127
9128         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
9129         * gst/parse/Makefile.am:
9130         * gst/parse/grammar.y:
9131         * gst/parse/parse.l:
9132         Make the parser reentrant and recursively callable. This requires flex
9133         >= 2.5.31, for older versions pregenerated sources are used as we
9134         can't bump the build dependency. Finally fixes #349180.
9135
9136         * gst/gstparse.c: (gst_parse_launch):
9137         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
9138         now anyway.
9139
9140         * docs/gst/Makefile.am:
9141         * docs/gst/Makefile.am:
9142         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
9143         (__gst_parse_strfree), (__gst_parse_link_new),
9144         (__gst_parse_link_free), (__gst_parse_chain_new),
9145         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
9146         (gst_parse_element_set), (gst_parse_free_link),
9147         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
9148         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
9149         (_gst_parse_launch):
9150         * gst/parse/grammar.tab.pre.h:
9151         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
9152         (yy_get_previous_state), (yy_try_NUL_trans), (input),
9153         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
9154         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
9155         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
9156         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
9157         (_gst_parse_yypop_buffer_state),
9158         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
9159         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
9160         (yy_fatal_error), (_gst_parse_yyget_extra),
9161         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
9162         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
9163         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
9164         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
9165         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
9166         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
9167         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
9168         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
9169         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
9170         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
9171         (_gst_parse_yyfree):
9172         If the installed flex version is too old use pre-generated parser
9173         sources. These pre-generated parser sources are always updated when
9174         the actual flex/bison sources change but require everybody who wants
9175         to change something in the parser to have flex >= 2.5.31 installed.
9176
9177 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
9178
9179         * common/m4/gst-gettext.m4:
9180         * gst/gst-i18n-lib.h:
9181           Make --disable-nls to work
9182
9183 2007-04-17  Wim Taymans  <wim@fluendo.com>
9184
9185         * gst/gstconfig.h.in:
9186         Revert previous change that broke the build.
9187
9188 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
9189
9190         * configure.ac:
9191         * gst/Makefile.am:
9192         * gst/gstconfig.h.in:
9193           Drop libxml2 dependency when building with 
9194           --enable-binary-registry --disable-loadsave
9195
9196 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
9197
9198         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
9199         (gst_registry_binary_read_cache):
9200         * gst/gstregistrybinary.h:
9201           Remove unnecessary <sys/mman.h> include which broke the win32 build
9202           with MingW; move includes from header file to .c file, even if the
9203           header file isn't installed; use g_strerror() where UTF-8 strings
9204           are expected, such as in GST_DEBUG messages.
9205
9206 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9207
9208         * docs/libs/gstreamer-libs-sections.txt:
9209         Remove bogus addition for API I didn't end up keeping.
9210
9211         * libs/gst/base/gstbasesrc.h:
9212         Mention Since: 0.10.13 in the documentation.
9213
9214         Add the API keyword to the previous ChangeLog entry.
9215
9216 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9217
9218         * docs/libs/gstreamer-libs-sections.txt:
9219         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9220         (gst_base_src_default_prepare_seek_segment),
9221         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
9222         * libs/gst/base/gstbasesrc.h:
9223         Allow basesrc derived classes to execute seeks in other formats
9224         by providing a prepare_seek_segment vmethod. Sub-classes can choose
9225         to prepare the GstSegment in any format that their perform_seek method
9226         will be able to understand. The default implementation provides the
9227         old behaviour of attempting to convert the seek offsets to the 
9228         configured native format.
9229
9230         API: basesrc::prepare_seek_segment vmethod.
9231
9232 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9233
9234         * gst/gstelement.c: (gst_element_get_state_func):
9235         Don't output the same debug statement twice.
9236
9237         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
9238         (gst_adapter_peek), (gst_adapter_take_buffer):
9239         Optimise the case where we have buffers at the head of the queue that
9240         can be joined quickly (because they're contiguous sub-buffers) by
9241         merging them together rather than copying data out into new memory.
9242
9243         * gst/parse/grammar.y:
9244         * tests/check/pipelines/parse-launch.c:
9245         Fix a leak in an error path for parse_launch, and add a check 
9246         for it to the testsuite.
9247
9248 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9249
9250         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
9251           Don't deadlock when releasing a pad - gst_pad_set_active may try
9252           and take the multiqueue lock too.
9253
9254 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
9255
9256         * gst/gsterror.c: (_gst_core_errors_init):
9257         * gst/gsterror.h:
9258           API: add GST_CORE_ERROR_DISABLED (#392804).
9259
9260 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9261
9262         * docs/faq/gst-uninstalled:
9263           don't get empty paths on the PATH variables
9264         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
9265           Don't format for the uncommon terminal width of 84 characters.
9266
9267 2007-04-06  Wim Taymans  <wim@fluendo.com>
9268
9269         * gst/gstpipeline.c: (reset_stream_time),
9270         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
9271         Only try to select a different pipeline clock when we went back to
9272         PAUSED and not when we merely got flushed.
9273
9274 2007-04-05  Michael Smith  <msmith@fluendo.com>
9275
9276         * tools/gst-launch.1.in:
9277           fractions are better supported in gstreamer than ractions, so
9278           suggest using those.
9279
9280 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9281
9282         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
9283
9284         * po/LINGUAS:
9285         * po/da.po:
9286           Added Danish translation.
9287
9288 2007-04-05  Wim Taymans  <wim@fluendo.com>
9289
9290         * libs/gst/base/gstbasesink.c:
9291         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
9292         Fix leak caused when refusing newsegment after EOS.
9293
9294         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
9295         (gst_fake_sink_init), (gst_fake_sink_set_property),
9296         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
9297         (gst_fake_sink_render), (gst_fake_sink_change_state):
9298         * plugins/elements/gstfakesink.h:
9299         Add num-buffers property to make the element generate EOS after a
9300         configurable amount of buffers.
9301         API: fakesink::num-buffers property.
9302
9303         * tests/check/elements/fakesink.c: (GST_START_TEST),
9304         (fakesink_suite):
9305         Fix GstBus leak in test.
9306         Test for fakesink num-buffers.
9307
9308 2007-04-05  Wim Taymans  <wim@fluendo.com>
9309
9310         * libs/gst/base/gstbasesink.c:
9311         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
9312         (gst_base_sink_change_state):
9313         Don't accept anything after an EOS, return UNEXPECTED instead.
9314
9315         * tests/check/elements/fakesink.c: (GST_START_TEST),
9316         (fakesink_suite):
9317         Unit test for new EOS behaviour.
9318
9319 2007-04-05  Wim Taymans  <wim@fluendo.com>
9320
9321         * gst/gstelement.c: (gst_element_get_request_pad):
9322         Make padtemplates also work when they don't contain %s or %d.
9323
9324 2007-04-05  Wim Taymans  <wim@fluendo.com>
9325
9326         * docs/gst/gstreamer-sections.txt:
9327         * gst/gstclock.c: (gst_clock_adjust_unlocked),
9328         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
9329         * gst/gstclock.h:
9330         Improve _adjust_unlocked() so that it overflows less.
9331         Add gst_clock_unadjust_unlocked to convert from external time to
9332         internal time based on calibration.
9333         Add some more debug.
9334         API: GstClock::gst_clock_unadjust_unlocked()
9335
9336 2007-04-03  Wim Taymans  <wim@fluendo.com>
9337
9338         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
9339
9340         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
9341         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
9342         when releasing sink pad. Fixes #425400.
9343
9344 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
9345
9346         * docs/random/ensonic/dynlink.txt:
9347           More work on proposal for new core api.
9348
9349         * docs/libs/gstreamer-libs-sections.txt:
9350         * libs/gst/base/gstbasetransform.h:
9351           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
9352           
9353         * libs/gst/controller/gstcontroller.c:
9354         (on_object_controlled_property_changed),
9355         (gst_controller_sync_values),
9356         (gst_controller_set_interpolation_mode):
9357         * libs/gst/controller/gstcontroller.h:
9358           Less verbose logging add docs for unimplemented parts and correctly
9359           return when using unavailable parts.
9360
9361 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
9362
9363         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
9364         Move all the debug to the CLOCK category, and associate it with
9365         the clock object.
9366
9367 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
9368
9369         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
9370         Make take_buffer a bit quicker by removing redundant checks
9371         caused by calling gst_adapter_take.
9372
9373 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
9374
9375         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
9376           Don't leak GCond.
9377
9378         * tests/check/Makefile.am:
9379         * tests/check/elements/.cvsignore:
9380         * tests/check/elements/multiqueue.c: (setup_multiqueue),
9381         (GST_START_TEST), (multiqueue_suite):
9382           Add some dead simple unit tests for the 'multiqueue' element
9383           (some bits don't work yet and are disabled for now).
9384
9385 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
9386
9387         * gst/gstelement.c: (gst_element_get_request_pad),
9388         (gst_element_class_get_request_pad_template):
9389           Make gst_element_get_request_pad() create request pads only for
9390           request pad templates and not for, say, sometimes pad templates.
9391
9392 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
9393
9394         * docs/design/draft-klass.txt:
9395           Add example that needs more thinking.
9396         
9397         * docs/design/draft-missing-plugins.txt:
9398           More thoughts about wrapper plugins.
9399         
9400         * docs/random/ensonic/embedded.txt:
9401         * docs/random/ensonic/profiling.txt:
9402           More design work.
9403
9404 2007-03-25  Wim Taymans  <wim@fluendo.com>
9405
9406         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
9407         (gst_base_src_loop):
9408         Only push the segment events in the PLAYING state for live sources.
9409
9410 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
9411
9412         * gst/gstpipeline.c: (gst_pipeline_change_state):
9413         Modify the clock distribution path in PAUSED->PLAYING so that we 
9414         never attempt to choose a new clock unless we're actually leaving
9415         the PAUSED state for the first time. This prevents choosing a
9416         different clock when the state_change gets called for a 2nd time due
9417         to some element doing an async state change.
9418
9419 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
9420
9421         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
9422         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
9423         (gst_pad_chain_unchecked), (gst_pad_push):
9424         Revert last commit. This needs some more thoughts.
9425
9426 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
9427
9428         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
9429         (gst_pad_chain_unchecked), (gst_pad_push):
9430         Check in set_caps if the caps are compatible with the pad and remove
9431         two functions that are redundant now. Fixes #421543.
9432
9433 2007-03-22  Wim Taymans  <wim@fluendo.com>
9434
9435         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
9436         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
9437         Unref some more to make valgrind happy.
9438
9439 2007-03-22  Wim Taymans  <wim@fluendo.com>
9440
9441         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
9442         (gst_system_clock_id_wait_jitter),
9443         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
9444         Fix anoying regression that survived a few releases. When adding an
9445         async entry while blocking on a sync entry, the sync entry will unblock
9446         but still be busy, so it should continue to wait instead of returning
9447         _BUSY to the app.
9448         Add some comments here and there.
9449
9450         * tests/check/gst/gstsystemclock.c: (mixed_thread),
9451         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
9452         Add testcase for this.
9453
9454 2007-03-22  Wim Taymans  <wim@fluendo.com>
9455
9456         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
9457         Handle errors from the clock sync better, only UNSCHEDULED indicates a
9458         WRONG_STATE and can silently pause the task. All other cases should
9459         error out.
9460
9461 2007-03-22  Wim Taymans  <wim@fluendo.com>
9462
9463         Patch by: Ville Syrjala <syrjala at sci dot fi>
9464
9465         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
9466         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
9467         Improve debugging.
9468
9469 2007-03-21  Michael Smith  <msmith@fluendo.com>
9470
9471         * docs/pwg/advanced-types.xml:
9472           Fix some errors in the typefinding docs pointed out on irc.
9473
9474 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
9475
9476         * libs/gst/base/gstbasesrc.c:
9477         Clarify FIXME comment in the face of having added unlock_stop()
9478
9479 2007-03-21  Wim Taymans  <wim@fluendo.com>
9480
9481         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
9482         Prepare for release where we warn against possible app breakage in the
9483         case of live pipelines along with an env var to enable/disable live
9484         preroll mode (GST_COMPAT=[no-]live-preroll).
9485
9486 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9487
9488         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
9489         So we should use correct constants for checking for None offset.
9490
9491 2007-03-20  Wim Taymans  <wim@fluendo.com>
9492
9493         * docs/design/part-block.txt:
9494         Mention the fact that the newly switched element should be set to at
9495         least PAUSED.
9496
9497 2007-03-20  Wim Taymans  <wim@fluendo.com>
9498
9499         * gst/gst.c:
9500         Fix compilation with registry disabled as spotted by Saur.
9501
9502 2007-03-20  Wim Taymans  <wim@fluendo.com>
9503
9504         Patch by: Olivier Crete <tester at tester dot ca>
9505
9506         * gst/gstelement.c: (gst_element_sync_state_with_parent):
9507         Look at the pending state too when syncing the element state to the
9508         parent. Fixes #420133.
9509
9510 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
9511
9512         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
9513         (gst_base_sink_change_state):
9514         * libs/gst/base/gstbasesink.h:
9515         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
9516         (gst_base_src_default_event), (gst_base_src_unlock_stop),
9517         (gst_base_src_deactivate):
9518         * libs/gst/base/gstbasesrc.h:
9519         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
9520         for sub-classes to correctly clear any state they set trying to
9521         unlock, such as clearing out unlock commands from a command fd.
9522         API: basesrc::unlock_stop
9523         API: basesink::unlock_stop
9524
9525         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
9526         (gst_fd_sink_render), (gst_fd_sink_unlock),
9527         (gst_fd_sink_unlock_stop):
9528         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
9529         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
9530         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
9531
9532         Implement unlock_stop in fdsrc and fdsink.
9533         Implement seeking in fdsrc when a seekable fd is passed, as in
9534         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
9535
9536 2007-03-19  Wim Taymans  <wim@fluendo.com>
9537
9538         Patch by: Evan Nemerson <evan at coeus dash group dot com>
9539
9540         * gst/gstelement.c: (gst_element_class_init):
9541         Fix pad-added and pad-removed signal signatures so that the pad type is
9542         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
9543
9544 2007-03-19  Wim Taymans  <wim@fluendo.com>
9545
9546         * docs/gst/gstreamer-sections.txt:
9547         Add new element field and method.
9548
9549         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
9550         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
9551         (gst_bin_recalc_state), (gst_bin_get_state_func),
9552         (gst_bin_element_set_state), (gst_bin_change_state_func),
9553         (gst_bin_continue_func), (bin_bus_handler),
9554         (bin_push_state_continue), (bin_handle_async_start),
9555         (bin_handle_async_done), (gst_bin_handle_message_func):
9556         Make async state changes a bit smarter by using new ASYNC_START and
9557         ASYNC_DONE messages. This reduces the number of times we run the state
9558         recalculation thread.
9559         Don't change state of element with a pending ASYNC_START message.
9560         Deprecate STATE_DIRTY messages.
9561         
9562         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
9563         (gst_element_get_state_func), (gst_element_continue_state),
9564         (gst_element_lost_state), (gst_element_set_state_func),
9565         (gst_element_change_state):
9566         * gst/gstelement.h:
9567         Keep the state that was last set by the app in a new element field.
9568         Don't allow state changes when handling an element event.
9569         Post ASYNC_START and ASYNC_DONE messages.
9570         Change lost_state so that we go to PAUSED and wait for the parent to set
9571         us to PLAYING again (so latency calculation can be performed)
9572         Export gst_element_change_state() method so that subclasses can use it.
9573         API: gst_element_change_state()
9574         API: GST_STATE_TARGET
9575
9576         * gst/gstpipeline.c: (gst_pipeline_class_init),
9577         (reset_stream_time), (gst_pipeline_change_state),
9578         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
9579         Using the new ASYNC_START message we can reset the base_time when
9580         needed. This can then be used to implement base_time redistribution in
9581         flushing seeks so that we can remove the explicit seek handling.
9582         Perform latency query and configuration when going to PLAYING.
9583
9584         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9585         (gst_base_sink_query), (gst_base_sink_change_state):
9586         Post new ASYNC_START/ASYNC_DONE messages.
9587
9588         * tests/check/generic/sinks.c: (GST_START_TEST):
9589         Fix test because the bin will not set the async element to PLAYING right
9590         away.
9591
9592         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
9593         Make the message check a little stronger.
9594         Handle ASYNC messages.
9595
9596         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
9597         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
9598         Expect ASYNC_DONE messages.
9599
9600 2007-03-19  Wim Taymans  <wim@fluendo.com>
9601
9602         * docs/gst/gstreamer-sections.txt:
9603         * gst/gstmessage.c: (gst_message_new_async_start),
9604         (gst_message_new_async_done), (gst_message_parse_info),
9605         (gst_message_parse_async_start):
9606         * gst/gstmessage.h:
9607         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
9608         support.
9609
9610 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
9611
9612         * tools/gst-inspect.c:
9613         (print_plugin_automatic_install_info_codecs):
9614           Now that we don't check for the 'Codec' keyword any longer in the
9615           klass, we shouldn't spew a warning if the klass isn't a decoder or
9616           encoder (since it might be a Source/Network, for example).
9617
9618 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
9619
9620         * tools/gst-inspect.c:
9621         (print_plugin_automatic_install_info_codecs):
9622           Don't require decoder/demuxer/depayloader elements or
9623           encoder/muxer/paylader elements to have 'Codec' as part of their
9624           factory class string when introspecting a plugin's capabilities.
9625           draft-klass.txt mentions that it might be removed in future, and
9626           flump3dec doesn't have it as part of its class string, so chances
9627           are others might also not have it.
9628
9629 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9630
9631         * po/af.po:
9632         * po/az.po:
9633         * po/bg.po:
9634         * po/ca.po:
9635         * po/cs.po:
9636         * po/de.po:
9637         * po/en_GB.po:
9638         * po/fr.po:
9639         * po/it.po:
9640         * po/nb.po:
9641         * po/nl.po:
9642         * po/ru.po:
9643         * po/sq.po:
9644         * po/sr.po:
9645         * po/sv.po:
9646         * po/tr.po:
9647         * po/uk.po:
9648         * po/vi.po:
9649         * po/zh_CN.po:
9650         * po/zh_TW.po:
9651           Update translations from translation project
9652
9653 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
9654
9655         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
9656         (gst_child_proxy_set_property):
9657           Invert precondition check to be alike the ones in the mimiced gobject
9658           api.
9659
9660 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
9661
9662         * docs/design/draft-tagreading.txt:
9663         * docs/random/ensonic/audiobaseclasses.txt:
9664           Do some Architect work.
9665
9666         * gst/gstobject.c: (gst_object_set_name):
9667           Add a WARNING.
9668
9669         * gst/gstpad.c:
9670           Add docs that point from gst_pad_get_range to gst_pad_pull_range
9671
9672 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
9673
9674         * gst/gstsystemclock.c: (gst_system_clock_init),
9675         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
9676         Defer starting the async system clock thread until the first async
9677         wait is scheduled. Fixes #414986.
9678
9679 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
9680
9681         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
9682         (gst_single_queue_free):
9683           Fix small leak (free GstSingleQueue structure too, not only contents).
9684
9685 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
9686
9687         * gst/gstbin.c:(gst_bin_add):
9688         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
9689         * win32/common/libgstbase.def:
9690         * win32/common/libgstreamer.def:
9691         Add new exported functions.
9692
9693 2007-03-09  Wim Taymans  <wim@fluendo.com>
9694
9695         * docs/plugins/gstreamer-plugins-sections.txt:
9696         Fix GstTee docs.
9697
9698 2007-03-09  Wim Taymans  <wim@fluendo.com>
9699
9700         * docs/gst/gstreamer-sections.txt:
9701         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
9702         * gst/gstbuffer.h:
9703         Add metadata copy functions. Fixes #393099.
9704         API: gst_buffer_copy_metadata()
9705
9706         * gst/gstutils.c: (gst_buffer_stamp):
9707         * libs/gst/base/gstbasetransform.c:
9708         (gst_base_transform_prepare_output_buffer):
9709         Use new metadata copy functions.
9710
9711 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9712
9713         * plugins/elements/gstidentity.c: (gst_identity_class_init),
9714         (gst_identity_init), (gst_identity_check_perfect),
9715         (gst_identity_check_imperfect_timestamp),
9716         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
9717         (gst_identity_set_property), (gst_identity_get_property):
9718         * plugins/elements/gstidentity.h:
9719         Separate out check-imperfect-timestamp and check-imperfect-offset.
9720         Put back check-perfect as it was to keep compatibility.
9721
9722 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
9723
9724         * gst/gstelement.c: (gst_element_dispose):
9725         There's no need to warn if VOID_PENDING is not NONE here, as
9726         long as the state is NULL it's ok, and that's checked immediately
9727         above.
9728
9729 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9730
9731         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9732         Fix check for perfect stream to ignore buffers with -1 
9733         offsets/offset ends when checking data contiguity.
9734
9735 2007-03-08  Wim Taymans  <wim@fluendo.com>
9736
9737         * tools/gst-launch.c: (event_loop):
9738         Print INFO messages.
9739
9740 2007-03-08  Wim Taymans  <wim@fluendo.com>
9741
9742         * libs/gst/base/gstbasetransform.c:
9743         (gst_base_transform_sink_eventfunc),
9744         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
9745         (gst_base_transform_activate):
9746         * libs/gst/base/gstbasetransform.h:
9747         Add support for dropping buffers with custom GstFlowReturn.
9748         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
9749         buffers or dropped buffers.
9750
9751         * docs/libs/gstreamer-libs-sections.txt:
9752         docs for new custom return code.
9753
9754         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
9755         Use drop support in base class to implement drop-probability.
9756
9757 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
9758
9759         * gst/gst.c: (load_plugin_func):
9760         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
9761         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
9762         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
9763           Remove newlines at end of debug log strings.
9764
9765 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9766
9767         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9768         Only post bus message at max, once per buffer received.
9769
9770 2007-03-07  Wim Taymans  <wim@fluendo.com>
9771
9772         * docs/design/Makefile.am:
9773         * docs/design/part-synchronisation.txt:
9774         Add doc about synchronisation
9775
9776         * docs/design/draft-latency.txt:
9777         * docs/design/part-TODO.txt:
9778         * docs/design/part-clocks.txt:
9779         * docs/design/part-events.txt:
9780         * docs/design/part-gstbus.txt:
9781         * docs/design/part-gstpipeline.txt:
9782         * docs/design/part-live-source.txt:
9783         * docs/design/part-messages.txt:
9784         * docs/design/part-overview.txt:
9785         * docs/design/part-streams.txt:
9786         * docs/design/part-trickmodes.txt:
9787         Documentation updates.
9788
9789 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
9790
9791         * gstreamer.doap:
9792         Update the doap file.
9793
9794 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9795
9796         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9797         Rename non-perfect to imperfect for Mike and for the sanctity of the
9798         language.
9799         Also make sure bus message gets emitted for data-incontiguities.
9800
9801 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9802
9803         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
9804         (gst_identity_start):
9805         * plugins/elements/gstidentity.h:
9806         Emit bus message if check-perfect is true and we encounter a
9807         non-perfect stream between 2 consecutive buffers.
9808         Fixes #415394.
9809
9810 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
9811
9812         * configure.ac:
9813         Back to CVS
9814
9815 === release 0.10.12 ===
9816
9817 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
9818
9819         * configure.ac:
9820           releasing 0.10.12, "Inevitable Demise"
9821
9822 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
9823
9824         * configure.ac:
9825          Version 0.10.11.2 (0.10.12 pre-release)
9826          Bump libtool versioning.
9827
9828 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
9829
9830         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
9831           Log flow-names and not numbers.
9832
9833 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9834
9835         * configure.ac:
9836           Convert to new AG_GST style.
9837
9838 2007-02-28  Wim Taymans  <wim@fluendo.com>
9839
9840         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
9841         Don't unref query twice.
9842
9843 2007-02-28  Wim Taymans  <wim@fluendo.com>
9844
9845         * gst/gstvalue.c: (gst_value_transform_object_string),
9846         (_gst_value_initialize):
9847         Implement GstObject -> string transform so we print object names
9848         when serializing GValues containing GstObjects.
9849
9850 2007-02-28  Wim Taymans  <wim@fluendo.com>
9851
9852         * docs/gst/gstreamer-sections.txt:
9853         Add new stuff to docs.
9854
9855 2007-02-28  Wim Taymans  <wim@fluendo.com>
9856
9857         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
9858         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
9859         (gst_base_sink_change_state):
9860         Improve latency query code.
9861         Don't leak latency events.
9862
9863         * tests/check/gst/gstbin.c: (GST_START_TEST):
9864         Improve debugging.
9865
9866 2007-02-28  Wim Taymans  <wim@fluendo.com>
9867
9868         * gst/gstelement.c: (gst_element_message_full),
9869         (gst_element_get_state_func):
9870         * gst/gstelement.h:
9871         Improve docs a little. Added Since: for new macro.
9872
9873         * gst/gstobject.c: (gst_object_sink):
9874         * gst/gstpipeline.c: (gst_pipeline_change_state),
9875         (gst_pipeline_set_new_stream_time):
9876         * gst/gstpipeline.h:
9877         Improve debugging and docs.
9878
9879         * gst/gstutils.c: (gst_element_state_change_return_get_name):
9880         Improve debugging.
9881
9882 2007-02-28  Wim Taymans  <wim@fluendo.com>
9883
9884         * gst/gstelement.c: (gst_element_message_full),
9885         (gst_element_set_locked_state), (gst_element_get_state_func),
9886         (gst_element_change_state):
9887         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
9888         Documentation updates.
9889         Small code cleanups.
9890
9891         * gst/gstmessage.c: (gst_message_new_info),
9892         (gst_message_parse_info):
9893         * gst/gstmessage.h:
9894         API: gst_message_new_info()
9895         API: gst_message_parse_info()
9896         Add INFO message create and parse code.
9897
9898 2007-02-28  Wim Taymans  <wim@fluendo.com>
9899
9900         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
9901         (bin_query_latency_done):
9902         Also report the live parameter of a latency query.
9903
9904 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9905
9906         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
9907           Copy the current generic/states example from -base and adapt so
9908           we can use the exact same code everywhere.
9909           Check a STATES_IGNORE_ELEMENTS env var which can be used
9910           to ignore certain element factories for this test, which is
9911           what is being done in -base
9912         * tests/check/Makefile.am:
9913           Mention this environment variable.
9914
9915 2007-02-27  Wim Taymans  <wim@fluendo.com>
9916
9917         * docs/gst/gstreamer-sections.txt:
9918         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
9919         (gst_bus_timed_pop), (gst_bus_pop):
9920         * gst/gstbus.h:
9921         API: gst_bus_timed_pop()
9922         Implement gst_bus_timed_pop() to do a blocking timed wait for a
9923         message to arrive on the bus.
9924
9925         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
9926         (gst_bus_suite):
9927         Two unit tests for new _timed_pop() function.
9928
9929 2007-02-23  Wim Taymans  <wim@fluendo.com>
9930
9931         * gst/gstpipeline.c: (gst_pipeline_change_state),
9932         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
9933         Don't ref a NULL clock in _provide_clock_func().
9934         Don't allow an INVALID delay.
9935         Don't try to calculate base_time with an invalid start_time.
9936         Also distribute and notify a NULL clock when it was selected.
9937
9938         * tools/gst-launch.c: (event_loop):
9939         Don't crash when a NULL clock was selected in the pipeline.
9940
9941 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
9942
9943         * docs/design/Makefile.am:
9944         * docs/design/draft-missing-plugins.txt:
9945         * docs/random/draft-missing-plugins.txt:
9946           Some small updates: update plugin system identifier prefix
9947           ('gstreamer.net' to 'gstreamer'), mention our new install
9948           API in libgstbaseutils rather than libgimme-codec, add
9949           reference to the online docs.
9950
9951 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9952
9953         * win32/common/config.h:
9954           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
9955           use moap cl ci to only check in what is mentioned in the ChangeLog.
9956
9957 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9958
9959         * docs/gst/gstreamer-sections.txt:
9960         * gst/gstelement.h:
9961           Fix up documentation to link to the correct GstGError section.
9962           Add GST_ELEMENT_INFO macro since someone else added a Info message.
9963
9964 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9965
9966         * tools/gst-launch.c: (event_loop):
9967           Make sure that we actually show the important message part of a
9968           warning message.
9969           No need to check if the gerror is not NULL to free; first of all
9970           g_free accepts NULL; and second the default error handler would
9971           segfault if gerror was NULL.
9972
9973 2007-02-21  Wim Taymans  <wim@fluendo.com>
9974
9975         * docs/gst/gstreamer-sections.txt:
9976         Removed docs as well.
9977
9978 2007-02-21  Wim Taymans  <wim@fluendo.com>
9979
9980         * gst/gstmessage.c: (gst_message_parse_duration):
9981         * gst/gstmessage.h:
9982         Remove new messages for release.
9983
9984 2007-02-20  Wim Taymans  <wim@fluendo.com>
9985
9986         * docs/design/part-gstghostpad.txt:
9987         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
9988         (gst_ghost_pad_new_full):
9989         Make the ghostpad a parent of the internal pad again for better backward
9990         compatibility. Don't write code that relies on this however.
9991
9992         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
9993         (gst_pad_link_check_hierarchy):
9994         Require that parents should be GstElements in the hierarchy check.
9995
9996 2007-02-20  Wim Taymans  <wim@fluendo.com>
9997
9998         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
9999         (gst_bin_change_state_func), (bin_query_min_max_init),
10000         (bin_query_latency_fold), (bin_query_latency_done),
10001         (gst_bin_query):
10002         Improve debug info.
10003         Implement latency query.
10004
10005 2007-02-20  Wim Taymans  <wim@fluendo.com>
10006
10007         * docs/design/part-gstghostpad.txt:
10008         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
10009         (gst_ghost_pad_internal_do_activate_push),
10010         (gst_ghost_pad_internal_do_activate_pull),
10011         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
10012         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
10013         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
10014         Do not set the internal pad as a parent anymore so we can avoid
10015         hierarchy linking errors when the ghostpad has no parent yet. This also
10016         fixes failed activation because of unlinked internal pads, which in
10017         turn fixes the impossible case where you have to activate a pad before
10018         you can add it to a running element.
10019         Also fix the docs.
10020
10021         * gst/gstpad.c: (pre_activate), (post_activate),
10022         (gst_pad_set_active), (gst_pad_activate_pull),
10023         (gst_pad_activate_push), (gst_pad_check_pull_range):
10024         Add some more debug info.
10025         Mark activation mode in pre_activate so that we don't try to activate in
10026         endless loops. Fixes #385084.
10027
10028 2007-02-19  Wim Taymans  <wim@fluendo.com>
10029
10030         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
10031         (gst_base_transform_check_get_range):
10032         Implement a checkgetrange function instead of relying on the default
10033         core behaviour that assumes we can operate in pull mode if we have a
10034         getrange function. First step at fixing #385084.
10035
10036 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
10037
10038         * gst/gstchildproxy.h:
10039         * libs/gst/base/gstbasesink.h:
10040         * libs/gst/base/gstbasesrc.h:
10041         * libs/gst/base/gstbasetransform.h:
10042         More docs coverage and some ChangeLog surgery (add missing names)
10043
10044 2007-02-15  Wim Taymans  <wim@fluendo.com>
10045
10046         * docs/design/part-TODO.txt:
10047         * docs/design/part-activation.txt:
10048         * docs/design/part-block.txt:
10049         * docs/design/part-buffering.txt:
10050         * docs/design/part-clocks.txt:
10051         * docs/design/part-element-source.txt:
10052         * docs/design/part-events.txt:
10053         * docs/design/part-gstbin.txt:
10054         * docs/design/part-gstbus.txt:
10055         * docs/design/part-gstpipeline.txt:
10056         * docs/design/part-live-source.txt:
10057         * docs/design/part-messages.txt:
10058         * docs/design/part-overview.txt:
10059         * docs/design/part-qos.txt:
10060         * docs/design/part-query.txt:
10061         * docs/design/part-states.txt:
10062         * docs/design/part-trickmodes.txt:
10063         Some doc updates. Start renaming from stream_time to running_time where
10064         it was used wrongly.
10065
10066 2007-02-15  Wim Taymans  <wim@fluendo.com>
10067
10068         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
10069         Answer LATENCY query.
10070
10071 2007-02-15  Wim Taymans  <wim@fluendo.com>
10072
10073         * tests/check/gst/gstevent.c: (event_probe), (test_event),
10074         (GST_START_TEST):
10075         Improve debugging.
10076
10077 2007-02-15  Wim Taymans  <wim@fluendo.com>
10078
10079         * gst/gstpad.c: (gst_pad_get_internal_links_default),
10080         (gst_pad_dispatcher):
10081         Improve debugging of default pad dispatcher and query functions.
10082
10083 2007-02-15  Wim Taymans  <wim@fluendo.com>
10084
10085         * docs/gst/gstreamer-sections.txt:
10086         Remove old unused method.
10087
10088 2007-02-13  Wim Taymans  <wim@fluendo.com>
10089
10090         * tests/check/gst/gstsegment.c: (GST_START_TEST):
10091         Fix check
10092
10093 2007-02-13  Wim Taymans  <wim@fluendo.com>
10094
10095         * docs/design/part-seeking.txt:
10096         Some small update.
10097
10098         * gst/gstsegment.c: (gst_segment_set_seek):
10099         Revert old bogus change that should make seeking work again.
10100
10101 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
10102
10103         * docs/random/ensonic/dynlink.txt:
10104         * docs/random/ensonic/interfaces.txt:
10105         * docs/random/ensonic/receipies.txt:
10106           Possible dynamic reconnection api, plus some type fixes the other two
10107           docs.
10108
10109 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
10110
10111         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
10112         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
10113         Also check for an absolute path following file:// in the filesrc
10114         element. Remove redundant check and call g_path_is_absolute() on the
10115         unescaped location.
10116
10117 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
10118
10119         * docs/design/draft-klass.txt:
10120           Add existing category analysis.
10121           
10122         * gst/gstcaps.c:
10123           Fix doc example, framerate is a fraction.
10124
10125 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
10126
10127         * configure.ac:
10128         * docs/gst/Makefile.am:
10129         * docs/gst/gstreamer-sections.txt:
10130         * docs/libs/Makefile.am:
10131           Erm, forgot a bunch of --extra-dir.
10132
10133 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
10134
10135         * configure.ac:
10136         * docs/gst/Makefile.am:
10137         * docs/libs/Makefile.am:
10138         * docs/plugins/Makefile.am:
10139           Add crossreferences to glib/gobject docs.
10140
10141 2007-02-12  Wim Taymans  <wim@fluendo.com>
10142
10143         * docs/design/draft-latency.txt:
10144         Small update.
10145
10146         * docs/libs/gstreamer-libs-sections.txt:
10147         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
10148         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
10149         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
10150         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
10151         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
10152         (gst_base_sink_get_position), (gst_base_sink_query),
10153         (gst_base_sink_change_state):
10154         * libs/gst/base/gstbasesink.h:
10155         API: gst_base_sink_query_latency() to let subclasses query the upstream
10156         latency.
10157         API: gst_base_sink_get_latency() to let subclasses query the configured
10158         latency in the sink.
10159         Implement query and set latency.
10160         Update some docs.
10161         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
10162         don't continue preroll when we are flushing. Fixes #405284.
10163
10164         * tests/check/pipelines/stress.c: (change_state_timeout),
10165         (quit_timeout), (GST_START_TEST), (stress_suite):
10166         Test for #405284.
10167
10168 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
10169
10170         Patch by: René Stadler <mail at renestadler de>
10171
10172         * docs/gst/gstreamer-sections.txt:
10173         * gst/gsttaglist.c: (_gst_tag_initialize):
10174         * gst/gsttaglist.h:
10175           API: add GST_TAG_REFERENCE_LEVEL (#403597).
10176
10177 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
10178
10179         * docs/libs/Makefile.am:
10180           Fix path to core docs.
10181
10182         * gst/gstbin.c: (gst_bin_get_by_interface),
10183         (gst_bin_iterate_all_by_interface):
10184           Refix docs by also renaming 'interface' to 'iface' in implementation.
10185
10186         * docs/gst/gstreamer-sections.txt:
10187         * gst/gstcaps.c:
10188         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
10189         * gst/gstchildproxy.h:
10190         * gst/gstelementfactory.c:
10191         * gst/gstpadtemplate.h:
10192         * libs/gst/controller/gstcontroller.c:
10193         (gst_controlled_property_new):
10194           Document more.
10195
10196 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
10197
10198         * gst/gstbin.h:(gst_bin_get_by_interface),
10199         (gst_bin_iterate_all_by_interface):
10200         Replace interface parameter name by iface as interface is 
10201         a reserved keyword in Visual Studio for C++ projects so it removes
10202         a build error for application developpers using VS.
10203         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
10204         Fix a bug on Windows in uri format check. Now the prefix checked
10205         is file:// and next we check if the path after file:// is absolute.
10206         * win32/common/libgstbase.def:
10207         * win32/common/libgstdataprotocol.def:
10208         * win32/common/libgstgstreamer.def:
10209         Add new exported functions.
10210
10211 2007-02-09  Andy Wingo  <wingo@pobox.com>
10212
10213         * tests/check/pipelines/simple-launch-lines.c
10214         (simple_launch_lines_suite, test_tee): Disable tee test until I
10215         have time to fix it :-(
10216
10217         * tests/check/Makefile.am (noinst_HEADERS): 
10218         * tests/check/libs/libsabi.c: 
10219         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
10220         * tests/check/gst/gstabi.c: 
10221         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
10222
10223         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
10224         tests for push and pull tee behavior.
10225
10226         * plugins/elements/gsttee.h: 
10227         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
10228         mark as deprecated as well as unimplemented. It was a crack idea.
10229         Add support for tee operating in pull mode, off by default.
10230
10231         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
10232         normal-case logs down to LOG, raise errors to WARNING.
10233         (gst_registry_xml_read_cache): Don't log before calling a function
10234         that logs.
10235
10236         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
10237         exit (registry finalize).
10238         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
10239         DEBUG log when we emit signals that people don't even have the
10240         chance to connect to.
10241         (gst_registry_scan_path_level): Less logging in the normal case.
10242
10243 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
10244
10245         Patch by: Michal Benes <michal dot benes at itonis dot tv>
10246
10247         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
10248         Correctly generate EOS for non-seekable files. We don't have a total
10249         length for them and would get an unexpected end of file if we only
10250         special-cased for regular files. (Fixes: #404569)
10251
10252 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
10253
10254         * tests/check/elements/filesrc.c: (GST_START_TEST),
10255         (filesrc_suite):
10256         Add unit test for the GstURIHandler interface in filesrc. This also
10257         tests the newly added file://localhost/foo/bar support.
10258
10259 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
10260
10261         * gst/gstelementfactory.h:
10262           The klass string is not a hierarchy. Add reference to the design doc
10263           for more information and common types.
10264
10265 2007-02-02  Wim Taymans  <wim@fluendo.com>
10266
10267         * gst/gstquery.c: (gst_query_new_latency):
10268         Remove old structure field.
10269
10270 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
10271
10272         * tools/gst-launch.1.in:
10273           Give example for network streaming (#351998)
10274
10275 2007-02-02  Wim Taymans  <wim@fluendo.com>
10276
10277         * docs/gst/gstreamer-sections.txt:
10278         Add docs for new methods.
10279
10280         * gst/gstevent.c: (gst_event_new_latency),
10281         (gst_event_parse_latency):
10282         * gst/gstevent.h:
10283         Add new LATENCY event to configure latency in a pipeline.
10284         API: gst_event_new_latency
10285         API: gst_event_parse_latency
10286
10287         * gst/gstmessage.c: (gst_message_new_buffering),
10288         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
10289         (gst_message_new_latency), (gst_message_parse_buffering),
10290         (gst_message_parse_lost_preroll):
10291         * gst/gstmessage.h:
10292         Added messages used in draft-latency.
10293         API: gst_message_new_lost_preroll
10294         API: gst_message_parse_lost_preroll
10295         API: gst_message_new_prerolled
10296         API: gst_message_new_latency
10297
10298         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
10299         (gst_query_parse_latency):
10300         * gst/gstquery.h:
10301         Implemented new latency query as in design doc.
10302         API: gst_query_new_latency
10303         API: gst_query_set_latency
10304         API: gst_query_parse_latency
10305
10306 2007-02-02  Wim Taymans  <wim@fluendo.com>
10307
10308         * docs/design/draft-latency.txt:
10309         Slight redesign to allow for dynamic latency adjustments.
10310
10311         * docs/design/part-negotiation.txt:
10312         Fix some typos.
10313
10314 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
10315
10316         reviewed by: Wim Taymans <wim@fluendo.com>
10317
10318         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
10319         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
10320         Allow file://localhost/foo/bar URLs and correctly fail for every other
10321         hostname that one sets. This was gnomevfssrc is linked for those if
10322         installed as it can handle it (#403172)
10323
10324 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
10325
10326         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
10327
10328         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10329         (unref_data), (gst_collect_pads_add_pad_full):
10330         * libs/gst/base/gstcollectpads.h:
10331         Don't put the previously added destroy notify in the GstCollectData
10332         struct as all it's padding is already used and we don't want to break
10333         ABI. Instead put in the pad's GObject data for now. This should be
10334         cleaned up for 0.11 (#402393).
10335
10336 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
10337
10338         reviewed by: Wim Taymans <wim@fluendo.com>
10339
10340         * docs/libs/gstreamer-libs-sections.txt:
10341         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10342         (unref_data), (gst_collect_pads_add_pad),
10343         (gst_collect_pads_add_pad_full):
10344         * libs/gst/base/gstcollectpads.h:
10345         API: Add function to specify a destroy notification for custom
10346         GstCollectData when adding new pads in GstCollectPads (#402393).
10347
10348 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
10349
10350         * po/sv.po:
10351           Update Swedish translation (#378255).
10352
10353 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
10354
10355         * docs/design/draft-klass.txt:
10356           Fix the previous change, this is a list of categories and not a hierarchy.
10357
10358 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
10359
10360         * docs/design/draft-klass.txt:
10361           Add info about how to get a list of used classes.
10362
10363 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
10364
10365         * plugins/elements/gsttypefindelement.c:
10366         (gst_type_find_element_chain_do_typefinding),
10367         (gst_type_find_element_change_state):
10368           Don't leak found caps in chain function (no idea why that never
10369           showed up as a leak anywhere).
10370
10371 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
10372
10373         * gst/gstplugin.h:
10374           Fix and expand GstPluginDesc API docs.
10375
10376 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
10377
10378         * gst/gstcaps.c:
10379         * gst/gstelementfactory.c:
10380         * gst/gstpadtemplate.h:
10381           api doc fixes
10382
10383         * libs/gst/controller/gstcontroller.c:
10384         (gst_controlled_property_new):
10385         * tests/examples/controller/audio-example.c:
10386           comment fixes
10387
10388 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
10389
10390         * configure.ac:
10391           comment about refining the xml deps
10392
10393         * docs/manuals.mak:
10394           comments about moving away from jade for docs
10395         
10396         * gst/gst.c:
10397           recommit the ifdefs to use the binary registry
10398         
10399         * gst/gstbin.c: (gst_bin_change_state_func):
10400           this break is obsolete
10401
10402         * gst/gstelementfactory.h:
10403           better GST_ELEMENT_DETAILS docs, add comment about translation
10404
10405         * gst/gstinfo.h:
10406           remove eol slash
10407
10408         * gst/gstobject.c: (gst_signal_object_get_type):
10409           add G_UNLIKELY as usual
10410
10411         * gst/gstpad.c: (gst_pad_event_default):
10412           add fall trhu comment
10413
10414         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10415         (gst_registry_binary_initialize_magic),
10416         (gst_registry_binary_save_string),
10417         (gst_registry_binary_save_pad_template),
10418         (gst_registry_binary_save_feature),
10419         (gst_registry_binary_save_plugin),
10420         (gst_registry_binary_write_cache),
10421         (gst_registry_binary_check_magic),
10422         (gst_registry_binary_load_pad_template),
10423         (gst_registry_binary_load_feature),
10424         (gst_registry_binary_load_plugin),
10425         (gst_registry_binary_read_cache):
10426           comment typo and formatting
10427
10428         * gst/gstutils.c: (gst_element_state_get_name),
10429         (gst_element_state_change_return_get_name):
10430           remove obsolete breaks
10431
10432         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
10433           add FIXME 0.11 and remove cpp comment
10434
10435 2007-01-29  Edward Hervey  <edward@fluendo.com>
10436
10437         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10438         Fix print statement in an even more portable way.
10439
10440 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
10441
10442         * docs/gst/gstreamer-sections.txt:
10443         * gst/gstutils.h:
10444           API: add GST_ROUND_DOWN_* macros (#401781).
10445
10446 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
10447
10448         * docs/gst/gstreamer.types.in:
10449         * gst/gstregistry.c: (gst_registry_class_init):
10450           Document registry signals and make gtk-doc pick them up (#401381).
10451
10452 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
10453
10454         * docs/pwg/building-testapp.xml:
10455           Add some audioconverts and audioresample to the pipeline, and some
10456           more comments and error handling.
10457
10458 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
10459
10460         * docs/manual/manual.xml:
10461         * docs/pwg/pwg.xml:
10462           Fix typo (#400987).
10463
10464 2007-01-26  Wim Taymans  <wim@fluendo.com>
10465
10466         * gst/gstcaps.c: (gst_static_caps_get):
10467         Init caps flags too.
10468
10469 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
10470
10471         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
10472
10473         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
10474         If not using mmap'ed files try to seek to the end instead of the
10475         start to determine whether we can seek at all. This fixes the case
10476         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
10477         seeks for everything afterwards fail. Fixes #400656
10478
10479 2007-01-25  Wim Taymans  <wim@fluendo.com>
10480
10481         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
10482         Add some refcount debugging.
10483         Make gst_static_caps_get threadsafe, which is needed when autoplugging
10484         in multiple streaming threads.
10485
10486 2007-01-25  Wim Taymans  <wim@fluendo.com>
10487
10488         Patch by: David Schleef <ds at schleef dot org>
10489
10490         * docs/libs/gstreamer-libs-sections.txt:
10491         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
10492         * libs/gst/base/gstadapter.h:
10493         API: gst_adapter_copy() that can reduce the amount of memcpy when
10494         getting data from the adapter. Fixes #388201.
10495
10496 2007-01-25  Edward Hervey  <edward@fluendo.com>
10497
10498         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10499         In print statements, "%x" is for guint. Fixes build on macosx.
10500
10501 2007-01-24  Edward Hervey  <edward@fluendo.com>
10502
10503         * plugins/elements/gstmultiqueue.c:
10504         (gst_multi_queue_loop):
10505         Small fix.
10506         (single_queue_overrun_cb), (single_queue_underrun_cb),
10507         (single_queue_check_full), (gst_single_queue_new):
10508         Implement single queue growth system.
10509         This uses the extra-size properties, and will grow single queues by
10510         that much if one goes full whereas there are others empty. This is
10511         called extra-mode in the code.
10512         When a single queue's levels go back below the initial max-size
10513         limits, it is no longer in extra-mode. This is to ensure we don't
10514         consume too much memory.
10515         Fixes #399875
10516
10517 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
10518
10519         * gst/gst.c: (gst_init_get_option_group):
10520           Make warning about late g_thread_init() calls a bit more explicit,
10521           so that it's more obvious to application developers what they need
10522           to do if a user files a bug against their application.
10523
10524 2007-01-22  Edward Hervey  <edward@fluendo.com>
10525
10526         * plugins/elements/gstmultiqueue.c:
10527         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
10528         Remove previous hack of unsetting the flushing flag for the source pad
10529         instead of activating it. Instead, fix the source pad activate function
10530         so that it no longer depends on having a parent set or not.
10531
10532 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
10533
10534         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
10535
10536         * docs/manual/basics-bus.xml:
10537           Fix example code, gst_element_unref() doesn't exist any longer.
10538
10539 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
10540
10541         Patch by: Mark Nauwelaerts <manauw at skynet be>
10542
10543         * gst/gstpad.c:
10544           Fix two docs typoes (#399094).
10545
10546 2007-01-19  Edward Hervey  <edward@fluendo.com>
10547
10548         * docs/faq/gst-uninstalled:
10549         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
10550         depending on libgstbaseutils can work in uninstalled environment.
10551
10552 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
10553
10554         * gst/gsttaglist.h:
10555         * gst/gsttagsetter.c:
10556         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
10557         statement for new tag.
10558
10559 2007-01-17  Edward Hervey  <edward@fluendo.com>
10560
10561         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
10562         When dynamically creating single queues, activate sinkpad before adding
10563         it.
10564         We should be doing the same thing for the source pad, but we can't
10565         since it would call a method which needs the parent to be set in order
10566         to work propertly. Instead of activating the source pad, we just unset
10567         the flushing flag, which is the minimal requirement for adding a pad
10568         to an element in a state greater than READY.
10569
10570 2007-01-17  Edward Hervey  <edward@fluendo.com>
10571
10572         * docs/faq/gst-uninstalled:
10573         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
10574         Mac OS X.
10575
10576 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
10577
10578         * tests/check/gst/gstabi.c:
10579         * tests/check/gst/struct_hppa.h:
10580         * tests/check/libs/libsabi.c:
10581         * tests/check/libs/struct_hppa.h:
10582           Add ABI structs for HPPA (see #393796).
10583
10584 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
10585
10586         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
10587           Actually write ABI structs to the file specified in the GST_ABI
10588           environment variable, as the message we print claims we would.
10589
10590 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10591
10592         * tests/check/gst/gsttask.c:
10593           Fix header comment.
10594
10595 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10596
10597         * gst/gsttaglist.c: (_gst_tag_initialize):
10598           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
10599           previous two entries.
10600
10601 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10602
10603         * docs/gst/gstreamer-sections.txt:
10604         * gst/gsttaglist.c: (_gst_tag_initialize):
10605         * gst/gsttaglist.h:
10606           Add tag support for beat-per-minute.
10607
10608 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10609
10610         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10611         (gst_registry_binary_initialize_magic),
10612         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
10613         (gst_registry_binary_save_pad_template),
10614         (gst_registry_binary_save_feature),
10615         (gst_registry_binary_save_plugin),
10616         (gst_registry_binary_write_cache),
10617         (gst_registry_binary_check_magic),
10618         (gst_registry_binary_load_pad_template),
10619         (gst_registry_binary_load_feature),
10620         (gst_registry_binary_load_plugin),
10621         (gst_registry_binary_read_cache):
10622         * gst/gstregistrybinary.h:
10623           Use glib types, cleanup comments, impement interfaces and uri-types.
10624
10625 2007-01-13  Andy Wingo  <wingo@pobox.com>
10626
10627         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
10628         getrange() to return buffers with other caps, while we fix
10629         demuxers and typefind, or otherwise change part-negotiation.txt.
10630
10631 2007-01-12  Andy Wingo  <wingo@pobox.com>
10632
10633         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
10634         Factor start/stop into this private function instead of partially
10635         in activate functions and partially in the change_state function.
10636         Fixes setup before the element has changed from READY->PAUSED, as
10637         is the case in pull-mode pipelines.
10638         (gst_base_transform_sink_activate_push)
10639         (gst_base_transform_src_activate_pull): Refactor to use
10640         gst_base_transform_activate().
10641         (gst_base_transform_change_state): Removed, not needed any more.
10642
10643         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10644         Truncate before fixating.
10645         
10646         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10647         Don't set_caps() if the result of fixating is ANY, as it's not
10648         supported, and not necessary in the case of a link with no
10649         template caps on either side. Fixes tests/check/libs/basesrc in
10650         some pull-mode tests.
10651
10652         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
10653         (gst_base_transform_init, gst_base_transform_sink_activate_push)
10654         (gst_base_transform_src_activate_pull): 
10655         Track the activation mode.
10656         (gst_base_transform_setcaps): In pull mode, when activating the
10657         src pad, after activating the sink pad, activate the sink pad's
10658         peer, as discussed in part-negotiation.txt.
10659
10660         * libs/gst/base/gstbasesrc.h: 
10661         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
10662         vmethod, as in basesink.
10663
10664         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
10665
10666         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
10667         mode, first proxy the setcaps to the peer pad.
10668         (gst_base_sink_pad_fixate): Add a fixate function that calls the
10669         new fixate vmethod.
10670         (gst_base_sink_default_activate_pull): Rename from
10671         gst_base_sink_activate_pull.
10672         (gst_base_sink_negotiate_pull): New function, performs negotiation
10673         in pull mode before calling ::activate_pull().
10674         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
10675         vmethod instead of the default implementation. I have no idea how
10676         this worked before. Negotiate before calling activate_pull.
10677
10678         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
10679         sink pads in pull mode. In addition to being correct, fixes
10680         filesrc ! decodebin ! identity ! fakesink.
10681         (gst_pad_get_range, gst_pad_pull_range): Don't call
10682         gst_pad_set_caps() if the caps changes; instead error out with
10683         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
10684
10685 2007-01-12  Andy Wingo  <wingo@pobox.com>
10686
10687         * docs/design/part-negotiation.txt: Update with more policy.
10688
10689 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10690
10691         * libs/gst/check/gstbufferstraw.h:
10692         * libs/gst/check/gstcheck.h:
10693           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
10694           belongs.
10695
10696 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10697
10698         * tests/check/Makefile.am:
10699         * tests/check/gst/.cvsignore:
10700         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
10701         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
10702         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
10703         (GST_START_TEST), (gst_tag_setter_suite):
10704           Add minimal unit test for beforementioned GstTagSetter bug.
10705
10706 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10707
10708         Patch by: René Stadler <mail at renestadler dot de>
10709
10710         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
10711           gst_tag_list_merge() returns a new list, so it's not the best idea
10712           to ingore its return value. Effectively meant that tags could only
10713           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
10714           Also add function guard to require a non-NULL taglist as input (has
10715           always been so due to gst_tag_list_copy(), just making it explicit).
10716
10717 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10718
10719         * docs/random/draft-missing-plugins.txt:
10720           Some additions: mention new API that is supposed to be used at the
10721           various stages; short blob about new gst-inspect introspection
10722           option; mention potential future problem with plugins that have
10723           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
10724
10725 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10726
10727         * tools/gst-inspect.c:
10728         (print_plugin_automatic_install_info_codecs),
10729         (print_plugin_automatic_install_info_protocols),
10730         (print_plugin_automatic_install_info), (main):
10731         Add --print-plugin-auto-install-info option to gst-inspect, so we can
10732         introspect plugin files and get machine-parsable output that corresponds
10733         to the last bit of the missing-plugin installer string (small gotcha:
10734         doesn't take into account ranks).
10735
10736 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
10737
10738         * configure.ac:
10739         * docs/gst/gstreamer-sections.txt:
10740         * gst/Makefile.am:
10741         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
10742         (gst_registry_lookup_locked):
10743         * gst/gstregistry.h:
10744         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10745         (gst_registry_binary_initialize_magic),
10746         (gst_registry_binary_save_string),
10747         (gst_registry_binary_save_pad_template),
10748         (gst_registry_binary_save_feature),
10749         (gst_registry_binary_save_plugin),
10750         (gst_registry_binary_write_cache),
10751         (gst_registry_binary_check_magic),
10752         (gst_registry_binary_load_pad_template),
10753         (gst_registry_binary_load_feature),
10754         (gst_registry_binary_load_plugin),
10755         (gst_registry_binary_read_cache):
10756         * gst/gstregistrybinary.h:
10757         * gst/gstregistryxml.c: (load_feature),
10758         (gst_registry_xml_read_cache):
10759           commit binary registry (disabled by default, see #359653)
10760
10761 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10762
10763         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
10764           Fix 'make check' too.
10765
10766 2007-01-10  Andy Wingo  <wingo@pobox.com>
10767
10768         * docs/design/part-negotiation.txt: Fix a typo, add a couple
10769         notes.
10770         
10771         * docs/design/part-negotiation.txt: Update with, um, one way that
10772         pull-mode negotiation might work?
10773
10774         * gst/gstpad.h: 
10775         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
10776         that the pad must be a src pad; makes sense to call it the other
10777         way in pull mode, and the logic is symmetric anyway.
10778
10779 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
10780
10781         * plugins/elements/gstfilesink.c:
10782           Include <stdio.h> for fseeko().
10783
10784 2007-01-10  Wim Taymans  <wim@fluendo.com>
10785
10786         * gst/gstevent.c:
10787         * gst/gstevent.h:
10788         Reserve LATENCY event.
10789
10790 2007-01-09  Wim Taymans  <wim@fluendo.com>
10791
10792         * docs/design/draft-latency.txt:
10793         Updates.
10794
10795 2007-01-09  Wim Taymans  <wim@fluendo.com>
10796
10797         * docs/design/draft-latency.txt:
10798         Updates.
10799
10800         * gst/gstelement.h:
10801         * gst/gststructure.c:
10802         * gst/gsttrace.c:
10803         Small typo fixes.
10804
10805 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
10806
10807         * tests/check/.cvsignore:
10808           Ignore test-registry.xml as well.
10809
10810 2007-01-09  Wim Taymans  <wim@fluendo.com>
10811
10812         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
10813         unref data at the end when we are done with the pad.
10814
10815 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
10816
10817         * docs/gst/gstreamer-sections.txt:
10818         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
10819         (init_post), (gst_deinit), (gst_update_registry):
10820         * gst/gst.h:
10821           API: add gst_update_registry() (#391296).
10822
10823         * tests/check/Makefile.am:
10824         * tests/check/gst/gstregistry.c:
10825         * tests/check/gst/.cvsignore:
10826           Simple unit test for the above.
10827
10828 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
10829
10830         * gst/gstregistry.c: (gst_registry_scan_path_level):
10831           Plugin extension on HP-UX is .sl, add that to the list of approved
10832           plugin extensions (see #393796).
10833
10834         * tests/check/gst/gstpad.c: (GST_START_TEST):
10835           ulong => gulong. Fixes compilation with HP-UX compiler.
10836
10837         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
10838           Fix compilation if valgrind headers are not available.
10839
10840 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
10841
10842         * win32/common/libgstreamer.def: 
10843           Add new exported function.
10844         * win32/vs6/libgstbase.dsp: 
10845           Add gstdataqueue.c to the build.
10846         * win32/vs6/libgstcoreelements.dsp:
10847           Add gstmultiqueue.c to the build.
10848         
10849 2007-01-06  Andy Wingo  <wingo@pobox.com>
10850
10851         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
10852         activate_pull(), providing for a way to specialize the process of
10853         spawning a thread to pull on the sink pad. There is a default
10854         implementation.
10855
10856         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
10857         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
10858         (gst_base_sink_init): Renamed pad activation functions (inserting
10859         "_pad" in their names). Refactor to use the new activate_pull
10860         vmethod, as appropriate.
10861         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
10862         default activate_pull function to start a task pulling from the
10863         sink pad, as before.
10864
10865         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
10866         on the pads if necessary, as in push()/chain(). Update docs.
10867         Shouldn't affect existing pull() usage as it is currently only
10868         being used on buffers without caps.
10869
10870 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10871
10872         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
10873         (init_pre):
10874           Call g_thread_init() first thing in gst_init() / gst_check_init().
10875           When initialisation is done via gst_init_get_option_group() and
10876           GOption parsing, issue a warning if the GLib thread system has not
10877           been initialised yet by the time gst_init_get_option_group() is
10878           called, as it's quite likely other GLib functions such as
10879           g_option_context_new() have been called already then, and
10880           g_thread_init() must be called before any other GLib function. The
10881           application in question must be fixed in that case, since memory
10882           corruption might happen otherwise.
10883           We issue the warning because even if the GLib folks decide to work
10884           around the problem on their end in future, this is still an issue
10885           with all GLib versions >= 2.10.0, so we should warn until we depend
10886           on a GLib version we know to be safe.
10887           Update documentation as well.
10888           Closes bug #391278.
10889
10890 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10891
10892         * tools/gst-inspect.c: (main):
10893         * tools/gst-launch.c: (main):
10894         * tools/gst-typefind.c: (main):
10895         * tools/gst-xmlinspect.c: (main):
10896           Call g_thread_init() really really early, before any other GLib
10897           function (see #342564 and recent discussion on gtk-devel-list).
10898
10899 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10900
10901         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
10902
10903         * gst/gst_private.h:
10904         * gst/gstconfig.h.in:
10905         * gst/gstinfo.h:
10906           On win32, all the __declspec stuff for symbol exporting is
10907           apparently only needed with MSVC, but doesn't work with MingW.
10908           Fixes compilation with MingW and #391909.
10909
10910 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10911
10912         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
10913           Change some GST_ERROR_OBJECT that aren't really errors to
10914           GST_WARNING_OBJECT in order to reduce terminal spam.
10915
10916 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
10917
10918         * tests/check/Makefile.am:
10919           disable test again, as there seem to be still race problems
10920
10921 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
10922
10923         * tests/check/Makefile.am:
10924         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10925         (GST_START_TEST), (queue_suite):
10926           enable queue test again, add tests for the leaky behaviour
10927
10928 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
10929
10930         * configure.ac:
10931         * tests/examples/Makefile.am:
10932           Compile adapter test/example only if the required headers are
10933           available (fixes #391915).
10934
10935 2007-01-01  David Schleef  <ds@schleef.org>
10936
10937         * gst/gstplugin.c:
10938           Restore the previous signal handler for SIGSEGV instead of
10939           setting to default, since we may have stolen it away from
10940           someone.  (i.e., Mono)
10941
10942 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
10943
10944         * docs/random/draft-missing-plugins.txt:
10945           Some small additions and clarifications.
10946
10947 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
10948
10949         * gst/gstregistryxml.c: (gst_registry_save_escaped):
10950           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
10951           since that can lead to random memory corruptions and crashes
10952           (may or may not be related to #383244, #386711, and #386711).
10953
10954 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10955
10956         * tests/check/.cvsignore:
10957         * tests/check/Makefile.am:
10958           sync .cvsignome and CLEANFILES
10959
10960 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10961
10962         * tests/check/Makefile.am:
10963           fix distcheck
10964
10965 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10966
10967         * docs/design/part-states.txt:
10968           two tiny additional comments
10969         
10970         * gst/gststructure.c:
10971           doc fixing
10972
10973         * tests/check/Makefile.am:
10974         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10975         (GST_START_TEST):
10976           disable test for now, unless it gets fixed
10977
10978 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10979
10980         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10981         (GST_START_TEST):
10982           fix race in underrun test
10983
10984 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10985
10986         * tests/check/elements/.cvsignore:
10987           ignore more
10988
10989         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10990         (GST_START_TEST):
10991           try to narrow test failure
10992
10993 2006-12-21  David Schleef  <ds@schleef.org>
10994
10995         * plugins/elements/gstfakesrc.c:
10996           Use g_random_int_range(), since it produces better random
10997           numbers in a range than almost-correct floating point code.
10998
10999 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
11000
11001         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
11002         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
11003         (gst_check_teardown_sink_pad):
11004           do not automatically (de)activate pads
11005
11006         * tests/check/Makefile.am:
11007         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
11008         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
11009           add new, yet simple tests for queue
11010
11011         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
11012         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
11013         * tests/check/elements/filesrc.c: (cleanup_filesrc),
11014         (GST_START_TEST):
11015         * tests/check/elements/identity.c: (cleanup_identity):
11016           consistent pad (de)activation
11017
11018 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
11019
11020         Patch by: Sebastian Dröge  <slomo ubuntu com>
11021
11022         * libs/gst/base/gstcollectpads.c:
11023           Fix two doc typos (#387866).
11024
11025 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
11026
11027         * docs/manual/advanced-dparams.xml:
11028           Fix typo (g_object_control_properties() doesn't exist).
11029
11030 2006-12-19  Edward Hervey  <edward@fluendo.com>
11031
11032         * gst/gstsegment.c: (gst_segment_set_seek):
11033         Fine tune the cases where the segment start/stop values are really
11034         updated.
11035         * tests/check/gst/gstsegment.c: (GST_START_TEST):
11036         Add tests for the return values of gst_segment_set_seek().
11037
11038 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
11039
11040         * gst/gst.c:
11041           Docs typo fix.
11042
11043         * plugins/elements/gstqueue.c: (gst_queue_class_init),
11044         (gst_queue_init):
11045           Fix incorrect documentation and flesh it out a bit more.
11046           Set default values for the max properties on the GParamSpec as well,
11047           so it shows up correctly in gst-inspect.
11048
11049 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
11050
11051         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
11052           Correct docs of queue, add more detail and crosslink it more.
11053
11054 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
11055
11056         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
11057           Print additional debug info when the stream isn't perfectly
11058           timestamped; don't try to use invalid durations.
11059
11060 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
11061
11062         * docs/design/Makefile.am:
11063           Dist new design docs.
11064
11065 2006-12-16  Wim Taymans  <wim@fluendo.com>
11066
11067         Patch by: Sjoerd Simons <sjoerd at luon dot net>
11068
11069         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
11070         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
11071         (gst_collect_pads_stop), (gst_collect_pads_event),
11072         (gst_collect_pads_chain):
11073         * libs/gst/base/gstcollectpads.h:
11074         Add refcounting to the collectpads data so we can track when it's safe
11075         to free the data. Fixes #383382.
11076
11077 2006-12-15  Wim Taymans  <wim@fluendo.com>
11078
11079         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
11080         (gst_collect_pads_remove_pad):
11081         Automatically activate/deactivate pads when they are added to a
11082         started/stoped collectpads.
11083
11084 2006-12-15  Wim Taymans  <wim@fluendo.com>
11085
11086         * gst/gstelement.c: (gst_element_add_pad):
11087         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
11088         * gst/gstpad.c: (gst_pad_init):
11089         Set pads to FLUSHING when they are created. Check, warn and fix when a
11090         demuxer adds an inactive pad to itself when running. Fixes #339326.
11091
11092 2006-12-15  Wim Taymans  <wim@fluendo.com>
11093
11094         * gst/gstelement.c: (gst_element_class_init),
11095         (gst_element_default_send_event), (gst_element_send_event),
11096         (gst_element_default_query), (gst_element_query):
11097         Expose default element send_event and query handling as vmethods that
11098         subclasses can chain up to.
11099
11100 2006-12-15  Wim Taymans  <wim@fluendo.com>
11101
11102         * gst/gstelement.c: (gst_element_set_state_func):
11103         Small documentation fixes.
11104
11105 2006-12-15  Wim Taymans  <wim@fluendo.com>
11106
11107         * docs/design/draft-latency.txt:
11108         Checked in draft for handling latency in pipelines.
11109
11110 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11111
11112         * Makefile.am:
11113         * gstreamer.doap:
11114         * gstreamer.spec.in:
11115           adding .doap file
11116
11117 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
11118
11119         * gst/gst.c: (init_pre), (init_post):
11120           init_pre() and init_post() might be called via our GOptionGroup or
11121           from gst_init(), and we should skip both of them if we've already
11122           been initialised, otherwise we will init some things twice or add
11123           two default log functions.
11124
11125 2006-12-13  Edward Hervey  <edward@fluendo.com>
11126
11127         * docs/manual/basics-bus.xml:
11128         No, gst_main_loop does not exist. Its g_main_loop.
11129         Discovered by somebody who abused the copy-paste technique of coding :)
11130
11131 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
11132
11133         * gst/gstghostpad.c:
11134           Log ghostpad debug stuff to the GST_PADS category as well rather
11135           than just to the default category.
11136
11137 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
11138
11139         * configure.ac:
11140         * gst/gst.c: (init_pre):
11141           Add some basic system details such as OS and architecture
11142           to the debug output if possible, courtesy of uname().
11143
11144 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
11145
11146         * docs/gst/running.xml:
11147           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
11148           environment variables.
11149
11150 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
11151
11152         * tests/check/gst/gstbin.c: (GST_START_TEST):
11153         It is acceptable to have a refcount of 2 or 3 at this point in the
11154         test, because the pipeline might be just posting its state_change
11155         message. The next line then waits for that message to appear using
11156         bus_poll, so that should be fine too.
11157
11158 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
11159
11160         * gst/gst.c: (ensure_current_registry_forking):
11161         Ignore EINTR when reading from the child registry pipe.
11162         Explicitly ignore the return value from close, since it makes no
11163         difference.
11164
11165         * gst/gstminiobject.c: (gst_mini_object_ref),
11166         (gst_mini_object_unref):
11167         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
11168
11169         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
11170         When removing cached plugins, remove their features too, so they're
11171         not visible after they've disappeared.
11172
11173         * gst/gstutils.c: (prepare_link_maybe_ghosting):
11174         In the unlikely case that we are linking pads with no parents, don't
11175         crash trying to get the non-existent parent bin.
11176
11177         * gst/parse/grammar.y:
11178         Output debug in the PIPELINE category
11179
11180 2005-03-08  Wim Taymans  <wim@fluendo.com>
11181
11182         Patch by: René Stadler <mail at renestadler dot de>
11183
11184         * gst/gstclock.c: (gst_clock_new_periodic_id):
11185         Reject invalid clock times for interval of periodic ids.
11186         Fixes ##383506.
11187
11188 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
11189
11190         * gst/gstelementfactory.c: (gst_element_factory_create):
11191         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
11192         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
11193         * tools/gst-inspect.c: (print_element_info):
11194         Fix refcounting of gst_plugin_feature_load to match the docs. 
11195         Fixes: #380129
11196
11197 2006-12-07  Wim Taymans  <wim@fluendo.com>
11198
11199         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
11200         (gst_base_sink_get_position):
11201         Improve debugging of events.
11202
11203 2006-12-07  Wim Taymans  <wim@fluendo.com>
11204
11205         Patch by: René Stadler <mail at renestadler dot de>
11206
11207         * gst/gstclock.c: (gst_clock_id_wait):
11208         Make period ids add the interval to the origial requested time instead
11209         of the possibly updated time which can be wrong when there are multiple
11210         waiters for the same id. Fixes #382592.
11211
11212         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
11213         (gst_system_clock_id_wait_jitter_unlocked),
11214         (gst_system_clock_id_wait_jitter):
11215         Fix restart in the async notify thread when an async entry is added to
11216         the front of the list. Fixes #381492. 
11217
11218         * tests/check/gst/gstsystemclock.c: (store_callback),
11219         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
11220         Added test for multiple async waits.
11221         Added test for async wait order.
11222
11223 2006-12-07  Wim Taymans  <wim@fluendo.com>
11224
11225         * gst/gstbin.c: (gst_bin_query):
11226         Add some more docs about the POSITION query.
11227
11228 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
11229
11230         * configure.ac:
11231         Bump version nano - back to CVS.
11232
11233 === release 0.10.11 ===
11234
11235 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
11236
11237         * configure.ac:
11238           releasing 0.10.11, "Love never runs on time"
11239
11240 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
11241
11242         * win32/common/libgstbase.def:
11243         * win32/common/libgstreamer.def:
11244         * win32/vs8/libgstbase.vcproj:
11245         * win32/vs8/libgstcoreelements.vcproj:
11246         * win32/vs8/libgstreamer.vcproj:
11247         Fix compilation on win32 under VS8
11248         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11249         Partially fixes #381175
11250
11251 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
11252
11253         * gst/gstvalue.c: (gst_value_compare_fraction):
11254         If someone is foolish enough to compare 2 fractions with denominator =
11255         0, return UNORDERED rather than aborting.
11256
11257 2006-11-28  Edward Hervey  <edward@fluendo.com>
11258
11259         * libs/gst/base/Makefile.am:
11260         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
11261         (gst_data_queue_base_init), (gst_data_queue_class_init),
11262         (gst_data_queue_init), (gst_data_queue_new),
11263         (gst_data_queue_cleanup), (gst_data_queue_finalize),
11264         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
11265         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
11266         (gst_data_queue_is_empty), (gst_data_queue_is_full),
11267         (gst_data_queue_set_flushing), (gst_data_queue_push),
11268         (gst_data_queue_pop), (gst_data_queue_drop_head),
11269         (gst_data_queue_set_property), (gst_data_queue_get_property):
11270         * libs/gst/base/gstdataqueue.h:
11271         New GstDataQueue object for threadsafe queueing. Most useful for
11272         elements that need some queueing functionnality.
11273         * docs/libs/gstreamer-libs-docs.sgml:
11274         * docs/libs/gstreamer-libs-sections.txt:
11275         Insert documentation for GstDataQueue
11276         * plugins/elements/Makefile.am:
11277         * plugins/elements/gstelements.c:
11278         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
11279         (gst_multi_queue_class_init), (gst_multi_queue_init),
11280         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
11281         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
11282         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
11283         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
11284         (gst_multi_queue_loop), (gst_multi_queue_chain),
11285         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
11286         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
11287         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
11288         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
11289         (wake_up_next_non_linked), (compute_next_non_linked),
11290         (single_queue_overrun_cb), (single_queue_underrun_cb),
11291         (single_queue_check_full), (gst_single_queue_new):
11292         * plugins/elements/gstmultiqueue.h:
11293         New multiqueue element, using GstDataQueue. Used for queuing multiple
11294         streams.
11295         Closes #344639 and #347785
11296
11297 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
11298
11299         * docs/pwg/advanced-types.xml:
11300           add more missing type details
11301
11302         * tools/gst-run.c: (main):
11303           remove unused variable
11304
11305 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
11306
11307         * docs/libs/Makefile.am:
11308         * docs/libs/gstreamer-libs.types:
11309           add types of base classes to enable gobject specific stuff in the docs
11310
11311         * docs/random/ensonic/embedded.txt:
11312           more ideas about isolating platform specific things
11313
11314 2006-11-20  Wim Taymans  <wim@fluendo.com>
11315
11316         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
11317
11318         * libs/gst/check/gstcheck.h:
11319         Fix compilation and running against 0.9.4. Fixes #377332.
11320
11321 2006-11-20  Wim Taymans  <wim@fluendo.com>
11322
11323         * gst/gstsegment.c: (gst_segment_set_seek),
11324         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
11325         (gst_segment_to_running_time):
11326         Fix boundary checking in to_running_time() and to_stream_time().
11327         Fixes #377183.
11328
11329         * tests/check/gst/gstsegment.c: (GST_START_TEST):
11330         stream and running time can now be calculated for the complete
11331         clipped segment.
11332
11333 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
11334
11335         * gst/gstpad.c: (gst_pad_push_event):
11336           Can't access event structure after giving away ownership of
11337           the event.
11338
11339 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
11340
11341         * docs/random/ensonic/embedded.txt:
11342         * docs/random/ensonic/profiling.txt:
11343         * docs/random/ensonic/receipies.txt:
11344           more thinking
11345
11346 2006-11-13  Wim Taymans  <wim@fluendo.com>
11347
11348         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11349
11350         * gst/gstpad.c:
11351         Fix documentation for gst_pad_dispatcher. Fixes #374475.
11352
11353 2006-11-13  Wim Taymans  <wim@fluendo.com>
11354
11355         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
11356
11357         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
11358         Store new length in segment duration so we don't keep on calling the
11359         potentially expensize get_size() call. Fixes #370865.
11360
11361 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
11362
11363         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
11364
11365         * win32/common/libgstreamer.def:
11366           Add two missing symbols (#366492).
11367
11368 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
11369
11370         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
11371         (gst_adapter_take_buffer):
11372         Fix format string to use all its arguments.
11373         Remove useless >= check on a guint
11374
11375 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11376
11377         * tests/examples/adapter/.cvsignore:
11378         Ignore build file as commanded by the build-bot
11379
11380 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11381
11382         * tests/examples/adapter/Makefile.am:
11383         * tests/examples/adapter/adapter_test.c: (run_test_take),
11384         (run_test_take_buffer), (run_tests), (main):
11385
11386         Add new files from the previous commit
11387
11388 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11389
11390         * Makefile.am:
11391         * configure.ac:
11392         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
11393         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
11394         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
11395         * libs/gst/base/gstadapter.h:
11396         * tests/check/libs/adapter.c: (create_and_fill_adapter),
11397         (GST_START_TEST), (gst_adapter_suite):
11398         * tests/examples/Makefile.am:
11399         Do some optimisation work in GstAdapter to avoid copies in more cases.
11400         It could still do slightly better by merging buffers when
11401         gst_buffer_is_span_fast is true, but is already faster. 
11402
11403         Also, avoid traversing a single-linked list to append each incoming 
11404         buffer inside the adapter.
11405
11406         Add simple test app that times the adapter behaviour in different
11407         situations, and extend the unit test to check that bytes enter and
11408         exit the adapter in their original order.
11409
11410 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
11411
11412         * docs/random/draft-missing-plugins.txt:
11413           Update: use element message instead of adding a new message
11414           type to the core; don't provide GStreamer API to initiate the
11415           plugin download, just provide API to compose the strings needed
11416           and let an external libgimmestuff handle the rest.
11417
11418 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
11419
11420         * tools/gst-inspect.c: (print_element_properties_info):
11421         Print a string instead of 'unknown type' for GValueArray properties
11422
11423 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
11424
11425         * docs/random/draft-missing-plugins.txt:
11426         More small fixes.
11427
11428 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
11429
11430         * tests/examples/typefind/typefind.c: (type_found), (main):
11431           Make typefind element example work again (#371894); add a
11432           license header.
11433
11434 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
11435
11436         * docs/random/draft-missing-plugins.txt:
11437           Commit initial draft about how to deal with missing plugins,
11438           needs work (API too).
11439
11440 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
11441
11442         * docs/pwg/advanced-types.xml:
11443           documents the new caps elements (see #363118)
11444
11445 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
11446
11447         * gst/gstplugin.c: (gst_plugin_load_file):
11448         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
11449         (gst_file_src_map_region), (gst_file_src_start):
11450         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
11451         (gst_file_index_commit):
11452           Use g_strerror() instead of strerror() - we want UTF-8.
11453
11454 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
11455
11456         Patch by: Peter Kjellerstedt <pkj at axis com>
11457
11458         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11459           Another printf fix (#371493).
11460
11461 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11462
11463         * tests/check/gst/gsttag.c:
11464           relicence (okay with author=company)
11465
11466 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11467
11468         * gst/gstpad.c: (gst_pad_event_default_dispatch),
11469         (gst_pad_push_event):
11470           Enhance debug and improve docs
11471         
11472         * gst/gsturi.c:
11473           Fix docs
11474
11475 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11476
11477         * docs/random/ensonic/distributed.txt:
11478         * docs/random/ensonic/profiling.txt:
11479           more ideas
11480
11481 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11482
11483         * docs/gst/gstreamer-sections.txt:
11484           add new API and fix the build
11485           
11486         * gst/gstbin.c: (gst_bin_recalc_state):
11487         * gst/gstelement.c: (gst_element_message_full),
11488         (gst_element_get_state_func), (gst_element_set_state_func):
11489           use new API and improve logging
11490         
11491         * gst/gstutils.c: (gst_element_state_change_return_get_name):
11492         * gst/gstutils.h:
11493           API: add function to get StateChangereturn names to improve logs 
11494
11495 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11496
11497         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
11498           I'm considering shooting the next person to put strerror stuff
11499           in the translateable part of the message.
11500
11501 2006-11-03  Wim Taymans  <wim@fluendo.com>
11502
11503         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11504         Get the type and printf conversion specifiers right.
11505
11506 2006-11-03  Wim Taymans  <wim@fluendo.com>
11507
11508         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11509
11510         * gst/gstpad.c: (gst_pad_init), (pre_activate),
11511         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
11512         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
11513         Some small cleanups. Improve debugging.
11514         * gst/gstpad.h:
11515         Signal all waiting threads with a broadcast instead of just one.
11516         Fixes #369942.
11517
11518 2006-11-03  Wim Taymans  <wim@fluendo.com>
11519
11520         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
11521         (gst_fd_src_create):
11522         Add some debugging. 
11523         Only update fd when it's different from the old.
11524
11525 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
11526
11527         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
11528           Printf fixes for PPC/OSX, take two (#369366).
11529
11530 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
11531
11532         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
11533
11534         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
11535         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
11536         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
11537           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
11538           don't cast to long long for portability reasons, but use
11539           GLib's types instead.
11540
11541 2006-10-30  Michael Smith  <msmith@fluendo.com>
11542
11543         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
11544           Get the arguments to lseek() the right way around.
11545           Fixes 367677.
11546
11547 2006-10-30  Wim Taymans  <wim@fluendo.com>
11548
11549         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
11550
11551         * gst/gstinfo.h:
11552         _declspec should be __declspec (two underscores, not one). Fixes 366572.
11553
11554 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
11555
11556         Patch by: Kjartan Maraas  <kmaraas at gnome org>
11557
11558         * docs/design/part-MT-refcounting.txt:
11559         * docs/random/wtay/capsnego2-docs:
11560         * gst/gstclock.c:
11561         * gst/gstxml.c:
11562           Typo fixes (#366212).
11563
11564 2006-10-28  Wim Taymans  <wim@fluendo.com>
11565
11566         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11567
11568         * gst/gst.c:
11569         * win32/common/libgstbase.def:
11570         * win32/common/libgstreamer.def:
11571         * win32/vs8/libgstbase.vcproj:
11572         * win32/vs8/libgstcontroller.vcproj:
11573         Add needed entries in .def files.
11574         Use HAVE_UNISTD_H.
11575         Rearrange def files in vs8 solutions. Fixes #366286.
11576
11577 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
11578
11579         * win32/common/gstconfig.h:
11580           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
11581           hand-made win32 gstconfig.h. Fixes #366321.
11582
11583 2006-10-27  Wim Taymans  <wim@fluendo.com>
11584
11585         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
11586         (gst_ghost_pad_new_full):
11587         Make acceptcaps return TRUE when we don't have a target, just like
11588         setcaps does.
11589
11590 2006-10-27  Wim Taymans  <wim@fluendo.com>
11591
11592         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11593         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
11594
11595 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
11596
11597         * gst/gststructure.c: (gst_structure_id_set_value):
11598           If someone tries to set a non-UTF8 string field on a structure,
11599           don't just print a warning, but also ignore the request and do
11600           not change/add that field to the structure.
11601
11602         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11603           Test for the above.
11604
11605 2006-10-25  David Schleef  <ds@schleef.org>
11606
11607         * gst/gstinfo.c:
11608           g_hash_table_insert() needs a cast to a non-const pointer duh.
11609
11610 2006-10-25  David Schleef  <ds@schleef.org>
11611
11612         * gst/gstinfo.c:
11613         * gst/gstinfo.h:
11614           Change name parameter of _gst_debug_register_funcptr to const
11615           to reflect the constness of its use in the function as well
11616           as to quiet a gcc warning.
11617
11618 2006-10-25  Edward Hervey  <edward@fluendo.com>
11619
11620         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11621         Don't push the buffer if it's empty.
11622         Closes #363095
11623
11624 2006-10-24  Wim Taymans  <wim@fluendo.com>
11625
11626         * gst/gstevent.h:
11627         Add small comment.
11628
11629         * libs/gst/base/gstbasetransform.c:
11630         (gst_base_transform_sink_eventfunc):
11631         Debug segment values *after* updating them as this is more
11632         interesting.
11633
11634 2006-10-23  Wim Taymans  <wim@fluendo.com>
11635
11636         * docs/design/part-events.txt:
11637         Update some docs.
11638
11639         * docs/design/part-block.txt:
11640         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
11641         (gst_pad_push_event):
11642         Revert BLOCKING patch, it tries to be smart without really having a
11643         clear idea what or how. So, now we discard all FLUSHING events again on
11644         a blocking pad. Should fix gnonlin again.
11645
11646 2006-10-23  Wim Taymans  <wim@fluendo.com>
11647
11648         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11649
11650         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
11651         (gst_base_src_start), (gst_base_src_activate_push):
11652         Make sure size is always initialized. Fixes #364388.
11653
11654 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
11655
11656         * docs/random/ensonic/distributed.txt:
11657           add some ideas about doing distributed processing
11658
11659         * docs/random/ensonic/profiling.txt:
11660           get_rusage look promising
11661
11662 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
11663
11664         * docs/manual/basics-helloworld.xml:
11665           Add a cast in example to fix compile warning
11666
11667 2006-10-18  Wim Taymans  <wim@fluendo.com>
11668
11669         * gst/gstsegment.c: (gst_segment_set_last_stop),
11670         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11671         Relax arg checking again, -1 is allowed.
11672
11673 2006-10-18  Wim Taymans  <wim@fluendo.com>
11674
11675         * gst/gstsegment.c: (gst_segment_set_last_stop),
11676         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11677         _set_last_stop() must be with a value != -1
11678         A _TYPE_SET to -1 means seek to 0.
11679         Calc last_stop correctly for negative rates.
11680         Make sure we work with positive durations when updating a segment.
11681
11682 2006-10-18  Wim Taymans  <wim@fluendo.com>
11683
11684         * docs/design/part-live-source.txt:
11685         * gst/gstclock.h:
11686         Small docs fixes.
11687
11688 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
11689
11690         * gst/gstbuffer.h:
11691           Add an explicit cast to GstBuffer** to keep old code that added an
11692           explicit cast to GstMiniObject** for gst_mini_object_replace()
11693           compiling without warning.
11694
11695 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
11696
11697         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
11698           check for validity of dates
11699
11700 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11701
11702         * docs/gst/gstreamer-sections.txt:
11703           Forgot this one, makes gtk-doc shut up.
11704
11705 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11706
11707         Patch by: Peter Kjellerstedt <pkj at axis com>
11708
11709         * gst/gstobject.h:
11710           Don't define xmlNodePtr to gpointer if the core was built with
11711           --disable-loadsave and --disable-registry, this will break
11712           applications that want to use libxml2 but are buildling against a
11713           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
11714           instead so we don't have to mess with the libxml2 namespace
11715           (#361675).
11716
11717 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11718
11719         * gst/gstbuffer.h:
11720           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
11721           type-punned pointer warnings.
11722
11723 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
11724
11725         * gst/gstelement.h:
11726           Add casts to the correct return type to state <=> state transition
11727           macros.
11728
11729 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
11730
11731         * docs/design/part-live-source.txt:
11732           describe howto handle latency
11733         
11734         * docs/random/ensonic/profiling.txt:
11735           more ideas
11736
11737         * tools/gst-plot-timeline.py:
11738           fix log parsing for solaris, remove unused function
11739
11740 2006-10-16  Wim Taymans  <wim@fluendo.com>
11741
11742         * docs/design/part-trickmodes.txt:
11743         * gst/gstevent.c:
11744         Update some docs regarding reverse playback.
11745
11746 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
11747
11748         Patch by: Marcus Granado  <mrc dot gran at gmail com>
11749
11750         * win32/vs8/grammar.vcproj:
11751           Error out with a warning if glib-genmarshal.exe is not in path,
11752           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
11753
11754 2006-10-13  Wim Taymans  <wim@fluendo.com>
11755
11756         * gst/gstsegment.c: (gst_segment_set_seek):
11757         When seeking to stop -1, set last_stop (current position) to the
11758         duration of the segment.
11759
11760 2006-10-13  Wim Taymans  <wim@fluendo.com>
11761
11762         * gst/gstelement.h:
11763         Clarify _NO_PREROLL a bit more.
11764
11765         * gst/gstevent.c:
11766         Fix docs.
11767
11768         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
11769         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
11770         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
11771         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
11772         due to wrong locking order. Fixes #361769.
11773         Remove some redundant/misplaced checks in pad_block.
11774
11775         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
11776         For negative rates, count backwards from the duration.
11777
11778 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
11779
11780         * gst/gsterror.c: (_gst_library_errors_init):
11781           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
11782           up with something better).
11783
11784 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
11785
11786         * win32/vs6/libgstreamer.dsp:
11787         * win32/vs7/libgstreamer.vcproj:
11788         * win32/vs8/libgstreamer.vcproj:
11789           Don't reference glib-compat.c which is currently not used and not
11790           disted; add gstquark.c which was recently added. Fixes #361730.
11791
11792 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
11793
11794         * win32/common/libgstbase.def:
11795         * win32/common/libgstcontroller.def:
11796         * win32/common/libgstreamer.def:
11797           Add gst_caps_merge() and a bunch of other recently-added functions.
11798           Fixes #361732.
11799
11800 2006-10-11  Wim Taymans  <wim@fluendo.com>
11801
11802         * docs/plugins/gstreamer-plugins.args:
11803         * docs/plugins/inspect/plugin-coreelements.xml:
11804         * docs/plugins/inspect/plugin-coreindexers.xml:
11805         Update element args.
11806
11807         * gst/gstsystemclock.c:
11808         Small comment update.
11809
11810         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
11811         (gst_tee_request_new_pad), (gst_tee_release_pad),
11812         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
11813         (gst_tee_sink_activate_pull):
11814         * plugins/elements/gsttee.h:
11815         Some tee loving:
11816         Add default property defines.
11817         Implement release pad function.
11818         Give properties better blubs etc.
11819         Activate pads before adding them to a running tee.
11820         Do simple buffer_alloc on the first requested pad.
11821         Post error when activation fails.
11822
11823 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
11824
11825         * gst/gst.c: (ensure_current_registry_forking):
11826           Check return value of write() to make compiler happy.
11827
11828 2006-10-11  Wim Taymans  <wim@fluendo.com>
11829
11830         Patch by: Sjoerd Simons <sjoerd at luon dot net>
11831
11832         * plugins/elements/gstqueue.c: (gst_queue_chain):
11833         Recheck queue filledness after signalling the overrun when we're about
11834         to leak downstream because we released the lock when emitting the signal
11835         and the queue could be empty again. Fixes #352345.
11836
11837 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
11838
11839         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
11840           Fix refcounting here too, just like we did for _new_valist() a few
11841           days ago (#357180) (thanks to René Stadler). Also remove all those
11842           'Since: 0.9' from the gtk-doc blobs.
11843
11844         * tests/check/libs/controller.c: (controller_refcount_new_list),
11845         (gst_controller_suite):
11846           Unit test for the above.
11847
11848 2006-10-10  Wim Taymans  <wim@fluendo.com>
11849
11850         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
11851
11852         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
11853         (gst_pad_save_thyself):
11854         Update some docs.
11855         Write pad direction in XML output. Fixes #345496.
11856
11857 2006-10-10  Wim Taymans  <wim@fluendo.com>
11858
11859         Patch by: René Stadler <mail at renestadler dot de>
11860
11861         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
11862         (gst_controller_new_list), (_gst_controller_dispose),
11863         (_gst_controller_finalize), (_gst_controller_class_init):
11864         Take ref to controlled object so that it cannot disappear. 
11865         Fixes #357432.
11866
11867 2006-10-10  Wim Taymans  <wim@fluendo.com>
11868
11869         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
11870         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
11871         (gst_check_teardown_sink_pad):
11872         Activate/deactivate pads in setup/teardown respectively.
11873
11874 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11875
11876         Patch by: Josep Torra Valles <josep@fluendo.com>
11877
11878         * gst/Makefile.am:
11879         Cast values when making gstenumtypes.h.  This pacifies Forte
11880         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
11881         in the enumeration.
11882
11883 2006-10-09  Wim Taymans  <wim@fluendo.com>
11884
11885         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
11886         Rename some more @cur to @start to fix docs. 
11887
11888         * gst/gstsegment.c: (gst_segment_set_seek):
11889         Fix typo.
11890         time and start must always stay in sync as defined in design doc.
11891
11892         * gst/gsttaglist.c: (gst_tag_list_is_empty):
11893         Rename param to fix docs.
11894
11895         * tests/check/gst/gstsegment.c: (GST_START_TEST):
11896         Check that start and time are in sync.
11897
11898         * tests/check/pipelines/parse-launch.c:
11899         (gst_parse_test_element_change_state):
11900         Activate pad before adding to the element.
11901
11902 2006-10-09  Wim Taymans  <wim@fluendo.com>
11903
11904         * docs/design/part-qos.txt:
11905         Fix typo.
11906
11907         * gst/gstevent.c:
11908         * gst/gstevent.h:
11909         Update seek event docs regarding negative rates.
11910         Rename @cur to @start. 
11911
11912         * gst/gstsegment.c: (gst_segment_set_seek):
11913         * gst/gstsegment.h:
11914         Update set_seek docs regarding negative rates.
11915         Correctly update last_stop to @stop when dealing with negative
11916         rates.
11917         Rename @cur to @start. 
11918
11919         * tests/check/gst/gstpad.c: (GST_START_TEST):
11920         Activate pads before trying to use them.
11921
11922         * tests/check/gst/gstsegment.c: (GST_START_TEST),
11923         (gst_segment_suite):
11924         Add simple check for segments and negative rates.
11925
11926 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
11927
11928         * gst/gsttaglist.c: (gst_tag_list_is_empty):
11929         * gst/gsttaglist.h:
11930         * docs/gst/gstreamer-sections.txt:
11931           API: add gst_tag_list_is_empty() (#360467).
11932
11933         * tests/check/gst/gsttag.c: (GST_START_TEST):
11934           And a test case.
11935
11936 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11937
11938         * gst/gstmessage.h:
11939         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
11940         a value that doesn't fit on enumeration.
11941
11942 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11943
11944         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11945         Remove local debugging system and use Gstreamer's instead.
11946
11947 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11948
11949         Patch by: Josep Torra Valles <josep@fluendo.com>
11950
11951         * common/m4/gst-error.m4:
11952         Disable warning of statement not reached on Forte.
11953         * gst/gstmessage.h:
11954         Fix warning on Forte (value doesn't fit on enumeration).
11955         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
11956         Fix warning on Forte (value doesn't fit on enumeration).
11957         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11958         DEBUG macro says it takes minimum of 2 args and so Forte
11959         complains about the use with just 1 arg.
11960         * plugins/elements/gstfdsink.c:
11961         * plugins/elements/gstfdsrc.c:
11962         * plugins/elements/gstfilesink.c:
11963         * plugins/elements/gstfilesrc.c:
11964         Use correct return type for the uri handler implementations.
11965
11966         All these fix warnings in Forte.  Fixes bug #360860.
11967
11968 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
11969
11970         * gst/gstelement.h:
11971           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
11972           format string, so don't use G_GNUC_PRINTF for those versions.
11973
11974 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
11975
11976         * gst/gsttaglist.c: (gst_is_tag_list):
11977         * gst/gsttaglist.h:
11978           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
11979
11980         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11981           Small test for the above.
11982
11983 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
11984
11985         * gst/gsttaglist.h:
11986           Less tabs, more spaces.
11987
11988 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
11989
11990         * gst/gstinfo.h:
11991           Those two function declarations do actually belong there, revert
11992           commit from yesterday that turned them intro macros.
11993
11994 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11995
11996         Patch by: Josep Torra Valles <josep@fluendo.com>
11997
11998         * gst/gst.c: (gst_init_get_option_group):
11999         Fix empty declaration and type mismatch.
12000         * gst/gstbin.c: (gst_bin_change_state_func):
12001         Fix type mismatch.
12002         * gst/gstelement.c: (gst_element_continue_state),
12003         (gst_element_set_state_func), (gst_element_change_state),
12004         (gst_element_change_state_func):
12005         Fix type mismatches.
12006         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
12007         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
12008         Cast as appropriate.
12009         * gst/gstobject.c: (gst_class_signal_connect):
12010         Cast as appropriate.  The function pointer parameter really
12011         has the wrong type but would break API if we change it.
12012         * gst/gstquery.c:
12013         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
12014         order of including string.h.
12015         * gst/gstutils.c: (gst_element_state_get_name):
12016         Remove unreachable line.
12017         * gst/gstxml.c: (gst_xml_parse_doc):
12018         Fix type mismatch.
12019         All these caught by Forte.
12020
12021 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12022
12023         Patch by: Josep Torra Valles <josep@fluendo.com>
12024
12025         * common/m4/gst-error.m4:
12026         Fixed bug #360151.
12027         We need to disable warnings on Forte for empty declarations
12028         due to gst-indent adding ;s to lines that just use macros
12029         where the macro actually doesn't need a ; at end to end
12030         statement.
12031
12032 2006-10-06  Wim Taymans  <wim@fluendo.com>
12033
12034         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
12035         (gst_file_sink_close_file), (gst_file_sink_event),
12036         (gst_file_sink_render):
12037         Add some FIXME for the NEWSEGMENT handling.
12038
12039 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12040
12041         * gst/parse/grammar.y:
12042         Remove static function gst_parse_element_lock as all it does
12043         is return.  Looks like cruft from 0.8.
12044
12045 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12046
12047         Patch by: Josep Torra Valles <josep@fluendo.com>
12048
12049         * common/m4/gst-error.m4:
12050         * configure.ac:
12051         * libs/gst/net/Makefile.am:
12052         Fix a compilation issue with Forte on Solaris.  inet_aton is in
12053         libresolv.
12054
12055 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
12056
12057         * gst/gstpad.c: (pre_activate):
12058         * gst/gstregistry.c: (gst_registry_scan_path_level):
12059         * gst/gstregistryxml.c: (load_plugin):
12060         * libs/gst/controller/gstcontroller.c:
12061         (gst_controlled_property_set_interpolation_mode):
12062         * libs/gst/dataprotocol/dataprotocol.c:
12063         (gst_dp_packet_from_event_1_0):
12064         * libs/gst/net/gstnetclientclock.c:
12065         (gst_net_client_clock_observe_times):
12066         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
12067           Printf fixes.
12068
12069 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
12070
12071         * configure.ac:
12072         * docs/gst/gstreamer-sections.txt:
12073         * gst/gstconfig.h.in:
12074         * gst/gstelement.h:
12075         * gst/gstinfo.h:
12076           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
12077           whether we can use G_GNUC_PRINTF in other header files and at
12078           least check the printf format/arguments of debug messages and
12079           GST_ELEMENT_ERROR messages when the printf extension is not
12080           being used.
12081           Replace more tabs with spaces in gstinfo.h and remove two spurious
12082           function declarations in GST_DISABLE_DEBUG part with macros.
12083
12084 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
12085
12086         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
12087           More docs for the sync-message signal (mention that it is not
12088           emitted by default); log message structures of messages posted on
12089           the bus as well.
12090
12091 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
12092
12093         * gst/gst.c: (ensure_current_registry_forking):
12094         Use a pipe pair to receive status results from the forked child, and
12095         ignore the result from waitpid. Fixes #355499
12096
12097 2006-10-02  Wim Taymans  <wim@fluendo.com>
12098
12099         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12100         (gst_ghost_pad_suite):
12101         Fix leak in check.
12102
12103 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
12104
12105         * gst/gstpad.c:
12106           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
12107
12108 2006-10-02  Edward Hervey  <edward@fluendo.com>
12109
12110         * docs/design/part-block.txt:
12111         Further explain the use of flushing on blocked pads.
12112         * docs/gst/gstreamer-sections.txt:
12113         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
12114         (gst_pad_push_event):
12115         * gst/gstpad.h:
12116         Added new GstPadFlag : GST_PAD_BLOCKING.
12117         Adds the notion of pads really blocking, which enables to properly
12118         handle FLUSH_START/FLUSH_STOP events on blocked pads.
12119         Fixes #358999
12120         API: gst_pad_is_blocking()
12121         API: GST_PAD_IS_BLOCKING() macro
12122         API: GST_PAD_BLOCKING GstPadFlag
12123         
12124 2006-10-02  Wim Taymans  <wim@fluendo.com>
12125
12126         Patch by: mrcgran <mrc.gran at gmail dot com>
12127
12128         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
12129         Filter the proxied caps against the padtemplate if we have one.
12130
12131         * gst/gstquery.c: (gst_query_new_segment):
12132         Add include for gstinfo.h so that compilation with
12133         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
12134
12135 2006-10-02  Wim Taymans  <wim@fluendo.com>
12136
12137         Patch by: Alessandro Decina  <alessandro at nnva org>
12138
12139         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
12140         (gst_file_sink_set_location), (gst_file_sink_open_file),
12141         (gst_file_sink_close_file), (gst_file_sink_event),
12142         (gst_file_sink_render):
12143         Set file to NULL when closing filesink so that we can set a new filename
12144         in READY. Fixes #358613.
12145
12146 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
12147
12148         Patch by: Alessandro Decina  <alessandro at nnva org>
12149
12150         * gst/gstevent.c: (_gst_event_copy):
12151           Fix gst_mini_object_make_writable() and gst_event_copy() for events
12152           with event structures by setting the parent refcount address of the
12153           copied structure to the address of the refcount member of the newly
12154           copied event rather than the address of the refcount member of the
12155           original event. Fixes #358737.
12156
12157         * tests/check/gst/gstevent.c: (GST_START_TEST):
12158           Unit test for the above.
12159
12160 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
12161
12162         * docs/design/Makefile.am:
12163           Dist some more files.
12164
12165 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
12166
12167         * tests/check/libs/controller.c: (GST_START_TEST),
12168         (gst_controller_suite):
12169           Add test for the previous fix; add some more tests
12170           for correct refcounting behaviour; fix a few leaks
12171           in test cases; call gst_controller_init() at start
12172           of all tests.
12173
12174 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
12175
12176         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12177         (gst_controller_set_from_list):
12178           Don't g_return_val_if_fail() on timed values with invalid timestamps
12179           inside a critical section without unlocking the mutex. Spotted by
12180           René Stadler. (#357617)
12181           Also, fix up refcounting properly: when returning an existing
12182           controller, we should increase the reference only once and not
12183           once per property and when trying to control a property again
12184           we should also increase the refcount.
12185
12186 2006-09-29  Wim Taymans  <wim@fluendo.com>
12187
12188         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
12189         * libs/gst/net/gstnettimeprovider.c:
12190         (gst_net_time_provider_thread):
12191         Stop reading commands when EOF as well.
12192
12193         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
12194         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
12195         * plugins/elements/gstidentity.c: (gst_identity_class_init):
12196         Unify description of the dump property.
12197
12198 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12199
12200         * tests/examples/manual/.cvsignore:
12201         OK, so it's actually cvsignore that needs changing. Stop laughing.
12202
12203 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12204
12205         * tests/examples/manual/Makefile.am:
12206         Gah, declare vars *before* using them
12207
12208 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12209
12210         * gst/gst.c: (init_pre), (scan_and_update_registry),
12211         (ensure_current_registry_nonforking),
12212         (ensure_current_registry_forking), (ensure_current_registry),
12213         (init_post), (gst_debug_help), (gst_deinit):
12214         * gst/gst_private.h:
12215         * gst/gstregistry.c: (gst_registry_finalize),
12216         (gst_registry_remove_features_for_plugin_unlocked),
12217         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12218         (gst_registry_scan_path),
12219         (_priv_gst_registry_remove_cache_plugins),
12220         (_priv_gst_registry_cleanup):
12221         * gst/gstregistry.h:
12222         Re-commit the registry changes, along with an extra fix:
12223           When a cached plugin is encountered at a different file path,
12224           update the stored path in the registry cache so that the parent
12225           process knows where it actually is now when it re-reads the registry
12226           cache. Fixes the thing that broke distcheck with the previous commit.
12227
12228         * tests/check/Makefile.am:
12229         Clean up files named 'core' too when running make clean.
12230
12231         * tests/examples/manual/Makefile.am:
12232         Set up a registry path for running these tests, and clean it properly
12233         for distcheck.
12234
12235 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12236
12237         * configure.ac:
12238         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
12239         want gmodule-no-export-2.0.pc instead so that we don't drag in
12240         --export-dynamic on every project that links to GStreamer.
12241
12242         Also, make our export regex only match the start of symbols, rather 
12243         than any symbol that contains '_gst' somewhere.
12244
12245         * libs/gst/check/Makefile.am:
12246         The libgstcheck we build does however need export-dynamic, as it
12247         produces some symbols that don't match our _gst... style regex.
12248         Fixes: #318031
12249
12250 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
12251
12252         * gst/gst.c: (init_pre), (scan_and_update_registry),
12253         (ensure_current_registry_nonforking),
12254         (ensure_current_registry_forking), (ensure_current_registry),
12255         (init_post), (gst_debug_help), (gst_deinit):
12256         * gst/gst_private.h:
12257         * gst/gstregistry.c: (gst_registry_finalize),
12258         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12259         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
12260         (_gst_registry_cleanup):
12261         * gst/gstregistry.h:
12262           Revert previous change until I figure out why it breaks distcheck.
12263
12264 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
12265
12266         * gst/gst.c: (init_pre), (scan_and_update_registry),
12267         (ensure_current_registry_nonforking),
12268         (ensure_current_registry_forking), (ensure_current_registry),
12269         (init_post), (gst_debug_help), (gst_deinit):
12270
12271           Make init_pre and init_post take the full complement of GOptionFunc
12272           args so they can return useful GErrors. Make the registry updating
12273           functions do so.
12274
12275           Call _priv_gst_registry_remove_cache_plugins after scanning files to
12276           ensure that the registry we're about to write out doesn't contain
12277           stale information about old-deleted plugin files.
12278
12279           Make _priv_gst_registry_remove_cache_plugins return a boolean so
12280           that deletion of plugin files is considered a registry change.
12281
12282         * gst/gst_private.h:
12283         * gst/gstregistry.c: (gst_registry_finalize),
12284         (gst_registry_remove_features_for_plugin_unlocked),
12285         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12286         (gst_registry_scan_path),
12287         (_priv_gst_registry_remove_cache_plugins),
12288         (_priv_gst_registry_cleanup):
12289         * gst/gstregistry.h:
12290         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
12291         by adding _priv prefix, so that they won't appear in the global
12292         symbol table. They still do atm though because of #318031. Move the
12293         prototypes to gst_private.h
12294
12295         When removing a plugin, remove all features for that plugin too. 
12296         Fixes #340878.
12297
12298 2006-09-27  Wim Taymans  <wim@fluendo.com>
12299
12300         * docs/random/moving-plugins:
12301         Make it clear that the "compiled-in descriptions" really mean
12302         the element details.
12303
12304         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12305         (gst_base_sink_wait_preroll):
12306         Update docs.
12307
12308         * docs/libs/gstreamer-libs-sections.txt:
12309         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
12310         (gst_base_src_get_range), (gst_base_src_activate_push):
12311         * libs/gst/base/gstbasesrc.h:
12312         Added function to block while waiting for PLAYING, this function
12313         is used by live sources that block on the clock.
12314         API: gst_base_src_wait_playing()
12315
12316 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12317
12318         Patch by: Peter Kjellerstedt <pkj at axis com>
12319
12320         * Makefile.am:
12321           gst-element-check.m4 is generated and should therefore be
12322           copied from the build dir rather than the source dir (#357593).
12323           'make distcheck' hasn't noticed this because we were disting
12324           the file as well, so stop doing that.
12325
12326 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12327
12328         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12329           Add some tests for gst_caps_intersect().
12330
12331         * tools/gst-launch.c: (event_loop):
12332           Print all buffering percentages we get, even the 100% one.
12333
12334 2006-09-26  Wim Taymans  <wim@fluendo.com>
12335
12336         * tools/gst-inspect.c: (print_element_properties_info),
12337         (print_signal_info):
12338         Fix printing of flags to match the look of enums.
12339
12340 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12341
12342         * gst/gstelementfactory.c:
12343           Fix typo in docs blurb.
12344
12345 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12346
12347         * gst/gsturi.c: (search_by_entry):
12348           Don't assert/crash here if a uri handler doesn't return any
12349           supported protocols. The list of protocols could be generated
12350           dynamically at runtime or at plugin registration, and an error
12351           in the underlying library shouldn't be fatal (#353301).
12352
12353 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12354
12355         * gst/gstinfo.c:
12356           Fix warning if HAVE_PRINTF_EXTENSION is undefined
12357           (spotted by Peter Kjellerstedt).
12358
12359 2006-09-23  Wim Taymans  <wim@fluendo.com>
12360
12361         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
12362
12363         * libs/gst/base/gstbasesrc.c:
12364         (gst_base_src_default_check_get_range), (gst_base_src_start),
12365         (gst_base_src_activate_push), (gst_base_src_activate_pull),
12366         (gst_base_src_change_state):
12367         Match _start/_stop calls in the activate functions. Remove redundant
12368         _stop call from the state change function. Fixes #356910.
12369         Turn failure DEBUG into ERROR. 
12370
12371 2006-09-22  Wim Taymans  <wim@fluendo.com>
12372
12373         * docs/design/part-buffering.txt:
12374         * gst/gstmessage.c: (gst_message_new_buffering),
12375         (gst_message_parse_buffering):
12376         Update docs about buffering.
12377
12378         * docs/design/part-trickmodes.txt:
12379         Fix typo.
12380
12381 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
12382
12383         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12384         (gst_controller_new_list):
12385           Ref instances when returning them again (fixes #357180)
12386
12387 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
12388
12389         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
12390           Don't forget to release proxy lock when there's an error.
12391
12392 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
12393
12394         * gst/gstcaps.h:
12395           Add extra initialisers for Caps things, to fix some plugin warnings
12396           when using -Wextra
12397
12398 2006-09-18  Wim Taymans  <wim@fluendo.com>
12399
12400         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
12401           Also set template on the internal pad so that a getcaps from the 
12402           target pad returns the template caps.
12403
12404 2006-09-18  Wim Taymans  <wim@fluendo.com>
12405
12406         * gst/gstelement.c: (gst_element_post_message),
12407         (gst_element_dispose):
12408         Use _DEBUG_OBJECT some more.
12409
12410         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
12411         Avoid typechecks.
12412
12413         * tools/gst-launch.c: (main):
12414         If the toplevel element is not a GstPipeline, it must be put in a
12415         pipeline so that a bus and clock is selected.
12416
12417 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
12418
12419         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
12420           JITTER, RATE, and LATENCY query should be handled by the
12421           default case and not by the CONVERT query code.
12422
12423 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
12424
12425         * gst/gstformat.c: (gst_format_register):
12426           Fix locking order (must take lock before using n_values).
12427
12428         * gst/gstvalue.c: (gst_value_serialize_enum),
12429         (gst_value_deserialize_enum_iter_cmp),
12430         (gst_value_deserialize_enum):
12431           Fix serialisation/deserialisation of custom registered GstFormats.
12432
12433         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12434           Unit test for custom format serialisation/deserialisation.
12435
12436 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
12437
12438         * docs/pwg/building-boiler.xml:
12439         * plugins/elements/gstcapsfilter.c:
12440         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
12441         section.
12442
12443 2006-09-16  Edward Hervey  <edward@fluendo.com>
12444
12445         * libs/gst/base/gstbasetransform.c:
12446         (gst_base_transform_buffer_alloc):
12447         Check if requested caps are the same as the sinks caps IF
12448         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
12449         is FALSE.
12450         This fixes the renegotiation issues stated in #352827.
12451
12452 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12453
12454         * configure.ac:
12455         * docs/manual/advanced-autoplugging.xml:
12456         * tests/examples/Makefile.am:
12457         * tests/examples/manual/.cvsignore:
12458         * tests/examples/manual/Makefile.am:
12459         * tests/examples/manual/extract.pl:
12460           Extract the manual examples again like we used to do.
12461           Fix one of them.
12462
12463 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12464
12465         * win32/common/config.h:
12466           update for version
12467
12468 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
12469
12470         * gst/gsterror.c:
12471           Documents how to receive errors.
12472
12473 2006-09-15  Wim Taymans  <wim@fluendo.com>
12474
12475         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
12476         (event_loop), (main):
12477         Added some comments here and there.
12478         Post an application message when an interrupt is caught instead of doing
12479         an uncontrolled state change.
12480         Clean up the event loop.
12481         Handle buffering messages, pause/resume the pipeline.
12482         Make shutdown because of an interrupt more reliable.
12483
12484 2006-09-15  Wim Taymans  <wim@fluendo.com>
12485
12486         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12487         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
12488         (gst_base_sink_preroll_object):
12489         Make sure that our internal state is correct when we commit our state
12490         asynchronously. This solves a race where a state change to PLAYING
12491         could cause the sink to remain blocked in preroll in some situations.
12492
12493 2006-09-15  Wim Taymans  <wim@fluendo.com>
12494
12495         * tools/gst-inspect.c: (print_element_properties_info),
12496         (print_signal_info):
12497         List flags as hex so it's easier to deal with.
12498
12499 2006-09-15  Wim Taymans  <wim@fluendo.com>
12500
12501         * docs/libs/gstreamer-libs-sections.txt:
12502         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
12503         (gst_base_sink_do_sync):
12504         * libs/gst/base/gstbasesink.h:
12505         Expose logic to wait for preroll so that subclasses such as audiosink
12506         can also use this method.
12507         API: gst_base_sink_wait_preroll()
12508
12509 2006-09-15  Wim Taymans  <wim@fluendo.com>
12510
12511         * gst/gstobject.c: (gst_object_set_parent):
12512         * gst/gstpipeline.c: (do_pipeline_seek):
12513         Small cleanups in docs and code.
12514
12515         * gst/gstsegment.c: (gst_segment_clip):
12516         * tests/check/gst/gstsegment.c: (GST_START_TEST):
12517         if stop == start and start is in the segment, no clipping should be
12518         done. Also add a test for this.
12519
12520 2006-09-15  Wim Taymans  <wim@fluendo.com>
12521
12522         * docs/design/part-buffering.txt:
12523         * docs/gst/gstreamer-sections.txt:
12524         * gst/gstmessage.c: (gst_message_new_buffering),
12525         (gst_message_parse_buffering):
12526         * gst/gstmessage.h:
12527         Added methods to create and parse BUFFERING messages.
12528         Added preliminary docs about buffering.
12529         API: gst_message_new_buffering
12530         API: gst_message_parse_buffering
12531
12532 2006-09-06  Wim Taymans  <wim@fluendo.com>
12533
12534         * gst/gstbin.c:
12535         Update documentation.
12536
12537         * gst/gstelement.c: (gst_element_class_init),
12538         (gst_element_release_request_pad), (gst_element_set_clock),
12539         (gst_element_get_index), (gst_element_add_pad),
12540         (gst_element_remove_pad), (gst_element_get_random_pad),
12541         (gst_element_send_event), (gst_element_get_query_types),
12542         (gst_element_query), (gst_element_post_message),
12543         (gst_element_message_full), (gst_element_continue_state),
12544         (gst_element_lost_state), (gst_element_save_thyself),
12545         (gst_element_restore_thyself):
12546         Documentation updates.
12547         Rename last bit of the new-pad -> pad-added signal rename.
12548         Fix the case where an element query would only work if the source
12549         pad was linked.
12550         Avoid some useless type checking in message handling.
12551
12552         * gst/gstevent.c:
12553         * gst/gstevent.h:
12554         * gst/gstutils.c:
12555         Documentation updates.
12556
12557 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12558
12559         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
12560           add an INFO line for when we actually update the fd
12561
12562 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12563
12564         * configure.ac:
12565           back to TRUNK
12566
12567 === release 0.10.10 ===
12568
12569 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
12570
12571         * configure.ac:
12572           releasing 0.10.10, "Pais"
12573
12574 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
12575
12576         * docs/manual/advanced-position.xml:
12577           Fix typo in sample code.
12578
12579 2006-09-05  Wim Taymans  <wim@fluendo.com>
12580
12581         * libs/gst/net/gstnetclientclock.c: (inet_aton),
12582         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
12583         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
12584         * libs/gst/net/gstnetclientclock.h:
12585         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
12586         * libs/gst/net/gstnettimepacket.h:
12587         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
12588         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
12589         (gst_net_time_provider_thread), (gst_net_time_provider_new):
12590         * libs/gst/net/gstnettimeprovider.h:
12591         Make stuff compile on windows. Fixes #345295.
12592
12593 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
12594
12595         * gst/gst.c: (ensure_current_registry_forking):
12596           Print better details when child was terminated by signal.
12597
12598 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
12599
12600         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
12601           Print a warning rather than g_assert() if a plugin feature
12602           is a URI handler but returns no protocols (#353976).
12603
12604 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
12605
12606         * docs/random/moving-plugins:
12607         Fix two typos.         
12608
12609 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
12610
12611         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
12612           Fix locking order, handle NULL function values properly.
12613
12614         * gst/gstinfo.h:
12615           Fix docs.
12616
12617         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
12618           Initialise variable before using it and fix debug statement to
12619           print the address of the function rather than the address of the
12620           variable on the stack holding the address of the function.
12621
12622 2006-09-01  Wim Taymans  <wim@fluendo.com>
12623
12624         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
12625         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
12626         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
12627         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
12628         (gst_ghost_pad_parent_unset),
12629         (gst_ghost_pad_internal_do_activate_push),
12630         (gst_ghost_pad_internal_do_activate_pull),
12631         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12632         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12633         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
12634         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
12635         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
12636         (gst_ghost_pad_new_no_target_from_template),
12637         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
12638         More cleanups.
12639         Avoid needless typechecking in macros.
12640         Since the internal pad is always present and never changes, there is
12641         no need to locking or ref when retrieving it.
12642         Improve debugging a bit.
12643         Handle link errors when setting the target. Fixes #341029.
12644
12645 2006-09-01  Wim Taymans  <wim@fluendo.com>
12646
12647         * docs/libs/gstreamer-libs-sections.txt:
12648         * docs/plugins/gstreamer-plugins-sections.txt:
12649         Fix docs some more.
12650
12651         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
12652         (gst_collect_pads_event):
12653         * libs/gst/base/gstcollectpads.h:
12654         Documentation updates.
12655         Free queued buffer when removing a pad.
12656
12657 2006-08-31  Michael Smith  <msmith@fluendo.com>
12658
12659         * gst/gstutils.c: (gst_element_link_pads),
12660         (gst_element_link_pads_filtered):
12661           Ensure that we set a capsfilter to NULL if we failed to link it
12662           when doing filtered linking, to avoid criticals.
12663
12664           No need to check for unreffing srcpad, which is explicly NULLed
12665           above (a trivial code cleanup).
12666
12667 2006-08-31  Wim Taymans  <wim@fluendo.com>
12668
12669         * docs/design/part-gstghostpad.txt:
12670         Update ascii art in documentation.
12671
12672         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
12673         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
12674         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
12675         (gst_ghost_pad_internal_do_activate_push),
12676         (gst_ghost_pad_internal_do_activate_pull),
12677         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12678         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12679         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
12680         (gst_ghost_pad_set_target):
12681         Small cleanups and leak fixes.
12682         Remove some checks now that the internal pad is never NULL.
12683         Fix the case where linking pads without a target would create nasty
12684         criticals. Fixes #341029.
12685         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
12686         value of _set_target().
12687
12688         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12689         (gst_ghost_pad_suite):
12690         Some more tests for creating and linking untargeted ghostpads.
12691
12692 2006-08-31  Edward Hervey  <edward@fluendo.com>
12693
12694         * docs/gst/gstreamer-sections.txt:
12695         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
12696         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
12697         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
12698         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
12699         (gst_ghost_pad_new_from_template),
12700         (gst_ghost_pad_new_no_target_from_template):
12701         * gst/gstghostpad.h:
12702         Refactored *_new() functions.
12703         Templates are now used as a g_object_new() parameter.
12704         Use template in _do_getcaps() if we don't have a target.
12705         Small documentation cleanups.
12706         Added two new constructors:
12707         gst_ghost_pad_new_from_template()
12708         gst_ghost_pad_new_no_target_from_template()
12709         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12710         (gst_ghost_pad_suite):
12711         Added tests for new ghostpad instanciation functions.
12712
12713         API additions: gst_ghost_pad_new_from_template,
12714         gst_ghost_pad_new_no_target_from_template
12715
12716 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
12717
12718         * docs/random/ensonic/profiling.txt:
12719           Ideas about qos profiling.
12720
12721 2006-08-29  Wim Taymans  <wim@fluendo.com>
12722
12723         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
12724         Code cleanups.
12725         Fix memleak.
12726
12727 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
12728
12729         * gst/gstxml.c:
12730           Improve and detypofy docs.
12731
12732         * tests/check/Makefile.am:
12733         * tests/check/gst/.cvsignore:
12734         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
12735           Add a basic test suite for GstXML.
12736
12737 2006-08-29  Wim Taymans  <wim@fluendo.com>
12738
12739         * gst/gstelement.c: (activate_pads), (clear_caps),
12740         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
12741         Clear the pad caps when the element shut down all of the pads and
12742         is not streaming data that could modify the caps. 
12743         Fixes #352958.
12744
12745 2006-08-28  Michael Smith  <msmith@fluendo.com>
12746
12747         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12748           Revert previous change; I misunderstood single-segment mode.
12749
12750 2006-08-28  Michael Smith  <msmith@fluendo.com>
12751
12752         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12753           Unset DISCONT on buffers when using single-segment mode.
12754
12755 2006-08-28  Wim Taymans  <wim@fluendo.com>
12756
12757         * gst/gstcaps.c: (gst_caps_merge_structure):
12758         * gst/gstcaps.h:
12759         Fix docs and indentation again.
12760
12761         * tests/check/gst/gstquery.c: (GST_START_TEST):
12762         Fix leak in tests and add some more tests.
12763
12764 2006-08-28  Edward Hervey  <edward@fluendo.com>
12765
12766         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
12767         Inform GstSegment of the last stop position in order for the current
12768         segment to have a proper duration if it doesn't have a specific stop
12769         position from which a duration could be calculated.
12770         This bug was noticeable when a non-flushing, non-update new segment was
12771         followed by another segment (all buffers from the new segment were being
12772         dropped).
12773
12774 2006-08-28  Wim Taymans  <wim@fluendo.com>
12775
12776         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
12777         Small comment update.
12778
12779         * plugins/elements/gstidentity.c: (gst_identity_class_init),
12780         (gst_identity_transform_ip):
12781         Drop-probability is broken, mention this in the code with a 
12782         FIXME and also in the property description.
12783         Make silent also be silent about the drop messages.
12784
12785 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
12786
12787         * docs/manual/appendix-win32.xml:
12788           Remove mention of popt, we don't depend on that any
12789           longer (#353136). Add some comments pointing out that
12790           this section is slightly outdated.
12791
12792 2006-08-28  Wim Taymans  <wim@fluendo.com>
12793
12794         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12795
12796         * gst/gstquery.c: (gst_query_new_segment):
12797         * tests/check/gst/gstquery.c: (GST_START_TEST):
12798         Initialize variables when creating a new segment query.
12799         Fixes #353121.
12800
12801 2006-08-28  Wim Taymans  <wim@fluendo.com>
12802
12803         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12804
12805         * gst/gstelement.c: (gst_element_get_bus):
12806         * tests/check/gst/gstelement.c: (GST_START_TEST):
12807         Check for NULL before _reffing the bus. Fixes #353122.
12808
12809 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
12810
12811         * docs/manual/basics-bus.xml:
12812           Docs update: fix wrong callback return value explanation; add
12813           some lines about the implicit relationship between main loop
12814           and main context; remove duplicate main loop variable declaration.
12815
12816 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
12817
12818         * tests/check/gst/gstcaps.c: (GST_START_TEST):
12819           Don't leak caps in unit test; add a few more simple
12820           checks. 
12821
12822 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
12823
12824         * docs/gst/gstreamer-sections.txt:
12825         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
12826         (gst_caps_structure_is_subset), (gst_caps_merge),
12827         (gst_caps_merge_structure):
12828         * gst/gstcaps.h:
12829         * libs/gst/base/gstbasetransform.c:
12830         (gst_base_transform_transform_caps):
12831         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12832           implement caps merging (fixes #352580)
12833
12834 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
12835
12836         * tools/Makefile.am:
12837         * tools/gst-plot-timeline.py:
12838           add debug-log plotting developer tool (#340674)
12839
12840 2006-08-23  Wim Taymans  <wim@fluendo.com>
12841
12842         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
12843         (gst_pad_stop_task):
12844         Improve debugging for task functions.
12845
12846         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
12847         (gst_task_start), (gst_task_pause), (gst_task_join):
12848         Make sure that the task function started and finished after a 
12849         join(). 
12850         Don't try to push the task function on the threadpool multiple
12851         times.
12852         Improve the g_warning message with some useful suggestions
12853         about how to fix the problem. 
12854
12855 2006-08-23  Wim Taymans  <wim@fluendo.com>
12856
12857         * gst/gstutils.c: (gst_pad_proxy_getcaps):
12858         Handle RESYNC correctly in _proxy_getcaps.
12859
12860 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
12861
12862         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
12863         (gst_xml_parse_memory), (gst_xml_get_element):
12864           Chain up to parent class in dispose function and also
12865           unref the elements in the toplevel_elements GList.
12866           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
12867           Always return a reference in gst_xml_get_element() rather
12868           than only sometimes.
12869
12870         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12871           Don't leak GstXml object.
12872
12873 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
12874
12875         * docs/gst/gstreamer-sections.txt:
12876         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
12877         (gst_caps_merge):
12878         * gst/gstcaps.h:
12879         * libs/gst/base/gstbasetransform.c:
12880         (gst_base_transform_transform_caps):
12881           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
12882           in a better way
12883
12884 2006-08-21  Edward Hervey  <edward@fluendo.com>
12885
12886         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
12887         Implement GObject::dispose virtual method in GstXML so we can free the
12888         top_elements GList.
12889
12890 2006-08-21  Wim Taymans  <wim@fluendo.com>
12891
12892         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
12893         (gst_buffer_create_sub):
12894         Copy duration/offset_end/caps when creating a subbuffer of the
12895         complete parent.
12896         Make the subbuffer read-only when we make the metadata writable for
12897         now. Fixes #351768.
12898
12899         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
12900         Added check for metadata copy when creating subbuffers.
12901
12902 2006-08-21  Edward Hervey  <edward@fluendo.com>
12903
12904         * libs/gst/base/gstbasetransform.c:
12905         (gst_base_transform_buffer_alloc):
12906         Only call downstream buffer_alloc if transform element is passthrough
12907         or always_in_place. Closes #350449.
12908
12909 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12910
12911         * ChangeLog:
12912           ChangeLog surgery to add comments to previous changes
12913
12914 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12915
12916         * gst/gst.c:
12917           Add comments
12918
12919         * gst/gstpad.c: (gst_pad_set_active):
12920           Be more verbose in the log
12921
12922         * libs/gst/base/gstbasetransform.c:
12923         (gst_base_transform_transform_caps):
12924           Simplify caps to get rid of duplicates, fixes #345444
12925
12926 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12927
12928         * gst/gstvalue.c:
12929         * gst/gstvalue.h:
12930           Use these optimizations only internally.
12931
12932 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12933
12934         * gst/gstvalue.c: (gst_value_compare_list),
12935         (gst_value_compare_fraction_range),
12936         (gst_value_intersect_fraction_fraction_range),
12937         (gst_value_intersect_fraction_range_fraction_range),
12938         (gst_value_subtract_fraction_fraction_range),
12939         (gst_value_subtract_fraction_range_fraction_range),
12940         (gst_value_get_compare_func), (gst_value_compare),
12941         (gst_value_compare_with_func):
12942         * gst/gstvalue.h:
12943           Saves the expensive lookup of the compare function in many cases
12944          (#345444)
12945
12946 2006-08-18  Edward Hervey  <edward@fluendo.com>
12947
12948         * tests/check/gst/gstinfo.c: (gst_info_suite):
12949         Disable test that require gstdebug if it wasn't built in core.
12950
12951 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
12952
12953         * docs/random/ensonic/logging.txt:
12954           update ideas
12955           
12956         * gst/gstinfo.c: (gst_debug_log_default):
12957           reorder fields, save some columns, add optional color codes for log
12958           levels
12959
12960 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
12961
12962         * docs/random/ensonic/logging.txt:
12963           add ideas about making the logs a bit more useful
12964
12965 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
12966
12967         * docs/pwg/advanced-events.xml:
12968         * docs/pwg/titlepage.xml:
12969           Update for 0.10 API (#340627). Add myself
12970           to authors list.
12971
12972 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
12973
12974         * docs/libs/gstreamer-libs-docs.sgml:
12975         * docs/libs/gstreamer-libs-sections.txt:
12976         * libs/gst/check/gstbufferstraw.c:
12977           Make gstcheck stuff show up in docs (still needs to
12978           be documented properly though).
12979
12980 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
12981
12982         * docs/gst/gstreamer-sections.txt:
12983         * gst/Makefile.am:
12984         * gst/gst.c: (init_post):
12985         * gst/gst_private.h:
12986         * gst/gstquark.c: (_priv_gst_quarks_initialize):
12987         * gst/gstquark.h:
12988         * gst/gstquery.c: (gst_query_new_position),
12989         (gst_query_set_position), (gst_query_parse_position),
12990         (gst_query_new_duration), (gst_query_set_duration),
12991         (gst_query_parse_duration), (gst_query_new_convert),
12992         (gst_query_set_convert), (gst_query_parse_convert),
12993         (gst_query_new_segment), (gst_query_set_segment),
12994         (gst_query_parse_segment), (gst_query_new_seeking),
12995         (gst_query_set_seeking), (gst_query_parse_seeking):
12996         Add internal helpers for pre-registering quarks from static strings
12997         and using the quark values directly instead of looking them up when
12998         creating and parsing queries. Can be used for event construction too.
12999         Closes #350432.
13000
13001 2006-08-16  Wim Taymans  <wim@fluendo.com>
13002
13003         * gst/gstbin.c:
13004         Fix bogus docs.
13005
13006 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
13007
13008         * gst/gstutils.c: (gst_util_set_value_from_string):
13009           Fix memleak (#351502).
13010
13011         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13012           Add unit test for most of gst_util_set_value_from_string()
13013           (not that one would want to encourage use of this function).
13014
13015 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
13016
13017         * libs/gst/check/gstcheck.h:
13018           Use const gchar * variables in fail_unless_equals_string
13019           macro to avoid compiler warnings (and don't use tabs for
13020           indenting).
13021
13022 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
13023
13024         * tools/gst-launch.c: (print_tag):
13025           More space on the left for the tag names, to cater
13026           for the 'extended comment' tag (not touching the
13027           string for the first line since it's translated).
13028
13029 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
13030
13031         * libs/gst/check/gstcheck.h:
13032           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
13033           print something when they fail.
13034
13035 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
13036
13037         * docs/gst/gstreamer-sections.txt:
13038         * gst/gsttaglist.c: (_gst_tag_initialize):
13039         * gst/gsttaglist.h:
13040           API: add GST_TAG_EXTENDED_COMMENT (#350935).
13041           Also change merge function for GST_TAG_COMMENT to
13042           use_first.
13043
13044 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
13045
13046         * gst/gstinfo.c: (gst_debug_print_object):
13047           Make GST_PTR_FORMAT print messages as well.
13048
13049         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
13050         (GST_START_TEST), (gst_info_suite):
13051           More tests.
13052
13053 2006-08-14  Edward Hervey  <edward@fluendo.com>
13054
13055         * gst/gstelementfactory.c: (gst_element_register):
13056         If the GstElementClass doesn't have a GstElementDetails with all fields
13057         filled up correctly (longname, description AND author), then error out
13058         nicely instead of crashing.
13059
13060 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
13061
13062         * gst/gststructure.c:
13063           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
13064
13065         * gst/gstvalue.h:
13066           Expand on the difference between arrays and lists as we use them.
13067           
13068 2006-08-14  Wim Taymans  <wim@fluendo.com>
13069
13070         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
13071         If the parent state change function failed, don't assume we can safely
13072         stop the source, this will be done when the pads are deactivated.
13073
13074 2006-08-14  Wim Taymans  <wim@fluendo.com>
13075
13076         * gst/gstbuffer.c:
13077         * gst/gsttask.c: (gst_task_join):
13078         Small doc updates.
13079
13080         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
13081         (gst_pad_stop_task):
13082         When pad (de)activation failed for some reason, restore the old
13083         activation mode and set the pad to flushing instead of assuming the
13084         pad is deactivated.
13085         If the _task_join() failed, reinstall the task on the pad so that it can
13086         be stopped later and return an error.
13087
13088 2006-08-11  Andy Wingo  <wingo@pobox.com>
13089
13090         * configure.ac:
13091         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
13092         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
13093         is only for users of API that don't want to see deprecated
13094         functions in the headers; people that want to compile out
13095         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
13096         CFLAGS. Fixes the build of multifdsink, or will soon..
13097
13098 2006-08-11  Wim Taymans  <wim@fluendo.com>
13099
13100         * docs/gst/gstreamer-sections.txt:
13101         Add GstClockClass vmethod docs.
13102
13103         * gst/gstcaps.h:
13104         Mark #endif with comment for associated #if
13105
13106         * gst/gstclock.c: (gst_clock_id_wait):
13107         * gst/gstclock.h:
13108         Add vmethod wait_jitter to avoid an unneeded _get_time() for
13109         most clock implementations.
13110         Document vmethods.
13111         Flesh out docs about resolution methods.
13112         API: GstClockClass::wait_jitter
13113
13114         * gst/gstsystemclock.c: (gst_system_clock_class_init),
13115         (gst_system_clock_async_thread),
13116         (gst_system_clock_id_wait_jitter_unlocked),
13117         (gst_system_clock_id_wait_jitter):
13118         Use base class wait_jitter variant for improved performance
13119         due to less clock polling.
13120
13121 2006-08-11  Edward Hervey  <edward@fluendo.com>
13122
13123         * gst/gst.c: (gst_init_check), (init_post):
13124         Set gst as being initialized before scanning/updating the registry,
13125         since there might be my python plugin loader that calls gst_init() and
13126         we don't want to loop back in.
13127         Closes #350879
13128
13129 2006-08-11  Wim Taymans  <wim@fluendo.com>
13130
13131         * docs/design/part-qos.txt:
13132         Bring docs in line with the code. Mostly the sign of the jitter was
13133         wrong in the docs. Fixes #349943.
13134
13135         * gst/gstclock.c:
13136         Fix the docs for the jitter.
13137
13138         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
13139         (gst_event_parse_tag), (gst_event_new_buffer_size),
13140         (gst_event_parse_buffer_size), (gst_event_parse_qos),
13141         (gst_event_new_seek), (gst_event_parse_seek),
13142         (gst_event_new_navigation):
13143         Make sure the GstStructure has no parent when creating custom
13144         events.
13145         Add some more argument checking so that we avoid 0.0 rates.
13146         Flesh out the docs for the QoS event some more.
13147
13148 2006-08-11  Wim Taymans  <wim@fluendo.com>
13149
13150         * docs/gst/gstreamer-sections.txt:
13151         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
13152         (ensure_current_registry_forking), (ensure_current_registry),
13153         (parse_one_option), (parse_goption_arg), (gst_deinit),
13154         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
13155         * gst/gst.h:
13156         Doc updates.
13157         Added API and command line option to disable registry forking in
13158         addition to the environment variable.
13159         Constify some static arrays.
13160         Added some more debug.
13161         Don't deinit twice.
13162         API: gst_registry_fork_is_enabled()
13163         API: gst_registry_fork_set_enabled()
13164         API: --gst-disable-registry-fork command line option
13165         Fixes #348918.
13166
13167 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
13168
13169         * gst/gst.c: (gst_init):
13170           Fix typo in error message.
13171
13172 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
13173
13174         * libs/gst/controller/gstcontroller.h:
13175           fix ABI size-correction
13176
13177         * tests/check/libs/gdp.c: (gst_dp_suite):
13178           make tests that use deprecated API conditional
13179
13180 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
13181
13182         * docs/libs/gstreamer-libs-sections.txt:
13183         * libs/gst/controller/gstcontroller.c:
13184         (_gst_controller_get_property), (_gst_controller_set_property),
13185         (_gst_controller_init), (_gst_controller_class_init):
13186         * libs/gst/controller/gstcontroller.h:
13187         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
13188         (gst_object_set_control_rate):
13189           API: add gst_object_{s,g}et_control_rate(), add private data section,
13190           fix docs
13191
13192         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
13193         * libs/gst/dataprotocol/dataprotocol.h:
13194           add deprecation guards to make gtk-doc happy and allow disabling cruft
13195
13196 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
13197
13198         * tests/check/Makefile.am:
13199         * tests/check/gst/.cvsignore:
13200           Let's enable the new unit test as well.
13201
13202 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
13203
13204         * configure.ac:
13205         * docs/gst/gstreamer-sections.txt:
13206         * gst/gstconfig.h.in:
13207         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
13208         (_gst_info_printf_extension_ptr),
13209         (_gst_info_printf_extension_segment):
13210           API: add GST_SEGMENT_FORMAT, which is a printf extension we
13211           register that lets us easily dump GstSegments into debug
13212           logs (#350419).
13213
13214         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
13215         (info_segment_format_printf_extension), (gst_info_suite):
13216           Add simple unit test that logs a bunch of different segments (not
13217           valgrinded at the moment because of leaks in
13218           gst_debug_add_log_function).
13219
13220 2006-08-09  Edward Hervey  <edward@fluendo.com>
13221
13222         * libs/gst/base/gstbasetransform.c:
13223         (gst_base_transform_buffer_alloc):
13224         Even if we can't figure out the proper format to request downstream,
13225         call buffer_alloc() downstream with the input parameters without setting
13226         the caps on the srcpad. This will force negotiation in the chain
13227         function.
13228         Closes #350449
13229
13230 2006-08-08  Edward Hervey  <edward@fluendo.com>
13231
13232         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
13233         Unlinking from a pad without a target is now a perfectly valid case
13234         which should NOT raise an assertion.
13235         This case would happen if a linked ghostpad its target set to NULL after
13236         it was previously linked.
13237
13238 2006-08-08  Edward Hervey  <edward@fluendo.com>
13239
13240         * tests/check/libs/gdp.c:
13241         Also comment out the test (see below).
13242
13243 2006-08-08  Edward Hervey  <edward@fluendo.com>
13244
13245         * tests/check/libs/gdp.c: (gst_dp_suite):
13246         Use the architecture information from config.h and not gcc macros
13247         in order to properly disable a test that fails on PPC64.
13248
13249 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
13250
13251         * gst/gstelement.c: (gst_element_remove_pad):
13252           Don't crash printing the warning if the pad has no parent.
13253
13254 2006-08-02  Wim Taymans  <wim@fluendo.com>
13255
13256         * libs/gst/dataprotocol/dataprotocol.c:
13257         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
13258         (gst_dp_crc), (gst_dp_header_payload_length),
13259         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
13260         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
13261         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
13262         (gst_dp_event_from_packet), (gst_dp_validate_header),
13263         (gst_dp_validate_payload):
13264         Make debug category static
13265         Constify the crc table.
13266         Do some more arg checking in public functions.
13267         Fix some docs and do some small cleanups.
13268
13269         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
13270         Add some more checks to see if GDP deals with bogus input.
13271
13272 2006-07-31  Wim Taymans  <wim@fluendo.com>
13273
13274         * gst/gstvalue.c: (gst_value_compare_list):
13275         Fix GstValueList comparison code. Fixes #347293.
13276
13277         * tests/check/gst/gstvalue.c: (GST_START_TEST):
13278         Check to test GstValueList comparison.
13279
13280 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
13281
13282         * gst/gstelementfactory.c: (gst_element_factory_create):
13283         Remove unnecessary ref/unref pair
13284
13285         * gst/parse/grammar.y:
13286         Make sure to free the parse buffer on all code paths.
13287         Move a g_free up to the error handler where it's easier to see.
13288
13289         * tests/check/gst/gstevent.c: (test_event):
13290         Extending timeout for downstream travelling events to 10 seconds to
13291         hopefully avoid intermittent failure on the buildbots.
13292
13293         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
13294         Don't manually set the state of the src element - it will happen as a
13295         natural consequence of the pipeline changing state, and that way it
13296         will do it in the right order too.
13297
13298 2006-07-31  Wim Taymans  <wim@fluendo.com>
13299
13300         * libs/gst/base/gstbasetransform.c:
13301         (gst_base_transform_buffer_alloc):
13302         Use OBJECT_LOCK and refcounting to get the pad caps in the
13303         buffer_alloc function because the caps could change while we are
13304         busy with them. Fixes #349105
13305
13306 2006-07-31  Wim Taymans  <wim@fluendo.com>
13307
13308         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
13309         Protect _PAD_CAPS with OBJECT_LOCK.
13310
13311 2006-07-31  Wim Taymans  <wim@fluendo.com>
13312
13313         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
13314         (gst_pad_get_property), (gst_pad_activate_pull),
13315         (gst_pad_activate_push), (gst_pad_set_blocked_async),
13316         (gst_pad_set_activate_function),
13317         (gst_pad_set_activatepull_function),
13318         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
13319         (gst_pad_set_getrange_function),
13320         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
13321         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
13322         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
13323         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
13324         (gst_pad_set_acceptcaps_function),
13325         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
13326         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
13327         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
13328         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
13329         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
13330         (gst_pad_configure_sink), (gst_pad_configure_src),
13331         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
13332         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
13333         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
13334         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
13335         (gst_pad_send_event):
13336         Use _DEBUG_OBJECT when it makes sense.
13337         Protect GST_PAD_CAPS with the OBJECT_LOCK.
13338         Small cleanups and code reflows.
13339         Avoid caps refcounting in _accept_caps.
13340         Refactor alloc_buffer so that the code performed on the peer is in a
13341         separate function. Also if the pad does not implement a buffer alloc
13342         function, we should still check if the pad is flushing before falling
13343         back to the default allocator.
13344
13345 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
13346
13347         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13348         Make all uses of identity and fakesink have silent=true to avoid
13349         serialising every passing data structure, which is breaking tests
13350         on FC4 for some unknown reason.
13351
13352 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
13353
13354         * gst/parse/Makefile.am:
13355         * gst/parse/grammar.y:
13356         * gst/parse/parse.l:
13357           Reverted previous patch as it required to bump the flex dependency to
13358           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
13359
13360 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
13361
13362         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
13363
13364         * gst/parse/Makefile.am:
13365         * gst/parse/grammar.y:
13366         * gst/parse/parse.l:
13367           push & pop the state of the lexer for reentrant use case
13368           Fixes #349180
13369
13370 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
13371
13372         * libs/gst/base/gstbasesrc.h:
13373           Note in the docs that the ::newsegment vfunc is not actually used by
13374           GstBaseSrc.
13375
13376 2006-07-28  Wim Taymans  <wim@fluendo.com>
13377
13378         * libs/gst/base/gstcollectpads.c:
13379         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
13380         (gst_collect_pads_clear), (gst_collect_pads_flush),
13381         (gst_collect_pads_event), (gst_collect_pads_chain):
13382         When flushing a pad, also clear the queued buffer so that we don't
13383         accidentally use it when we shouldn't.
13384         Fix leaks by inreffing incomming buffer.
13385         Flush out queued buffers in case of errors.
13386         Fixes #347452.
13387
13388 2006-07-28  Wim Taymans  <wim@fluendo.com>
13389
13390         * docs/random/phonon-gst:
13391         Random notes about a Phonon backend.
13392
13393 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
13394
13395         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13396         Extra debug output
13397         * tests/check/libs/gdp.c: (gst_dp_suite):
13398         Take a whack at fixing the ppc compile using a different define to
13399         disable the broken test.
13400
13401         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13402         Remove excess g_print()
13403
13404 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
13405
13406         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
13407         Oops, meant to uncomment this line too to dampen the noise a bit.
13408
13409 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
13410
13411         * gst/parse/grammar.y:
13412         * gst/parse/parse.l:
13413         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13414         (GST_START_TEST), (parse_suite):
13415         Fix some of the leaks exposed by extending the parse-launch testsuite,
13416         and move the 3 I can't figure out into a separate test that won't run
13417         the pipelines unless the appropriate line is uncommented.
13418
13419 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
13420
13421         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13422           Requesting 0 bytes before the end of the file should result in
13423           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
13424           unit test.
13425
13426 2006-07-27  Wim Taymans  <wim@fluendo.com>
13427
13428         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
13429         Fix useless assert, a uint is always positive.
13430
13431         * gst/gststructure.c: (gst_structure_nth_field_name),
13432         (gst_structure_foreach), (gst_structure_map_in_place):
13433         Check input arguments for public functions to avoid obvious crashes.
13434
13435         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
13436         * plugins/elements/gstfakesink.h:
13437         Do less useless typechecking.
13438
13439 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
13440
13441         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
13442           Do not use mmap() by default since there are a number of error
13443           conditions that we would like to handle in a non-fatal way that
13444           will result in a SIGBUS if we use mmap(). Examples: external
13445           devices (USB harddrive, portable music player) being unplugged
13446           while in use; file on mounted CD/DVD that can't be read because
13447           the medium is partly damaged. Fixes #348455 and #348475.
13448
13449 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
13450
13451         * gst/gstquery.h:
13452         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
13453         rates are a gdouble
13454
13455 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
13456
13457         * gst/gstregistry.c:
13458           Move big documentation comment into class section header, so that it
13459           appears in the API docs.
13460
13461 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13462
13463         * docs/gst/gstreamer-sections.txt:
13464         Oops. Commit the docs additions too for new API.
13465         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
13466
13467 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13468
13469         * gst/gststructure.c: (gst_structure_id_set),
13470         (gst_structure_id_set_valist):
13471         * gst/gststructure.h:
13472         Add API for setting values into structures without performing
13473         a quark lookup, if the appropriate quark is already known.
13474
13475         API: gst_structure_id_set
13476         API: gst_structure_id_set_valist
13477
13478         * gst/parse/grammar.y:
13479         * gst/parse/parse.l:
13480         Remove some dead code shown by the coverage information.
13481         Don't throw a critical g_warning when encountering a syntax error,
13482         just warn and let the normal error path handle it.
13483
13484         * plugins/elements/gstelements.c:
13485         Bump the rank of filesink up to PRIMARY so that it is preferred over
13486         gnomevfssink for file:// sink uri's
13487
13488         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13489         (GST_START_TEST), (run_delayed_test),
13490         (gst_parse_test_element_base_init),
13491         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
13492         (gst_parse_test_element_change_state),
13493         (gst_register_parse_element), (parse_suite):
13494         Beef up the tests for parse syntax to check that more error cases
13495         fail as they are supposed to. Increases the test coverage a bit.
13496
13497 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
13498
13499         * docs/manual/basics-elements.xml:
13500           Fix gst_element_link() example.
13501
13502         * gst/gstutils.c:
13503           Mention in API docs that one should usually gst_bin_add()
13504           elements to a bin or pipeline before doing the linking.
13505           
13506 2006-07-26  Wim Taymans  <wim@fluendo.com>
13507
13508         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
13509         (gst_subbuffer_get_type), (gst_buffer_create_sub):
13510         Avoid function call for known types by keeping the buffer and
13511         subbuffer GType global.
13512
13513         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13514         Random silly optimisations in read() path.
13515
13516 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13517
13518         * tools/gst-launch.c: (main):
13519           If the top-level of the parse is a normal bin, it doesn't do the
13520           right logic to run as a top-level element, so place it inside a
13521           pipeline.
13522
13523 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
13524
13525         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
13526           Remove superfluous g_object_notify() calls, GObject does
13527           that for us automatically.
13528
13529 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
13530
13531         * gst/gstinfo.h:
13532           on Win32, use dllspec to export the debug category symbols
13533
13534 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
13535
13536         * gst/gsttaglist.c: (_gst_tag_initialize):
13537           Allow more than one GST_TAG_IMAGE per taglist.
13538
13539 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13540
13541         * gst/gstminiobject.c:
13542           update docs
13543         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
13544         (gst_fd_src_create):
13545           log recurring events at LOG level
13546           add more debug for when the fd gets set
13547
13548 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
13549
13550         * gst/gstparse.c: (gst_parse_launch):
13551           Also remove reentrance checks if flex is MT safe (#348179)
13552          Fix my empty ChangeLog entry below
13553
13554 2006-07-21  Andy Wingo  <wingo@pobox.com>
13555
13556         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
13557
13558         * libs/gst/check/Makefile.am
13559         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
13560         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
13561         * libs/gst/check/gstbufferstraw.h:
13562         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
13563         functions, thus proving I am still a GStreamer haxor. OK I wrote
13564         them a long time ago, but anyways.
13565
13566 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
13567
13568         * configure.ac:
13569         * gst/gstparse.c: (gst_parse_launch):
13570           Check for flex version and omit mutex if we have a MT save flex
13571           (fixes #348179)
13572
13573 2006-07-21  Wim Taymans  <wim@fluendo.com>
13574
13575         * gst/gstparse.c: (gst_parse_launch):
13576         Protect recursive calls to _parse with a recursive mutex
13577         and busy flag.
13578
13579 2006-07-21  Wim Taymans  <wim@fluendo.com>
13580
13581         * tests/check/gst/gstpad.c: (GST_START_TEST):
13582         Fix leak in test.
13583
13584 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
13585
13586         * gst/gstparse.c: (gst_parse_launch):
13587           Do not hang on recursive usage of gst_parse_launch()
13588
13589 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
13590
13591         * gst/gsttaglist.c:
13592           Add some more docs, comments and FIXME 0.11s here and there
13593           and also fix some typos.
13594
13595 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
13596
13597         * gst/gstsegment.h:
13598           Convert tabs to spaces for better readability. 
13599
13600 2006-07-20  Edward Hervey  <edward@fluendo.com>
13601
13602         * tests/check/libs/gdp.c: (gst_dp_suite):
13603         the test_buffer test fails at line 140 on ppc64 at the following
13604         check:
13605         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
13606                 GST_BUFFER_FLAG_IN_CAPS),
13607                 "GST_BUFFER_IN_CAPS flag should have been copied !");
13608         See bug #348114 for more details.
13609
13610 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
13611
13612         * docs/pwg/advanced-scheduling.xml:
13613         * gst/gstpad.c:
13614           Fix typos (#348000).
13615
13616 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
13617
13618         * docs/pwg/intro-basics.xml:
13619           Fix wrong links (#347927).
13620
13621 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
13622
13623         * gst/gstregistry.h:
13624         * gst/gstregistryxml.c: (load_feature),
13625         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
13626         * win32/common/config.h:
13627           make --disable-index work (#342564)
13628
13629 2006-07-18  Wim Taymans  <wim@fluendo.com>
13630
13631         Patch by: Peter Kjellerstedt <pkj at axis dot com>
13632
13633         * gst/Makefile.am:
13634         * gst/gsttrace.h:
13635         The attached patch adds two missing defines to gsttrace.h when tracing
13636         is disabled.  It also corrects one existing define.
13637         Fixes #347756.
13638
13639 2006-07-17  Wim Taymans  <wim@fluendo.com>
13640
13641         * docs/gst/gstreamer-sections.txt:
13642         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
13643         * gst/gst.h:
13644         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
13645         Add two functions to check and change the SIGSEGV behaviour
13646         when loading plugins.
13647         Don't mess with the SIGSEGV handler when we were told not to.
13648         Fixes #347794.
13649         API: gst_segtrap_is_enabled
13650         API: gst_segtrap_set_enabled
13651
13652 2006-07-14  Wim Taymans  <wim@fluendo.com>
13653
13654         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13655         * tests/check/elements/filesrc.c: (GST_START_TEST):
13656         Revert fix for regression in #347408 after release.
13657
13658 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
13659
13660         Patch by: Antoine Tremblay <hexa00 at gmail com>
13661
13662         * gst/gstutils.c: (gst_element_unlink):
13663           Free iterator when done (#347311).
13664
13665         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13666           And add a test case for this.
13667
13668 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
13669
13670         * configure.ac:
13671         Bump nano back to CVS
13672
13673 === release 0.10.9 ===
13674
13675 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
13676
13677         * configure.ac:
13678           releasing 0.10.9, "On the road again"
13679
13680 2006-07-13  Wim Taymans  <wim@fluendo.com>
13681
13682         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13683         * tests/check/elements/filesrc.c: (GST_START_TEST):
13684         Revert pull-0 fix for release. Disable check. Fixes #347408.
13685
13686 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13687
13688         * libs/gst/dataprotocol/dataprotocol.c:
13689         (gst_dp_event_from_packet_1_0):
13690           Fixes #347337: failure to deserialize event packets with
13691           empty payload (only event type)
13692
13693 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13694
13695         * gst/Makefile.am:
13696           do not install a .c file in the header directory
13697
13698 2006-07-13  Edward Hervey  <edward@fluendo.com>
13699
13700         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
13701         GhostPad no longer implicitely use the padtemplates of the targets.
13702         Fixes #347384
13703
13704 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
13705
13706         * gst/gstvalue.c: (gst_value_compare_list),
13707         (gst_value_compare_array), (_gst_value_initialize):
13708         * tests/check/gst/gstvalue.c: (GST_START_TEST):
13709         Make GstValueArray comparison be order dependent as designed.
13710         Add checks for value lists and value array comparisons.
13711         Fixes #347221
13712
13713 2006-07-11  Edward Hervey  <edward@fluendo.com>
13714
13715         * gst/gstbin.c: (activate_pads),
13716         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
13717         (gst_bin_change_state_func):
13718         (de)activate src pads before calling state_change on the childs.
13719         This is to avoid the case where a src ghostpad is blocked (holding the
13720         stream lock), which would block the deactivation of the ghostpad's
13721         target pad.
13722         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
13723         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
13724         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
13725         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
13726         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
13727         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13728         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
13729         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
13730         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
13731         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
13732         (gst_ghost_pad_class_init),
13733         (gst_ghost_pad_internal_do_activate_push),
13734         (gst_ghost_pad_internal_do_activate_pull),
13735         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
13736         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
13737         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
13738         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
13739         GhostPads now create their internal GstProxyPad at creation (and not
13740         when they're linked, as it was being done previously).
13741         The internal and target pads are linked straight away.
13742         The data will also travel through the other pad in order to make
13743         pad blocking and probes non-hackish (the probe/block now really happens
13744         on the GhostPad and not on the target).
13745         * gst/gstpad.c: (gst_pad_set_blocked_async),
13746         (gst_pad_link_prepare), (gst_pad_push_event):
13747         Remove previous ghostpad cruft.
13748         * gst/gstutils.c: (gst_pad_add_data_probe),
13749         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
13750         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
13751         (gst_pad_remove_buffer_probe):
13752         Remove previous ghost pad cruft.
13753         Added more detailed debug statements.
13754         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
13755         Fix the testsuite for refcounting changes.
13756         The comments about who has references were correct, but the refcount
13757         being checked wasn't the same (!?!).
13758
13759         Fixes #341029
13760
13761 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
13762
13763         * docs/gst/gstreamer-sections.txt:
13764         * gst/gstconfig.h.in:
13765         More docs for configuration options, add docs to gtk-doc.
13766
13767 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
13768
13769         * gst/Makefile.am:
13770         * gst/gstconfig.h.in:
13771         * win32/common/config.h:
13772         Fix build when disabling tracing (fixes #344016). Also start to document
13773         the defines that disable the sub-systems.
13774
13775 2006-07-10  Edward Hervey  <edward@fluendo.com>
13776
13777         * gst/gst.c: (ensure_current_registry_forking):
13778         let's make valgrind happy...
13779
13780 2006-07-09  Wim Taymans  <wim@fluendo.com>
13781
13782         * gst/gstelement.c: (activate_pads),
13783         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
13784         Better pad activation code: Reset the collect value too on resync.
13785         Add some comments.
13786
13787 2006-07-09  Wim Taymans  <wim@fluendo.com>
13788
13789         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
13790         (gst_pad_activate_push):
13791         Use some more macros where it makes sense.
13792         Allow pad mode switching instead of asserting. When a pad
13793         is activated in one mode and we activate it in another, 
13794         deactivate it first before activating it in a different mode.
13795         Fixes #329198.
13796
13797 2006-07-08  Andy Wingo  <wingo@pobox.com>
13798
13799         * tools/gst-launch.c (main): Handle err == NULL.
13800
13801         * gst/gst.c (init_post, ensure_current_registry)
13802         (ensure_current_registry_forking)
13803         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
13804         factoring out the registry scanning into separate functions. Don't
13805         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
13806         Better environment var name/interface suggestions accepted.
13807
13808 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13809
13810         * gst/gstobject.c: (gst_object_set_name_default),
13811         (gst_object_set_name):
13812           Random micro-optimisation: don't use a hash table
13813           with strings as keys and the usual strdup/strcmp
13814           involved, but rather just use the GQuark of the
13815           type name as key, since it needs to be looked up
13816           anyway to get the type name string.
13817
13818         * tests/check/gst/gstobject.c: (GST_START_TEST):
13819           Fix various leaks.
13820
13821 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13822
13823         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
13824         (gst_bin_iterate_all_by_interface):
13825           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
13826           GTypes are gulongs and thus the top 4 bytes might be cut
13827           off on some platforms when doing GPOINTER_TO_INT, leading
13828           to invalid GTypes and bad things happening (see RH bug #179654).
13829           Also add a check to make sure the type passed in is really
13830           an interface type.
13831
13832 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13833
13834         * .cvsignore:
13835           Ignore more.
13836
13837 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13838
13839         * Makefile.am:
13840         * configure.ac:
13841         * gst-element-check.m4:
13842         * gst-element-check.m4.in:
13843           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
13844           instead of the unversioned gst-inspect (#324176, #168659).
13845
13846 2006-07-06  Wim Taymans  <wim@fluendo.com>
13847
13848         * gst/gstmessage.h:
13849         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
13850         warnings.
13851
13852 2006-07-06  Wim Taymans  <wim@fluendo.com>
13853
13854         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
13855         (gst_base_src_wait), (gst_base_src_update_length),
13856         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
13857         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
13858         (gst_base_src_loop), (gst_base_src_start),
13859         (gst_base_src_activate_pull):
13860         Update docs.
13861         blocksize == 0 now means the default blocksize when working in push
13862         based mode.
13863         Remove some pointless asserts in _wait function.
13864         Fix offset/length calculations and EOS handling. We can now pull 0
13865         bytes as well, which is allowed.
13866         use _check_get_range() to decide if we can operate in _pull based
13867         mode.
13868         Fix refcounting leak when check_get_range function was not 
13869         implemented.
13870         API GstBaseSrc::blocksize range can be 0 too now (default)
13871
13872         * tests/check/elements/filesrc.c: (GST_START_TEST),
13873         (filesrc_suite):
13874         Added check to test _get_range() behaviour.
13875
13876 2006-07-06  Wim Taymans  <wim@fluendo.com>
13877
13878         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
13879         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
13880         (gst_pad_pull_range):
13881         * gst/gstpad.h:
13882         Lots of comments and docs added to the pad functions.
13883         Flesh out the expected behaviour of the get_range() functions.
13884
13885 2006-07-06  Wim Taymans  <wim@fluendo.com>
13886
13887         * gst/gstbus.h:
13888         * gst/gstclock.h:
13889         * gst/gstevent.h:
13890         * gst/gstiterator.h:
13891         * gst/gstpad.h:
13892         * gst/gstplugin.h:
13893         * gst/gsttask.h:
13894         Remove comma at end of enumerator list. 
13895
13896 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
13897
13898         * win32/common/libgstbase.def:
13899         * win32/common/libgstdataprotocol.def:
13900         * win32/common/libsgtreamer.def:
13901         Add new exported functions.
13902
13903 2006-07-05  Wim Taymans  <wim@fluendo.com>
13904
13905         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
13906         Add some more docs here and there.
13907
13908 2006-07-05  Wim Taymans  <wim@fluendo.com>
13909
13910         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
13911         (gst_base_sink_loop), (gst_base_sink_get_position):
13912         When operating in pull mode update the offset so that we
13913         read sequentially.
13914
13915 2006-07-05  Wim Taymans  <wim@fluendo.com>
13916
13917         * gst/gstregistryxml.c: (read_string):
13918         Avoid strdup. (will happen in libxml, but hey!)
13919
13920         * gst/gsturi.c:
13921         Add some more docs.
13922
13923 2006-07-05  Wim Taymans  <wim@fluendo.com>
13924
13925         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
13926         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
13927         (gst_buffer_suite):
13928         No point in checking if the size of the subbuffer > 0, the
13929         code handles it correclty as demonstrated by unit test.
13930         Also add a unit test for the zero sized _new_and_alloc and
13931         _copy. Fixes #346663.
13932
13933 2006-07-05  Wim Taymans  <wim@fluendo.com>
13934
13935         * libs/gst/base/gstbasetransform.c:
13936         (gst_base_transform_prepare_output_buffer),
13937         (gst_base_transform_buffer_alloc),
13938         (gst_base_transform_handle_buffer):
13939         Make sure the buffer we pass to transform_ip has a refcount of
13940         1 and thus is writable. Fixes #343196
13941
13942 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
13943
13944         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
13945         (gst_file_src_init), (gst_file_src_set_property),
13946         (gst_file_src_get_property), (gst_file_src_map_region):
13947         * plugins/elements/gstfilesrc.h:
13948         Add "sequential" property, off by default, to use madvise and hint
13949         to the kernel that sequential access is desired.
13950         Touch all retrieved pages by default to ensure they are pulled
13951         into memory. (Closes #345720)
13952
13953 2006-07-03  Wim Taymans  <wim@fluendo.com>
13954
13955         * docs/design/part-block.txt:
13956         * docs/design/part-dynamic.txt:
13957         Small docs updates.
13958
13959 2006-07-03  Wim Taymans  <wim@fluendo.com>
13960
13961         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
13962         (gst_caps_unref), (gst_static_caps_get),
13963         (gst_caps_append_structure):
13964         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
13965         Use GSlice when the glib we build against is >= 2.10
13966
13967 2006-07-03  Wim Taymans  <wim@fluendo.com>
13968
13969         * gst/gstelement.c: (gst_element_pads_activate):
13970         Small cleanup in pad activation code.
13971
13972 2006-07-03  Wim Taymans  <wim@fluendo.com>
13973
13974         Patch by: Peter Kjellerstedt <pkj at axis dot com>
13975
13976         * gst/gst-i18n-app.h:
13977         * gst/gst-i18n-lib.h:
13978         * tools/gst-inspect.c: (print_signal_info):
13979         The attached patch will make the inclusion of gettext.h unconditional in
13980         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
13981         libintl.h in tools/gst-inspect.c.
13982         This allows use of --disable-nls again and fixes #344642.
13983
13984 2006-07-03  Edward Hervey  <edward@fluendo.com>
13985
13986         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
13987         Implement pad blocking on events according to part-block.txt.
13988         More comments on behaviour.
13989         * tests/check/gst/gstevent.c: (test_event):
13990         Send event to peer pad of blocked pad (else it will block).
13991
13992 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13993
13994         * libs/gst/check/gstcheck.c: (gst_check_message_error),
13995         (gst_check_run_suite):
13996           if we get the wrong message, give us the types as string
13997         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
13998           Fix a translatable
13999         * tests/check/elements/filesrc.c: (GST_START_TEST):
14000           add a test for trying to open a non-existing file
14001
14002 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14003
14004         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
14005           add a test for adding self
14006
14007 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14008
14009         * libs/gst/check/gstcheck.h:
14010           add some assert_ as alias for fail_unless_*
14011         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
14012           increase test coverage
14013
14014 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14015
14016         * Makefile.am:
14017           include lcov.mak for lcov coverage generation
14018         * tools/Makefile.am:
14019           add to CLEANFILES
14020
14021 2006-07-02  Edward Hervey  <edward@fluendo.com>
14022
14023         * tests/check/elements/.cvsignore:
14024         moaping
14025
14026 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14027
14028         * configure.ac:
14029           don't set CFLAGS and friends for gcov, done from GST_GCOV now
14030         * tests/check/Makefile.am:
14031           clean up gcov files
14032
14033 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14034
14035         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
14036           remove gst_caps_simplify; it was not declared and not used
14037           and deprecated in 0.8
14038
14039 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14040
14041         * docs/faq/gst-uninstalled:
14042           don't put empty paths on PYTHONPATH
14043         * docs/gst/gstreamer-sections.txt:
14044           remove some symbols that are not there
14045
14046 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14047
14048         * gst/gstcaps.c: (gst_caps_compare_structures):
14049           whitespace fixes
14050         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
14051         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
14052           add more tests
14053
14054 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14055
14056         * libs/gst/dataprotocol/Makefile.am:
14057           build dataprotocol test by linking to the lib, instead of
14058           compiling the source, so we get coverage
14059         * tests/check/Makefile.am:
14060         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
14061         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
14062           add a test for filesrc
14063
14064 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14065
14066         * tests/check/gst/gststructure.c: (GST_START_TEST),
14067         (gst_structure_suite):
14068           Push coverage from 59.04% to 70.00%
14069
14070 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14071
14072         * tests/check/Makefile.am:
14073           gst-inspect every element; this makes sure that we also get
14074           coverage on element's get/set functions
14075
14076 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14077
14078         * configure.ac:
14079           set CFLAGS and friends to -O0 if gcov is being used
14080           add GCOV LIBS
14081         * gst/Makefile.am:
14082         * libs/gst/base/Makefile.am:
14083         * libs/gst/check/Makefile.am:
14084         * libs/gst/controller/Makefile.am:
14085         * libs/gst/dataprotocol/Makefile.am:
14086         * libs/gst/net/Makefile.am:
14087         * plugins/elements/Makefile.am:
14088         * plugins/indexers/Makefile.am:
14089           add makefile rules to generate gcov data and clean up
14090         * tests/check/Makefile.am:
14091           add a coverage target that generates an html overview
14092           of coverage data
14093
14094 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14095
14096         * tests/check/elements/fakesink.c:
14097         * tests/check/elements/fakesrc.c:
14098         * tests/check/elements/fdsrc.c:
14099         * tests/check/elements/identity.c:
14100         * tests/check/generic/sinks.c: (gst_sinks_suite):
14101         * tests/check/generic/states.c:
14102         * tests/check/gst/gst.c:
14103         * tests/check/gst/gstabi.c:
14104         * tests/check/gst/gstbin.c:
14105         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
14106         * tests/check/gst/gstbus.c: (gst_bus_suite):
14107         * tests/check/gst/gstcaps.c: (GST_START_TEST):
14108         * tests/check/gst/gstelement.c:
14109         * tests/check/gst/gstevent.c: (gst_event_suite):
14110         * tests/check/gst/gstghostpad.c:
14111         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
14112         * tests/check/gst/gstmessage.c: (gst_message_suite):
14113         * tests/check/gst/gstminiobject.c:
14114         * tests/check/gst/gstobject.c:
14115         * tests/check/gst/gstpad.c:
14116         * tests/check/gst/gstpipeline.c:
14117         * tests/check/gst/gstplugin.c:
14118         * tests/check/gst/gstquery.c: (gst_query_suite):
14119         * tests/check/gst/gstsegment.c: (gst_segment_suite):
14120         * tests/check/gst/gststructure.c:
14121         * tests/check/gst/gstsystemclock.c:
14122         * tests/check/gst/gsttag.c:
14123         * tests/check/gst/gsttask.c: (gst_task_suite):
14124         * tests/check/gst/gstutils.c:
14125         * tests/check/gst/gstvalue.c:
14126         * tests/check/libs/adapter.c:
14127         * tests/check/libs/basesrc.c:
14128         * tests/check/libs/collectpads.c:
14129         * tests/check/libs/controller.c:
14130         * tests/check/libs/gdp.c: (gst_dp_suite):
14131         * tests/check/libs/gstnetclientclock.c:
14132         * tests/check/libs/gstnettimeprovider.c:
14133         * tests/check/libs/libsabi.c: (libsabi_suite):
14134         * tests/check/libs/typefindhelper.c:
14135         * tests/check/pipelines/cleanup.c:
14136         * tests/check/pipelines/parse-launch.c:
14137         * tests/check/pipelines/simple-launch-lines.c:
14138         * tests/check/pipelines/stress.c: (stress_suite):
14139           use the new macro
14140
14141 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14142
14143         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
14144         * libs/gst/check/gstcheck.h:
14145           create a macro and function so that the simple unit test
14146           case can be just one macro to create main()
14147
14148 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
14149
14150         * gst/gstbin.c: (gst_bin_restore_thyself):
14151         * gst/gstxml.c: (gst_xml_make_element):
14152           Fix deserialisation from XML. Set parent manually
14153           instead of using gst_bin_add(), since gst_bin_add()
14154           will unlink all pads of the element being added.
14155           Fixes #341667.
14156
14157 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
14158
14159         Patch by: Peter Kjellerstedt <pkj at axis com>
14160
14161         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
14162           Fix missing g_strdup() and double free when using the
14163           --gst-plugin-load command line option (#346097).
14164
14165 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
14166
14167         * gst/gstinfo.c:
14168           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
14169
14170         * libs/gst/net/gstnetclientclock.c:
14171         * libs/gst/net/gstnettimeprovider.c:
14172           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
14173
14174 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
14175
14176         * docs/manual/advanced-dataaccess.xml:
14177           Fix buffer probe example compilation in
14178           ADM (#345708).
14179         
14180 2006-06-22  Edward Hervey  <edward@fluendo.com>
14181
14182         * gst/gstelement.c: (gst_element_pads_activate):
14183         We need to deactivate src pads first and then sink pads.
14184         The reason is the src pads might be blocking while holding the streaming
14185         lock, so we need to deactivate them first so that deactivating the sink
14186         pads doesn't block (since it will require the streaming lock).
14187
14188 2006-06-22  Wim Taymans  <wim@fluendo.com>
14189
14190         * libs/gst/base/gstbasetransform.c:
14191         (gst_base_transform_buffer_alloc):
14192         Forgot to remove two unneeded unrefs.
14193         Simplify a check _is_equal allready checks the obvious case.
14194
14195 2006-06-22  Wim Taymans  <wim@fluendo.com>
14196
14197         * docs/design/part-block.txt:
14198         Some docs about what pad_block should do.
14199
14200 2006-06-22  Wim Taymans  <wim@fluendo.com>
14201
14202         * gst/gstcaps.c: (gst_caps_replace):
14203         Fix crasher when passed NULL. Doc clarification.
14204         Optimize for the trivial case.
14205
14206         * gst/gstpipeline.c: (gst_pipeline_change_state):
14207         Small cleanups.
14208
14209         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
14210         Small documentation cleanup.
14211
14212         * libs/gst/base/gstbasetransform.c:
14213         (gst_base_transform_buffer_alloc):
14214         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
14215         is what we need and it avoids a whole lot of redundant 
14216         refcount operations.
14217
14218 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
14219
14220         Patch by: Philip Jägenstedt  <philip at lysator liu se>
14221
14222         * docs/manual/advanced-dataaccess.xml:
14223           Fix 'Embedding static elements' section to use
14224           GST_PLUGIN_DEFINE_STATIC (#345607).
14225
14226 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
14227
14228         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
14229           Attempt to 'fix' spuriously failing test case: it seems like the
14230           timeout of half a second is simply too small when the system is under
14231           load otherwise, and the timeout doesn't really seem to serve any
14232           particular purpose here. Give the pipeline a few seconds to preroll
14233           first, and then give it another half a second to go from PAUSED to
14234           PLAYING and marshal the message into the main thread.
14235
14236 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
14237
14238         * tools/gst-feedback-m.m:
14239           Don't only use unversioned tools, try versioned tools as well
14240           (#345086).
14241
14242 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
14243
14244         * gst/gstbus.c: (gst_bus_class_init):
14245           Fix some typos, make docs more explicit.
14246
14247 2006-06-20  Wim Taymans  <wim@fluendo.com>
14248
14249         * tests/check/gst/gstghostpad.c: (block_callback),
14250         (GST_START_TEST), (gst_ghost_pad_suite):
14251         Added some more ghostpad tests, mainly blocking
14252         and probes.
14253
14254 2006-06-16  Wim Taymans  <wim@fluendo.com>
14255
14256         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
14257         (gst_file_sink_close_file), (gst_file_sink_do_seek),
14258         (gst_file_sink_event), (gst_file_sink_render):
14259         * plugins/elements/gstfilesink.h:
14260         Check if we can seek in the file instead of assuming
14261         we always can. Post an error when we are asked to seek in a
14262         non-seekable file (like a fifo). Fixes #343312.
14263         Some cleanups.
14264
14265 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
14266
14267         * tools/gst-launch.1.in:
14268           Un-garble (fourcc) bit in filtered caps section.
14269
14270 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
14271
14272         * docs/manual/advanced-autoplugging.xml:
14273         * docs/manual/basics-helloworld.xml:
14274         * docs/manual/highlevel-components.xml:
14275           Don't leak bus reference in sample code.
14276
14277 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
14278
14279         * autogen.sh:
14280           Add default for new --enable-plugin-docs switch.
14281
14282         * configure.ac:
14283           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
14284           Fixes #344039.
14285
14286         * docs/Makefile.am:
14287           Use new ENABLE_PLUGIN_DOCS conditional.
14288
14289 2006-06-14  Wim Taymans  <wim@fluendo.com>
14290
14291         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
14292         Make it clear with a FIXME and a real define what the #if 0
14293         previously disabled.
14294
14295 2006-06-14  Wim Taymans  <wim@fluendo.com>
14296
14297         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
14298         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14299         * libs/gst/base/gstbasetransform.c:
14300         (gst_base_transform_sink_eventfunc):
14301         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
14302         Don't randomly and silently reset a segment when the format 
14303         changes as this is a bug somewhere upstream. Fixes #330379.
14304
14305 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
14306
14307         Patch by: Wouter Paesen  <wouter at kangaroot net>
14308
14309         * libs/gst/controller/gstcontroller.c:
14310         (gst_controlled_property_new):
14311           Fix controlling of float properties (#344849).
14312
14313         * tests/check/libs/controller.c:
14314         (gst_test_mono_source_get_property),
14315         (gst_test_mono_source_set_property),
14316         (gst_test_mono_source_class_init), (GST_START_TEST):
14317           While we're at it, add some float stuff to unit test.
14318
14319 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14320
14321         * docs/README:
14322         * docs/images/gdp-header.svg:
14323           add a gdp image
14324         * docs/libs/Makefile.am:
14325         * docs/libs/gdp-header.png:
14326         * libs/gst/dataprotocol/dataprotocol.c:
14327           add it to the API docs
14328         * docs/manual/intro-motivation.xml:
14329           fix typo
14330
14331 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
14332
14333         * gst/gst.c: (scan_and_update_registry), (init_post):
14334           If the fork()'ed child process can't write the updated registry cache
14335           file to disk for some reason, make it exit with a failure exit code,
14336           so that the parent can then re-scan the plugins itself and update the
14337           registry structures in memory and work with that (rather than failing
14338           when creating elements because seemingly no plugins are available).
14339           Refactor registry scanning code into separate function for this and
14340           also separate fork() and non-fork() code paths. Fixes #344748.
14341
14342 2006-06-13  Wim Taymans  <wim@fluendo.com>
14343
14344         * docs/manual/advanced-dataaccess.xml:
14345         Fix wrong PluginDesc. Fixes #344755.
14346
14347 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
14348
14349         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
14350           Fix silly bug that prevented us from creating
14351           ~/.gstreamer-0.10 and writing the registry in one
14352           go (the first call to g_mkstemp() would overwrite the
14353           placeholder in the template string, so the second call
14354           to g_mkstemp() after creating the missing directory
14355           would then error out with 'invalid argument').
14356
14357 2006-06-13  Edward Hervey  <edward@fluendo.com>
14358
14359         * gst/gst.c: (init_post):
14360         Free string.
14361
14362 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14363
14364         * gst/glib-compat-private.h:
14365         * gst/glib-compat.c:
14366         * gst/glib-compat.h:
14367         * gst/gstvalue.c: (gst_value_serialize_flags):
14368           remove GLib 2.6 compatibility code
14369
14370 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
14371
14372         * gst/parse/Makefile.am:
14373           Fix build with 'make -j N' even more (#340016).
14374
14375 2006-06-12  Wim Taymans  <wim@fluendo.com>
14376
14377         * docs/gst/gstreamer-sections.txt:
14378         Fix docs.
14379
14380 2006-06-12  Wim Taymans  <wim@fluendo.com>
14381
14382         * gst/gstsegment.c: (gst_segment_set_duration),
14383         (gst_segment_set_last_stop), (gst_segment_set_seek),
14384         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
14385         (gst_segment_to_running_time), (gst_segment_clip):
14386         Use G_UNLIKELY to help the compiler a bit.
14387
14388 2006-06-12  Wim Taymans  <wim@fluendo.com>
14389
14390         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
14391
14392         * gst/gstevent.c: (gst_event_get_type):
14393         * gst/gstmessage.c:
14394         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
14395         (gst_pad_push):
14396         constify quark registration strings. Fixes #344115
14397         Avoid unneeded type checking is _pad_push() by internally
14398         calling gst_pad_chain_unchecked().
14399
14400 2006-06-12  Wim Taymans  <wim@fluendo.com>
14401
14402         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
14403         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
14404         (gst_subbuffer_finalize), (gst_buffer_create_sub),
14405         (gst_buffer_is_span_fast), (gst_buffer_span):
14406         Init _type for consistency.
14407         Use _FLAGS macro to avoid type check.
14408         Avoid unneeded type checks in subbufer code.
14409
14410 2006-06-12  Wim Taymans  <wim@fluendo.com>
14411
14412         * gst/gst.c: (gst_debug_help):
14413         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
14414         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
14415         (gst_plugin_feature_list_free):
14416         * gst/gstregistry.c: (gst_registry_add_plugin),
14417         (gst_registry_add_feature), (gst_registry_plugin_filter),
14418         (gst_registry_feature_filter), (gst_registry_find_plugin),
14419         (gst_registry_find_feature), (gst_registry_get_plugin_list),
14420         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
14421         * gst/gstregistryxml.c: (load_feature),
14422         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
14423         * gst/gstminiobject.c: (gst_mini_object_unref),
14424         (gst_mini_object_replace), (gst_value_mini_object_free),
14425         (gst_value_mini_object_copy):
14426         Use _CAST macros to avoid unneeded type checking.
14427         Added some more G_UNLIKELY.
14428
14429 2006-06-12  Wim Taymans  <wim@fluendo.com>
14430
14431         * gst/gstbuffer.h:
14432         Avoid unneeded type checking.
14433         API: GST_BUFFER_IS_DISCONT
14434
14435         * gst/gstminiobject.h:
14436         Avoid type check in flag accessor.
14437
14438         * gst/gstelementfactory.h:
14439         * gst/gstplugin.h:
14440         * gst/gstpluginfeature.h:
14441         Add _CAST macros.
14442         API: GST_ELEMENT_FACTORY_CAST
14443         API: GST_PLUGIN_CAST
14444         API: GST_PLUGIN_FEATURE_CAST
14445
14446 2006-06-12  Wim Taymans  <wim@fluendo.com>
14447
14448         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
14449         (gst_object_unref):
14450         Add G_UNLIKELY in type registration.
14451         Avoid type check in _ref/_unref since that is also
14452         done in glib.
14453
14454 2006-06-12  Wim Taymans  <wim@fluendo.com>
14455
14456         * gst/gsterror.c: (gst_g_error_get_type):
14457         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
14458         (gst_static_pad_template_get_type):
14459         * gst/gsttaglist.c: (gst_tag_list_get_type):
14460         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
14461         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
14462         * gst/gsturi.c: (gst_uri_handler_get_type):
14463         * gst/gstvalue.c: (gst_date_get_type):
14464         * gst/gstxml.c: (gst_xml_get_type):
14465         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
14466         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14467         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
14468         Add G_UNLIKELY in type registration.
14469
14470 2006-06-12  Wim Taymans  <wim@fluendo.com>
14471
14472         * tools/gst-inspect.c: (print_signal_info):
14473         Properly print enum values.
14474
14475 2006-06-12  Wim Taymans  <wim@fluendo.com>
14476
14477         * gst/gstinfo.c: (gst_debug_set_active),
14478         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
14479         * gst/gstinfo.h:
14480         Add some G_[UN]LIKELY.
14481         Maintain __gst_debug_min to avoid formatting the arguments of
14482         debug messages that will be dropped anyway to avoid a lot of 
14483         overhead from the debugging system.
14484
14485 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14486
14487         * po/POTFILES.in:
14488         * po/POTFILES.skip:
14489           add missing files containing translatable strings, tell intltool about
14490           one exception
14491
14492 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14493
14494         * tests/check/libs/.cvsignore:
14495         add test-binary to ignore list
14496
14497 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14498
14499         * docs/libs/gstreamer-libs-docs.sgml:
14500         reorder (put dp into a chapter) and indent
14501
14502 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14503
14504         * configure.ac:
14505           back to HEAD
14506
14507 === release 0.10.8 ===
14508
14509 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
14510
14511         * configure.ac:
14512           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
14513
14514 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14515
14516         * gst/gst.c: (init_post):
14517           move pid declaration to declaration block
14518
14519 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14520
14521         * gst/gst.c: (init_post):
14522           use _exit() instead of exit() in our forked child; this ensures
14523           that none of the registered exit handlers from whatever is using
14524           GStreamer get executed.  This fixes gnome-mixer-applet failing
14525           to load, because ORBit would shut down.
14526           Spotted by: Edward Hervey  <edward@fluendo.com>
14527           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
14528           Fixes #344474
14529
14530 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14531
14532         * configure.ac:
14533           back to TRUNK
14534
14535 === release 0.10.7 ===
14536
14537 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
14538
14539         * configure.ac:
14540           releasing 0.10.7, "Soepeke, ik zie ou"
14541
14542 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14543
14544         * configure.ac:
14545         * po/af.po:
14546         * po/az.po:
14547         * po/bg.po:
14548         * po/ca.po:
14549         * po/cs.po:
14550         * po/de.po:
14551         * po/en_GB.po:
14552         * po/fr.po:
14553         * po/it.po:
14554         * po/nb.po:
14555         * po/nl.po:
14556         * po/ru.po:
14557         * po/sq.po:
14558         * po/sr.po:
14559         * po/sv.po:
14560         * po/tr.po:
14561         * po/uk.po:
14562         * po/vi.po:
14563         * po/zh_CN.po:
14564         * po/zh_TW.po:
14565         * win32/common/config.h:
14566           0.10.6.2 prerelease
14567
14568 2006-06-07  Wim Taymans  <wim@fluendo.com>
14569
14570         * gst/gstindex.c: (gst_index_gtype_resolver):
14571         * tools/gst-xmlinspect.c: (print_plugin_info):
14572         Fix leak spotted by coverity checker. Fixes #343827
14573         Fix another other leak found by paolo borelli.
14574
14575 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14576
14577         * libs/gst/dataprotocol/dataprotocol.c:
14578         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
14579         (gst_dp_version_get_type), (gst_dp_init),
14580         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
14581         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
14582         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
14583         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
14584         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
14585         (gst_dp_packetizer_free):
14586         * libs/gst/dataprotocol/dataprotocol.h:
14587           API: add a GstDPPacketizer object, and create/free functions
14588           API: add GstDPVersion enum
14589           Add 1.0 event function that uses the string serialization
14590           Serialize more useful buffer flags
14591           Fixes #343988
14592
14593 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14594
14595         * tests/check/Makefile.am:
14596         * tests/check/gst/gstabi.c:
14597         * tests/check/gst/struct_ppc64.h:
14598         * tests/check/libs/libsabi.c:
14599         * tests/check/libs/struct_ppc64.h:
14600           add ppc64 structure sizes
14601
14602 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14603
14604         * tests/check/Makefile.am:
14605         * tests/check/gst/gstabi.c:
14606         * tests/check/gst/struct_x86_64.h:
14607         * tests/check/libs/libsabi.c:
14608         * tests/check/libs/struct_x86_64.h:
14609           generate and add structure size lists for x86_64
14610
14611 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14612
14613         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
14614         * libs/gst/check/gstcheck.h:
14615           factor out the method from tests that checks size of structures,
14616           and add code to generate the header containing these sizes
14617         * tests/check/gst/gstabi.c: (GST_START_TEST):
14618         * tests/check/gst/struct_i386.h:
14619         * tests/check/libs/libsabi.c: (GST_START_TEST):
14620         * tests/check/libs/struct_i386.h:
14621           use it
14622
14623 2006-06-06  Michael Smith  <msmith@fluendo.com>
14624
14625         * gst/gstsegment.h:
14626           Don't use c++-style comments, fixes #343929
14627
14628 2006-06-05  Edward Hervey  <edward@fluendo.com>
14629
14630         * gst/gst.c:
14631         plugin_paths is not used if we build without registry support.
14632
14633         * gst/gstsegment.c: (gst_segment_copy): 
14634         _copy() was always returning NULL...
14635
14636 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14637
14638         * libs/gst/dataprotocol/dataprotocol.c:
14639         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14640         (gst_dp_packet_from_event):
14641           factor out CRC code
14642
14643 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14644
14645         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
14646           make sure we unset caps
14647
14648 2006-06-02  Michael Smith  <msmith@fluendo.com>
14649
14650         * libs/gst/check/gstcheck.c: (gst_check_init),
14651         (gst_check_chain_func):
14652         * libs/gst/check/gstcheck.h:
14653           Add a cond/mutex to the check support lib, signal this whenever we
14654           add to the buffers list. This will allow tests to not busy-wait on
14655           the buffer-list.
14656
14657 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14658
14659         * libs/gst/dataprotocol/dataprotocol.c:
14660         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14661         (gst_dp_packet_from_event):
14662           factor out some common header init code
14663
14664 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14665
14666         * docs/libs/gstreamer-libs-sections.txt:
14667         * docs/libs/tmpl/gstdataprotocol.sgml:
14668         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
14669         * libs/gst/dataprotocol/dataprotocol.h:
14670           API: make gst_dp_crc() public
14671
14672 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
14673
14674         * plugins/indexers/gstindexers.c: (plugin_init):
14675         conditionally register fileindexer (fixes #343598)
14676
14677 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
14678
14679         * gst/gsttagsetter.h:
14680         Can't cast ifaces to a class
14681
14682         * libs/gst/net/gstnetclientclock.h:
14683         * libs/gst/net/gstnettimeprovider.h:
14684         * plugins/elements/gstfakesink.h:
14685         * plugins/elements/gstfakesrc.h:
14686         * plugins/elements/gstfdsink.h:
14687         * plugins/elements/gstfdsrc.h:
14688         * plugins/elements/gstfilesink.h:
14689         * plugins/elements/gstfilesrc.h:
14690         * plugins/elements/gstidentity.h:
14691         * plugins/elements/gstqueue.h:
14692         * plugins/elements/gsttee.h:
14693         * plugins/indexers/gstfileindex.c:
14694         * plugins/indexers/gstmemindex.c:
14695         * tests/old/examples/plugins/example.h:
14696         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
14697
14698 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14699
14700         * libs/gst/dataprotocol/dataprotocol.c:
14701         (gst_dp_header_from_buffer):
14702           make sure we zero the whole ABI-compatible area
14703
14704 2006-06-01  Wim Taymans  <wim@fluendo.com>
14705
14706         Patch by: Alessandro Decina <alessandro at nnva dot org>
14707
14708         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
14709         Make sure the EOS flag is cleared from pads after a flush
14710         or stop. Fixes #343538.
14711
14712         * tests/check/libs/collectpads.c: (GST_START_TEST),
14713         (gst_collect_pads_suite):
14714         Added test for collectpads reusage after EOS.
14715
14716 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
14717
14718         * gst/gst.c:
14719          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
14720         * win32/common/libgstbase.def:
14721          export gst_collect_pads_set_flushing
14722         * win32/common/libgstreamer.def:
14723          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
14724          gst_value_fraction_multiply
14725         * win32/vs6/gst_inspect.dsp:
14726          add a link to intl.lib
14727
14728 2006-05-30  Wim Taymans  <wim@fluendo.com>
14729
14730         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
14731         (gst_collect_pads_chain):
14732         Handle the case where a pad is removed from the collection
14733         that could cause the other pads to become collectable.
14734
14735 2006-05-30  Wim Taymans  <wim@fluendo.com>
14736
14737         * gst/gstelement.c:
14738         Clarify the use of _release_request_pad() and
14739         _get_request_pad() a bit better.
14740
14741         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
14742         (gst_adapter_take_buffer):
14743         Fix some doc and comment typos.
14744
14745 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14746
14747         * docs/gst/gstreamer-sections.txt:
14748         * docs/libs/gstreamer-libs-sections.txt:
14749           add declared symbols
14750
14751 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
14752
14753         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
14754         Add debug that can be enabled using a #define at the top of the file,
14755         for dumping stats about how late/early we were when waking up from
14756         waiting on the clock.
14757
14758 2006-05-30  Wim Taymans  <wim@fluendo.com>
14759
14760         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
14761         When rebuilding the pad list, don't leak the previous list.
14762
14763 2006-05-30  Wim Taymans  <wim@fluendo.com>
14764
14765         Patch by: Lutz Mueller <lutz at topfrose dot de>
14766
14767         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14768         (gst_base_src_get_query_types), (gst_base_src_update_length):
14769         Publish supported query types.
14770         Update last_stop field in get_range mode so the position
14771         query works. Fixes #342321.
14772
14773 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
14774
14775         * docs/gst/gstreamer-sections.txt:
14776         * gst/gsttaglist.c: (_gst_tag_initialize):
14777         * gst/gsttaglist.h:
14778           API: add GST_TAG_PREVIEW_IMAGE (#343341).
14779
14780 2006-05-30  Wim Taymans  <wim@fluendo.com>
14781
14782         Patch by: Alessandro Decina <alessandro at nnva dot org>
14783
14784         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
14785         Unlock mutex when removing an unknown pad.
14786         Fixes #343334.
14787
14788         * tests/check/Makefile.am:
14789         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
14790         (push_event), (setup), (teardown), (GST_START_TEST),
14791         (gst_collect_pads_suite), (main):
14792         Added collecpads check, disabled for now as check crashes for
14793         some reason.
14794
14795 2006-05-29  Wim Taymans  <wim@fluendo.com>
14796
14797         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
14798         Don't leak pads lists.
14799
14800 2006-05-29  Wim Taymans  <wim@fluendo.com>
14801
14802         * docs/libs/gstreamer-libs-sections.txt:
14803         * libs/gst/base/gstcollectpads.c:
14804         (gst_collect_pads_set_flushing_unlocked),
14805         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
14806         (gst_collect_pads_stop):
14807         * libs/gst/base/gstcollectpads.h:
14808         API: gst_collect_pads_set_flushing()
14809         Added api to set the pads to flushing, useful for seeking
14810         code in elements using collectpads.
14811         Clear segment when receiving a flush.
14812
14813 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
14814
14815         * gst/gst.c: (add_path_func), (init_post):
14816           Don't scan registry paths passed via --gst-plugin-path immediately
14817           (will crash, because absolutely nothing is set up and no types are
14818           registered etc.); do this later in init_post(). Fixes #343057.
14819
14820 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
14821
14822         * gst/gst.c: (init_post):
14823           if we have fork, fork while reading/rebuilding the registry
14824           so the parent doesn't take the hit of having all plugins loaded
14825           in memory.  Fixes #342777.
14826         * configure.ac:
14827           Check if we have fork()
14828         * win32/common/config.h.in:
14829           no fork() on win32
14830
14831 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
14832
14833         * plugins/elements/gstelements.c:
14834         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
14835         (gst_file_src_init), (gst_file_src_set_property),
14836         (gst_file_src_get_property), (gst_file_src_start):
14837         * plugins/elements/gstfilesrc.h:
14838           API: GstFileSrc::use-mmap
14839
14840         Add a use-mmap property to enable easier testing of all code paths.
14841         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
14842         in the absence of gnomevfssrc. (Closes #340501)
14843
14844 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
14845
14846         * tools/gst-inspect.c:
14847         Add missing include, removes warning of ngettext not being defined on
14848         some arches.
14849
14850 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
14851
14852         * gst/gstvalue.c: (gst_value_deserialize_fraction):
14853         Handle NULL input and output pointers silently as a failed conversion,
14854         rather than g_warnings.
14855
14856 2006-05-25  Wim Taymans  <wim@fluendo.com>
14857
14858         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
14859         Initialize variable before using. Fixes #342820.
14860
14861 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
14862
14863         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
14864           Fix off-by-one bug that would only allow peeks of N-1 bytes
14865           from the start even if the buffer to typefind on contains
14866           in fact N bytes of data (makes vorbis typefinding from a
14867           vorbis identification header buffer work).
14868
14869         * tests/check/Makefile.am:
14870         * tests/check/libs/.cvsignore:
14871         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
14872         (gst_typefindhelper_suite), (main), (foobar_typefind),
14873         (plugin_init):
14874           Add very basic unit test for gst_type_find_helper_for_buffer()
14875           that checks for the problem fixed above.
14876
14877 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14878
14879         * tools/gst-inspect.c: (print_interfaces),
14880         (print_element_properties_info), (print_element_list), (main):
14881           add more translatable strings
14882
14883 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
14884
14885         Patch by: Julien Moutte  <julien at moutte net>
14886
14887         * docs/gst/gstreamer-sections.txt:
14888           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
14889           
14890         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
14891         (gst_fake_sink_preroll):
14892         * plugins/elements/gstfakesink.h:
14893           API: Add new GstFakeSink::preroll-handoff signal (#337100).
14894
14895 2006-05-23  Wim Taymans  <wim@fluendo.com>
14896
14897         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
14898         * gst/gstpad.h:
14899         Added _CUSTOM error and success GstFlowReturn that can be
14900         used be elements internally. 
14901         Added macro to check for SUCCESS flowreturns.
14902         API: GST_FLOW_CUSTOM_SUCCESS
14903         API: GST_FLOW_CUSTOM_ERROR
14904         API: GST_FLOW_IS_SUCCESS
14905
14906         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
14907         Added check for GstFlowReturn sanity.
14908
14909 2006-05-23  Wim Taymans  <wim@fluendo.com>
14910
14911         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
14912
14913         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
14914         (gst_collect_pads_event):
14915         clear/reset segment info in FLUSH_STOP.
14916         Fixes #336929.
14917
14918 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
14919
14920         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
14921         (gst_collect_pads_check_collected):
14922         Flush queued buffer on _stop(), fixes playing again (#342454)
14923
14924 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14925
14926         * tests/check/gst/gststructure.c: (GST_START_TEST),
14927         (gst_structure_suite):
14928           add a test for a complete structure
14929
14930 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
14931
14932         * docs/faq/developing.xml:
14933         * docs/faq/faq.xml:
14934         * docs/faq/troubleshooting.xml:
14935         * docs/faq/using.xml:
14936           Some minor FAQ updates that won't change the fact that
14937           our FAQ is badly structured, full of information hardly
14938           anyone new to GStreamer needs to know and lacking lots
14939           of information people constantly ask for.
14940           
14941 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
14942
14943         * gst/gstpad.c: (gst_pad_set_caps):
14944           Short-circuit gst_pad_set_caps if setting the existing
14945           caps pointer again, and avoid printing debug and 
14946           reffing/unreffing the caps.
14947
14948         * plugins/elements/gstqueue.c: (gst_queue_push_one):
14949           There's actually no need to set the caps before pushing -
14950           the acceptcaps method will handle it anyway.
14951
14952 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
14953
14954         * docs/gst/gstreamer-sections.txt:
14955         * win32/common/libgstreamer.def:
14956         * gst/gstutils.c: (gst_element_seek_simple):
14957         * gst/gstutils.h:
14958           API: add gst_element_seek_simple() (#342238).
14959
14960 2006-05-18  Edward Hervey  <edward@fluendo.com>
14961
14962         * gst/gsttypefind.c: (gst_type_find_get_type):
14963         * gst/gsttypefind.h:
14964         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
14965         registered for GstTypeFind pointers. This allows wrapping the structure
14966         in bindings (i.e. gst-python).
14967
14968 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
14969
14970         * gst/gsttagsetter.c:
14971           Docs additions and fixes (see #339918).
14972
14973 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
14974
14975         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
14976         The caps intersection algorithm can produce multiple copies of the
14977         caps. Until that is fixed, we need to simplify the result to be
14978         sure whether the allowed caps are fixed or not.
14979
14980         * plugins/elements/gstqueue.c: (gst_queue_init),
14981         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
14982         (gst_queue_push_one):
14983         Proxied buffer alloc should not set the caps on the source pad.
14984         When pushing buffers, we always accept the caps change that triggers.
14985         This prevents negotiation errors caused by caps changing mid-stream 
14986         and then being refused on our source pad (because upstream is now
14987         refusing those caps).
14988
14989 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
14990
14991         * tests/examples/helloworld/helloworld.c: (main):
14992           Must plug audioconvert and audioresample between decoder
14993           and audio sink.
14994
14995 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
14996
14997         * gst/gstregistryxml.c: (read_string), (load_pad_template),
14998         (load_feature), (load_plugin):
14999         Allow empty strings for some of the plugin fields so we don't 
15000         drop valid plugin entries that were written out correctly
15001         (Fixes #341479)
15002
15003 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
15004         
15005         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
15006           Use g_remove and g_rename instead of remove and rename that don't 
15007           handle utf8 characters. rename was failing for users who had specific
15008           characters in their name then the registry was built at each 
15009           gstreamer init.
15010         * win32/vs6/gst_inspect.dsp:
15011         * win32/vs6/gst_launch.dsp:
15012         * win32/vs6/libgstbase.dsp:
15013         * win32/vs6/libgstcoreelements.dsp:
15014         * win32/vs6/libgstreamer.dsp:
15015           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
15016           build of libgstreamer and clean unused libraries in projects link 
15017           settings.
15018
15019 2006-05-17  Edward Hervey  <edward@fluendo.com>
15020
15021         * plugins/elements/gstqueue.c: (gst_queue_push_one):
15022         The queue is not responsible for pushing an EOS when receiving a fatal
15023         flow error. It's up to the real element driving the pipeline to do that.
15024
15025 2006-05-16  Edward Hervey  <edward@fluendo.com>
15026
15027         * plugins/elements/gstqueue.c: (gst_queue_push_one):
15028         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
15029         buffer returned a fatal error. It should just send an EOS and stop
15030         its task.
15031         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
15032         when pushing buffers on the queue and will be able to handle the event.
15033
15034 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
15035
15036         * docs/manual/basics-bins.xml:
15037         * docs/manual/basics-init.xml:
15038           Fix typos and minor errors in sample code (#341856).
15039
15040 2006-05-16  Wim Taymans  <wim@fluendo.com>
15041
15042         * docs/design/part-qos.txt:
15043         Fix indexes in formulas to make more sense.
15044
15045 2006-05-15  Wim Taymans  <wim@fluendo.com>
15046
15047         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
15048         Don't report POSITION based on clock time if sync is
15049         disabled in a sink.
15050
15051 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
15052
15053         * gst/gstobject.h:
15054           Add cast to make compiler happy - refcount variable was a gint
15055           in GstObject but is a guint in GObject and g_atomic_int_get()
15056           wants a gint *.
15057
15058 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15059
15060         * gst/parse/Makefile.am:
15061           chain commands using &&, which also makes parallel make work
15062
15063 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
15064
15065         * docs/gst/gstreamer-sections.txt:
15066         * gst/gstevent.c:
15067         * gst/gstevent.h:
15068         * gst/gstmessage.h:
15069           Minor docs fixes.
15070
15071 === release 0.10.6 ===
15072
15073 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
15074
15075         * configure.ac:
15076           releasing 0.10.6, "Take the cannoli"
15077
15078 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
15079
15080         * tools/gst-launch.c: (print_tag):
15081           Fix use of uninitialized variable in the hypothetical
15082           case that some broken plugin creates a GST_TAG_IMAGE
15083           tag containing a NULL buffer (#341667).
15084
15085 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
15086
15087         * tools/gst-launch.c: (print_tag):
15088           Print something more intelligible for image tags when
15089           using the -t switch (#341556).
15090
15091 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15092
15093         * Makefile.am:
15094           updates for win32
15095         * configure.ac:
15096           define GST_MAJORMINOR so we have it available in win32/common/config.h
15097           Possibly remove it from our Makefile.am files later
15098         * win32/common/config.h:
15099         * win32/common/config.h.in:
15100           added GST_MAJORMINOR
15101         * win32/common/gstenumtypes.c: (register_gst_resource_error):
15102         * win32/common/gstversion.h:
15103           updated
15104
15105 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
15106
15107         * win32/MANIFEST:
15108           Update win32 files listing.
15109         * win32/common/gstversion.h:
15110           Add GST_MAJORMINOR definition.
15111         * win32/common/libgstreamer.def:
15112           Add new exported functions.
15113           
15114 2006-05-12  Michael Smith  <msmith@fluendo.com>
15115
15116         * gst/gstplugin.c: (gst_plugin_load_file):
15117           If an so file has no plugin entry point, unload the module.
15118
15119 2006-05-11  Wim Taymans  <wim@fluendo.com>
15120
15121         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
15122         (gst_queue_set_property):
15123         Don't forget to signal the _chain or _loop function 
15124         when the queue size or thresholds change since that might
15125         cause them to make progres again.
15126
15127 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
15128
15129         * gst/gstclock.c: (gst_clock_class_init):
15130         * gst/gstindex.c: (gst_index_class_init):
15131         * gst/gstobject.c: (gst_object_class_init):
15132         * gst/gstpad.c: (gst_pad_class_init):
15133         * gst/gstpipeline.c: (gst_pipeline_class_init):
15134         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
15135         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
15136         * libs/gst/base/gstbasetransform.c:
15137         (gst_base_transform_class_init):
15138         * libs/gst/net/gstnetclientclock.c:
15139         (gst_net_client_clock_class_init):
15140         * libs/gst/net/gstnettimeprovider.c:
15141         (gst_net_time_provider_class_init):
15142         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
15143         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
15144         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
15145         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
15146         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
15147         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
15148         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
15149         * plugins/elements/gstidentity.c: (gst_identity_class_init):
15150         * plugins/elements/gsttee.c: (gst_tee_class_init):
15151         * tests/old/examples/plugins/example.c: (gst_example_class_init):
15152         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
15153           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
15154
15155 2006-05-11  Wim Taymans  <wim@fluendo.com>
15156
15157         * gst/gstbuffer.c: (_gst_buffer_initialize):
15158         Register subbufer along with the buffer type so that
15159         it does not accidentally gets registered from N
15160         different streaming threads in a non threadsafe way.
15161
15162 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
15163
15164         * gst/gstbuffer.h:
15165         * gst/gstevent.h:
15166         * gst/gstmessage.h:
15167           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
15168           gst_event_ref() and gst_message_ref() functions again
15169           (ugly hack, please do fix if there's a better way besides
15170           overrides.txt, which doesn't seem to work).
15171
15172 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15173
15174         * libs/gst/check/gstcheck.h:
15175           add an assert for setting state to avoid lots of repetitive code
15176           in the future
15177
15178 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15179
15180         * gst/gstvalue.c: (gst_value_serialize_flags):
15181           fix a leak if no flags are set
15182         * tests/check/gst/gstvalue.c: (GST_START_TEST):
15183           fix leak in tests
15184
15185 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
15186
15187         * docs/manual/basics-pads.xml:
15188           Expand a bit on caps and filtered links and update
15189           examples that were still using the no longer existing
15190           gst_pad_link_filtered() (#338206).
15191
15192 2006-05-10  Wim Taymans  <wim@fluendo.com>
15193
15194         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
15195         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
15196         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
15197         (gst_collect_pads_stop):
15198         * libs/gst/base/gstcollectpads.h:
15199         No need to call _stop in _finalize.
15200         Iterate the main pad list in _finalize.
15201         Added some more debug.
15202         Free lists and data in the right order.
15203         Also free data whem doing _remove_pad when stopped for
15204         backward compatibility protect ::started with PAD_LOCK as
15205         well.
15206
15207 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15208
15209         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
15210         (gst_structure_parse_value):
15211           add some comments
15212           rename a method so that it actually says what it does better
15213
15214 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15215
15216         * gst/gstevent.c: (_gst_event_initialize):
15217         * gst/gstformat.c: (_gst_format_initialize):
15218           make sure some essential types used by events are registered
15219           as part of gst_init()
15220         * gst/gstvalue.c: (gst_value_serialize_flags):
15221           if no flags are set, serialize them to a value that represents NONE
15222           so that deserializing them works
15223         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15224           add tests for serialization and deserialization of flags
15225
15226 2006-05-10  Wim Taymans  <wim@fluendo.com>
15227
15228         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
15229         (gst_collect_pads_collect_range), (gst_collect_pads_available),
15230         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
15231         (gst_collect_pads_event), (gst_collect_pads_chain):
15232         Update docs.
15233         Better debug info.
15234         Catch and return errors from the collect function
15235         Refuse data on eos pads.
15236
15237 2006-05-10  Edward Hervey  <edward@fluendo.com>
15238
15239         * gst/gstinterface.h:
15240         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
15241         GInterface type checking.
15242         They were previously using non-defined macros.
15243
15244 2006-05-09  Wim Taymans  <wim@fluendo.com>
15245
15246         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
15247         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
15248         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
15249         (gst_collect_pads_start), (gst_collect_pads_stop),
15250         (gst_collect_pads_peek), (gst_collect_pads_pop),
15251         (gst_collect_pads_available), (gst_collect_pads_read),
15252         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
15253         (gst_collect_pads_is_collected), (gst_collect_pads_event),
15254         (gst_collect_pads_chain):
15255         * libs/gst/base/gstcollectpads.h:
15256         Clean up the mess that is collectpads, add comments and
15257         FIXMEs where needed.
15258         Maintain a separate pad list so we can add pads while
15259         collecting the other ones. For this we need a new separate 
15260         lock (see comics).
15261         Fix memory leak in finalize.
15262         Refactor some weird code to set/unset pad flushing flags, mark
15263         with comments.
15264         Don't crash in _available, _read, _flush when we're EOS.
15265
15266         * tests/check/libs/.cvsignore:
15267         Ignore adapter check binary.
15268
15269 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15270
15271         * gst/gstindex.c: (gst_index_resolver_get_type):
15272         * plugins/elements/gstfakesink.c:
15273         (gst_fake_sink_state_error_get_type):
15274         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
15275         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
15276         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
15277           Const-ify GEnumValue arrays.
15278
15279 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15280
15281         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
15282           Add test case for flags + gst_buffer_make_metadata_writable().
15283
15284 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15285
15286         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
15287           gst_buffer_make_metadata_writable() should maintain the
15288           buffer flags (those that make sense at least) (see #340859).
15289
15290 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15291
15292         * tools/gst-inspect.c:
15293         * tools/gst-launch.c:
15294         * tools/gst-typefind.c:
15295         * tools/gst-xmlinspect.c:
15296         * tools/tools.h:
15297           Fix up includes: need to include stdlib.h in tools.h for exit().
15298
15299 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15300
15301         * gst/gsttaglist.c: (_gst_tag_initialize):
15302         * gst/gsttaglist.h:
15303           API: add GST_TAG_IMAGE tag (#340721).
15304
15305 2006-05-08  Wim Taymans  <wim@fluendo.com>
15306
15307         * gst/gstquery.c:
15308         Added some docs for the segment query.
15309
15310 2006-05-08  Wim Taymans  <wim@fluendo.com>
15311
15312         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15313         (gst_base_src_loop), (gst_base_src_change_state):
15314         Always push non-flushing serialized events in the streaming 
15315         thread.
15316
15317 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15318
15319         * gst/gsterror.c: (_gst_stream_errors_init):
15320           Add a missing error string.
15321
15322 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
15323
15324         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
15325         Add applied_rate to the debug
15326
15327         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
15328         Copy applied_rate into the outgoing NEWSEGMENT event
15329
15330 2006-05-08  Wim Taymans  <wim@fluendo.com>
15331
15332         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
15333
15334         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
15335         (gst_base_sink_change_state):
15336         call ::unlock before taking the PREROLL_LOCK so we can safely
15337         handle elements that lock in ::render.
15338         Fixes #340174.
15339
15340 2006-05-08  Edward Hervey  <edward@fluendo.com>
15341
15342         * autogen.sh: (CONFIGURE_DEF_OPT): 
15343         Darwin's libtoolize is in fact called glibtoolize.
15344         Adding glibtoolize to the list of accepted names for libtoolize.
15345
15346 2006-05-08  Wim Taymans  <wim@fluendo.com>
15347
15348         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
15349         Unify error handling, don't post an error message
15350         when a push() returns EOS but perform our normal EOS
15351         handling code. Fixes #340772.
15352
15353 2006-05-08  Wim Taymans  <wim@fluendo.com>
15354
15355         * docs/design/part-overview.txt:
15356         Make upsteam/downstream concepts more clear.
15357         Give an example of serialized/non-serialized events.
15358
15359         * docs/design/part-events.txt:
15360         * docs/design/part-streams.txt:
15361         Mention applied_rate.
15362
15363         * docs/design/part-trickmodes.txt:
15364         Mention applied rate, flesh out some more use cases.
15365
15366         * gst/gstevent.c: (gst_event_new_new_segment),
15367         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
15368         (gst_event_parse_new_segment_full), (gst_event_new_tag),
15369         (gst_event_parse_tag), (gst_event_new_buffer_size),
15370         (gst_event_parse_buffer_size), (gst_event_new_qos),
15371         (gst_event_parse_qos), (gst_event_parse_seek),
15372         (gst_event_new_navigation):
15373         * gst/gstevent.h:
15374         Add applied_rate field to NEWSEGMENT event.
15375         API: gst_event_new_new_segment_full()
15376         API: gst_event_parse_new_segment_full()
15377
15378         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
15379         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
15380         (gst_segment_to_stream_time), (gst_segment_to_running_time):
15381         * gst/gstsegment.h:
15382         Add applied_rate to GstSegment structure.
15383         Make calculation of stream_time and running_time more correct
15384         wrt rate/applied_rate.
15385         Add some more docs.
15386         API: GstSegment::applied_rate field
15387         API: gst_segment_set_newsegment_full();
15388
15389         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
15390         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
15391         * libs/gst/base/gstbasetransform.c:
15392         (gst_base_transform_sink_eventfunc),
15393         (gst_base_transform_handle_buffer):
15394         Parse and use applied_rate in the GstSegment field.
15395
15396         * tests/check/gst/gstevent.c: (GST_START_TEST):
15397         Add check for applied_rate field.
15398
15399         * tests/check/gst/gstsegment.c: (GST_START_TEST),
15400         (gstsegments_suite):
15401         Add more checks for various GstSegment operations.
15402
15403 2006-05-08  Wim Taymans  <wim@fluendo.com>
15404
15405         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
15406         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
15407         (gst_base_sink_get_position), (gst_base_sink_change_state):
15408         Store the sync time of the buffer end position separatly in a
15409         new variable eos_rtime so we can properly sync the EOS event.
15410         Fixes #340697.
15411         Fix the docs for gst_base_sink_set_qos_enabled().
15412         Don't set segment start to invalid value when we receive a 
15413         non TIME newsegment.
15414         get closer to handling position reporting for negative rates 
15415         correctly.
15416
15417 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
15418
15419         * gst/gstcaps.c:
15420         Docs about how to print caps for debug purposes.
15421
15422         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
15423         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
15424
15425 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
15426
15427         * gst/gstelement.c:
15428           use full enum names and preprend a '%' in docs strings to make recent 
15429           gtk-doc turn that into a link
15430
15431 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15432
15433         * docs/manual/basics-bins.xml:
15434         * docs/manual/basics-bus.xml:
15435         * docs/manual/basics-pads.xml:
15436           Some typo fixes, some additions, some clarifications. 
15437
15438 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15439
15440         * tools/gst-inspect.c: (main):
15441         * tools/gst-launch.c: (main):
15442         * tools/gst-run.c: (main):
15443         * tools/gst-typefind.c: (main):
15444         * tools/gst-xmlinspect.c: (main):
15445           Use the string passed to g_option_context_new() for
15446           what it's intended for - the program name is already
15447           printed elsewhere.
15448
15449 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15450
15451         * tools/Makefile.am:
15452         * tools/gst-inspect.c: (main):
15453         * tools/gst-launch.c: (main):
15454         * tools/gst-xmlinspect.c: (main):
15455         * tools/tools.h:
15456           Add back --version command line option (#340460).
15457
15458         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
15459           Add --version option and use GOption for argument parsing; refactor a
15460           bit; accept directories as arguments and recurse into them; lastly,
15461           print a decent error message when things go wrong.
15462
15463 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15464
15465         * docs/manual/basics-bins.xml:
15466         Don't mention GstThread (#340611)
15467         * docs/manual/basics-elements.xml:
15468         Update link to GObject tutorial (#340607)
15469         
15470 2006-05-05  Wim Taymans  <wim@fluendo.com>
15471
15472         * gst/gstbuffer.h:
15473         * gst/gstminiobject.c:
15474         Add note about refcounting and miniobject/buffer writeability
15475         to docs. Fixes #340604
15476
15477         * gst/gstelementfactory.h:
15478         Added some explanation about @klass.
15479
15480 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15481
15482         * docs/manual/intro-motivation.xml:
15483         * docs/manual/manual.xml:
15484         Avoid CORBA & Bonobo references (#340598)
15485
15486 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15487
15488         * docs/manual/basics-bus.xml:
15489         * docs/manual/basics-pads.xml:
15490         Fix up some inaccuracies and omissions (#340609)
15491         
15492 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15493
15494         * gst/gstghostpad.c:
15495           Small typo in docs (#340625)
15496
15497 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15498
15499         * gst/parse/Makefile.am:
15500           Make 'make -j' proof (see #340698).
15501
15502 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15503
15504         * configure.ac:
15505           Require GLib-2.8 here as well.
15506
15507 2006-05-05  Wim Taymans  <wim@fluendo.com>
15508
15509         * gst/glib-compat.c:
15510         * gst/gst.c: (init_pre):
15511         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
15512         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
15513         (gst_object_dispatch_properties_changed):
15514         * gst/gstobject.h:
15515         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
15516         * gst/gststructure.c: (gst_structure_set_valist):
15517         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
15518         Remove pre glib2.8 compatibility, fixes #340508
15519
15520 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
15521
15522         * gst/gsttaglist.h:
15523           Mention type of tags in doc blurbs.
15524
15525 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
15526
15527         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15528         (gst_pad_configure_src), (gst_pad_push):
15529         Restore acceptcaps checking behaviour now that good plugins have
15530         been released.
15531
15532 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
15533
15534         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
15535
15536         * gst/gst.c:
15537         * gst/gstbus.c:
15538         * gst/gstclock.c:
15539         * gst/gstevent.c:
15540         * gst/gstformat.c:
15541         * gst/gstmessage.c:
15542         * gst/gstparse.c:
15543         * gst/gstquery.c:
15544         * gst/gstutils.c:
15545         * gst/parse/Makefile.am:
15546         * libs/gst/base/gstadapter.c:
15547         * libs/gst/base/gstbasesrc.c:
15548         * libs/gst/base/gstpushsrc.c:
15549         * libs/gst/base/gsttypefindhelper.c:
15550         * plugins/elements/gstfakesrc.c:
15551         * plugins/elements/gstidentity.c:
15552           Make sure gstprivate.h and/or config.h are
15553           always included first, otherwise some of our
15554           defines (like _FILE_OFFSET_BITS) might be
15555           redefined in the system headers. Fixes build
15556           on opensolaris (#340016).
15557
15558 2006-05-04  Wim Taymans  <wim@fluendo.com>
15559
15560         * docs/libs/gstreamer-libs-sections.txt:
15561         API: addition: gst_adapter_take_buffer()
15562         
15563         * libs/gst/base/gstadapter.c: (gst_adapter_push),
15564         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
15565         (gst_adapter_available_fast):
15566         * libs/gst/base/gstadapter.h:
15567         Prepare for optimizing the hell out of this hugely inefficient
15568         piece of code. 
15569         Added gst_adapter_take_buffer() so we can at least start thinking
15570         about subbuffering and merging.
15571         Added some comments.
15572
15573         * tests/check/Makefile.am:
15574         * tests/check/libs/adapter.c: (GST_START_TEST),
15575         (gst_adapter_suite), (main):
15576         Added GstAdapter check.
15577
15578 2006-05-04  Wim Taymans  <wim@fluendo.com>
15579
15580         * docs/design/part-overview.txt:
15581         Fix some typos, add blurb about buffer flags.
15582
15583 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
15584
15585         * docs/libs/gstreamer-libs-sections.txt:
15586           make sure GstBaseTransformClass shows up in the docs
15587         * libs/gst/base/gstbasetransform.c:
15588         * libs/gst/base/gstbasetransform.h:
15589           move docs so gtk-doc picks it up now
15590
15591 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
15592
15593         * docs/libs/gstreamer-libs-sections.txt:
15594           add missing symbols to docs
15595
15596 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
15597
15598         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15599           back out the newsegment handling change, see #340060 for ongoing
15600           discussion
15601
15602 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
15603
15604         * tools/gst-run.c: (get_candidates), (main):
15605           Fix wrong g_file_test() usage (see glib docs for why it doesn't
15606           work); fix typo in error message. Fixes #340079.
15607
15608 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15609
15610         * common/Makefile.am:
15611         * docs/Makefile.am:
15612         * docs/faq/Makefile.am:
15613         * docs/gst/Makefile.am:
15614         * docs/libs/Makefile.am:
15615         * docs/manual/Makefile.am:
15616         * docs/plugins/Makefile.am:
15617         * docs/pwg/Makefile.am:
15618         * docs/slides/Makefile.am:
15619         * docs/upload.mak:
15620         * common/upload.mak:
15621           move upload.mak to common
15622
15623 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15624
15625         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
15626           add more asserts on refcounts
15627           do more cleanup at end of tests
15628           fix test leaks showing in FC5
15629
15630 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
15631
15632         * plugins/elements/gsttypefindelement.c:
15633         (gst_type_find_element_handle_event):
15634         reverted wrong change and reflowed code to avoid others falling into
15635         this trap
15636
15637 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15638
15639         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15640           fix changelog entry about last collectpads change,
15641           add notes about proper fix
15642
15643 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15644
15645         * gst/gst.c:
15646         * gst/gstregistry.c: (gst_registry_scan_path_level),
15647         (gst_registry_scan_path):
15648         * gst/gstregistry.h:
15649           only write out registry if it has changed, fixes #338339
15650
15651 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15652
15653         * gst/gstbin.c:
15654         * gst/gstpipeline.c:
15655         * plugins/elements/gstcapsfilter.c:
15656         * plugins/elements/gstfakesink.c:
15657         * plugins/elements/gstfakesrc.c:
15658         * plugins/elements/gstfdsink.c:
15659         * plugins/elements/gstfdsrc.c:
15660         * plugins/elements/gstfilesink.c:
15661         * plugins/elements/gstfilesrc.c:
15662         * plugins/elements/gstidentity.c:
15663         * plugins/elements/gstqueue.c:
15664         * plugins/elements/gsttee.c:
15665         * plugins/elements/gsttypefindelement.c:
15666         (gst_type_find_element_handle_event):
15667           make GstElementDetails const
15668
15669 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15670
15671         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
15672         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
15673         (gst_collect_pads_is_collected), (gst_collect_pads_event):
15674           more detailed debug and formatting cleanup,
15675           forward newsegments to src-pad (so that e.g. adder not eats them)
15676
15677 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15678
15679         * gst/gstutils.c: (gst_element_link_pads):
15680           cleanup double code
15681
15682 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15683
15684         * libs/gst/controller/gstcontroller.c:
15685         (gst_controller_sync_values):
15686           some little tuning
15687         * tests/check/libs/controller.c: (GST_START_TEST),
15688         (gst_controller_suite):
15689           a new test for live value handling
15690
15691 2006-04-28  Wim Taymans  <wim@fluendo.com>
15692
15693         * gst/gstutils.c: (push_and_ref):
15694         Added some more docs.
15695         Fix refcount issue whith gst_element_found_tags() helper 
15696         function. Fixes #338335
15697
15698         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
15699         Added testsuite for gst_element_found_tags().
15700
15701 2006-04-28  Michael Smith  <msmith@fluendo.com>
15702
15703         * gst/gstvalue.c: (gst_value_serialize_flags):
15704           Avoid NULL dereference when trying to serialize flags containing
15705           invalid values.
15706
15707 2006-04-28  Michael Smith  <msmith@fluendo.com>
15708
15709         * plugins/elements/gsttypefindelement.c:
15710         (gst_type_find_element_handle_event):
15711           If we get EOS before any data is accumulated, don't use
15712           uninitialised local variables.
15713
15714 2006-04-28  Michael Smith  <msmith@fluendo.com>
15715
15716         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15717         (gst_dp_event_from_packet):
15718           Fixes in reading/writing events over GDP (not currently used?) - 
15719           dereferencing NULL events for unknown/invalid event types, memory
15720           leak, and change g_warning to GST_WARNING.
15721
15722 2006-04-28  Wim Taymans  <wim@fluendo.com>
15723
15724         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
15725         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
15726         (gst_base_sink_get_position), (gst_base_sink_change_state):
15727         When frame dropping is enabled, we should not ignore frames
15728         without a duration.
15729         Update some documentation.
15730
15731 2006-04-28  Wim Taymans  <wim@fluendo.com>
15732
15733         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15734         (gst_base_src_send_event), (gst_base_src_change_state):
15735         Documentation updates.
15736
15737 2006-04-28  Wim Taymans  <wim@fluendo.com>
15738
15739         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
15740         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
15741         handle EAGAIN, EINTR and short writes correctly. Also clean
15742         up some error cases, avoid a deadlock on bad file descriptors and
15743         use GST_DEBUG_OBJECT.
15744         Fixes #339843
15745
15746 2006-04-28  Wim Taymans  <wim@fluendo.com>
15747
15748         * gst/gstvalue.c: (gst_value_serialize_buffer),
15749         (gst_value_deserialize_buffer):
15750         Don't try to serialize a GValue with a NULL buffer. 
15751         Fixes #339821.
15752
15753         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15754         Added check for serialisation of NULL buffers.
15755
15756 2006-04-28  Wim Taymans  <wim@fluendo.com>
15757
15758         * gst/gstminiobject.c: (gst_value_take_mini_object):
15759         Taking a NULL miniobject is valid, fix the case where
15760         we try to unref the NULL miniobject.
15761
15762 2006-04-28  Wim Taymans  <wim@fluendo.com>
15763
15764         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
15765
15766         * gst/gstbin.c: (gst_bin_handle_message_func):
15767         Update docs.
15768         Don't leak bin refcount when a state recalc is
15769         in progress and we delay another one #339808.
15770
15771 2006-04-28  Wim Taymans  <wim@fluendo.com>
15772
15773         * docs/design/part-TODO.txt:
15774         Mention QoS as an ongoing work item.
15775
15776         * docs/design/part-buffering.txt:
15777         New doc about buffering that needs to be fleshed out
15778         at some point.
15779
15780         * docs/design/part-qos.txt:
15781         More QoS policy for decoders/demuxers/transforms
15782
15783         * docs/design/part-trickmodes.txt:
15784         Small update.
15785
15786 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
15787
15788         * configure.ac:
15789           back to HEAD
15790
15791 === release 0.10.5 ===
15792
15793 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
15794
15795         * configure.ac:
15796           releasing 0.10.5, "Fogo"
15797
15798 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15799
15800         patch by: Wim Taymans
15801
15802         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15803         (gst_pad_configure_src), (gst_pad_push):
15804         * gst/gstpipeline.c: (gst_pipeline_init):
15805           Fix internal data flow errors.  Fixes #338711.
15806
15807 2006-04-12  Wim Taymans  <wim@fluendo.com>
15808
15809         * tests/check/gst/gstelement.c: (GST_START_TEST):
15810         Don't leak the factory.
15811
15812 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15813
15814         * configure.ac:
15815         * win32/common/config.h:
15816           prerelease
15817
15818 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
15819
15820         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15821         (gst_controller_unset_all):
15822           Free allocated GstTimedValues when freeing list nodes.
15823           Should fix leaks 'make check-valgrind' complains about.
15824
15825         * win32/common/libgstcontroller.def:
15826           Add gst_controller_unset_all.
15827
15828 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
15829
15830         * docs/libs/gstreamer-libs-sections.txt:
15831         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15832         (gst_controller_unset_all):
15833         * libs/gst/controller/gstcontroller.h:
15834         API: Added new method gst_controller_unset_all()
15835         fixed gst_controller_unset()
15836         * tests/check/libs/controller.c: (GST_START_TEST),
15837         (gst_controller_suite):
15838         Added two testcases for new and fixed method
15839
15840 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
15841
15842         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
15843           MSG_DONTWAIT is not defined on Cygwin, so work
15844           around that (fixes #317048).
15845           
15846 2006-04-11  Wim Taymans  <wim@fluendo.com>
15847
15848         * gst/gstelementfactory.c: (gst_element_register),
15849         (gst_element_factory_create), (gst_element_factory_make):
15850         Some cleanups.
15851         Fixed a FIXME.
15852         Updated docs (Fixes #131079)
15853
15854         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
15855         Small cleanups.
15856
15857         * tests/check/gst/gstelement.c: (GST_START_TEST),
15858         (gst_element_suite):
15859         Added testcase for elementfactory class field.
15860
15861 2006-04-10  Wim Taymans  <wim@fluendo.com>
15862
15863         * gst/gstsegment.c:
15864         Added some more docs.
15865
15866         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
15867         (gst_base_sink_reset_qos):
15868         Calculate more accurate rate values.
15869
15870 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
15871
15872         * gst/gst_private.h:
15873           add a new #ifdef to use __declspec(dllimport) only for
15874           other modules and not for gstreamer core
15875         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
15876           use gst_guint64_to_gdouble for conversion
15877         * win32/common/libgstreamer.def:
15878           add new exported functions
15879         * win32/vs6/gst_inspect.dsp:
15880         * win32/vs6/gst_launch.dsp:
15881         * win32/vs6/libgstbase.dsp:
15882         * win32/vs6/libgstcontroller.dsp:
15883         * win32/vs6/libgstcoreelements.dsp:
15884         * win32/vs6/libgstdataprotocol.dsp:
15885         * win32/vs6/libgstnet.dsp:
15886           update project files
15887
15888 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
15889
15890         * gst/gstbuffer.c: (gst_subbuffer_class_init):
15891         * gst/gstclock.c: (gst_clock_class_init):
15892         * gst/gstelement.c: (gst_element_class_init):
15893         * gst/gstindex.c: (gst_index_class_init):
15894         * gst/gstindexfactory.c: (gst_index_factory_class_init):
15895         * gst/gstobject.c: (gst_object_class_init),
15896         (gst_signal_object_class_init):
15897         * gst/gstpad.c: (gst_pad_class_init):
15898         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
15899         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
15900         * gst/gstregistry.c: (gst_registry_class_init):
15901         * gst/gstsystemclock.c: (gst_system_clock_class_init):
15902         * gst/gsttask.c: (gst_task_class_init):
15903         * gst/gstxml.c: (gst_xml_class_init):
15904         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
15905         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
15906         (gst_base_src_loop):
15907         * libs/gst/controller/gstcontroller.c:/
15908         (_gst_controller_class_init):
15909         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
15910         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
15911         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
15912         * tests/old/examples/plugins/example.c: (gst_example_class_init):
15913         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
15914         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
15915
15916 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
15917
15918         * gst/gstpad.c: (gst_pad_link):
15919           Must set peer pads before calling the link function, otherwise
15920           a task started from a link function might get a flow-not-linked
15921           result when trying to push because the other thread where the
15922           linking happens hasn't had a chance to set the peers yet. This
15923           might happen for example when a queue gets linked to a downstream
15924           element, as queue starts a streaming task when its source pad
15925           gets linked. Happens in real life when playing back flac/musepack
15926           files in playbin (#332390).
15927           
15928 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
15929
15930         * gst/gstindex.h:
15931         * gst/gstxml.h:
15932         * libs/gst/base/gstadapter.h:
15933         * libs/gst/base/gstbasesink.h:
15934         * libs/gst/base/gstbasesrc.h:
15935         * libs/gst/base/gstbasetransform.h:
15936         * libs/gst/base/gstcollectpads.h:
15937         * libs/gst/base/gstpushsrc.h:
15938         Fix broken GObject macros
15939
15940 2006-04-07  Wim Taymans  <wim@fluendo.com>
15941
15942         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15943         Initialize start and stop times, thanks valgrind.
15944
15945 2006-04-07  Wim Taymans  <wim@fluendo.com>
15946
15947         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15948         Be a bit nicer to badly behaving upstream elements that expect
15949         us to deal with non TIME segments and timestamps (such as fakesrc
15950         in the testsuite).
15951
15952 2006-04-07  Wim Taymans  <wim@fluendo.com>
15953
15954         * gst/gstbus.c:
15955         Small documentation clarification about the signal watch.
15956
15957         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
15958         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
15959         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
15960         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
15961         (gst_base_sink_get_position_last),
15962         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
15963         Convert and store timestamps in stream time and running time, the
15964         raw timestamps are not useful, also document this better.
15965         Use different window sizes for good and bad QoS observations so
15966         we react to badness a little quicker.
15967         Keep track of the amount of rendered and dropped buffers.
15968         Send QoS timestamps in running time.
15969
15970         * libs/gst/base/gstbasetransform.c:
15971         (gst_base_transform_sink_eventfunc),
15972         (gst_base_transform_handle_buffer):
15973         Compare QoS timestamps against running time.
15974
15975 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
15976
15977         * gst/gstpad.c:
15978           Typo fixes in docs.
15979
15980 2006-04-06  Michael Smith  <msmith@fluendo.com>
15981
15982         * gst/gstpad.c: (gst_pad_set_property):
15983           Use g_value_get_object() instead of g_value_dup_gst_object(),
15984           to avoid double-reffing the pad template (which we then sink,
15985           so this worked previously if (and only if) the pad template
15986           was floating.
15987
15988         * gst/gstpadtemplate.c: (gst_pad_template_init),
15989         (gst_pad_template_pad_created):
15990           Never return floating references to pad templates, create
15991           them as initially-sunken.
15992
15993           Document an extra function (and make this stop sinking our
15994           pad template, since that is now guaranteed to do nothing,
15995           since we created it sunken).
15996
15997         * gst/gstghostpad.c:
15998           Fix docs typo.
15999
16000 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
16001
16002         * gst/gstinfo.c: (__gst_in_valgrind):
16003           Add some newlines.
16004
16005         * plugins/elements/gsttypefindelement.c:
16006         (gst_type_find_element_chain):
16007           Don't leak buffer caps.
16008
16009 2006-04-06  Michael Smith  <msmith@fluendo.com>
16010
16011         * gst/parse/grammar.y:
16012           Fix a leak in parse-launch for any source-or-sink named element 
16013           references used.
16014
16015         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
16016           Unref the pipeline if it exists after we've failed parsing.
16017
16018 2006-04-05  Michael Smith  <msmith@fluendo.com>
16019
16020         * gst/gstpipeline.c: (gst_pipeline_init):
16021           When we create a pipeline bus, initially create it in flushing mode.
16022           Fixes leaks in at least one test, and makes a new pipeline work the
16023           same as one that has gone to READY and then back to NULL.
16024
16025         * gst/gstelement.c:
16026           Typo fix in docs.
16027
16028 2006-04-05  Michael Smith  <msmith@fluendo.com>
16029
16030         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
16031           Unref a pad we reffed.
16032         * tests/check/gst/gstutils.c: (GST_START_TEST):
16033           Unref bins
16034
16035 2006-04-05  Michael Smith  <msmith@fluendo.com>
16036
16037         * gst/gstquery.c: (gst_query_set_formats),
16038         (gst_query_set_formatsv):
16039           Fix leaking GValues in queries, as shown by valgrind/testsuite.
16040
16041 2006-04-05  Michael Smith  <msmith@fluendo.com>
16042
16043         * tests/check/generic/sinks.c: (GST_START_TEST):
16044           Fix a variety of memleaks in sinks check, which are only sometimes 
16045           shown by running the tests under valgrind (weird?).
16046
16047 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
16048
16049         * docs/version.entities.in:
16050           Fix the substituted entity name after thomas' changes on the
16051           weekend.
16052
16053 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
16054
16055         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
16056         VALGRIND_PRINTF
16057         
16058 2006-04-05  Andy Wingo  <wingo@pobox.com>
16059
16060         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
16061
16062         * libs/gst/base/gstbasetransform.c
16063         (gst_base_transform_sink_eventfunc): When resetting our segment on
16064         FLUSH_STOP, also update the flag saying we haven't seen a
16065         newsegment.
16066
16067 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
16068
16069         Patch by: Paolo Borelli  <pborelli at katamail dot com>
16070
16071         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
16072         (gst_plugin_check_license):
16073           minor clean-ups: G_DEFINE_TYPE already takes care of the
16074           parent_class stuff, no need to do it twice. Mark array of
16075           license strings as constant. (#337103)
16076           
16077 2006-04-04  Michael Smith  <msmith@fluendo.com>
16078
16079         * tools/gst-inspect.c: (print_element_list):
16080           Free the right plugin list; fixes a memory leak.
16081
16082 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
16083
16084         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
16085
16086         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
16087           Don't error out on empty buffers (#336945).
16088           
16089 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
16090
16091         * docs/libs/gstreamer-libs-sections.txt:
16092         * gst/gsttaglist.c:
16093         * libs/gst/base/gstbasesink.c:
16094         * libs/gst/base/gstbasesink.h:
16095         * libs/gst/base/gstbasesrc.c:
16096         * libs/gst/base/gstbasesrc.h:
16097           Documentation updates. Make BaseSink and BaseSrc docs contain the
16098           class structure so that people can actually see the prototypes for
16099           virtual functions they're supposed to be overriding.
16100
16101 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
16102
16103         * plugins/elements/gsttypefindelement.c:
16104         (gst_type_find_element_chain):
16105           More debug info; when skipping typefinding, send cached
16106           events in all cases.
16107
16108 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
16109
16110         * configure.ac:
16111           use new AS_VERSION and AS_NANO macros
16112         * gst/gst-i18n-lib.h:
16113         * gst/gst.c:
16114         * gst/gsterror.c:
16115         * gst/gstversion.h.in:
16116         * win32/common/config.h:
16117         * win32/common/config.h.in:
16118           update accordingly
16119
16120 2006-03-31  Michael Smith  <msmith@fluendo.com>
16121
16122         * plugins/elements/gsttypefindelement.c:
16123         (gst_type_find_element_chain):
16124           Do not typefind content if the buffers already have caps.
16125           Neccesary for icydemux (#333657), and the right thing to do anyway.
16126
16127 2006-03-30  Wim Taymans  <wim@fluendo.com>
16128
16129         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16130         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
16131         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
16132         (gst_base_sink_record_qos_observation),
16133         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16134         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
16135         (gst_base_sink_change_state):
16136         More QoS measurements as described in the design doc.
16137         Get rid of ringbuffer with observations, running average is
16138         more simple and equally good.
16139         Calculates valid proportion now.
16140         Added beginning of flood measurement.
16141
16142 2006-03-29  Wim Taymans  <wim@fluendo.com>
16143
16144         * docs/design/part-qos.txt:
16145         * gst/gstclock.c:
16146         Small documentation updates and additions.
16147
16148 2006-03-29  Wim Taymans  <wim@fluendo.com>
16149
16150         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
16151         (gst_base_src_send_event), (gst_base_src_loop),
16152         (gst_base_src_change_state):
16153         Perform the EOS logic when we reach the segment stop position.
16154         Fix compilation on gcc4.1
16155
16156 2006-03-29  Wim Taymans  <wim@fluendo.com>
16157
16158         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
16159
16160         * plugins/elements/gstqueue.c: (gst_queue_init),
16161         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
16162         (gst_queue_set_property):
16163         * plugins/elements/gstqueue.h:
16164         In queue, when EOS is received, if minimum threshold > max_size -
16165         current_level, there is chance that queue blocks forever in conditional
16166         item del wait. This is because the queue is not emptied completely due
16167         to minimum threshold.  Here is another approach. Instead of setting
16168         cur_levels to max in EOS, just zero all minimum threshold levels. This
16169         should make sure that queue gives out all data. When going to READY
16170         (stop) state, just reset the original minimum threshold levels.
16171         Fixes #336336.
16172
16173 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
16174
16175         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
16176         (gst_type_find_element_handle_event),
16177         (gst_type_find_element_send_cached_events),
16178         (gst_type_find_element_change_state):
16179         * plugins/elements/gsttypefindelement.h:
16180           When typefinding is done in push mode, we should cache
16181           events we receive during typefinding instead of just
16182           dropping them (e.g. newsegment, custom events from
16183           dvdreadsrc etc.) and then send them out once we've
16184           determined the type of the stream (and decodebin
16185           has had a chance to plug in a decoder/demuxer).
16186           
16187 2006-03-27  Wim Taymans  <wim@fluendo.com>
16188
16189         * docs/design/part-qos.txt:
16190         First QoS ideas.
16191
16192 2006-03-27  Wim Taymans  <wim@fluendo.com>
16193
16194         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
16195
16196         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
16197         (gst_base_src_send_event), (gst_base_src_change_state):
16198         Handle element seek correctly when we are streaming.
16199         Fixes #326998.
16200
16201 2006-03-24  Michael Smith  <msmith@fluendo.com>
16202
16203         * docs/faq/gst-uninstalled:
16204           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
16205           allow you to correctly run intalled applications built against old 
16206           core, using plugins that require updated core (e.g. running
16207           installed totem against a full uninstalled gstreamer stack)
16208
16209 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
16210
16211         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
16212         more debug details
16213
16214 2006-03-24  Wim Taymans  <wim@fluendo.com>
16215
16216         * docs/gst/gstreamer-sections.txt:
16217         Rearrange the order of the methods so that related methods
16218         are grouped together in sections.
16219
16220 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
16221
16222         * gst/gstelement.c:
16223           Little clarification in the docs
16224
16225 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
16226
16227         * docs/README:
16228         formatting fix
16229         * plugins/elements/gstidentity.c:
16230         * plugins/elements/gstqueue.c:
16231         * plugins/elements/gsttee.c:
16232         * plugins/elements/gsttypefindelement.c:
16233         GST_ELEMENT_DETAILS formatting
16234
16235 2006-03-24  Wim Taymans  <wim@fluendo.com>
16236
16237         * libs/gst/base/gstbasesink.h:
16238         Only add fields, not insert or we break ABI.
16239
16240 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
16241
16242         * win32/common/libgstbase.def:
16243         * win32/common/libgstreamer.def:
16244           Update, add recently added functions.
16245
16246 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
16247
16248         * docs/gst/gstreamer-sections.txt:
16249         * gst/gstutils.c: (gst_pad_query_peer_position),
16250         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
16251         * gst/gstutils.h:
16252           API: add some new utility functions:
16253            - gst_pad_query_peer_position()
16254            - gst_pad_query_peer_duration()
16255            - gst_pad_query_peer_convert()
16256           
16257 2006-03-23  Wim Taymans  <wim@fluendo.com>
16258
16259         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16260         (gst_base_sink_init), (gst_base_sink_finalize),
16261         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
16262         (gst_base_sink_set_property), (gst_base_sink_get_property),
16263         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
16264         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
16265         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
16266         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16267         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
16268         (gst_base_sink_preroll_object), (gst_base_sink_event),
16269         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
16270         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
16271         (gst_base_sink_query), (gst_base_sink_change_state):
16272         Decouple max-lateness and the fact that QoS messages are generated
16273         with a new property (qos).
16274         added API: GstBaseSink::async_play()
16275         Add vmethod so subclasses can be notified of ASYNC playing
16276         state changes.
16277         Collect timestamp start and stop to report better current
16278         position in EOS/PLAYING/PAUSED/READY/NULL.
16279         Refactor QoS/frame dropping and other measurements.
16280         API: GstBaseSrc::qos
16281         Fixes #326311
16282
16283         * libs/gst/base/gstbasesink.h:
16284         Added Private struct.
16285         API: gst_base_sink_set_qos_enabled()
16286         API: gst_base_sink_is_qos_enabled()
16287
16288 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
16289
16290         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
16291           If compiling against GLib-2.8 or newer, try to read the
16292           registry file using GMappedFile first before falling back
16293           to fopen() + fread() (#332151).
16294
16295 2006-03-22  Wim Taymans  <wim@fluendo.com>
16296
16297         * gst/gstinfo.c: (gst_debug_set_active),
16298         (gst_debug_category_set_threshold):
16299         Disable debugging unless explicitly activated.
16300         Fixes #335480.
16301
16302 2006-03-22  Wim Taymans  <wim@fluendo.com>
16303
16304         * gst/gstelement.c: (gst_element_set_locked_state),
16305         (gst_element_dispose):
16306         Cleanup the error case.
16307
16308         * gst/gstobject.c: (gst_object_dispose):
16309         print a critical when some object was disposed with
16310         a parent, also revive the object since it might
16311         crash the parent.
16312
16313 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
16314
16315         * tools/gst-launch.1.in:
16316           Fix another typo.
16317
16318 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
16319
16320         * configure.ac:
16321         * tests/check/Makefile.am:
16322           disable some tests when we don't have a registry
16323         * tests/check/gst/gstutils.c: (gst_utils_suite):
16324           don't build the part that needs parsing
16325
16326 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
16327
16328         * gst/Makefile.am
16329         * tests/examples/Makefile.am:
16330           fix --disable-parse build
16331
16332 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16333
16334         * tools/gst-feedback.1.in:
16335           Fix typo: s/feeback/feedback/ (#133494).
16336
16337 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16338
16339         * tools/Makefile.am:
16340         * tools/gst-launch.1.in:
16341           Add FILES section and correct entry about GST_REGISTRY_PATH
16342           environment variable (#133495; #133494).
16343
16344 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16345
16346         * tools/Makefile.am:
16347         * tools/gst-md5sum.1.in:
16348         * tools/gst-md5sum.c:
16349           Remove gst-md5sum and man page (the md5sink element
16350           required was removed ages ago)
16351
16352 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16353
16354         * gst/gststructure.c: (gst_structure_id_set_value):
16355           Make sure that string fields in structures/taglists
16356           contain valid UTF-8 - we don't want to pass rubbish to
16357           applications because of a buggy plugin (cp. #334167).
16358
16359 2006-03-21  Edward Hervey  <edward@fluendo.com>
16360
16361         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
16362         (gst_bin_handle_message_func):
16363         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
16364         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
16365         (gst_element_set_bus_func):
16366         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
16367         * gst/gstminiobject.c: (gst_value_set_mini_object),
16368         (gst_value_take_mini_object):
16369         * gst/gstpad.c: (gst_pad_set_pad_template):
16370         * gst/gstpipeline.c: (gst_pipeline_dispose),
16371         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
16372         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
16373         (gst_collect_pads_chain):
16374         * libs/gst/net/gstnettimeprovider.c:
16375         (gst_net_time_provider_set_property):
16376         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
16377         It's in fact all issues with gst_*object_replace().
16378
16379 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16380
16381         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
16382         
16383         * pkgconfig/gstreamer-check-uninstalled.pc.in:
16384         * pkgconfig/gstreamer-check.pc.in:
16385           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
16386
16387 2006-03-21  Edward Hervey  <edward@fluendo.com>
16388
16389         * gst/gstbuffer.h:
16390         * gst/gstevent.h:
16391         * gst/gstmessage.h:
16392         gst_[buffer|event|message]_ref() macros are replaced by a static
16393         inline functions because gcc-4.1 will about if the return value
16394         isn't used.
16395         * tests/check/gst/gstevent.c: (event_probe):
16396         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
16397
16398 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
16399
16400         * gst/gstutils.h:
16401         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
16402         the type' case. (Closes: #335195 for now). In the future, when we
16403         depend on GLib 2.10, we could also intern the type name using
16404         g_intern_static_string()
16405
16406 2006-03-20  Wim Taymans  <wim@fluendo.com>
16407
16408         * gst/gstbin.c: (gst_bin_handle_message_func),
16409         (bin_query_max_init), (bin_query_position_fold),
16410         (bin_query_position_done), (gst_bin_query):
16411         Position query should also take max of all streams.
16412
16413 2006-03-20  Wim Taymans  <wim@fluendo.com>
16414
16415         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
16416         (gst_fake_src_finalize):
16417         Fix leaks in fakesrc.
16418
16419         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
16420         Fix leaks in the testcase.
16421
16422 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
16423
16424         * gst/gst_private.h:
16425           add win32 specific import decoration(__declspec(dllimport)) 
16426           for all extern GstDebugCategory * variables
16427         * win32/common/libgstbase.def:
16428         * win32/common/libgstcontroller.def:
16429         * win32/common/libgstreamer.def:
16430           Add some exports, remove empty lines
16431         * win32/common/libgstdataprotocol.def:
16432         * win32/common/libgstdataprotocol.dsp:
16433         * win32/common/libgstnet.def:
16434         * win32/common/libgstnet.dsp:
16435           new project files and exportation files added
16436         
16437 2006-03-19  Wim Taymans  <wim@fluendo.com>
16438
16439         * tests/check/libs/basesrc.c: (eos_event_counter):
16440         Use proper return value for probe.
16441
16442 2006-03-17  Wim Taymans  <wim@fluendo.com>
16443
16444         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16445         (gst_pad_push):
16446         Don't leak buffers, caps and pads on negotiation errors.
16447
16448 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
16449
16450         * docs/faq/cvs.xml:
16451         * docs/faq/dependencies.xml:
16452         * docs/faq/developing.xml:
16453         * docs/faq/faq.xml:
16454         * docs/faq/general.xml:
16455         * docs/faq/getting.xml:
16456         * docs/faq/legal.xml:
16457         * docs/faq/troubleshooting.xml:
16458         * docs/faq/using.xml:
16459         Faq review and update.
16460
16461 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
16462
16463         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16464         (gst_pad_push):
16465         Don't pound the cpu to pieces by checking get_caps when accept_caps
16466         is called with the same caps as the pad already has.
16467         Use GST_DEBUG_OBJECT when outputting caps change information.
16468
16469 2006-03-15  Wim Taymans  <wim@fluendo.com>
16470
16471         * gst/gstclock.c: (gst_clock_class_init):
16472         Fix docs.
16473
16474 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
16475
16476         * gst/gstbuffer.h:
16477         Documentation fix.
16478
16479         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
16480         (gst_pad_accept_caps), (gst_pad_configure_sink),
16481         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
16482         Make the default acceptcaps behaviour be to check the requested 
16483         caps against the gst_pad_get_caps output. 
16484
16485         Ensure that gst_pad_accept_caps is used to check caps when a pad
16486         doesn't have a setcaps function, so that pads automatically refuse 
16487         caps that they don't allow in their pad template. (Fixes #332986)
16488
16489         When a buffer with attached caps is pushed, ensure that the source 
16490         pad receives those caps even if the element didn't call
16491         gst_pad_set_caps first.
16492
16493 2006-03-15  Wim Taymans  <wim@fluendo.com>
16494
16495         * libs/gst/base/gstadapter.c:
16496         Add some docs.
16497
16498 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
16499
16500         * win32/common/libgstbase.def:
16501         * win32/common/libgstcontroller.def:
16502         * win32/common/libgstreamer.def:
16503           Add a whole bunch of missing functions (#334434).
16504
16505 2006-03-14  Wim Taymans  <wim@fluendo.com>
16506
16507         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
16508         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
16509         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
16510         Better debug info when we receive a segment event.
16511         Reorganize a bit so we can pass the get_times() results around.
16512         Use the segment format when calculating the running time.
16513         Don't do QoS is sync is disabled or we have no clock or the
16514         element does not want us to sync to the clock.
16515         Don't drop buffers if QoS is disabled for now.
16516
16517 2006-03-14  Wim Taymans  <wim@fluendo.com>
16518
16519         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
16520         Marked the stats property as unimplemented so people don't get
16521         wild ideas.
16522         Add debug message when regression goes wrong.
16523         Added some more docs.
16524
16525 2006-03-14  Wim Taymans  <wim@fluendo.com>
16526
16527         * gst/gstsegment.c: (gst_segment_to_stream_time):
16528         Return correct return type in case of errors.
16529
16530 2006-03-14  Wim Taymans  <wim@fluendo.com>
16531
16532         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
16533           Don't segfault on invalid formats.
16534
16535 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
16536
16537         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
16538           Can't use gst_segment_to_running_time() when the segment
16539           is not in GST_TIME_FORMAT (like with filesink, for example).
16540           Stops flac encoding pipelines from spewing critical warnings
16541           at EOS (#331248).
16542           
16543 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
16544
16545         * gst/gstpipeline.c: (gst_pipeline_class_init):
16546           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
16547
16548         * plugins/elements/gsttypefindelement.c:
16549         (gst_type_find_element_handle_event):
16550           Don't try to typefind empty streams.
16551
16552 2006-03-14  Wim Taymans  <wim@fluendo.com>
16553
16554         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
16555         (gst_base_sink_do_qos):
16556         Separate QoS calculation.
16557         Only drop buffers when lateness is bigger than the 
16558         duration of the buffer.
16559
16560 2006-03-13  Wim Taymans  <wim@fluendo.com>
16561
16562         * gst/gstpipeline.c: (gst_pipeline_set_property),
16563         (gst_pipeline_get_property), (do_pipeline_seek),
16564         (gst_pipeline_change_state), (gst_pipeline_set_delay),
16565         (gst_pipeline_get_delay):
16566         Don't deadlock when reading properties.
16567
16568 2006-03-13  Wim Taymans  <wim@fluendo.com>
16569
16570         * libs/gst/base/gstbasetransform.c:
16571         (gst_base_transform_class_init), (gst_base_transform_init),
16572         (gst_base_transform_sink_event),
16573         (gst_base_transform_sink_eventfunc),
16574         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
16575         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
16576         (gst_base_transform_set_property),
16577         (gst_base_transform_get_property),
16578         (gst_base_transform_change_state), (gst_base_transform_update_qos),
16579         (gst_base_transform_set_qos_enabled),
16580         (gst_base_transform_is_qos_enabled):
16581         * libs/gst/base/gstbasetransform.h:
16582         Make basetransform virtual method for src events too.
16583         Handle QOS in basetransform.
16584         API: gst_base_transform_update_qos()
16585         API: gst_base_transform_set_qos_enabled()
16586         API: gst_base_transform_is_qos_enabled()
16587
16588 2006-03-13  Wim Taymans  <wim@fluendo.com>
16589
16590         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16591         (gst_base_sink_do_sync):
16592         Small cleanups.
16593         Use QOS debug category.
16594
16595 2006-03-13  Wim Taymans  <wim@fluendo.com>
16596
16597         * plugins/elements/gstqueue.c:
16598         Very small doc update.
16599
16600 2006-03-13  Wim Taymans  <wim@fluendo.com>
16601
16602         * gst/gst_private.h:
16603         * gst/gstinfo.c: (_gst_debug_init):
16604         Added QOS debug category
16605
16606 2006-03-13  Wim Taymans  <wim@fluendo.com>
16607
16608         * docs/gst/gstreamer-sections.txt:
16609         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
16610         * gst/gstbin.h:
16611         * gst/gstbus.c: (gst_bus_class_init):
16612         * gst/gstbus.h:
16613         * gst/gstclock.c:
16614         * gst/gstelement.c: (gst_element_set_locked_state):
16615         * gst/gstsegment.c:
16616         Documentation updates.
16617
16618         * gst/gstpipeline.c: (gst_pipeline_get_type),
16619         (gst_pipeline_class_init), (gst_pipeline_init),
16620         (gst_pipeline_dispose), (gst_pipeline_set_property),
16621         (gst_pipeline_get_property), (do_pipeline_seek),
16622         (gst_pipeline_send_event), (gst_pipeline_change_state),
16623         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
16624         (gst_pipeline_get_delay):
16625         * gst/gstpipeline.h:
16626         Added methods for setting the delay.
16627         API: gst_pipeline_set_delay()
16628         API: gst_pipeline_get_delay()
16629         Add pipeline debug category
16630         Various cleanups.
16631         Updated docs.
16632         Don't reset stream time when seek failed.
16633
16634 2006-03-13  Wim Taymans  <wim@fluendo.com>
16635
16636         * docs/design/draft-klass.txt:
16637         * docs/design/part-clocks.txt:
16638         * docs/design/part-events.txt:
16639         * docs/design/part-gstbin.txt:
16640         * docs/design/part-gstpipeline.txt:
16641         * docs/design/part-messages.txt:
16642         * docs/design/part-negotiation.txt:
16643         * docs/design/part-overview.txt:
16644         * docs/design/part-preroll.txt:
16645         * docs/design/part-seeking.txt:
16646         * docs/design/part-states.txt:
16647         * docs/design/part-streams.txt:
16648         Documentation updates.
16649
16650 2006-03-12  Julien MOUTTE  <julien@moutte.net>
16651
16652         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
16653         us to leak strings...
16654
16655 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16656
16657         * libs/gst/net/gstnettimeprovider.c:
16658           fix docs
16659         * win32/common/config.h:
16660           update
16661
16662 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
16663
16664         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
16665
16666         * configure.ac:
16667           Don't check for libgnomeui (leftover from old examples
16668           that aren't built or disted any longer) (#334303).
16669           
16670 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
16671
16672         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
16673         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
16674           Emit RESOURCE_NO_SPACE_LEFT error here as well when
16675           there's no space left on the device.
16676
16677 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
16678
16679         * gst/gstclock.h:
16680           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
16681           to cast the input to GstClockTime before comparing with
16682           another GstClockTime value.
16683
16684 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16685
16686         * configure.ac:
16687           back to trunk
16688
16689 === release 0.10.4 ===
16690
16691 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
16692
16693         * configure.ac:
16694           releasing 0.10.4, "Light"
16695
16696 2006-03-10  Michael Smith  <msmith@fluendo.com>
16697
16698         * libs/gst/dataprotocol/dataprotocol.c:
16699           Fix docs for dataprocotol to not get the return types completely
16700           wrong for a few functions.
16701
16702 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16703
16704         * docs/gst/gstreamer-sections.txt:
16705         * gst/gstpipeline.c: (gst_pipeline_class_init),
16706         (gst_pipeline_init), (gst_pipeline_set_property),
16707         (gst_pipeline_get_property), (gst_pipeline_change_state),
16708         (gst_pipeline_set_auto_flush_bus),
16709         (gst_pipeline_get_auto_flush_bus):
16710         * gst/gstpipeline.h:
16711           Add new API: gst_pipeline_set_auto_flush_bus() and
16712           gst_pipeline_get_auto_flush_bus() to disable automatic
16713           flushing of the pipeline's GstBus when going from READY
16714           to NULL state (#332045).
16715
16716 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16717
16718         * docs/gst/gstreamer-sections.txt:
16719         * gst/gsturi.c: (gst_uri_has_protocol):
16720         * gst/gsturi.h:
16721            Add new API: gst_uri_has_protocol() (#333779).
16722
16723 2006-03-09  Wim Taymans  <wim@fluendo.com>
16724
16725         * gst/gstclock.c: (gst_clock_entry_new),
16726         (gst_clock_id_compare_func), (gst_clock_id_wait),
16727         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
16728         (gst_clock_init), (gst_clock_get_internal_time),
16729         (gst_clock_set_master), (do_linear_regression),
16730         (gst_clock_add_observation), (gst_clock_set_property):
16731         * gst/gstclock.h:
16732         Review docs.
16733         Small cleanups.
16734         Fix a possible segfault when the window-size is made smaller.
16735         Calculate jitter before performing the clock wait. Ideally
16736         the clock implementation should calculate jitter but we need
16737         API breakage for that.
16738
16739         * gst/gstsystemclock.c: (gst_system_clock_init):
16740         Docs review.
16741         
16742         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16743         Remove leftover else
16744
16745         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
16746         (gst_systemclock_suite):
16747         Added check to test GST_CLOCK_DIFF.
16748
16749 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16750
16751         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
16752         (gst_type_find_helper_get_range):
16753           If we are provided with the size, we should implement
16754           GstTypeFind::get_length, so that typefind functions who
16755           want to can actually peek at the middle of a file.
16756
16757 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
16758
16759         * docs/manual/advanced-dataaccess.xml:
16760           Add some very very basic error checking.
16761
16762         * docs/pwg/appendix-checklist.xml:
16763           Some updates to the list of things to check when writing an element.
16764
16765 2006-03-08  Wim Taymans  <wim@fluendo.com>
16766
16767         * docs/design/part-element-transform.txt:
16768         Added some docs about the design of tranform elements.
16769
16770         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
16771         (gst_base_src_loop), (gst_base_src_change_state):
16772         Mark buffers with the DISCONT flag.
16773
16774 2006-03-08  Michael Smith  <msmith@fluendo.com>
16775
16776         * gst/gstregistry.h:
16777         * gst/gstregistryxml.c: (gst_registry_save),
16778         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
16779         (gst_registry_xml_save_pad_template),
16780         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
16781         (gst_registry_xml_write_cache):
16782           Rewrite registry-saving to avoid race conditions and check for
16783           failed writes.
16784
16785 2006-03-08  Wim Taymans  <wim@fluendo.com>
16786
16787         * libs/gst/base/gstbasetransform.c:
16788         (gst_base_transform_transform_caps),
16789         (gst_base_transform_transform_size),
16790         (gst_base_transform_prepare_output_buffer),
16791         (gst_base_transform_get_unit_size),
16792         (gst_base_transform_buffer_alloc),
16793         (gst_base_transform_handle_buffer),
16794         (gst_base_transform_change_state):
16795         Cleanups, separate normal flow from errors, add sensible
16796         DEBUG lines.
16797         Don't try to renegotiate when allocating an output buffer.
16798         Also copy DISCONT buffer flag when copying a buffer.
16799         Reset the transform after we finish streaming, not during.
16800
16801 2006-03-08  Wim Taymans  <wim@fluendo.com>
16802
16803         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16804         Use last buffer timestamp in qos message.
16805
16806 2006-03-07  Wim Taymans  <wim@fluendo.com>
16807
16808         Patch by: Christophe Fergeau
16809
16810         * docs/pwg/advanced-tagging.xml:
16811         * docs/pwg/building-pads.xml:
16812           fixes #333416
16813
16814 2006-03-07  Wim Taymans  <wim@fluendo.com>
16815
16816         * docs/libs/gstreamer-libs-sections.txt:
16817         Added basesink new methods.
16818
16819         * gst/gstevent.c:
16820         * gst/gstevent.h:
16821         Docs updates. Flesh out the QoS docs.
16822
16823         * libs/gst/base/gstadapter.c:
16824         Small doc clarification about ownership and flushing.
16825
16826         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
16827         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
16828         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
16829         (gst_base_sink_get_property), (gst_base_sink_do_sync):
16830         * libs/gst/base/gstbasesink.h:
16831         API additions: 
16832         Added new methods to allow subclass to control max-lateness 
16833         and sync.
16834         Generate very basic QoS events based on last sync observation.
16835         Updated docs, fix typo, added some QoS blurb.
16836
16837         * libs/gst/base/gstbasesrc.c:
16838         Remove obsolete _get_state() calls from docs.
16839
16840 2006-03-07  Wim Taymans  <wim@fluendo.com>
16841
16842         * docs/libs/gstreamer-libs-sections.txt:
16843         * libs/gst/base/gstbasetransform.h:
16844         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
16845         Fix docs for GstBaseSrc.
16846
16847 2006-03-07  Wim Taymans  <wim@fluendo.com>
16848
16849         * docs/gst/gstreamer-sections.txt:
16850         * gst/gstbuffer.h:
16851         * gst/gstvalue.c:
16852         * libs/gst/base/gstbasetransform.h:
16853         Small documentation fixes.
16854
16855 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
16856
16857         * gst/gstvalue.c:
16858           Document thread-unsafety of gst_value_register_foo_func()
16859           when used at the same time as gst_value_foo() (#322628).
16860
16861 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
16862
16863         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
16864         (gst_push_src_check_get_range):
16865           Push sources don't support pull mode by default.
16866
16867 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
16868
16869         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
16870         (gst_base_src_init), (gst_base_src_pad_check_get_range),
16871         (gst_base_src_default_check_get_range):
16872         * libs/gst/base/gstbasesrc.h:
16873           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
16874           provide default implementation, and rename
16875           gst_base_src_check_get_range() to
16876           gst_base_src_pad_check_get_range() for clarity.
16877
16878 2006-03-06  Wim Taymans  <wim@fluendo.com>
16879
16880         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
16881         Make property overridable.
16882
16883 2006-03-06  Wim Taymans  <wim@fluendo.com>
16884
16885         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16886         (gst_base_sink_init), (gst_base_sink_set_property),
16887         (gst_base_sink_get_property), (gst_base_sink_do_sync):
16888         * libs/gst/base/gstbasesink.h:
16889         API addition: Make max-lateness a property.
16890
16891 2006-03-06  Wim Taymans  <wim@fluendo.com>
16892
16893         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
16894         (gst_base_sink_do_sync), (gst_base_sink_render_object):
16895         Don't ever draw a frame that is >10ms late.
16896
16897 2006-03-06  Michael Smith  <msmith@fluendo.com>
16898
16899         * gst/gstmessage.c: (_gst_message_copy):
16900           When copying a message, set the parent_refcount of the enclosed
16901           structure to point at the copy, not the original message.
16902
16903 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
16904
16905         Patch by: Christophe Fergeau
16906
16907         * gst/gstutils.h:
16908           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
16909           usable in c++ code (#333417)
16910
16911 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16912
16913         * gst/gstclock.h:
16914           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
16915
16916 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
16917
16918         * libs/gst/base/gstbasetransform.c:
16919         (gst_base_transform_transform_caps):
16920           Make sure caps are writable before passing them to
16921           gst_caps_append().
16922
16923 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
16924
16925         * gst/gsterror.h:
16926           Fix some minor docs errors.
16927
16928 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
16929
16930           Patch by: Ross Burton <ross at burtonini dot com>
16931
16932         * gst/gsterror.c: (_gst_resource_errors_init):
16933         * gst/gsterror.h:
16934           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
16935
16936 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
16937
16938         * gst/gst.c:
16939         Add a check and output a g_warning when GStreamer is built
16940         against GLib 2.6 but running against 2.8 or higher, and vice 
16941         versa. (Closes: #323542)
16942
16943 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
16944
16945         * gst/parse/parse.l:
16946           Commit patch for parse_launch syntax from #331255. Removes 
16947           support for quoted strings and mimetypes when writing filtered 
16948           caps. See the bug report for more details - I'm pretty sure this
16949           obscure feature is not in use by _anyone_ anywhere.
16950
16951           With this simple change, the size of the gstreamer.so here 
16952           drops from 2193KB to 1565KB.
16953
16954 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
16955
16956         * plugins/elements/gsttypefindelement.h:
16957         * plugins/elements/gsttypefindelement.c:
16958         (gst_type_find_element_src_event), (start_typefinding),
16959         (stop_typefinding), (gst_type_find_element_handle_event),
16960         (gst_type_find_element_chain),
16961         (gst_type_find_element_chain_do_typefinding):
16962           Use gst_type_find_helper_for_buffer() for chain-based
16963           typefinding.
16964
16965 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
16966
16967         * plugins/elements/gsttypefindelement.c:
16968         (gst_type_find_element_class_init),
16969         (gst_type_find_element_set_property),
16970         (gst_type_find_element_get_property):
16971           Deprecate "maximum" property (not only was it only taken into
16972           account for typefinding in push-mode anyway, it also was never
16973           actually possible to set it in the first place because the
16974           property was registered with the numeric property ID for the
16975           "minimum" property). Register "maximum" property correctly,
16976           for the sake of future copy'n'pasters. Remove some cruft
16977           from property get/set functions.
16978
16979 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
16980
16981         * plugins/elements/gsttypefindelement.c:
16982         (gst_type_find_element_activate):
16983           Use gst_type_find_helper_get_range() here, so we
16984           can honour the "minimum" property and also emit
16985           the signal with the correct probability of the found caps.
16986
16987 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
16988
16989         * docs/libs/gstreamer-libs-sections.txt:
16990         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
16991         (helper_find_suggest), (gst_type_find_helper_get_range),
16992         (gst_type_find_helper):
16993         * libs/gst/base/gsttypefindhelper.h:
16994           New API: gst_type_find_helper_get_range() (#333042).
16995
16996 2006-03-02  Michael Smith  <msmith@fluendo.com>
16997
16998         * gst/gstregistryxml.c: (load_feature):
16999           Asserting on a failure to read part of the registry is Not Cool.
17000           Just log a warning and return NULL (which is already handled)
17001
17002 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
17003
17004         * win32/common/libgstbase.def:
17005           added export of gst_type_find_helper_for_buffer
17006         * win32/common/libgstbase.def:
17007           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
17008           gst_ghost_pad_get_target
17009
17010 2006-02-28  Wim Taymans  <wim@fluendo.com>
17011
17012         * docs/design/draft-klass.txt:
17013         We use Filter now.
17014         Added Connector to mark elements that are only used to
17015         allow pipeline connections.
17016         Moved Debug to extra feature since most of them are 
17017         functionally something else.
17018
17019 2006-02-28  Wim Taymans  <wim@fluendo.com>
17020
17021         * docs/design/draft-klass.txt:
17022         Some updates and clarifications.
17023
17024 2006-02-28  Wim Taymans  <wim@fluendo.com>
17025
17026         * docs/design/draft-klass.txt:
17027         Proposal for klass field values.
17028
17029         * docs/design/part-streams.txt:
17030         Start of a doc describing stream anatomy.
17031
17032 2006-02-28  Wim Taymans  <wim@fluendo.com>
17033
17034         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
17035         Help the compiler a bit with type registration.
17036         Use existing forward cod path instead of duplicating it when 
17037         handling a message.
17038         
17039         * gst/gstbus.c: (gst_bus_get_type):
17040         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
17041         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
17042         * gst/gstclock.c: (gst_clock_get_type):
17043         * gst/gstelement.c: (gst_element_get_type),
17044         * gst/gstelementfactory.c: (gst_element_factory_get_type):
17045         * gst/gstindexfactory.c: (gst_index_factory_get_type):
17046         * gst/gstminiobject.c: (gst_mini_object_get_type):
17047         * gst/gstpad.c: (gst_pad_get_type):
17048         * gst/gstsegment.c: (gst_segment_get_type):
17049         * gst/gststructure.c: (gst_structure_get_type):
17050         * gst/gstsystemclock.c: (gst_system_clock_get_type):
17051         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
17052         * gst/gstvalue.c:
17053         Help compiler with type registration.
17054
17055         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
17056         Small doc update.
17057
17058 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17059
17060         * plugins/elements/gsttypefindelement.c:
17061         (gst_type_find_element_handle_event):
17062           When we get an EOS event and have not found a type yet
17063           (most likely because we had not yet accumulated
17064           TYPE_FIND_MIN_SIZE of data yet), try to determine the
17065           type given the data we have so far. Fixes typefinding
17066           for very short streams again, most notably quicktime
17067           redirections as used on Apple's trailer site (#331701).
17068
17069 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17070
17071         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
17072         (gst_type_find_helper):
17073           Try typefinding factories with the highest rank first.
17074
17075 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17076
17077         * docs/libs/gstreamer-libs-docs.sgml:
17078         * docs/libs/gstreamer-libs-sections.txt:
17079         * libs/gst/base/gsttypefindhelper.c:
17080           Add section for typefind helper and add documentation
17081           for the old and the new function.
17082
17083 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17084
17085         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
17086         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
17087         (gst_type_find_helper_for_buffer):
17088         * libs/gst/base/gsttypefindhelper.h:
17089           New API: gst_type_find_helper_for_buffer() (#332723).
17090           
17091 2006-02-27  Michael Smith  <msmith@fluendo.com>
17092
17093         Patch by: Loïc Minier
17094
17095         * configure.ac:
17096         * docs/Makefile.am:
17097         * docs/slides/Makefile.am:
17098           prevent CVS directories getting disted.
17099
17100 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17101
17102         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
17103           Use the REFCOUNTING category for caps refcounting.
17104           
17105 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
17106
17107         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
17108           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
17109
17110 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
17111
17112         * plugins/elements/gsttypefindelement.c:
17113         (gst_type_find_element_activate):
17114           Use gst_pad_check_pull_range() before _activate_pull()
17115           to avoid unnecessary open/close (see #331690).
17116
17117 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
17118
17119         * gst/gstutils.c:
17120           Docs enhancement: make it crystal clear what the
17121           gst_pad_add_*_probe() callbacks should look like.
17122
17123 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
17124
17125         * libs/gst/base/gstbasesrc.c:
17126           Document how applications can stop recording from
17127           live sources (see #330996).
17128
17129 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17130
17131         * tests/check/Makefile.am:
17132         * tests/check/libs/basesrc.c: (eos_event_counter),
17133         (basesrc_eos_events_pull), (basesrc_eos_events_push),
17134         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
17135         (gst_basesrc_suite), (main):
17136           ... and add some tests for the base source EOS stuff.
17137
17138 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17139
17140         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
17141           Test case originally showed the problem fixed below,
17142           but was then amended. Add checks back at the place
17143           where they used to be.
17144
17145 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17146
17147         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
17148         (gst_base_src_init), (gst_base_src_loop),
17149         (gst_base_src_activate_push), (gst_base_src_activate_pull),
17150         (gst_base_src_change_state):
17151         * libs/gst/base/gstbasesrc.h:
17152           Don't unconditionally send EOS when going from PAUSED to
17153           READY state, esp. make sure we don't send two EOS events
17154           in some cases (e.g. one when reaching EOS and one when
17155           going from PAUSED to READY). Also, we don't want to send
17156           EOS events when operating in pull mode. However, we do
17157           want to send an EOS event when shutting down a live
17158           source explicitly, for example (fixes #330996).
17159           
17160 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17161
17162         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
17163           Update src->read_position after a seek when not using mmap.
17164           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
17165
17166 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
17167
17168         * gst/Makefile.am:
17169         * gst/gstparse.h:
17170         * gst/gstutils.c:
17171         * gst/gstutils.h:
17172         Make things work with --disable-parse as they do with 
17173         --disable-load-save - the symbols involved disappear, but the
17174         header is still installed and GST_DISABLE_PARSE is included via
17175         gstconfig.h
17176
17177 2006-02-20  Julien MOUTTE  <julien@moutte.net>
17178
17179         * libs/gst/base/gstbasetransform.c:
17180         (gst_base_transform_change_state): Fix a stupid bug. I was 
17181         sure I compiled that.
17182
17183 2006-02-20  Julien MOUTTE  <julien@moutte.net>
17184
17185         * gst/gstpad.c: (gst_pad_set_blocked_async):
17186         * gst/gstutils.c: (gst_pad_add_data_probe),
17187         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
17188         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
17189         (gst_pad_remove_buffer_probe): Make those function act on the
17190         ghostpad target when it's a ghostpad. (Closes #331727)
17191
17192 2006-02-20  Julien MOUTTE  <julien@moutte.net>
17193
17194         * libs/gst/base/gstbasetransform.c:
17195         (gst_base_transform_change_state): Make basetransform reusable.
17196         (Closes #331898)
17197
17198 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
17199
17200         * docs/random/release:
17201         Move the current documentation of how to do a release to the top
17202         of the file.
17203
17204         * gst/gstbin.c: (gst_bin_class_init),
17205         (gst_bin_handle_message_func):
17206         Allow multiple state-recalculation threads. (Closes #328873)
17207
17208 2006-02-19  Julien MOUTTE  <julien@moutte.net>
17209
17210         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
17211         * gst/gstpad.c: (gst_pad_set_event_function),
17212         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
17213         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
17214         2 strings. You can't use the STR_NULL macro on that.
17215
17216 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
17217
17218         * gst/gstpad.c: (gst_pad_set_event_function),
17219         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
17220         (gst_pad_set_getcaps_function)
17221         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
17222           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
17223           So now, we can use --gst-debug-level=5 on Windows
17224         * win32/common/libgstcontroller.def:
17225           Added export of gst_controller_init
17226         * win32/vs6/libgstcontroller.dsp:
17227           Fixed Release post build configuration
17228
17229 2006-02-17  Wim Taymans  <wim@fluendo.com>
17230
17231         * tests/check/gst/gstquery.c: (GST_START_TEST):
17232         Added another check.
17233
17234 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
17235
17236         * plugins/elements/gsttypefindelement.c: (find_peek):
17237           We can do peeks at non-zero offsets, as long as they
17238           fall within the buffer we have.
17239
17240 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
17241
17242         * tests/check/Makefile.am:
17243         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
17244         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
17245         (parse_suite), (main):
17246           Add testsuite for parse launch syntax
17247
17248 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
17249
17250         * plugins/elements/gsttypefindelement.c:
17251         (gst_type_find_element_chain):
17252           When typefinding is unsuccessful in the chain function, don't
17253           error out immediately. Only error out with NO_CAPS_FOUND if
17254           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
17255           otherwise simply wait for more data so we can try typefinding
17256           again with more data later. Also, don't attempt to typefind
17257           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
17258           this should improve typefinding from network sources where the
17259           size of the first buffer can be somewhat random.
17260
17261 2006-02-14  Wim Taymans  <wim@fluendo.com>
17262
17263         * docs/gst/gstreamer-sections.txt:
17264         * gst/gstpadtemplate.c:
17265         * gst/gstpadtemplate.h:
17266         Fix padtemplate docs, fixes #328805.
17267
17268 2006-02-14  Wim Taymans  <wim@fluendo.com>
17269
17270         * tools/gst-launch.c: (main):
17271         NO_PREROLL is not an ERROR so don't send confusing messages
17272         to the user.
17273
17274 2006-02-14  Wim Taymans  <wim@fluendo.com>
17275
17276         Patch by: Torsten Schoenfeld
17277
17278         * gst/gstregistry.c: (gst_registry_get_default),
17279         (_gst_registry_cleanup):
17280         Protect default registry with lock and ref/sink it.
17281         Fixes #324818
17282
17283 2006-02-14  Wim Taymans  <wim@fluendo.com>
17284
17285         * gst/gstbuffer.c:
17286         * gst/gstquery.c: (gst_query_list_add_format),
17287         (gst_query_set_formatsv), (gst_query_parse_formats_length),
17288         (gst_query_parse_formats_nth):
17289         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
17290         Docs fixes.
17291
17292 2006-02-14  Wim Taymans  <wim@fluendo.com>
17293
17294         * docs/gst/gstreamer-sections.txt:
17295         Reworked query docs.
17296
17297         * gst/gstquery.c: (gst_query_new_formats),
17298         (gst_query_list_add_format), (gst_query_set_formats),
17299         (gst_query_set_formatsv), (gst_query_parse_formats_length),
17300         (gst_query_parse_formats_nth):
17301         * gst/gstquery.h:
17302         Flesh out formats query, added some new methods.
17303         Fix part of #324398.
17304
17305         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
17306         Added query creation tests.
17307
17308 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
17309
17310         * gst/gstpad.c: (fixate_value):
17311         Add a default fixation for fraction lists.
17312
17313 2006-02-13  Wim Taymans  <wim@fluendo.com>
17314
17315         * gst/gsttask.c: (gst_task_init), (gst_task_func),
17316         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
17317         (gst_task_join):
17318         * gst/gsttask.h:
17319         Detect and warn for obvious deadlocks. fixes #320340
17320         Fix error case where lock was not released.
17321
17322         * tests/check/Makefile.am:
17323         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
17324         (task_func), (gst_element_suite), (main):
17325         Add task check.
17326
17327 2006-02-13  Wim Taymans  <wim@fluendo.com>
17328
17329         * docs/gst/gstreamer-sections.txt:
17330         * gst/gstbus.c:
17331         Add new functions to docs.
17332
17333 2006-02-13  Wim Taymans  <wim@fluendo.com>
17334
17335         * docs/design/part-TODO.txt:
17336         Updated TODO list, basesrc supports seeking to non-bytes
17337         formats.
17338
17339         * docs/design/part-element-sink.txt:
17340         Update docs.
17341
17342         * gst/gstbin.c: (bin_replace_message),
17343         (gst_bin_handle_message_func):
17344         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
17345         * gst/gstevent.c: (gst_event_finalize):
17346         * gst/gstpad.c: (gst_pad_event_default_dispatch),
17347         (gst_pad_send_event):
17348         Use shiny new _TYPE_NAME macros.
17349
17350         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17351         Move debug statement up.
17352
17353         * gst/gstelement.c: (gst_element_set_locked_state):
17354         Add some debugging.
17355
17356 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
17357
17358         * docs/gst/gstreamer-sections.txt:
17359         * gst/gstmessage.h:
17360         * gst/gstquery.h:
17361           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
17362           macros (#330906). Also, document the already existing
17363           GST_QUERY_TYPE macro.
17364
17365 2006-02-13  Wim Taymans  <wim@fluendo.com>
17366
17367         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
17368         (event_probe), (GST_START_TEST):
17369         Only events up to the pipeline EOS are counted, there are
17370         some more when going to NULL currently which we don't care
17371         about for now.
17372
17373 2006-02-13  Wim Taymans  <wim@fluendo.com>
17374
17375         * gst/gstpad.c: (gst_pad_send_event):
17376         Correctly check flushing and emit probes. fixes #330125
17377
17378 2006-02-10  Andy Wingo  <wingo@pobox.com>
17379
17380         * gst/gstbus.c (gst_bus_class_init): Declare our private data
17381         structure.
17382         (gst_bus_init): Cache the location of the private data in the
17383         instance structure.
17384         (gst_bus_enable_sync_message_emission) 
17385         (gst_bus_disable_sync_message_emission): Implement new public
17386         functions.
17387         (gst_bus_post): Emit the sync-message signal if the user asked for
17388         it. Fixes #330684.
17389
17390         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
17391         location of the bus-private structure.
17392         (gst_bus_enable_sync_message_emission)
17393         (gst_bus_disable_sync_message_emission): API addition
17394
17395 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
17396
17397         Patch by: Vincent Torri
17398
17399         * docs/pwg/building-boiler.xml:
17400         PWG patch from #326800
17401
17402 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
17403
17404         * configure.ac:
17405         * docs/Makefile.am:
17406         * docs/design/Makefile.am:
17407           Dist design docs.
17408
17409 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
17410
17411         * configure.ac:
17412           back to CVS
17413
17414 === release 0.10.3 ===
17415
17416 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
17417
17418         * configure.ac:
17419           releasing 0.10.3, "Like a virgin"
17420
17421 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
17422
17423         * configure.ac:
17424           2nd prerelease of 0.10.3
17425           Bump libtool versioning.
17426
17427 2006-02-07  Andy Wingo  <wingo@pobox.com>
17428
17429         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
17430         update last_stop if we're in TIME format and the timestamp is
17431         valid.
17432
17433         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
17434         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
17435         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
17436         If we get a new newsegment with a different format, adapt
17437         accordingly.
17438
17439         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
17440         of 0. Not a problem, really.
17441
17442         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
17443         warn if sync=true.
17444
17445 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
17446
17447         * configure.ac:
17448           Prelease of 0.10.3
17449
17450 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
17451
17452         * win32/vs7:
17453           project files updated to the default vs7 configuration
17454         * win32/common/libgstbase.def:
17455         * win32/common/libgstreamer.def:
17456           added new symbols,
17457           removed empty lines,
17458           sorted all exported symbols alphabetically
17459         * win32/common/dirent.c:
17460         * win32/common/dirent.h:
17461         * win32/common/gchar.h:
17462           use windows line end.
17463           
17464 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
17465
17466         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
17467           Send EOS event when stopping.
17468
17469 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
17470
17471         * docs/README:
17472           Tell folks what to do if the plugin-foobar.xml file
17473           hasn't been generated for a newly-added plugin.
17474
17475 2006-02-05  Julien MOUTTE  <julien@moutte.net>
17476
17477         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
17478         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
17479         (gst_collect_pads_start), (gst_collect_pads_stop),
17480         (gst_collect_pads_event): Collectpads now holds a reference
17481         to the GstPad that was added. Indeed we don't want to look
17482         at pads that might just go away with no warning...
17483
17484 2006-02-05  Julien MOUTTE  <julien@moutte.net>
17485
17486         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
17487         (gst_collect_pads_start), (gst_collect_pads_stop),
17488         (gst_collect_pads_event), (gst_collect_pads_chain):
17489         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
17490         Mark Nauwelaerts's patch on bug #328491.
17491
17492 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
17493
17494         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
17495         (gst_utils_suite):
17496           Add some simple tests for gst_parse_bin_from_description() and
17497           gst_bin_find_unconnected_pad() (#329069).
17498
17499 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
17500
17501         * tools/gst-launch.c: (event_loop), (main):
17502           Catch errors during preroll (#320084).
17503
17504 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
17505
17506         * plugins/elements/gsttypefindelement.c:
17507         (gst_type_find_element_activate):
17508           Post TYPE_NOT_FOUND error message when typefinding
17509           is unsuccessful in the activate function as well.
17510
17511 2006-02-02  Wim Taymans  <wim@fluendo.com>
17512
17513         * docs/design/part-element-sink.txt:
17514         Updated doc.
17515
17516 2006-02-02  Wim Taymans  <wim@fluendo.com>
17517
17518         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
17519         (gst_base_sink_render_object),
17520         (gst_base_sink_queue_object_unlocked):
17521         Only keep track of prerollable items when we are 
17522         prerolling.
17523         Before rendering after preroll, always check if we
17524         have queued items.
17525         Added some more debugging.
17526
17527 2006-02-02  Wim Taymans  <wim@fluendo.com>
17528
17529         * gst/gstelement.c: (gst_element_continue_state),
17530         (gst_element_set_state_func), (gst_element_change_state):
17531         Fixed #326576, been running this for quite some time with
17532         no regressions at all.
17533
17534 2006-02-02  Wim Taymans  <wim@fluendo.com>
17535
17536         * common/gst.supp:
17537         Added more suppressions
17538
17539 2006-02-02  Wim Taymans  <wim@fluendo.com>
17540
17541         * docs/design/part-element-sink.txt:
17542         Updated document.
17543
17544         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17545         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
17546         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
17547         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
17548         (gst_base_sink_do_sync), (gst_base_sink_render_object),
17549         (gst_base_sink_preroll_object),
17550         (gst_base_sink_queue_object_unlocked),
17551         (gst_base_sink_queue_object), (gst_base_sink_event),
17552         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
17553         (gst_base_sink_loop), (gst_base_sink_activate_pull),
17554         (gst_base_sink_get_position), (gst_base_sink_change_state):
17555         * libs/gst/base/gstbasesink.h:
17556         Totally refactored matching the design doc.
17557         Use two segments, one to clip incomming buffers and another to
17558         perform sync.
17559         Handle queueing correctly, bypass the queue when playing.
17560         Make EOS cancelable.
17561         Handle errors correctly when operating in pull based mode.
17562
17563         * tests/check/elements/fakesink.c: (GST_START_TEST),
17564         (fakesink_suite):
17565         Added new check for sinks.
17566
17567 2006-02-02  Wim Taymans  <wim@fluendo.com>
17568
17569         * gst/gstsegment.c: (gst_segment_clip):
17570         No reason to refuse to clip when start == -1
17571
17572 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
17573
17574         * docs/README:
17575         * docs/manual/intro-basics.xml:
17576         * docs/manual/intro-preface.xml:
17577         * docs/manual/manual.xml:
17578         * docs/pwg/advanced-dparams.xml:
17579         * docs/pwg/intro-basics.xml:
17580         * docs/pwg/intro-preface.xml:
17581         * docs/pwg/pwg.xml:
17582           describe dparams (controller) for plugins
17583           unify docs a little more
17584
17585 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
17586
17587         * docs/gst/gstreamer-sections.txt:
17588         * gst/gstutils.c: (element_find_unconnected_pad),
17589         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
17590         * gst/gstutils.h:
17591           Add new API: gst_parse_bin_from_description() and
17592           gst_bin_find_unconnected_pad() (#329069).
17593
17594 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
17595
17596         * docs/manual/README:
17597           uncover a nasty detail of the docs build
17598
17599 2006-01-31  Wim Taymans  <wim@fluendo.com>
17600
17601         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
17602         Don't cache duration messages if we're not going to use or
17603         free them.
17604
17605 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
17606
17607         * docs/manual/advanced-dparams.xml:
17608         * docs/pwg/advanced-dparams.xml:
17609           more dparam docs
17610         * gst/gstindex.c:
17611           fix docs
17612         * libs/gst/controller/lib.c: (gst_controller_init):
17613           init just once
17614
17615 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
17616
17617         * gst/gstelement.c: (gst_element_message_full):
17618           also show file/line/func if no additional debug was given
17619
17620 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
17621         
17622         * win32/vs7/grammar.vcproj:
17623           activate copy of autogenerated files for Release mode
17624
17625 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
17626         
17627         * win32/common/libgstreamer.def:
17628           export gst_value_compare
17629
17630 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
17631
17632         * plugins/elements/Makefile.am:
17633         * plugins/elements/gstelements.c:
17634         * plugins/elements/gstfdsink.c: (_do_init),
17635         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
17636         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
17637         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
17638         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
17639         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
17640         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
17641         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
17642         * plugins/elements/gstfdsink.h:
17643         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
17644
17645 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
17646
17647         * docs/manual/advanced-dparams.xml:
17648           describe controller
17649         * docs/manual/advanced-position.xml:
17650         * docs/manual/basics-init.xml:
17651         * docs/manual/manual.xml:
17652         * docs/manual/titlepage.xml:
17653         * docs/pwg/pwg.xml:
17654         * docs/pwg/titlepage.xml:
17655           cleanup xml (more to come)
17656         * libs/gst/controller/gstcontroller.c:
17657           fix typo
17658
17659 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
17660         
17661         * win32/vs6/grammar.dsp:
17662           add autogen of gstmarshal.c,h for Release mode
17663                 
17664 2006-01-30  Wim Taymans  <wim@fluendo.com>
17665
17666         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17667         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
17668         (gst_base_sink_handle_object), (gst_base_sink_event),
17669         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
17670         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
17671         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
17672         (gst_base_sink_deactivate), (gst_base_sink_activate),
17673         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
17674         (gst_base_sink_query), (gst_base_sink_change_state):
17675         Basesink cleanups, remove some old code.
17676         Handle the case where a subclass can preroll in the render
17677         method (mostly audiosinks).
17678         Handle more events.
17679         Remove some locks around variables that are now protected
17680         with the PREROLL_LOCK (clock_id, flushing, ..).
17681         Optimize position query some more, do correct locking.
17682         Remove old code to push queue in state change, this is not
17683         needed anymore since preroll blocks on all prerollable items 
17684         now.
17685         Almost implemented as described in design doc.
17686
17687 2006-01-30  Wim Taymans  <wim@fluendo.com>
17688
17689         * tests/check/gst/gstbin.c: (GST_START_TEST):
17690         Wait for refcount to settle down before checking.
17691
17692 2006-01-30  Wim Taymans  <wim@fluendo.com>
17693
17694         * docs/design/part-element-sink.txt:
17695         Pseudo code overview of desired sink behaviour regarding
17696         preroll.
17697
17698 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17699         * win32/vs6/grammar.dsp:
17700           fix some bugs in Release mode for autogenerated files
17701                 
17702 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17703         * win32/common/libgstbase.def:
17704         * win32/common/libgstreamer.def:
17705           export some new symbols: gst_base_src_set_format,
17706           gst_iterator_next, gst_structure_set_valist
17707
17708 2006-01-29  Julien MOUTTE  <julien@moutte.net>
17709
17710         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
17711         Set pad functions unconditionally. Fixes #329105.
17712
17713 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17714         * win32/vs8:
17715           add vs8 project files created by Sergey Scobich
17716
17717 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
17718
17719         * gst/gstutils.c: (gst_element_unlink_pads):
17720         Don't leak pad references.
17721
17722         * tests/check/elements/fakesink.c: (GST_START_TEST):
17723         * tests/check/generic/sinks.c: (GST_START_TEST):
17724         * tests/check/generic/states.c: (GST_START_TEST):
17725         * tests/check/gst/gstbin.c: (GST_START_TEST):
17726         * tests/check/gst/gstcaps.c: (GST_START_TEST):
17727         * tests/check/gst/gstelement.c: (GST_START_TEST):
17728         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
17729         * tests/check/gst/gstiterator.c: (GST_START_TEST):
17730         * tests/check/gst/gstvalue.c: (GST_START_TEST):
17731         Fix a bunch of leaks. Make generic/sinks.c
17732         use a bit less cpu by slowing the buffer rate
17733         between fakesrc and fakesink.
17734         
17735 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
17736         * gst/gstcaps.c:
17737         * gst/gstelement.c: (gst_element_send_event):
17738         * gst/gstevent.c:
17739         * gst/gstinfo.c:
17740         * gst/gstiterator.c:
17741         * gst/gstiterator.h:
17742         * gst/gstpad.c: (gst_pad_send_event):
17743         * gst/gststructure.c:
17744         * gst/gsturi.c:
17745         * gst/gstutils.c:
17746         * gst/gstvalue.c:
17747         * libs/gst/base/gstadapter.c:
17748           doc fixes, to link to function, just write gst_cool_function(), don't
17749           prefix with '#'
17750
17751 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
17752
17753         * plugins/elements/gsttee.c: (gst_tee_do_push),
17754         (gst_tee_handle_buffer):
17755         Always prefer an actual return value from a src
17756         pad in place of NOT_LINKED. This means we return
17757         WRONG_STATE when all src pads are WRONG_STATE
17758         instead of NOT_LINKED.
17759
17760         Lock when replacing the last message to prevent
17761         racing with the get_property method.
17762
17763         Add debug output
17764
17765 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
17766
17767         * tests/check/Makefile.am:
17768         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
17769         (main):
17770         Add a very simple check that should have caught the memleak I fixed
17771         last night (if not for the slice allocator hiding it)
17772
17773 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
17774
17775         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
17776         (gst_bin_remove_func), (gst_bin_handle_message_func),
17777         (bin_query_duration_fold), (bin_query_generic_fold):
17778         Clean up references to the clock provider when disposed or when
17779         handling a clock-lost message from it.
17780
17781         Unref sinks when performing a query via gst_iterator_fold, as the
17782         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
17783
17784         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
17785         (gst_clock_set_master):
17786         Drop our reference to the master clock, if any, when we are disposed.
17787
17788         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
17789         Chain up in dispose. 
17790
17791 2006-01-26  Wim Taymans  <wim@fluendo.com>
17792
17793         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17794         Add some debugging.
17795
17796 2006-01-26  Julien MOUTTE  <julien@moutte.net>
17797
17798         * plugins/elements/gsttee.c: (gst_tee_do_push),
17799         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
17800         handles pad being NOT_LINKED or in WRONG_STATE.
17801
17802 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
17803
17804         * win32/MANIFEST:
17805           more updating
17806
17807 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
17808
17809         * win32/MANIFEST:
17810           remove obsolete entry
17811
17812 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
17813
17814         * docs/gst/gstreamer-sections.txt:
17815         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
17816         (gst_bin_iterate_sources), (gst_bin_send_event):
17817         * gst/gstbin.h:
17818         * gst/gstelement.c: (gst_element_send_event):
17819         * gst/gstevent.c:
17820         * gst/gstpad.c: (gst_pad_send_event):
17821           added code for downstream events, reviewed docs in gstevent.c
17822
17823 2006-01-25  Julien MOUTTE  <julien@moutte.net>
17824
17825         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
17826         We only query position using the clock in the playing state.
17827         Query peer in the other cases.
17828         * win32/common/config.h: Updates.
17829
17830 2006-01-24  Wim Taymans  <wim@fluendo.com>
17831
17832         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
17833         A clock entry that is scheduled for the exact time of the
17834         clock is still in time.
17835
17836         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17837         (gst_base_sink_do_sync):
17838         Add some more debug info.
17839
17840 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
17841
17842         * win32/vs7:
17843           Add new vs7 project files and solution.
17844
17845 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
17846
17847         * win32/vs7:
17848           all files removed as they were out-dated.
17849
17850 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17851
17852         * docs/random/release:
17853           update notes
17854         * gst/gstbin.c: (gst_bin_init):
17855         * gst/gstbus.c: (gst_bus_new):
17856         * gst/gstbus.h:
17857         * gst/gstpipeline.c: (gst_pipeline_init):
17858           use gst_bus_new(), improve logging, fix docs
17859         * win32/common/config.h:
17860           update for cvs build
17861
17862 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17863
17864         * autogen.sh:
17865           up required version of automake to 1.7
17866
17867 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
17868
17869         * win32/common/libgstreamer.def:
17870           export gst_buffer_is_metadata_writable
17871
17872 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
17873
17874         * docs/gst/gstreamer-sections.txt:
17875         * gst/gstevent.h:
17876           Add gst_event_replace() (#327001)
17877
17878 2006-01-20  Wim Taymans  <wim@fluendo.com>
17879
17880         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
17881         Make it actually compile too..
17882
17883 2006-01-20  Wim Taymans  <wim@fluendo.com>
17884
17885         * gst/gstcaps.c:
17886         Clarify behaviour of _is_equal() when passing NULL parameters.
17887
17888         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
17889         (gst_pad_set_caps):
17890         Cleanups. Don't unref NULL caps.
17891         When setting the same caps, protect caps of the pad with
17892         proper lock.
17893         Use full functionality of _is_equal() when comparing caps.
17894
17895 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
17896
17897         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
17898         Don't loop infinitely if there are no buffers to present. Partially
17899         fixes #327197, but collectpads is just broken for reusing elements
17900         to do multiple encodes atm.
17901
17902 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
17903
17904         * tools/gst-inspect.c: (print_element_features):
17905         * tools/gst-xmlinspect.c: (main):
17906         URL_HANDLER is not a plugin feature we can search for in
17907         the registry.
17908
17909 2006-01-19  Edward Hervey  <edward@fluendo.com>
17910
17911         * gst/gstelement.c: (gst_element_pads_activate): 
17912         When activating, do src pads first, then sink pads.
17913         When de-activating, do sink pads first, then src pads.
17914
17915 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17916
17917         * docs/gst/gstreamer-sections.txt:
17918         Add gst_index_add_associationv to the docs
17919
17920 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17921
17922         * gst/gstevent.c:
17923           Fix docs typo
17924
17925         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
17926         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
17927           Do some refactoring. Doesn't actually change functionality,
17928           but makes landing the DRAIN event easier later.
17929
17930 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
17931
17932         * docs/pwg/advanced-scheduling.xml:
17933           Update from 0.9.x to 0.10 API and make example a bit
17934           clearer.
17935
17936 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17937
17938         * docs/gst/gstreamer-sections.txt:
17939         Add gst_buffer_(is|make)_metadata_writable methods.
17940
17941 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17942
17943         * docs/design/part-sparsestreams.txt:
17944         Update sparse streams doc, hopefully for greater clarity
17945
17946 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
17947
17948         * docs/design/part-events.txt:
17949         Remove mention of FILLER events.
17950         Add DRAIN event.
17951
17952         * docs/design/part-sparsestreams.txt:
17953         Write some things about using NEWSEGMENT to keep sparse streams
17954         flowing.
17955
17956 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
17957
17958         * gst/gstbin.c: (gst_bin_dispose):
17959           Guard gst_object_unref call against a NULL object (dispose
17960           can theoretically be called multiple times).
17961           
17962 2006-01-18  Wim Taymans  <wim@fluendo.com>
17963
17964         * gst/gstbin.c: (gst_bin_element_set_state):
17965         * gst/gstclock.c: (gst_clock_id_wait):
17966         Added some more debug info.
17967
17968         * libs/gst/base/gstadapter.c:
17969         Added more docs.
17970
17971         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17972         (gst_base_sink_do_sync), (gst_base_sink_chain):
17973         Added some comments.
17974
17975 2006-01-18  Wim Taymans  <wim@fluendo.com>
17976
17977         * tests/check/Makefile.am:
17978         * tests/check/elements/fakesink.c: (chain_async_buffer),
17979         (chain_async), (chain_async_return), (GST_START_TEST),
17980         (fakesink_suite), (main):
17981         Added fakesink test that checks prerolling and clipping
17982         behaviour.
17983
17984         * tests/check/gst/gstutils.c: (GST_START_TEST):
17985         Make check run faster so that buildbots don't timeout.
17986
17987 2006-01-18  Wim Taymans  <wim@fluendo.com>
17988
17989         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17990         (gst_base_sink_do_sync):
17991         Some cleanups.
17992         When the sink finishes blocking on the preroll buffer, it can
17993         immediatly render it instead of rendering when the next buffer
17994         arrives.
17995
17996 2006-01-18  Wim Taymans  <wim@fluendo.com>
17997
17998         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
17999         (gst_base_sink_get_property), (gst_base_sink_do_sync),
18000         (gst_base_sink_chain):
18001         Small cleanups.
18002         GST_ELEMENT_CLOCK and sync are protected with LOCK.
18003         Don't store _last_stop if the buffer is dropped.
18004
18005 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
18006
18007         * plugins/elements/gsttypefindelement.c:
18008         (gst_type_find_element_class_init):
18009           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
18010           object method handler that sets the caps on the pad and we want
18011           that to happen before we emit the signal (fixes e.g. feeding a
18012           plain text file to decodebin).
18013
18014 2006-01-18  Christian Schaller  <Christian@fluendo.com>
18015
18016         * gst/gstplugin.c: Add MPL and Proprietary as license options
18017
18018 2006-01-18  Andy Wingo  <wingo@pobox.com>
18019
18020         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
18021         symbol was exported before, it appears this was just an oversight.
18022         Fixes #168703.
18023         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
18024
18025         * gst/gstindex.c (gst_index_add_associationv): Changed int in
18026         prototype to gint. OK since this prototype was not in the header.
18027
18028 2006-01-17  Andy Wingo  <wingo@pobox.com>
18029
18030         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
18031         registry while we remove plugins.
18032
18033         * tools/gst-inspect.c (print_element_info): Don't unref the
18034         factory arg, that should be the responsibility of whatever code
18035         received the ref. Fixes a double-free when called from
18036         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
18037         (main): Unref the factory if we have one.
18038         (print_element_list): No change -- relies on the
18039         plugin_feature_list_free to free the list of features.
18040
18041 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
18042
18043         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
18044         (gst_buffer_make_metadata_writable):
18045         * gst/gstbuffer.h:
18046         * libs/gst/base/gstbasetransform.c:
18047         (gst_base_transform_prepare_output_buf):
18048         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18049         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
18050           Replace gst_buffer_(make|is)_metadata_writable patch now
18051           that the release is out.
18052
18053 2006-01-17  Andy Wingo  <wingo@pobox.com>
18054
18055         * gst/gstregistry.c: Reflow design comment. Update so as to speak
18056         in the present tense without reference to versions.
18057
18058         * gst/gstregistry.c (gst_registry_add_plugin)
18059         (gst_registry_remove_plugin, gst_registry_remove_feature)
18060         (gst_registry_find_feature, gst_registry_get_feature_list)
18061         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
18062         (gst_registry_lookup, gst_registry_scan_path)
18063         (_gst_registry_remove_cache_plugins)
18064         (gst_registry_get_feature_list_by_plugin): Add argument
18065         validation.
18066
18067 === release 0.10.2 ===
18068
18069 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
18070
18071         * configure.ac:
18072           releasing 0.10.2, "If man is five"
18073
18074 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
18075
18076         * gst/gstbuffer.c:
18077         * gst/gstbuffer.h:
18078         * libs/gst/base/gstbasetransform.c:
18079         (gst_base_transform_prepare_output_buf):
18080         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18081         * tests/check/gst/gstbuffer.c: (gst_test_suite):
18082           Back out patch until after the release.
18083
18084 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
18085
18086         * gst/gstminiobject.c:
18087           Spelling fix in docs.
18088         * ChangeLog - remove conflict indicator
18089
18090 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
18091
18092         Reviewed By: Andy Wingo
18093
18094         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
18095         (gst_buffer_make_metadata_writable):
18096         * gst/gstbuffer.h:
18097           Add gst_buffer_(is|make)_metadata_writable as analogues of
18098           gst_buffer_(is|make)_writable.
18099
18100         * libs/gst/base/gstbasetransform.c:
18101         (gst_base_transform_prepare_output_buf):
18102         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18103           Use name gst_buffer_(is|make)_metadata_writable functions.
18104
18105         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
18106           Test gst_buffer_(is|make)_metadata_writable
18107         
18108           (Closes: #324162)
18109
18110 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
18111
18112         * docs/manual/Makefile.am:
18113           don't do parallel make
18114         * configure.ac:
18115           AC_SUBST HOST_CPU
18116         * win32/common/config.h.in:
18117           add generations for HOST_CPU and GST_MAJORMINOR
18118         * win32/common/config.h:
18119           commit generated result
18120
18121 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
18122
18123         * docs/manual/appendix-integration.xml:
18124           Update GNOME integration section to use gst_init_get_option_group()
18125           instead of the old popt stuff (#322911). Also, GNOME applications
18126           should  now use gconf*sink and gconf*src instead of the old gconf
18127           helper lib we had.
18128
18129 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
18130
18131
18132         * docs/gst/gstreamer-docs.sgml:
18133         * docs/gst/gstreamer-sections.txt:
18134         * docs/libs/gstreamer-libs-sections.txt:
18135           add new API entries to the docs
18136         * libs/gst/controller/Makefile.am:
18137         * libs/gst/controller/gstcontroller.c:
18138         * libs/gst/controller/gstcontroller.h:
18139         * libs/gst/controller/gstcontrollerprivate.h:
18140         * libs/gst/controller/gsthelper.c:
18141         * libs/gst/controller/gstinterpolation.c:
18142           move private structs to private header
18143         * po/README:
18144           gstreamer-0.7 -> gstreamer-0.10
18145         * tests/check/libs/struct_i386.h:
18146           remove private structs
18147
18148 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
18149
18150         * plugins/indexers/Makefile.am:
18151           Fixes as part of #317048
18152
18153 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
18154
18155         * plugins/indexers/Makefile.am:
18156           fix #316086 - compilation when mmap is missing
18157
18158 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
18159
18160         * libs/gst/base/gstbasesink.c:
18161           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
18162           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
18163         * win32/common/config.h:
18164           added some defines GST_MAJORMINOR and HOST_CPU
18165         * win32/common/libgstbase.def:
18166         * win32/common/libgstreamer.def:
18167           added some exported functions.
18168
18169 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
18170
18171         * libs/gst/controller/gstcontroller.c:
18172         (gst_controlled_property_set_interpolation_mode),
18173         (gst_controlled_property_new):
18174         * libs/gst/controller/gstcontroller.h:
18175         * libs/gst/controller/gstinterpolation.c:
18176         (interpolate_none_get_string_value_array):
18177           make G_TYPE_STRING controlable
18178
18179 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
18180
18181         * tools/README:
18182         * tools/gst-feedback.1.in:
18183         * tools/gst-inspect.1.in:
18184         * tools/gst-launch.1.in:
18185         * tools/gst-md5sum.1.in:
18186         * tools/gst-typefind.1.in:
18187         * tools/gst-xmlinspect.1.in:
18188         * tools/gst-xmllaunch.1.in:
18189           cleanup man-pages, remove reference to gst-register, document env-vars
18190
18191 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
18192
18193         * gst/gstbuffer.c: (gst_buffer_span):
18194           gst_buffer_span should copy the timestamp of the first buffer
18195           if they were both originally overlapping subbuffers of the 
18196           same parent, using the same logic as the 'slow copy' case.
18197
18198 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
18199
18200         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
18201           Need to awaken ALL the pads when we pop a buffer, otherwise
18202           collectpads only works when there is 2 input streams.
18203
18204 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
18205
18206         * docs/random/ensonic/media-device-daemon.txt:
18207           more ideas (dbus)
18208         * gst/gstbuffer.c:
18209           fix doc example, add clarification
18210         * tools/gst-launch.1.in:
18211           add initial info about GST_PLUGIN_PATH, needs more work
18212
18213 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
18214
18215         * docs/manual/basics-bins.xml:
18216         * docs/manual/basics-elements.xml:
18217         * docs/manual/intro-basics.xml:
18218           Some more minor docs additions and updates.
18219
18220 2006-01-11  Wim Taymans  <wim@fluendo.com>
18221
18222         * docs/manual/basics-bins.xml:
18223         * docs/manual/basics-elements.xml:
18224         Some small fixes as pointed out by Ser-ver on IRC.
18225
18226 2006-01-10  Edward Hervey  <edward@fluendo.com>
18227
18228         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
18229         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
18230         the single-segment mode.
18231
18232 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
18233
18234         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
18235
18236         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
18237         (gst_base_src_perform_seek), (gst_base_src_send_event),
18238         (gst_base_src_set_property), (gst_base_src_get_property),
18239         (gst_base_src_loop), (gst_base_src_start),
18240         (gst_base_src_activate_push):
18241         * libs/gst/base/gstbasesrc.h:
18242           Name (private) union; makes Sun's Forte compiler happy (#324900).
18243
18244 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
18245
18246         * README:
18247           gst-register is gone.
18248
18249 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
18250
18251         * gst/gstvalue.c: (_gst_value_initialize):
18252           make the G_TYPE_DATE instantiation work if debug is disabled
18253
18254 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
18255
18256         * gst/gstmessage.c: (gst_message_parse_tag),
18257         (gst_message_parse_error), (gst_message_parse_warning):
18258           Don't crash when return location for error/warning debug
18259           string is NULL; add fact that return locations can be
18260           NULL to docs where appropriate.
18261
18262 2006-01-05  Wim Taymans  <wim@fluendo.com>
18263
18264         * gst/gstplugin.c: (gst_plugin_load_file):
18265         Replace strdup by g_strdup.
18266
18267 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18268
18269         * docs/pwg/advanced-types.xml:
18270           fix doc borkage
18271
18272 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18273
18274         submitted by: Abel Cheung
18275
18276         * po/LINGUAS:
18277         * po/zh_TW.po:
18278           Added Chinese (traditional) translation
18279
18280 2006-01-04  Wim Taymans  <wim@fluendo.com>
18281
18282         * docs/manual/basics-pads.xml:
18283         * docs/plugins/Makefile.am:
18284         * docs/plugins/gstreamer-plugins-docs.sgml:
18285         * docs/plugins/gstreamer-plugins-sections.txt:
18286         * docs/pwg/advanced-clock.xml:
18287         * docs/pwg/advanced-scheduling.xml:
18288         * docs/pwg/advanced-types.xml:
18289         * plugins/elements/gstfdsink.c:
18290         * plugins/elements/gstfdsrc.c:
18291         * plugins/elements/gstfdsrc.h:
18292         * plugins/elements/gstidentity.c: (gst_identity_class_init):
18293         * plugins/elements/gstidentity.h:
18294         * plugins/elements/gstqueue.h:
18295         * plugins/elements/gsttee.c:
18296         * plugins/elements/gsttee.h:
18297         * plugins/elements/gsttypefindelement.c:
18298         (gst_type_find_element_class_init):
18299         * plugins/elements/gsttypefindelement.h:
18300         Small updates to various docs.
18301         Added core plugins to docs.
18302
18303 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18304
18305         * common/gst.supp:
18306           add a suppression for liboil's uninitialized variable
18307
18308 2006-01-02  James Livingston  <jrl at ids dot org dot au>
18309
18310         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
18311
18312         * gst/gstutils.h:
18313           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
18314           macro, so that gcc doesn't complain if the -Wmissing-prototypes
18315           compiler switch is being used (#325429).
18316
18317 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
18318
18319         * gst/gstbin.c: (gst_bin_query):
18320           Disable duration query caching in bins until it gets
18321           fixed (see #324807).
18322
18323 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
18324
18325         * tools/gst-inspect.c: (print_element_properties_info):
18326           Handle properties of POINTER and BOXED type.
18327
18328 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
18329
18330         * gst/gst.c: (init_post):
18331           Init tags stuff and some other things before loading
18332           any static plugins (there may be other static plugins
18333           than just the GStreamer ones, and they may want to
18334           register their own tags or formats or whatever, and
18335           preferably without segfaulting).
18336
18337         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
18338           Print at least a warning in the debug logs if we drop a
18339           query just because we don't know how to adjust the value
18340           in the particular format.
18341
18342 2005-12-24  David Schleef  <ds@schleef.org>
18343
18344         * tools/gstreamer-completion:
18345           Replacement for gst-complete written in sh and sed.  Only
18346           completes names of features, but that's 90% of what I want
18347           it for.  Properties are not available in registry.xml.  (Maybe
18348           they should be...)
18349
18350 === release 0.10.1 ===
18351
18352 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
18353
18354         * configure.ac:
18355           releasing 0.10.1, "Nollaig chridheil"
18356
18357 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
18358
18359         * docs/faq/cvs.xml:
18360           Add missing quote, should be make ERROR_CFLAGS="".
18361
18362 2005-12-20  Wim Taymans  <wim@fluendo.com>
18363
18364         * docs/design/part-trickmodes.txt:
18365         More documentation on trickmodes.
18366
18367 2005-12-20  Edward Hervey  <edward@fluendo.com>
18368
18369         * gst/gstcaps.c: (gst_static_caps_get_type):
18370         * gst/gstcaps.h:
18371           API addition: GST_TYPE_STATIC_CAPS
18372         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
18373         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
18374         * gst/gstpadtemplate.h:
18375           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
18376         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
18377         bindings.
18378
18379 2005-12-18  Wim Taymans  <wim@fluendo.com>
18380
18381         * libs/gst/base/gstadapter.c:
18382         * libs/gst/base/gstadapter.h:
18383         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
18384         (gst_base_sink_get_position):
18385         * libs/gst/base/gstbasesink.h:
18386         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18387         (gst_base_src_default_query), (gst_base_src_default_do_seek),
18388         (gst_base_src_do_seek), (gst_base_src_perform_seek),
18389         (gst_base_src_send_event), (gst_base_src_update_length),
18390         (gst_base_src_get_range), (gst_base_src_loop),
18391         (gst_base_src_start):
18392         * libs/gst/base/gstbasesrc.h:
18393         * libs/gst/base/gstbasetransform.h:
18394         * libs/gst/base/gstcollectpads.h:
18395         * libs/gst/base/gstpushsrc.c:
18396         * libs/gst/base/gstpushsrc.h:
18397         * libs/gst/dataprotocol/dataprotocol.c:
18398         * libs/gst/dataprotocol/dataprotocol.h:
18399         * libs/gst/net/gstnetclientclock.h:
18400         * libs/gst/net/gstnettimeprovider.h:
18401         Documentation updates.
18402
18403 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
18404
18405         * docs/manual/basics-helloworld.xml:
18406           Remove superfluous closing bracket in helloworld example.
18407
18408 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
18409
18410         * tools/gst-launch.1.in:
18411           Update gst-launch man page; add a section with useful
18412           environment variables. Fixes #323882.
18413
18414 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
18415
18416         * gst/gst.c:
18417         * gst/gst_private.h:
18418           change some char* into char[]
18419
18420 2005-12-16  Wim Taymans  <wim@fluendo.com>
18421
18422         * gst/gstregistryxml.c: (load_feature):
18423         Cleanups.
18424         Don't use g_object_unref on GstObjects so that we avoid
18425         leaks on unsafe glibs.
18426
18427 2005-12-16  Wim Taymans  <wim@fluendo.com>
18428
18429         * gst/gstbin.c: (gst_bin_recalc_state):
18430         Small doc updates.
18431
18432 2005-12-16  Wim Taymans  <wim@fluendo.com>
18433
18434         * common/check.mak:
18435         Added make forever target for check.
18436
18437 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18438
18439         * gst/gst.c: (init_post):
18440           make the registry cache file HOST_CPU-dependent
18441
18442 2005-12-16  Andy Wingo  <wingo@pobox.com>
18443
18444         * plugins/elements/gstbufferstore.c
18445         (gst_buffer_store_cleared_func): Pay attention to g_list_append
18446         return value.
18447
18448         * tests/check/gst/gstobject.c
18449         (test_fake_object_name_threaded_unique): Pay attention to
18450         g_list_sort return value.
18451
18452 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
18453
18454         * tools/gst-feedback-m.m:
18455           Update for 0.9/0.10 (fixes #323870).
18456
18457 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
18458
18459         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
18460           Fix lcopy for mini objects, the mini object needs to be ref'ed.
18461           
18462         * tests/check/gst/gstminiobject.c: (my_foo_init),
18463         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
18464         (test_value_collection), (gst_mini_object_suite):
18465           Add test to ensure refcounts end up as expected when passing
18466           GstMiniObjects through g_object_get() and g_object_set().
18467
18468 2005-12-14  Julien MOUTTE  <julien@moutte.net>
18469
18470         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
18471         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
18472         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
18473         of collectpads. This version removes a lot of races without
18474         touching API/ABI. Yay !
18475
18476 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
18477
18478         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
18479           Don't allow activation of a srcpad in pull_range if it has no
18480           getrange function.
18481           Change some debug statements to be a little clearer
18482
18483         * plugins/elements/gsttypefindelement.c:
18484         (gst_type_find_handle_src_query):
18485           Check that we have a peer before executing queries thereupon.
18486
18487         * tests/examples/metadata/read-metadata.c: (message_loop):
18488           Use gst_bus_pop instead of gst_bus_poll when we just want it to
18489           immediately return us any available message with 0 timeout.
18490
18491 2005-12-12  Michael Smith  <msmith@fluendo.com>
18492
18493         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
18494           Don't unref factories after calling them.
18495         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
18496         * plugins/elements/gsttypefindelement.c:
18497         (gst_type_find_element_chain):
18498           Free lists of factories after using them. Fixing typefinding memory
18499           leaks.
18500
18501 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18502
18503         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
18504         (gst_plugin_feature_load):
18505           more meaningful debug output
18506         * configure.ac:
18507         * tests/Makefile.am:
18508         * tests/old/examples/Makefile.am:
18509           make make distcheck happy again
18510
18511 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
18512
18513         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
18514           Catch the special case where we are operating chain-based,
18515           but the downstream peer pad has no chain function. Emit a
18516           custom error message in this case instead of letting the
18517           core generate one implying that this is some sort of core
18518           bug. It's not, it just means that whatever got plugged
18519           into the pipeline downstream when we announced the type
18520           can only operate pull-based, while our source can only
18521           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
18522           Error string has not been marked for translation yet, as
18523           it probably needs some more work first.
18524
18525         (gst_type_find_element_get_best_possibility):
18526           Add helper function to find the best of all available
18527           found possibilities that qualify given the min. threshold.
18528
18529         (gst_type_find_element_handle_event):
18530           Fix the case where we get an EOS while still in TYPEFIND
18531           mode (we want to chose the best of all possible types,
18532           not just the first type that happens to be in our unsorted
18533           list of possible types).
18534
18535         (gst_type_find_element_chain):
18536           Make sure we return GST_FLOW_ERROR when we errored out
18537           in stop_typefinding(); also, don't just find the best of
18538           all found type entries and then use the last examined
18539           type entry, but actually use the best entry.
18540
18541 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
18542
18543         * tests/examples/typefind/typefind.c: (type_found):
18544         * tests/examples/xml/runxml.c: (xml_loaded):
18545           More gcc4 fixes and a mem leak fix.
18546
18547 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18548
18549         * tests/examples/xml/createxml.c: (object_saved):
18550           gcc 4 fixes
18551
18552 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18553
18554         * tests/Makefile.am:
18555           enable the examples even more
18556
18557 2005-12-12  Andy Wingo  <wingo@pobox.com>
18558
18559         * libs/gst/net/gstnettimeprovider.c
18560         (gst_net_time_provider_class_init, gst_net_time_provider_init)
18561         (gst_net_time_provider_set_property)
18562         (gst_net_time_provider_get_property):
18563         API addition: Export "active" as a GObject property.
18564         (gst_net_time_provider_thread): Only respond to time queries if
18565         the time provider is active.
18566
18567         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
18568         NetTimeProvider, preserving binary compat.
18569
18570 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18571
18572         * tests/examples/controller/audio-example.c: (main):
18573         * tests/examples/launch/Makefile.am:
18574           convert comments again
18575
18576 2005-12-12  Wim Taymans  <wim@fluendo.com>
18577
18578         * libs/gst/base/gstpushsrc.c:
18579         Fix typo.
18580
18581 2005-12-12  Wim Taymans  <wim@fluendo.com>
18582
18583         * docs/libs/gstreamer-libs-sections.txt:
18584         Added new symbol to docs.
18585
18586         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18587         (gst_base_src_init), (gst_base_src_set_format),
18588         (gst_base_src_default_query), (gst_base_src_query),
18589         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
18590         (gst_base_src_perform_seek), (gst_base_src_send_event),
18591         (gst_base_src_default_event), (gst_base_src_event_handler),
18592         (gst_base_src_set_property), (gst_base_src_get_property),
18593         (gst_base_src_wait), (gst_base_src_do_sync),
18594         (gst_base_src_update_length), (gst_base_src_get_range),
18595         (gst_base_src_check_get_range), (gst_base_src_loop),
18596         (gst_base_src_default_negotiate), (gst_base_src_start),
18597         (gst_base_src_activate_push), (gst_base_src_activate_pull),
18598         (gst_base_src_change_state):
18599         * libs/gst/base/gstbasesrc.h:
18600         Implement seeking to other formats than _BYTES.
18601         Implement more seeking methods correctly.
18602         Doc updates.
18603         Added query vmethod.
18604         Added do_seek vmethod to make life easier for subclasses
18605         when seeking.
18606         API addition: gst_base_src_set_format()
18607
18608 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18609
18610         * tests/examples/Makefile.am:
18611           added that too
18612
18613 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18614
18615         * configure.ac:
18616         * docs/random/ensonic/media-device-daemon.txt:
18617         * tests/examples/controller/.cvsignore:
18618         * tests/examples/controller/Makefile.am:
18619         * tests/examples/controller/audio-example.c: (main):
18620         * tests/examples/helloworld/.cvsignore:
18621         * tests/examples/helloworld/Makefile.am:
18622         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
18623         * tests/examples/launch/.cvsignore:
18624         * tests/examples/launch/Makefile.am:
18625         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
18626         * tests/examples/metadata/.cvsignore:
18627         * tests/examples/metadata/Makefile.am:
18628         * tests/examples/metadata/read-metadata.c: (message_loop),
18629         (make_pipeline), (print_tag), (main):
18630         * tests/examples/queue/.cvsignore:
18631         * tests/examples/queue/Makefile.am:
18632         * tests/examples/queue/queue.c: (event_loop), (main):
18633         * tests/examples/typefind/.cvsignore:
18634         * tests/examples/typefind/Makefile.am:
18635         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
18636         (main):
18637         * tests/examples/xml/.cvsignore:
18638         * tests/examples/xml/Makefile.am:
18639         * tests/examples/xml/createxml.c: (object_saved), (main):
18640         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
18641         * tests/old/examples/Makefile.am:
18642         * tests/old/examples/TODO:
18643         * tests/old/examples/controller/.cvsignore:
18644         * tests/old/examples/controller/Makefile.am:
18645         * tests/old/examples/controller/audio-example.c:
18646         * tests/old/examples/helloworld/.cvsignore:
18647         * tests/old/examples/helloworld/Makefile.am:
18648         * tests/old/examples/helloworld/helloworld.c:
18649         * tests/old/examples/launch/.cvsignore:
18650         * tests/old/examples/launch/Makefile.am:
18651         * tests/old/examples/launch/mp3parselaunch.c:
18652         * tests/old/examples/launch/mp3play:
18653         * tests/old/examples/manual/Makefile.am:
18654         * tests/old/examples/metadata/Makefile.am:
18655         * tests/old/examples/metadata/read-metadata.c:
18656         * tests/old/examples/queue/.cvsignore:
18657         * tests/old/examples/queue/Makefile.am:
18658         * tests/old/examples/queue/queue.c:
18659         * tests/old/examples/typefind/.cvsignore:
18660         * tests/old/examples/typefind/Makefile.am:
18661         * tests/old/examples/typefind/typefind.c:
18662         * tests/old/examples/xml/.cvsignore:
18663         * tests/old/examples/xml/Makefile.am:
18664         * tests/old/examples/xml/createxml.c:
18665         * tests/old/examples/xml/runxml.c:
18666           applied some simple fixing to some examples
18667           re-enabled the working examples
18668
18669 2005-12-12  Wim Taymans  <wim@fluendo.com>
18670
18671         * gst/gstsegment.c: (gst_segment_init),
18672         (gst_segment_set_last_stop), (gst_segment_set_seek),
18673         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
18674         (gst_segment_to_running_time):
18675         Added more documentation.
18676         Make sure the last_pos value is updated properly.
18677         Make sure to_stream_time and to_running_time don't
18678         operate on wrong values.
18679
18680         * tests/check/gst/gstsegment.c: (GST_START_TEST):
18681         Update check.
18682
18683 2005-12-12  Michael Smith  <msmith@fluendo.com>
18684
18685         * plugins/elements/gsttypefindelement.c: (free_entry),
18686         (gst_type_find_element_chain):
18687           Now that we're not leaking factories, make sure we keep references
18688           to them while we need them.
18689
18690 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18691
18692         * tests/check/gst/struct_i386.h:
18693           ifdef out the XML structs
18694
18695 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18696
18697         * gst/gstvalue.c: (gst_value_transform_double_fraction):
18698           floor is not needed, F is always positive; this obviates the
18699           need for adding -lm when building without libxml
18700
18701 2005-12-12  Wim Taymans  <wim@fluendo.com>
18702
18703         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18704         Take current playback rate into account when reporting
18705         the position.
18706
18707 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18708
18709         * docs/manual/mime-world.fig:
18710           Let's try this again, this time with a file that is
18711           actually in XFig format.
18712
18713 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18714
18715         * docs/manual/mime-world.fig:
18716           Add audioconvert element to diagram so that it
18717           matches the text and the code (fixes #319526).
18718
18719 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18720
18721         * docs/pwg/building-chainfn.xml:
18722         * docs/pwg/building-pads.xml:
18723         * docs/pwg/building-state.xml:
18724         * docs/pwg/other-source.xml:
18725           Update state change stuff for 0.10 (fixes #322969).
18726
18727 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18728
18729         * docs/manual/advanced-dataaccess.xml:
18730         * docs/manual/appendix-checklist.xml:
18731         * docs/manual/appendix-programs.xml:
18732         * docs/manual/basics-pads.xml:
18733         * docs/manual/highlevel-components.xml:
18734         * docs/manual/manual.xml:
18735           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
18736           add converters in front of pipelines; remove curly
18737           brackets for threads stuff, they no longer exist; use
18738           GST_TYPE_FRACTION for framerates; update some pieces of
18739           code to 0.10, but there's plenty more to do.
18740
18741         * docs/manual/appendix-porting.xml:
18742           Expand on asynchroneous state changes; s/0.9/0.10/;
18743           mention disappearance of gst_init_get_popt_table()
18744           (fixes #322916).
18745
18746 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18747
18748         * docs/faq/using.xml:
18749           Spider no longer exists, and neither does gst-launch-ext.
18750           Update examples to use decodebin and playbin and put
18751           converters in front of sinks (fixes #323726).
18752
18753 2005-12-09  Michael Smith  <msmith@fluendo.com>
18754
18755         * plugins/elements/gsttypefindelement.c: (find_peek),
18756         (gst_type_find_element_chain):
18757           Fix leaking element factories in typefinding.
18758           Fix problem where we forgot about a probable type on non-seekable
18759           files, and thus later mis-typefound it.
18760
18761 2005-12-09  Michael Smith  <msmith@fluendo.com>
18762
18763         * common/m4/gst-makecontext.m4:
18764         * common/m4/gst-mcsc.m4:
18765         * configure.ac:
18766         * win32/common/config.h:
18767         * win32/common/config.h.in:
18768           Remove makecontext stuff; not used in 0.10 and causes problems on
18769           HPUX according to bug #322441
18770
18771 2005-12-07  Wim Taymans  <wim@fluendo.com>
18772
18773         * tests/check/Makefile.am:
18774         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
18775         (main):
18776         * tests/check/libs/struct_i386.h:
18777         Added ABI check for libs
18778
18779 2005-12-07  Wim Taymans  <wim@fluendo.com>
18780
18781         * tests/check/Makefile.am:
18782         And add the struct_i386.h to dist.
18783
18784 2005-12-07  Wim Taymans  <wim@fluendo.com>
18785
18786         * tests/check/Makefile.am:
18787         * tests/check/gst/.cvsignore:
18788         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
18789         (main):
18790         * tests/check/gst/struct_i386.h:
18791         Added check for ABI compatibility.
18792
18793 2005-12-07  Wim Taymans  <wim@fluendo.com>
18794
18795         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18796         (gst_fake_src_get_times), (gst_fake_src_create):
18797         Fix broken sync option, fixes #323259
18798
18799 2005-12-07  Wim Taymans  <wim@fluendo.com>
18800
18801         * gst/gstbuffer.c:
18802         Small docs update.
18803
18804         * gst/gstcaps.c: (gst_caps_is_equal):
18805         Don't assert on NULL <--> X. Fixes #323260
18806
18807         * gst/gstminiobject.c: (gst_mini_object_replace):
18808         If we're doing atomic operations, we might just as well use
18809         the proper way to get an atomic pointer.
18810
18811         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18812         Clean up debugging.
18813
18814 2005-12-07  Michael Smith  <msmith@fluendo.com>
18815
18816         * gst/parse/grammar.y:
18817           Remove handling of { } for threads.
18818
18819 2005-12-06  David Schleef  <ds@schleef.org>
18820
18821         * libs/gst/base/gstbasetransform.c: speling fix.
18822
18823 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
18824
18825         * docs/libs/tmpl/gstdataprotocol.sgml:
18826         * docs/random/omega/testing/gstobject.c:
18827         * gst/gst.c:
18828         * gst/gstclock.c:
18829         * gst/gstelement.c:
18830         * gst/gstelementfactory.c:
18831         * gst/gsterror.c:
18832         * gst/gstevent.c:
18833         * gst/gstghostpad.c:
18834         * gst/gstinfo.c:
18835         * gst/gstpadtemplate.c:
18836         * gst/gstregistryxml.c:
18837         * gst/gsttaglist.c:
18838         * gst/gsttagsetter.c:
18839         * gst/gsttypefind.c:
18840         * gst/gstvalue.c:
18841         * libs/gst/base/gstbasesrc.c:
18842         * libs/gst/net/gstnetclientclock.c:
18843         * libs/gst/net/gstnettimeprovider.c:
18844         * plugins/elements/gstfakesrc.c:
18845         * plugins/elements/gstfdsrc.c:
18846         * plugins/elements/gstfilesrc.c:
18847         * plugins/elements/gstidentity.c:
18848         * plugins/elements/gstqueue.c:
18849         * plugins/elements/gsttypefindelement.c:
18850         * plugins/indexers/gstfileindex.c:
18851         * plugins/indexers/gstmemindex.c:
18852         * tests/check/gst/gsttag.c:
18853         * tests/old/examples/cutter/cutter.c:
18854         * tests/old/examples/mixer/mixer.c:
18855         * tests/old/examples/xml/runxml.c: (main):
18856         * tests/old/testsuite/caps/normalisation.c:
18857         * tests/old/testsuite/debug/global.c:
18858         * tests/old/testsuite/parse/parse1.c:
18859         * tools/gst-xmlinspect.c:
18860         * win32/common/dirent.c:
18861           expand tabs
18862
18863 === release 0.10.0 ===
18864
18865 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18866
18867         * configure.ac:
18868           releasing 0.10.0, "Maroilles"
18869
18870 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18871
18872         submitted by: Funda Wang <fundawang@linux.net.cn>
18873
18874         * po/LINGUAS:
18875         * po/zh_CN.po:
18876           added Chinese (Traditional) translation
18877
18878 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18879
18880         * docs/gst/gstreamer-sections.txt:
18881         * docs/libs/tmpl/gstdataprotocol.sgml:
18882         * docs/random/thomasvs/TODO:
18883         * gst/gstutils.c:
18884         * gst/gstutils.h:
18885           fix docs
18886
18887 2005-12-05  Andy Wingo  <wingo@pobox.com>
18888
18889         patch by: Wim Taymans <wim@fluendo.com>
18890
18891         * libs/gst/base/gstbasetransform.c
18892         (gst_base_transform_prepare_output_buf)
18893         (gst_base_transform_buffer_alloc):
18894         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
18895         alloc_buffer_and_set_caps.
18896
18897         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
18898         set_caps on the source pad.
18899         (gst_pad_alloc_buffer_and_set_caps): New function, does what
18900         alloc_buffer used to do. Fixes #322874.
18901
18902         * docs/gst/gstreamer-sections.txt: 
18903         * docs/design/part-negotiation.txt: 
18904         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
18905         changes.
18906
18907 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18908
18909         patch by: Sebastien Moutte
18910
18911         * win32/MANIFEST:
18912         * win32/common/config.h.in:
18913         * win32/vs6/libgstcontroller.dsp:
18914           win32 build fixes
18915
18916 2005-12-05  Wim Taymans  <wim@fluendo.com>
18917
18918         * gst/gstcaps.c: (gst_caps_is_equal):
18919         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18920         (gst_fake_src_create):
18921         Back out previous code changes, leave doc updates, file bugs 
18922         instead. 
18923
18924 2005-12-05  Wim Taymans  <wim@fluendo.com>
18925
18926         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18927         (gst_fake_src_get_times), (gst_fake_src_create):
18928         * plugins/elements/gstfakesrc.h:
18929         Fix broken sync code.
18930
18931 2005-12-05  Wim Taymans  <wim@fluendo.com>
18932
18933         * gst/gstcaps.c: (gst_caps_is_equal):
18934         Comparing NULL against !NULL yields different caps, not a
18935         failure.
18936
18937 2005-12-05  Wim Taymans  <wim@fluendo.com>
18938
18939         * gst/gstpipeline.c:
18940         Fix small typo in docs.
18941
18942 2005-12-05  Andy Wingo  <wingo@pobox.com>
18943
18944         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
18945
18946         * gst/gst.c (init_post): remove hard-coded 0.9 location for
18947         registries/plugins with a MAJORMINOR one.
18948         (plugin_desc): Rename library from gstcoreleements to
18949         staticelements. Fixes #323222.
18950
18951 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
18952
18953         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
18954           Change debug category to 'collectpads' from 'collect_pads'
18955           (fixes #323250).
18956
18957 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
18958
18959         patch by: Sebastien Moutte
18960
18961         * libs/gst/controller/gstinterpolation.c:
18962           use convert function for uint64/double
18963         * win32/vs6/libgstcontroller.dsp:
18964           link to GLib
18965
18966 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
18967
18968         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
18969         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
18970         * gst/gstutils.h:
18971         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
18972           add tests that seem to show that the guint64/gdouble conversions
18973           are correct.
18974
18975 2005-12-02  Wim Taymans  <wim@fluendo.com>
18976
18977         * gst/gstregistry.c: (gst_registry_add_path):
18978         * gst/gstregistry.h:
18979         * gst/gstregistryxml.c:
18980         Fix docs again.
18981
18982 2005-12-02  Wim Taymans  <wim@fluendo.com>
18983
18984         * gst/gstutils.c: (gst_util_uint64_scale_int64),
18985         (gst_util_uint64_scale_int):
18986         Small cleanup.
18987
18988         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18989         Add debug log line.
18990
18991         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
18992         Add FIXME.
18993
18994 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18995
18996         * win32/MANIFEST:
18997         * win32/common/config.h:
18998         * win32/vs6/gstreamer.dsw:
18999         * win32/vs6/libgstcoreelements.dsp:
19000         * win32/vs6/libgstelements.dsp:
19001           renamed core elements plugin
19002
19003 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
19004
19005         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
19006         (get_candidates):
19007           do piece-wise major/minor comparison so 0.9 < 0.10
19008           also allow .exe extensions for tools
19009
19010 2005-12-02  Michael Smith  <msmith@fluendo.com>
19011
19012         * gst/gst.c:
19013           Escape a % to make gtkdoc happier; bug 322958.
19014
19015 === release 0.9.7 ===
19016
19017 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19018
19019         * configure.ac:
19020           releasing 0.9.7, "My Dog Has No Nose"
19021
19022 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19023
19024         * common/gst-xmlinspect.py:
19025         * configure.ac:
19026         * docs/libs/tmpl/gstdataprotocol.sgml:
19027         * docs/random/release:
19028         * po/af.po:
19029         * po/az.po:
19030         * po/bg.po:
19031         * po/ca.po:
19032         * po/cs.po:
19033         * po/de.po:
19034         * po/en_GB.po:
19035         * po/fr.po:
19036         * po/it.po:
19037         * po/nb.po:
19038         * po/nl.po:
19039         * po/ru.po:
19040         * po/sq.po:
19041         * po/sr.po:
19042         * po/sv.po:
19043         * po/tr.po:
19044         * po/uk.po:
19045         * po/vi.po:
19046         * win32/common/config.h:
19047         * win32/common/config.h.in:
19048         * win32/vs6/gst_inspect.dsp:
19049         * win32/vs6/gst_launch.dsp:
19050         * win32/vs6/libgstbase.dsp:
19051         * win32/vs6/libgstelements.dsp:
19052         * win32/vs6/libgstreamer.dsp:
19053         * win32/vs7/GStreamer.vcproj:
19054         * win32/vs7/gst-inspect.vcproj:
19055         * win32/vs7/gst-launch.vcproj:
19056         * win32/vs7/libgstbase.vcproj:
19057           bump GST_MAJORMINOR to 0.10
19058           reset libtool version
19059
19060 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19061
19062         * po/LINGUAS:
19063         * po/bg.po:
19064           Added Bulgarian translation by (Alexander Shopov)
19065
19066 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19067
19068         * tests/check/gst/gstplugin.c:
19069           fix test
19070
19071 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19072
19073         * common/gst-xmlinspect.py:
19074         * common/gtk-doc-plugins.mak:
19075         * configure.ac:
19076         * docs/Makefile.am:
19077         * docs/gst/Makefile.am:
19078         * docs/gst/gstreamer-docs.sgml:
19079         * docs/gst/gstreamer-sections.txt:
19080         * docs/gst/gstreamer.types:
19081         * docs/gst/gstreamer.types.in:
19082         * docs/plugins/Makefile.am:
19083         * docs/plugins/gstreamer-plugins-docs.sgml:
19084         * docs/plugins/gstreamer-plugins-sections.txt:
19085         * docs/plugins/gstreamer-plugins.types:
19086         * docs/plugins/inspect.stamp:
19087         * docs/plugins/inspect/plugin-coreelements.xml:
19088         * docs/plugins/inspect/plugin-coreindexers.xml:
19089         * docs/plugins/scanobj-build.stamp:
19090         * gstreamer.spec.in:
19091         * plugins/elements/Makefile.am:
19092         * plugins/elements/gstelements.c:
19093         * plugins/elements/gstfakesink.c:
19094         * plugins/elements/gstfakesrc.c:
19095         * plugins/elements/gstfilesink.c:
19096         * plugins/elements/gstfilesrc.c:
19097         * plugins/elements/gstqueue.c:
19098         * plugins/indexers/Makefile.am:
19099         * plugins/indexers/gstindexers.c:
19100           document core plugins in a separate document just like all the
19101           others
19102           rename these plugins to something starting with core
19103
19104 2005-12-01  Andy Wingo  <wingo@pobox.com>
19105
19106         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
19107         padding here before, but it missed the commit.
19108
19109 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19110
19111         * libs/gst/controller/gstinterpolation.c:
19112           whitespace prices have crashed, we should feel free to use some now
19113           use gst_guint64_to_gdouble
19114
19115 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19116
19117         * libs/gst/controller/gstcontroller.c:
19118         * libs/gst/controller/gsthelper.c:
19119         * libs/gst/controller/gstinterpolation.c:
19120         * libs/gst/controller/lib.c:
19121           wrap config.h include
19122
19123 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19124
19125         * docs/gst/gstreamer-sections.txt:
19126           update docs
19127
19128 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19129
19130         * plugins/elements/gstelements.c:
19131         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
19132         (gst_fd_sink__class_init), (gst_fd_sink__init),
19133         (gst_fd_sink__chain), (gst_fd_sink__set_property),
19134         (gst_fd_sink__get_property):
19135         * plugins/elements/gstfdsink.h:
19136         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
19137         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
19138         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
19139         (gst_fd_src_unlock), (gst_fd_src_set_property),
19140         (gst_fd_src_get_property), (gst_fd_src_create),
19141         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
19142         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
19143         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
19144         (gst_fd_src_uri_handler_init):
19145         * plugins/elements/gstfdsrc.h:
19146         * plugins/elements/gstqueue.c: (gst_queue_get_type):
19147           more anal cleanup
19148
19149 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19150
19151         * docs/gst/Makefile.am:
19152         * docs/gst/gstreamer.types.in:
19153         * gst/Makefile.am:
19154           fix the docs build
19155
19156 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19157
19158         * configure.ac:
19159         * gst/Makefile.am:
19160         * gst/gst.c:
19161         * gst/gstplugin.h:
19162         * gst/gstregistry.h:
19163         * tests/benchmarks/complexity.c:
19164         * tests/benchmarks/mass-elements.c:
19165         * tests/check/Makefile.am:
19166         * tools/Makefile.am:
19167         * tools/gst-inspect.c:
19168         * tools/gst-xmlinspect.c:
19169           various fixes to make
19170           --disable-nls --disable-registry --disable-loadsave
19171           --disable-parse --disable-gst-debug
19172           work and get the core .so down to 360444 bytes after stripping
19173
19174 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19175
19176         * Makefile.am:
19177         * configure.ac:
19178           descend into tests
19179         * docs/random/thomasvs/TODO:
19180         * tests/Makefile.am:
19181         * tests/README:
19182           add a README
19183
19184 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19185
19186         * win32/GStreamer.vcproj:
19187         * win32/MANIFEST:
19188         * win32/Makefile:
19189         * win32/Makefile.inspect:
19190         * win32/Makefile.launch:
19191         * win32/Makefile.register:
19192         * win32/README.txt:
19193         * win32/gst-inspect.vcproj:
19194         * win32/gst-launch.vcproj:
19195         * win32/gst-register.vcproj:
19196         * win32/gstelements.vcproj:
19197         * win32/gstgetbits.def:
19198         * win32/gstgetbits.vcproj:
19199         * win32/gstreamer-dbg.def:
19200         * win32/gstreamer.def:
19201         * win32/libgstbase.def:
19202         * win32/libgstbase.vcproj:
19203         * win32/link_oldruntime.c:
19204         * win32/mman.c:
19205         * win32/mman.h:
19206         * win32/mman.inl:
19207         * win32/msvc71.sln:
19208           move even more stuff, win32/ is nice and clean now
19209
19210 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19211
19212         * libs/gst/control/.cvsignore:
19213         * win32/MANIFEST:
19214         * win32/config.h:
19215         * win32/dirent.c:
19216         * win32/dirent.h:
19217         * win32/gstbytestream.def:
19218         * win32/gstbytestream.vcproj:
19219         * win32/gstconfig.h:
19220         * win32/gstenumtypes.c:
19221         * win32/gstenumtypes.h:
19222         * win32/gstoptimalscheduler.vcproj:
19223         * win32/gstversion.h:
19224         * win32/gtchar.h:
19225         * win32/testsuite/bins.vcproj:
19226         * win32/testsuite/bytestream.vcproj:
19227         * win32/testsuite/caps.vcproj:
19228         * win32/testsuite/cleanup.vcproj:
19229         * win32/testsuite/clock.vcproj:
19230         * win32/testsuite/debug.vcproj:
19231         * win32/testsuite/dlopen.vcproj:
19232         * win32/testsuite/dynparams.vcproj:
19233         * win32/testsuite/elements.vcproj:
19234         * win32/testsuite/ghostpads.vcproj:
19235         * win32/testsuite/indexers.vcproj:
19236         * win32/testsuite/negotiation.vcproj:
19237         * win32/testsuite/parse.vcproj:
19238         * win32/testsuite/plugin.vcproj:
19239         * win32/testsuite/refcounting.vcproj:
19240         * win32/testsuite/schedulers.vcproj:
19241         * win32/testsuite/states.vcproj:
19242         * win32/testsuite/tags.vcproj:
19243         * win32/testsuite/threads.vcproj:
19244           remove old win32 stuff that isn't maintained and should be
19245           reorganized
19246
19247 2005-11-30  Andy Wingo  <wingo@pobox.com>
19248
19249         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
19250         loading the gst.interfaces python module bork.
19251
19252         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
19253         available since GLib 2.2. Fixes #318031.
19254
19255 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19256
19257         * Makefile.am:
19258         * check/.cvsignore:
19259         * check/Makefile.am:
19260         * check/elements/.cvsignore:
19261         * check/elements/fakesrc.c:
19262         * check/elements/fdsrc.c:
19263         * check/elements/identity.c:
19264         * check/generic/.cvsignore:
19265         * check/generic/states.c:
19266         * check/gst-libs/.cvsignore:
19267         * check/gst-libs/controller.c:
19268         * check/gst-libs/gdp.c:
19269         * check/gst/.cvsignore:
19270         * check/gst/capslist.h:
19271         * check/gst/gst.c:
19272         * check/gst/gstbin.c:
19273         * check/gst/gstbuffer.c:
19274         * check/gst/gstbus.c:
19275         * check/gst/gstcaps.c:
19276         * check/gst/gstelement.c:
19277         * check/gst/gstevent.c:
19278         * check/gst/gstghostpad.c:
19279         * check/gst/gstiterator.c:
19280         * check/gst/gstmessage.c:
19281         * check/gst/gstminiobject.c:
19282         * check/gst/gstobject.c:
19283         * check/gst/gstpad.c:
19284         * check/gst/gstpipeline.c:
19285         * check/gst/gstplugin.c:
19286         * check/gst/gstsegment.c:
19287         * check/gst/gststructure.c:
19288         * check/gst/gstsystemclock.c:
19289         * check/gst/gsttag.c:
19290         * check/gst/gstutils.c:
19291         * check/gst/gstvalue.c:
19292         * check/net/.cvsignore:
19293         * check/net/gstnetclientclock.c:
19294         * check/net/gstnettimeprovider.c:
19295         * check/pipelines/.cvsignore:
19296         * check/pipelines/cleanup.c:
19297         * check/pipelines/simple_launch_lines.c:
19298         * check/pipelines/stress.c:
19299         * check/states/.cvsignore:
19300         * check/states/sinks.c:
19301         * configure.ac:
19302         * examples/Makefile.am:
19303         * examples/appreader/.cvsignore:
19304         * examples/appreader/Makefile.am:
19305         * examples/appreader/appreader.c:
19306         * examples/controller/.cvsignore:
19307         * examples/controller/Makefile.am:
19308         * examples/controller/audio-example.c:
19309         * examples/cutter/.cvsignore:
19310         * examples/cutter/Makefile.am:
19311         * examples/cutter/cutter.c:
19312         * examples/cutter/cutter.h:
19313         * examples/events/Makefile.am:
19314         * examples/events/seek.c:
19315         * examples/helloworld/.cvsignore:
19316         * examples/helloworld/Makefile.am:
19317         * examples/helloworld/helloworld.c:
19318         * examples/helloworld2/.cvsignore:
19319         * examples/helloworld2/Makefile.am:
19320         * examples/helloworld2/helloworld2.c:
19321         * examples/launch/.cvsignore:
19322         * examples/launch/Makefile.am:
19323         * examples/launch/mp3parselaunch.c:
19324         * examples/launch/mp3play:
19325         * examples/manual/.cvsignore:
19326         * examples/manual/Makefile.am:
19327         * examples/manual/extract.pl:
19328         * examples/metadata/Makefile.am:
19329         * examples/metadata/read-metadata.c:
19330         * examples/mixer/.cvsignore:
19331         * examples/mixer/Makefile.am:
19332         * examples/mixer/mixer.c:
19333         * examples/mixer/mixer.h:
19334         * examples/pingpong/.cvsignore:
19335         * examples/pingpong/Makefile.am:
19336         * examples/pingpong/pingpong.c:
19337         * examples/plugins/.cvsignore:
19338         * examples/plugins/Makefile.am:
19339         * examples/plugins/example.c:
19340         * examples/plugins/example.h:
19341         * examples/pwg/.cvsignore:
19342         * examples/pwg/Makefile.am:
19343         * examples/pwg/extract.pl:
19344         * examples/queue/.cvsignore:
19345         * examples/queue/Makefile.am:
19346         * examples/queue/queue.c:
19347         * examples/queue2/.cvsignore:
19348         * examples/queue2/Makefile.am:
19349         * examples/queue2/queue2.c:
19350         * examples/queue3/.cvsignore:
19351         * examples/queue3/Makefile.am:
19352         * examples/queue3/queue3.c:
19353         * examples/queue4/.cvsignore:
19354         * examples/queue4/Makefile.am:
19355         * examples/queue4/queue4.c:
19356         * examples/retag/.cvsignore:
19357         * examples/retag/Makefile.am:
19358         * examples/retag/retag.c:
19359         * examples/retag/transcode.c:
19360         * examples/thread/.cvsignore:
19361         * examples/thread/Makefile.am:
19362         * examples/thread/thread.c:
19363         * examples/typefind/.cvsignore:
19364         * examples/typefind/Makefile.am:
19365         * examples/typefind/typefind.c:
19366         * examples/xml/.cvsignore:
19367         * examples/xml/Makefile.am:
19368         * examples/xml/createxml.c:
19369         * examples/xml/runxml.c:
19370         * tests/Makefile.am:
19371         * tests/check/Makefile.am:
19372         * testsuite/.cvsignore:
19373         * testsuite/Makefile.am:
19374         * testsuite/Rules:
19375         * testsuite/caps/.cvsignore:
19376         * testsuite/caps/Makefile.am:
19377         * testsuite/caps/app_fixate.c:
19378         * testsuite/caps/audioscale.c:
19379         * testsuite/caps/caps.c:
19380         * testsuite/caps/caps.h:
19381         * testsuite/caps/caps_strings:
19382         * testsuite/caps/compatibility.c:
19383         * testsuite/caps/deserialize.c:
19384         * testsuite/caps/enumcaps.c:
19385         * testsuite/caps/eratosthenes.c:
19386         * testsuite/caps/filtercaps.c:
19387         * testsuite/caps/fixed.c:
19388         * testsuite/caps/fraction-convert.c:
19389         * testsuite/caps/fraction-multiply-and-zero.c:
19390         * testsuite/caps/intersect2.c:
19391         * testsuite/caps/intersection.c:
19392         * testsuite/caps/normalisation.c:
19393         * testsuite/caps/random.c:
19394         * testsuite/caps/renegotiate.c:
19395         * testsuite/caps/sets.c:
19396         * testsuite/caps/simplify.c:
19397         * testsuite/caps/string-conversions.c:
19398         * testsuite/caps/structure.c:
19399         * testsuite/caps/subtract.c:
19400         * testsuite/caps/union.c:
19401         * testsuite/debug/.cvsignore:
19402         * testsuite/debug/Makefile.am:
19403         * testsuite/debug/category.c:
19404         * testsuite/debug/commandline.c:
19405         * testsuite/debug/global.c:
19406         * testsuite/debug/output.c:
19407         * testsuite/debug/printf_extension.c:
19408         * testsuite/dlopen/.cvsignore:
19409         * testsuite/dlopen/Makefile.am:
19410         * testsuite/dlopen/dlopen_gst.c:
19411         * testsuite/dlopen/loadgst.c:
19412         * testsuite/elements/.cvsignore:
19413         * testsuite/elements/Makefile.am:
19414         * testsuite/elements/gst-inspect-check.in:
19415         * testsuite/elements/struct_i386.h:
19416         * testsuite/elements/struct_size.c:
19417         * testsuite/indexers/.cvsignore:
19418         * testsuite/indexers/Makefile.am:
19419         * testsuite/indexers/cache1.c:
19420         * testsuite/indexers/indexdump.c:
19421         * testsuite/parse/.cvsignore:
19422         * testsuite/parse/Makefile.am:
19423         * testsuite/parse/parse1.c:
19424         * testsuite/parse/parse2.c:
19425         * testsuite/plugin/.cvsignore:
19426         * testsuite/plugin/Makefile.am:
19427         * testsuite/plugin/README:
19428         * testsuite/plugin/dynamic.c:
19429         * testsuite/plugin/linked.c:
19430         * testsuite/plugin/loading.c:
19431         * testsuite/plugin/registry.c:
19432         * testsuite/plugin/static.c:
19433         * testsuite/plugin/static2.c:
19434         * testsuite/plugin/testplugin.c:
19435         * testsuite/plugin/testplugin2.c:
19436         * testsuite/plugin/testplugin2_s.c:
19437         * testsuite/plugin/testplugin_s.c:
19438         * testsuite/refcounting/.cvsignore:
19439         * testsuite/refcounting/Makefile.am:
19440         * testsuite/refcounting/bin.c:
19441         * testsuite/refcounting/element.c:
19442         * testsuite/refcounting/element_pad.c:
19443         * testsuite/refcounting/mainloop.c:
19444         * testsuite/refcounting/mem.c:
19445         * testsuite/refcounting/mem.h:
19446         * testsuite/refcounting/object.c:
19447         * testsuite/refcounting/pad.c:
19448         * testsuite/refcounting/sched.c:
19449         * testsuite/refcounting/thread.c:
19450         * testsuite/states/.cvsignore:
19451         * testsuite/states/Makefile.am:
19452         * testsuite/states/bin.c:
19453         * testsuite/states/locked.c:
19454         * testsuite/states/parent.c:
19455         * testsuite/threads/.cvsignore:
19456         * testsuite/threads/159566.c:
19457         * testsuite/threads/159852.c:
19458         * testsuite/threads/Makefile.am:
19459         * testsuite/threads/queue.c:
19460         * testsuite/threads/signals.c:
19461         * testsuite/threads/staticrec.c:
19462         * testsuite/threads/thread.c:
19463         * testsuite/threads/threadb.c:
19464         * testsuite/threads/threadc.c:
19465         * testsuite/threads/threadd.c:
19466         * testsuite/threads/threade.c:
19467         * testsuite/threads/threadf.c:
19468         * testsuite/threads/threadg.c:
19469         * testsuite/threads/threadh.c:
19470         * testsuite/threads/threadi.c:
19471           move all of these under tests
19472
19473 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19474
19475         * configure.ac:
19476         * tests/Makefile.am:
19477           fix distcheck
19478
19479 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19480
19481         * docs/gst/gstreamer-sections.txt:
19482         * tests/sched/.cvsignore:
19483         * tests/sched/Makefile.am:
19484         * tests/sched/cases/(fs-fs).xml:
19485         * tests/sched/cases/(fs-i-fs).xml:
19486         * tests/sched/cases/(fs-i-i-fs).xml:
19487         * tests/sched/cases/(fs-i-q[i-fs]).xml:
19488         * tests/sched/dynamic-pipeline.c:
19489         * tests/sched/interrupt1.c:
19490         * tests/sched/interrupt2.c:
19491         * tests/sched/interrupt3.c:
19492         * tests/sched/runtestcases:
19493         * tests/sched/runxml.c:
19494         * tests/sched/sched-stress.c:
19495         * tests/sched/sort.c:
19496         * tests/sched/testcases:
19497         * tests/sched/testcases1.tc:
19498         * tests/seeking/.cvsignore:
19499         * tests/seeking/Makefile.am:
19500         * tests/seeking/seeking1.c:
19501         * tests/threadstate/.cvsignore:
19502         * tests/threadstate/Makefile.am:
19503         * tests/threadstate/test1.c:
19504         * tests/threadstate/test2.c:
19505         * tests/threadstate/threadstate1.c:
19506         * tests/threadstate/threadstate2.c:
19507         * tests/threadstate/threadstate3.c:
19508         * tests/threadstate/threadstate4.c:
19509         * tests/threadstate/threadstate5.c:
19510           remove obsolete tests
19511         * configure.ac:
19512         * tests/bench-complexity.scm:
19513         * tests/bench-mass_elements.scm:
19514         * tests/complexity.c:
19515         * tests/complexity.gnuplot:
19516         * tests/instantiate/.cvsignore:
19517         * tests/instantiate/Makefile.am:
19518         * tests/instantiate/caps.c:
19519         * tests/mass_elements.c:
19520         * tests/network-clock-utils.scm:
19521         * tests/network-clock.scm:
19522         * tests/plot-data:
19523         First pass at cleaning up tests/ dir before moving the rest
19524         Combined with CVS surgery
19525
19526 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19527
19528         * po/POTFILES.in:
19529           queue has moved, update
19530
19531 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19532
19533         * docs/gst/gstreamer-sections.txt:
19534           remove double entries from the docs
19535         * gst/gst_private.h:
19536         * gst/gstinfo.c: (_gst_debug_init):
19537           remove the THREAD debug category
19538         * gst/Makefile.am:
19539         * gst/gstqueue.c:
19540         * gst/gstqueue.h:
19541         * docs/gst/gstreamer.types:
19542         * plugins/elements/gstqueue.c: (gst_queue_get_type),
19543         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
19544           completely move queue and fix up debugging categories
19545
19546 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19547
19548         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
19549           make initialization portable, using LL is not
19550
19551 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19552
19553         * win32/common/gstconfig.h:
19554           add large padding
19555
19556 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19557
19558         * win32/common/libgstreamer.def:
19559           rename symbols; sort base section
19560
19561 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19562
19563         * gst/gstclock.c: (do_linear_regression):
19564           remove crack non-portable handrolled DEBUG macro
19565
19566 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19567
19568         * docs/random/release:
19569           update notes
19570         * win32/common/gstenumtypes.c: (register_gst_object_flags),
19571         (gst_object_flags_get_type), (register_gst_bin_flags),
19572         (gst_bin_flags_get_type), (register_gst_buffer_flag),
19573         (gst_buffer_flag_get_type), (register_gst_bus_flags),
19574         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
19575         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
19576         (gst_caps_flags_get_type), (register_gst_clock_return),
19577         (gst_clock_return_get_type), (register_gst_clock_entry_type),
19578         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
19579         (gst_clock_flags_get_type), (register_gst_state),
19580         (gst_state_get_type), (register_gst_state_change_return),
19581         (gst_state_change_return_get_type), (register_gst_state_change),
19582         (gst_state_change_get_type), (register_gst_element_flags),
19583         (gst_element_flags_get_type), (register_gst_core_error),
19584         (gst_core_error_get_type), (register_gst_library_error),
19585         (gst_library_error_get_type), (register_gst_resource_error),
19586         (gst_resource_error_get_type), (register_gst_stream_error),
19587         (gst_stream_error_get_type), (register_gst_event_type_flags),
19588         (gst_event_type_flags_get_type), (register_gst_event_type),
19589         (gst_event_type_get_type), (register_gst_seek_type),
19590         (gst_seek_type_get_type), (register_gst_seek_flags),
19591         (gst_seek_flags_get_type), (register_gst_format),
19592         (gst_format_get_type), (register_gst_index_certainty),
19593         (gst_index_certainty_get_type), (register_gst_index_entry_type),
19594         (gst_index_entry_type_get_type),
19595         (register_gst_index_lookup_method),
19596         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
19597         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
19598         (gst_index_resolver_method_get_type), (register_gst_index_flags),
19599         (gst_index_flags_get_type), (register_gst_debug_level),
19600         (gst_debug_level_get_type), (register_gst_debug_color_flags),
19601         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
19602         (gst_iterator_result_get_type), (register_gst_iterator_item),
19603         (gst_iterator_item_get_type), (register_gst_message_type),
19604         (gst_message_type_get_type), (register_gst_mini_object_flags),
19605         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
19606         (gst_pad_link_return_get_type), (register_gst_flow_return),
19607         (gst_flow_return_get_type), (register_gst_activate_mode),
19608         (gst_activate_mode_get_type), (register_gst_pad_direction),
19609         (gst_pad_direction_get_type), (register_gst_pad_flags),
19610         (gst_pad_flags_get_type), (register_gst_pad_presence),
19611         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
19612         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
19613         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
19614         (gst_plugin_error_get_type), (register_gst_plugin_flags),
19615         (gst_plugin_flags_get_type), (register_gst_rank),
19616         (gst_rank_get_type), (register_gst_query_type),
19617         (gst_query_type_get_type), (register_gst_tag_merge_mode),
19618         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
19619         (gst_tag_flag_get_type), (register_gst_task_state),
19620         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
19621         (gst_alloc_trace_flags_get_type),
19622         (register_gst_type_find_probability),
19623         (gst_type_find_probability_get_type), (register_gst_uri_type),
19624         (gst_uri_type_get_type), (register_gst_parse_error),
19625         (gst_parse_error_get_type):
19626         * win32/common/gstenumtypes.h:
19627         * win32/common/gstversion.h:
19628           update visual studio generated files
19629
19630 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19631
19632         * win32/vs6/libgstbase.dsp:
19633         * win32/vs6/libgstelements.dsp:
19634           update project files for new locations
19635
19636 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19637
19638         * Makefile.am:
19639           remove some files
19640         * README:
19641           reinstate and update
19642         * DEVEL:
19643         * REQUIREMENTS:
19644           removed
19645         * LICENSE:
19646         * docs/random/LICENSE:
19647           moved to random
19648
19649 2005-11-30  Edward Hervey  <edward@fluendo.com>
19650
19651         * gst/gsttypefind.c: (gst_type_find_register):
19652         * gst/gsttypefind.h:
19653         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
19654         (gst_type_find_factory_dispose):
19655         * gst/gsttypefindfactory.h:
19656         Fix memory leak in GstTypeFindFactory.
19657
19658 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19659
19660         * gst/gst.c:
19661         * plugins/elements/Makefile.am:
19662         * plugins/elements/gstelements.c:
19663         * plugins/elements/gstqueue.c:
19664           move queue from core to the elements plugin
19665
19666 2005-11-29  Andy Wingo  <wingo@pobox.com>
19667
19668         * libs/gst/base/gstbasetransform.h: 
19669         * libs/gst/base/gstbasesrc.h: 
19670         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
19671
19672         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
19673         of pointers by which to pad very extensible base classes (like the
19674         ones in libs/gst/base).
19675
19676 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19677
19678         * docs/gst/gstreamer-docs.sgml:
19679         * docs/gst/gstreamer-sections.txt:
19680         * docs/libs/gstreamer-libs-docs.sgml:
19681         * docs/libs/gstreamer-libs-sections.txt:
19682           moving documentation from core to lib
19683
19684 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19685
19686         * check/Makefile.am:
19687         * configure.ac:
19688         * docs/gst/Makefile.am:
19689         * gst/Makefile.am:
19690         * gst/base/.cvsignore:
19691         * gst/base/Makefile.am:
19692         * gst/base/README:
19693         * gst/base/gstadapter.c:
19694         * gst/base/gstadapter.h:
19695         * gst/base/gstbasesink.c:
19696         * gst/base/gstbasesink.h:
19697         * gst/base/gstbasesrc.c:
19698         * gst/base/gstbasesrc.h:
19699         * gst/base/gstbasetransform.c:
19700         * gst/base/gstbasetransform.h:
19701         * gst/base/gstcollectpads.c:
19702         * gst/base/gstcollectpads.h:
19703         * gst/base/gstpushsrc.c:
19704         * gst/base/gstpushsrc.h:
19705         * gst/base/gsttypefindhelper.c:
19706         * gst/base/gsttypefindhelper.h:
19707         * gst/check/Makefile.am:
19708         * gst/check/gstcheck.c:
19709         * gst/check/gstcheck.h:
19710         * gst/net/Makefile.am:
19711         * gst/net/gstnet.h:
19712         * gst/net/gstnetclientclock.c:
19713         * gst/net/gstnetclientclock.h:
19714         * gst/net/gstnettimepacket.c:
19715         * gst/net/gstnettimepacket.h:
19716         * gst/net/gstnettimeprovider.c:
19717         * gst/net/gstnettimeprovider.h:
19718         * libs/gst/Makefile.am:
19719         * libs/gst/base/Makefile.am:
19720         * libs/gst/base/gstbasetransform.c:
19721         * libs/gst/check/Makefile.am:
19722         * plugins/elements/Makefile.am:
19723         * po/POTFILES.in:
19724           CVS surgery + support to move base, check, and net out of gst
19725           and into libs/gst
19726
19727 2005-11-29  Andy Wingo  <wingo@pobox.com>
19728
19729         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
19730
19731         * gst/gststructure.h (struct _GstStructure): Only one pointer of
19732         padding.
19733
19734         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
19735
19736         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
19737
19738         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
19739
19740         * gst/gstobject.h: (struct _GstObject): Only one pointer of
19741         padding; reduces object size by about 30%. We don't expect
19742         anything else to go into gstobject.
19743
19744         * gst/gstminiobject.h (struct _GstMiniObject)
19745         (struct _GstMiniObjectClass): Only one pointer of padding; the
19746         payload is only a pointer and two ints anyway. For the class there
19747         are only two methods as well.
19748         
19749         * gst/gstelement.h (struct _GstElementClass): Removed
19750         the state_changed signal callback, it is not used.
19751
19752 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19753
19754         * docs/gst/gstreamer.types:
19755           fix includes, though they are a little dinky
19756
19757 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19758
19759         * check/Makefile.am:
19760           look in the right place for elements, a lot more chance of
19761           success
19762         * gst/Makefile.am:
19763           remove indexers and elements subdirs
19764         * plugins/Makefile.am:
19765           make indexers conditional
19766
19767 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19768
19769         * Makefile.am:
19770         * configure.ac:
19771         * plugins/elements/Makefile.am:
19772         * plugins/elements/gstcapsfilter.c:
19773         * plugins/elements/gstfilesink.c:
19774         * plugins/elements/gstfilesrc.c:
19775         * plugins/elements/gstidentity.c:
19776         * plugins/indexers/Makefile.am:
19777           do CVS surgery and related build fixery to move elements
19778           and indexers in a new gstreamer/plugins directory, out of the
19779           gst/ directory
19780
19781 2005-11-29  Andy Wingo  <wingo@pobox.com>
19782
19783         * check/Makefile.am:
19784         * pkgconfig/gstreamer-net-uninstalled.pc.in:
19785         * pkgconfig/gstreamer-net.pc.in:
19786         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
19787         #322257.
19788
19789 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19790
19791         * tools/Makefile.am:
19792         * tools/gst-complete.1.in:
19793         * tools/gst-complete.c:
19794         * tools/gst-compprep.1.in:
19795         * tools/gst-compprep.c:
19796           removing -compprep and -complete
19797
19798 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19799
19800         * gst/gstevent.c: (gst_event_new_new_segment),
19801         (gst_event_parse_new_segment):
19802         * gst/gstevent.h:
19803           fix #320529 - clean up new_segment API and structure.
19804           Let's hope everyone was using the methods, and not the structure.
19805
19806 2005-11-29  Edward Hervey  <edward@fluendo.com>
19807
19808         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19809         (gst_base_sink_event), (gst_base_sink_do_sync),
19810         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
19811         Properly handle non GST_FORMAT_TIME segment
19812         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
19813         Properly handle non GST_FORMAT_TIME segment
19814         * gst/gstsegment.c:
19815         This function is valid if the accumulator is 0 and the format
19816         is different from the requested format.
19817         
19818 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
19819
19820         * docs/gst/gstreamer-sections.txt:
19821         Add gst_query_new_seeking and gst_query_parse_seeking to the
19822         docs.
19823
19824 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
19825
19826         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
19827           Treat a pad alloc with new caps the same as if we were not
19828           negotiated, in order to allow a changing upstream output
19829           to produce a new format of data.
19830
19831 2005-11-29  Edward Hervey  <edward@fluendo.com>
19832
19833         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
19834         (gst_base_transform_event), (gst_base_transform_eventfunc):
19835         The event virtual method is now properly implemented, with a default
19836         handler
19837         Sub classes should call the parent_class event method. They should
19838         return FALSE if they had a problem handling the given event, or don't
19839         want GstBaseTransform to send that even downstream
19840         * gst/elements/gstidentity.c: (gst_identity_class_init),
19841         (gst_identity_init), (gst_identity_event),
19842         (gst_identity_transform_ip), (gst_identity_set_property),
19843         (gst_identity_get_property):
19844         * gst/elements/gstidentity.h:
19845         Added the single-segment boolean property.
19846         If set to TRUE, it will output a single segment of data, starting from
19847         0, will eat up all incoming newsegment, and modify the timestamp of the
19848         buffers accordingly
19849
19850 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
19851
19852         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
19853           Don't ref NULL target pad (#322751). Improve docs.
19854
19855 2005-11-29  Michael Smith  <msmith@fluendo.com>
19856
19857         * gst/gstregistryxml.c: (load_plugin):
19858           Don't crash if we failed to load a feature from a plugin. 
19859
19860 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19861
19862         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
19863         (GST_START_TEST):
19864           use more check API and less GLib API
19865
19866 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19867
19868         * Makefile.am:
19869           don't run checks if we don't have check
19870         * common/check.mak:
19871           remove the registry when running make torture
19872         * docs/gst/gstreamer-sections.txt:
19873           remove second multiply
19874         * gst/gstqueue.c: (gst_queue_loop):
19875           fix a compile warning when disabling debug
19876
19877 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
19878
19879         * gst/gstinfo.h:
19880         Hey! Let's print the pad name if the pointer != NULL instead
19881         of when it == NULL :-)
19882
19883 2005-11-28  Wim Taymans  <wim@fluendo.com>
19884
19885         * check/gst/gstutils.c: (GST_START_TEST):
19886         Updated check, add some scaling accuracy checking code.
19887
19888         * gst/gstutils.c: (gst_util_div128_64),
19889         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
19890         (gst_util_uint64_scale_int):
19891         Fix 6 times faster division code. Optimize for common 
19892         1/1 and less common X/1 cases.
19893
19894 2005-11-28  Wim Taymans  <wim@fluendo.com>
19895
19896         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19897         More checks.
19898
19899         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
19900         (do_linear_regression), (gst_clock_add_observation):
19901         Cleanups.
19902         Release lock when the clock cannot be slaved.
19903         Catch the case where the regression returned an invalid denominator.
19904
19905         * gst/gstutils.c: (gst_util_div128_64_iterate),
19906         (gst_util_div128_64), (gst_util_uint64_scale_int64),
19907         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
19908         Add protentially more performant non-iterative 128/64 divide function
19909         that unfortunatly does not work yet.
19910         Shortcut the trivial 0/X = 0 case.
19911         Remove the warnings on overflow.
19912
19913 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19914
19915         * gst/gstplugin.c: (gst_plugin_register_func):
19916           everything causing a plugin not to load should be at least a WARNING
19917
19918 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
19919
19920         * docs/random/ensonic/dparams.txt:
19921           some TODOs for the next dev cycle
19922         * libs/gst/controller/gstcontroller.c:
19923         (gst_controlled_property_set_interpolation_mode),
19924         (gst_controlled_property_new):
19925         * libs/gst/controller/gstcontroller.h:
19926           use base type to assign acccessor functions
19927
19928 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
19929
19930         * check/Makefile.am:
19931         Oops, that should have been top_srcdir
19932
19933 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
19934
19935         * check/Makefile.am:
19936         * check/elements/fdsrc.c: (GST_START_TEST):
19937         Use a cmdline define to specify the location of a file to use for
19938         testing, to avoid breaking distcheck.
19939
19940 2005-11-28  Andy Wingo  <wingo@pobox.com>
19941
19942         * gst/gstpad.c (fixate_value): Use array functions for arrays.
19943
19944 2005-11-28  Edward Hervey  <edward@fluendo.com>
19945
19946         * tools/gst-launch.c: (main):
19947         Clarify the output strings, makes it easier to translate.
19948         Fixes #322626
19949
19950 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19951
19952         * gst/Makefile.am:
19953           don't try and build net if we don't even have <sys/socket.h>
19954
19955 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
19956
19957         * check/Makefile.am:
19958         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
19959         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
19960           Add tests for fdsrc seekability
19961
19962         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
19963         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
19964         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
19965         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
19966         * gst/elements/gstfdsrc.h:
19967           fdsrc should not be a 'live' source.
19968           Implement seeking on seekable fd's.
19969
19970         * gst/gstquery.c: (gst_query_new_seeking),
19971         (gst_query_parse_seeking):
19972         * gst/gstquery.h:
19973           Implement SEEKING query functions: 
19974             *_new_seeking and *_parse_seeking
19975
19976 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
19977
19978         * gst/gstelement.c: (gst_element_dispose):
19979           don't loop forever
19980
19981         * gst/gstiterator.c:
19982         * gst/gststructure.c:
19983           doc fixes
19984
19985         * libs/gst/controller/gstcontroller.c:
19986         (gst_controlled_property_set_interpolation_mode):
19987         * libs/gst/controller/gstcontroller.h:
19988         * libs/gst/controller/gstinterpolation.c:
19989         (interpolate_none_get_enum_value_array):
19990           support controlling enums
19991
19992 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
19993
19994         * gst/gstvalue.c:
19995           Improve documentation for gst_value_union().
19996
19997         * gst/gstvalue.h:
19998           Change return value for union, intersect and subtract functions
19999           from gint to gboolean.
20000
20001 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
20002
20003         * gst/gstvalue.c: (gst_value_serialize_any_list),
20004         (gst_value_transform_any_list_string),
20005         (gst_value_deserialize_list), (gst_value_deserialize_array),
20006         (gst_value_set_int_range), (gst_value_deserialize_int_range),
20007         (gst_value_set_double_range), (gst_value_deserialize_double_range),
20008         (gst_value_set_fraction_range_full),
20009         (gst_value_deserialize_fraction_range),
20010         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
20011         (gst_value_deserialize_boolean),
20012         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
20013         (gst_value_serialize_float), (gst_value_deserialize_float),
20014         (gst_string_wrap), (gst_value_deserialize_string),
20015         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
20016         (gst_value_union_int_range_int_range),
20017         (gst_value_intersect_int_range_int_range),
20018         (gst_value_intersect_double_range_double_range),
20019         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
20020         (gst_value_subtract_int_range_int_range),
20021         (gst_value_subtract_double_double_range),
20022         (gst_value_subtract_double_range_double_range),
20023         (gst_value_deserialize_fraction):
20024         * gst/gstvalue.h:
20025           Use gint, gdouble and gchar in our API instead of int, double and
20026           char (and make usage in gstvalue.c more consistent).
20027
20028 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
20029
20030         * check/Makefile.am:
20031         * libs/gst/controller/Makefile.am:
20032         * libs/gst/dataprotocol/Makefile.am:
20033           fix up Makefile.am and remove GST_ENABLE_NEW
20034
20035 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
20036
20037         * configure.ac:
20038         * gst/Makefile.am:
20039         * gst/base/Makefile.am:
20040         * gst/check/Makefile.am:
20041         * gst/elements/Makefile.am:
20042         * gst/net/Makefile.am:
20043           update LDFLAGS use some more
20044
20045 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
20046
20047         * common/m4/gst-doc.m4:
20048           Fixes #312589
20049
20050 2005-11-26  Edward Hervey  <edward@fluendo.com>
20051
20052         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
20053         This shouldn't issue a g_warning since it returns NULL if it
20054         couldn't find the plugin, and all functions using this behave
20055         properly on a NULL return. Switching to a GST_WARNING.
20056
20057 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
20058
20059         * gst/gstbin.c: (gst_bin_handle_message_func):
20060         Don't leak clock messages.
20061
20062 2005-11-25  Wim Taymans  <wim@fluendo.com>
20063
20064         * gst/gstutils.c: (gst_util_uint64_scale_int64),
20065         (gst_util_uint64_scale_int):
20066         Optimisations, remove unneeded vars.
20067
20068 2005-11-25  Wim Taymans  <wim@fluendo.com>
20069
20070         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
20071         Added more checks for the high precision uint64 cases.
20072
20073         * gst/gstutils.c: (gst_util_uint64_scale_int64),
20074         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
20075         Implement high precision (guint64 * guint64) / guint64.
20076
20077 2005-11-24  Wim Taymans  <wim@fluendo.com>
20078
20079         * gst/base/gstbasesrc.c: (gst_base_src_query):
20080         Fix wrong percentage query.
20081
20082         * gst/gstutils.c: (gst_util_uint64_scale),
20083         (gst_util_uint64_scale_int):
20084         Add some more common cases that can be handled 
20085         efficiently to _scale.
20086
20087 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20088
20089         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
20090         (gst_mini_object_suite):
20091           don't use check calls from threads; check probably isn't
20092           threadsafe and using a lock to make it threadsafe would
20093           defeat the purpose of this check
20094         * gst/check/gstcheck.c:
20095         * gst/check/gstcheck.h:
20096           use GST_DEBUG some more
20097
20098 2005-11-24  Wim Taymans  <wim@fluendo.com>
20099
20100         * gst/gstutils.c: (gst_util_uint64_scale),
20101         (gst_util_uint64_scale_int):
20102         Chain trivial case to _scale_int.
20103
20104 2005-11-24  Wim Taymans  <wim@fluendo.com>
20105
20106         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
20107         Added test for scaling.
20108
20109         * gst/gstclock.h:
20110         Small doc fix.
20111
20112         * gst/gstutils.c: (gst_util_uint64_scale_int):
20113         Implemented high precision scaling code.
20114
20115 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
20116
20117         * gst/gstinfo.h:
20118           do not crash on pad==NULL
20119
20120 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20121
20122         Patch by: Stefan Kost
20123
20124         * common/gtk-doc.mak:
20125         * docs/gst/Makefile.am:
20126         * docs/libs/Makefile.am:
20127           Fix distcheck issues for the libraries docs build
20128           Closes #319599.
20129
20130 2005-11-24  Michael Smith <msmith@fluendo.com>
20131
20132         * docs/manual/basics-helloworld.xml:
20133           Fix bug #315027: memory leak in example code in docs.
20134
20135 2005-11-24  Michael Smith <msmith@fluendo.com>
20136
20137         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20138           Unlock the PREROLL_LOCK in a failure case.
20139
20140 2005-11-24  Wim Taymans  <wim@fluendo.com>
20141
20142         * docs/gst/gstreamer-sections.txt:
20143         * gst/base/gstadapter.h:
20144         * gst/base/gstbasesink.h:
20145         * gst/base/gstbasesrc.h:
20146         * gst/base/gstbasetransform.h:
20147         * gst/base/gstpushsrc.h:
20148         * gst/elements/gstfakesink.h:
20149         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
20150         * gst/elements/gstfakesrc.h:
20151         * gst/elements/gstfilesink.h:
20152         * gst/elements/gstfilesrc.h:
20153         * gst/gst.c:
20154         * gst/gstbin.c:
20155         * gst/gstbuffer.c: (_gst_buffer_copy):
20156         * gst/gstbus.h:
20157         * gst/gstcaps.c:
20158         * gst/gstchildproxy.c:
20159         * gst/gstclock.c:
20160         * gst/gstelement.c:
20161         * gst/gstelementfactory.c:
20162         * gst/gstelementfactory.h:
20163         * gst/gstevent.c:
20164         * gst/gstghostpad.h:
20165         * gst/gstindex.h:
20166         * gst/gstinterface.h:
20167         * gst/gstminiobject.c:
20168         * gst/gstminiobject.h:
20169         * gst/gstpad.c:
20170         * gst/gstpad.h:
20171         * gst/gstpadtemplate.h:
20172         * gst/gstpipeline.h:
20173         * gst/gstpluginfeature.h:
20174         * gst/gstquery.h:
20175         * gst/gstqueue.h:
20176         * gst/gsttaglist.c:
20177         * gst/gsttaglist.h:
20178         * gst/gsttagsetter.c:
20179         * gst/gsttagsetter.h:
20180         * gst/gsttrace.c:
20181         * gst/gsttrace.h:
20182         * gst/gsttypefind.h:
20183         * gst/gsturi.h:
20184         * gst/gstvalue.c:
20185         * gst/net/gstnetclientclock.c:
20186         * gst/net/gstnetclientclock.h:
20187         * gst/net/gstnettimepacket.c:
20188         * gst/net/gstnettimeprovider.c:
20189         * gst/net/gstnettimeprovider.h:
20190         Doc fixes.
20191
20192 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20193
20194         * configure.ac: back to HEAD
20195
20196 === release 0.9.6 ===
20197
20198 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
20199
20200         * configure.ac:
20201           releasing 0.9.6, "Always On Time"
20202
20203 2005-11-23  Wim Taymans  <wim@fluendo.com>
20204
20205         * docs/gst/gstreamer-sections.txt:
20206         * gst/glib-compat.c:
20207         * gst/gsttagsetter.c:
20208         * gst/gstvalue.c:
20209         * gst/net/gstnetclientclock.c:
20210         * gst/net/gstnettimepacket.h:
20211         Doc updates.
20212
20213 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20214
20215         * docs/faq/using.xml:
20216         * docs/libs/tmpl/gstcontrol.sgml:
20217         * docs/manual/advanced-dparams.xml:
20218         * docs/manual/appendix-checklist.xml:
20219         * docs/manual/basics-elements.xml:
20220         * docs/pwg/other-source.xml:
20221         * docs/random/moving-plugins:
20222         * gst/gstpad.c:
20223         * tools/gst-launch.1.in:
20224           remove mentions of sinesrc
20225
20226 2005-11-23  Michael Smith <msmith@fluendo.com>
20227
20228         * docs/gst/gstreamer-sections.txt:
20229           Update for new API and API changes.
20230         * gst/gstobject.h:
20231           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
20232         * gst/gstvalue.c:
20233           Documentation typo fix.
20234         * gst/net/gstnettimepacket.c:
20235           Documentation fixes for arguments.
20236
20237 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
20238
20239         * gst/gststructure.c: (gst_structure_get_fraction),
20240         (gst_structure_parse_value),
20241         (gst_structure_fixate_field_nearest_fraction):
20242         * gst/gststructure.h:
20243         * gst/gstutils.c: (gst_util_uint64_scale_int):
20244         * gst/gstutils.h:
20245         * scripts/update-funcnames:
20246         API Changes. 
20247         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
20248         Make gst_structure_fixate_field_nearest_fraction take a numerator
20249         and denominator argument instead of a GValue
20250         add gst_structure_get_fraction helper function.
20251
20252 2005-11-23  Wim Taymans  <wim@fluendo.com>
20253
20254         * docs/design/part-TODO.txt:
20255         Update TODO.
20256
20257         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
20258         * gst/net/gstnetclientclock.h:
20259         Use parent fields for timeout and window_size.
20260
20261 2005-11-23  Andy Wingo  <wingo@pobox.com>
20262
20263         * check/net/gstnetclientclock.c (test_functioning): Adjust to
20264         rate_num/rate_denom change.
20265
20266         * gst/net/gstnetclientclock.c
20267         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
20268         OBJECT_LOCK. Don't call add_observation with the lock.
20269
20270         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
20271         fraction.
20272         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
20273         rate fraction.
20274         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
20275         deal with rate as a fraction whose numerator and denominator are
20276         GstClockTime values.
20277         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
20278         master; the other fields are protected by the SLAVE_LOCK.
20279         (do_linear_regression): Note that this must be called with the
20280         SLAVE_LOCK.
20281         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
20282         OBJECT_LOCK. Call set_calibration instead of touching the
20283         variables directly.
20284         (gst_clock_set_property, gst_clock_get_property): Protect
20285         master/slave parameters with the SLAVE_LOCK.
20286
20287         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
20288         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
20289         note that all of the instance variables that add_observation and
20290         the set_master functions use are protected by that lock and not
20291         the OBJECT_LOCK.
20292         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
20293
20294         * gst/gstclock.c (gst_clock_add_observation): No longer requires
20295         the caller to take the object lock.
20296
20297 2005-11-23  Wim Taymans  <wim@fluendo.com>
20298
20299         * gst/gsterror.c: (_gst_core_errors_init):
20300         * gst/gsterror.h:
20301         Add error for clock stuff.
20302
20303         * gst/gstpipeline.c: (gst_pipeline_change_state),
20304         (gst_pipeline_set_clock):
20305         Post clock error when clock cannot be used in a pipeline.
20306
20307 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
20308
20309         * docs/gst/gstreamer-sections.txt:
20310           make two symbols from gstinfo private for the docs
20311         * gst/base/gstcollectpads.h:
20312         * gst/gstutils.c:
20313           fix doc typos, update docs
20314
20315 2005-11-22  Wim Taymans  <wim@fluendo.com>
20316
20317         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
20318         (gst_base_sink_wait), (gst_base_sink_do_sync),
20319         (gst_base_sink_handle_event):
20320         * gst/base/gstbasesink.h:
20321         No need to store the clock, the parent element class already
20322         has it.
20323
20324         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
20325         Updates for clock_set returning a gboolean
20326
20327         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
20328         (gst_clock_id_wait_async), (gst_clock_class_init),
20329         (gst_clock_init), (gst_clock_finalize),
20330         (gst_clock_get_internal_time), (gst_clock_get_time),
20331         (gst_clock_slave_callback), (gst_clock_set_master),
20332         (gst_clock_get_master), (do_linear_regression),
20333         (gst_clock_add_observation), (gst_clock_set_property),
20334         (gst_clock_get_property):
20335         * gst/gstclock.h:
20336         Implement master/slave. When setting a clock as a slave, a
20337         periodic timeout is scheduled to sample master and slave times.
20338         Then the slave clock is recalibrated to match offset and rate
20339         of the master clock.
20340         Update logging a bit.
20341         Add flag so that a clock can state that is cannot be slaved to
20342         another clock.
20343
20344         * gst/gstelement.c: (gst_element_set_clock):
20345         * gst/gstelement.h:
20346         The set clock returns a gboolean for when an element cannot
20347         deal with the selected clock in the pipeline. 
20348
20349         * gst/gstpipeline.c: (gst_pipeline_change_state),
20350         (gst_pipeline_set_clock):
20351         * gst/gstpipeline.h:
20352         Handle the case where the selected clock cannot be set on
20353         the pipeline.
20354
20355         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
20356         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
20357         (gst_net_client_clock_set_property),
20358         (gst_net_client_clock_get_property),
20359         (gst_net_client_clock_observe_times):
20360         * gst/net/gstnetclientclock.h:
20361         Use regression code in GstClock parent, remove duplicated
20362         functionality.
20363
20364 2005-11-22  Michael Smith <msmith@fluendo.com>
20365
20366         * gst/gstutils.c: (gst_util_clock_time_scale):
20367         * gst/gstutils.h:
20368         * docs/gst/gstreamer-sections.txt:
20369           Rename method to have extra underscore.
20370
20371 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20372
20373         * gst/elements/Makefile.am:
20374         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
20375         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
20376         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
20377         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
20378         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
20379         * gst/elements/gstfakesrc.h:
20380         * gst/gstqueue.c: (queue_leaky_get_type):
20381           correctly fix GEnumValues so that nick is the short lowercase
20382           dashed tag
20383         * tools/gst-inspect.c: (print_element_properties_info):
20384           also show the nick, since it's useful to use from parse_launch
20385           syntax
20386           Fixes #322139
20387
20388 2005-11-22  Michael Smith <msmith@fluendo.com>
20389
20390         * gst/gstutils.c: (gst_util_clocktime_scale):
20391         * gst/gstutils.h:
20392         * docs/gst/gstreamer-sections.txt:
20393           Add util method for scaling a clocktime by a fraction. Useful 
20394           implementation is left as an exercise for the reader.
20395
20396 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20397
20398         * gst/gstvalue.c: (gst_value_collect_fraction_range):
20399         If needed, allocate storage in the destination value during
20400         collection.
20401
20402 2005-11-22  Edward Hervey  <edward@fluendo.com>
20403
20404         * docs/gst/gstreamer-sections.txt:
20405         * gst/Makefile.am:
20406         * gst/gst.h:
20407         * gst/gsturitype.c:
20408         * gst/gsturitype.h:
20409         * gst/gstutils.c: (gst_util_set_object_arg):
20410         * tools/gst-compprep.c: (main):
20411         * tools/gst-inspect.c: (print_element_properties_info):
20412         Removed GstURI, closes bug #321061
20413
20414 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20415
20416         * check/gst/gststructure.c: (GST_START_TEST):
20417         * gst/gststructure.c: (gst_structure_parse_value):
20418           Oops, broke automatic string type parsing.
20419           Add a test to catch it in future.
20420
20421 2005-11-22  Andy Wingo  <wingo@pobox.com>
20422
20423         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
20424         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
20425         Actually rename the function implementations. Grr.
20426
20427 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20428
20429         * check/gst/capslist.h:
20430           Comment test cases
20431         * check/gst/gststructure.c: (GST_START_TEST),
20432         (gst_structure_suite):
20433           Test automatic value type detection in gst_structure_from_string.
20434         * gst/gststructure.c: (gst_structure_parse_value):
20435           Add fraction as a type we try and guess automatically in
20436           caps/structure strings.
20437
20438 2005-11-22  Andy Wingo  <wingo@pobox.com>
20439
20440         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
20441
20442         * gst/gsttagsetter.h:
20443         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
20444         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
20445         (gst_tag_setter_add_tag_valist)
20446         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
20447         _add_values, _add_valist, and _add_valist_values. Since this is an
20448         interface the function suffixes should be more explicit so
20449         language binding don't end up with element.add_valist ->
20450         gst_tag_setter_add_valist, for example. Fixes #322069.
20451
20452 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20453
20454         * check/gst/gstcaps.c: (GST_START_TEST):
20455           Extend caps string tests to check that a caps to string
20456           conversion is reversible and produces the same caps.
20457
20458         * gst/gststructure.c: (gst_structure_value_get_generic_type):
20459           Output "fraction" as the generic type fraction range, so caps
20460           serialisation and deserialisation works.
20461         * check/gst/capslist.h:
20462         * gst/gstvalue.c: (gst_value_deserialize_fraction):
20463           Support 'MIN' and 'MAX' for deserialising fractions.
20464
20465 2005-11-22  Andy Wingo  <wingo@pobox.com>
20466
20467         * gst/gstevent.h (gst_event_new_new_segment)
20468         (gst_event_parse_new_segment, gst_event_new_buffer_size)
20469         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
20470         Renamed from *_newsegment, *_buffersize, *_notarget.
20471
20472         * scripts/update-funcnames: New script, performs the changes
20473         listed above.
20474
20475 2005-11-22  Wim Taymans  <wim@fluendo.com>
20476
20477         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20478         Make sure the GstFlowReturn is returned.
20479
20480         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
20481         (gst_bus_add_signal_watch):
20482         * gst/gstbus.h:
20483         add gst_bus_add_signal_watch_full.
20484
20485         * gst/gstplugin.c: (gst_plugin_load_file):
20486         Small style cleanup.
20487
20488 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20489
20490         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
20491           Block the fakesrc srcpad when we send an event, to avoid
20492           contention on the stream_lock causing random test failures.
20493
20494 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20495
20496         * check/gst/gstvalue.c: (GST_START_TEST):
20497         * gst/gstvalue.c: (gst_value_fraction_subtract):
20498           Fix subtraction.
20499
20500 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
20501
20502         * gst/gst.h:
20503           include "gstchildproxy.h"
20504         * gst/gstchildproxy.h:
20505         * libs/gst/controller/gstcontroller.h:
20506           use G_GNUC_NULL_TERMINATED
20507
20508 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20509
20510         * check/gst/capslist.h:
20511         * check/gst/gstcaps.c: (GST_START_TEST):
20512         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20513         * gst/gststructure.c: (gst_structure_parse_range),
20514         (gst_structure_fixate_field_nearest_fraction):
20515         * gst/gststructure.h:
20516         * gst/gstvalue.c: (gst_value_init_fraction_range),
20517         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
20518         (gst_value_collect_fraction_range),
20519         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
20520         (gst_value_set_fraction_range_full),
20521         (gst_value_get_fraction_range_min),
20522         (gst_value_get_fraction_range_max),
20523         (gst_value_serialize_fraction_range),
20524         (gst_value_transform_fraction_range_string),
20525         (gst_value_compare_fraction_range),
20526         (gst_value_deserialize_fraction_range),
20527         (gst_value_intersect_fraction_fraction_range),
20528         (gst_value_intersect_fraction_range_fraction_range),
20529         (gst_value_subtract_fraction_fraction_range),
20530         (gst_value_subtract_fraction_range_fraction),
20531         (gst_value_subtract_fraction_range_fraction_range),
20532         (gst_value_collect_fraction), (gst_value_fraction_multiply),
20533         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
20534         (gst_value_transform_string_fraction), (_gst_value_initialize):
20535         * gst/gstvalue.h:
20536           Implement fraction ranges and extend GstFraction to support
20537           arithmetic subtraction, as well as deserialization from integer
20538           strings such as "100"
20539           Add a testsuite as for int and double range set operations
20540
20541 2005-11-21  Andy Wingo  <wingo@pobox.com>
20542
20543         * gst/gsttaglist.h: 
20544         * gst/gstcaps.h: 
20545         * gst/gststructure.h: Add glib-compat.h.
20546
20547 2005-11-21  Wim Taymans  <wim@fluendo.com>
20548
20549         * gst/gstbin.c: (gst_bin_change_state_func):
20550         Fix for #321595
20551
20552 2005-11-21  Wim Taymans  <wim@fluendo.com>
20553
20554         * gst/gstsegment.h:
20555         And add a nice define too.
20556
20557 2005-11-21  Wim Taymans  <wim@fluendo.com>
20558
20559         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
20560         (gst_segment_new), (gst_segment_free), (gst_segment_init),
20561         (gst_segment_set_duration), (gst_segment_set_last_stop),
20562         (gst_segment_set_seek), (gst_segment_set_newsegment),
20563         (gst_segment_to_stream_time), (gst_segment_to_running_time),
20564         (gst_segment_clip):
20565         * gst/gstsegment.h:
20566         Make binding friendly.
20567
20568 2005-11-21  Andy Wingo  <wingo@pobox.com>
20569
20570         * gst/gsttagsetter.h: 
20571         * gst/gsttaglist.h: 
20572         * gst/gststructure.h: 
20573         * gst/gstcaps.h: 
20574         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
20575         #319940.
20576
20577         * gst/gsterror.c (_gst_core_errors_init):
20578         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
20579         category.
20580
20581         * gst/Makefile.am (gst_headers): Add glib-compat.h.
20582         (noinst_HEADERS): noinst the -private.
20583
20584 2005-11-21  Michael Smith <msmith@fluendo.com>
20585
20586         * gst/gstplugin.h:
20587         * gst/gstregistry.h:
20588           Remove unimplemented declarations for which we can see no sensible
20589           use.
20590
20591 2005-11-21  Andy Wingo  <wingo@pobox.com>
20592
20593         * gst/gst.h: Include glib-compat.h.
20594
20595         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
20596
20597         * gst/glib-compat.c: Include the public and the private header.
20598
20599         * gst/glib-compat-private.h: Copied here from glib-compat.h.
20600
20601         * gst/gstvalue.c: 
20602         * gst/gstpad.c: 
20603         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
20604
20605         * check/gst/gstevent.c (create_custom_events): Check that
20606         FLUSH_STOP is serialized.
20607
20608         * check/elements/identity.c (event_func): 
20609         * check/elements/fakesrc.c (event_func): No stream lock, the core
20610         takes it.
20611
20612         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
20613         stream lock taking, yay.
20614
20615         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
20616         ensure that core takes the stream lock.
20617
20618         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
20619         lock name change.
20620
20621         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
20622         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
20623         it already. For the flush start we do take it though so we get the
20624         right preroll state change messages.
20625
20626         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
20627         the stream lock here, the core does it for us.
20628
20629         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
20630         GST_STREAM_GET_LOCK.
20631         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
20632         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
20633         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
20634         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
20635         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
20636         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
20637
20638         * gst/gstpad.c: Update for stream lock name change.
20639
20640         * gst/base/gstbasesink.c: Update for preroll lock name change.
20641
20642 2005-11-21  Wim Taymans  <wim@fluendo.com>
20643
20644         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
20645         (gst_clock_get_master):
20646         * gst/gstclock.h:
20647         * gst/gstsystemclock.c: (gst_system_clock_init):
20648         Convert Clock flags to object flags.
20649         Added methods to manage master/slave clocks.
20650
20651 2005-11-21  Wim Taymans  <wim@fluendo.com>
20652
20653         * check/gst/gstsegment.c: (GST_START_TEST):
20654         * docs/design/part-TODO.txt:
20655         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20656         (gst_base_sink_event), (gst_base_sink_do_sync),
20657         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
20658         (gst_base_sink_query), (gst_base_sink_change_state):
20659         * gst/base/gstbasesink.h:
20660         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
20661         (gst_base_src_default_newsegment),
20662         (gst_base_src_configure_segment), (gst_base_src_do_seek),
20663         (gst_base_src_get_range), (gst_base_src_loop),
20664         (gst_base_src_change_state):
20665         * gst/base/gstbasesrc.h:
20666         * gst/base/gstbasetransform.c:
20667         (gst_base_transform_prepare_output_buf),
20668         (gst_base_transform_event), (gst_base_transform_change_state):
20669         * gst/base/gstbasetransform.h:
20670         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
20671         (gst_collect_pads_event):
20672         * gst/base/gstcollectpads.h:
20673         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
20674         (gst_fake_src_create):
20675         * gst/elements/gstfakesrc.h:
20676         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
20677         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20678         (gst_segment_set_last_stop), (gst_segment_set_seek),
20679         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
20680         (gst_segment_to_running_time), (gst_segment_clip):
20681         * gst/gstsegment.h:
20682         More segment updates, replace code in plugins with segment
20683         helper functions.
20684
20685 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20686
20687         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
20688         Don't ignore sscanf results
20689
20690 2005-11-21  Andy Wingo  <wingo@pobox.com>
20691
20692         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
20693
20694         * *.h:
20695         * *.c: Ran scripts/update-macros. Oh yes.
20696
20697         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
20698         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
20699         GST_GET_LOCK, etc.
20700
20701         * scripts/update-macros: New script. Run it on your files to
20702         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
20703         well.
20704
20705 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
20706
20707         * docs/gst/Makefile.am:
20708         * docs/gst/gstreamer-docs.sgml:
20709         * docs/gst/gstreamer-sections.txt:
20710         * docs/gst/gstreamer.types:
20711         * gst/gstinfo.h:
20712           more docs fixes, add new api to the docs
20713
20714 2005-11-21  Andy Wingo  <wingo@pobox.com>
20715
20716         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
20717         state_broadcast call.
20718
20719         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
20720
20721 2005-11-21  Julien MOUTTE  <julien@moutte.net>
20722
20723         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
20724         function calls for arrays.
20725
20726 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
20727
20728         * docs/random/ensonic/media-device-daemon.txt:
20729           wild idea, can this be done?
20730         * docs/gst/gstreamer-sections.txt:
20731         * gst/gsterror.h:
20732         * gst/gstfilter.c:
20733         * gst/gstfilter.h:
20734         * gst/gstplugin.h:
20735         * gst/gstpluginfeature.c:
20736         * gst/gsttrace.c:
20737         * gst/gstvalue.c:
20738         * gst/gstvalue.h:
20739           doc fixes and additions
20740
20741 2005-11-21  Andy Wingo  <wingo@pobox.com>
20742
20743         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
20744         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
20745         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
20746         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
20747         private to the basesrc implementation.
20748
20749         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
20750         behalf of event function if necessary. It should no longer be
20751         necessary to take the stream lock in pad's event functions. Fixes
20752         #320299.
20753
20754 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20755         * docs/gst/gstreamer-sections.txt:
20756         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
20757         (gst_structure_fixate_field_nearest_double),
20758         (gst_structure_fixate_field_boolean):
20759         * gst/gststructure.h:
20760         * win32/common/libgstreamer.def:
20761         * win32/gstreamer.def:
20762
20763         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
20764         (#322027)
20765
20766 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20767
20768         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
20769         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
20770         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
20771         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
20772         (gst_fdsrc_uri_handler_init):
20773         * gst/elements/gstfdsrc.h:
20774           Port fd:// URI handler from 0.8 to fdsrc
20775
20776 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20777
20778         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
20779         (gst_value_serialize_fourcc):
20780         * gst/gstvalue.h:
20781           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
20782           consistent with our other format defines (#320324).
20783
20784 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20785
20786         * gst/gstvalue.c: (gst_value_is_fixed):
20787           Revert previous commit. Value lists are by definition
20788           not fixed, as they are a list of possible values.
20789
20790 2005-11-21  Andy Wingo  <wingo@pobox.com>
20791
20792         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
20793         during the stable series if we need it. Fixes #319178.
20794
20795         * gst/gstevent.c (gst_event_new_filler): Removed.
20796
20797         * check/gst/gstevent.c: Update comment about filler events.
20798
20799 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20800
20801         * gst/gstvalue.c: (gst_value_is_fixed):
20802           Should handle both value arrays and value lists.
20803
20804 2005-11-21  Andy Wingo  <wingo@pobox.com>
20805
20806         patch by: Alessandro Dessina <alessandro nnva org>
20807
20808         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
20809         functions to access arrays. Fixes #321962.
20810
20811 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20812
20813         * docs/gst/gstreamer.types:
20814           gst_collectpads_get_type => gst_collect_pads_get_type.
20815           
20816         * gst/base/gstbasetransform.c:
20817           Remove unused SIGNAL_HANDOFF enum.
20818
20819 2005-11-21  Andy Wingo  <wingo@pobox.com>
20820
20821         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
20822         the event type (upstream, downstream, serialized). Renamed
20823         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
20824         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
20825         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
20826
20827         * gst/gstevent.c: Update for new CUSTOM event names.
20828
20829         * check/gst/gstevent.c: Update check for new CUSTOM event names.
20830
20831         * gst/gstevent.h:
20832         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
20833         bug #319392.
20834
20835 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20836
20837         * docs/gst/gstreamer-sections.txt:
20838         * win32/common/libgstbase.def:
20839         * win32/libgstbase.def:
20840         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
20841         (gst_collect_pads_class_init), (gst_collect_pads_init),
20842         (gst_collect_pads_finalize), (gst_collect_pads_new),
20843         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
20844         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
20845         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
20846         (gst_collect_pads_start), (gst_collect_pads_stop),
20847         (gst_collect_pads_peek), (gst_collect_pads_pop),
20848         (gst_collect_pads_available), (gst_collect_pads_read),
20849         (gst_collect_pads_flush), (gst_collect_pads_event),
20850         (gst_collect_pads_chain):
20851         * gst/base/gstcollectpads.h:
20852           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
20853           unimplemented functions as unimplemented. Add padding to
20854           GstCollectData. (#320766, #320423)
20855
20856 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20857
20858         * gst/gstmessage.c:
20859           Improve docs for DURATION message (usage of duration parameter)
20860           (#320113)
20861
20862 2005-11-20  Wim Taymans  <wim@fluendo.com>
20863
20864         * check/Makefile.am:
20865         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
20866         (main):
20867         * gst/Makefile.am:
20868         * gst/gst.h:
20869         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20870         (gst_segment_set_seek), (gst_segment_set_newsegment),
20871         (gst_segment_to_stream_time), (gst_segment_to_running_time),
20872         (gst_segment_clip):
20873         * gst/gstsegment.h:
20874         Added segment helper structure and methods. Not fully implemented
20875         yet.
20876         Added segment check.
20877
20878 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
20879
20880         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20881           Add a deserialisation test for fractions
20882         * examples/metadata/read-metadata.c: (message_loop),
20883         (make_pipeline), (main):
20884           Fix up metadata reading sample.
20885         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
20886           Debug format fix
20887         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
20888           Don't try and fixate empty caps
20889         * gst/gst_private.h:
20890           Wrap in G_BEGIN_DECLS/G_END_DECLS
20891         * gst/gstvalue.c: (gst_value_collect_fraction),
20892         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
20893         (gst_value_transform_string_fraction),
20894         (gst_value_compare_fraction):
20895           Add some extra guards to ensure that we don't end up 
20896           with an invalid denominator of 0 in a gstfraction and
20897           that fractions always get reduced.
20898
20899 2005-11-20  Wim Taymans  <wim@fluendo.com>
20900
20901         * docs/gst/gstreamer-sections.txt:
20902         * gst/gstbuffer.h:
20903         * gst/gstelement.c:
20904         * gst/gstformat.c:
20905         * gst/gstformat.h:
20906         * gst/gstindex.h:
20907         * gst/gstquery.c:
20908         * gst/gstquery.h:
20909         * gst/gstvalue.c:
20910         Doc fixes.
20911
20912 2005-11-20  Wim Taymans  <wim@fluendo.com>
20913
20914         * docs/design/part-TODO.txt:
20915         * gst/gstcaps.h:
20916         Make a proper enum of the flag.
20917
20918 2005-11-19  Wim Taymans  <wim@fluendo.com>
20919
20920         * docs/design/part-TODO.txt:
20921         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
20922         (gst_format_to_quark), (gst_format_register):
20923         * gst/gstformat.h:
20924         * gst/gstquery.c: (_gst_query_initialize),
20925         (gst_query_type_get_name), (gst_query_type_to_quark),
20926         (gst_query_type_register):
20927         * gst/gstquery.h:
20928         Add type to quark and type to string conversions.
20929
20930 2005-11-19  Andy Wingo  <wingo@pobox.com>
20931
20932         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
20933         #320097.
20934
20935 2005-11-19  Wim Taymans  <wim@fluendo.com>
20936
20937         * docs/design/part-TODO.txt:
20938         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
20939         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
20940         (gst_bin_handle_message_func):
20941         * gst/gstbin.h:
20942         Make message handling overridable.
20943
20944 2005-11-19  Andy Wingo  <wingo@pobox.com>
20945
20946         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
20947
20948         * gst/gstclock.h:
20949         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
20950         be a GstClockTime.
20951         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
20952         is a GstClockTime. Fixes #321710.
20953
20954         * gst/gstclock.h (GstClock): Remove offset property. Add
20955         internal_calibration and external_calibration. Fix padding. Pad
20956         also by GstClockTime so we don't run into problems.
20957
20958         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
20959         (gst_clock_get_rate_offset): Remove.
20960         (gst_clock_set_time_adjust): Remove. Fixes #321712.
20961
20962         * gst/gstutils.h:
20963         * gst/gstutils.c (g_static_rec_cond_wait)
20964         (g_static_rec_cond_timed_wait): Removed, no longer needed.
20965
20966         * gst/gstbin.c: Remove terrible continue_state prototype.
20967
20968         * gst/gstelement.h (gst_element_continue_state): Make public.
20969
20970         * gst/gstelement.h:
20971         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
20972         by continue_state. Fixes #319389.
20973
20974         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
20975         Really fixes #168438. However I don't see anywhere where the
20976         filter function is called... stupid GStreamer...
20977         
20978         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
20979         don't have a dispose function, so it won't get called when the
20980         object is unreffed, but oh well!
20981
20982         * gst/gstindex.c (gst_index_set_filter_full): New API function,
20983         allows a destroy function to be set so user_data can be freed.
20984         Fixes #168438.
20985         (gst_index_set_filter): Call gst_index_set_filter_full.
20986
20987         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
20988
20989         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
20990         string should produce an error, given the lack of a way to
20991         represent NULL strings. Fixes #165650.
20992         
20993         * gst/gstvalue.h: 
20994         * gst/gstvalue.c (gst_value_array_append_value) 
20995         (gst_value_array_prepend_value, gst_value_array_get_size) 
20996         (gst_value_array_get_value): New API, copied from
20997         gst_value_list_*, only operates on arrays.
20998         (gst_value_list_append_value, gst_value_list_prepend_value) 
20999         (gst_value_list_concat, gst_value_list_get_size) 
21000         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
21001
21002         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
21003         init_list, because it works on both.
21004         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
21005         (gst_value_copy_list_or_array): Renamed from copy_list.
21006         (gst_value_free_list_or_array): Renamed from free_list.
21007         (gst_value_collect_list_or_array): Renamed from collect_list.
21008         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
21009         (gst_value_list_or_array_peek_pointer): Renamed from
21010         list_peek_pointer.
21011         (_gst_value_array_value_table, _gst_value_list_value_table):
21012         Update value table functions.
21013         (gst_value_compare_list_or_array): Renamed from compare_list.
21014
21015         * gsttaglist.h: Whoops, foreach function returns void. Also fix
21016         some constness.
21017
21018         * gst/gsttaglist.c:
21019         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
21020         GstTagList*. Fixes #143472.
21021
21022         * gst/gststructure.h: Clarify what the foreach/map functions can
21023         or can't do to their arguments.
21024
21025 2005-11-18  Wim Taymans  <wim@fluendo.com>
21026
21027         * gst/gstclock.c: (gst_clock_set_calibration),
21028         (gst_clock_get_calibration):
21029         Doc and API fixes.
21030         Calibration can be set with internal time equal to current
21031         internal time too.
21032
21033 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
21034
21035         * gst/gsterror.c:
21036         * gst/gsterror.h:
21037           document
21038
21039 2005-11-18  Andy Wingo  <wingo@pobox.com>
21040
21041         * configure.ac: 
21042         * pkgconfig/gstreamer-net.pc.in:
21043         * pkgconfig/gstreamer-net-uninstalled.pc.in:
21044         * pkgconfig/Makefile.am: Add net pkgconfig files.
21045
21046 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
21047
21048         * gst/gstcaps.c:
21049         * gst/gstghostpad.c:
21050         * gst/gsttrace.c:
21051         * gst/gstvalue.c:
21052         * gst/gstvalue.h:
21053           docs fixes
21054
21055 2005-11-18  Andy Wingo  <wingo@pobox.com>
21056
21057         * gst/net/gstnetclientclock.c: Turn off debugging.
21058
21059         * check/net/gstnetclientclock.c (test_functioning): Assert that the
21060         times connverge somewhat. Can't make a real test.
21061
21062         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
21063         integer arithmetic. Return the minimum of the domain, which can be
21064         set as "internal" for gst_clock_set_calibration.
21065         (gst_net_client_clock_observe_times): Call _set_calibration.
21066         (gst_net_client_clock_new): Call _set_calibration instead of
21067         rate_offset.
21068
21069         * check/net/gstnetclientclock.c (test_functioning): Use the right
21070         adjustment api.
21071
21072         * gst/gstclock.h:
21073         * gst/gstclock.c (gst_clock_get_calibration) 
21074         (gst_clock_set_calibration): New functions, obsolete the ones I
21075         added yesterday. Doh. Precision issues mean we have to extrapolate
21076         from a point in the more recent past than 1970.
21077         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
21078         obsolete.
21079         (gst_clock_adjust_unlocked): Use the right calibration data.
21080
21081 2005-11-18  Edward Hervey  <edward@fluendo.com>
21082
21083         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
21084         Also reset the ->current_* values in READY->PAUSED
21085
21086 2005-11-18  Andy Wingo  <wingo@pobox.com>
21087
21088         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
21089         Whoops, check the right fd. Also add some debugging.
21090         (gst_net_client_clock_observe_times): Adjust for int64 offset.
21091         (do_linear_regression): Add a crapload of debugging. Subtract off
21092         the minimum values from the input series to discard unneeded bits.
21093         Use only int arithmetic. There is still double arithmetic when
21094         calculating the intercept that needs fixing. Return boolean to
21095         indicate success; FALSE would mean the domain or range is too
21096         great. Still needs fixes.
21097
21098 2005-11-18  Wim Taymans  <wim@fluendo.com>
21099
21100         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
21101         For the current position in stream time, we need to subtract
21102         accumulated time.
21103         
21104         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
21105         Release lock before calling the callback function of async
21106         entries.
21107
21108 2005-11-18  Andy Wingo  <wingo@pobox.com>
21109
21110         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
21111         Port goes all the way to MAXUINT16.
21112
21113         * gst/net/gstnettimeprovider.c: Make the port range the same as
21114         for the kernel: 0 assigns, otherwise ports are less than
21115         MAXUINT16.
21116
21117         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
21118         port change.
21119
21120         * check/net/gstnetclientclock.c (test_functioning): Add the start
21121         of another test. 
21122
21123 2005-11-18  Wim Taymans  <wim@fluendo.com>
21124
21125         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
21126         (gst_bin_remove_func), (bin_bus_handler):
21127         * gst/gstbin.h:
21128         Removing a clock provider from a bin, triggers a clock lost message
21129         so that a new clock will be selected.
21130         Adding a clock to a bin triggers a clock provider message.
21131         Make sure we reselect a clock when we received a clock lost message.
21132         Keep a reference to the element that provided the clock.
21133
21134 2005-11-18  Andy Wingo  <wingo@pobox.com>
21135
21136         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
21137         the clock initially so it produces values around the base time.
21138         (gst_net_client_clock_class_init): Typo fix.
21139         (gst_net_client_clock_thread): Add note on when the socket gets
21140         closed.
21141
21142 2005-11-17  Wim Taymans  <wim@fluendo.com>
21143
21144         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
21145         Free remote and local time arrays.
21146
21147 2005-11-17  Wim Taymans  <wim@fluendo.com>
21148
21149         * gst/net/gstnetclientclock.c: (do_linear_regression),
21150         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
21151         Fix compilation, uninitialized vars and a forgotten continue.
21152
21153 2005-11-17  Andy Wingo  <wingo@pobox.com>
21154
21155         * check/Makefile.am (check_PROGRAMS): 
21156         * check/net/gstnetclientclock.c: Add a most minimal test for the
21157         net client clock. More to come later.
21158
21159         * gst/net/gstnet.h: 
21160         * gst/net/Makefile.am: Add netclientclock.
21161
21162         * gst/net/gstnetclientclock.h:
21163         * gst/net/gstnetclientclock.c: New files, implement an untested
21164         GstClock that takes its time from a network time provider.
21165         Implements the algorithm in network-clock.scm.
21166
21167         * tests/network-clock.scm (*window-size*): Rename from
21168         *queue-length*.
21169         * tests/network-clock.scm (network-time): 
21170         * tests/network-clock-utils.scm (q-push): Update callers.
21171
21172 2005-11-17  Wim Taymans  <wim@fluendo.com>
21173
21174         * gst/gstbin.c: (gst_bin_provide_clock_func),
21175         (gst_bin_sort_iterator_new):
21176         And unref the child too..
21177
21178 2005-11-17  Wim Taymans  <wim@fluendo.com>
21179
21180         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
21181         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
21182         Refactor the sort iterator so it can be used while holding the
21183         LOCK too.
21184         Make clock selection select a clock closest to the source.
21185
21186 2005-11-17  Michael Smith <msmith@fluendo.com>
21187
21188         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
21189         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
21190         * gst/gstclock.h:
21191           Anonymous structs are a gcc (and some other compilers) extension, so
21192           don't use them. Since this is only for ABI-compatibility, and our
21193           API/ABI freeze is over in a few days, this whole thing will only
21194           last a few days, so don't bother trying to think up a meaningful
21195           name for the struct.
21196
21197 2005-11-17  Andy Wingo  <wingo@pobox.com>
21198
21199         * gst/gstclock.h (GstClock): Add rate and offset properties,
21200         preserving ABI stability. Add rate/offset accessors. Will file bug
21201         for the freeze break.
21202
21203         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
21204         and offset, trying to keep precision and avoiding
21205         underflow/overflow.
21206         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
21207         functions. Make gst_clock_set_time_adjust obsolete.
21208         (gst_clock_set_time_adjust): Note that this function is obsolete.
21209         Will file bug soon.
21210
21211         * gst/base/gstbasetransform.h: Make the ABI-stability hack
21212         greppable by using GST_PADDING-1+1.
21213
21214 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
21215
21216         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
21217
21218         * gst/gstmessage.c: (gst_message_parse_clock_lost):
21219           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
21220
21221         * gst/gstpadtemplate.h:
21222         * gst/gstpluginfeature.h:
21223           Don't use c++ style comments in headers (#321638).
21224
21225 2005-11-16  Andy Wingo  <wingo@pobox.com>
21226
21227         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
21228         buffer.
21229
21230         * check/net/gstnettimeprovider.c: Check to see that the time
21231         provider actually provides times. Works, yo!
21232
21233 2005-11-16  Wim Taymans  <wim@fluendo.com>
21234
21235         * check/Makefile.am:
21236         Enable more tests.
21237
21238         * check/elements/fakesrc.c: (GST_START_TEST):
21239         Set element to NULL before disposing it.
21240
21241 2005-11-16  Andy Wingo  <wingo@pobox.com>
21242
21243         * gst/net/Makefile.am:
21244         * gst/net/gstnet.h:
21245         * gst/net/gstnettimeprovider.c: 
21246         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
21247         provider, include it from gstnet.h, and add it to the build.
21248
21249         * gst/net/gstnettimepacket.h: 
21250         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
21251         sending and receiving.
21252
21253 2005-11-16  Wim Taymans  <wim@fluendo.com>
21254
21255         * check/Makefile.am:
21256         Enable valgrind check.
21257
21258         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
21259         (gst_fake_src_alloc_buffer):
21260         Fix memleak.
21261
21262 2005-11-16  Wim Taymans  <wim@fluendo.com>
21263
21264         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
21265         Call parent finalize too.
21266
21267 2005-11-16  Wim Taymans  <wim@fluendo.com>
21268
21269         * check/Makefile.am:
21270         Enable valgrind check that should work fine now.
21271
21272         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21273         * gst/gstqueue.c: (gst_queue_init):
21274         Fix memleaks in pad allocation.
21275
21276 2005-11-16  Andy Wingo  <wingo@pobox.com>
21277
21278         * gst/net/Makefile.am:
21279         * gst/net/gstnet.h: New part of core to hold network elements and
21280         objects. Put in core because it exposes API that applications want
21281         to use. The library is named libgstnet-tempname right now because
21282         of the existing libgstnet in gst-plugins-base. Solution is
21283         probably to rename the one in plugins-base; will file a bug for
21284         the freeze break.
21285
21286         * gst/net/gstnettimeprovider.c: 
21287         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
21288         get_time call over the network.
21289
21290         * configure.ac: 
21291         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
21292
21293         * check/Makefile.am:
21294         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
21295         get additions shortly.
21296
21297 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21298
21299         * gst/gstpad.c: (gst_pad_new_from_static_template):
21300         * gst/gstpad.h:
21301           add gst_pad_new_from_static_template functions
21302         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
21303         (gst_check_setup_sink_pad):
21304         * gst/elements/gsttee.c: (gst_tee_init):
21305           and use them
21306
21307 2005-11-16  Wim Taymans  <wim@fluendo.com>
21308
21309         * gst/gstpad.c: (gst_pad_pause_task):
21310         Removed warning, it's not really an error either.
21311
21312 2005-11-16  Wim Taymans  <wim@fluendo.com>
21313
21314         * gst/base/gstbasetransform.c:
21315         (gst_base_transform_prepare_output_buf),
21316         (gst_base_transform_event):
21317         Check if the caps are NULL, this can happen if the element
21318         is shutting down and the pad caps are set to NULL.
21319
21320 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21321
21322         * gst/elements/gsttee.c: (gst_tee_init):
21323           fix pad template leak in tee
21324
21325 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21326
21327         * gst/glib-compat.c: (g_value_dup_gst_object):
21328         * gst/glib-compat.h:
21329         * gst/gstpad.c: (gst_pad_set_property):
21330           use gst_object_ref when setting the pad template; this will
21331           trigger the pad template leaks on GLib 2.6 and the slaves
21332
21333 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21334
21335         * gst/glib-compat.c: (gst_flags_get_first_value):
21336         * gst/glib-compat.h:
21337         * gst/gstregistryxml.c:
21338           remove functions copied from GLib 2.6
21339
21340 2005-11-16  Michael Smith <msmith@fluendo.com>
21341
21342         * gst/Makefile.am:
21343           Don't link against VALGRIND_LIBS. That was always the wrong thing to
21344           do, but only breaks with newer valgrind versions. We're not a
21345           valgrind tool, we have no link-time dependencies on libcoregrind.
21346
21347 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21348
21349         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
21350           some debug changes
21351         * gst/gstmessage.h:
21352           typo fixes
21353
21354 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21355
21356         * gst/base/gstbasesrc.c: (gst_base_src_init):
21357         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21358         * gst/gstqueue.c: (gst_queue_init):
21359         * gst/gstregistryxml.c: (load_feature):
21360           Revert all these unrefs, they don't even pass make check !
21361
21362 2005-11-15  Johan Dahlin  <johan@gnome.org>
21363
21364         * gst/base/gstbasesrc.c: (gst_base_src_init):
21365         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21366         * gst/gstqueue.c: (gst_queue_init): 
21367         Free pad templates, fixes a couple of leaks.
21368
21369 2005-11-15  Daniel Fischer  <dan at f3c dot com>
21370
21371         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
21372
21373         * gst/gstpad.c: (gst_pad_get_property):
21374           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
21375           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
21376           (#321452)
21377
21378 2005-11-15  Wim Taymans  <wim@fluendo.com>
21379
21380         * gst/gstevent.c:
21381         Small doc update.
21382
21383 2005-11-15  Andy Wingo  <wingo@pobox.com>
21384
21385         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
21386
21387         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
21388         using GST_CLOCK_TIME_NONE to disable base time management.
21389         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
21390         time if it was NONE before.
21391         (gst_pipeline_change_state): Only munge the base time if
21392         stream_time != GST_CLOCK_TIME_NONE.
21393
21394         * check/gst/gstpipeline.c (test_base_time): Punt around the
21395         problem of the probe not being called, because that's not the
21396         issue I'm looking at. Add a check that setting stream_time to NONE
21397         disables base time management.
21398         
21399 2005-11-15  Wim Taymans  <wim@fluendo.com>
21400
21401         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
21402         segment_stop == -1 at startup.
21403
21404         * gst/base/gstbasetransform.c: (gst_base_transform_event),
21405         (gst_base_transform_change_state):
21406         Init segment values at start.
21407
21408 2005-11-15  Wim Taymans  <wim@fluendo.com>
21409
21410         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21411         0 segment values are 0 in any format.
21412
21413         * gst/base/gstbasetransform.c: (gst_base_transform_event):
21414         * gst/base/gstbasetransform.h:
21415         Parse newsegment correctly in basetransform
21416
21417         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
21418         Sync to clock using updated segment values.
21419
21420 2005-11-15  Andy Wingo  <wingo@pobox.com>
21421
21422         * check/gst/gstpipeline.c (test_base_time): Add check that the
21423         base time and stream time are reset correctly.
21424
21425 2005-11-15  Wim Taymans  <wim@fluendo.com>
21426
21427         * docs/design/part-TODO.txt:
21428         Some more TODO items.
21429
21430 2005-11-15  Andy Wingo  <wingo@pobox.com>
21431
21432         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
21433         error if the user selected "no clock" as the clocking method.
21434
21435         * check/gst/gstpipeline.c (test_base_time): New test for buffer
21436         timestamps with live capture.
21437
21438         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
21439         is 0 but we are a live source, timestamp the buffers using the
21440         element's clock.
21441
21442 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
21443
21444         * docs/gst/gstreamer-sections.txt:
21445         * gst/gsterror.c:
21446         * gst/gstghostpad.c:
21447         * gst/gstobject.h:
21448         * gst/gstxml.c:
21449           more section docs
21450
21451 2005-11-14  Wim Taymans  <wim@fluendo.com>
21452
21453         * common/gst.supp:
21454           add suppressions from Wim's Debian machine
21455
21456 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
21457
21458         * common/gst.supp:
21459           add suppressions from Andy's AMD64 Ubuntu machine
21460
21461 2005-11-14  Andy Wingo  <wingo@pobox.com>
21462
21463         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
21464         STATE_LOCK not necessary. Fixes #311489.
21465
21466         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
21467         #305291.
21468
21469         * gst/gstindex.c (gst_index_add_object): Note in the docs that
21470         this function is not implemented.
21471
21472 2005-11-14  Julien MOUTTE  <julien@moutte.net>
21473
21474         * gst/base/gstbasetransform.c:
21475         (gst_base_transform_prepare_output_buf):
21476         Ref the source pad caps while we need them.
21477         Fixes (#321386)
21478
21479 2005-11-11  Wim Taymans  <wim@fluendo.com>
21480
21481         * docs/gst/gstreamer-sections.txt:
21482         Added some docs for GstCollectData.
21483
21484         * gst/base/gstadapter.c:
21485         Some small code example fix.
21486
21487         * gst/base/gstcollectpads.c:
21488         * gst/base/gstcollectpads.h:
21489         Document some more.
21490
21491 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21492
21493         * configure.ac: back to HEAD
21494
21495 === release 0.9.5 ===
21496
21497 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
21498
21499         * configure.ac:
21500           releasing 0.9.5, "Bike Lunch Day"
21501
21502 2005-11-11  Wim Taymans  <wim@fluendo.com>
21503
21504         * gst/gstbuffer.c: (_gst_buffer_copy):
21505         Copy more flags.
21506
21507         * gst/gstcaps.c: (gst_caps_is_equal):
21508         Fix some docs.
21509         Make _is_equal fast in the trivial cases.
21510
21511         * gst/gstminiobject.c:
21512         * gst/gstminiobject.h:
21513         More docs. Spifify .h file.
21514
21515         * gst/gstutils.c:
21516         Small doc update.
21517
21518 2005-11-11  Wim Taymans  <wim@fluendo.com>
21519
21520         * gst/base/gstbasetransform.c:
21521         (gst_base_transform_prepare_output_buf),
21522         (gst_base_transform_handle_buffer):
21523         Small cleanups.
21524         If we're processing a buffer and need to allocate an output
21525         buffer, we cannot accept a format change. If we did get a 
21526         format change, we have to alloc a buffer ourselves of the 
21527         right size.
21528
21529 2005-11-11  Wim Taymans  <wim@fluendo.com>
21530
21531         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
21532         While checking the flag for reentrancy in the gstcaps function
21533         is nice to detect recursive invocations, it also makes it 
21534         impossible to call getcaps from multiple threads, which must be
21535         possible. So, checking for recursive calls has to go.
21536
21537 2005-11-11  Michael Smith <msmith@fluendo.com>
21538
21539         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21540           Don't sync on buffers that fall partially outside our current
21541           segment. Prevents an assertion failure/abort playing some files.
21542
21543 2005-11-10  Andy Wingo  <wingo@pobox.com>
21544
21545         * check/gst/gstbin.c (test_message_state_changed_children): Style
21546         fix..
21547
21548         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
21549         gst_bus_poll with the signal watch. Ensures that poll and a signal
21550         watch see the same messages.
21551
21552         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
21553         a poll and a watch at the same time get the same messages.
21554
21555 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21556
21557         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
21558         * gst/gstcaps.c: (gst_caps_intersect):
21559           Don't call gst_caps_do_simplify - it doesn't respect order of caps
21560           and it's not needed.
21561
21562 2005-11-10  Wim Taymans  <wim@fluendo.com>
21563
21564         * docs/design/part-TODO.txt:
21565         Updated todo.
21566
21567 2005-11-10  Wim Taymans  <wim@fluendo.com>
21568
21569         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21570         * gst/base/gstbasesrc.c: (gst_base_src_wait),
21571         (gst_base_src_do_sync), (gst_base_src_get_range):
21572         Implement clock sync in base class.
21573
21574 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21575
21576         patch by: Tim-Philipp Müller <tim at centricular dot net>
21577
21578         * gst/gststructure.c: (gst_structure_parse_field),
21579         (gst_structure_from_string):
21580           Forward-port a 0.8 patch to handle escaped spaces in structure string,
21581           so that gst_parse_launch() can deal with spaces in filtered link
21582           caps (fixes #164479)
21583         * check/gst/capslist.h:
21584         * check/gst/gststructure.c: (GST_START_TEST):
21585           add unit tests for this change
21586
21587 2005-11-10  Wim Taymans  <wim@fluendo.com>
21588
21589         * docs/gst/gstreamer-sections.txt:
21590         * gst/gstelement.c:
21591         * gst/gstelement.h:
21592         Fix docs, move some STATE macros to private.
21593
21594 2005-11-10  Wim Taymans  <wim@fluendo.com>
21595
21596         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
21597         Added check for bug #317341
21598
21599         * gst/gstbuffer.c:
21600         * gst/gstbuffer.h:
21601         Some more spiffifying.
21602
21603         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
21604         Call peer linkfunction if we are a source pad. Totally fixes
21605         #317341
21606
21607         * gst/gstpad.c:
21608         Update docs, source pads should call the peer linkfunction
21609         so they can atomically perform the pad link.
21610
21611 2005-11-09  Wim Taymans  <wim@fluendo.com>
21612
21613         * gst/gstbuffer.c:
21614         * gst/gstbuffer.h:
21615         Uber-spiffy-spiffify some more.
21616
21617 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
21618
21619         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
21620         * gst/elements/gstfilesink.c: (gst_file_sink_init):
21621         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21622         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
21623         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
21624         * gst/gstpad.c: (gst_pad_init):
21625           Use GST_DEBUG_FUNCPTR() more extensively.
21626
21627 2005-11-09  Wim Taymans  <wim@fluendo.com>
21628
21629         * gst/gstobject.c: (gst_object_class_init):
21630         * gst/gstobject.h:
21631         Documentation fixes.
21632
21633 2005-11-09  Edward Hervey  <edward@fluendo.com>
21634
21635         * gst/gsttypefindfactory.c:
21636         Fix docs.
21637         
21638 2005-11-09  Edward Hervey  <edward@fluendo.com>
21639
21640         * gst/base/gsttypefindhelper.c:
21641         * gst/gsttypefind.c:
21642         * gst/gsttypefind.h:
21643         Fix docs.
21644
21645 2005-11-09  Wim Taymans  <wim@fluendo.com>
21646
21647         * gst/gstiterator.c:
21648         Fix revision data.
21649
21650         * gst/gsttask.c:
21651         * gst/gsttask.h:
21652         Fix docs.
21653
21654 2005-11-09  Wim Taymans  <wim@fluendo.com>
21655
21656         * gst/gstevent.h:
21657         * gst/gsturi.h:
21658         Fix docs.
21659
21660 2005-11-09  Wim Taymans  <wim@fluendo.com>
21661
21662         * docs/gst/gstreamer-sections.txt:
21663         Moved the message async delivery private lock and cond
21664         to the private section.
21665
21666         * gst/gstmessage.c:
21667         * gst/gstmessage.h:
21668         Fixed docs.
21669
21670 2005-11-09  Edward Hervey  <edward@fluendo.com>
21671
21672         * docs/gst/gstreamer-sections.txt:
21673         * gst/gsturi.c:
21674         * gst/gsturi.h:
21675         Document GstURIHandler
21676
21677 2005-11-09  Wim Taymans  <wim@fluendo.com>
21678
21679         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
21680         (gst_iterator_find_custom):
21681         * gst/gstiterator.h:
21682         Fix iterator docs.
21683
21684 2005-11-09  Wim Taymans  <wim@fluendo.com>
21685
21686         * gst/gstbin.h:
21687         Document another field.
21688
21689         * gst/gststructure.c:
21690         * gst/gststructure.h:
21691         Document.
21692
21693 2005-11-09  Wim Taymans  <wim@fluendo.com>
21694
21695         * gst/gstbin.h:
21696         Documented structs.
21697
21698 2005-11-09  Wim Taymans  <wim@fluendo.com>
21699
21700         * docs/gst/gstreamer-sections.txt:
21701         Added some new macros.
21702
21703         * gst/gstclock.c:
21704         * gst/gstclock.h:
21705         * gst/gstobject.h:
21706         Docs updates.
21707
21708 2005-11-09  Wim Taymans  <wim@fluendo.com>
21709
21710         * docs/design/part-TODO.txt:
21711         Some more items for the TODO
21712
21713         * gst/gstcaps.c:
21714         * gst/gstcaps.h:
21715         Document GstCaps.
21716
21717 2005-11-09  Andy Wingo  <wingo@pobox.com>
21718
21719         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
21720         to work on something else now tho...
21721
21722         * gst/base/gstadapter.c: More adapter docs.
21723
21724         * gst/elements/gstfilesink.c (gst_file_sink_start) 
21725         (gst_file_sink_stop): New functions, replace the state change
21726         handler.
21727         (gst_file_sink_class_init): Hook up the start and stop functions.
21728         (gst_file_sink_base_init): Don't set the state change handler any
21729         more. It was a bit ugly too, being set from here...
21730         (gst_file_sink_get_property, gst_file_sink_set_property):
21731         Cleanups...
21732         (gst_file_sink_set_location): More robust check that doesn't call
21733         GST_STATE. Ugggggg.
21734
21735 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
21736
21737         * gst/base/gstbasetransform.c: (gst_base_transform_event):
21738           Hold STREAM_LOCK while pushing newsegment or tag events as well.
21739
21740 2005-11-08  Wim Taymans  <wim@fluendo.com>
21741
21742         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
21743         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
21744         (gst_base_sink_chain), (gst_base_sink_change_state):
21745         * gst/base/gstbasesink.h:
21746         * gst/base/gstbasesrc.h:
21747         * gst/gstelement.h:
21748         * gst/gstevent.h:
21749         Avoid excessive typechecking in macros.
21750
21751         * gst/gstminiobject.c: (gst_mini_object_get_type),
21752         (gst_mini_object_init), (gst_mini_object_new),
21753         (gst_mini_object_free):
21754         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
21755         (gst_object_finalize):
21756         Remove cruft code, optimize alloc_trace.
21757
21758 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
21759
21760         * docs/faq/gst-uninstalled:
21761           fix up PS1 for systems that try to reset it
21762
21763 2005-11-07  Wim Taymans  <wim@fluendo.com>
21764
21765         * gst/base/gstbasesrc.c: (gst_base_src_init),
21766         (gst_base_src_get_range):
21767         Set the segment_end to -1 initially. Fixed typefind.
21768
21769 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
21770
21771         * gst/base/gstadapter.c:
21772           Debug category should be 'adapter', not 'GstAdapter'.
21773           
21774         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
21775         (gst_collectpads_class_init), (gst_collectpads_init),
21776         (gst_collectpads_peek), (gst_collectpads_pop),
21777         (gst_collectpads_event), (gst_collectpads_chain):
21778           Add debug category and some debugging output. Use boilerplate
21779           macros. Remove some extraneous words from docs.
21780
21781 2005-11-05  Andy Wingo  <wingo@pobox.com>
21782
21783         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
21784         macro.
21785
21786 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
21787
21788         * docs/gst/gstreamer-sections.txt:
21789         * gst/gstcaps.h:
21790         * gst/gstinfo.c:
21791         * gst/gstminiobject.h:
21792         * gst/gstobject.h:
21793         * gst/gstutils.h:
21794           more docs added
21795
21796 2005-11-04  Wim Taymans  <wim@fluendo.com>
21797
21798         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21799         Small update to stop at the configured segment_end
21800         position.
21801
21802 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
21803
21804         * gst/gstregistry.c:
21805         * gst/gstregistry.h:
21806           added missing docs
21807
21808 2005-11-04  Edward Hervey  <edward@fluendo.com>
21809
21810         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21811         Check if we are doing a segment seek and have arrived at the
21812         end of that segment.
21813
21814 2005-11-04  Wim Taymans  <wim@fluendo.com>
21815
21816         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
21817         Don't leak a mutex unlock in case of an error.
21818
21819         * gst/gstbus.h:
21820         Doc fixes.
21821
21822 2005-11-04  Wim Taymans  <wim@fluendo.com>
21823
21824         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
21825         (gst_bus_post):
21826         Get the context to wake up only once.
21827
21828 2005-11-03  Wim Taymans  <wim@fluendo.com>
21829
21830         * check/states/sinks.c: (GST_START_TEST):
21831         Uncomment fixed check.
21832
21833         * docs/design/part-TODO.txt:
21834         Updated TODO.
21835
21836         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21837         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
21838         (gst_base_sink_get_position):
21839         If we are going to PLAYING, post the right pending state
21840         when we post the intermediate paused message.
21841
21842         * gst/gstelement.c: (gst_element_continue_state),
21843         (gst_element_set_state_func), (gst_element_change_state):
21844         Don't post state changes that were between the same state
21845         and were not ASYNC.
21846
21847 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
21848
21849         * docs/gst/gstreamer-sections.txt:
21850         * gst/gstcaps.h:
21851         * gst/gstinfo.c:
21852         * gst/gstminiobject.h:
21853         * gst/gstobject.h:
21854         * gst/gstutils.h:
21855           more docs and doc style fixes
21856
21857 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
21858
21859         * docs/gst/gstreamer-sections.txt:
21860         * gst/gstelement.c:
21861         * gst/gstminiobject.c:
21862         doc fixes
21863
21864 2005-11-03  Andy Wingo  <wingo@pobox.com>
21865
21866         * check/states/sinks.c (test_livesrc_sink): Add checks that the
21867         state-changed messages actually have the right order and the right
21868         values.
21869
21870 2005-11-03  Wim Taymans  <wim@fluendo.com>
21871
21872         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
21873         Added some more checks. Specifically the case where NO_PREROLL
21874         elements are in the pipeline.
21875
21876         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21877         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
21878         (gst_base_sink_get_position):
21879         Post READY->PAUSED state change messages too.
21880         Fix bug where VOID was posted as pending state...
21881
21882         * gst/gstbin.c: (gst_bin_recalc_state):
21883         use _element_continue_state() to continue the state change.
21884
21885         * gst/gstelement.c: (gst_element_continue_state),
21886         (gst_element_commit_state), (gst_element_set_state_func),
21887         (gst_element_change_state), (gst_element_change_state_func):
21888         Lots of state change cleanups, assign the STATE_RETURN in
21889         a new continue_state() function that also propagates the
21890         last return value from a state change to the app.
21891         Update some debug statements with proper category.
21892
21893 2005-11-03  Wim Taymans  <wim@fluendo.com>
21894
21895         * docs/design/part-events.txt:
21896         * docs/design/part-gstpipeline.txt:
21897         * docs/design/part-messages.txt:
21898         * docs/design/part-overview.txt:
21899         * docs/design/part-seeking.txt:
21900         * docs/design/part-states.txt:
21901         * docs/design/part-trickmodes.txt:
21902         * docs/manual/advanced-position.xml:
21903         Small docs updates.
21904
21905         * gst/gstobject.h:
21906         People think !! is ugly, this looks better.
21907
21908         * gst/gstpad.c: (gst_pad_set_blocked_async):
21909         Remove !! since it's fixed elsewhere now.
21910
21911 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
21912
21913         * gst/gstminiobject.h:
21914         * gst/gstobject.h:
21915           Add !! to _FLAG_IS_SET macros to make the result boolean.
21916
21917 2005-11-03  Edward Hervey  <edward@fluendo.com>
21918
21919         * gst/gstpad.c: (gst_pad_set_blocked_async):
21920         comparing a flag and a gboolean rarely returns coherent results...
21921         Added two characters (!!) to make that work correctly.
21922         
21923 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
21924
21925         * gst/gstbus.c: (gst_bus_class_init):
21926           Fix some typos.
21927           
21928         * gst/gstqueue.c: (gst_queue_loop):
21929           Don't assume a miniobject that isn't a buffer is an
21930           event (it could be that there is a refcounting
21931           problem somewhere and the pointer is stale and
21932           refers to an already destroyed miniobject).
21933
21934 2005-11-03  Julien MOUTTE  <julien@moutte.net>
21935
21936         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
21937
21938 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
21939
21940         * docs/manual/advanced-position.xml:
21941           Update seek example and explanations to current 0.9 API.
21942
21943         * gst/elements/gsttypefindelement.c:
21944         (gst_type_find_element_activate):
21945           Remove FIXME comment now that the found caps
21946           are unreffed.
21947
21948 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
21949
21950         * gst/gstregistryxml.c: (load_feature):
21951           Add another GST_STR_NULL instance
21952
21953 2005-11-02  Edward Hervey  <edward@fluendo.com>
21954
21955         * gst/gstpad.c: (handle_pad_block):
21956         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
21957         
21958 2005-11-02  Wim Taymans  <wim@fluendo.com>
21959
21960         * gst/gstbin.c:
21961         Fix typo in docs.
21962
21963         * gst/gstelement.c: (gst_element_commit_state):
21964         Remove unused value.
21965
21966         * gst/gstiterator.c:
21967         Mention that the returned element is reffed in the docs.
21968
21969 2005-11-02  Wim Taymans  <wim@fluendo.com>
21970
21971         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
21972         (gst_pad_push), (gst_pad_push_event):
21973         Unlock blocked pads when they are flushed.
21974
21975 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21976
21977         * docs/README:
21978         * docs/gst/gstreamer-sections.txt:
21979         * gst/gstbin.c:
21980           doc updates
21981         * gst/gstregistry.c: (gst_registry_scan_path_level):
21982           fix for a nasty little missed situation where an installed plug-in
21983           which was in the cache did not get overridden by an uninstalled one
21984           which was earlier in the plugin path because the newly created plugin
21985           for the uninstalled one (not in the registry) didn't get its
21986           ->registered set to TRUE
21987
21988 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
21989
21990         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
21991         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
21992         (gst_collectpads_is_active), (gst_collectpads_collect),
21993         (gst_collectpads_collect_range), (gst_collectpads_start),
21994         (gst_collectpads_stop), (gst_collectpads_peek),
21995         (gst_collectpads_pop), (gst_collectpads_available),
21996         (gst_collectpads_read), (gst_collectpads_flush):
21997           Guard public API with assertions.
21998         
21999         * gst/gstpad.c:
22000           Fix docs for gst_pad_set_link_function().
22001
22002 2005-11-02  Johan Dahlin  <johan@gnome.org>
22003
22004         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
22005         Unref found_caps after we used it.
22006
22007 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
22008
22009         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
22010           Don't try to ref NULL.
22011
22012 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
22013
22014         * win32/common/config.h.in:
22015           provide a GST_FUNCTION that just gives a string for now
22016
22017 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
22018
22019         * win32/common/gstenumtypes.c: (register_gst_object_flags),
22020         (gst_object_flags_get_type), (register_gst_bin_flags),
22021         (gst_bin_flags_get_type), (register_gst_buffer_flag),
22022         (gst_buffer_flag_get_type), (register_gst_bus_flags),
22023         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
22024         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
22025         (gst_clock_return_get_type), (register_gst_clock_entry_type),
22026         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
22027         (gst_clock_flags_get_type), (register_gst_state),
22028         (gst_state_get_type), (register_gst_state_change_return),
22029         (gst_state_change_return_get_type), (register_gst_state_change),
22030         (gst_state_change_get_type), (register_gst_element_flags),
22031         (gst_element_flags_get_type), (register_gst_core_error),
22032         (gst_core_error_get_type), (register_gst_library_error),
22033         (gst_library_error_get_type), (register_gst_resource_error),
22034         (gst_resource_error_get_type), (register_gst_stream_error),
22035         (gst_stream_error_get_type), (register_gst_event_type),
22036         (gst_event_type_get_type), (register_gst_seek_type),
22037         (gst_seek_type_get_type), (register_gst_seek_flags),
22038         (gst_seek_flags_get_type), (register_gst_format),
22039         (gst_format_get_type), (register_gst_index_certainty),
22040         (gst_index_certainty_get_type), (register_gst_index_entry_type),
22041         (gst_index_entry_type_get_type),
22042         (register_gst_index_lookup_method),
22043         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
22044         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
22045         (gst_index_resolver_method_get_type), (register_gst_index_flags),
22046         (gst_index_flags_get_type), (register_gst_debug_level),
22047         (gst_debug_level_get_type), (register_gst_debug_color_flags),
22048         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
22049         (gst_iterator_result_get_type), (register_gst_iterator_item),
22050         (gst_iterator_item_get_type), (register_gst_message_type),
22051         (gst_message_type_get_type), (register_gst_mini_object_flags),
22052         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
22053         (gst_pad_link_return_get_type), (register_gst_flow_return),
22054         (gst_flow_return_get_type), (register_gst_activate_mode),
22055         (gst_activate_mode_get_type), (register_gst_pad_direction),
22056         (gst_pad_direction_get_type), (register_gst_pad_flags),
22057         (gst_pad_flags_get_type), (register_gst_pad_presence),
22058         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
22059         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
22060         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
22061         (gst_plugin_error_get_type), (register_gst_plugin_flags),
22062         (gst_plugin_flags_get_type), (register_gst_rank),
22063         (gst_rank_get_type), (register_gst_query_type),
22064         (gst_query_type_get_type), (register_gst_tag_merge_mode),
22065         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
22066         (gst_tag_flag_get_type), (register_gst_task_state),
22067         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
22068         (gst_alloc_trace_flags_get_type),
22069         (register_gst_type_find_probability),
22070         (gst_type_find_probability_get_type), (register_gst_uri_type),
22071         (gst_uri_type_get_type), (register_gst_parse_error),
22072         (gst_parse_error_get_type):
22073         * win32/common/gstversion.h:
22074           update win32 copies
22075
22076 2005-11-01  Luca Ognibene  <luogni@tin.it>
22077
22078         * gst/gst.c:
22079           fix docs. popt is dead, long live GOption.
22080
22081 2005-10-31  Wim Taymans  <wim@fluendo.com>
22082
22083         * gst/gstbuffer.h:
22084         Small doc fix.
22085
22086 2005-10-31  Andy Wingo  <wingo@pobox.com>
22087
22088         * Boo!
22089
22090         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
22091
22092         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
22093         need to serialize property notifications on GLib 2.8. GLib 2.6 has
22094         the possibility of deadlocks here if code calling notify() or
22095         set() has a lock that can be taken in another notify handler (ABBA
22096         with class lock and e.g. python GIL state lock).
22097
22098 2005-10-28  Julien MOUTTE  <julien@moutte.net>
22099
22100         * gst/gstbus.c: Doc updates.
22101
22102 2005-10-28  Wim Taymans  <wim@fluendo.com>
22103
22104         * docs/design/part-TODO.txt:
22105         * gst/gstiterator.c:
22106         * gst/gstsystemclock.c:
22107         * gst/gstsystemclock.h:
22108         Doc updates.
22109
22110 2005-10-28  Edward Hervey  <edward@fluendo.com>
22111
22112         * docs/gst/gstreamer-docs.sgml:
22113         * docs/gst/gstreamer-sections.txt:
22114         the GstURIType documentation page is private, it only defines GstURIType
22115         which should be defined in the GstURIHandler page
22116         
22117 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
22118
22119         * gst/gstbin.c: (gst_bin_class_init):
22120         * gst/gstbin.h:
22121         * gst/gstutils.c:
22122         Documentation updates.
22123
22124 2005-10-28  Wim Taymans  <wim@fluendo.com>
22125
22126         * docs/gst/gstreamer-sections.txt:
22127         * gst/gstclock.c:
22128         * gst/gstclock.h:
22129         Documented the clocks.
22130
22131 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
22132
22133         * docs/gst/gstreamer-sections.txt:
22134           move some macros to private sections
22135         * gst/gstminiobject.c:
22136         * gst/gstminiobject.h:
22137           add descriptions provided by ds and some more
22138         * gst/gstpad.h:
22139           mark macro as to be removed
22140
22141 2005-10-28  Wim Taymans  <wim@fluendo.com>
22142
22143         * docs/design/part-TODO.txt:
22144         Add an item to TODO.
22145
22146         * gst/gstiterator.c: (gst_iterator_fold),
22147         (gst_iterator_find_custom):
22148         * gst/gstiterator.h:
22149         Add iterator docs.
22150
22151 2005-10-28  Wim Taymans  <wim@fluendo.com>
22152
22153         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
22154         (gst_base_transform_init):
22155         Don't leak class.
22156
22157         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
22158         An EOS event marks the queue as completely filled.
22159
22160 2005-10-27  Wim Taymans  <wim@fluendo.com>
22161
22162         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22163         (gst_base_sink_do_sync), (gst_base_sink_get_position):
22164         Some more debugging.
22165
22166         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
22167         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
22168         (gst_base_transform_event), (gst_base_transform_getrange),
22169         (gst_base_transform_chain):
22170         * gst/base/gstbasetransform.h:
22171         Fix debugging,
22172         Protect transform and concurrent buffer alloc with a new lock.
22173         Try not to break ABI/API.
22174
22175 2005-10-27  Wim Taymans  <wim@fluendo.com>
22176
22177         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22178         (gst_base_src_init), (gst_base_src_query),
22179         (gst_base_src_default_newsegment),
22180         (gst_base_src_configure_segment), (gst_base_src_do_seek),
22181         (gst_base_src_send_event), (gst_base_src_event_handler),
22182         (gst_base_src_pad_get_range), (gst_base_src_loop),
22183         (gst_base_src_unlock), (gst_base_src_default_negotiate),
22184         (gst_base_src_start), (gst_base_src_deactivate),
22185         (gst_base_src_activate_push), (gst_base_src_change_state):
22186         Move some stuff around and cleanup things.
22187
22188 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
22189
22190         * gst/base/gstbasesrc.c: (gst_base_src_query):
22191           Add missing break statements.
22192
22193 2005-10-27  Wim Taymans  <wim@fluendo.com>
22194
22195         * check/gst/gstbin.c: (GST_START_TEST):
22196         An extra refcount is taken in basesrc.
22197
22198         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
22199         (gst_base_src_get_range), (gst_base_src_pad_get_range),
22200         (gst_base_src_loop):
22201         Small cleanups, check for flushing after being unlocked from the 
22202         LIVE_LOCK. take refcounts correctly (not yet everywhere).
22203         Don't send out EOS when going to READY.
22204
22205 2005-10-27  Wim Taymans  <wim@fluendo.com>
22206
22207         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22208         (gst_base_sink_get_position):
22209         Some more debug.
22210
22211         * gst/gstbin.c: (message_check), (bin_replace_message),
22212         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22213         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22214         (bin_query_duration_init), (bin_query_duration_fold),
22215         (bin_query_duration_done), (bin_query_generic_fold),
22216         (gst_bin_query):
22217         * tools/gst-launch.c: (main):
22218         Remove old option.
22219
22220 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
22221
22222         * examples/controller/audio-example.c: (main):
22223         * examples/queue/queue.c: (event_loop):
22224         * gst/base/gstbasetransform.h:
22225         * gst/gstelement.c: (gst_element_send_event):
22226         * gst/gstevent.h:
22227         * gst/gstpad.c: (gst_pad_send_event):
22228           fixing examples
22229           fixing docs typos
22230           changing log priority in error situations
22231
22232 2005-10-25  Wim Taymans  <wim@fluendo.com>
22233
22234         * gst/gstbin.c: (message_check), (bin_replace_message),
22235         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22236         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22237         (bin_query_duration_init), (bin_query_duration_fold),
22238         (bin_query_duration_done), (bin_query_generic_fold),
22239         (gst_bin_query):
22240         Some doc and debug updates.
22241         Cache previously requested query DURATION for speed. invalidate
22242         cached duration if element posts a DURATION message.
22243
22244 2005-10-25  Wim Taymans  <wim@fluendo.com>
22245
22246         * docs/design/part-TODO.txt:
22247         Update TODO.
22248
22249         * gst/gstbin.c: (message_check), (bin_replace_message),
22250         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22251         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22252         (bin_query_duration_init), (bin_query_duration_fold),
22253         (bin_query_duration_done), (bin_query_generic_fold),
22254         (gst_bin_query):
22255         Handle SEGMENT_START/DONE messages correctly.
22256         More evolved query algorithm that handles duration queries
22257         correctly.
22258
22259         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
22260         (gst_element_get_state_func), (gst_element_abort_state),
22261         (gst_element_commit_state), (gst_element_lost_state):
22262         Some more debugging.
22263
22264         * gst/gstmessage.h:
22265         Added doc.
22266
22267 2005-10-25  Wim Taymans  <wim@fluendo.com>
22268
22269         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
22270         Don't use invalid stream_time.
22271
22272         * gst/gstevent.c: (gst_event_new_newsegment):
22273         stream_time in newsegment cannot be undefined.
22274
22275 2005-10-24  Wim Taymans  <wim@fluendo.com>
22276
22277         * gst/gstbus.c:
22278         Doc fix.
22279
22280         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
22281         (gst_queue_loop):
22282         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
22283
22284 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
22285
22286         * docs/libs/tmpl/gstdparam.sgml:
22287         * docs/libs/tmpl/gstdplinint.sgml:
22288         * docs/libs/tmpl/gstdpman.sgml:
22289         * docs/libs/tmpl/gstdpsmooth.sgml:
22290         * docs/libs/tmpl/gstunitconvert.sgml:
22291           these are obsolete
22292
22293 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
22294
22295         * configure.ac:
22296           back to HEAD
22297
22298 === release 0.9.4 ===
22299
22300 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22301
22302         * configure.ac:
22303           releasing 0.9.4, "Tyrannosaurus Rex"
22304
22305 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
22306
22307         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
22308         (gst_file_sink_get_current_offset):
22309           Use fseeko() and ftello() if available. When falling back on
22310           lseek() to get the current offset, fflush() first to make sure
22311           everything is up-to-date and we get the right offset.
22312
22313 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22314
22315         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22316         * gst/base/gstbasesrc.c: (gst_base_src_loop):
22317         * gst/gsterror.c: (_gst_stream_errors_init):
22318         * gst/gsterror.h:
22319         * gst/gstqueue.c: (gst_queue_loop):
22320         * po/POTFILES.in:
22321           remove prematurely added error category and clean up the instances
22322
22323 2005-10-21  Wim Taymans  <wim@fluendo.com>
22324
22325         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22326         (gst_base_sink_get_position), (gst_base_sink_query),
22327         (gst_base_sink_change_state):
22328         Simply set the right flag when going to playing, that's all
22329         we need to do instead of calling a function inside the object
22330         lock (that could take the lock as well and deadlock)
22331
22332 2005-10-21  Wim Taymans  <wim@fluendo.com>
22333
22334         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
22335         (gst_base_src_loop):
22336         Don't warn, the peer element knows what to do best when
22337         the seek failed, it might try something else.
22338
22339 2005-10-21  Wim Taymans  <wim@fluendo.com>
22340
22341         * gst/base/gstbasesrc.c: (gst_base_src_init),
22342         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
22343         Fix seeking.
22344
22345 2005-10-21  Wim Taymans  <wim@fluendo.com>
22346
22347         * docs/design/part-segments.txt:
22348         More docs.
22349
22350         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
22351         Correctly set caps, even on the subbufer.
22352
22353 2005-10-21  Wim Taymans  <wim@fluendo.com>
22354
22355         * docs/gst/gstreamer-docs.sgml:
22356         * docs/gst/gstreamer-sections.txt:
22357         * gst/gstelement.h:
22358         * gst/gstevent.c:
22359         * gst/gstevent.h:
22360         * gst/gstmessage.h:
22361         * gst/gstpad.h:
22362         * gst/gstparse.h:
22363         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
22364         * gst/gsttask.h:
22365         * gst/gstutils.c:
22366         * gst/gstutils.h:
22367         And 2% more doc coverage.
22368
22369 2005-10-21  Andy Wingo  <wingo@pobox.com>
22370
22371         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
22372         position reporting.
22373
22374 2005-10-20  Wim Taymans  <wim@fluendo.com>
22375
22376         * gst/gsterror.c: (gst_error_get_message):
22377         * gst/gstparse.h:
22378         * gst/gstquery.h:
22379         * gst/gststructure.c:
22380         * gst/gsttrace.c:
22381         * gst/gstutils.c:
22382         More docs.
22383
22384 2005-10-20  Wim Taymans  <wim@fluendo.com>
22385
22386         * gst/gstbuffer.h:
22387         * gst/gstpad.c:
22388         * gst/gstparse.c:
22389         Another 1% more coverage.
22390
22391 2005-10-20  Wim Taymans  <wim@fluendo.com>
22392
22393         * docs/gst/gstreamer-sections.txt:
22394         * gst/gstelement.c: (gst_element_get_state_func),
22395         (gst_element_abort_state), (gst_element_commit_state),
22396         (gst_element_lost_state):
22397         * gst/gstevent.h:
22398         * gst/gstquery.c: (gst_query_set_position),
22399         (gst_query_parse_position), (gst_query_set_duration),
22400         (gst_query_parse_duration), (gst_query_new_convert):
22401         * gst/gstutils.c:
22402         Yay! 1% more docs coverage.
22403
22404 2005-10-20  Wim Taymans  <wim@fluendo.com>
22405
22406         * gst/gstpad.h:
22407         * gst/gstquery.c: (gst_query_set_position),
22408         (gst_query_parse_position), (gst_query_set_duration),
22409         (gst_query_parse_duration), (gst_query_new_convert):
22410         * gst/gstquery.h:
22411         * gst/gstutils.c: (gst_element_query_convert):
22412         * gst/gstutils.h:
22413         Docs and consistency fixes.
22414
22415 2005-10-20  Wim Taymans  <wim@fluendo.com>
22416
22417         * gst/gsttask.c:
22418         * gst/gsttask.h:
22419         More docs.
22420
22421 2005-10-20  Wim Taymans  <wim@fluendo.com>
22422
22423         * gst/gstbin.c: (message_check), (bin_replace_message),
22424         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22425         (update_degree), (gst_bin_sort_iterator_next),
22426         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
22427         Reworked the message handling a bit, cache the messages instead of
22428         only the senders. alows us to do more in the future.
22429
22430 2005-10-20  Wim Taymans  <wim@fluendo.com>
22431
22432         * docs/design/part-TODO.txt:
22433         Update TODO
22434
22435         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22436         (gst_base_sink_query):
22437         Don't use clock time to report position when in EOS.
22438
22439 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
22440
22441         * tools/gst-inspect.c: (print_interfaces),
22442         (print_element_properties_info), (print_element_info):
22443           Fix interface output with gst-inspect -a; don't print
22444           newlines after double/float properties.
22445
22446 2005-10-20  Wim Taymans  <wim@fluendo.com>
22447
22448         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22449         (gst_base_sink_query):
22450         Speed up current position calculation.
22451
22452         * gst/base/gstbasesrc.c: (gst_base_src_query),
22453         (gst_base_src_default_newsegment):
22454         Correctly set stream position in newsegment.
22455
22456         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
22457         (update_degree), (gst_bin_sort_iterator_next),
22458         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
22459         * gst/gstmessage.c: (gst_message_new_custom):
22460         Clean up debugging info
22461
22462         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
22463         (gst_queue_loop), (gst_queue_handle_src_query):
22464         Pause task faster.
22465
22466 2005-10-19  Wim Taymans  <wim@fluendo.com>
22467
22468         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22469         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22470         Fix query handling again.
22471
22472 2005-10-19  Wim Taymans  <wim@fluendo.com>
22473
22474         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22475         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22476         * gst/base/gstbasesrc.c: (gst_base_src_query):
22477         * gst/elements/gstfilesink.c: (gst_file_sink_query):
22478         * gst/elements/gsttypefindelement.c:
22479         (gst_type_find_handle_src_query), (find_element_get_length),
22480         (gst_type_find_element_activate):
22481         API change fix.
22482
22483         * gst/gstquery.c: (gst_query_new_position),
22484         (gst_query_set_position), (gst_query_parse_position),
22485         (gst_query_new_duration), (gst_query_set_duration),
22486         (gst_query_parse_duration), (gst_query_set_segment),
22487         (gst_query_parse_segment):
22488         * gst/gstquery.h:
22489         Bundling query position/duration is not a good idea since duration
22490         does not change much and we don't want to recalculate it for every
22491         position query, so they are separated again..
22492         Base value in segment query is not needed.
22493
22494         * gst/gstqueue.c: (gst_queue_handle_src_query):
22495         * gst/gstutils.c: (gst_element_query_position),
22496         (gst_element_query_duration), (gst_pad_query_position),
22497         (gst_pad_query_duration):
22498         * gst/gstutils.h:
22499         Updates for query API change.
22500         Added some docs here and there.
22501
22502 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
22503
22504         * check/gst/gstbin.c: (GST_START_TEST):
22505         * check/gst/gstghostpad.c: (GST_START_TEST):
22506         * check/pipelines/cleanup.c: (GST_START_TEST):
22507           wait on thread to die so we can check refcount correctly
22508
22509 2005-10-18  Wim Taymans  <wim@fluendo.com>
22510
22511         * check/pipelines/stress.c: (GST_START_TEST):
22512         Make check a little more time consuming.
22513
22514 2005-10-18  Wim Taymans  <wim@fluendo.com>
22515
22516         * check/Makefile.am:
22517         * check/pipelines/stress.c: (GST_START_TEST),
22518         (simple_launch_lines_suite), (main):
22519         Small state change torture test.
22520
22521         * docs/design/part-states.txt:
22522         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22523         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
22524         (gst_base_sink_change_state):
22525         Never take state lock from streaming thread, clean up ugly
22526         hacks. Unfortunatly core does not yet support nice ways to
22527         async commit state.
22528         
22529         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
22530         (bin_bus_handler):
22531         Start state recalc if a STATE_DIRTY message is posted, but only
22532         on the toplevel bin.
22533
22534         * gst/gstelement.c: (gst_element_sync_state_with_parent),
22535         (gst_element_get_state_func), (gst_element_abort_state),
22536         (gst_element_commit_state), (gst_element_lost_state),
22537         (gst_element_set_state_func), (gst_element_change_state):
22538         * gst/gstelement.h:
22539         State variables are now protected with the LOCK, the state
22540         lock is only used to serialize _set_state().
22541
22542 2005-10-18  Wim Taymans  <wim@fluendo.com>
22543
22544         * check/gst/gstbin.c: (GST_START_TEST):
22545         * check/gst/gstmessage.c: (GST_START_TEST):
22546         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22547         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
22548         (bin_bus_handler):
22549         * gst/gstelement.c: (gst_element_abort_state),
22550         (gst_element_commit_state), (gst_element_lost_state):
22551         * gst/gstmessage.c: (gst_message_new_state_changed),
22552         (gst_message_new_state_dirty), (gst_message_new_segment_start),
22553         (gst_message_new_segment_done), (gst_message_new_duration),
22554         (gst_message_parse_state_changed),
22555         (gst_message_parse_segment_start),
22556         (gst_message_parse_segment_done), (gst_message_parse_duration):
22557         * gst/gstmessage.h:
22558         * tools/gst-launch.c: (event_loop):
22559         Seriously, this is better than a previous commit as we only need
22560         to notify the fact that an element changed state in a streaming
22561         thread, marking the state of the parents dirty, hence the 
22562         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
22563         message.
22564
22565 2005-10-18  Wim Taymans  <wim@fluendo.com>
22566
22567         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
22568         (gst_bin_recalc_func):
22569         * gst/gstelement.c: (gst_element_set_clock),
22570         (gst_element_abort_state), (gst_element_lost_state):
22571         Cleanups, prepare for state change fixes.
22572
22573 2005-10-18  Wim Taymans  <wim@fluendo.com>
22574
22575         * gst/gstbin.h:
22576         * gst/gstelement.c: (gst_element_class_init),
22577         (gst_element_set_state), (gst_element_set_state_func):
22578         * gst/gstelement.h:
22579         Pending ABI changes.
22580         GThreadPool in GstBinClass to monitor async state changes.
22581         state_cookie in GstElement to detect concurrent gst/set state.
22582         set_state is now virtual too in case a very complicated element
22583         has to be constructed.
22584
22585 2005-10-18  Wim Taymans  <wim@fluendo.com>
22586
22587         * check/gst/gstbin.c: (GST_START_TEST):
22588         * check/gst/gstmessage.c: (GST_START_TEST):
22589         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22590         * gst/gstbin.c: (bin_bus_handler):
22591         * gst/gstelement.c: (gst_element_commit_state),
22592         (gst_element_lost_state):
22593         * gst/gstmessage.c: (gst_message_new_state_changed),
22594         (gst_message_new_segment_start), (gst_message_new_segment_done),
22595         (gst_message_new_duration), (gst_message_parse_state_changed),
22596         (gst_message_parse_segment_start),
22597         (gst_message_parse_segment_done), (gst_message_parse_duration):
22598         * gst/gstmessage.h:
22599         * tools/gst-launch.c: (event_loop):
22600         Make messages future proof.
22601         state-change gets a flag if it was a message comming from the
22602         streaming thread.
22603         segment-start/stop can also be specified in other formats.
22604         A message to notify an app that a pipeline changed playback 
22605         duration.
22606         Also fix a GstMessage leak in -launch
22607
22608 2005-10-18  Andy Wingo  <wingo@pobox.com>
22609
22610         * gst/gstelement.c (gst_element_dispose): More helpful message.
22611
22612 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
22613
22614         reviewed by: <delete if not using a buddy>
22615
22616         * common/gtk-doc.mak:
22617
22618 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
22619
22620         * gst/gstregistry.c: (gst_registry_scan_path_level):
22621           unref a plug-in we get that was already initialized
22622
22623 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
22624
22625         * docs/gst/gstreamer-sections.txt:
22626         * docs/libs/gstreamer-libs-sections.txt:
22627         * gst/gstelement.h:
22628           add new api entries
22629           hide internal macro
22630
22631 2005-10-17  Andy Wingo  <wingo@pobox.com>
22632
22633         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
22634         cleanup.
22635
22636         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
22637
22638         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
22639
22640         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
22641         (gst_element_get_state_func): Better debug message.
22642         (gst_element_commit_state): s/INFO/DEBUG/.
22643         (gst_element_lost_state, gst_element_change_state): 
22644
22645         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
22646         (gst_message_new_custom): s/INFO/LOG/.
22647
22648 2005-10-17  Michael Smith <msmith@fluendo.com>
22649
22650         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
22651           Check if end time is valid using end time, not start time.
22652
22653 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
22654
22655         * check/gst-libs/controller.c: (GST_START_TEST),
22656         (gst_controller_suite):
22657         * libs/gst/controller/gstcontroller.c:
22658         (gst_controlled_property_set_interpolation_mode):
22659         * libs/gst/controller/gstcontroller.h:
22660         * libs/gst/controller/gstinterpolation.c:
22661         * testsuite/controller/.cvsignore:
22662         * testsuite/controller/Makefile.am:
22663         * testsuite/controller/interpolator.c:
22664           merge controller testsuites
22665           fix broken tests
22666           remove mem-chunk from docs
22667
22668 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
22669
22670         * gst/gstmemchunk.c:
22671         * gst/gstmemchunk.h:
22672         * gst/gsttrashstack.c:
22673         * gst/gsttrashstack.h:
22674           out.  get out.  you're fired.  to the Attic !
22675
22676 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
22677
22678         * gst/gstcaps.c: (gst_caps_intersect):
22679           fix signedness issues in a (hopefully) correct way
22680         * gst/gstelement.c: (gst_element_pads_activate):
22681           some debugging
22682         * gst/gstobject.c: (gst_object_set_parent):
22683           some debugging
22684
22685 2005-10-17  Julien MOUTTE  <julien@moutte.net>
22686
22687         * gst/gstvalue.h: Fix prototypes.
22688
22689 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22690
22691         * docs/gst/gstreamer-sections.txt:
22692         * gst/gst.c: (gst_version_string):
22693         * gst/gst.h:
22694         * gst/gstversion.h.in:
22695         * win32/common/libgstreamer.def:
22696           add gst_version_string ()
22697
22698 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22699
22700         * configure.ac:
22701           clean up further
22702         * gst/gst.c: (init_post):
22703         * win32/common/config.h.in:
22704           it's PLUGINDIR now
22705         * gst/gstcaps.c: (gst_caps_intersect):
22706           use gint64, the range could be bigger than a guint
22707
22708 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22709
22710         * gst/gstclock.h:
22711           document potential problem in 2038
22712
22713 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22714
22715         * gst/gstcaps.c: (gst_caps_intersect):
22716           Fix guint j diving under 0
22717
22718 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22719
22720         * configure.ac:
22721         * win32/common/config.h:
22722         * win32/common/config.h.in:
22723           check for process.h, declares getpid() on Windows
22724         * gst/gstinfo.c:
22725           include process.h if we have it
22726         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
22727         * gst/gstmemchunk.h:
22728           fix signedness issues
22729         * win32/common/libgstreamer.def:
22730           fix get_type's
22731
22732 2005-10-16  Julien MOUTTE  <julien@moutte.net>
22733
22734         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
22735         fix. Because of unsigned ints, caps intersection was going nuts and
22736         trying to access structures with G_MAXUINT index. That fixes
22737         videotestsrc ! ffmpegcolorspace ! fakesink
22738         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
22739         consistency.
22740
22741 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22742
22743         * configure.ac:
22744           use the gettext macro
22745         * gst/elements/gstelements.c:
22746         * gst/gst.c:
22747         * gst/indexers/gstindexers.c:
22748           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
22749         * win32/common/config.h:
22750           updated config.h
22751         * win32/common/config.h.in:
22752           add the template to generate config.h
22753         * win32/common/gstenumtypes.c:
22754         * win32/common/gstversion.h:
22755           updated copies
22756
22757 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22758
22759         * gst/gst.c: (gst_version):
22760         * gst/gstversion.h.in:
22761           add the nano
22762
22763 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
22764
22765         * gst/gstevent.h:
22766           Oops, add missing closing bracket.
22767
22768 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22769
22770         * configure.ac:
22771           use common m4's for argument checking
22772
22773 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
22774
22775         * docs/gst/gstreamer-sections.txt:
22776         * gst/gstevent.h:
22777           Add GST_EVENT_TYPE_NAME() macro.
22778
22779 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22780
22781         * gst/gstinfo.c:
22782         * gst/gstpluginfeature.c:
22783         * gst/gsttask.c:
22784           privatize more symbols
22785
22786 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22787
22788         * configure.ac:
22789           add srcdir, builddir includes to GST_ALL_CFLAGS, since
22790           everything that uses GStreamer API should have the includes
22791
22792 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22793
22794         * docs/gst/gstreamer-sections.txt:
22795         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
22796         * gst/gstvalue.h:
22797           give each value a _get_type, removes the DATA exports
22798
22799 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22800
22801         * gst/gst.c:
22802         * gst/gst.h:
22803           remove _gst_registry_auto_load, not used anymore
22804         * gst/gstbin.c: (gst_bin_get_type):
22805         * gst/gstbin.h:
22806         * gst/gstelement.c: (gst_element_get_type):
22807         * gst/gstelement.h:
22808         * gst/gstobject.c: (gst_object_get_type):
22809         * gst/gstobject.h:
22810         * gst/gstpad.c: (gst_pad_get_type):
22811         * gst/gstpad.h:
22812           make _get_type functions similar, fixes data export from library
22813
22814 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22815
22816         * configure.ac:
22817           correctly make conditionals
22818         * gst/elements/Makefile.am:
22819         * gst/elements/gstelements.c:
22820           fix typo causing fdsrc not to build
22821
22822 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22823
22824         * testsuite/Makefile.am:
22825         * testsuite/bytestream/.cvsignore:
22826         * testsuite/bytestream/Makefile.am:
22827         * testsuite/bytestream/filepadsink.c:
22828         * testsuite/bytestream/gstbstest.c:
22829         * testsuite/bytestream/test1.c:
22830         * testsuite/bytestream/testfile1:
22831         * testsuite/caps/normalisation.c:
22832         * testsuite/caps/random.c: (main):
22833         * testsuite/cleanup/.cvsignore:
22834         * testsuite/cleanup/Makefile.am:
22835         * testsuite/cleanup/cleanup1.c:
22836         * testsuite/cleanup/cleanup2.c:
22837         * testsuite/cleanup/cleanup3.c:
22838         * testsuite/cleanup/cleanup4.c:
22839         * testsuite/cleanup/cleanup5.c:
22840         * testsuite/controller/interpolator.c:
22841         * testsuite/debug/printf_extension.c: (main):
22842         * testsuite/elements/tee.c:
22843         * testsuite/negotiation/.cvsignore:
22844         * testsuite/negotiation/Makefile.am:
22845         * testsuite/negotiation/pad_link.c:
22846         * testsuite/pad/Makefile.am:
22847         * testsuite/pad/chainnopull.c:
22848         * testsuite/pad/getnopush.c:
22849         * testsuite/pad/link.c:
22850         * testsuite/refcounting/sched.c: (create_pipeline):
22851         * testsuite/registry/Makefile.am:
22852         * testsuite/registry/gst-print-formats.c:
22853         * testsuite/schedulers/.cvsignore:
22854         * testsuite/schedulers/142183-2.c:
22855         * testsuite/schedulers/142183.c:
22856         * testsuite/schedulers/143777-2.c:
22857         * testsuite/schedulers/143777.c:
22858         * testsuite/schedulers/147713.c:
22859         * testsuite/schedulers/147819.c:
22860         * testsuite/schedulers/147894-2.c:
22861         * testsuite/schedulers/147894.c:
22862         * testsuite/schedulers/Makefile.am:
22863         * testsuite/schedulers/group_link.c:
22864         * testsuite/schedulers/queue_link.c:
22865         * testsuite/schedulers/relink.c:
22866         * testsuite/schedulers/unlink.c:
22867         * testsuite/schedulers/unref.c:
22868         * testsuite/schedulers/useless_iteration.c:
22869         * testsuite/states/bin.c:
22870           clean out/remove some stuff from the testsuite directories
22871
22872 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22873
22874         * configure.ac:
22875           check for some headers
22876         * gst/elements/Makefile.am:
22877         * gst/elements/gstelements.c:
22878           don't compile fdsrc without sys/socket.h
22879         * gst/indexers/Makefile.am:
22880         * gst/indexers/gstindexers.c: (plugin_init):
22881           don't compile fileindex without mmap
22882
22883 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22884
22885         * configure.ac:
22886           reorganize
22887           clean up
22888           document more
22889           remove cruft
22890         * check/Makefile.am:
22891         * docs/gst/Makefile.am:
22892         * examples/helloworld/Makefile.am:
22893         * gst/Makefile.am:
22894         * gst/base/Makefile.am:
22895         * gst/check/Makefile.am:
22896         * gst/elements/Makefile.am:
22897         * gst/indexers/Makefile.am:
22898         * gst/parse/Makefile.am:
22899         * libs/gst/controller/Makefile.am:
22900         * libs/gst/dataprotocol/Makefile.am:
22901         * examples/helloworld/helloworld.c: (event_loop):
22902           compile fixes, though it's not being compiled currently
22903
22904 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
22905
22906         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
22907           Add some simple tests for the new taglist date API.
22908
22909 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
22910
22911         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
22912         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
22913           Beautify 'last-message' output: print 'none' for buffer timestamps
22914           and durations if none is set; improve alignment with next messages.
22915
22916 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
22917
22918         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
22919         * gst/gstpluginfeature.h:
22920         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
22921         * gst/gstregistry.h:
22922         * docs/gst/gstreamer-sections.txt:
22923           Add new API to check plugin feature version requirements.
22924
22925         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
22926           Some basic tests for the above.         
22927
22928 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22929
22930         * gst/gststructure.c: (gst_structure_to_string):
22931           guard against NULL printf - happens when for example
22932           a message structure with GstClock gets serialized
22933
22934 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
22935
22936         * gst/base/gstcollectpads.c: (gst_collectpads_event):
22937           Fix presumable copy'n'pasto.
22938
22939 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22940
22941         * gst/elements/gstfakesrc.h:
22942         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
22943         * gst/elements/gsttypefindelement.c:
22944           fix some signedness
22945         * gst/elements/gstfilesink.c: (gst_file_sink_render):
22946           I wonder if this could actually write +2GB files before
22947
22948 2005-10-13  Andy Wingo  <wingo@pobox.com>
22949
22950         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
22951         Fix Timmeke Waymans bug.
22952         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
22953         string of the proper length to gst_caps_from_string. There's a
22954         potential for, before this fix, that this could cause someone
22955         connecting over the network to cause a segfault if the payload is
22956         not NUL-terminated.
22957
22958 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
22959
22960         * docs/design/draft-push-pull.txt:
22961         * docs/design/part-overview.txt:
22962         * docs/random/TODO-pre-0.9:
22963         * docs/random/old/ChangeLog.gstreamer:
22964         * gst/base/gstpushsrc.c:
22965         * gst/gstclock.c:
22966           fixed typos
22967
22968 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22969
22970         * gst/glib-compat.c: (gst_flags_get_first_value):
22971         * gst/glib-compat.h:
22972         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
22973         (gst_value_compare_double), (gst_value_serialize_flags):
22974           GLib 2.6 g_flags_get_first_value has a bug that triggers an
22975           infinite loop
22976
22977 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22978
22979         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22980         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
22981           fix up debugging
22982         * tools/gst-launch.c: (event_loop):
22983           print out clock nicely
22984
22985 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
22986
22987         * docs/gst/gstreamer-sections.txt:
22988         * gst/gsttaglist.h:
22989         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
22990         (gst_tag_list_get_date_index):
22991           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
22992           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
22993
22994 2005-10-13  Julien MOUTTE  <julien@moutte.net>
22995
22996         * gst/base/gstcollectpads.c: (gst_collectpads_event),
22997         (gst_collectpads_chain):
22998         * gst/base/gstcollectpads.h: Handle newsegment and store informations
22999         in CollectData.
23000
23001 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
23002
23003         * docs/gst/gstreamer-sections.txt:
23004         * gst/gst.c:
23005         * gst/gsterror.h:
23006         * tools/gst-inspect.c: (main):
23007         * tools/gst-launch.c: (main):
23008         * tools/gst-run.c: (main):
23009         * tools/gst-xmlinspect.c: (main):
23010           fix GOption context leaks
23011           doc fixes
23012
23013 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
23014
23015         * gst/gstbus.c:
23016           use HAVE_UNISTD_H
23017         * win32/common/config.h:
23018           update config
23019         * win32/vs6/grammar.dsp:
23020         * win32/vs6/libgstelements.dsp:
23021         * win32/vs6/libgstreamer.dsp:
23022           update vs6 files
23023
23024 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23025
23026         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
23027         * gst/base/gstbasesrc.c: (gst_base_src_query):
23028           fix more guint64<->gdouble conversions
23029
23030 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23031
23032         * Makefile.am:
23033           add win32-update target
23034         * win32/common/gstconfig.h:
23035         * win32/common/gstenumtypes.c:
23036         * win32/common/gstenumtypes.h:
23037         * win32/common/gstversion.h:
23038           add files that visual studio can't generate
23039
23040 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23041
23042         * Makefile.am:
23043           add a win32-update target
23044         * configure.ac:
23045
23046 2005-10-12  Wim Taymans  <wim@fluendo.com>
23047
23048         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
23049         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
23050         * gst/gstelement.c: (gst_element_commit_state),
23051         (gst_element_set_state):
23052         Protect flags with proper lock.
23053         unref provided cached clock in dispose.
23054
23055 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
23056
23057         * gst/gst.c:
23058         * gst/gstminiobject.h:
23059         * gst/gstpad.h:
23060         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
23061           removed unused flags from miniobject
23062           doc fixes
23063
23064 2005-10-12  Wim Taymans  <wim@fluendo.com>
23065
23066         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
23067         (gst_file_sink_event), (gst_file_sink_render):
23068         Flush before seeking.
23069
23070 2005-10-12  Andy Wingo  <wingo@pobox.com>
23071
23072         * gst/gst.c (gst_init_check): Ignore unknown options, as has
23073         always been the case.
23074
23075 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
23076
23077         * check/gst/gstbin.c: (GST_START_TEST):
23078         * docs/gst/gstreamer-sections.txt:
23079         * gst/base/gstbasesink.c: (gst_base_sink_init):
23080         * gst/base/gstbasesrc.c: (gst_base_src_init),
23081         (gst_base_src_get_range), (gst_base_src_check_get_range),
23082         (gst_base_src_start), (gst_base_src_stop):
23083         * gst/base/gstbasesrc.h:
23084         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
23085         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
23086         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
23087         (bin_bus_handler):
23088         * gst/gstbin.h:
23089         * gst/gstbuffer.h:
23090         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
23091         * gst/gstbus.h:
23092         * gst/gstelement.c: (gst_element_is_locked_state),
23093         (gst_element_set_locked_state), (gst_element_commit_state),
23094         (gst_element_set_state):
23095         * gst/gstelement.h:
23096         * gst/gstindex.c: (gst_index_init):
23097         * gst/gstindex.h:
23098         * gst/gstminiobject.h:
23099         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
23100         (gst_object_set_parent):
23101         * gst/gstobject.h:
23102         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
23103         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
23104         * gst/gstpad.h:
23105         * gst/gstpadtemplate.h:
23106         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
23107         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
23108         * gst/gstpipeline.h:
23109         * gst/indexers/gstfileindex.c: (gst_file_index_load),
23110         (gst_file_index_commit):
23111         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
23112         * testsuite/pad/link.c: (gst_test_src_init),
23113         (gst_test_filter_init), (gst_test_sink_init):
23114         * testsuite/states/locked.c: (main):
23115           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
23116           moved bitshift from macro to enum definition
23117
23118 2005-10-12  Wim Taymans  <wim@fluendo.com>
23119
23120         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
23121         * gst/elements/gstfilesink.c: (gst_file_sink_event),
23122         (gst_file_sink_render):
23123         Some more debugging info.
23124
23125 2005-10-12  Wim Taymans  <wim@fluendo.com>
23126
23127         * docs/design/part-states.txt:
23128         * tools/gst-launch.c: (main):
23129         Some doc updates.
23130         Revert non-intentional change.
23131
23132 2005-10-12  Wim Taymans  <wim@fluendo.com>
23133
23134         * check/gst/gstbin.c: (GST_START_TEST):
23135         * check/gst/gstelement.c: (GST_START_TEST):
23136         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
23137         * check/gst/gstghostpad.c: (GST_START_TEST):
23138         * check/gst/gstpipeline.c: (GST_START_TEST):
23139         * check/pipelines/simple_launch_lines.c: (run_pipeline):
23140         * check/states/sinks.c: (GST_START_TEST):
23141         * gst/elements/gsttypefindelement.c: (stop_typefinding):
23142         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
23143         (gst_bin_remove_func), (gst_bin_get_state_func),
23144         (gst_bin_recalc_state), (gst_bin_change_state_func),
23145         (bin_bus_handler):
23146         * gst/gstelement.c: (gst_element_get_state_func),
23147         (gst_element_get_state), (gst_element_abort_state),
23148         (gst_element_commit_state), (gst_element_set_state),
23149         (gst_element_change_state), (gst_element_change_state_func):
23150         * gst/gstelement.h:
23151         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
23152         (gst_pipeline_provide_clock_func):
23153         * gst/gstutils.c: (gst_element_link_pads_filtered):
23154         * tools/gst-launch.c: (main):
23155         * tools/gst-typefind.c: (main):
23156         Use GstClockTime in _get_state() instead of GTimeVal.
23157         Remove old code in gstutils.c
23158
23159 2005-10-12  Andy Wingo  <wingo@pobox.com>
23160
23161         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
23162         removed.
23163
23164         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
23165         there is no task. Shouldn't affect any code, as nothing in our
23166         plugins checks this return value.
23167         (gst_pad_stop_task): Also take the stream lock if the pad has no
23168         task. Docs updated.
23169
23170 2005-10-12  Wim Taymans  <wim@fluendo.com>
23171
23172         * gst/gstpad.c: (pre_activate), (post_activate),
23173         (gst_pad_activate_pull), (gst_pad_activate_push):
23174         Cleanup activation code. Reset old state if
23175         activation failed.
23176
23177 2005-10-12  Wim Taymans  <wim@fluendo.com>
23178
23179         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23180         (gst_base_sink_change_state):
23181         No need to prerol after receiving EOS.
23182
23183         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
23184         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
23185         * gst/elements/gstidentity.c: (gst_identity_event):
23186         Print events more verbosely.
23187
23188 2005-10-12  Wim Taymans  <wim@fluendo.com>
23189
23190         * check/Makefile.am:
23191         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
23192         * check/states/sinks2.c:
23193         Moved sinks2 testcode in sinks check.
23194
23195         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
23196         (gst_bin_remove_func), (gst_bin_recalc_state),
23197         (gst_bin_change_state_func), (bin_bus_handler):
23198         Fix potential race condition when _get_state() iterated over an
23199         ASYNC element right before it posted a state completion.
23200
23201         * gst/gstclock.h:
23202         Do proper cast here.
23203
23204         * gst/gstevent.c: (gst_event_new_newsegment),
23205         (gst_event_parse_newsegment):
23206         A playback rate of 0.0 is not allowed.
23207
23208 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23209
23210         * win32/common/config.h:
23211         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
23212         (_trewinddir), (_ttelldir), (_tseekdir):
23213         * win32/common/dirent.h:
23214         * win32/common/gtchar.h:
23215         * win32/common/libgstbase.def:
23216         * win32/common/libgstreamer.def:
23217         * win32/vs6/grammar.dsp:
23218         * win32/vs6/gst_inspect.dsp:
23219         * win32/vs6/gst_launch.dsp:
23220         * win32/vs6/gstreamer.dsw:
23221         * win32/vs6/libgstbase.dsp:
23222         * win32/vs6/libgstelements.dsp:
23223         * win32/vs6/libgstreamer.dsp:
23224           Visual Studio 6 project files, and a new common directory.
23225           Phear.
23226
23227 2005-10-11  Wim Taymans  <wim@fluendo.com>
23228
23229         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23230         (gst_base_sink_do_sync), (gst_base_sink_query),
23231         (gst_base_sink_change_state):
23232         * gst/base/gstbasesink.h:
23233         Correctly parse newsegment info.
23234
23235 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23236
23237         * gst/gst.c: (init_post):
23238           split plugin paths correctly
23239
23240 2005-10-11  Wim Taymans  <wim@fluendo.com>
23241
23242         * check/gst/gstevent.c: (GST_START_TEST):
23243         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23244         (gst_base_sink_change_state):
23245         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
23246         * gst/base/gstbasetransform.c: (gst_base_transform_event):
23247         * gst/elements/gstfilesink.c: (gst_file_sink_event):
23248         * gst/gstevent.c: (gst_event_new_newsegment),
23249         (gst_event_parse_newsegment):
23250         * gst/gstevent.h:
23251         Added extra flag to newsegment for future API freeze.
23252         Updated check and base elements.
23253
23254 2005-10-11  Julien MOUTTE  <julien@moutte.net>
23255
23256         * gst/base/gstcollectpads.c: (gst_collectpads_init),
23257         (gst_collectpads_add_pad), (gst_collectpads_pop),
23258         (gst_collectpads_event), (gst_collectpads_chain):
23259         * gst/base/gstcollectpads.h: Handle EOS correctly.
23260
23261 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23262
23263         * tools/gst-launch.c: (main):
23264           more null protecting
23265
23266 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23267
23268         * gst/gst-i18n-lib.h:
23269           check for ENABLE_NLS, not GETTEXT_PACKAGE
23270         * gst/gstregistry.c: (gst_registry_add_plugin),
23271         (gst_registry_scan_path_level),
23272         (_gst_registry_remove_cache_plugins):
23273           protect possibly NULL strings
23274         * gst/parse/types.h:
23275           config.h already included before
23276         * tools/gst-inspect.c: (main):
23277           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
23278           check for ENABLE_NLS, not GETTEXT_PACKAGE
23279         * tools/gst-launch.c: (main):
23280           check for ENABLE_NLS, not GETTEXT_PACKAGE
23281
23282 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23283
23284         * configure.ac:
23285           if we don't have glib, fail before testing 2.8
23286         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
23287           fix a leak, should fix plugins-base testsuite
23288
23289 2005-10-11  Andy Wingo  <wingo@pobox.com>
23290
23291         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
23292         take the mode we're going to as an arg. Go head and set the mode
23293         and flushing flags now, so that if the activate function starts a
23294         thread all the flags will be in the right state.
23295         (post_activate): Renamed also. Just handle making sure streaming
23296         finishes for the deactivation case, and setting the deactivated
23297         mode.
23298         (gst_pad_set_active): Complain loudly if deactivation fails.
23299         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
23300         (gst_pad_activate_push): Adapt to pre/post_activate changes,
23301         remove the terrible hack.
23302
23303 2005-10-11  Wim Taymans  <wim@fluendo.com>
23304
23305         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23306         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
23307         (gst_bin_recalc_state), (gst_bin_change_state_func),
23308         (gst_bin_dispose), (bin_bus_handler):
23309         * gst/gstbin.h:
23310         Prepare to make current EOS message queue more generic.
23311         Fix some typos.
23312
23313         * gst/gstevent.c: (gst_event_new_newsegment),
23314         (gst_event_parse_newsegment):
23315         * gst/gstevent.h:
23316         Rename base to stream_time.
23317
23318         * gst/gstmessage.h:
23319         Fix typo in docs.
23320
23321 2005-10-11  Wim Taymans  <wim@fluendo.com>
23322
23323         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23324         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
23325         (gst_bin_change_state_func), (bin_bus_handler):
23326         * gst/gstbin.h:
23327         Work on proper clock selection.
23328
23329 2005-10-11  Edward Hervey  <edward@fluendo.com>
23330
23331         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
23332         * libs/gst/controller/gstcontroller.h:
23333         Added GList* version of _remove_properties() in order to be able to wrap
23334         it in bindings.
23335
23336 2005-10-11  Wim Taymans  <wim@fluendo.com>
23337
23338         * docs/design/part-states.txt:
23339         Some more docs.
23340
23341         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
23342         (gst_bin_change_state_func), (bin_bus_handler):
23343         Doc updates. Don't distribute the same clock over and over again.
23344
23345         * gst/gstclock.c:
23346         * gst/gstclock.h:
23347         Doc updates.
23348
23349         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
23350         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
23351         (gst_pad_send_event):
23352         * gst/gstpad.h:
23353         Make probe emission threadsafe again.
23354         Register quarks and move _get_name() from utils.
23355         Doc updates.
23356
23357         * gst/gstpipeline.c: (gst_pipeline_class_init),
23358         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23359         Only redistribute the clock of it changed.
23360
23361         * gst/gstsystemclock.h:
23362         Doc updates. 
23363
23364         * gst/gstutils.c:
23365         * gst/gstutils.h:
23366         Moved the _flow_get_name() to GstPad.
23367
23368 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23369
23370         * check/gst-libs/gdp.c: (GST_START_TEST):
23371         * check/gst/gstcaps.c: (GST_START_TEST):
23372         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
23373         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
23374         (gst_dp_packet_from_caps):
23375           fix more valgrind warnings before turning up the heat
23376
23377 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23378
23379         * gst/parse/grammar.y:
23380           some cleanup before the hacking
23381
23382 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23383
23384         * gst/base/gstbasesrc.c: (gst_base_src_query):
23385           use conversions
23386         * gst/gstutils.c: (gst_guint64_to_gdouble),
23387         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
23388         * gst/gstutils.h:
23389           externalize, basesrc uses it
23390           obviously the implementation needs testing
23391
23392 2005-10-10  Wim Taymans  <wim@fluendo.com>
23393
23394         * tests/sched/Makefile.am:
23395         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
23396         (make_pipeline3), (make_pipeline4), (print_elem), (main):
23397
23398 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23399
23400         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
23401           apparently converting from guint64 to double is not implemented
23402           on MSVC
23403
23404 2005-10-10  Wim Taymans  <wim@fluendo.com>
23405
23406         * check/Makefile.am:
23407         * check/generic/states.c: (GST_START_TEST):
23408         * check/gst/gstbin.c: (GST_START_TEST):
23409         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
23410         * check/states/sinks.c: (GST_START_TEST):
23411         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
23412         (main):
23413         Check fixes, use API as stated in design docs, remove hacks.
23414
23415         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23416         (gst_base_sink_change_state):
23417         Catch stopping our task while we're shutting down.
23418
23419         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
23420         (gst_bin_remove_func), (gst_bin_get_state_func),
23421         (gst_bin_recalc_state), (gst_bin_change_state_func),
23422         (bin_bus_handler):
23423         * gst/gstbin.h:
23424         * gst/gstelement.c: (gst_element_init),
23425         (gst_element_get_state_func), (gst_element_abort_state),
23426         (gst_element_commit_state), (gst_element_lost_state),
23427         (gst_element_set_state), (gst_element_change_state),
23428         (gst_element_change_state_func):
23429         * gst/gstelement.h:
23430         New state change algorithm (see #318116)
23431
23432         * gst/gstpipeline.c: (gst_pipeline_class_init),
23433         (gst_pipeline_init), (gst_pipeline_set_property),
23434         (gst_pipeline_get_property), (do_pipeline_seek),
23435         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23436         * gst/gstpipeline.h:
23437         Remove crude state change hacks.
23438
23439         * gst/gstutils.h:
23440         Remove crude hacks.
23441
23442         * tools/gst-launch.c: (main):
23443         Fixes for state change. Needs some more work to fully use the
23444         new stuff.
23445
23446 2005-10-10  Andy Wingo  <wingo@pobox.com>
23447
23448         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
23449
23450         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
23451         this flag, but it's not even in GLib 2.6. Odd. Hack around the
23452         issue.
23453
23454 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23455
23456         * gst/gstiterator.c: (gst_iterator_new):
23457           Fix my previous commit: GTypes passed to gst_iterator_new()
23458           can be fundamental types.
23459
23460 2005-10-10  Wim Taymans  <wim@fluendo.com>
23461
23462         * gst/gstelement.c: (gst_element_iterate_pad_list),
23463         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
23464         (gst_element_iterate_sink_pads):
23465         Use src/sink pads lists for the respective iterators instead
23466         of filtering.
23467
23468 2005-10-10  Andy Wingo  <wingo@pobox.com>
23469
23470         Merged in popt removal + GOption addition patch from Ronald, bug
23471         #169772.
23472
23473         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
23474         GstElement macros around, remove popt-related symbols, add goption
23475         stuff.
23476
23477         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
23478         
23479         * docs/gst/Makefile.am:
23480         * docs/libs/Makefile.am: No POPT_CFLAGS.
23481         
23482         * examples/manual/Makefile.am:
23483         * docs/manual/basics-init.xml: Doc updates with an example.
23484         
23485         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
23486         (gst_init), (parse_one_option), (parse_goption_arg):
23487         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
23488         bit of hand merging and debugging to get the GOption stuff working
23489         tho.
23490         
23491         * tests/Makefile.am:
23492         * tools/Makefile.am:
23493         * tools/gst-inspect.c: (main):
23494         * tools/gst-launch.c: (main):
23495         * tools/gst-run.c: (main):
23496         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
23497
23498 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23499
23500         * gst/gstiterator.c: (gst_iterator_new):
23501           Add assertions to make sure passed GType is likely to really
23502           be a GType (as the compiler won't catch it if the size and
23503           GType arguments get mixed up, see #318447).
23504
23505 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
23506
23507         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
23508
23509         * gst/gstbin.c: (gst_bin_iterate_sorted):
23510           Pass GType and size arguments to gst_iterator_new() in the right
23511           order (maybe we should make _new() take the GType as first argument
23512           just like _new_list()?) (#318447).
23513           
23514
23515 2005-10-10  Wim Taymans  <wim@fluendo.com>
23516
23517         * gst/gstelement.c: (gst_element_finalize):
23518         And free the GStaticRecMutex too
23519
23520 2005-10-10  Andy Wingo  <wingo@pobox.com>
23521
23522         * gst/gstelement.c (gst_element_init, gst_element_finalize):
23523         Allocate and free the mutex properly.
23524
23525         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
23526         New macros.
23527         (GstElement): The state_lock is now recursive. Rebuild your
23528         plugins, suckers. Old macros adapted.
23529
23530         * docs/gst/gstreamer-sections.txt: Doc updates.
23531
23532         * gst/gstutils.h:
23533         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
23534         (g_static_rec_cond_wait): Ported from state changes patch, while
23535         we wait on bug #317802 to be solved in a well-distributed GLib.
23536
23537         * gst/gstelement.c (gst_element_change_state_func): Renamed from
23538         gst_element_change_state, variable name changes.
23539         (gst_element_change_state): Split out of gst_element_set_state in
23540         preparation for the state change merge. Doesn't pay attention to
23541         the 'transition' argument.
23542         (gst_element_set_state): Updates, hopefully purely cosmetic.
23543         (gst_element_sync_state_with_parent): MT-safety. Ported from the
23544         state change patch.
23545         (gst_element_get_state_func): Renamed from get_state, cosmetic
23546         changes.
23547
23548 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23549
23550         * gst/elements/gstelements.c:
23551         * win32/GStreamer.vcproj:
23552         * win32/config.h:
23553         * win32/dirent.c: (_tseekdir):
23554         * win32/gst-inspect.vcproj:
23555         * win32/gst-launch.vcproj:
23556         * win32/gstconfig.h:
23557         * win32/gstelements.vcproj:
23558         * win32/gstenumtypes.c: (gst_object_flags_get_type):
23559         * win32/gstreamer.def:
23560         * win32/msvc71.sln:
23561           updates for the win32 build (patch from Sebastien Moutte)
23562
23563 2005-10-10  Andy Wingo  <wingo@pobox.com>
23564
23565         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
23566         gst_bin_get_state, cleaned up (but no logic changes).
23567         (bin_element_is_sink): Comment updates.
23568         (sink_iterator_filter): Remove needless cast.
23569         (gst_bin_iterate_sinks): Doc update.
23570         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
23571         cleaned up (but no logic changes).
23572
23573         * check/states/sinks.c (test_src_sink): Cleanups from the state
23574         change patch.
23575         (test_livesrc_sink): Sync on the state.
23576
23577         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
23578         the state change patch.
23579
23580         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
23581         change patch.
23582
23583         * check/gst/gstbin.c: Merge in some style fixes and additional
23584         checks from Wim's state change patch.
23585
23586 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23587
23588         * gst/base/gsttypefindhelper.c: (helper_find_peek),
23589         (gst_type_find_helper):
23590           Check whether we have the requested data already in our list of
23591           cached buffers before pulling a new buffer; also make the buffer
23592           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
23593
23594 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23595
23596         * gst/gstcaps.c:
23597         * gst/gstevent.c:
23598           doc updates
23599         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
23600           don't use long long, it's not portable.  Replacing with
23601           gint64 seems to work; let's hope no skeletons fall out of the closet.
23602
23603 2005-10-10  Andy Wingo  <wingo@pobox.com>
23604
23605         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
23606
23607 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
23608
23609         * docs/gst/gstreamer-sections.txt:
23610         * gst/gstevent.c:
23611         * gst/gstevent.h:
23612         * gst/gstinfo.c:
23613         * gst/gstinfo.h:
23614         * gst/gstmessage.c: (gst_message_parse_state_changed):
23615         * gst/gstpad.c:
23616         * gst/gstpad.h:
23617           more docs, fix compilation
23618
23619 2005-10-09  Philippe Khalaf <burger@speedy.org>
23620         * gst/gstmessage.c:
23621           Fixed a few forgotten variables on previous commit
23622
23623 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
23624
23625         * gst/base/gsttypefindhelper.c: (helper_find_peek):
23626           Fix evil typefind crasher: getrange() might return a short
23627           buffer at the end of a file, but gst_type_find_peek() must
23628           either return the full data as requested or NULL, but
23629           never a short buffer.
23630
23631 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
23632
23633         * gst/gstmessage.c: (gst_message_new_state_changed),
23634         (gst_message_parse_state_changed):
23635         * gst/gstmessage.h:
23636           don't use "new", it's a C++ keyword
23637
23638 2005-10-08  Wim Taymans  <wim@fluendo.com>
23639
23640         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
23641         * gst/gstelement.c: (gst_element_post_message):
23642         * gst/gstpipeline.c: (gst_pipeline_change_state):
23643         Small docs and debug updates.
23644
23645 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
23646
23647         * docs/gst/gstreamer-sections.txt:
23648         * gst/gstelementfactory.c:
23649         * gst/gstevent.c:
23650         * gst/gsttaglist.c:
23651           more docs
23652
23653 2005-10-08  Wim Taymans  <wim@fluendo.com>
23654
23655         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
23656         (gst_bin_dispose), (bin_bus_handler):
23657         Fix typos, add comments.
23658         Clear EOS list when going to PAUSED from any direction and do it
23659         in a threadsafe way.
23660         Get base time in a threadsafe way too.
23661         Fix confusing debug in the change_state function.
23662         Various other small cleanups.
23663         
23664         * gst/gstelement.c: (gst_element_post_message):
23665         Fix very verbose bus posting code.
23666
23667         * gst/gstpipeline.c: (gst_pipeline_class_init),
23668         (gst_pipeline_set_property), (gst_pipeline_get_property),
23669         (gst_pipeline_change_state):
23670         Small ARG_ -> PROP_ cleanup
23671
23672 2005-10-08  Wim Taymans  <wim@fluendo.com>
23673
23674         * gst/gstbin.c: (is_eos), (bin_bus_handler):
23675         Do a less CPU demanding EOS check because we can.
23676
23677 2005-10-08  Wim Taymans  <wim@fluendo.com>
23678
23679         * libs/gst/dataprotocol/dataprotocol.c:
23680         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
23681         (gst_dp_packet_from_event):
23682         * libs/gst/dataprotocol/dataprotocol.h:
23683         * libs/gst/dataprotocol/dp-private.h:
23684         It's about time we bump the version number.
23685         Since event types don't fit in the guint8 anymore describing
23686         the payload type, make payload type 16 bits wide.
23687
23688 2005-10-08  Wim Taymans  <wim@fluendo.com>
23689
23690         * docs/design/part-TODO.txt:
23691         * docs/design/part-clocks.txt:
23692         * docs/design/part-events.txt:
23693         * docs/design/part-gstbin.txt:
23694         * docs/design/part-gstelement.txt:
23695         * docs/design/part-gstpipeline.txt:
23696         * docs/design/part-live-source.txt:
23697         * docs/design/part-messages.txt:
23698         * docs/design/part-overview.txt:
23699         * docs/design/part-states.txt:
23700         Many doc updates.
23701
23702 2005-10-08  Wim Taymans  <wim@fluendo.com>
23703
23704         * gst/gstevent.c:
23705         * gst/gstevent.h:
23706         Fix event quark registration.
23707         Add some space between events so we can insert them in the
23708         right groups.
23709
23710 2005-10-08  Wim Taymans  <wim@fluendo.com>
23711
23712         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23713         (gst_base_sink_handle_buffer):
23714         Better log message.
23715
23716         * gst/gstbus.h:
23717         * gst/gstelement.h:
23718         More docs.
23719
23720         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
23721         (gst_queue_set_property), (gst_queue_get_property):
23722         * gst/gstqueue.h:
23723         Remove old unused properties.
23724
23725 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
23726         * docs/gst/gstreamer-sections.txt:
23727         * gst/gstmessage.c:
23728         * gst/gstmessage.h:
23729         * gst/gstminiobject.c:
23730         * gst/gstminiobject.h:
23731         * gst/gstobject.h:
23732         * gst/gstpad.h:
23733         * gst/gstutils.h:
23734           lots of new docs and doc fixes
23735
23736 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23737
23738         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
23739         * gst/gstplugin.h:
23740         * gst/gstregistry.c: (gst_registry_lookup_locked),
23741         (gst_registry_scan_path_level):
23742         * gst/gstregistryxml.c: (load_plugin):
23743           Only ever load one plugin for a given plugin basename.
23744           This ensures correct overriding of GST_PLUGIN_PATH over
23745           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
23746           system installed plugins.
23747
23748 2005-10-08  Wim Taymans  <wim@fluendo.com>
23749
23750         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23751         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
23752         Prepare for doing QOS.
23753
23754 2005-10-08  Wim Taymans  <wim@fluendo.com>
23755
23756         * check/gst/gstbin.c: (GST_START_TEST):
23757         * check/pipelines/cleanup.c: (GST_START_TEST):
23758         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
23759         Allow new clock message too.
23760
23761 2005-10-08  Wim Taymans  <wim@fluendo.com>
23762
23763         * gst/gstmessage.c: (gst_message_new_error),
23764         (gst_message_new_warning), (gst_message_new_tag),
23765         (gst_message_new_state_changed), (gst_message_new_clock_provide),
23766         (gst_message_new_clock_lost), (gst_message_new_new_clock),
23767         (gst_message_new_segment_start), (gst_message_new_segment_done),
23768         (gst_message_parse_state_changed),
23769         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
23770         (gst_message_parse_new_clock):
23771         * gst/gstmessage.h:
23772         Also carry the clock in question.
23773
23774 2005-10-08  Wim Taymans  <wim@fluendo.com>
23775
23776         * gst/gstmessage.c: (gst_message_new_custom),
23777         (gst_message_new_eos), (gst_message_new_error),
23778         (gst_message_new_warning), (gst_message_new_tag),
23779         (gst_message_new_state_changed), (gst_message_new_clock_provide),
23780         (gst_message_new_new_clock), (gst_message_new_segment_start),
23781         (gst_message_new_segment_done), (gst_message_parse_state_changed),
23782         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
23783         * gst/gstmessage.h:
23784         Clean up.
23785         Added clock related messages.
23786
23787         * gst/gstpipeline.c: (gst_pipeline_change_state):
23788         Post message when the clock changed.
23789
23790         * tools/gst-launch.c: (event_loop):
23791         Print new clock.
23792
23793 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
23794
23795         * tools/gst-inspect.c: (print_element_properties_info):
23796           Can't pass NULL strings to g_print() on windows.
23797
23798 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23799
23800         * docs/Makefile.am:
23801         * docs/gst/Makefile.am:
23802         * docs/gst/gstreamer-docs.sgml:
23803         * docs/gst/running.xml:
23804         * docs/version.entities.in:
23805           add a chapter on running GStreamer.
23806           document GST_DEBUG and GST_PLUGIN* env vars
23807
23808 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23809
23810         * Makefile.am:
23811           remove include dir
23812         * configure.ac:
23813           remove PLUGINS_BUILDDIR stuff
23814         * gst/gst.c: (init_post):
23815           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
23816         * idiottest.mak:
23817           remove, it was condescending and not needed
23818
23819 2005-10-08  Wim Taymans  <wim@fluendo.com>
23820
23821         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
23822         (gst_base_sink_handle_object), (gst_base_sink_event),
23823         (gst_base_sink_wait), (gst_base_sink_handle_event),
23824         (gst_base_sink_change_state):
23825         * gst/base/gstbasesink.h:
23826         Repost EOS message while going to PLAYING if still EOS.
23827         Make sure that when receiving a FLUSH_START we don't attempt
23828         to sync on the clock anymore.
23829
23830 2005-10-08  Wim Taymans  <wim@fluendo.com>
23831
23832         * tools/gst-launch.c: (event_loop):
23833         Better message printout.
23834
23835 2005-10-08  Wim Taymans  <wim@fluendo.com>
23836
23837         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
23838         (gst_bin_child_proxy_get_children_count):
23839         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
23840         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
23841         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
23842         (gst_child_proxy_set_valist):
23843         * gst/parse/grammar.y:
23844         Make ChildProxy threadsafe and fix mem leaks.
23845
23846 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23847
23848         * gst/gst.c: (init_post):
23849           debug the GST_PLUGIN_ env vars
23850
23851 2005-10-08  Wim Taymans  <wim@fluendo.com>
23852
23853         * check/gst/gstbin.c: (GST_START_TEST):
23854         * check/gst/gstmessage.c: (GST_START_TEST):
23855         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
23856         * gst/gstelement.c: (gst_element_commit_state),
23857         (gst_element_lost_state):
23858         * gst/gstmessage.c: (gst_message_new_state_changed),
23859         (gst_message_parse_state_changed):
23860         * gst/gstmessage.h:
23861         * tools/gst-launch.c: (event_loop):
23862         Added extra field to STATE_CHANGE message with the pending
23863         state, which will be different from the new state soon.
23864
23865 2005-10-08  Wim Taymans  <wim@fluendo.com>
23866
23867         * gst/gstbus.c: (gst_bus_pop):
23868         * gst/gstclock.c:
23869         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
23870         Small cleanups and doc updates.
23871
23872 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23873
23874         * gst/gst.c: (init_pre):
23875         * gst/gstbin.c: (gst_bin_add_func):
23876           log distributing clocks and base time
23877         * gst/gstregistry.c: (gst_registry_add_plugin),
23878         (gst_registry_scan_path_level), (gst_registry_scan_path):
23879           clean up the debugging output a little
23880         * gst/gstutils.c: (gst_element_state_get_name):
23881           warn about a memleak (I've actually seen this be used, though
23882           it was probably a bug)
23883
23884 2005-10-07  Wim Taymans  <wim@fluendo.com>
23885
23886         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
23887         (gst_base_src_init), (gst_base_src_default_newsegment),
23888         (gst_base_src_newsegment), (gst_base_src_do_seek),
23889         (gst_base_src_loop), (gst_base_src_start):
23890         * gst/base/gstbasesrc.h:
23891         Make the newsegment event customizable by subclasses.
23892
23893 2005-10-07  Wim Taymans  <wim@fluendo.com>
23894
23895         * gst/gstevent.c: (gst_event_new_buffersize),
23896         (gst_event_parse_buffersize):
23897         * gst/gstevent.h:
23898         New event for future idea.
23899
23900 2005-10-07  Andy Wingo  <wingo@pobox.com>
23901
23902         * gst/gstelement.c (gst_element_post_message): Doc update.
23903
23904         * docs/gst/gstreamer-sections.txt: Update.
23905
23906         * gst/gstmessage.c (gst_message_new_application): Made into a
23907         function like honest API calls.
23908         (gst_message_new_element): New message type.
23909
23910         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
23911
23912         * check/elements/fakesrc.c (test_no_preroll): New check, checks
23913         that setting a live fakesrc to PAUSED returns NO_PREROLL both
23914         times.
23915
23916         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
23917         NO_PREROLL from gst_element_change_state to fall through.
23918
23919 2005-10-07  Wim Taymans  <wim@fluendo.com>
23920
23921         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
23922         (gst_ghost_pad_do_activate_push):
23923         Activating a ghostpad with no internal pad in push mode
23924         is ok.
23925
23926 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
23927
23928         * gst/gstobject.h:
23929           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
23930           Fixes compilation on Windows.
23931
23932 2005-10-07  Michael Smith <msmith@fluendo.com>
23933
23934         * tools/gst-inspect.c:
23935           Print out feature and plugin count at the end when printing out
23936           all features.
23937
23938 2005-10-04  Michael Smith <msmith@fluendo.com>
23939
23940         * gst/gsterror.c: (_gst_stream_errors_init):
23941           Add another error string used in a few existing plugins.
23942
23943         * gst/gstplugin.c:
23944         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
23945         * tools/gst-inspect.c: (print_element_info):
23946           When a feature disappears from a plugin (and the feature exists in
23947           the cached registry file), things went horribly wrong. This isn't a
23948           complete fix, we should actually be removing the 'missing' features
23949           from the features list when we load the actual plugin. That's not
23950           yet implemented. 
23951
23952 2005-10-04  Johan Dahlin  <johan@gnome.org>
23953
23954         * check/gst/gstiterator.c: (GST_START_TEST):
23955         * gst/gstbin.c: (gst_bin_iterate_elements),
23956         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
23957         * gst/gstelement.c: (gst_element_iterate_pads):
23958         * gst/gstformat.c: (gst_format_iterate_definitions):
23959         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
23960         (gst_iterator_new_list), (gst_iterator_filter):
23961         * gst/gstiterator.h:
23962         * gst/gstquery.c: (gst_query_type_iterate_definitions):
23963         Add a GType to GstIterator, update callsites and tests.
23964
23965 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23966
23967         * gst/gstpad.c: (gst_pad_event_default_dispatch):
23968           give events a chance to be handled by event probes when the pad
23969           is not linked
23970
23971 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23972
23973         * gst/gstevent.c: (gst_event_type_get_name),
23974         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
23975         * gst/gstevent.h:
23976           add string representations for event types
23977
23978 2005-10-06  Wim Taymans  <wim@fluendo.com>
23979
23980         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
23981         Don't use NULL pointers.
23982
23983 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23984
23985         * gst/gst_private.h:
23986         * gst/gstbus.c:
23987         * gst/gstelement.c:
23988         * gst/gstinfo.c:
23989         * gst/gstpluginfeature.c:
23990           widen the debug category in output to fit the biggest one we have
23991           add a bus category and use it
23992           play with the colors
23993           fix up some categories
23994
23995 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23996
23997         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
23998           add push activation of sink ghost pads.
23999           Andye, please verify
24000
24001 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
24002
24003         * gst/gstutils.c: (gst_element_link_pads):
24004           fix a bug in the case where neither element has a pad
24005         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
24006           add a test for that case
24007
24008 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
24009
24010         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
24011           emit have-data before checking for peers.  This allows
24012           for probe handlers to connect elements.  This helps autopluggers.
24013         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
24014         (gst_pad_suite):
24015           add six checks, linked/unlinked with no/true/false probe
24016
24017 2005-10-04  Wim Taymans  <wim@fluendo.com>
24018
24019         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
24020         (gst_fake_sink_event), (gst_fake_sink_preroll),
24021         (gst_fake_sink_render), (gst_fake_sink_change_state):
24022         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
24023         (gst_fake_src_get_property), (gst_fake_src_create),
24024         (gst_fake_src_stop):
24025         * gst/elements/gstidentity.c: (gst_identity_stop):
24026         Protect last_message with lock.
24027
24028 2005-10-04  Edward Hervey  <edward@fluendo.com>
24029
24030         * gst/gstformat.h: 
24031         Added precision in the comments for GST_FORMAT_DEFAULT
24032
24033 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
24034
24035         * tools/gst-launch.c: (main):
24036           Don't try to run erroneous pipelines.
24037
24038 2005-10-04  Julien MOUTTE  <julien@moutte.net>
24039
24040         * gst/gstbus.c: We don't need this header.
24041
24042 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
24043
24044         * configure.ac:
24045           back to development
24046
24047 === release 0.9.3 ===
24048
24049 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
24050
24051         * README:
24052         * configure.ac:
24053           Releasing 0.9.3, "Unregistered"
24054
24055 2005-10-03  Andy Wingo  <wingo@pobox.com>
24056
24057         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
24058         whereby calling a pad's activatepush() function can start a thread
24059         that starts to push or pull before the pad gets the FLUSHING flag
24060         unset. Hack around it by holding the stream lock until the flag is
24061         set. Need to replace this with a proper solution. Together with
24062         the ghost pad fixes, this fixes mp3 playing/tagreading.
24063
24064         * docs/design/part-gstghostpad.txt: Add a note about activation of
24065         proxy pads outside of ghost pads.
24066
24067         * gst/gstghostpad.c: Implement the ghost pad activation design.
24068
24069 2005-10-02  Andy Wingo  <wingo@pobox.com>
24070
24071         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
24072         It is volatile, after all.
24073
24074         * docs/design/part-gstghostpad.txt: Flesh out activation with
24075         ghost pads.
24076
24077         * gst/base/gstbasesrc.c (gst_base_src_init): Use
24078         GST_DEBUG_FUNCPTR.
24079
24080 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
24081
24082         * configure.ac:
24083           Fix (unused) AM_CONDITIONAL tests.
24084
24085 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
24086
24087         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
24088
24089         * gst/gstutils.c: (gst_pad_query_convert):
24090           Add assertion that makes sure src_val is >=0, just like
24091           gst_query_new_convert() has. (#315895)
24092
24093 2005-09-30  Edward Hervey  <edward@fluendo.com>
24094
24095         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
24096         Let's not iterate pads we're not interested in, it avoids getting 
24097         sky-high refcounts on sinkpad.
24098
24099 2005-09-30  Wim Taymans  <wim@fluendo.com>
24100
24101         * gst/gstelement.c: (gst_element_set_state),
24102         (gst_element_change_state):
24103         Small tweak, element in ASYNC remains ASYNC.
24104
24105 2005-09-30  Wim Taymans  <wim@fluendo.com>
24106
24107         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
24108         Only error is an error.
24109
24110         * gst/gstbin.c: (gst_bin_change_state):
24111         Better debugging.
24112
24113         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
24114         Also call pad_block in pad alloc.
24115
24116         * gst/gstutils.c: (gst_flow_get_name):
24117         Better debugging.
24118
24119 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
24120
24121         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
24122         (gst_base_src_get_range):
24123           Fix documentation typos. Add some more debug info.
24124
24125 2005-09-29  David Schleef  <ds@schleef.org>
24126
24127         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
24128           more end-user friendly.
24129         * tools/gst-inspect.c: (main): Check if command-line argument is
24130           a file and attempt to load that file as a plugin.
24131
24132 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
24133
24134         * check/gst/gstbin.c:
24135         * check/states/sinks.c:
24136           fix tests for the new warning
24137         * check/gst/gstpipeline.c:
24138           add a test for pipeline and bus interaction
24139         * gst/gstelement.c:
24140           elements should be NULL if they get disposed; add a warning if not
24141
24142 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
24143
24144         * gst/gstobject.c:
24145           for 2.6 refcounting, make debug log more correct by printing
24146           the actual refcounts at the time of swap (Wim)
24147
24148 2005-09-29  Andy Wingo  <wingo@pobox.com>
24149
24150         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
24151         removes signal watches previously added via
24152         gst_bus_add_signal_watch.
24153         (gst_bus_add_signal_watch): Don't return the source id, just store
24154         it on the bus if there wasn't an id already.
24155
24156         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
24157         add_signal_watch and remove_signal_watch.
24158
24159 2005-09-29  Edward Hervey  <edward@fluendo.com>
24160
24161         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
24162         Better if we actually iterate the list :)
24163
24164 2005-09-29  Wim Taymans  <wim@fluendo.com>
24165
24166         * check/gst/gstbin.c: (GST_START_TEST):
24167         Change for new bus API.
24168
24169         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
24170         (send_messages), (GST_START_TEST), (gstbus_suite):
24171         Change for new bus signal API.
24172
24173         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
24174         (gst_bus_source_prepare), (gst_bus_source_check),
24175         (gst_bus_create_watch), (gst_bus_add_watch_full),
24176         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
24177         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
24178         * gst/gstbus.h:
24179         Remove support for multiple GSources operating on different
24180         message types as it is too complex and unneeded when using
24181         signals.
24182         Added support for receiving signals from the bus.
24183
24184 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
24185
24186         * docs/libs/tmpl/gstdataprotocol.sgml:
24187         * docs/manual/advanced-dataaccess.xml:
24188         * gst/elements/gstcapsfilter.c:
24189         * gst/gstutils.c:
24190           rename filter-caps to caps property
24191
24192 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
24193
24194         * gst/gstvalue.c: (gst_value_deserialize_fraction):
24195           More robust fraction string parsing.
24196
24197         * docs/pwg/appendix-porting.xml:
24198           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
24199
24200 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
24201
24202         * gst/gstcaps.c: (gst_caps_do_simplify):
24203           Thou shalt not free a structure and then continue using it
24204           in the next loop iteration.
24205
24206         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
24207         (gst_caps_suite):
24208           Add test case for caps simplification.
24209
24210 2005-09-29  Wim Taymans  <wim@fluendo.com>
24211
24212         * check/gst/gstbin.c: (GST_START_TEST):
24213         Oops.
24214
24215 2005-09-29  Wim Taymans  <wim@fluendo.com>
24216
24217         * check/gst/gstbin.c: (GST_START_TEST):
24218         Add bus to bin.
24219
24220         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
24221         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
24222         (find_element), (gst_bin_sort_iterator_next),
24223         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24224         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24225         (gst_bin_change_state), (gst_bin_dispose):
24226         A bin does not have a bus, it gets the bus from the parent.
24227
24228         * gst/gstelement.c: (gst_element_requires_clock),
24229         (gst_element_provides_clock), (gst_element_is_indexable),
24230         (gst_element_is_locked_state), (gst_element_change_state),
24231         (gst_element_set_bus_func):
24232         Small cleanups.
24233
24234         * gst/gstpipeline.c: (gst_pipeline_class_init),
24235         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
24236         The pipeline provides a bus.
24237
24238 2005-09-28  Johan Dahlin  <johan@gnome.org>
24239
24240         * gst/gstmessage.c (gst_message_parse_state_changed): Use
24241         gst_structure_get_enum instead of gst_structure_get_int
24242
24243         * gst/gststructure.c (gst_structure_get_enum): Impl.
24244
24245         * gst/gststructure.h (gst_structure_get_enum): Add
24246
24247         * docs/gst/gstreamer-sections.txt: Ditto
24248
24249         * gst/gstmessage.c (gst_message_new_state_changed): Use
24250         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
24251         which does introspection.
24252         Reviewed by Christian Schaller
24253
24254 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
24255
24256         * gst/gstinfo.c: (gst_debug_log_default):
24257           don't do dummy g_strdup()s
24258         * libs/gst/controller/gstcontroller.c:
24259         (on_object_controlled_property_changed),
24260         (gst_controlled_property_new), (gst_controller_new_valist),
24261         (gst_controller_new_list),
24262         (gst_controller_remove_properties_valist), (gst_controller_set),
24263         (gst_controller_get), (gst_controller_sync_values),
24264         (gst_controller_get_value_array), (_gst_controller_class_init),
24265         (gst_controller_get_type):
24266         * libs/gst/controller/gstcontroller.h:
24267         * libs/gst/controller/gstinterpolation.c:
24268         (gst_controlled_property_find_timed_value_node):
24269           convert // to /**/ comments
24270
24271 2005-09-28  Wim Taymans  <wim@fluendo.com>
24272
24273         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
24274         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
24275         (gst_bus_sync_signal_handler):
24276         * gst/gstbus.h:
24277         Added async-message and sync-message signals to the bus.
24278         Added helper BusFunc to emit signals for all posted messages.
24279
24280         * gst/gstmessage.c: (gst_message_type_get_name),
24281         (gst_message_type_to_quark), (gst_message_get_type):
24282         * gst/gstmessage.h:
24283         Register quarks for message names.
24284
24285 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
24286
24287         * docs/libs/gstreamer-libs-sections.txt:
24288         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
24289         (gst_controller_new_list):
24290         * libs/gst/controller/gstcontroller.h:
24291           added another constructor for language bindings
24292
24293 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
24294
24295         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
24296           add another check
24297         * gst/gstbus.c:
24298           add some doc
24299         * gst/gstinfo.c: (_gst_debug_init):
24300           slightly more readable color for refcount debugging
24301
24302 2005-09-28  Wim Taymans  <wim@fluendo.com>
24303
24304         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
24305         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
24306         (find_element), (gst_bin_sort_iterator_next),
24307         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24308         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24309         (gst_bin_change_state), (gst_bin_dispose):
24310         Small doc fixes. get_clock -> provide_clock.
24311
24312         * gst/gstelement.c: (gst_element_class_init),
24313         (gst_element_provides_clock), (gst_element_provide_clock),
24314         (gst_element_get_clock), (gst_element_commit_state),
24315         (gst_element_lost_state):
24316         * gst/gstelement.h:
24317         Make get/set_clock() symetric. Add provide_clock vmethod since
24318         that is actually what this function does.
24319
24320         * gst/gstpipeline.c: (gst_pipeline_class_init),
24321         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
24322         (gst_pipeline_get_clock):
24323         get_clock -> provide_clock.
24324
24325 2005-09-28  Andy Wingo  <wingo@pobox.com>
24326
24327         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
24328         lieu of real docs...
24329
24330         * gst/elements/gstfdsrc.c: Cleaned up a bit.
24331
24332 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
24333
24334         * gst/elements/gstcapsfilter.c:
24335         * gst/elements/gstfakesink.c:
24336         * gst/elements/gstfakesrc.c:
24337         * gst/elements/gstfdsink.c:
24338         * gst/elements/gstfdsrc.c:
24339         * gst/elements/gstfilesink.c:
24340         * gst/elements/gstfilesrc.c:
24341         * gst/elements/gstidentity.c:
24342         * gst/elements/gsttee.c:
24343         * gst/elements/gsttypefindelement.c:
24344           Make element details static.
24345
24346 2005-09-28  Wim Taymans  <wim@fluendo.com>
24347
24348         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24349         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24350         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24351         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24352         (gst_bin_change_state), (gst_bin_dispose):
24353         Some documentation updates.
24354         Clean up dispose handlers.
24355
24356         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
24357         * gst/gstpad.c: (gst_pad_dispose):
24358         Clean up dispose handler.
24359
24360         * gst/gstpipeline.c: (gst_pipeline_change_state):
24361         Removed spurious UNLOCK.
24362
24363 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
24364
24365         * docs/gst/gstreamer-sections.txt:
24366         * gst/base/gstbasesrc.h:
24367         * gst/gstelement.h:
24368         * gst/gstevent.h:
24369         * gst/gstobject.h:
24370         * gst/gstpad.h:
24371         * gst/gstpipeline.c:
24372         * gst/gstpipeline.h:
24373         * gst/gstutils.h:
24374         * gst/gstxml.h:
24375           added two new functions to the docs
24376                 documents all undocumented GstXXXFlags
24377                 completed some incomplete docs 
24378
24379 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
24380
24381         * gst/gstbin.c: (gst_bin_dispose):
24382         * gst/gstelement.c: (gst_element_dispose):
24383           remove now useless and leaky resurrection code in dispose
24384         * gst/base/gstbasesrc.c: (gst_base_src_init):
24385         * gst/gstelementfactory.c: (gst_element_factory_create):
24386         * gst/gstobject.c: (gst_object_set_parent):
24387           add some debugging
24388
24389 2005-09-27  Wim Taymans  <wim@fluendo.com>
24390
24391         * docs/design/part-TODO.txt:
24392         Update TODO.
24393
24394         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24395         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24396         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24397         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24398         (gst_bin_change_state):
24399         * gst/gstelement.h:
24400         Remove element variable, we keep element info in the iterator now.
24401
24402 2005-09-27  Andy Wingo  <wingo@pobox.com>
24403
24404         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
24405         values.
24406
24407 2005-09-27  Wim Taymans  <wim@fluendo.com>
24408
24409         * check/gst/gstbin.c: (GST_START_TEST):
24410         Enable check that works now.
24411
24412         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24413         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24414         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24415         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24416         (gst_bin_change_state):
24417         * gst/gstbin.h:
24418         Redid the state change algorithm using a topological sort algo.
24419         Handles all cases correctly.
24420         Exposed iterator for state change order.
24421
24422         * gst/gstelement.h:
24423         Temp storage for state changes. Need to get rid of this soon.
24424
24425 2005-09-27  Wim Taymans  <wim@fluendo.com>
24426
24427         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
24428         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
24429         (link_fold_func), (gst_pad_proxy_setcaps):
24430         Leak fixes, the fold functions need to unref the passed object and
24431         _get_parent_*() returns ref to parent.
24432
24433 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24434
24435         * check/gst/gstbuffer.c: (test_make_writable):
24436           Plug leak in test case and fix 'make check-valgrind'
24437
24438 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24439
24440         * gst/gstbuffer.c: (gst_subbuffer_init):
24441           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
24442           works correctly in all circumstances (we could have just copied
24443           the parent buffer's readonly flag, but conceptually it seems
24444           cleaner to mark all subbuffers as read-only). (based on patch
24445           by Alessandro Decina, #314710).
24446         
24447         * check/gst/gstbuffer.c: (create_read_only_buffer),
24448         (test_make_writable), (test_subbuffer_make_writable),
24449         (gst_test_suite):
24450           Add some tests for gst_buffer_make_writable().
24451
24452 2005-09-27  Wim Taymans  <wim@fluendo.com>
24453
24454         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
24455         use gst_object_has_ancestor().
24456
24457         * gst/gstobject.c: (gst_object_has_ancestor):
24458         * gst/gstobject.h:
24459         gst_object_has_ancestor() copied from gstbin.c as it is a
24460         useful function.
24461
24462         * tests/instantiate/create.c: (create_all_elements):
24463         * tests/lat.c: (handoff_src), (handoff_sink):
24464         * tests/sched/runxml.c: (main):
24465         * tests/seeking/seeking1.c: (main):
24466         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
24467         (main):
24468         Fix compilation of some tests.
24469
24470 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24471
24472         * gst/gsterror.h:
24473           Remove comment. GST_TYPE_G_ERROR is here to stay,
24474           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
24475           (#316961, #300610).
24476
24477 2005-09-26  Wim Taymans  <wim@fluendo.com>
24478
24479         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
24480         Added check that shows error in state change order.
24481
24482 2005-09-26  Wim Taymans  <wim@fluendo.com>
24483
24484         * gst/gstbin.c: (gst_bin_change_state):
24485         Make state change function use 3 queues again, we were
24486         adding elements in the wrong order.
24487
24488         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
24489         Some debug info,
24490
24491         * gst/gstpad.c: (gst_pad_dispose):
24492         Added some debug info first.
24493
24494 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
24495
24496         * docs/design/draft-push-pull.txt:
24497         * docs/design/part-events.txt:
24498         * docs/design/part-overview.txt:
24499         * docs/design/part-scheduling.txt:
24500           Replace all _pull_region() with _pull_range()
24501           
24502 2005-09-26  Andy Wingo  <wingo@pobox.com>
24503
24504         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
24505
24506         * check/gst-libs/controller.c: Update for controller api change.
24507
24508         * configure.ac: 
24509         * tests/Makefile.am:
24510         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
24511         over by GLib bug 118439.
24512         
24513         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
24514         routines to a function.
24515
24516         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
24517
24518         * libs/gst/controller/gsthelper.c:
24519         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
24520         (gst_object_sync_values): Renamed from sink_values. Ugh.
24521
24522         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
24523
24524         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
24525         Renamed from controller_key, as it is exported.
24526
24527         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
24528
24529 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
24530
24531         * gst/Makefile.am:
24532         * gst/gst.h:
24533         * gst/gstpad.h:
24534         * gst/gstpadtemplate.h:
24535         * gst/gstquery.c:
24536         * gst/gstquery.h:
24537         * gst/gstqueryutils.c:
24538         * gst/gstqueryutils.h:
24539           remove queryutils headers after moving the two used functions
24540           to gstquery.  also fixes build problem for gstsiddec
24541
24542 2005-09-26  Michael Smith <msmith@fluendo.com>
24543
24544         * tools/gst-launch.1.in:
24545         Correct documentation in manpage of debug syntax
24546
24547 2005-09-26  Wim Taymans  <wim@fluendo.com>
24548
24549         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
24550         (gst_base_src_is_seekable), (gst_base_src_change_state):
24551         Some more debugging info.
24552
24553 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24554
24555         * docs/gst/gstreamer-sections.txt:
24556         * gst/base/gstbasetransform.h:
24557         * gst/gstindex.h:
24558           added more docs
24559
24560 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24561
24562         * docs/gst/.cvsignore:
24563         * docs/gst/tmpl/.cvsignore:
24564         * docs/gst/tmpl/gstpipeline.sgml:
24565         * docs/gst/tmpl/gstplugin.sgml:
24566         * gst/gstpipeline.c:
24567         * gst/gstplugin.c:
24568         * gst/gstplugin.h:
24569           inlined the last two docs files
24570           removed the tmpl directory from cvs (no more conflicts here!)
24571
24572 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24573
24574         * docs/gst/gstreamer-sections.txt:
24575         * docs/gst/tmpl/.cvsignore:
24576         * docs/gst/tmpl/gstpad.sgml:
24577         * docs/gst/tmpl/gstpadtemplate.sgml:
24578         * gst/Makefile.am:
24579         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
24580         (gst_pad_finalize), (gst_pad_set_pad_template):
24581         * gst/gstpad.h:
24582         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
24583         (gst_pad_template_class_init), (gst_pad_template_init),
24584         (gst_pad_template_dispose), (name_is_valid),
24585         (gst_static_pad_template_get), (gst_pad_template_new),
24586         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
24587         (gst_pad_template_pad_created):
24588         * gst/gstpadtemplate.h:
24589           inlined two more docs
24590           factored gstpadtemplate out of gstpad
24591
24592 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
24593
24594         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24595         (test_children_state_change_order_semi_sink):
24596           Fix test case: we can't rely on a fixed state change order when
24597           going from READY => PAUSED because the sink might commit its 
24598           new state first when the first buffer created by the source 
24599           reaches the sink before the source has finished its change state.
24600           (Test case still fails at times, see #316856, comment 5 onwards)
24601
24602 2005-09-24  Wim Taymans  <wim@fluendo.com>
24603
24604         * docs/design/part-events.txt:
24605         * docs/design/part-gstbus.txt:
24606         * docs/design/part-gstpipeline.txt:
24607         * docs/design/part-messages.txt:
24608         * docs/design/part-overview.txt:
24609         * docs/design/part-segments.txt:
24610         * gst/gstbin.c:
24611         * gst/gstbuffer.c:
24612         * gst/gstclock.c:
24613         * gst/gstelement.c:
24614         * gst/gstevent.c:
24615         * gst/gstfilter.c:
24616         * gst/gstiterator.c:
24617         Various documentation updates.
24618
24619 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
24620
24621         * gst/gstclock.h:
24622           Well, that's embarassing.  Luckily we weren't using
24623           GST_CLOCK_DIFF anywhere.
24624
24625 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24626
24627         * common/gtk-doc.mak:
24628           don't fail on building XML, FC4 slave shows a bunch of doc
24629           missing bits that I don't get
24630         * gst/gstpad.c:
24631         * gst/gstpipeline.c:
24632         * gst/gststructure.c:
24633           some doc updates
24634
24635 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
24636
24637         * docs/design/part-gstbin.txt:
24638         * docs/design/part-gstbus.txt:
24639         * gst/gstbus.c:
24640           Add blurb about how the bus goes into flushing mode and
24641           drops all messages when its bin goes from READY into NULL 
24642           state.
24643
24644 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24645
24646         * docs/gst/gstreamer-sections.txt:
24647         * gst/gststructure.c: (gst_structure_get_clock_time):
24648         * gst/gststructure.h:
24649           add a method to get a GstClockTime out of a structure
24650
24651 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
24652
24653         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24654         (test_children_state_change_order_semi_sink), (gst_bin_suite):
24655           Added test to check state change order in bins (can still be made
24656           to fail here under heavy disk load; bails out with 'Push on pad
24657           fakesink:sink0, but it was not activated in push mode').
24658
24659         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
24660           Fix state change order when there is only a semi sink (#316856)
24661
24662         * gst/gstbus.c: (gst_bus_class_init):
24663           Use _class_peek_parent(), not _class_ref(); fix docs to say
24664           'default main context' instead of 'mainloop' where that is
24665           what's meant.
24666
24667         * gst/gstelement.c: (gst_element_commit_state),
24668         (gst_element_set_state):
24669           Fix typos in debug messages
24670
24671 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24672
24673         * docs/README:
24674         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
24675         * gst/gstpluginfeature.c:
24676         * gst/gstutils.c:
24677           various doc updates
24678         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24679           change an assert into an error until it gets fixed properly
24680
24681 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
24682
24683         * docs/gst/gstreamer-sections.txt:
24684         * docs/gst/tmpl/.cvsignore:
24685         * docs/gst/tmpl/gstelement.sgml:
24686         * docs/gst/tmpl/gstinfo.sgml:
24687         * docs/gst/tmpl/gstobject.sgml:
24688         * gst/gstelement.c:
24689         * gst/gstelement.h:
24690         * gst/gstinfo.c:
24691         * gst/gstinfo.h:
24692         * gst/gstobject.c: (gst_object_class_init):
24693         * gst/gstobject.h:
24694           inlined 3 more biiiig doc files and added some missing docs on the fly
24695
24696 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24697
24698         * check/gst/.cvsignore:
24699         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
24700         * gst/gstregistryxml.c: (load_plugin),
24701         (gst_registry_xml_save_plugin):
24702           put back source in registry.  add checks for find_plugin.
24703         * testsuite/states/bin.c: (assert_state), (empty_bin),
24704         (test_adding_one_element), (main):
24705         * testsuite/states/locked.c: (main):
24706           some compile/run fixes
24707
24708 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
24709
24710         * check/gst/gstvalue.c: (GST_START_TEST):
24711           fix leaks in the test itself
24712
24713 2005-09-22  Wim Taymans  <wim@fluendo.com>
24714
24715         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24716         (gst_base_sink_send_event), (gst_base_sink_peer_query),
24717         (gst_base_sink_query):
24718         Prepare for more accurate position reporting and query
24719         handling.
24720
24721         * gst/gstelement.c: (gst_element_send_event),
24722         (gst_element_set_state):
24723         Add some comment.
24724
24725 2005-09-22  Wim Taymans  <wim@fluendo.com>
24726
24727         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
24728         (gst_query_parse_segment):
24729         * gst/gstquery.h:
24730         More documentation.
24731         Add segment query for future use.
24732
24733 2005-09-22  Wim Taymans  <wim@fluendo.com>
24734
24735         * gst/gstbin.c: (gst_bin_add_func):
24736         Some more debug info.
24737
24738         * gst/gstelement.c: (gst_element_send_event):
24739         Simplify send_event
24740
24741         * gst/gstelement.h:
24742         Don't know how flags got broken.
24743
24744         * gst/gstquery.h:
24745         Added new query.
24746
24747 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
24748
24749         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
24750           Add simplistic test suite for GST_TYPE_DATE serialisation and
24751           deserialisation.
24752
24753 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
24754
24755         * docs/gst/gstreamer-sections.txt:
24756         * gst/gststructure.c: (gst_structure_set_valist),
24757         (gst_structure_get_date):
24758         * gst/gststructure.h:
24759         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
24760         (gst_date_copy), (gst_value_compare_date),
24761         (gst_value_serialize_date), (gst_value_deserialize_date),
24762         (gst_value_transform_date_string),
24763         (gst_value_transform_string_date), (_gst_value_initialize):
24764         * gst/gstvalue.h:
24765           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
24766           bunch of utility functions along with a hack that checks that
24767           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
24768           is required. Part of the grand scheme in #170777.
24769
24770 2005-09-22  Andy Wingo  <wingo@pobox.com>
24771
24772         * gst/gstconfig.h.in: Psych out gtk-doc.
24773
24774         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
24775
24776         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
24777
24778         * tools/gst-inspect.c (print_element_list): Plug some
24779         inconsequential leaks.
24780
24781         * gst/gstregistry.c (gst_registry_get_default): Doc.
24782
24783         * check/gst/gstplugin.c: 
24784         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
24785         * gst/gstelementfactory.c (gst_element_factory_create): 
24786         * gst/gstindexfactory.c (gst_index_factory_create): Update for
24787         refcount changes.
24788
24789         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
24790         (gst_plugin_feature_load): Doc, don't eat refs.
24791
24792         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
24793         (gst_plugin_list_free): Doc.
24794         (gst_plugin_load_file): Doc updates.
24795
24796         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
24797         accessors returning refcounted objects, return a ref.
24798
24799         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
24800         accessor for caps. IDEMPOTENCE. Oh yes.
24801
24802 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
24803
24804         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
24805
24806         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
24807         (_gst_debug_register_funcptr):
24808           Add mutex to serialise access to the hash table with
24809           the function pointer => function name string mapping;
24810           make that hash table static scope (#316809).
24811
24812         * gst/registries/.cvsignore:
24813           Remove left-over file.
24814
24815 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
24816
24817         * docs/pwg/appendix-porting.xml:
24818           And something about newsegment events and caps-on-buffers to
24819           the porting guide (feel free to improve).
24820
24821 2005-09-21  Andy Wingo  <wingo@pobox.com>
24822
24823         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
24824         data and event probes on the same pad.
24825         (test_buffer_probe_once): Test that removing probes from within
24826         the probe functions works.
24827
24828 2005-09-21  Andy Wingo  <wingo@pobox.com>
24829
24830         * check/gst/gstutils.c: New file.
24831         (test_buffer_probe_n_times): A simple buffer probe test. More to
24832         come, foolios.
24833
24834         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
24835         have-data::buffer, not have-data.
24836         (gst_pad_add_event_probe): Likewise for have-data::event.
24837         (gst_pad_add_data_probe): More docs. The part about 'resolving the
24838         peer' isn't quite right yet though.
24839         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
24840         (gst_pad_remove_data_probe): Change to take the guint handler_id
24841         as their arg, not the function+data, which is more glib-like.
24842
24843         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
24844         the signal emission to indicate if the data is a buffer or an
24845         event.
24846         (gst_pad_get_type): Initialize buffer and event quarks.
24847         (gst_pad_class_init): have-data is now a detailed signal, yes it
24848         is.
24849
24850 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
24851
24852         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
24853         * gst/gstutils.c: (gst_util_set_value_from_string),
24854         (gst_util_set_object_arg):
24855           Don't put functional code in g_return_if_fail() or
24856           g_return_val_if_fail() statements, otherwise things will 
24857           break when G_DISABLE_CHECKS is defined during compilation.
24858
24859 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24860
24861         * docs/gst/tmpl/.cvsignore:
24862         * docs/gst/tmpl/gstvalue.sgml:
24863         * gst/gstvalue.c:
24864         * gst/gstvalue.h:
24865           inlied another one and added  some obvious docs
24866
24867 2005-09-21  Wim Taymans  <wim@fluendo.com>
24868
24869         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
24870         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
24871         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
24872         (gst_fdsrc_get_property), (gst_fdsrc_create):
24873         * gst/elements/gstfdsrc.h:
24874         Properly implement fdsrc. Removed signal and timeout,
24875         better implemented somewhere else.
24876
24877 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24878
24879         * docs/gst/tmpl/.cvsignore:
24880         * docs/gst/tmpl/gstimplementsinterface.sgml:
24881         * gst/gstinterface.c:
24882           inlined more docs
24883
24884 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24885
24886         * docs/gst/gstreamer-sections.txt:
24887         * docs/gst/tmpl/.cvsignore:
24888         * docs/gst/tmpl/gstenumtypes.sgml:
24889           remove obsolete doc file
24890
24891 2005-09-21  David Schleef  <ds@schleef.org>
24892
24893         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
24894         little beer, fix a little leak.
24895
24896 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24897
24898         * docs/gst/gstreamer-docs.sgml:
24899         * docs/gst/gstreamer-sections.txt:
24900         * docs/gst/tmpl/.cvsignore:
24901         * gst/Makefile.am:
24902         * gst/gst.h:
24903         * gst/gstbin.c:
24904         * gst/gstelement.h:
24905         * gst/gstindex.c: (gst_index_class_init):
24906         * gst/gstindex.h:
24907         * gst/gstindexfactory.c: (gst_index_factory_get_type),
24908         (gst_index_factory_class_init), (gst_index_factory_init),
24909         (gst_index_factory_finalize), (gst_index_factory_new),
24910         (gst_index_factory_destroy), (gst_index_factory_find),
24911         (gst_index_factory_create), (gst_index_factory_make):
24912         * gst/gstindexfactory.h:
24913         * gst/gstpluginfeature.c:
24914         * gst/gstpluginfeature.h:
24915         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24916           more docs inlined, splitted gstindex.{c,h}
24917
24918 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24919
24920         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24921           fix a leak
24922
24923 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
24924
24925         * gst/elements/gstfilesink.c: (gst_file_sink_init):
24926           Set sync to FALSE by default.
24927
24928 2005-09-20  Wim Taymans  <wim@fluendo.com>
24929
24930         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24931         (gst_base_sink_init):
24932         Make sync property settable from subclass.
24933
24934         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
24935         (gst_fake_sink_change_state):
24936         Set sync to FALSE by default.
24937
24938 2005-09-20  Wim Taymans  <wim@fluendo.com>
24939
24940         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
24941         * tools/gst-launch.c: (main):
24942         The timeout handler should have lower priority than the source
24943         so we don't timeout before popping a message with 0 timeout.
24944         Dump error messages after failed state change.
24945
24946 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
24947
24948         * tools/gst-inspect.c: (print_element_properties_info):
24949           Fix two typos.
24950
24951 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24952
24953         * check/gst/gstevent.c:
24954         * gst/elements/gstfakesink.c:
24955         * gst/elements/gstfakesink.h:
24956           remove the sync property from fakesink.
24957           has the side effect of setting sync TRUE
24958           for fakesink, which is a change.  Anyone who knows how
24959           to fix this nicely in a GObject-y way, feel free.
24960
24961 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
24962
24963         * docs/gst/gstreamer-docs.sgml:
24964           remove probe refsection
24965
24966 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
24967
24968         * check/Makefile.am:
24969           disable valgrinding the controller test again
24970         * docs/gst/gstreamer-sections.txt:
24971           update for api-changes
24972
24973 2005-09-20  Wim Taymans  <wim@fluendo.com>
24974
24975         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24976         (gst_base_sink_set_property), (gst_base_sink_get_property),
24977         (gst_base_sink_do_sync):
24978         * gst/base/gstbasesink.h:
24979         Added sync property to basesink to disable clock sync.
24980
24981 2005-09-20  Andy Wingo  <wingo@pobox.com>
24982
24983         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
24984         eating the caller's refcount.
24985
24986         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
24987         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
24988         refcount.
24989
24990         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
24991         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
24992         of GLib 2.8 public, so we can know which refcount to check in
24993         tests.
24994
24995         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
24996         (gst_object_init): Only set the gst refcount if we're going ahead
24997         with the refcount hack.
24998
24999 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
25000
25001         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
25002         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
25003           more leaks plumbed, added more debug-logging
25004         * gst/gstmacros.h:
25005           whitespace fix
25006
25007 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25008
25009         * gst/gstmessage.c:
25010           remove include of gstmemchunk.h
25011
25012 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25013
25014         * gst/gstclock.c: (_gst_clock_id_free):
25015           Commit from the Political Party For More Atomic CVS Commits,
25016           so that people don't waste too much of their day fishing
25017           out obvious leaks out of massive commits.
25018           Oh, and fix a pretty damn obvious leak in the memchunk
25019           removal code.
25020
25021 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
25022
25023         * check/Makefile.am:
25024         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
25025           plug mem-leak, re-add to valgrindable tests
25026
25027 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25028
25029         * gst/gstplugin.h:
25030           unbreak the build for those who have chronic arthritis
25031           and typing "make check" is just too taxing on the hands
25032
25033 2005-09-20  Andy Wingo  <wingo@pobox.com>
25034
25035         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
25036         really want it out, you should fix plugins at the same time.
25037
25038 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
25039
25040         * configure.ac:
25041         * docs/gst/gstreamer-sections.txt:
25042         * gst/gstobject.c:
25043           added missing symbols to api docs
25044           disable ref-count hack if we have glib >= 2.8
25045
25046 2005-09-19  David Schleef  <ds@schleef.org>
25047
25048         * docs/gst/Makefile.am: Ignore a few more internal headers
25049         * docs/gst/gstreamer-docs.sgml: Remove old sections
25050         * docs/gst/gstreamer-sections.txt: Remove old sections
25051         * docs/gst/tmpl/gstobject.sgml: update
25052         * docs/gst/tmpl/gstplugin.sgml: update
25053         * docs/gst/tmpl/gstpluginfeature.sgml: update
25054         * docs/random/ds/0.9-suggested-changes: update.
25055         * gst/Makefile.am: remove memchunk and trashstack, since they're
25056           not used.
25057         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
25058         * gst/gst.h: don't include some headers
25059         * gst/gstchildproxy.c: add gstmarshal.h
25060         * gst/gstclock.c: Don't use memchunks
25061         * gst/gstminiobject.c: Add some docs
25062         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
25063         * gst/gstobject.h: same
25064         * gst/gstplugin.c: include gstmacros.h
25065         * gst/gstplugin.h: don't include gstmacros.h, since it's private
25066         * gst/gstquery.c: don't use memchunks
25067         * gst/gstregistry.c: rename gst_registry_deinit()
25068         * gst/gstregistry.h: same
25069
25070 2005-09-19  David Schleef  <ds@schleef.org>
25071
25072         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
25073         * docs/libs/gstreamer-libs-sections.txt:
25074         * docs/libs/tmpl/gstgetbits.sgml:
25075         * docs/libs/tmpl/gstputbits.sgml:
25076
25077 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
25078
25079         * win32/gstenumtypes.c:
25080         * win32/gstenumtypes.h:
25081           Update.
25082
25083 2005-09-19  Wim Taymans  <wim@fluendo.com>
25084
25085         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
25086         Automatically PAUSE and RESUME a pipeline when a flushing seek
25087         is performed.
25088
25089 2005-09-19  Andy Wingo  <wingo@pobox.com>
25090
25091         * gst/gstregistry.h: Spacing fixen.
25092
25093 2005-09-19  Wim Taymans  <wim@fluendo.com>
25094
25095         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
25096         Handle state change failure more correctly.
25097
25098 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25099
25100         * check/Makefile.am:
25101         * check/pipelines/cleanup.c: (run_pipeline):
25102         * check/pipelines/simple_launch_lines.c: (run_pipeline),
25103         (GST_START_TEST):
25104           enable cleanup again after fixing the leak
25105         * docs/README:
25106           some more info on docs
25107
25108 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25109
25110         * check/Makefile.am:
25111           re-enable tests now that leaks are plugged
25112         * check/gst/gst.c:
25113         * check/gst/gstbin.c:
25114         * check/gst/gstpipeline.c:
25115           add some more tests while fixing leaks
25116         * common/check.mak:
25117           make sure binaries are uptodate when valgrinding/gdbing
25118         * gst/gst.c:
25119         * gst/gstelementfactory.c:
25120           remove a ref too many, and add a FIXME for when we get
25121           round to disposing of classes
25122         * gst/gstplugin.c:
25123           fix the refcounting when loading a plugin from a file and
25124           the code pretends that the pointer is the same even though
25125           of course it can change
25126         * gst/gstpluginfeature.c:
25127           unref plugins marked cached (a bit confusing as a name)
25128           as the docs state should be done
25129           various doc additions to explain refcounting
25130         * gst/gstregistry.c:
25131         * gst/gstregistryxml.c:
25132           debugging
25133
25134 2005-09-19  Wim Taymans  <wim@fluendo.com>
25135
25136         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
25137         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
25138         (send_messages), (GST_START_TEST), (gstbus_suite):
25139         * check/gst/gstpipeline.c: (GST_START_TEST):
25140         * check/pipelines/cleanup.c: (run_pipeline):
25141         * check/pipelines/simple_launch_lines.c: (run_pipeline),
25142         (GST_START_TEST):
25143         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
25144         (gst_bus_source_check), (gst_bus_source_dispatch),
25145         (gst_bus_create_watch), (gst_bus_add_watch_full),
25146         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
25147         * gst/gstbus.h:
25148         * tools/gst-launch.c: (event_loop):
25149         * tools/gst-md5sum.c: (event_loop):
25150         GstBusHandler -> GstBusFunc, return value has the same meaning as
25151         any other GSource (FALSE == remove source).
25152         _add_watch() and _add_watch_full() now take a MessageType mask to
25153         only handle specific types of messages.
25154         _poll() returns the GstMessage instead of the message type to avoid
25155         race conditions.
25156         _have_pending() takes a MessageType mask now too.
25157         Added testsuite for multiple bus watches.
25158         Fix testsuites and applications for new bus API.
25159
25160 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25161
25162         * check/Makefile.am:
25163           mark a bunch of the tests as to fix until we fix them
25164
25165 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
25166
25167         * common/check.mak:
25168           use GST_PLUGIN settings for valgrind tests as well, so we're
25169           valgrinding the correct thing
25170         * gst/gst.c: (init_post):
25171           plug another leak
25172
25173 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
25174
25175         * gst/gst.c: (init_post), (gst_deinit):
25176         * gst/gstelementfactory.c: (gst_element_factory_class_init),
25177         (gst_element_factory_finalize), (gst_element_factory_cleanup):
25178         * gst/gstindex.c: (gst_index_factory_class_init),
25179         (gst_index_factory_finalize):
25180         * gst/gstobject.c: (gst_object_dispose):
25181         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
25182         (gst_plugin_load_file), (gst_plugin_desc_free):
25183         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
25184         (gst_plugin_feature_finalize):
25185         * gst/gstregistry.c: (gst_registry_class_init),
25186         (gst_registry_init), (gst_registry_finalize),
25187         (gst_registry_get_default), (gst_registry_deinit):
25188         * gst/gstregistry.h:
25189         * gst/gstregistryxml.c: (load_feature), (load_plugin):
25190           various cleanups and memleak plugging.  make valgrind is happy now.
25191
25192 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
25193
25194         * common/check.mak:
25195           add a check-valgrind target
25196
25197 2005-09-18  David Schleef  <ds@schleef.org>
25198
25199         * tools/gst-inspect.c: Revert the GOption code.
25200
25201 2005-09-17  David Schleef  <ds@schleef.org>
25202
25203         * check/Makefile.am: Fix environment variables.
25204         * check/gst/gstplugin.c: Fix for API changes.
25205         * tools/gst-inspect.c: Fix for API changes.
25206         * tools/gst-xmlinspect.c: Fix for API changes.
25207         * gst/gstelementfactory.c:
25208         * gst/gstplugin.c:
25209         * gst/gstplugin.h:
25210         * gst/gstpluginfeature.c:
25211         * gst/gstpluginfeature.h:
25212         * gst/gstregistry.c:
25213         * gst/gstregistry.h:
25214         * gst/gstregistryxml.c:
25215         * gst/gsttypefind.c:
25216         * gst/gsttypefindfactory.c:
25217         * gst/indexers/gstfileindex.c:
25218         * gst/indexers/gstmemindex.c:
25219         * gst/schedulers/Makefile.am:
25220           Change registry to keep track of both plugins and features,
25221           removing the feature tracking from plugins themselves.
25222
25223 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
25224
25225         * check/Makefile.am:
25226         * tools/gst-register.1.in:
25227           remove gst-register
25228
25229 2005-09-15  David Schleef  <ds@schleef.org>
25230
25231         * check/gst/gstplugin.c:
25232         * gst/gstelementfactory.c:
25233         * gst/gstplugin.c:
25234         * gst/gstpluginfeature.c:
25235         * gst/gstregistry.c:
25236           Getting tired of debugging.  Disabled all the unreffing of
25237           plugins and features, which fixes the segfaults, but of
25238           course leaks like crazy.  At least playbin works.
25239
25240 2005-09-15  David Schleef  <ds@schleef.org>
25241
25242         * check/gst/gstplugin.c: (register_check_elements),
25243         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
25244         More testing
25245         * gst/elements/gsttypefindelement.c: Fix refcounting.
25246         * gst/gsttypefind.c:
25247         * gst/gsttypefindfactory.c:
25248         * gst/gsttypefindfactory.h:
25249
25250 2005-09-15  David Schleef  <ds@schleef.org>
25251
25252         * gst/gstindex.c: get refcounting correct.
25253         * gst/gstregistry.c: Handle the case where a feature/plugin is
25254           not found.
25255
25256 2005-09-15  David Schleef  <ds@schleef.org>
25257
25258         * check/Makefile.am:
25259         * check/gst/gstplugin.c: Add test
25260         * gst/gstplugin.c: Fix problems noticed by testsuite
25261         * gst/gstplugin.h:
25262         * gst/gstregistry.c: 
25263         * gst/gstregistry.h:
25264
25265 2005-09-15  David Schleef  <ds@schleef.org>
25266
25267         * gst/gstplugin.c: Implement semi-decent recounting and locking
25268           in plugins and plugin features.
25269         * gst/gstplugin.h:
25270         * gst/gstpluginfeature.c:
25271         * gst/gstpluginfeature.h:
25272         * gst/gstregistry.c:
25273
25274 2005-09-15  Michael Smith <msmith@fluendo.com>
25275
25276         * gst/gstregistry.c: (gst_registry_get_feature_list):
25277           Implement this. Makes oggdemux work; decodebin still broken.
25278
25279 2005-09-14  David Schleef  <ds@schleef.org>
25280
25281         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
25282           #316076)
25283         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
25284         * gst/check/Makefile.am:
25285         * libs/gst/controller/Makefile.am:
25286         * libs/gst/dataprotocol/Makefile.am:
25287
25288 2005-09-14  David Schleef  <ds@schleef.org>
25289
25290         * configure.ac: Remove getbits library.  Nothing uses it, and
25291           it should be in something like liboil if someone did want
25292           to use it.
25293         * libs/gst/Makefile.am:
25294         * libs/gst/getbits/Makefile.am:
25295         * libs/gst/getbits/gbtest.c:
25296         * libs/gst/getbits/getbits.c:
25297         * libs/gst/getbits/getbits.h:
25298         * libs/gst/getbits/gstgetbits_generic.c:
25299         * libs/gst/getbits/gstgetbits_i386.s:
25300         * libs/gst/getbits/gstgetbits_inl.h:
25301
25302 2005-09-14  David Schleef  <ds@schleef.org>
25303
25304         * gst/Makefile.am: Dist glib-compat.h
25305
25306 2005-09-14  David Schleef  <ds@schleef.org>
25307
25308         * configure.ac: Remove gst/registries, since it's no longer used.
25309         * gst/registries/Makefile.am:
25310         * gst/registries/gstlibxmlregistry.c:
25311         * gst/registries/gstlibxmlregistry.h:
25312         * gst/registries/gstxmlregistry.c:
25313         * gst/registries/gstxmlregistry.h:
25314         * gst/registries/registrytest.c:
25315
25316 2005-09-14  David Schleef  <ds@schleef.org>
25317
25318         * gst/glib-compat.h:
25319         * gst/gstregistryxml.c:
25320           Convergence is near.  Seriously.
25321
25322 2005-09-14  David Schleef  <ds@schleef.org>
25323
25324         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25325         * gst/glib-compat.h:
25326           Attempt #4 to appease the buildbots.
25327
25328 2005-09-14  David Schleef  <ds@schleef.org>
25329
25330         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25331           Attempt #3.
25332
25333 2005-09-14  David Schleef  <ds@schleef.org>
25334
25335         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25336         Attempt #2.
25337
25338 2005-09-14  David Schleef  <ds@schleef.org>
25339
25340         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
25341           the new functions.
25342
25343 2005-09-14  David Schleef  <ds@schleef.org>
25344
25345         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25346         * gst/glib-compat.h: Add some functions that are in newer versions
25347           of glib than we care to require.
25348         * gst/gstregistryxml.c: Use them.
25349
25350 2005-09-14  David Schleef  <ds@schleef.org>
25351
25352         * po/POTFILES.in: remove gst-register.c
25353
25354 2005-09-14  David Schleef  <ds@schleef.org>
25355
25356         * docs/gst/gstreamer-docs.sgml:
25357         * docs/gst/gstreamer-sections.txt:
25358         * docs/gst/gstreamer.types:
25359         * docs/gst/tmpl/gstelement.sgml:
25360         * docs/gst/tmpl/gstplugin.sgml:
25361         * docs/gst/tmpl/gstpluginfeature.sgml:
25362           Documentation updates for registry changes.
25363
25364 2005-09-14  David Schleef  <ds@schleef.org>
25365
25366         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
25367           because we don't require glib-2.8.
25368
25369 2005-09-14  David Schleef  <ds@schleef.org>
25370
25371         * gst/gstregistryxml.c: Added.  Essentially moved out of the
25372           registries directory.
25373
25374 2005-09-14  David Schleef  <ds@schleef.org>
25375
25376         * check/Makefile.am:
25377         * check/generic/states.c:
25378         * gst/Makefile.am:
25379         * gst/gst.c:
25380         * gst/gst.h:
25381         * gst/gst_private.h:
25382         * gst/gstelementfactory.c:
25383         * gst/gstindex.c:
25384         * gst/gstinfo.c:
25385         * gst/gstplugin.c:
25386         * gst/gstplugin.h:
25387         * gst/gstpluginfeature.c:
25388         * gst/gstpluginfeature.h:
25389         * gst/gstregistry.c:
25390         * gst/gstregistry.h:
25391         * gst/gstregistrypool.c: remove
25392         * gst/gstregistrypool.h: remove
25393         * gst/gsttypefind.c:
25394         * gst/gsttypefindfactory.c:
25395         * gst/gsturi.c:
25396         * tools/Makefile.am:
25397         * tools/gst-compprep.c:
25398         * tools/gst-inspect.c:
25399         * tools/gst-register.c: remove
25400         * tools/gst-xmlinspect.c:
25401           Registry rewrite.  Changes registry from being a file created
25402           by a tool into a simple cache file created automatically by 
25403           libgstreamer.  Removed gst-register (because it's no longer
25404           needed).  Remove registry pools, because we only have one
25405           registry implementation (XML).  Fix up other subsystems as
25406           necessary.
25407
25408 2005-09-13  Michael Smith <msmith@fluendo.com>
25409
25410         * gst/gstconfig.h.in:
25411           Don't Use windows linking attributes for MinGW. Fixes #316157
25412
25413 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
25414
25415         * gst/gstutils.c: (set_state_async_thread_func),
25416         (gst_element_set_state_async):
25417           Apparently people think it's better if this function doesn't
25418           try to set the state to whatever state was asked for on the first
25419           call to this function for any object.  Seriously.
25420
25421 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25422
25423         * check/gst/gstpipeline.c: (GST_START_TEST):
25424         * docs/gst/gstreamer-sections.txt:
25425         * gst/gstutils.c: (set_state_async_thread_func),
25426         (gst_element_set_state_async):
25427         * gst/gstutils.h:
25428           add a "gst_element_set_state_async" method that
25429           sets the state and starts a thread to make sure the state
25430           change completes as best as it can
25431
25432 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25433
25434         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
25435           codify design+behaviour in testsuite after discussion
25436
25437 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25438
25439         * docs/gst/tmpl/gstelement.sgml:
25440         * docs/manual/appendix-quotes.xml:
25441           add a quote
25442         * gst/gstelement.c: (gst_element_set_state):
25443           add some debug
25444
25445 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
25446
25447         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25448         (gst_base_transform_prepare_output_buf),
25449         (gst_base_transform_handle_buffer):
25450         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
25451         (gst_capsfilter_prepare_buf):
25452           Remove the requirement for sub-classes to call the parent
25453           implementation of prepare_output_buffer with a wrapper function.
25454           
25455         * gst/gsttaglist.h:
25456         * gst/gsttagsetter.h:
25457           Fix #define wrapper
25458
25459 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
25460
25461         * docs/gst/gstreamer-sections.txt:
25462           more doc cleanups
25463
25464 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25465
25466         * docs/gst/gstreamer-sections.txt:
25467         * docs/gst/tmpl/gstelement.sgml:
25468         * docs/gst/tmpl/gstplugin.sgml:
25469         * gst/gstminiobject.c:
25470         * gst/gstvalue.h:
25471           docs now stop throwing warnings
25472
25473 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25474
25475         * docs/gst/gstreamer-sections.txt:
25476         * docs/gst/gstreamer.types:
25477         * docs/gst/tmpl/gstpad.sgml:
25478         * docs/gst/tmpl/gsttypes.sgml:
25479         * gst/base/gstadapter.h:
25480         * gst/base/gstbasesink.h:
25481         * gst/base/gstbasesrc.h:
25482         * gst/gstbin.h:
25483         * gst/gstbuffer.h:
25484         * gst/gstbus.h:
25485         * gst/gstcaps.h:
25486         * gst/gstclock.h:
25487         * gst/gstelement.h:
25488         * gst/gstevent.h:
25489         * gst/gstmessage.h:
25490         * gst/gstpad.h:
25491         * gst/gststructure.c:
25492         * gst/registries/gstlibxmlregistry.h:
25493           various documentation fixes
25494
25495 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25496
25497         * docs/gst/gstreamer-sections.txt:
25498         * docs/gst/tmpl/gstvalue.sgml:
25499           rearrange gstvalue section
25500         * gst/gstutils.c: (gst_element_state_get_name):
25501           NONE -> VOID
25502         * gst/gstvalue.c: (_gst_value_initialize):
25503         * gst/gstvalue.h:
25504           doc updates
25505
25506 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
25507
25508         * check/gst-libs/controller.c:
25509           Header include fix.
25510         * gst/base/gstbasetransform.c:
25511         (gst_base_transform_default_prepare_buf),
25512         (gst_base_transform_handle_buffer):
25513         * gst/base/gstbasetransform.h:
25514           Some more basetransform changes and fixes to enable sub-classes
25515           that modify buffer metadata only.
25516         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
25517         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
25518         (gst_capsfilter_prepare_buf):
25519           If the output pad has fixed allowed caps and input buffers 
25520           don't have any, set the fixed caps on outgoing buffers.
25521
25522 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
25523         * check/elements/identity.c: (GST_START_TEST):
25524           Make the error a little clearer when the test fails because
25525           identity made a copy of the buffer.
25526         * docs/gst/gstreamer-sections.txt:
25527           New symbols in gstbasetransform.h
25528         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25529         (gst_base_transform_init), (gst_base_transform_transform_size),
25530         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
25531         (gst_base_transform_default_prepare_buf),
25532         (gst_base_transform_get_unit_size),
25533         (gst_base_transform_buffer_alloc),
25534         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
25535         (gst_base_transform_change_state),
25536         (gst_base_transform_set_passthrough),
25537         (gst_base_transform_set_in_place),
25538         (gst_base_transform_is_in_place):
25539         * gst/base/gstbasetransform.h:
25540           Change BaseTransform to separate in_place operate from same_caps
25541           output. in_place implies that the element can perform the transform
25542           on incoming buffers in-place, even if the caps on the output are
25543           different.
25544           Sub-class elements can now implement special buffer allocation
25545           methods for outgoing buffers if they wish to.
25546           Big documentation addition.
25547         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
25548         * gst/elements/gstelements.c:
25549           Changes for basetransform modifications.
25550         * gst/elements/Makefile.am:
25551         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
25552           Compile fix. Extra debug output.
25553
25554 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25555
25556         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
25557         (gst_pad_suite):
25558           add tests for valid pad naming
25559         * gst/check/gstcheck.c: (gst_check_log_message_func),
25560         (gst_check_log_critical_func):
25561           add ASSERT_WARNING
25562           remove printing of code, it is fragile when the code contains
25563           % and the line number is enough info
25564         * gst/check/gstcheck.h:
25565         * gst/gstpad.c: (gst_pad_template_new):
25566           fix memleaks
25567
25568 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25569
25570         * configure.ac:
25571           say what CHECK flags we use
25572         * docs/libs/gstreamer-libs.types:
25573         * libs/gst/controller/Makefile.am:
25574         * libs/gst/controller/gst-controller.c:
25575         * libs/gst/controller/gst-controller.h:
25576         * libs/gst/controller/gst-helper.c:
25577         * libs/gst/controller/gst-interpolation.c:
25578         * libs/gst/controller/gstcontroller.c:
25579         * libs/gst/controller/gsthelper.c:
25580         * libs/gst/controller/gstinterpolation.c:
25581         * tools/gst-inspect.c: (print_plugin_info):
25582           we don't use dashes in header names
25583
25584 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25585
25586         * check/Makefile.am:
25587         * check/gst/.cvsignore:
25588         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
25589         (gst_pipeline_suite), (main):
25590           adding a test for pipelines and state changes
25591         * gst/gstutils.c: (get_state_func):
25592           add some debugging
25593         * gstreamer.spec.in:
25594           fix up spec file
25595
25596 2005-09-08  Michael Smith <msmith@fluendo.com>
25597
25598         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
25599         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
25600         (gst_file_src_is_seekable), (gst_file_src_get_size),
25601         (gst_file_src_start):
25602         * gst/elements/gstfilesrc.h:
25603           Various fixes for unseekable, unmmapable, and non-normal files, so
25604           that fallback to read() rather than mmap() works.
25605         * gst/gstevent.c: (gst_event_new_newsegment):
25606           Allow newsegment events with segment_start == segment_end, as will
25607           correctly happen if you use filesrc on a zero-size file, for
25608           example.
25609
25610 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
25611
25612         * gst/gstplugin.c: (gst_plugin_load_file):
25613           Call g_module_close when we don't load the module
25614
25615         * gst/registries/gstlibxmlregistry.c:
25616         (gst_xml_registry_get_property):
25617           Port leak fix from 0.8
25618
25619 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25620
25621         * docs/gst/gstreamer-docs.sgml:
25622         * docs/gst/tmpl/.cvsignore:
25623         * docs/gst/tmpl/gsttrace.sgml:
25624         * docs/gst/tmpl/gsttrashstack.sgml:
25625         * gst/Makefile.am:
25626         * gst/gst.h:
25627         * gst/gstelement.h:
25628         * gst/gstevent.h:
25629         * gst/gstmessage.c:
25630         * gst/gstmessage.h:
25631         * gst/gsttag.c:
25632         * gst/gsttag.h:
25633         * gst/gsttaginterface.c:
25634         * gst/gsttaginterface.h:
25635         * gst/gsttaglist.c:
25636         * gst/gsttaglist.h:
25637         * gst/gsttagsetter.c:
25638         * gst/gsttagsetter.h:
25639         * gst/gsttrace.c:
25640         * gst/gsttrace.h:
25641         * gst/gsttrashstack.c:
25642           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
25643           inlined docs for gsttrace, gsttrashstack
25644
25645 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25646
25647         * gst/Makefile.am:
25648         * gst/elements/gstbufferstore.h:
25649         * gst/elements/gsttypefindelement.c:
25650         * gst/elements/gsttypefindelement.h:
25651         * gst/gst.h:
25652         * gst/gsttypefind.c:
25653         * gst/gsttypefind.h:
25654         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
25655         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
25656         (gst_type_find_factory_dispose),
25657         (gst_type_find_factory_unload_thyself),
25658         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
25659         (gst_type_find_factory_get_caps),
25660         (gst_type_find_factory_get_extensions),
25661         (gst_type_find_factory_call_function):
25662         * gst/gsttypefindfactory.h:
25663         * gst/registries/gstlibxmlregistry.c:
25664         * gst/registries/gstxmlregistry.c:
25665           splitted gsttypefind into gsttypefind, gsttypefindfactory
25666
25667 2005-09-07  Andy Wingo  <wingo@pobox.com>
25668
25669         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
25670         condition whereby the pad's task function is entered before the
25671         pad_mode variable was set.
25672
25673 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
25674
25675         * gst/gstpad.c: (gst_pad_alloc_buffer):
25676           Catch misbehaving pad_alloc functions that don't
25677           set up caps and do it for them.
25678
25679 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25680
25681         * check/pipelines/simple_launch_lines.c: (run_pipeline):
25682           test for pipe!=NULL
25683         * docs/gst/tmpl/.cvsignore:
25684         * docs/gst/tmpl/gstmemchunk.sgml:
25685         * docs/gst/tmpl/gstparse.sgml:
25686         * docs/gst/tmpl/gsttaglist.sgml:
25687         * docs/gst/tmpl/gsttagsetter.sgml:
25688         * docs/gst/tmpl/gsttypefind.sgml:
25689         * docs/gst/tmpl/gsttypefindfactory.sgml:
25690         * gst/gstmemchunk.c:
25691         * gst/gstparse.c:
25692         * gst/gsttag.c:
25693         * gst/gsttaginterface.c:
25694         * gst/gsttypefind.c:
25695         * gst/gsttypefind.h:
25696           inlined more docs
25697
25698 === release 0.9.2 ===
25699
25700 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
25701
25702         * NEWS:
25703         * RELEASE:
25704         * configure.ac:
25705           releasing 0.9.2, "South"
25706
25707 2005-09-05  Andy Wingo  <wingo@pobox.com>
25708
25709         * gst/registries/gstxmlregistry.h:
25710         * gst/registries/gstxmlregistry.c: Um... resurrect...
25711         
25712         * gst/registries/gstxmlregistry.h:
25713         * gst/registries/gstxmlregistry.c: and update to newer API.
25714         Incidentally they should be a bit faster now that they don't have
25715         to parse the caps.
25716         
25717 2005-09-05  Andy Wingo  <wingo@pobox.com>
25718
25719         * gst/registries/gstxmlregistry.h:
25720         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
25721         replaced by the libxml registry a while back
25722
25723 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
25724
25725         * docs/gst/tmpl/gstplugin.sgml:
25726         * gst/elements/gstelements.c:
25727         * gst/gst.c:
25728         * gst/gstplugin.c: (gst_plugin_register_func),
25729         (gst_plugin_desc_copy), (gst_plugin_desc_free),
25730         (gst_plugin_get_source):
25731         * gst/gstplugin.h:
25732         * gst/registries/gstlibxmlregistry.c: (load_plugin),
25733         (gst_xml_registry_save_plugin):
25734         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
25735         (gst_xml_registry_save_plugin):
25736         * tools/gst-inspect.c: (print_plugin_info):
25737           add a "source" plugin description field, to represent the source
25738           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
25739           will set it to PACKAGE, which is automake's idea of the name of
25740           the source project.
25741
25742 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
25743
25744         * Makefile.am:
25745         * autogen.sh:
25746         * configure.ac:
25747         * docs/Makefile.am:
25748         * docs/faq/Makefile.am:
25749         * docs/gst/tmpl/gstelement.sgml:
25750         * docs/gst/tmpl/gsttypes.sgml:
25751         * docs/htmlinstall.mak:
25752         * docs/manual/Makefile.am:
25753         * docs/pwg/Makefile.am:
25754           reorganize doc build a little
25755           split out docbook and gtk-doc stuff
25756           have two separate --enable's and enable them through autogen
25757           but disable by default in configure (to be similar to other
25758           projects)
25759         * gstreamer.spec.in:
25760           clean up docs install
25761         * po/af.po:
25762         * po/az.po:
25763         * po/ca.po:
25764         * po/cs.po:
25765         * po/de.po:
25766         * po/en_GB.po:
25767         * po/fr.po:
25768         * po/it.po:
25769         * po/nb.po:
25770         * po/nl.po:
25771         * po/ru.po:
25772         * po/sq.po:
25773         * po/sr.po:
25774         * po/sv.po:
25775         * po/tr.po:
25776         * po/uk.po:
25777         * po/vi.po:
25778           translation updates
25779
25780 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
25781
25782         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
25783           Add comment.
25784           
25785         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
25786         (gst_fake_sink_change_state):
25787           Make state change function thread-safe.
25788           
25789         * gst/gstpad.c: (gst_pad_alloc_buffer):
25790           Set offset on generic buffer allocated by fallback.
25791
25792 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
25793
25794         * docs/gst/gstreamer-sections.txt:
25795         * docs/gst/tmpl/gstelement.sgml:
25796         * gst/gstpad.c:
25797         * libs/gst/controller/gst-controller.c:
25798         (gst_controlled_property_set_interpolation_mode),
25799         (gst_controlled_property_new),
25800         (gst_controller_find_controlled_property):
25801          run the wingo-magic script against the docs
25802
25803 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
25804
25805         * docs/gst/gstreamer-docs.sgml:
25806         * docs/gst/gstreamer-sections.txt:
25807         * docs/gst/tmpl/.cvsignore:
25808         * docs/gst/tmpl/gstelementdetails.sgml:
25809         * docs/gst/tmpl/gstelementfactory.sgml:
25810         * gst/gst.c:
25811         * gst/gstbus.c:
25812         * gst/gstelementfactory.c:
25813         * gst/gstelementfactory.h:
25814           merged elementdetails docs into elementfactory docs
25815           inlined both
25816
25817 2005-09-02  Andy Wingo  <wingo@pobox.com>
25818
25819         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
25820         consider this enum an enum and not a flags.
25821
25822 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
25823
25824         * docs/gst/gstreamer-docs.sgml:
25825         * docs/gst/tmpl/.cvsignore:
25826         * docs/gst/tmpl/gstghostpad.sgml:
25827         * docs/gst/tmpl/gstiterator.sgml:
25828         * docs/gst/tmpl/gstmacros.sgml:
25829         * docs/gst/tmpl/gstrealpad.sgml:
25830         * docs/gst/tmpl/gstregistry.sgml:
25831         * docs/gst/tmpl/gstregistrypool.sgml:
25832         * docs/gst/tmpl/gststructure.sgml:
25833         * docs/gst/tmpl/gstsystemclock.sgml:
25834         * docs/gst/tmpl/gsttrace.sgml:
25835         * gst/gstghostpad.c:
25836         * gst/gstmacros.h:
25837         * gst/gstmemchunk.c:
25838         * gst/gstmemchunk.h:
25839         * gst/gstqueue.c:
25840         * gst/gstregistry.c:
25841         * gst/gstregistrypool.c:
25842         * gst/gststructure.c:
25843         * gst/gstsystemclock.c:
25844           more docs inlined
25845
25846 2005-09-02  Andy Wingo  <wingo@pobox.com>
25847
25848         * gst/gstelement.h (GstState): Renamed from GstElementState,
25849         changed to be a normal enum instead of flags.
25850         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
25851         munged to be GST_STATE_CHANGE_*.
25852         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
25853         work with the new state representation.
25854         (GstStateChange): New enumeration of possible state transitions.
25855         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
25856         (GstElementClass::change_state): Pass the GstStateChange along as
25857         an argument. Helps language bindings, so they don't have to use
25858         tricky lock-needing macros like GST_STATE_CHANGE ().
25859
25860         * scripts/update-states (file): New script. Run it on a file to
25861         update it for state naming and API changes. Updates files in
25862         place.
25863
25864         * All files updated for the new API.
25865
25866 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
25867
25868         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
25869         * gst/gstutils.c: (gst_util_set_value_from_string),
25870         (gst_util_set_object_arg):
25871           fix a bunch of unchecked return values
25872         * tools/gst-complete.c: (main):
25873         * gstreamer.spec.in:
25874           clean up a little
25875
25876 2005-09-01  Wim Taymans  <wim@fluendo.com>
25877
25878         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25879         (gst_base_sink_event), (gst_base_sink_do_sync),
25880         (gst_base_sink_handle_event):
25881         * gst/base/gstbasesink.h:
25882         Handle newsegments more correctly.
25883
25884         * gst/gstbus.c:
25885         Fix docs.
25886
25887         * gst/gstevent.c: (gst_event_new_newsegment):
25888         A newsegment cannot have a start_time of -1
25889
25890 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
25891
25892         * win32/gstenumtypes.c:
25893         * win32/gstenumtypes.h:
25894           Update
25895
25896 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
25897
25898         * libs/gst/controller/gst-controller.c:
25899         (gst_controlled_property_set_interpolation_mode),
25900         (gst_controlled_property_new):
25901          fixed boolean again
25902
25903 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
25904
25905         * docs/faq/gst-uninstalled:
25906           add -good
25907         * gst/gstevent.c:
25908         * gst/gstevent.h:
25909           remove wrong docs
25910         * gst/gstutils.c: (gst_element_link_filtered):
25911         * gst/gstutils.h:
25912           add gst_element_link_filtered
25913
25914 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
25915
25916         * docs/gst/gstreamer-docs.sgml:
25917         * docs/gst/gstreamer-sections.txt:
25918         * docs/gst/tmpl/.cvsignore:
25919         * docs/gst/tmpl/gsterror.sgml:
25920         * docs/gst/tmpl/gstfilter.sgml:
25921         * docs/gst/tmpl/gsturihandler.sgml:
25922         * docs/gst/tmpl/gsturitype.sgml:
25923         * docs/gst/tmpl/gstutils.sgml:
25924         * docs/gst/tmpl/gstxml.sgml:
25925         * gst/gsterror.c:
25926         * gst/gsterror.h:
25927         * gst/gstfilter.c:
25928         * gst/gsturi.c:
25929         * gst/gsturitype.c:
25930         * gst/gstutils.c:
25931         * gst/gstxml.c:
25932           inlined more docs, fixed double id-ref
25933
25934 2005-08-31  Wim Taymans  <wim@fluendo.com>
25935
25936         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
25937         (gst_base_transform_handle_buffer):
25938         Passthrough elements don't need the caps as they don't care.
25939
25940 2005-08-31  Wim Taymans  <wim@fluendo.com>
25941
25942         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
25943         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
25944         Don't leak refcounts on buffers.
25945
25946 2005-08-31  Wim Taymans  <wim@fluendo.com>
25947
25948         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
25949         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
25950         (gst_base_transform_chain), (gst_base_transform_change_state):
25951         * gst/base/gstbasetransform.h:
25952         Handle the case where we are not negotiated more gracefully.
25953
25954 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
25955
25956         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
25957         (gst_file_src_map_region):
25958           Set READONLY flag on mmap'ed buffers, otherwise
25959           gst_buffer_make_writable() won't work properly (#314708).
25960
25961 2005-08-31  Wim Taymans  <wim@fluendo.com>
25962
25963         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
25964         passthrough elements can even do inplace on non writable
25965         buffers (as they don't touch them).
25966
25967 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
25968
25969         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
25970         (gst_test_mono_source_set_property),
25971         (gst_test_mono_source_class_init), (GST_START_TEST),
25972         (gst_controller_suite):
25973           more tests (hehe I have the most)
25974         * gst/gstbus.c:
25975           describe popping messages whenusing mulltiple sources
25976         * libs/gst/controller/gst-controller.c:
25977         (gst_controlled_property_set_interpolation_mode),
25978         (gst_controlled_property_new):
25979         * libs/gst/controller/gst-controller.h:
25980         * libs/gst/controller/gst-interpolation.c:
25981           implement boolean properties
25982
25983 2005-08-31  Wim Taymans  <wim@fluendo.com>
25984
25985         * gst/gstminiobject.c: (gst_mini_object_ref):
25986         Cannot assert that the refcount has to be positive
25987         since a disposed object can be resurrected.
25988
25989 2005-08-31  Wim Taymans  <wim@fluendo.com>
25990
25991         * gst/gstpad.c: (gst_pad_init):
25992         Revert change, need to first fix badly behaving 
25993         apps.
25994
25995 2005-08-30  Wim Taymans  <wim@fluendo.com>
25996
25997         * check/elements/fakesrc.c: (setup_fakesrc):
25998         * check/elements/identity.c: (setup_identity):
25999         Activate pads before using them.
26000
26001 2005-08-30  Wim Taymans  <wim@fluendo.com>
26002
26003         * gst/base/gstadapter.c: (gst_adapter_flush):
26004         Flushing out 0 bytes is ok for this function.
26005
26006         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26007         no newsegment gives a warning and sets the start/stop to 
26008         invalid.
26009
26010         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
26011         (gst_base_transform_set_passthrough):
26012         Some debug info.
26013
26014         * gst/gstminiobject.c: (gst_mini_object_ref):
26015         Check refcount here too.
26016
26017         * gst/gstpad.c: (gst_pad_init):
26018         Pads are initially flushing and refusing data.
26019
26020         * gst/gstutils.c: (gst_element_link_pads_filtered):
26021         When adding a capsfilter element make sure it has the
26022         same state as the parent bin.
26023
26024 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
26025
26026         * docs/gst/tmpl/.cvsignore:
26027         * docs/gst/tmpl/gstformat.sgml:
26028         * docs/gst/tmpl/gstversion.sgml:
26029         * gst/gstbus.h:
26030         * gst/gstformat.c:
26031         * gst/gstformat.h:
26032         * gst/gstversion.h.in:
26033           more docs and two more inlined
26034
26035 2005-08-30  Wim Taymans  <wim@fluendo.com>
26036
26037         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
26038         Don't sync to clock.
26039
26040 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
26041
26042         * docs/gst/gstreamer-sections.txt:
26043           ultral33t func10ns deserve to appear in the docs actually
26044         * docs/gst/tmpl/.cvsignore:
26045         * docs/gst/tmpl/gstcompat.sgml:
26046         * docs/gst/tmpl/gstconfig.sgml:
26047         * gst/check/gstcheck.c:
26048         * gst/gstcompat.h:
26049         * gst/gstconfig.h.in:
26050           inlined more docs
26051
26052 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
26053
26054         * docs/gst/tmpl/.cvsignore:
26055         * docs/gst/tmpl/gstquery.sgml:
26056         * docs/gst/tmpl/gstutils.sgml:
26057         * gst/gstquery.c:
26058         * gst/gstquery.h:
26059           inlined and extended docs
26060
26061 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
26062
26063         * check/gst-libs/controller.c: (GST_START_TEST),
26064         (gst_controller_suite):
26065           more tests
26066         * docs/gst/tmpl/gstutils.sgml:
26067         * docs/libs/gstreamer-libs-sections.txt:
26068         * docs/libs/tmpl/gstdataprotocol.sgml:
26069           include path fixes
26070         * examples/controller/audio-example.c: (main):
26071           controller example works now
26072         * gst/gstclock.h:
26073           doc fixes
26074         * tools/gst-inspect.c: (print_element_properties_info):
26075           show param spec flags
26076
26077 2005-08-29  Andy Wingo  <wingo@pobox.com>
26078
26079         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
26080
26081 2005-08-28  Andy Wingo  <wingo@pobox.com>
26082
26083         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
26084         as having two arguments instead of just one. Allows superclasses
26085         to access information on subclasses -- see the terrible for() loop
26086         in gtype.c:g_type_create_instance for the reason why. All callers
26087         changed.
26088
26089 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
26090
26091         * docs/design/part-messages.txt:
26092           update info
26093         * docs/gst/tmpl/.cvsignore:
26094         * docs/gst/tmpl/gstcaps.sgml:
26095         * docs/gst/tmpl/gstclock.sgml:
26096         * gst/gstbus.c:
26097         * gst/gstcaps.c:
26098         * gst/gstcaps.h:
26099         * gst/gstclock.c:
26100         * gst/gstclock.h:
26101         * gst/gstmessage.c:
26102           added descriptions for bus and message
26103           inline caps and clock docs
26104
26105 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
26106
26107         * gst/gstmessage.c:
26108         * gst/gstmessage.h:
26109           doc fixes
26110
26111 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
26112
26113         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
26114           fix div-by-zero
26115
26116 2005-08-26  Andy Wingo  <wingo@pobox.com>
26117
26118         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
26119         element_set_state's return val.
26120         (test_2_elements): Add test that's been disabled for months.
26121
26122         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
26123         can-activate-pull properties.
26124
26125         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
26126         can-activate-pull properties. Implement is_seekable so fakesrc can
26127         operate in pull mode.
26128
26129         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
26130         properties.
26131         (gst_base_sink_activate, gst_base_sink_activate_pull)
26132         (gst_base_sink_activate_push): Make activation mode choosing work.
26133         Cleanups.
26134         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
26135         is right. Make pull mode work. Post an eos before pausing in pull
26136         mode.
26137         (gst_base_sink_change_state): Pay attention to the core's
26138         change_state() return val.
26139         
26140         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
26141         has-getrange properties. Cleanups.
26142         
26143         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
26144         has_getrange and replace with can_activate_pull and
26145         can_activate_push.
26146
26147         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
26148         locking comments. Remove has_loop, has_chain and replace with
26149         can_activate_pull and can_activate_push.
26150
26151 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
26152
26153         * configure.ac:
26154         * examples/Makefile.am:
26155         * examples/metadata/Makefile.am:
26156         * examples/metadata/read-metadata.c: (message_loop),
26157         (have_pad_handler), (make_pipeline), (print_tag), (main):
26158           Add metadata reading example that loops over a list of filenames,
26159           dumping any tags found.
26160
26161         * gst/gstbus.c: (gst_bus_dispose):
26162         * gst/gstelement.c: (gst_element_dispose):
26163           Release a few potentially-held references in dispose.
26164
26165 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26166
26167         * docs/gst/tmpl/gstminiobject.sgml:
26168           do *not* add tmpl/*.sgml files to CVS!
26169
26170 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26171
26172         * libs/gst/bytestream/.cvsignore:
26173         * libs/gst/bytestream/Makefile.am:
26174         * libs/gst/bytestream/adapter.c:
26175         * libs/gst/bytestream/adapter.h:
26176         * libs/gst/bytestream/bytestream.c:
26177         * libs/gst/bytestream/bytestream.h:
26178         * libs/gst/bytestream/filepad.c:
26179         * libs/gst/bytestream/filepad.h:
26180           removing obsolete files
26181
26182 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26183
26184         * docs/gst/gstreamer-docs.sgml:
26185         * docs/libs/gstreamer-libs-docs.sgml:
26186           disabed additional index entries again, as this makes docs-gen just
26187           slow and they aren't useful yet
26188         * docs/libs/gstreamer-libs-sections.txt:
26189           little -section.txt cleanup for libs
26190
26191 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
26192
26193         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26194         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
26195           fix up some debugging
26196         (gst_base_transform_get_unit_size),
26197         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
26198         (gst_base_transform_handle_buffer):
26199         * gst/base/gstbasetransform.h:
26200           handle and store timed NEWSEGMENT events so that subclasses that
26201           calculate time by counting samples have a segment_start time they
26202           need to add to their timestamps - see audioresample
26203
26204 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26205
26206         * gst/gstbin.h:
26207           removed ';' from the end of macro defs
26208         * docs/gst/gstreamer-docs.sgml:
26209         * docs/gst/gstreamer-sections.txt:
26210         * docs/gst/tmpl/.cvsignore:
26211         * gst/gstbus.h:
26212         * gst/gstelement.c: (gst_element_class_init),
26213         (gst_element_set_state), (activate_pads),
26214         (gst_element_save_thyself):
26215         * gst/gstevent.c: (gst_event_new_newsegment):
26216         * gst/gstevent.h:
26217         * gst/gstiterator.c:
26218         * gst/gstiterator.h:
26219         * gst/gstpad.c:
26220         * gst/gstprobe.h:
26221         * gst/gstutils.c: (gst_pad_query_convert):
26222         * gst/gstutils.h:
26223           fixed parameter name mismatches between source, header and docs
26224           added some more docs, resolved the last batch of unused elements in
26225           docs (now someone needs to doc them)
26226
26227 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
26228
26229         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
26230         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
26231           don't walk through the plugins backwards.  Where is all this
26232           reversed logic coming from ?
26233
26234 2005-08-25  Wim Taymans  <wim@fluendo.com>
26235
26236         * gst/base/gstbasetransform.c: (gst_base_transform_init),
26237         (gst_base_transform_transform_size),
26238         (gst_base_transform_configure_caps),
26239         (gst_base_transform_get_unit_size),
26240         (gst_base_transform_buffer_alloc),
26241         (gst_base_transform_change_state):
26242         * gst/base/gstbasetransform.h:
26243         Cache caps unit_size.
26244         Make sure we cannot negotiate up and downstream at the
26245         same time.
26246
26247 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
26248
26249         * gst/gst.c: (init_pre), (init_post):
26250           register the installed plugin path after the env var
26251         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
26252         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
26253           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
26254           directories, so the tests can prefer uninstalled over installed
26255
26256 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
26257
26258         * gst/base/gstbasetransform.h:
26259           comment
26260         * gst/gstpad.c:
26261           add to docs
26262
26263 2005-08-25  Wim Taymans  <wim@fluendo.com>
26264
26265         * gst/gstbin.c: (bin_bus_handler):
26266         Be a bit more conservative about the posted message.
26267         
26268         * gst/gstbus.c: (gst_bus_post):
26269         Some cleanups, warn wrong return values.
26270
26271 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
26272
26273         * check/gst/gstbin.c: (GST_START_TEST):
26274         * gst/gstbin.c: (bin_bus_handler):
26275         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26276         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26277         (gst_message_new_warning), (gst_message_new_tag),
26278         (gst_message_new_state_changed), (gst_message_new_segment_start),
26279         (gst_message_new_segment_done), (gst_message_new_custom):
26280         * gst/gstmessage.h:
26281         * tools/gst-launch.c: (event_loop):
26282         * tools/gst-md5sum.c: (event_loop):
26283           Revert unpopular change for GST_MESSAGE_SRC to GObject.
26284
26285 2005-08-25  Wim Taymans  <wim@fluendo.com>
26286
26287         * check/generic/states.c: (GST_START_TEST):
26288         Cleanup can be done at the end.
26289
26290         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
26291         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26292         (gst_task_get_state), (gst_task_start), (gst_task_pause):
26293         Oh boy.. Thanks for finding this, Thomas. 
26294
26295 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
26296
26297         * docs/gst/gstreamer.types:
26298           added missing types
26299
26300 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
26301
26302         * docs/gst/gstreamer-docs.sgml:
26303         * docs/gst/gstreamer-sections.txt:
26304         * docs/gst/tmpl/.cvsignore:
26305         * gst/gstbin.c:
26306         * gst/gstiterator.c:
26307         * gst/gstutils.c:
26308         * gst/registries/gstxmlregistry.h:
26309           added missing classes and symbols (123 more to go)
26310           removed removed symbols from section file
26311           fixed many doc-comments
26312
26313 2005-08-24  Wim Taymans  <wim@fluendo.com>
26314
26315         * check/generic/states.c: (GST_START_TEST):
26316         Make sure all tasks are stopped.
26317
26318         * check/gst/gstbin.c: (GST_START_TEST):
26319         Unref after usage for proper valgrinding.
26320
26321         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
26322         Really wait for the task to stop before destroying the
26323         mutex.
26324
26325         * gst/gstqueue.c: (gst_queue_sink_activate_push),
26326         (gst_queue_src_activate_push):
26327         Small cleanups. Don't stop the task when we did not start
26328         it.
26329
26330         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
26331         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26332         (gst_task_get_state), (gst_task_start), (gst_task_pause),
26333         (gst_task_join):
26334         * gst/gsttask.h:
26335         Protect the stream lock with the object lock.
26336         Disallow setting the stream lock when running.
26337         Add cleanup_all to wait for the threadpool to finish.
26338         Remove code to autoallocate a mutex if none was provided.
26339         Add _join() to wait for a task to stop.
26340         Protect the thread pool with a global lock.
26341
26342 2005-08-24  Wim Taymans  <wim@fluendo.com>
26343
26344         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26345         (gst_base_sink_get_times), (gst_base_sink_do_sync),
26346         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
26347         * gst/base/gstbasesink.h:
26348         Handle newsegment events correctly.
26349         Drop buffers out of the segment range.
26350
26351 2005-08-22  Andy Wingo  <wingo@pobox.com>
26352
26353         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
26354         macro, implements an interface and gstimplementsinterface for a
26355         new type.
26356
26357 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
26358
26359         * check/Makefile.am:
26360         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
26361           add a test that does a bunch of state changes on elements
26362           needs some fixing for valgrind
26363         * check/states/sinks.c: (gst_object_suite):
26364           whitespace
26365         * gst/gstcaps.h:
26366           add prototype for gst_caps_is_equal_fixed
26367         * gst/gstplugin.c:
26368         * gst/gstregistrypool.c:
26369           doc fixes
26370
26371 2005-08-24  Andy Wingo  <wingo@pobox.com>
26372
26373         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
26374         convert a negative value. Doesn't make much sense. Mostly this is
26375         here to force callers to ensure -1 maps to -1.
26376
26377 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
26378
26379         * docs/pwg/advanced-types.xml:
26380           Well done to Michael for catching my deliberate introduction
26381           of this spelling mistake. 
26382         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
26383         * gst/gstelement.h:
26384           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
26385           unlink pads before removing the element from the bin.
26386
26387 2005-08-24  Andy Wingo  <wingo@pobox.com>
26388
26389         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
26390         the same thing as GST_DEBUG=*:4.
26391         (parse_debug_level, parse_debug_category): New helper parsers.
26392
26393 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
26394
26395         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26396         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
26397         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
26398         (gst_base_transform_buffer_alloc),
26399         (gst_base_transform_handle_buffer):
26400           use gboolean return values and pointers to size so we can use the
26401           full GST_BUFFER_SIZE range (guint) for buffer sizes
26402           use GstPadDirection for transform_caps
26403         * gst/base/gstbasetransform.h:
26404           rename get_size to get_unit_size since that's what it is
26405         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
26406           use GstPadDirection for transform_caps
26407         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26408         * gst/gstutils.h:
26409           cleanup and debugging
26410
26411 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
26412
26413         * gst/gstelement.c: (gst_element_class_init),
26414         (gst_element_set_state), (activate_pads),
26415         (gst_element_save_thyself):
26416         * tools/gst-compprep.c: (main):
26417         * tools/gst-inspect.c: (print_element_properties_info):
26418         * tools/gst-xmlinspect.c: (print_element_properties):
26419           Fixed long standing mem-leak
26420
26421 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
26422
26423         * check/gst/gstbin.c: (GST_START_TEST):
26424         * gst/gstbin.c: (bin_bus_handler):
26425         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26426         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26427         (gst_message_new_warning), (gst_message_new_tag),
26428         (gst_message_new_state_changed), (gst_message_new_segment_start),
26429         (gst_message_new_segment_done), (gst_message_new_custom):
26430         * gst/gstmessage.h:
26431         * tools/gst-launch.c: (event_loop):
26432         * tools/gst-md5sum.c: (event_loop):
26433           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
26434           that applications can sensibly post custom messages with references
26435           to their own objects.
26436
26437 2005-08-24  Andy Wingo  <wingo@pobox.com>
26438
26439         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
26440         already.
26441
26442 2005-08-24  Wim Taymans  <wim@fluendo.com>
26443
26444         * gst/base/gstbasetransform.c: (gst_base_transform_init),
26445         (gst_base_transform_transform_caps),
26446         (gst_base_transform_transform_size),
26447         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
26448         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
26449         (gst_base_transform_handle_buffer):
26450         * gst/base/gstbasetransform.h:
26451         Many fixes and new features added by Thomas. Can now also do
26452         transforms with variable sizes and a custom fixate_caps function.
26453
26454 2005-08-24  Wim Taymans  <wim@fluendo.com>
26455
26456         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26457         Some debugging.
26458
26459         * gst/gstclock.h:
26460         Cast to ClockTime before formatting to time.
26461
26462         * gst/gstutils.h:
26463         Cleanups.
26464
26465 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
26466
26467         * check/gst-libs/controller.c: (GST_START_TEST),
26468         (gst_controller_suite):
26469         * docs/gst/tmpl/gstcaps.sgml:
26470         * docs/gst/tmpl/gstghostpad.sgml:
26471         * docs/gst/tmpl/gstquery.sgml:
26472         * docs/gst/tmpl/gstutils.sgml:
26473         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
26474         (gst_object_sink_values), (gst_object_get_value_arrays),
26475         (gst_object_get_value_array):
26476           gracefully handle helper method calls to objects that are not beeing
26477           controlled, added test case for that          
26478
26479 2005-08-23  Wim Taymans  <wim@fluendo.com>
26480
26481         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
26482         (gst_event_new_newsegment), (gst_event_parse_newsegment),
26483         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
26484         (gst_event_parse_qos), (gst_event_new_seek),
26485         (gst_event_parse_seek):
26486         * gst/gstevent.h:
26487         Some more debugging output and doc cleanups.
26488
26489         * gst/gstqueue.c: (gst_queue_handle_sink_event):
26490         Fix possible deadlock.
26491
26492 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26493
26494         * docs/gst/gstreamer-docs.sgml:
26495         * docs/gst/gstreamer-sections.txt:
26496         * docs/gst/gstreamer.types:
26497         * docs/gst/tmpl/.cvsignore:
26498         * gst/gstbin.h:
26499         * gst/gstbus.c:
26500         * gst/gstelement.c:
26501         * gst/gstevent.h:
26502           added 100 symbols from gstreamer-unused.txt to the right sections
26503           fixed more broken comments
26504           added GstBus to docs
26505
26506 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26507
26508         * docs/gst/gstreamer-sections.txt:
26509         * docs/gst/tmpl/.cvsignore:
26510         * docs/gst/tmpl/gstbin.sgml:
26511         * docs/gst/tmpl/gstbuffer.sgml:
26512         * gst/base/gstbasesrc.c:
26513         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
26514         * gst/gstbuffer.c:
26515         * gst/gstbuffer.h:
26516         * tools/gst-launch.1.in:
26517           inlined more doc comments, added missing comments and fixed comments
26518           fixed typos
26519
26520 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
26521
26522         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26523           some debugging
26524         * gst/gstcaps.h:
26525           whitespace fixes
26526         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
26527           more debugging
26528         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
26529         * gst/gststructure.h:
26530           add a fixate function for booleans; add a FIXME that these func
26531           names should probably be gst_structure_fixate_*
26532
26533 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26534
26535         * docs/gst/gstreamer-docs.sgml:
26536         * docs/gst/gstreamer-sections.txt:
26537         * gst/Makefile.am:
26538         * gst/gstbin.c: (gst_bin_get_type),
26539         (gst_bin_child_proxy_get_child_by_index),
26540         (gst_bin_child_proxy_get_children_count),
26541         (gst_bin_child_proxy_init):
26542         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
26543         (gst_child_proxy_get_child_by_index),
26544         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
26545         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
26546         (gst_child_proxy_get), (gst_child_proxy_set_property),
26547         (gst_child_proxy_set_valist), (gst_child_proxy_set),
26548         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
26549         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
26550         * gst/gstchildproxy.h:
26551         * gst/parse/grammar.y:
26552         * tools/gst-inspect.c: (print_interfaces),
26553         (print_element_properties_info), (print_element_info):
26554           ported gstchildproxy over from 0.8
26555           ported gst-inspect fixes and enhancements over from 0.8
26556
26557 2005-08-22  Wim Taymans  <wim@fluendo.com>
26558
26559         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26560         (gst_base_transform_handle_buffer):
26561         Also call the transform function if we have ANY caps.
26562
26563         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
26564         Fix debug info.
26565
26566 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
26567
26568         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
26569           Don't pretend to handle seek events if the source is not seekable
26570
26571 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
26572
26573         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26574           Remove extra parameter to debug output
26575
26576         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26577         (gst_base_src_do_seek), (gst_base_src_activate_push):
26578           Fix seek event handling.
26579
26580         * gst/gstpipeline.c: (gst_pipeline_change_state):
26581         * gst/gstqueue.c: (gst_queue_handle_sink_event),
26582         (gst_queue_src_activate_push):
26583           Don't start the src pad task on FLUSH_STOP if the pad
26584           isn't linked.
26585           Debug changes.
26586
26587 2005-08-22  Wim Taymans  <wim@fluendo.com>
26588
26589         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
26590         Added check for gst_static_caps_get() refcounting.
26591
26592 2005-08-22  Wim Taymans  <wim@fluendo.com>
26593
26594         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
26595         Make _static_caps_get() refcounting sane.
26596         
26597         * gst/gstelement.c: (gst_element_set_state):
26598         Add g_return_val_if_fail() to protect against segfaults.
26599
26600 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
26601
26602         * docs/gst/tmpl/gstevent.sgml:
26603         * gst/gstevent.c:
26604         * gst/gstevent.h:
26605           inlined remaining docs, added missing doc comments
26606
26607 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
26608
26609         * check/gst/gstbin.c: (GST_START_TEST):
26610           since we don't know when preroll is done, use refcount range
26611           check for the sink
26612         * gst/check/gstcheck.h:
26613           add macro for checking refcount range
26614
26615 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
26616
26617         * check/Makefile.am:
26618           clean up environment for when registry gets built versus
26619           when actual tests are run; valgrind seems to not report
26620           leaks if GST_PLUGIN_PATH is set to some specific values
26621         * check/gst/gstbin.c: (GST_START_TEST):
26622           add more refcounting checks; maybe this exposes a
26623           preroll lock bug ?
26624         * common/check.mak:
26625         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26626         * gst/check/gstcheck.h:
26627         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
26628         (gst_bin_change_state):
26629         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
26630           add/fix debugging/whitespace
26631
26632 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
26633
26634         * check/gst/gstevent.c: (event_probe), (test_event),
26635         (GST_START_TEST):
26636          Er, don't call gst_bin_watch_for_state_change you idiot.
26637
26638 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
26639
26640         * check/Makefile.am:
26641           Use CHECK_CFLAGS and CHECK_LIBS
26642         * check/gst/gstevent.c: (event_probe), (test_event),
26643         (GST_START_TEST):
26644           Don't leak events.
26645         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26646         (gst_base_src_start), (gst_base_src_stop),
26647         (gst_base_src_activate_push), (gst_base_src_activate_pull),
26648         (gst_base_src_change_state):
26649           Sprinkle gst_base_src_stop liberally around error paths to fix
26650           problems reusing a source after failed state changes.
26651         * gst/base/gsttypefindhelper.c: (helper_find_peek),
26652         (helper_find_suggest), (gst_type_find_helper):
26653           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
26654         * gst/gstevent.h:
26655         * docs/gst/tmpl/gstevent.sgml:
26656           Migrate part of the docs from the SGML file. Wait for ensonic to
26657           tell me how I did it wrong ;)
26658         * tools/gst-typefind.c: (main):
26659           Extra robustness to state changes between files.
26660
26661 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
26662
26663         * check/Makefile.am:
26664           don't valgrind the controller test - it's leaking - Stefan, HELP
26665         * gst/check/gstcheck.c: (gst_check_message_error),
26666         (gst_check_chain_func), (gst_check_setup_element),
26667         (gst_check_teardown_element), (gst_check_setup_src_pad),
26668         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
26669         (gst_check_teardown_sink_pad):
26670         * gst/check/gstcheck.h:
26671           add a bunch of methods to set up elements, and src and sink pads
26672         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
26673         * check/elements/identity.c: (setup_identity), (cleanup_identity),
26674         (GST_START_TEST):
26675           use them
26676         * gst/gstmessage.c:
26677         * gst/gsttag.h:
26678           whitespace/doc fixes
26679
26680 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26681
26682         * gst/gstelement.h:
26683           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
26684           be handled by the application and not always printed as well
26685
26686 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26687
26688         * check/Makefile.am:
26689           set GST_TOOLS_DIR
26690         * gst/check/gstcheck.c: (gst_check_message_error):
26691         * gst/check/gstcheck.h:
26692           add a fail_unless_equals_int
26693           add fail_unless for error messages
26694
26695 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26696
26697         * check/Makefile.am:
26698         * check/gst.supp:
26699         * common/Makefile.am:
26700         * common/check.mak:
26701         * common/gst.supp:
26702           factor out some of the common stuff so we can use it
26703
26704 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26705
26706         * check/Makefile.am:
26707         * check/gst/gstiterator.c: (GST_START_TEST):
26708         * check/gst/gstsystemclock.c: (GST_START_TEST),
26709         (gst_systemclock_suite):
26710         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
26711         * gst/gstclock.c:
26712           valgrind more tests
26713
26714 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26715
26716         * check/elements/.cvsignore:
26717         * check/elements/gstfakesrc.c:
26718           rename to name of element
26719         * check/elements/identity.c: (chain_func), (event_func),
26720         (setup_identity), (cleanup_identity), (GST_START_TEST),
26721         (identity_suite), (main):
26722           add a test for identity
26723         * check/Makefile.am:
26724         * pkgconfig/Makefile.am:
26725         * pkgconfig/gstreamer-check.pc.in:
26726         * pkgconfig/gstreamer-check-uninstalled.pc.in:
26727         * gst/check:
26728         * gst/Makefile.am:
26729         * configure.ac:
26730           move the check stuff to a library that gets installed
26731         * check/gst-libs/controller.c: (GST_START_TEST):
26732         * check/gst-libs/gdp.c:
26733         * check/gst/gst.c: (GST_START_TEST):
26734         * check/gst/gstbin.c:
26735         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26736         * check/gst/gstbus.c:
26737         * check/gst/gstcaps.c: (GST_START_TEST):
26738         * check/gst/gstelement.c:
26739         * check/gst/gstghostpad.c:
26740         * check/gst/gstiterator.c:
26741         * check/gst/gstmessage.c:
26742         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
26743         * check/gst/gstobject.c:
26744         * check/gst/gstpad.c: (GST_START_TEST):
26745         * check/gst/gststructure.c: (GST_START_TEST):
26746         * check/gst/gstsystemclock.c: (GST_START_TEST),
26747         (gst_systemclock_suite):
26748         * check/gst/gsttag.c: (gst_tag_suite):
26749         * check/gst/gstvalue.c:
26750         * check/pipelines/cleanup.c:
26751         * check/pipelines/simple_launch_lines.c:
26752         * check/states/sinks.c:
26753           change include statement
26754
26755         * docs/gst/gstreamer-sections.txt:
26756         * docs/gst/tmpl/gstpad.sgml:
26757           document more pad stuff
26758         * gst/gstminiobject.c: (gst_mini_object_ref),
26759         (gst_mini_object_unref):
26760           debug refcounting
26761
26762 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
26763
26764         * docs/gst/tmpl/gst.sgml:
26765         * gst/gst.c:
26766           eliminate another tmpl file, fix spelling in the long-description
26767
26768 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26769
26770         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26771         (test_event), (timediff), (gstevents_suite):
26772           Should fix build on 64-bit arch's
26773
26774 2005-08-18  Andy Wingo  <wingo@pobox.com>
26775
26776         Make sure that when a pipeline goes to PLAYING, that data has
26777         actually hit the sink.
26778
26779         * check/states/sinks.c (test_sink): A sink that doesn't get any
26780         data shouldn't return SUCCESS for going to either PLAYING or
26781         PAUSED. Test also the return values on the way back down.
26782
26783         * gst/gstelement.c (gst_element_set_state): When changing the
26784         state of an element currently changing state asynchronously, go to
26785         lost-state after commiting the pending state. Makes future calls
26786         to get_state continue to return ASYNC.
26787
26788         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
26789         ASYNC when going to PLAYING if we still don't have preroll, as can
26790         happen with live sources.
26791
26792 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26793
26794         * docs/pwg/advanced-types.xml:
26795           Hack long paragraph into 2 chunks as a workaround for buggy
26796           jadetex version in sid and breezy that loops infinitely and
26797           eats all RAM.
26798
26799 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26800
26801         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26802         (test_event), (timediff), (gstevents_suite):
26803           Provide more error margin in clock measurements to allow for 
26804           g_get_current_time inaccuracies.
26805
26806 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26807
26808         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26809         (test_event), (timediff), (gstevents_suite):
26810            Fix error message output so I might be able to tell why the
26811            test works here but fails on the build farm.
26812
26813 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26814
26815         * check/Makefile.am:
26816         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26817         (test_event), (timediff), (gstevents_suite), (main):
26818           I wrote a test!
26819
26820         * docs/design/part-seeking.txt:
26821           Spelling correction
26822
26823         * docs/gst/tmpl/gstevent.sgml:
26824         * docs/gst/tmpl/gstfakesrc.sgml:
26825           Docs updates.
26826
26827         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26828           Treat a buffer-without-newsegment the same as a receiving 
26829           a newsegment not in time format, and disable syncing to the clock
26830           with a warning.
26831
26832         * gst/gstbus.c: (gst_bus_set_sync_handler):
26833           Assert if anyone tries to replace the existing sync_handler for bus, 
26834           as only the owner should be setting it.
26835
26836         * gst/gstevent.h:
26837           Have a fixed set of custom event enums with events identified by
26838           their structure name (as in 0.8), rather than a free-for-all
26839           allowing collisions between enum values from different plugins.
26840
26841         * gst/gstpad.c: (gst_pad_class_init):
26842           Docs change.
26843           
26844         * gst/gstqueue.c: (gst_queue_handle_sink_event):
26845           Handle out-of-band downstream events from the sending thread.
26846
26847 2005-08-17  Andy Wingo  <wingo@pobox.com>
26848
26849         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
26850         play-timeout==0 to mean no timeout at all. In that case, don't
26851         bother with a get_state or a warning, just return directly, even
26852         if it's ASYNC.
26853
26854         * gst/base/gstbasetransform.c: Debug changes.
26855
26856         * gst/gstutils.h:
26857         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
26858         ensure bins post state change messages. A bit of a hack but I can't
26859         think of a way to avoid it.
26860
26861         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
26862
26863 2005-08-16  Andy Wingo  <wingo@pobox.com>
26864
26865         * gst/base/gstadapter.h:
26866         * gst/base/gstadapter.c (gst_adapter_take): New function, like
26867         peek() but you own the data. Not terribly efficient atm.
26868
26869 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26870
26871         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
26872         (gst_element_found_tags):
26873         * gst/gstutils.h:
26874           Add two utility functions for tag handling.
26875
26876 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26877
26878         * docs/manual/advanced-dataaccess.xml:
26879         * docs/manual/basics-helloworld.xml:
26880           Fix docs to use _bin_add() before _link(), which fixes the examples
26881           with recent core versions (reported by Madhan Raj M
26882           <raj_madan@rediffmail.com>, #313199).
26883
26884 2005-08-16  Wim Taymans  <wim@fluendo.com>
26885
26886         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
26887         Added subtract checks.
26888
26889         * docs/design/part-events.txt:
26890         Some more docs about newsegment
26891
26892         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
26893         Fix FIXME
26894
26895         * gst/gstcaps.c: (gst_caps_to_string):
26896         Add comments, cleanups.
26897         
26898         * gst/gstelement.c: (gst_element_save_thyself):
26899         cleanups
26900         
26901         * gst/gstvalue.c: (gst_value_collect_int_range),
26902         (gst_string_unwrap), (gst_value_union_int_int_range),
26903         (gst_value_union_int_range_int_range),
26904         (gst_value_intersect_int_int_range),
26905         (gst_value_intersect_int_range_int_range),
26906         (gst_value_intersect_double_double_range),
26907         (gst_value_intersect_double_range_double_range),
26908         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
26909         (gst_value_subtract_int_range_int),
26910         (gst_value_subtract_double_range_double),
26911         (gst_value_subtract_double_range_double_range),
26912         (gst_value_subtract_from_list), (gst_value_subtract_list),
26913         (gst_value_can_compare), (gst_value_compare_fraction):
26914         Cleanups, add comments, remove unneeded asserts.
26915
26916 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
26917
26918         * tools/gst-launch.c: (event_loop):
26919           don't convert NULL structures to strings
26920
26921 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
26922
26923         * docs/gst/gstreamer-sections.txt:
26924           made some defines private
26925         * docs/gst/tmpl/gstconfig.sgml:
26926         * docs/gst/tmpl/gstqueue.sgml:
26927         * docs/gst/tmpl/gsttaglist.sgml:
26928         * docs/gst/tmpl/gsttypes.sgml:
26929         * docs/gst/tmpl/gstutils.sgml:
26930         * docs/pwg/appendix-porting.xml:
26931         * gst/base/gstbasesink.h:
26932         * gst/base/gstbasesrc.c:
26933         * gst/base/gstbasesrc.h:
26934         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
26935         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
26936         * gst/gstelement.c: (gst_element_class_init):
26937         * gst/gstpad.c: (gst_pad_class_init):
26938         * gst/gstqueue.c: (gst_queue_class_init):
26939         * gst/gstxml.c: (gst_xml_class_init):
26940           documented all undocumented signal inline
26941         * libs/gst/controller/gst-controller.h:
26942           added padding
26943
26944 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26945
26946         * docs/pwg/appendix-porting.xml:
26947           Document _set_link_function -> _set_setcaps_function.
26948
26949 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
26950
26951         * check/Makefile.am:
26952           add a .check target for running the check
26953         * check/gst-libs/controller.c: (GST_START_TEST):
26954           cosmetic fixups
26955         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26956           complete checks for gstbuffer; would be nice if I could get the
26957           gcov stuff to work so I can see if I actually completed gstbuffer.c
26958         * check/gstcheck.h:
26959           add ASSERT_BUFFER_REFCOUNT
26960
26961 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
26962
26963         * docs/gst/gstreamer-sections.txt:
26964         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
26965         * gst/gsttag.h:
26966           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
26967           spew out a warning if a tag that is already registered
26968           is re-registered, unless it is re-registered with a 
26969           different type (#308438).
26970
26971 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
26972
26973         * docs/pwg/appendix-porting.xml:
26974         * docs/pwg/building-state.xml:
26975           Add some paragraphs about state changes in 0.9 to the PWG
26976           and the porting guide, in particular about the new meaning
26977           of GST_STATE_PAUSED and how to write state change functions
26978           with concurrent access by multiple threads in mind.
26979
26980 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
26981
26982         * docs/gst/gstreamer-docs.sgml:
26983         * docs/libs/gstreamer-libs-docs.sgml:
26984           added deprecation and since indexes
26985         * libs/gst/controller/gst-controller.c:
26986         * libs/gst/controller/gst-helper.c:
26987           added since tags
26988
26989
26990 2005-08-11  Wim Taymans  <wim@fluendo.com>
26991
26992         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
26993         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
26994         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
26995         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
26996         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
26997         (gst_ghost_pad_set_target):
26998         Actually implement (re)setting the target on a ghostpad
26999         as described in the docs.
27000
27001 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
27002
27003         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
27004           Check whether GST_DEBUG_NO_COLOR environment variable is
27005           set and disable coloured debug output if that is the case.
27006
27007 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
27008
27009         * gst/base/gsttypefindhelper.c: (helper_find_peek),
27010         (gst_type_find_helper):
27011           The memory returned by gst_type_find_peek() needs to
27012           stay valid until the end of a typefind function, and
27013           typefind functions may keep results from different 
27014           offsets around, so we can't just unref the buffer from
27015           the previous _peek(), but have to save all buffers 
27016           returned by _peek() until typefinding is done and only
27017           free them then.
27018
27019 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
27020
27021         * docs/gst/gstreamer-sections.txt:
27022         * gst/gstutils.h:
27023           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
27024
27025 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27026
27027         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
27028           Fix a pretty good memleak.
27029
27030 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
27031
27032         * gst/gstiterator.h:
27033           Fix wrong include and 'make distcheck'.
27034
27035 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27036
27037         * gst/gstbin.c: (bin_bus_handler):
27038           Use gst_element_post_message() instead.
27039
27040 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
27041
27042         * gst/base/gstadapter.h:
27043         * gst/base/gstbasesink.h:
27044         * gst/base/gstbasesrc.h:
27045         * gst/base/gstbasetransform.h:
27046         * gst/base/gstcollectpads.h:
27047         * gst/base/gstpushsrc.h:
27048         * gst/gstiterator.h:
27049           Add padding to our base elements' class and instance structs and
27050           to GstIterator (you will need to rebuild all plugins and apps!)
27051
27052 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27053
27054         * gst/gstbin.c: (bin_bus_handler):
27055           Make default message forwarding from child->bus to bin->bus
27056           threadsafe and make it not emit warnings if the parent has no bus.
27057
27058 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27059
27060         * gst/gstelement.c: (activate_pads):
27061           On paused->ready, set pad->caps to NULL, as is the documented
27062           behaviour in this state change. Fixes playback of series of
27063           media files when visualization is enabled in Totem.
27064
27065 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27066
27067         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
27068           Allow NULL as filter-caps (which means "any").
27069
27070 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
27071
27072         * docs/libs/gstreamer-libs-sections.txt:
27073         * libs/gst/controller/gst-controller.c:
27074         * libs/gst/controller/gst-controller.h:
27075         * libs/gst/controller/gst-helper.c:
27076           adding more entries to the docs and fix small doc-bugs
27077
27078 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
27079
27080         * docs/gst/gstreamer-docs.sgml:
27081         * docs/gst/gstreamer-sections.txt:
27082         * docs/gst/gstreamer.types:
27083         * docs/gst/tmpl/gstbasesink.sgml:
27084         * docs/gst/tmpl/gstbasesrc.sgml:
27085         * docs/gst/tmpl/gstbasetransform.sgml:
27086         * docs/gst/tmpl/gstfakesrc.sgml:
27087         * gst/base/gstcollectpads.c:
27088         * gst/base/gstcollectpads.h:
27089         * libs/gst/controller/gst-controller.c:
27090         * libs/gst/controller/gst-controller.h:
27091         * libs/gst/controller/gst-helper.c:
27092         * libs/gst/controller/gst-interpolation.c:
27093         * libs/gst/controller/lib.c:
27094           added long/short desc for controller docs
27095           added collectpads base class docs
27096           added correct includes to base-class docs
27097
27098 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
27099
27100         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
27101         (gst_test_mono_source_set_property),
27102         (gst_test_mono_source_class_init), (GST_START_TEST),
27103         (gst_controller_suite):
27104         * docs/gst/gstreamer-docs.sgml:
27105         * docs/gst/gstreamer-sections.txt:
27106         * docs/gst/gstreamer.types:
27107         * docs/libs/gstreamer-libs-docs.sgml:
27108         * docs/libs/gstreamer-libs-sections.txt:
27109         * gst/base/gstadapter.c:
27110         * libs/gst/controller/gst-controller.c:
27111         (gst_controlled_property_new), (gst_controlled_property_free),
27112         (gst_controller_new_valist),
27113         (gst_controller_remove_properties_valist),
27114         (gst_controller_sink_values), (_gst_controller_finalize):
27115         * libs/gst/controller/gst-controller.h:
27116         * libs/gst/controller/gst-helper.c:
27117         (gst_object_control_properties), (gst_object_uncontrol_properties),
27118         (gst_object_get_controller), (gst_object_set_controller),
27119         (gst_object_sink_values), (gst_object_get_value_arrays),
27120         (gst_object_get_value_array):
27121           more tests (and fixes) for the controller
27122           more docs for the controller
27123           integrated companies docs for the adapter 
27124
27125 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
27126
27127         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
27128         (GST_START_TEST), (fakesrc_suite):
27129           add tests for sizetype
27130
27131 2005-08-04  Andy Wingo  <wingo@pobox.com>
27132
27133         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
27134         fixes buffer_alloc proxying among other things.
27135
27136         * gst/base/gstbasetransform.c:
27137         * gst/base/gstbasetransform.h:
27138         Revert patch to gstbasetransform from 7-28 removing
27139         delay_configure.
27140
27141         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
27142         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
27143         Semantics changed, should return not the size of the output buffer
27144         but the byte size of a buffer with a given caps.
27145
27146         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
27147         debug object.
27148         (gst_base_transform_configure_caps): Don't set out_size here: (in,
27149         out) are not the pad caps until setcaps finishes.
27150         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
27151         not-in-place case as well. Deal with changing from in-place to
27152         not-in-place within calling pad_alloc_buffer. Still a bit
27153         concerned about the overhead here...
27154
27155 2005-08-03  Andy Wingo  <wingo@pobox.com>
27156
27157         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
27158         fixating is an error.
27159
27160 2005-08-04  Edward Hervey  <edward@fluendo.com>
27161
27162         * gst/base/gstadapter.h: 
27163         Added gst_adapter_get_type() to the header
27164
27165 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
27166
27167         * check/Makefile.am:
27168         * check/gst-libs/controller.c:
27169         * libs/gst/controller/gst-controller.c:
27170         (gst_controller_new_valist):
27171           added check test suite for the controller
27172         * gst/base/gstpushsrc.c:
27173           fixed a doc typo
27174
27175 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
27176
27177         * docs/gst/Makefile.am:
27178         * docs/gst/gstreamer-docs.sgml:
27179         * docs/gst/gstreamer-sections.txt:
27180         * docs/gst/gstreamer.types:
27181         * docs/gst/tmpl/gstfakesrc.sgml:
27182         * gst/base/README:
27183         * gst/base/gstbasesink.c:
27184         * gst/base/gstbasesink.h:
27185         * gst/base/gstbasesrc.c:
27186         * gst/base/gstbasesrc.h:
27187         * gst/base/gstbasetransform.c:
27188         * gst/base/gstpushsrc.c:
27189         * gst/base/gstpushsrc.h:
27190           add short/long description docs to base classes
27191           add pushsrc to the docs
27192           remove consolidated doc fragments
27193
27194 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
27195
27196         * configure.ac:
27197         * docs/libs/Makefile.am:
27198         * docs/libs/gstreamer-libs-docs.sgml:
27199         * docs/libs/gstreamer-libs-sections.txt:
27200         * docs/libs/gstreamer-libs.types:
27201         * examples/Makefile.am:
27202         * examples/controller/.cvsignore:
27203         * examples/controller/Makefile.am:
27204         * examples/controller/audio-example.c: (main):
27205         * libs/gst/Makefile.am:
27206         * libs/gst/controller/.cvsignore:
27207         * libs/gst/controller/Makefile.am:
27208         * libs/gst/controller/gst-controller.c:
27209         (on_object_controlled_property_changed), (gst_timed_value_compare),
27210         (gst_timed_value_find),
27211         (gst_controlled_property_set_interpolation_mode),
27212         (gst_controlled_property_new), (gst_controlled_property_free),
27213         (gst_controller_find_controlled_property),
27214         (gst_controller_new_valist), (gst_controller_new),
27215         (gst_controller_remove_properties_valist),
27216         (gst_controller_remove_properties), (gst_controller_set),
27217         (gst_controller_set_from_list), (gst_controller_unset),
27218         (gst_controller_get), (gst_controller_get_all),
27219         (gst_controller_sink_values), (gst_controller_get_value_arrays),
27220         (gst_controller_get_value_array),
27221         (gst_controller_set_interpolation_mode),
27222         (_gst_controller_finalize), (_gst_controller_init),
27223         (_gst_controller_class_init), (gst_controller_get_type):
27224         * libs/gst/controller/gst-controller.h:
27225         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
27226         (g_object_uncontrol_properties), (g_object_get_controller),
27227         (g_object_set_controller), (g_object_sink_values),
27228         (g_object_get_value_arrays), (g_object_get_value_array):
27229         * libs/gst/controller/gst-interpolation.c:
27230         (gst_controlled_property_find_timed_value_node),
27231         (interpolate_none_get), (interpolate_trigger_get),
27232         (interpolate_trigger_get_value_array):
27233         * libs/gst/controller/lib.c: (gst_controller_init):
27234         * pkgconfig/Makefile.am:
27235         * pkgconfig/gstreamer-control-uninstalled.pc.in:
27236         * pkgconfig/gstreamer-control.pc.in:
27237         * testsuite/Makefile.am:
27238         * testsuite/controller/.cvsignore:
27239         * testsuite/controller/Makefile.am:
27240         * testsuite/controller/interpolator.c: (main):
27241           added controller code
27242           removed dparam pc files
27243
27244 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
27245         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
27246         (gst_collectpads_stop):
27247           Broadcast the condition when shutting down, to make sure we wake all
27248           threads up. Shut down pads on finalize, for safety.
27249
27250 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
27251         * gst/base/gstbasetransform.c: (gst_base_transform_init),
27252         (gst_base_transform_handle_buffer),
27253         (gst_base_transform_change_state):
27254           Handle PAUSED->READY->PAUSED transition after negotiation
27255           occurred already.
27256         * gst/gstmessage.c: (gst_message_init):
27257           Extra piece of debug for new messages.
27258
27259 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
27260
27261         * configure.ac:
27262         * docs/gst/tmpl/gstbasesrc.sgml:
27263         * docs/gst/tmpl/gstelement.sgml:
27264         * docs/gst/tmpl/gstevent.sgml:
27265         * docs/gst/tmpl/gstfakesrc.sgml:
27266         * docs/gst/tmpl/gstformat.sgml:
27267         * docs/gst/tmpl/gstghostpad.sgml:
27268         * docs/gst/tmpl/gstpad.sgml:
27269         * docs/gst/tmpl/gstquery.sgml:
27270         * docs/gst/tmpl/gststructure.sgml:
27271         * docs/gst/tmpl/gsttaglist.sgml:
27272         * docs/gst/tmpl/gstvalue.sgml:
27273         * docs/libs/gstreamer-libs-docs.sgml:
27274         * docs/libs/gstreamer-libs-sections.txt:
27275         * docs/libs/gstreamer-libs.types:
27276         * libs/gst/Makefile.am:
27277         * libs/gst/control/.cvsignore:
27278         * libs/gst/control/Makefile.am:
27279         * libs/gst/control/control.c:
27280         * libs/gst/control/control.h:
27281         * libs/gst/control/dparam.c:
27282         * libs/gst/control/dparam.h:
27283         * libs/gst/control/dparam_smooth.c:
27284         * libs/gst/control/dparam_smooth.h:
27285         * libs/gst/control/dparamcommon.h:
27286         * libs/gst/control/dparammanager.c:
27287         * libs/gst/control/dparammanager.h:
27288         * libs/gst/control/dplinearinterp.c:
27289         * libs/gst/control/dplinearinterp.h:
27290         * libs/gst/control/unitconvert.c:
27291         * libs/gst/control/unitconvert.h:
27292         * testsuite/Makefile.am:
27293         * testsuite/dynparams/.cvsignore:
27294         * testsuite/dynparams/Makefile.am:
27295         * testsuite/dynparams/dparamstest.c:
27296         * tools/Makefile.am:
27297         * tools/gst-inspect.c: (print_element_info), (main):
27298         * tools/gst-xmlinspect.c: (print_element_info), (main):
27299           deactivate and remove dparams (libgstcontrol)
27300
27301 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
27302
27303         * gst/elements/gsttypefindelement.c:
27304         (gst_type_find_element_have_type), (gst_type_find_element_init),
27305         (stop_typefinding), (gst_type_find_element_handle_event),
27306         (gst_type_find_element_chain), (gst_type_find_element_getrange):
27307         * gst/elements/gsttypefindelement.h:
27308           Set caps on all outgoing buffers, not just the first one.
27309
27310 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
27311
27312         * gst/elements/gsttypefindelement.c:
27313         (gst_type_find_element_have_type),
27314         (gst_type_find_element_check_set_buffer_caps),
27315         (gst_type_find_element_init), (stop_typefinding),
27316         (gst_type_find_element_handle_event),
27317         (gst_type_find_element_chain), (gst_type_find_element_getrange):
27318         * gst/elements/gsttypefindelement.h:
27319           Set caps on first outgoing buffer when we've found the type.
27320
27321 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
27322
27323         * docs/gst/gstreamer-docs.sgml:
27324         * docs/gst/gstreamer-sections.txt:
27325         * docs/gst/tmpl/gstscheduler.sgml:
27326         * docs/gst/tmpl/gstschedulerfactory.sgml:
27327           Remove some old cruft from docs.
27328
27329 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
27330
27331         * gst/gstpad.h:
27332           Fix inline docs for GstPadLinkReturn.
27333           
27334         * gst/gststructure.c: (gst_structure_has_name):
27335         * gst/gststructure.h:
27336         * docs/gst/gstreamer-sections.txt:
27337           New API: gst_structure_has_name().
27338
27339 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
27340
27341         * configure.ac:
27342           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
27343           and _LARGEFILE_SOURCE in config.h as required. Do not 
27344           export those flags in our .pc files any longer (#142209).
27345
27346           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
27347
27348         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
27349         (gst_file_sink_do_seek), (gst_file_sink_event),
27350         (gst_file_sink_get_current_offset), (gst_file_sink_render):
27351           Redo seek/tell calls with large file support in mind; add some
27352           debugging messages; add log message that tells us when large
27353           file support is unavailable or not enabled for some reason.
27354
27355         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
27356           Add log message that tells us when large file support 
27357           is unavailable or not enabled for some reason.
27358
27359 2005-07-29  Wim Taymans  <wim@fluendo.com>
27360
27361         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27362         Added test for removing an element with ghostpad from a bin.
27363         Fixed test as current implementation does the right thing.
27364
27365         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
27366         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
27367         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
27368         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
27369         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
27370         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
27371         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
27372         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
27373         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
27374         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
27375         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
27376         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
27377         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
27378         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
27379         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
27380         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
27381         * gst/gstghostpad.h:
27382         Clean up ghostpads, remove properties for internal stuff.
27383         Make threadsafe.
27384         Fix refcounting.
27385         Prepare for switching targets, not all use cases work yet.
27386
27387 2005-07-29  Wim Taymans  <wim@fluendo.com>
27388
27389         * docs/design/part-gstghostpad.txt:
27390         Small update.
27391
27392         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27393         (gst_bin_remove_func):
27394         Unlinking pads while holding the bin LOCK is not a good
27395         idea.
27396
27397         * gst/gstpad.c: (gst_pad_class_init),
27398         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
27399         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
27400         No prob setting template after creating the pad.
27401
27402 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
27403
27404         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
27405         (gst_bus_peek), (gst_bus_source_dispatch),
27406         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
27407         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
27408           gst_bus_poll may be called from other threads. Handle
27409           this nicely by not making poll_data disappear off the
27410           stack once gst_bus_poll returns.
27411           gst_bus_peek now increments the refcount on the returned
27412           message.
27413
27414 2005-07-29  Wim Taymans  <wim@fluendo.com>
27415
27416         * docs/design/part-gstghostpad.txt:
27417         Overview of current GhostPad datastructures and use
27418         cases for changing the target.
27419
27420 2005-07-28  Wim Taymans  <wim@fluendo.com>
27421
27422         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
27423         Added checks for hierarchy consistency whan adding linked
27424         elements to bins.
27425
27426         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
27427         Added check to test element scheduling without bin/pipeline.
27428
27429         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
27430         First add elements to bin, then link.
27431         
27432         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27433         (gst_bin_remove_func):
27434         Unlink pads from elements added/removed from bin to maintain
27435         hierarchy consistency.
27436
27437 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27438
27439         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
27440         (gst_base_transform_handle_buffer):
27441         * gst/base/gstbasetransform.h:
27442           Remove broken delay_configure (fixes renegotiation of software
27443           scaling pipelines); remove some leftover printf()s.
27444
27445 2005-07-28  Wim Taymans  <wim@fluendo.com>
27446
27447         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27448         Added some more tests for wrong hierarchy
27449
27450         * docs/design/part-overview.txt:
27451         Some updates.
27452
27453         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
27454         Cleanups.
27455
27456         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
27457         (gst_element_dispose):
27458         Some more cleanups.
27459
27460         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
27461         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
27462         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27463         (gst_pad_set_caps), (gst_pad_send_event):
27464         Check for correct hierarchy when linking pads. Moving to
27465         strict requirement for ghostpads when linking elements in
27466         different bins.
27467
27468         * gst/gstpad.h:
27469         Clean ups. Added WRONG_HIERARCHY return value.
27470
27471 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27472
27473         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
27474           Better debug if no transform is possible.
27475
27476 2005-07-27  Wim Taymans  <wim@fluendo.com>
27477
27478         * docs/random/wtay/network-transp:
27479         Some old doc I had.
27480
27481 2005-07-27  Wim Taymans  <wim@fluendo.com>
27482
27483         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27484         (gst_dp_event_from_packet):
27485         Fix serialization of seek events.
27486
27487 2005-07-27  Wim Taymans  <wim@fluendo.com>
27488
27489         * check/gst-libs/gdp.c: (GST_START_TEST):
27490         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27491         Fix compilation and fix event serialization.
27492
27493 2005-07-27  Wim Taymans  <wim@fluendo.com>
27494
27495         * CHANGES-0.9:
27496         * docs/design/part-TODO.txt:
27497         * docs/design/part-events.txt:
27498         Some docs updates
27499
27500         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27501         (gst_base_sink_event), (gst_base_sink_do_sync),
27502         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27503         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
27504         (gst_base_src_do_seek), (gst_base_src_event_handler),
27505         (gst_base_src_loop):
27506         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27507         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27508         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
27509         (gst_base_transform_event), (gst_base_transform_handle_buffer),
27510         (gst_base_transform_set_passthrough),
27511         (gst_base_transform_is_passthrough):
27512         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27513         * gst/elements/gstfilesink.c: (gst_file_sink_event):
27514         Event updates.
27515
27516         * gst/gstbuffer.h:
27517         Use faster casts.
27518
27519         * gst/gstelement.c: (gst_element_seek):
27520         * gst/gstelement.h:
27521         Update gst_element_seek.
27522
27523         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
27524         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
27525         (gst_event_new_flush_start), (gst_event_new_flush_stop),
27526         (gst_event_new_eos), (gst_event_new_newsegment),
27527         (gst_event_parse_newsegment), (gst_event_new_tag),
27528         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
27529         (gst_event_parse_qos), (gst_event_new_seek),
27530         (gst_event_parse_seek), (gst_event_new_navigation):
27531         * gst/gstevent.h:
27532         Make GstEvent use GstStructure. Add parsing code, make sure the
27533         API is sufficiently generic.
27534         Mark possible directions of events and serialization.
27535
27536         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
27537         (_gst_message_copy), (gst_message_new_segment_start),
27538         (gst_message_new_segment_done), (gst_message_new_custom),
27539         (gst_message_parse_segment_start),
27540         (gst_message_parse_segment_done):
27541         Small cleanups.
27542
27543         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27544         (gst_pad_set_caps), (gst_pad_send_event):
27545         Update for new events. 
27546         Catch events sent in wrong directions.
27547
27548         * gst/gstqueue.c: (gst_queue_link_src),
27549         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
27550         (gst_queue_handle_src_query):
27551         Event updates.
27552
27553         * gst/gsttag.c:
27554         * gst/gsttag.h:
27555         Remove event code from this file.
27556
27557         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27558         (gst_dp_event_from_packet):
27559         Event updates.
27560
27561 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27562
27563         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
27564         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27565         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
27566           Make debugging actually useful.
27567
27568 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27569
27570         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
27571         (gst_pad_fixate_caps):
27572           Implement default fixation once again, so that gst_pad_fixate()
27573           actually does anything at all. This probably needs to be some
27574           sort of a last resort, and use profile-based fixation first, but
27575           since that doesn't exist yet, this is the best we have. Fixes
27576           visualization in Totem.
27577
27578 2005-07-22  Wim Taymans  <wim@fluendo.com>
27579
27580         * docs/design/part-events.txt:
27581         Small update.
27582
27583         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27584         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
27585         (gst_base_sink_activate_pull):
27586         Some more comments.
27587
27588         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
27589         (gst_fake_src_create):
27590         Fix handoff marshall.
27591
27592         * gst/elements/gstidentity.c: (gst_identity_class_init),
27593         (gst_identity_transform_ip):
27594         We're a real inplace element.
27595
27596         * gst/gstbus.c: (gst_bus_post):
27597         Added some comments.
27598
27599         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
27600         * tests/muxing/case1.c: (main):
27601         * tests/sched/dynamic-pipeline.c: (main):
27602         * tests/sched/interrupt1.c: (main):
27603         * tests/sched/interrupt2.c: (main):
27604         * tests/sched/interrupt3.c: (main):
27605         * tests/sched/runxml.c: (main):
27606         * tests/sched/sched-stress.c: (main):
27607         * tests/seeking/seeking1.c: (event_received), (main):
27608         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
27609         (main):
27610         * tests/threadstate/threadstate3.c: (main):
27611         * tests/threadstate/threadstate4.c: (main):
27612         * tests/threadstate/threadstate5.c: (main):
27613         Fix the tests.
27614
27615 2005-07-21  Wim Taymans  <wim@fluendo.com>
27616
27617         * docs/design/part-seeking.txt:
27618         Some small additions.
27619
27620         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27621         (gst_base_sink_get_times), (gst_base_sink_do_sync),
27622         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27623         * gst/base/gstbasesink.h:
27624         discont values are gint64, handle the math correctly.
27625
27626         * gst/base/gstbasesrc.c: (gst_base_src_loop):
27627         Make the basesrc report error if the source pad is not linked.
27628
27629         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
27630         (gst_queue_loop), (gst_queue_handle_src_query),
27631         (gst_queue_src_activate_push):
27632         Make queue collect data even if the srcpad is not linked.
27633         Start pushing out data as soon as it is linked.
27634
27635         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
27636         * gst/gstutils.h:
27637         Added gst_flow_get_name() to ease error reporting.
27638
27639 2005-07-20  Wim Taymans  <wim@fluendo.com>
27640
27641         * gst/gstmessage.c: (gst_message_new_segment_start),
27642         (gst_message_new_segment_done), (gst_message_parse_segment_start),
27643         (gst_message_parse_segment_done):
27644         * gst/gstmessage.h:
27645         Added a bunch of messages for advanced seeking.
27646
27647         * gst/parse/grammar.y:
27648         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
27649         (gst_dpman_state_changed):
27650         Fix some new-pad -> pad-added signals
27651
27652 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27653
27654         * docs/manual/appendix-porting.xml:
27655         * docs/pwg/appendix-porting.xml:
27656           Document new-pad/state-change signal renames and the FixedList
27657           type rename.
27658
27659 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27660
27661         * docs/manual/advanced-autoplugging.xml:
27662         * docs/manual/basics-helloworld.xml:
27663         * docs/manual/basics-pads.xml:
27664         * docs/random/ds/0.9-suggested-changes:
27665         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
27666         * gst/gstelement.h:
27667         * gst/gstevent.h:
27668         * gst/gstformat.h:
27669         * gst/gstquery.h:
27670         * gst/gststructure.c: (gst_structure_value_get_generic_type),
27671         (gst_structure_parse_array), (gst_structure_parse_value):
27672         * gst/gstvalue.c: (gst_type_is_fixed),
27673         (gst_value_list_prepend_value), (gst_value_list_append_value),
27674         (gst_value_list_get_size), (gst_value_list_get_value),
27675         (gst_value_transform_array_string), (gst_value_serialize_array),
27676         (gst_value_deserialize_array), (gst_value_intersect_array),
27677         (gst_value_is_fixed), (_gst_value_initialize):
27678         * gst/gstvalue.h:
27679           GstElement::new-pad -> pad-added, GstElement::state-change ->
27680           state-changed, GstValueFixedList -> GstValueArray, add format and
27681           flags as their own arguments in gst_element_seek() (should improve
27682           "bindeability"), remove function generators since they don't work
27683           under a whole bunch of compilers (they were deprecated already
27684           anyway).
27685
27686 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27687
27688         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
27689         (_gst_debug_register_funcptr):
27690         * gst/gstinfo.h:
27691           Fix illegal cast on some platforms (#309253).
27692
27693 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27694
27695         * gst/gstmessage.c: (gst_message_new_custom):
27696         * gst/gstmessage.h:
27697           Add _new_custom, make _new_application a macro to _new_custom.
27698
27699 2005-07-20  Wim Taymans  <wim@fluendo.com>
27700
27701         * gst/base/gstbasesrc.c: (gst_base_src_init),
27702         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
27703         * gst/base/gstbasesrc.h:
27704         Add a gboolean to decide when to push out a discont.
27705
27706         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
27707         (gst_queue_loop), (gst_queue_handle_src_query),
27708         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
27709         (gst_queue_set_property), (gst_queue_get_property):
27710         Some cleanups.
27711
27712         * tests/threadstate/threadstate1.c: (main):
27713         Make a thread test compile and run... very silly..
27714
27715
27716 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27717
27718         * docs/manual/appendix-porting.xml:
27719           Mention removal of libgstgconf-0.9.la and existence of gconf
27720           elements.
27721
27722 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27723
27724         * docs/pwg/advanced-clock.xml:
27725         * docs/pwg/appendix-porting.xml:
27726         * docs/pwg/intro-preface.xml:
27727         * docs/pwg/other-base.xml:
27728         * docs/pwg/other-manager.xml:
27729         * docs/pwg/other-nton.xml:
27730         * docs/pwg/other-ntoone.xml:
27731         * docs/pwg/other-oneton.xml:
27732         * docs/pwg/pwg.xml:
27733           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
27734           demuxer), remove n-to-n (was never written), fix some code examples
27735           and links and update the porting section to include all this.
27736
27737 2005-07-19  Wim Taymans  <wim@fluendo.com>
27738
27739         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
27740         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
27741         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
27742         (gst_queue_src_activate_push), (gst_queue_change_state),
27743         (gst_queue_get_property):
27744         * gst/gstqueue.h:
27745         Propagate GstFlowReturn more intelligently upstream and output
27746         an ERROR/EOS when streaming stopped due to fatal error.
27747
27748 2005-07-19  Wim Taymans  <wim@fluendo.com>
27749
27750         * tools/gst-launch.c: (check_intr), (event_loop), (main):
27751         Don't block forever for the state change to complete, the
27752         pipeline already did with a sensible timeout.
27753
27754 2005-07-19  Wim Taymans  <wim@fluendo.com>
27755
27756         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
27757         Make sure we never call the create function is we
27758         got deactivated.
27759
27760 2005-07-19  Andy Wingo  <wingo@pobox.com>
27761
27762         * gst/parse/parse.l: Attempt to solve bug #172815.
27763
27764 2005-07-19  Wim Taymans  <wim@fluendo.com>
27765
27766         * docs/design/part-clocks.txt:
27767         * docs/design/part-events.txt:
27768         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
27769         Small docs updates.
27770         Only update the seeking values when we are not
27771         busy streaming.
27772
27773 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
27774
27775         * gst/base/gstbasesrc.c: (gst_base_src_loop):
27776           Oops, ignore the result of gst_pad_push_event here.
27777
27778 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
27779
27780         * gst/base/gstbasesrc.c: (gst_base_src_loop),
27781         (gst_base_src_activate_push):
27782           Send discont event from the loop function, as pads
27783           aren't activated yet in the activate_push handler.
27784
27785         * gst/gstbin.c: (bin_bus_handler):
27786           Don't leak element name.
27787
27788 2005-07-18  Andy Wingo  <wingo@pobox.com>
27789
27790         * configure.ac: Use AS_LIBTOOL_TAGS.
27791
27792 2005-07-18  Wim Taymans  <wim@fluendo.com>
27793
27794         * docs/gst/gstreamer.types:
27795         Remove deleted types.
27796
27797 2005-07-18  Wim Taymans  <wim@fluendo.com>
27798
27799         * check/elements/gstfakesrc.c: (GST_START_TEST):
27800         * configure.ac:
27801         * gst/Makefile.am:
27802         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
27803         (init_popt_callback):
27804         * gst/gst.h:
27805         * gst/gst_private.h:
27806         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
27807         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
27808         * gst/gstbin.h:
27809         * gst/gstbus.h:
27810         * gst/gstconfig.h.in:
27811         * gst/gstelement.c: (gst_element_class_init),
27812         (gst_element_set_base_time), (gst_element_get_base_time),
27813         (iterator_fold_with_resync), (gst_element_change_state),
27814         (gst_element_dispose), (gst_element_get_bus):
27815         * gst/gstelement.h:
27816         * gst/gstelementfactory.h:
27817         * gst/gsterror.c: (_gst_core_errors_init):
27818         * gst/gsterror.h:
27819         * gst/gstevent.h:
27820         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
27821         * gst/gstindex.c:
27822         * gst/gstinfo.c: (_gst_debug_init):
27823         * gst/gstmessage.c: (_gst_message_copy):
27824         * gst/gstmessage.h:
27825         * gst/gstminiobject.h:
27826         * gst/gstobject.c:
27827         * gst/gstobject.h:
27828         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27829         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
27830         * gst/gstpad.h:
27831         * gst/gstparse.h:
27832         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
27833         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
27834         (gst_pipeline_get_last_stream_time):
27835         * gst/gstpipeline.h:
27836         * gst/gstpluginfeature.h:
27837         * gst/gstquery.h:
27838         * gst/gstscheduler.c:
27839         * gst/gstscheduler.h:
27840         * gst/gststructure.h:
27841         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
27842         (gst_task_finalize), (gst_task_func), (gst_task_create),
27843         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
27844         (gst_task_stop), (gst_task_pause):
27845         * gst/gsttask.h:
27846         * gst/gsttypefind.h:
27847         * gst/gsttypes.h:
27848         * gst/registries/gstlibxmlregistry.c: (load_feature),
27849         (gst_xml_registry_load), (gst_xml_registry_save_feature):
27850         * gst/registries/gstxmlregistry.c:
27851         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
27852         * gst/schedulers/threadscheduler.c:
27853         * libs/gst/control/dparammanager.h:
27854         * tools/gst-inspect.c: (print_element_list),
27855         (print_plugin_features), (print_element_features):
27856         * tools/gst-xmlinspect.c: (print_element_list),
27857         (print_plugin_info), (main):
27858         Removed plugable schedulers.
27859         Removed Scheduler/Manager from elements.
27860         Removed gsttypes.h, rearranged includes.
27861         Removed dependency pad<->element, element<>pipeline, and
27862         various others,  fix includes.
27863         implement gst_pad_get_parent() with gst_object_get_parent()
27864         Make GstTask sefcontained.
27865         Fix _get_state() on GstBin, it did not return ASYNC with a 0
27866         timeout.
27867         Fix endless loop in iterator_fold_with_resync.
27868
27869
27870 2005-07-18  Wim Taymans  <wim@fluendo.com>
27871
27872         * gst/Makefile.am:
27873         * gst/gstarch.h:
27874         Remove old file.
27875
27876 2005-07-18  Wim Taymans  <wim@fluendo.com>
27877
27878         * gst/Makefile.am:
27879         No more cothreads.h
27880
27881 2005-07-18  Wim Taymans  <wim@fluendo.com>
27882
27883         * gst/cothreads.c:
27884         * gst/cothreads.h:
27885         Let's remove these.
27886
27887 2005-07-18  Wim Taymans  <wim@fluendo.com>
27888
27889         * docs/design/part-dynamic.txt:
27890         * docs/design/part-events.txt:
27891         * docs/design/part-seeking.txt:
27892         Some more docs in the works.
27893
27894         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27895         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
27896         (gst_base_transform_setcaps), (gst_base_transform_get_size),
27897         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
27898         (gst_base_transform_handle_buffer),
27899         (gst_base_transform_sink_activate_push),
27900         (gst_base_transform_src_activate_pull),
27901         (gst_base_transform_set_passthrough),
27902         (gst_base_transform_is_passthrough):
27903         Refcounting fixes.
27904
27905         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
27906         Cleanups.
27907
27908         * gst/gstevent.c: (gst_event_finalize):
27909         Set SRC to NULL.
27910
27911         * gst/gstutils.c: (gst_element_unlink),
27912         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
27913         (gst_pad_proxy_setcaps):
27914         * gst/gstutils.h:
27915         Add _get_parent_element() to get a pads parent as an element.
27916
27917 2005-07-18  Wim Taymans  <wim@fluendo.com>
27918
27919         * check/gst/gstbin.c: (GST_START_TEST):
27920         Remove bogus test.
27921
27922 2005-07-18  Wim Taymans  <wim@fluendo.com>
27923
27924         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
27925         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
27926         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
27927         (gst_base_sink_event), (gst_base_sink_do_sync),
27928         (gst_base_sink_chain), (gst_base_sink_loop),
27929         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
27930         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
27931         Refcounting fixes.
27932         Fix logic for returning ASYNC when not prerolled.
27933
27934 2005-07-18  Wim Taymans  <wim@fluendo.com>
27935
27936         * gst/gstqueue.c: (gst_queue_handle_sink_event):
27937         Fix nasty refcount bug.
27938
27939 2005-07-16 Philippe Khalaf <burger@speedy.org>
27940
27941         * gst/elements/gstfdsrc.c:
27942         * gst/elements/gstfdsrc.h:
27943         * gst/elements/gstelements.c:
27944         * gst/elements/Makefile.am:
27945         Ported fdsrc to 0.9.
27946
27947 2005-07-16  Wim Taymans  <wim@fluendo.com>
27948
27949         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27950         (gst_base_sink_do_sync):
27951         Fix compile error.
27952
27953 2005-07-16  Wim Taymans  <wim@fluendo.com>
27954
27955         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27956         (gst_base_sink_event), (gst_base_sink_get_times),
27957         (gst_base_sink_do_sync), (gst_base_sink_change_state):
27958         * gst/base/gstbasesink.h:
27959         Store and use discont values when syncing buffers as described
27960         in design docs.
27961         
27962         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
27963         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
27964         (gst_base_src_activate_push):
27965         Push discont event when starting.
27966
27967         * gst/elements/gstidentity.c: (gst_identity_transform):
27968         Small cleanups.
27969
27970         * gst/gstbin.c: (gst_bin_change_state):
27971         Small cleanups in base_time  distribution.
27972
27973         * gst/gstelement.c: (gst_element_set_base_time),
27974         (gst_element_get_base_time), (gst_element_change_state):
27975         * gst/gstelement.h:
27976         Added methods for the base_time of the element.
27977         Some MT fixes.
27978
27979         * gst/gstpipeline.c: (gst_pipeline_send_event),
27980         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
27981         (gst_pipeline_get_last_stream_time):
27982         * gst/gstpipeline.h:
27983         MT fixes.
27984         Handle seeking as described in design doc, remove stream_time
27985         hack.
27986         Cleanups clock and stream_time selection code. Added accessors
27987         for the stream_time.
27988         
27989
27990 2005-07-16  Andy Wingo  <wingo@pobox.com>
27991
27992         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
27993         (#305291).
27994
27995 2005-07-16  Wim Taymans  <wim@fluendo.com>
27996
27997         * check/gst/gstbin.c: (GST_START_TEST):
27998         Make elements silent as the deep_notify refs the
27999         parent, which might make the test fail.
28000
28001         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
28002         Don't hold the lock for too long.
28003
28004 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
28005
28006         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
28007           Don't unref the caps we passed to gst_caps_make_writable() after
28008           passing them. gst_caps_make_writable() will do that for us.
28009
28010 2005-07-15  Andy Wingo  <wingo@pobox.com>
28011
28012         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
28013         (#157311).
28014
28015         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
28016         own marshalling function for the handoff signal. Properly type the
28017         buffer as a buffer. Fixes some warnings. Should do a more general
28018         solution.
28019         (gst_identity_class_init): Plug into the right marshaller.
28020
28021 2005-07-15  Wim Taymans  <wim@fluendo.com>
28022
28023         * docs/design/part-TODO.txt:
28024         * docs/design/part-clocks.txt:
28025         * docs/design/part-element-sink.txt:
28026         * docs/design/part-events.txt:
28027         * docs/design/part-gstpipeline.txt:
28028         Updated docs, mostly DISCONT related.
28029
28030 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
28031
28032         * docs/pwg/building-pads.xml:
28033           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
28034
28035 2005-07-15  Andy Wingo  <wingo@pobox.com>
28036
28037         * tools/gst-typefind.c: Update, add copyright block.
28038
28039         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
28040         Normalize and truncate caps before fixation.
28041
28042         * gst/gstcaps.h:
28043         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
28044         discards all but the first structure from its argument.
28045
28046 2005-07-15  Wim Taymans  <wim@fluendo.com>
28047
28048         * gst/base/gstbasetransform.c: (gst_base_transform_init),
28049         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
28050         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
28051         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
28052         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
28053         (gst_base_transform_chain), (gst_base_transform_change_state),
28054         (gst_base_transform_set_passthrough),
28055         (gst_base_transform_is_passthrough):
28056         * gst/base/gstbasetransform.h:
28057         Make passthrough work using the bufferpools.
28058         Changed API a bit, subclasses have to write into a buffer
28059         provided by the base class.
28060         More debug info in nego functions.
28061         
28062         * gst/elements/gstidentity.c: (gst_identity_init),
28063         (gst_identity_transform):
28064         Port to new base class.
28065
28066 2005-07-15  Wim Taymans  <wim@fluendo.com>
28067
28068         * gst/gstmessage.c: (gst_message_new_state_changed):
28069         * tools/gst-launch.c: (event_loop), (main):
28070         Totally dump messages in -launch with the -m option.
28071         Fix message name for State messages,
28072
28073 2005-07-14  Wim Taymans  <wim@fluendo.com>
28074
28075         * gst/base/gstbasesrc.c: (gst_base_src_loop):
28076         Post error messages on errors.
28077
28078 2005-07-14  Wim Taymans  <wim@fluendo.com>
28079
28080         * gst/gstcaps.c: (gst_caps_do_simplify):
28081         Remove debug info.
28082
28083         * gst/gsterror.h:
28084         Define error for stream stopped.
28085
28086         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28087         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
28088         Do proper return values.
28089
28090         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
28091         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
28092         (gst_pad_get_range):
28093         Better return values.
28094
28095         * gst/gstpad.h:
28096         Reorganise return values, add macro to check for fatal errors.
28097
28098         * gst/gstqueue.c: (gst_queue_chain):
28099         Return proper GstFlowReturn values,
28100
28101 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
28102
28103         * docs/gst/gstreamer-sections.txt:
28104         * docs/gst/gstreamer.types:
28105         * docs/gst/tmpl/gst.sgml:
28106         * docs/gst/tmpl/gstbasesink.sgml:
28107         * docs/gst/tmpl/gstbasesrc.sgml:
28108         * docs/gst/tmpl/gstbasetransform.sgml:
28109         * docs/gst/tmpl/gstbin.sgml:
28110         * docs/gst/tmpl/gstbuffer.sgml:
28111         * docs/gst/tmpl/gstcaps.sgml:
28112         * docs/gst/tmpl/gstclock.sgml:
28113         * docs/gst/tmpl/gstcompat.sgml:
28114         * docs/gst/tmpl/gstconfig.sgml:
28115         * docs/gst/tmpl/gstelement.sgml:
28116         * docs/gst/tmpl/gstelementdetails.sgml:
28117         * docs/gst/tmpl/gstelementfactory.sgml:
28118         * docs/gst/tmpl/gstenumtypes.sgml:
28119         * docs/gst/tmpl/gsterror.sgml:
28120         * docs/gst/tmpl/gstevent.sgml:
28121         * docs/gst/tmpl/gstfakesink.sgml:
28122         * docs/gst/tmpl/gstfakesrc.sgml:
28123         * docs/gst/tmpl/gstfilesink.sgml:
28124         * docs/gst/tmpl/gstfilesrc.sgml:
28125         * docs/gst/tmpl/gstfilter.sgml:
28126         * docs/gst/tmpl/gstformat.sgml:
28127         * docs/gst/tmpl/gstghostpad.sgml:
28128         * docs/gst/tmpl/gstimplementsinterface.sgml:
28129         * docs/gst/tmpl/gstindex.sgml:
28130         * docs/gst/tmpl/gstindexfactory.sgml:
28131         * docs/gst/tmpl/gstinfo.sgml:
28132         * docs/gst/tmpl/gstiterator.sgml:
28133         * docs/gst/tmpl/gstmacros.sgml:
28134         * docs/gst/tmpl/gstmemchunk.sgml:
28135         * docs/gst/tmpl/gstminiobject.sgml:
28136         * docs/gst/tmpl/gstobject.sgml:
28137         * docs/gst/tmpl/gstpad.sgml:
28138         * docs/gst/tmpl/gstpadtemplate.sgml:
28139         * docs/gst/tmpl/gstparse.sgml:
28140         * docs/gst/tmpl/gstpipeline.sgml:
28141         * docs/gst/tmpl/gstplugin.sgml:
28142         * docs/gst/tmpl/gstpluginfeature.sgml:
28143         * docs/gst/tmpl/gstquery.sgml:
28144         * docs/gst/tmpl/gstqueue.sgml:
28145         * docs/gst/tmpl/gstregistry.sgml:
28146         * docs/gst/tmpl/gstregistrypool.sgml:
28147         * docs/gst/tmpl/gstscheduler.sgml:
28148         * docs/gst/tmpl/gstschedulerfactory.sgml:
28149         * docs/gst/tmpl/gststructure.sgml:
28150         * docs/gst/tmpl/gstsystemclock.sgml:
28151         * docs/gst/tmpl/gsttaglist.sgml:
28152         * docs/gst/tmpl/gsttagsetter.sgml:
28153         * docs/gst/tmpl/gsttrace.sgml:
28154         * docs/gst/tmpl/gsttrashstack.sgml:
28155         * docs/gst/tmpl/gsttypefind.sgml:
28156         * docs/gst/tmpl/gsttypefindfactory.sgml:
28157         * docs/gst/tmpl/gsttypes.sgml:
28158         * docs/gst/tmpl/gsturihandler.sgml:
28159         * docs/gst/tmpl/gsturitype.sgml:
28160         * docs/gst/tmpl/gstutils.sgml:
28161         * docs/gst/tmpl/gstvalue.sgml:
28162         * docs/gst/tmpl/gstversion.sgml:
28163         * docs/gst/tmpl/gstxml.sgml:
28164         * docs/libs/tmpl/gstcontrol.sgml:
28165         * docs/libs/tmpl/gstdataprotocol.sgml:
28166         * docs/libs/tmpl/gstdparam.sgml:
28167         * docs/libs/tmpl/gstdplinint.sgml:
28168         * docs/libs/tmpl/gstdpman.sgml:
28169         * docs/libs/tmpl/gstdpsmooth.sgml:
28170         * docs/libs/tmpl/gstgetbits.sgml:
28171         * docs/libs/tmpl/gstunitconvert.sgml:
28172         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
28173         (gst_push_src_base_init), (gst_push_src_class_init),
28174         (gst_push_src_init), (gst_push_src_create):
28175         * gst/base/gstpushsrc.h:
28176         * gst/elements/gstelements.c:
28177         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
28178         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
28179         (gst_fake_sink_init), (gst_fake_sink_set_property),
28180         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
28181         (gst_fake_sink_event), (gst_fake_sink_preroll),
28182         (gst_fake_sink_render), (gst_fake_sink_change_state):
28183         * gst/elements/gstfakesink.h:
28184         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
28185         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
28186         (gst_fake_src_base_init), (gst_fake_src_class_init),
28187         (gst_fake_src_init), (gst_fake_src_event_handler),
28188         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
28189         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
28190         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
28191         (gst_fake_src_create_buffer), (gst_fake_src_create),
28192         (gst_fake_src_start), (gst_fake_src_stop):
28193         * gst/elements/gstfakesrc.h:
28194         * gst/elements/gstfilesink.c: (_do_init),
28195         (gst_file_sink_base_init), (gst_file_sink_class_init),
28196         (gst_file_sink_init), (gst_file_sink_dispose),
28197         (gst_file_sink_set_location), (gst_file_sink_set_property),
28198         (gst_file_sink_get_property), (gst_file_sink_open_file),
28199         (gst_file_sink_close_file), (gst_file_sink_query),
28200         (gst_file_sink_event), (gst_file_sink_render),
28201         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
28202         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
28203         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
28204         * gst/elements/gstfilesink.h:
28205         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
28206         (gst_file_src_class_init), (gst_file_src_init),
28207         (gst_file_src_finalize), (gst_file_src_set_location),
28208         (gst_file_src_set_property), (gst_file_src_get_property),
28209         (gst_file_src_map_region), (gst_file_src_map_small_region),
28210         (gst_file_src_create_mmap), (gst_file_src_create_read),
28211         (gst_file_src_create), (gst_file_src_is_seekable),
28212         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
28213         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
28214         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
28215         (gst_file_src_uri_handler_init):
28216         * gst/elements/gstfilesrc.h:
28217           more autistic cleanliness in functions/names/defines
28218
28219 2005-07-13  Andy Wingo  <wingo@pobox.com>
28220
28221         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
28222         source couldn't negotiate.
28223
28224         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
28225         connections again.
28226
28227         * gst/gstutils.h:
28228         * gst/gstutils.c (gst_element_link_pads_filtered): New old
28229         function. I am channeling Hades. Put your boots on suckers!!!
28230
28231 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
28232
28233         * testsuite/caps/Makefile.am:
28234         * testsuite/caps/value_compare.c:
28235         * testsuite/caps/value_intersect.c:
28236         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
28237           move two testsuite apps over to the check dir
28238
28239 2005-07-12  Wim Taymans  <wim@fluendo.com>
28240
28241         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
28242         Added more debug info in the negotiate process.
28243
28244         * gst/gstmessage.h:
28245         Prepare for segment playback.
28246
28247         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
28248         Better debugging.
28249
28250         * gst/gstutils.c:
28251         Some more docs.
28252
28253         * tools/gst-launch.c: (main):
28254         NULL pipeline on errors.
28255
28256 2005-07-12  Andy Wingo  <wingo@pobox.com>
28257
28258         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
28259         not it comes from a malloc region. Make sure our copy gets freed.
28260
28261 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
28262
28263         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
28264         * check/gst/gstmessage.c: (GST_START_TEST):
28265         * check/gst/gststructure.c: (GST_START_TEST),
28266         (gst_structure_suite), (main):
28267           more testing
28268         * gst/gstelement.c: (gst_element_message_full):
28269           clean up GError and debug string now that they get copied
28270         * gst/gstmessage.c: (gst_message_new_error),
28271         (gst_message_new_warning), (gst_message_parse_error),
28272         (gst_message_parse_warning):
28273           use GST_TYPE_G_ERROR for structure_new, and take copies of
28274           arguments, so that we don't mess up refcounting
28275
28276 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
28277
28278         * check/Makefile.am:
28279           add per-test valgrind targets
28280         * check/gst-libs/gdp.c: (GST_START_TEST),
28281         (gst_data_protocol_suite), (main):
28282           clean up
28283
28284 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
28285
28286         * check/Makefile.am:
28287           instate more valgrindable tests
28288         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28289         (GST_START_TEST), (fakesrc_suite):
28290         * check/gst/gstpad.c: (GST_START_TEST):
28291         * check/gst/gststructure.c: (GST_START_TEST):
28292           fix test leaks
28293         * docs/gst/tmpl/gstminiobject.sgml:
28294         * gst/gstpad.c: (gst_pad_finalize):
28295           fix the static mutex leak
28296
28297 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28298
28299         * check/Makefile.am:
28300           add two more tests for valgrinding
28301         * check/gst/gstvalue.c: (GST_START_TEST):
28302           test refcount of deserialized buffer, found a leak
28303         * docs/gst/gstreamer-docs.sgml:
28304         * docs/gst/gstreamer-sections.txt:
28305         * docs/gst/gstreamer.types:
28306         * docs/gst/tmpl/gstminiobject.sgml:
28307           add miniobject to docs
28308         * gst/gstminiobject.c:
28309           add some docs
28310         * gst/gstvalue.c: (gst_value_deserialize_buffer),
28311         (gst_string_unwrap):
28312           fix a hard-to-find invalid write for one of the tests
28313           fix a leak for deserialized buffers
28314
28315 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28316
28317         * docs/pwg/advanced-events.xml:
28318         * docs/pwg/advanced-request.xml:
28319         * docs/pwg/advanced-scheduling.xml:
28320         * docs/pwg/appendix-porting.xml:
28321         * docs/pwg/building-boiler.xml:
28322         * docs/pwg/intro-preface.xml:
28323         * docs/pwg/other-ntoone.xml:
28324           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
28325           of example code and explanation for pad activation, loop() and
28326           getrange() functions and a bit more. Remove old comments pointing
28327           to loop-functions.
28328         * examples/pwg/Makefile.am:
28329           Add loop/getrange examples.
28330
28331 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28332
28333         * configure.ac:
28334           check for valgrind binary + some fixes
28335         * check/gst.supp:
28336           valgrind suppressions for the tests
28337         * check/Makefile.am:
28338           add a valgrind: target that valgrinds the unit tests
28339         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
28340         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
28341         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28342         * check/gst/gstghostpad.c:
28343           added some cleanup
28344         * check/gst/gstdata.c:
28345           removed
28346         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
28347         (thread_unref), (gst_mini_object_suite), (main):
28348           added
28349         * gst/gst.c: (gst_deinit):
28350         * gst/gst.h:
28351           add a method to clean up.
28352         * gst/gstsystemclock.c: (gst_system_clock_dispose),
28353         (gst_system_clock_obtain):
28354           allow for disposing the system clock.
28355         * tools/gst-launch.c: (main):
28356           deinit
28357
28358 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28359
28360         * docs/gst/tmpl/gstbasesrc.sgml:
28361         * docs/gst/tmpl/gstfakesrc.sgml:
28362         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28363         (gst_base_src_init), (gst_base_src_set_property),
28364         (gst_base_src_get_property), (gst_base_src_get_range),
28365         (gst_base_src_start):
28366         * gst/base/gstbasesrc.h:
28367           add num-buffers property
28368         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28369         (gst_fakesrc_init), (gst_fakesrc_set_property),
28370         (gst_fakesrc_get_property), (gst_fakesrc_create),
28371         (gst_fakesrc_start):
28372           remove num-buffers property
28373
28374 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28375
28376         * docs/gst/gstreamer-sections.txt:
28377         * docs/gst/tmpl/gstbasesink.sgml:
28378         * docs/gst/tmpl/gstbasesrc.sgml:
28379         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
28380         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
28381         (gst_base_sink_finalize), (gst_base_sink_set_clock),
28382         (gst_base_sink_set_property), (gst_base_sink_get_property),
28383         (gst_base_sink_handle_object), (gst_base_sink_event),
28384         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
28385         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
28386         (gst_base_sink_loop), (gst_base_sink_deactivate),
28387         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
28388         (gst_base_sink_change_state):
28389         * gst/base/gstbasesink.h:
28390         * gst/base/gstbasesrc.h:
28391         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
28392         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
28393         (gst_filesink_init):
28394           more macro splitting
28395
28396 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28397
28398         * gst/gstelement.c: (gst_element_get_bus):
28399           add debug
28400         * tools/gst-launch.c: (check_intr), (event_loop):
28401           fix bus leaks
28402
28403 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28404
28405         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
28406           fix a caps leak
28407
28408 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28409
28410         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28411         (gst_base_src_finalize):
28412           add finalize method and clean up properly
28413         * gst/gstpipeline.c: (gst_pipeline_dispose):
28414           add debug
28415
28416 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28417
28418         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
28419         (gst_bin_suite):
28420           add more things to check
28421         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
28422         * gst/gstelement.c:
28423           more debug
28424
28425 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28426
28427         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28428         (GST_START_TEST), (fakesrc_suite):
28429         * check/gst-libs/gdp.c: (GST_START_TEST):
28430         * check/gst/gst.c: (GST_START_TEST):
28431         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
28432         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28433         * check/gst/gstbus.c: (GST_START_TEST):
28434         * check/gst/gstcaps.c: (GST_START_TEST):
28435         * check/gst/gstdata.c: (GST_START_TEST):
28436         * check/gst/gstelement.c: (GST_START_TEST):
28437         * check/gst/gstghostpad.c: (GST_START_TEST):
28438         * check/gst/gstiterator.c: (GST_START_TEST):
28439         * check/gst/gstmessage.c: (GST_START_TEST):
28440         * check/gst/gstobject.c: (GST_START_TEST):
28441         * check/gst/gstpad.c: (GST_START_TEST):
28442         * check/gst/gststructure.c: (GST_START_TEST):
28443         * check/gst/gstsystemclock.c: (GST_START_TEST),
28444         (gst_systemclock_suite):
28445         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
28446         * check/gst/gstvalue.c: (GST_START_TEST):
28447         * check/pipelines/cleanup.c: (GST_START_TEST):
28448         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
28449         * check/states/sinks.c: (GST_START_TEST):
28450         * check/gstcheck.c: (gst_check_init):
28451         * check/gstcheck.h:
28452           add debugging category
28453           use GST_START_TEST now, so we add a debug line
28454
28455 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28456
28457         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
28458           add test for state change message on a bin
28459         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
28460           add another test
28461         * gst/gstbin.c: (gst_bin_init):
28462         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
28463         * gst/gstelement.c: (gst_element_post_message),
28464         (gst_element_set_state):
28465         * gst/gstelementfactory.c: (gst_element_factory_create):
28466         * gst/gstmessage.c: (gst_message_new):
28467         * gst/gstscheduler.c:
28468           various debugging additions and cleanups
28469
28470 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28471
28472         * check/Makefile.am:
28473         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
28474         (main):
28475           adding tests for elements
28476         * gst/gstelement.c: (gst_element_dispose):
28477
28478 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28479
28480         * gst/registries/gstlibxmlregistry.c: (load_feature):
28481           plug more leaks.  A simple gst_init() now is leakfree, yay.
28482
28483 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28484
28485         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
28486         (gst_xml_registry_load):
28487           plug another memleak
28488
28489 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28490
28491         * configure.ac:
28492           use GST_SET_ERROR_CFLAGS
28493         * docs/faq/cvs.xml:
28494           change to ERROR_CFLAGS
28495
28496 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28497
28498         * configure.ac:
28499           make GST_ERROR_CFLAGS overridable and re-enable Werror
28500         * docs/faq/cvs.xml:
28501           add a note about error CFLAGS
28502         * docs/gst/tmpl/gstfakesrc.sgml:
28503         * gst/elements/gstfakesrc.c:
28504           comment out some unused code
28505         * gst/gst.c: (split_and_iterate):
28506         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
28507         (load_feature):
28508           plug some memleaks
28509
28510 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
28511
28512         * common/Makefile.am:
28513         * common/gtk-doc.mak:
28514         * docs/gst/Makefile.am:
28515           factor out gtk-doc.mak
28516
28517 2005-07-07  Wim Taymans  <wim@fluendo.com>
28518
28519         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
28520         (gst_thread_scheduler_dispose):
28521         Unlock the STREAM_LOCK completely.
28522
28523 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
28524
28525         * check/Makefile.am:
28526         * check/elements/.cvsignore:
28527         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28528         (START_TEST), (fakesrc_suite), (main):
28529         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28530         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
28531         (gst_fakesrc_create), (gst_fakesrc_start):
28532         * gst/elements/gstfakesrc.h:
28533           adding a first element test
28534
28535 2005-07-07  Andy Wingo  <wingo@pobox.com>
28536
28537         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
28538         debug message.
28539
28540 2005-07-07  Wim Taymans  <wim@fluendo.com>
28541
28542         * gst/gstquery.c:
28543         * gst/gstquery.h:
28544         Remove old types
28545
28546 2005-07-07  Wim Taymans  <wim@fluendo.com>
28547
28548         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
28549         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
28550         Allow subclasses to implement their own negotiation.
28551
28552 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28553
28554         * docs/design/part-gstbin.txt:
28555         * docs/design/part-gstpipeline.txt:
28556           Update design notes to reflect the movement of
28557           responsibility for bus handling from GstPipeline to
28558           GstBin
28559
28560 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28561
28562         * configure.ac:
28563           Remove unnecessary queue2/3/4 examples.
28564
28565 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28566
28567         * examples/Makefile.am:
28568         * examples/helloworld/helloworld.c: (event_loop), (main):
28569         * examples/queue/queue.c: (event_loop), (main):
28570         * examples/queue2/queue2.c: (main):
28571           Update a couple of the examples to work again.
28572
28573         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28574         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
28575          Spelling corrections and extra debug.
28576         
28577         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
28578         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
28579         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
28580         * gst/gstbin.h:
28581         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
28582         (gst_pipeline_change_state):
28583         * gst/gstpipeline.h:
28584           Move the bus handler for children to the GstBin, and create a
28585           separate bus for receiving messages from children to the one the
28586           bus sends 'upwards' on.
28587
28588 2005-07-06  Wim Taymans  <wim@fluendo.com>
28589
28590         * gst/base/README:
28591         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28592         (gst_base_sink_handle_object), (gst_base_sink_loop),
28593         (gst_base_sink_change_state):
28594         * gst/base/gstbasesink.h:
28595         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28596         (gst_base_src_init), (gst_base_src_setcaps),
28597         (gst_base_src_getcaps), (gst_base_src_loop),
28598         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
28599         (gst_base_src_start), (gst_base_src_change_state):
28600         * gst/base/gstbasesrc.h:
28601         Make basesrc negotiate.
28602         Handle the case where preroll fails in basesink.
28603         Update README.
28604
28605 2005-07-06  Wim Taymans  <wim@fluendo.com>
28606
28607         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
28608         Implement the fixate function.
28609         Clean up acceptcaps.
28610
28611 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28612
28613         * docs/pwg/building-filterfactory.xml:
28614         * docs/pwg/pwg.xml:
28615           Remove never-written filter-factory chapter; I'll add the various
28616           base classes to part 4 ("other element types") later on.
28617
28618 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28619
28620         * docs/pwg/advanced-negotiation.xml:
28621         * docs/pwg/building-boiler.xml:
28622         * docs/pwg/building-pads.xml:
28623         * docs/pwg/pwg.xml:
28624         * examples/pwg/Makefile.am:
28625           Add a chapter on caps negotiation, simplify the original code
28626           samples a bit w.r.t. caps negotiation, add link to the advanced
28627           section. Add a bunch of examples showing different use cases of
28628           different types of caps negotiation. Upstream renegotiation isn't
28629           fully documented yet since nobody knows how that works.
28630
28631 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
28632
28633         * check/gst/gstpad.c:
28634         * check/gstcheck.c:
28635         * gst/gstpad.c: (gst_pad_get_internal_links_default):
28636           if pad has no parent, return NULL as list of internal links
28637
28638 2005-07-05  Andy Wingo  <wingo@pobox.com>
28639
28640         * gst/elements/gstfilesrc.c:
28641         * gst/elements/gstfakesrc.c: 
28642         * gst/base/gstpushsrc.c:
28643         * gst/base/gstbasesrc.h: 
28644         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
28645         
28646 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
28647
28648         * Makefile.am:
28649           better report generation target (lcov needs a patch)
28650
28651 2005-07-05  Andy Wingo  <wingo@pobox.com>
28652
28653         * gst/elements, testsuite: Null if we got it...
28654
28655 2005-07-05  Wim Taymans  <wim@fluendo.com>
28656
28657         * configure.ac:
28658         * libs/gst/dataprotocol/Makefile.am:
28659         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
28660         * libs/gst/dataprotocol/dataprotocol.h:
28661         * pkgconfig/Makefile.am:
28662         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
28663         * pkgconfig/gstreamer-dataprotocol.pc.in:
28664         Ported dataprotol to 0.9. 
28665         Added pkgconfig files.
28666
28667 2005-07-05  Andy Wingo  <wingo@pobox.com>
28668
28669         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
28670         Default to returning TRUE for the case when tranform_caps returns
28671         a fixed caps, like for identity or volume.
28672
28673         * check/gst/gstbus.c (pound_bus_with_messages): 
28674         * check/gst/gstmessage.c (START_TEST): 
28675         * check/pipelines/simple_launch_lines.c (got_handoff): Application
28676         message API change.
28677
28678         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
28679         logic weaks here: always run transform_caps, trying passthrough
28680         operation only if the original caps intersects with the transform.
28681
28682         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
28683         source and sink caps.
28684
28685         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
28686         Intersect the peer caps with the pad template before going into
28687         transform_caps.
28688         (gst_base_transform_transform_caps): More debugging.
28689
28690         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
28691         src argument.
28692
28693 2005-07-04  Edward Hervey  <edward@fluendo.com>
28694
28695         * gst/gstutils.c:
28696         * gst/gstutils.h:
28697         (gst_pad_add_*_probe): now returns the signal id for better wrapping
28698         in bindings.
28699
28700 2005-07-04  Andy Wingo  <wingo@pobox.com>
28701
28702         * check/gst/gstpad.c: Only set explicit caps on pads.
28703
28704 2005-07-01  Andy Wingo  <wingo@pobox.com>
28705
28706         * tests/network-clock.scm: Commentary update.
28707
28708         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
28709         Didn't really make sense, not implementable with basetransform,
28710         etc.
28711         (gst_identity_transform): Unref inbuf via make_writable. Feeble
28712         attempt at implementing the sync property, needs an unlock method.
28713
28714         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
28715         New func, by default returns the same caps (the identity
28716         transformation).
28717         (gst_base_transform_getcaps): Uses transform_caps to return
28718         something sensible.
28719         (gst_base_transform_setcaps): Complicated logic to get caps on
28720         both pads, even if they are different, and to call set_caps once
28721         for every time both pads get their caps set.
28722         (gst_base_transform_handle_buffer): Give the ref to the transform
28723         function. Allows in-place modification of the buffer.
28724
28725         * gst/base/gstbasetransform.h (transform_caps): New class method.
28726         Given caps on one side, what can I do on the other.
28727         (set_caps): Take two caps, one for each side of the element.
28728
28729         * gst/gstpad.h:
28730         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
28731         caps in place. This is safe because we can check the mutability of
28732         the caps, and a good idea because fixate functions are just called
28733         as a matter of last resort. (Not actually implemented.)
28734         (gst_pad_set_caps): If the caps we're setting is actually the same
28735         as the existing pad caps, just update the pointer without calling
28736         setcaps. Assert that caps is either NULL or fixed, as per the
28737         docs.
28738
28739         * gst/gstghostpad.c: Update for fixate changes.
28740
28741 2005-07-02  Andy Wingo  <wingo@pobox.com>
28742
28743         * gst/gstcaps.c:
28744         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
28745         two refcounts makes it immutable, which is enough. Doc more.
28746
28747 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
28748
28749         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
28750           Put the mini_object into GValue as a mini_object,
28751           not a gpointer, since that's how we declared
28752           the signal.
28753
28754 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28755
28756         * examples/pwg/Makefile.am:
28757           Fix buildbot again.
28758
28759 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28760
28761         * docs/pwg/building-testapp.xml:
28762           Add extra check.
28763         * examples/pwg/Makefile.am:
28764           Fix buildbot.
28765
28766 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28767
28768         * configure.ac:
28769         * examples/Makefile.am:
28770         * examples/pwg/Makefile.am:
28771         * examples/pwg/extract.pl:
28772           Enable building the PWG examples.
28773         * docs/pwg/advanced-interfaces.xml:
28774           Add URI interface stub.
28775         * docs/pwg/advanced-types.xml:
28776         * docs/pwg/other-autoplugger.xml:
28777         * docs/pwg/appendix-porting.xml:
28778         * docs/pwg/pwg.xml:
28779           Add porting guide (mostly stubs), remove autoplugging (see ADM).
28780         * docs/pwg/building-boiler.xml:
28781         * docs/pwg/building-chainfn.xml:
28782         * docs/pwg/building-pads.xml:
28783         * docs/pwg/building-props.xml:
28784         * docs/pwg/building-state.xml:
28785         * docs/pwg/building-testapp.xml:
28786           Update the building-*.xml parts for 0.9 changes. All examples
28787           code blocks compile in examples/pwg/*.
28788
28789 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28790
28791         * docs/manual/advanced-autoplugging.xml:
28792         * docs/manual/appendix-checklist.xml:
28793         * docs/manual/appendix-integration.xml:
28794         * docs/manual/highlevel-components.xml:
28795           Fix playbin/decodebin examples, update docs a bit, mention bus
28796           instead of signals in various places, mention kmplayer and
28797           kaffeine since they have a working GStreamer backend in the KDE
28798           section.
28799
28800 2005-06-30  Wim Taymans  <wim@fluendo.com>
28801
28802         * CHANGES-0.9:
28803         * docs/design/draft-ghostpads.txt:
28804         * docs/design/draft-push-pull.txt:
28805         * docs/design/draft-query.txt:
28806         * docs/design/part-TODO.txt:
28807         * docs/design/part-query.txt:
28808         Added CHANGES-0.9 doc, updated status of other docs.
28809         
28810         * gst/gstquery.h:
28811         Remove "hmm" macro
28812
28813 2005-06-30  Wim Taymans  <wim@fluendo.com>
28814
28815         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28816         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
28817         (gst_base_sink_change_state):
28818         * gst/base/gstbasesink.h:
28819         Some tweaks, only EOS and a buffer complete a preroll.
28820
28821 2005-06-30  Andy Wingo  <wingo@pobox.com>
28822
28823         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
28824         activate_push down to the internal pad as well.
28825
28826 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
28827
28828         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28829
28830         * gst/gsttaginterface.c:
28831           Some documentation fixes (#307394 and #307397).
28832
28833 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
28834
28835         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28836
28837         * gst/gstvalue.c: (gst_value_intersect_list):
28838           Fix memleak (#309125).
28839
28840 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28841
28842         * docs/manual/advanced-dataaccess.xml:
28843           Fix fakesrc example to compile; doesn't work, bug somewhere...?
28844         * docs/manual/basics-pads.xml:
28845           Add reference for filtered caps to above chapter.
28846
28847 2005-06-30  Wim Taymans  <wim@fluendo.com>
28848
28849         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
28850         (gst_bin_change_state):
28851         Probes are gone.
28852         Lame attempt at making the state change function a bit
28853         more readable.
28854
28855 2005-06-30  Wim Taymans  <wim@fluendo.com>
28856
28857         * docs/design/part-clocks.txt:
28858         * docs/design/part-element-sink.txt:
28859         * docs/design/part-events.txt:
28860         * docs/design/part-preroll.txt:
28861         * docs/design/part-states.txt:
28862         Some more tweeks and additions to the docs.
28863
28864 2005-06-30  Wim Taymans  <wim@fluendo.com>
28865
28866         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28867         (default_have_data), (gst_pad_class_init), (gst_pad_init),
28868         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
28869         (gst_pad_check_pull_range), (gst_pad_get_range),
28870         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
28871         * gst/gstpad.h:
28872         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
28873         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
28874         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
28875         (gst_pad_remove_buffer_probe):
28876         Removed atomic operations, use existing LOCK.
28877         Move exception handling out of main code path.
28878
28879 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28880
28881         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28882         (silly_return_true_function), (gst_pad_class_init),
28883         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
28884         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
28885         (gst_pad_send_event):
28886           Fix accumulator, add default value by using _emitv() instead
28887           of _emit() for signal emission.
28888
28889 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28890
28891         * docs/manual/advanced-dataaccess.xml:
28892         * examples/manual/Makefile.am:
28893           Add probe example.
28894         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
28895           Make work (??).
28896
28897 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
28898
28899         * gst/elements/gstfilesink.c: (gst_filesink_render):
28900           Simplify code so that we don't have to handle short
28901           writes and return GST_FLOW_ERROR if an error occured.
28902
28903 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28904
28905         * docs/gst/gstreamer-docs.sgml:
28906           Remove probes more.
28907
28908 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28909
28910         * docs/gst/gstreamer-sections.txt:
28911         * docs/gst/tmpl/gstpad.sgml:
28912         * docs/gst/tmpl/gstprobe.sgml:
28913         * gst/Makefile.am:
28914         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28915         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
28916         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
28917         (gst_pad_push_event), (gst_pad_send_event):
28918         * gst/gstpad.h:
28919         * gst/gstutils.c: (gst_pad_add_data_probe),
28920         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
28921         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
28922         (gst_pad_remove_buffer_probe):
28923         * gst/gstutils.h:
28924           Remove old probes, add new g-signal-based probes and some utility
28925           functions.
28926
28927 2005-06-29  Edward Hervey  <edward@fluendo.com>
28928
28929         * gst/gstelementfactory.c:
28930         * gst/gstutils.h:
28931         * gst/gstutils.c:
28932         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
28933         the definition to the header file.
28934
28935 2005-06-29  Andy Wingo  <wingo@pobox.com>
28936
28937         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
28938         plugins from the source directory.
28939
28940 2005-06-29  Wim Taymans  <wim@fluendo.com>
28941
28942         * docs/gst/tmpl/gstbuffer.sgml:
28943         * docs/gst/tmpl/gstclock.sgml:
28944         Some fixings for blantently wrong text.
28945
28946 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
28947
28948         * check/Makefile.am:
28949         * gst/gst.c: (add_path_func), (init_pre):
28950         * gst/gstregistry.c: (gst_registry_add_path):
28951           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
28952           only scan the GST_PLUGIN_PATH locations, and not add
28953           system locations
28954
28955 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
28956
28957         * docs/gst/gstreamer-sections.txt:
28958         * docs/gst/tmpl/gstbasesrc.sgml:
28959         * gst/gstelement.c:
28960         * gst/gstelement.h:
28961         * gst/gstevent.c:
28962         * gst/gstutils.c:
28963           doc fixes
28964
28965 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28966
28967         * docs/manual/advanced-autoplugging.xml:
28968           Fix autoplugging example.
28969
28970 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28971
28972         * docs/manual/advanced-autoplugging.xml:
28973         * docs/manual/mime-world.fig:
28974           Try to get autoplugging working, fix type detection. Fix text
28975           in hello-world image.
28976
28977 2005-06-29  Wim Taymans  <wim@fluendo.com>
28978
28979         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
28980         (gst_base_sink_change_state):
28981         Small debug line.
28982
28983         * gst/gstclock.h:
28984         map SIGNAL and BROADCAST to the right function.
28985
28986         * gst/gstobject.h:
28987         Remove redundant braces.
28988
28989         * gst/gstpad.c: (gst_pad_set_caps):
28990         Don't call setcaps function when reseting caps to NULL.
28991
28992         * gst/gstsystemclock.c: (gst_system_clock_dispose),
28993         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
28994         (gst_system_clock_id_unschedule):
28995         Use BROADCAST as this is what we do.
28996
28997 2005-06-29  Wim Taymans  <wim@fluendo.com>
28998
28999         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
29000         We are actually prerolling before commiting the state
29001         change. 
29002
29003 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29004
29005         * docs/manual/advanced-clocks.xml:
29006         * docs/manual/advanced-interfaces.xml:
29007         * docs/manual/advanced-metadata.xml:
29008         * docs/manual/advanced-position.xml:
29009         * docs/manual/advanced-schedulers.xml:
29010         * docs/manual/advanced-threads.xml:
29011         * docs/manual/appendix-porting.xml:
29012         * docs/manual/basics-bins.xml:
29013         * docs/manual/basics-bus.xml:
29014         * docs/manual/basics-elements.xml:
29015         * docs/manual/basics-helloworld.xml:
29016         * docs/manual/basics-pads.xml:
29017         * docs/manual/highlevel-components.xml:
29018         * docs/manual/manual.xml:
29019         * docs/manual/thread.fig:
29020           Update (until threads/scheduling) Application Development Manual;
29021           remove GstThread, add GstBus, add simple porting checklist, add
29022           documentation for tag writing, clocks, make all examples until this
29023           part compile and run.
29024         * examples/manual/Makefile.am:
29025           Update from changes to Application Development Manual; add bus
29026           example, remove thread example.
29027
29028 2005-06-28  Wim Taymans  <wim@fluendo.com>
29029
29030         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
29031         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
29032         (gst_bus_source_dispatch):
29033         Add debugging messages.
29034         Make internal methods static.
29035         Handle the case where the bus is flushed in the handler.
29036         
29037         * gst/gstelement.c: (gst_element_get_bus):
29038         Fix refcount in _get_bus();
29039
29040         * gst/gstpipeline.c: (gst_pipeline_change_state),
29041         (gst_pipeline_get_clock_func):
29042         Clock refcounting fixes.
29043         Handle the case where preroll timed out more gracefully.
29044         
29045         * gst/gstsystemclock.c: (gst_system_clock_dispose):
29046         Clean up the internal thread in dispose. This is needed
29047         for subclasses that actually get disposed.
29048         
29049         * gst/schedulers/threadscheduler.c:
29050         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
29051         (gst_thread_scheduler_dispose):
29052         Free thread pool in dispose.
29053
29054 2005-06-28  Andy Wingo  <wingo@pobox.com>
29055
29056         * tests/network-clock-utils.scm (debug, print-event): New utils.
29057
29058         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
29059         (*packet-loss*): Unified loss probability.
29060         (network-time): Report out-of-band events.
29061
29062         * tests/plot-data: Add support for out-of-band events. Hack it
29063         into this script instead of passing it down the pipe; should fix
29064         this later.
29065
29066 2005-06-28  Wim Taymans  <wim@fluendo.com>
29067
29068         * docs/gst/gstreamer.types:
29069         * docs/gst/tmpl/gstbasesrc.sgml:
29070         * docs/gst/tmpl/gstpad.sgml:
29071         Docs fixes.
29072
29073 2005-06-28  Wim Taymans  <wim@fluendo.com>
29074
29075         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29076         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
29077         (gst_proxy_pad_do_fixatecaps):
29078         Correctly proxy the check_pull_range function.
29079
29080 2005-06-28  Andy Wingo  <wingo@pobox.com>
29081
29082         * tests/network-clock.scm: Removed need for slib.
29083         
29084 2005-06-28  Wim Taymans  <wim@fluendo.com>
29085
29086         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
29087         (gst_basesink_preroll_queue_flush):
29088         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
29089         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
29090         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29091         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
29092         (gst_proxy_pad_set_property):
29093         * gst/gstpad.c:
29094         * gst/gstpad.h:
29095         * gst/gstqueue.c: (gst_queue_init):
29096         The deprecated pad loop function is removed now.
29097
29098 2005-06-28  Andy Wingo  <wingo@pobox.com>
29099
29100         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
29101         New parameters, simulate network packet loss.
29102
29103         * tests/network-clock-utils.scm: Initialize the RNG.
29104
29105 2005-06-28  Wim Taymans  <wim@fluendo.com>
29106
29107         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
29108         (gst_basesink_event), (gst_basesink_deactivate):
29109         Flushing the preroll queue always needs to unlock the waiters.
29110
29111 2005-06-28  Edward Hervey  <edward@fluendo.com>
29112
29113         * gst/gstpipeline.c: (gst_pipeline_send_event): 
29114         Wheen a seek was successful on a pipeline, set the stream_time to the
29115         seek offset in order to have a synchronized stream_time.
29116
29117 2005-06-28  Wim Taymans  <wim@fluendo.com>
29118
29119         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29120         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
29121         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
29122         (gst_proxy_pad_do_fixatecaps):
29123         Call wrapper function instead of just calling the function
29124         pointers. This takes care of any locking and whatmore.
29125
29126 2005-06-28  Wim Taymans  <wim@fluendo.com>
29127
29128         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
29129         (gst_pad_pull_range):
29130         * gst/gstpad.h:
29131         CONNECTED -> LINKED.
29132
29133 2005-06-28  Andy Wingo  <wingo@pobox.com>
29134
29135         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
29136         source-munging commit!!!
29137
29138         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
29139         (gst_object_sink): Take gpointer arguments, not GstObject --
29140         avoids casts. Like GLib.
29141
29142         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
29143         activate.
29144
29145 2005-06-27  Andy Wingo  <wingo@pobox.com>
29146
29147         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
29148         remaining buffer.
29149
29150         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
29151         returns a sorted copy of the trace list.
29152         (gst_alloc_trace_print_live): New API, only prints traces with
29153         live objects. Sort the list.
29154         (gst_alloc_trace_print_all): Sort the list.
29155         (gst_alloc_trace_print): Align columns.
29156
29157         * gst/elements/gstttypefindelement.c:
29158         * gst/elements/gsttee.c:
29159         * gst/base/gstbasesrc.c:
29160         * gst/base/gstbasesink.c:
29161         * gst/base/gstbasetransform.c:
29162         * gst/gstqueue.c: Adapt for pad activation changes.
29163
29164         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
29165         sched.
29166         (gst_pipeline_dispose): Drop ref on sched.
29167
29168         * gst/gstpad.c (gst_pad_init): Set the default activate func.
29169         (gst_pad_activate_default): Push mode by default.
29170         (pre_activate_switch, post_activate_switch): New stubs, things to
29171         do before and after switching activation modes on pads.
29172         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
29173         the pad's activate function to choose which mode to activate.
29174         Shortcut on deactivation and call the right function directly.
29175         (gst_pad_activate_pull): New API, (de)activates a pad in pull
29176         mode.
29177         (gst_pad_activate_push): New API, same for push mode.
29178         (gst_pad_set_activate_function) 
29179         (gst_pad_set_activatepull_function) 
29180         (gst_pad_set_activatepush_function): Setters for new API.
29181
29182         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
29183         Trace all miniobjects.
29184         (gst_mini_object_make_writable): Unref the arg if we copy, like
29185         gst_caps_make_writable.
29186
29187         * gst/gstmessage.c (_gst_message_initialize): No trace init.
29188
29189         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
29190         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
29191         Adapt for new pad API.
29192
29193         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
29194
29195         * gst/gstelement.h:
29196         * gst/gstelement.c (gst_element_iterate_src_pads) 
29197         (gst_element_iterate_sink_pads): New API functions.
29198         
29199         * gst/gstelement.c (iterator_fold_with_resync): New utility,
29200         should fold into gstiterator.c in some form.
29201         (gst_element_pads_activate): Simplified via use of fold and
29202         delegation of decisions to gstpad->activate.
29203
29204         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
29205         help in debugging.
29206
29207         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
29208         class once in init, like gstmessage. Didn't run into this issue
29209         but it seems correct. Don't initialize a trace, gstminiobject does
29210         that.
29211
29212         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
29213         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
29214         to the bus.
29215         (assert_live_count): New util function, uses alloc traces to check
29216         cleanup.
29217
29218         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
29219         To be modified when unlink drops the internal pad.
29220
29221 2005-06-27  Wim Taymans  <wim@fluendo.com>
29222
29223         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
29224         (gst_bin_change_state):
29225         Cleanup the get_state() function a little, make sure it
29226         iterates the same set of elements.
29227         Added stub iterate_state_order().
29228
29229 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
29230
29231         * docs/gst/gstreamer-docs.sgml:
29232         * docs/gst/gstreamer-sections.txt:
29233         * docs/gst/gstreamer.types:
29234         * docs/gst/tmpl/gstbasesink.sgml:
29235         * docs/gst/tmpl/gstbasesrc.sgml:
29236         * docs/gst/tmpl/gstbasetransform.sgml:
29237         * docs/gst/tmpl/gstelement.sgml:
29238         * docs/gst/tmpl/gstiterator.sgml:
29239         * gst/base/gstbasesrc.c:
29240         * gst/base/gstbasesrc.h:
29241         * gst/base/gstbasetransform.h:
29242         * gst/gstelement.c:
29243         * gst/gstiterator.h:
29244           adding basetransform and iterator docs
29245
29246 2005-06-27  Andy Wingo  <wingo@pobox.com>
29247
29248         * docs/design/part-activation.txt: Notes on how activation should
29249         work -- not quite implemented yet.
29250
29251 2005-06-25  Wim Taymans  <wim@fluendo.com>
29252
29253         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
29254         At least get the chain function correct, needs more
29255         fixing.
29256
29257 2005-06-25  Wim Taymans  <wim@fluendo.com>
29258
29259         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29260         (gst_basesink_handle_object), (gst_basesink_event),
29261         (gst_basesink_do_sync), (gst_basesink_handle_event),
29262         (gst_basesink_change_state):
29263         * gst/gsttask.h:
29264         Right, two problems here: ghostpads don't take locks and
29265         glib _rec_mutex_lock_full() with depth==0 still locks.
29266         Catch illegal locking and g_warn them.
29267
29268 2005-06-25  Wim Taymans  <wim@fluendo.com>
29269
29270         * check/states/sinks.c: (START_TEST), (gst_object_suite):
29271         Have to check for completion now...
29272
29273 2005-06-25  Wim Taymans  <wim@fluendo.com>
29274
29275         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29276         (gst_basesink_handle_object), (gst_basesink_event),
29277         (gst_basesink_do_sync), (gst_basesink_handle_event),
29278         (gst_basesink_change_state):
29279         * gst/gstpad.h:
29280         Unlock STREAM_LOCK whatever the recursion was.
29281
29282 2005-06-25  Wim Taymans  <wim@fluendo.com>
29283
29284         * gst/base/gstbasesink.c: (gst_basesink_set_property),
29285         (gst_basesink_preroll_queue_empty),
29286         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
29287         (gst_basesink_event), (gst_basesink_do_sync),
29288         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
29289         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
29290         (gst_basesink_change_state):
29291         Reworked the base sink, handle event and buffer serialisation
29292         correctly and removed possible deadlock.
29293         Handle EOS correctly.
29294
29295 2005-06-25  Wim Taymans  <wim@fluendo.com>
29296
29297         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
29298         (gst_pipeline_change_state):
29299         * tools/gst-launch.c: (check_intr), (event_loop), (main):
29300         Allow elements to post EOS in the state change function.
29301         Fix up -launch, make it exit the poll loop when the
29302         pipeline actually changed state.
29303         Fix up warning parsing in -launch.
29304
29305 2005-06-25  Wim Taymans  <wim@fluendo.com>
29306
29307         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
29308         (gst_tee_sink_activate):
29309         Core takes STREAM_LOCK for us now.
29310
29311 2005-06-25  Wim Taymans  <wim@fluendo.com>
29312
29313         * gst/gstelement.c: (gst_element_get_state_func),
29314         (gst_element_set_state):
29315         * gst/gstelement.h:
29316         * gst/gstmessage.c: (gst_message_parse_error),
29317         (gst_message_parse_warning):
29318         Keep track of current target state while performing a state
29319         change so that subclasses can do something interesting.
29320         Fix parsing of warning/error messages when GError is NULL.
29321
29322 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
29323
29324         * docs/gst/Makefile.am:
29325         * docs/gst/gstreamer-docs.sgml:
29326         * docs/gst/gstreamer-sections.txt:
29327         * docs/gst/gstreamer.types:
29328         * docs/gst/tmpl/gstbasesink.sgml:
29329         * docs/gst/tmpl/gstbasesrc.sgml:
29330         * docs/gst/tmpl/gstbin.sgml:
29331         * docs/gst/tmpl/gstcompat.sgml:
29332         * docs/gst/tmpl/gstfakesink.sgml:
29333         * docs/gst/tmpl/gstfakesrc.sgml:
29334         * docs/gst/tmpl/gstfilesink.sgml:
29335         * docs/gst/tmpl/gstfilesrc.sgml:
29336         * docs/gst/tmpl/gstindex.sgml:
29337         * docs/manual/appendix-quotes.xml:
29338         * gst/base/gstbasesrc.h:
29339         * gst/elements/gstfakesrc.h:
29340         * gst/gstmessage.h:
29341           start pulling in base classes and elements in our docs
29342
29343 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
29344
29345         * docs/gst/Makefile.am:
29346         * docs/libs/Makefile.am:
29347           fixed make distcheck with gtk-doc 1.3
29348
29349 2005-06-23  Wim Taymans  <wim@fluendo.com>
29350
29351         * gst/gstelement.c: (gst_element_get_state_func),
29352         (gst_element_set_state), (gst_element_change_state):
29353         When the state did not change, also report NO_PREROLL
29354         when it matters.
29355
29356 2005-06-23  Wim Taymans  <wim@fluendo.com>
29357
29358         * gst/gstpad.c: (gst_pad_event_default):
29359         * gst/gstqueue.c: (gst_queue_loop):
29360         No unsafe task pausing please.
29361
29362 2005-06-23  Wim Taymans  <wim@fluendo.com>
29363
29364         * gst/schedulers/threadscheduler.c:
29365         (gst_thread_scheduler_task_start),
29366         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
29367         Ref the task before pushing it on the threadpool. This
29368         makes sure that we have a ref when the threadfunction is
29369         actually called.
29370
29371 2005-06-23  Andy Wingo  <wingo@pobox.com>
29372
29373         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
29374         offset is greater than the file's size.
29375
29376         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
29377         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
29378         * gst/gstobject.c (gst_object_class_init): Make the class lock
29379         recursive. Wim won't let me drop deep_notify. Decodebin works
29380         again, whoopdy doo.
29381
29382         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
29383         internal pad, and hacks accordingly. Doesn't do it on the target
29384         pad because we change its caps. Probably catches all cases of
29385         interest tho.
29386         (gst_ghost_pad_set_property): Connect to notify::caps as
29387         appropritate.
29388
29389         * tests/network-clock.scm (plot-simulation): Pipe data to the
29390         elite python skript.
29391
29392         * tests/network-clock-utils.scm (define-parameter): New macro,
29393         defines a parameter that can be set via the command line.
29394         (set-parameter!, parse-parameter-arguments): Command line args
29395         parser.
29396
29397         * tests/plot-data: Simple matplotlib-based plotter, takes input on
29398         stdin.
29399
29400 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
29401
29402         * gst/elements/gsttypefindelement.c:
29403         (gst_type_find_element_handle_event):
29404           Don't restart typefinding on a discont.
29405         * gst/gstelement.c: (gst_element_set_state):
29406           Debug spelling fix.
29407         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
29408           Allow changing mode of an active pad.
29409           Debug output fixes.
29410         * gst/registries/gstlibxmlregistry.c: (load_feature):
29411           Don't cast a static pad template to a normal pad template.
29412
29413 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
29414
29415         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29416         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29417           remove gst_strtoll completely, since it didn't actually do
29418           anything more than what g_ascii_strtoull already does.
29419           check for range errors when deserializing
29420           do a cast for the unsigned cases; but further fixing needs
29421           a decision on what the interpretation of "(int)" and
29422           deserialization should be for values that fall outside the
29423           type's boundaries (ie, refuse, or interpret as casting)
29424
29425 2005-06-23  Wim Taymans  <wim@fluendo.com>
29426
29427         * check/Makefile.am:
29428         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
29429         * docs/design/part-live-source.txt:
29430         * docs/design/part-states.txt:
29431         * gst/base/gstbasesrc.c: (gst_basesrc_init),
29432         (gst_basesrc_set_live), (gst_basesrc_is_live),
29433         (gst_basesrc_get_range), (gst_basesrc_activate),
29434         (gst_basesrc_change_state):
29435         * gst/base/gstbasesrc.h:
29436         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
29437         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
29438         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
29439         * gst/gstelement.c: (gst_element_get_state_func),
29440         (gst_element_set_state):
29441         * gst/gstelement.h:
29442         * gst/gsttypes.h:
29443         * tools/gst-launch.c: (event_loop), (main):
29444         Added support for live sources and other elements that
29445         cannot do preroll.
29446         Updated design docs, added live-source design doc.
29447         Implemented live source functionality in basesrc
29448         Fix error condition in _bin_get_state()
29449         Implement live source handling in -launch.
29450         Added check for live sources.
29451         Fixed case in GstBin where elements were changed state
29452         multiple times.
29453
29454
29455 2005-06-23  Andy Wingo  <wingo@pobox.com>
29456
29457         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
29458         borken refcounting.
29459
29460         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
29461         gst_caps_replace takes care of this for us.
29462
29463         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
29464         gst_pad_set_caps on the target, not just its setcaps() function.
29465
29466         * tests/network-clock.scm: 
29467         * tests/network-clock-utils.scm: A network clock simulator.
29468         Something of an algorithmic testbed before doing something in C.
29469
29470 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29471
29472         * check/Makefile.am:
29473         * check/gst/capslist.h:
29474           copy over from 0.8, and add two with bitmasks specified with
29475           (int) 0xFF...
29476         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29477           add test to parse everything from capslist.h
29478         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
29479         (main):
29480           add test for structure deserialization
29481         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29482           add tests for deserialization of strings to int types
29483         * gst/gststructure.c: (gst_structure_nth_field_name):
29484         * gst/gststructure.h:
29485           add a way to get the name of a field referenced by index
29486         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29487           instead of checking if the resulting long long lies between
29488           min and max, we check if the long long would fit into
29489           a number of bytes for the final type.
29490           This fixes cases where a string represents 2^32 - 1, which
29491           when cast to int would be the (valid) -1, but is bigger than
29492           G_MAXINT
29493
29494 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29495
29496         * gst/parse/grammar.y:
29497           add a log line for type deserialization
29498
29499 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29500
29501         * check/gst/gstvalue.c: (START_TEST):
29502         * gst/gstvalue.c: (gst_value_deserialize):
29503           return long long, not int, so gint64 deserialization actually
29504           works.  Is there any flag that makes the compiler check this ?
29505           Fixes #308559
29506
29507 2005-06-22  Wim Taymans  <wim@fluendo.com>
29508
29509         * gst/gstbuffer.h:
29510         Added convenience macros for setting buffers in GValue.
29511
29512 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
29513
29514         * check/gst/.cvsignore:
29515         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29516           add a test deserializing int64, and comment part out because
29517           it fails, yay !
29518
29519 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
29520
29521         * check/Makefile.am:
29522         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
29523         * testsuite/Makefile.am:
29524         * testsuite/caps/Makefile.am:
29525         * testsuite/caps/value_serialize.c:
29526         * testsuite/test_gst_init.c:
29527           move a value_serialize test over
29528
29529 2005-06-20  Wim Taymans  <wim@fluendo.com>
29530
29531         * gst/gstpad.c:
29532         Small doc updates.
29533         
29534         * gst/gstvalue.c: (gst_value_compare_buffer),
29535         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
29536         (gst_value_compare_flags), (gst_value_serialize_flags),
29537         (gst_value_deserialize_flags), (_gst_value_initialize):
29538         Fix serialisation of buffers, they are not boxed types anymore
29539
29540 2005-06-20  Wim Taymans  <wim@fluendo.com>
29541
29542         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29543         Testcase to show error in buffer-on-caps serialisation.
29544
29545 2005-06-20  Andy Wingo  <wingo@pobox.com>
29546
29547         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
29548         will be adding to later.
29549
29550         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
29551         if its socks fill with rocks.
29552         (gst_system_clock_obtain): Set the name on object construction.
29553         Avoid double-checked locking.
29554
29555 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
29556
29557         * gst/gsturi.c: (gst_element_make_from_uri):
29558           Fix potential endless loop.
29559
29560 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29561
29562         * check/Makefile.am:
29563           add gsttag
29564         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
29565         (main):
29566           move over from testsuite dir and clean up
29567         * configure.ac:
29568         * gst/gsttag.c:
29569         * testsuite/Makefile.am:
29570         * testsuite/tags/.cvsignore:
29571         * testsuite/tags/Makefile.am:
29572         * testsuite/tags/merge.c:
29573           remove testsuite/tags
29574
29575 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29576
29577         * docs/gst/gstreamer-sections.txt:
29578         * docs/gst/tmpl/gstenumtypes.sgml:
29579         * win32/gstenumtypes.c:
29580           clean up documentation build a little
29581
29582 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29583
29584         * check/gstcheck.h:
29585           add macros for checking refcounts on objects and caps
29586         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
29587           add some more unit tests
29588         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
29589         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
29590           fix leaked refcounts (I hope :)) so unittest works
29591         * gst/gstpad.h:
29592           whitespace removal
29593
29594 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29595
29596         * configure.ac: back to HEAD
29597
29598 === release 0.9.1 ===
29599
29600 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
29601
29602         * NEWS:
29603         * RELEASE:
29604           updated
29605
29606 2005-06-17  Andy Wingo  <wingo@pobox.com>
29607
29608         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
29609         assert; it's always possible that the pad gets deactivated in
29610         between the checks in gstpad.c and the implementation. Rely on
29611         finish_preroll() to return a FLUSHING or similar instead of on the
29612         assert.
29613         
29614         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
29615         clock and post an EOS message if we come out of finish_preroll in
29616         the playing state.
29617
29618 2005-06-16  David Schleef  <ds@schleef.org>
29619
29620         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
29621         (gst_capsfilter_set_property): Allow NULL as possible value
29622         for filter_caps property, indicating GST_CAPS_ANY.
29623
29624 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
29625
29626         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
29627           fix debug output
29628         * gst/schedulers/Makefile.am:
29629           use libgst prefix
29630         * gstreamer.spec.in:
29631           fix spec for it
29632
29633 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
29634
29635         * gstreamer.spec.in:
29636           clean up
29637
29638 2005-06-08  Andy Wingo  <wingo@pobox.com>
29639
29640         * gst/gstutils.c: RPAD fixes all around.
29641         (gst_element_link_pads): Refcounting fixes.
29642
29643         * tools/gst-inspect.c:
29644         * tools/gst-xmlinspect.c:
29645         * parse/grammar.y:
29646         * gst/base/gsttypefindhelper.c:
29647         * gst/base/gstbasesink.c:
29648         * gst/gstqueue.c: RPAD fixes.
29649
29650         * gst/gstghostpad.h:
29651         * gst/gstghostpad.c: New ghost pad implementation as full proxy
29652         pads. The tricky thing is they provide both source and sink
29653         interfaces, since they proxy the internal pad for the external
29654         pad, and vice versa. Implement with lower-level ProxyPad objects,
29655         with the interior proxy pad as a child of the exterior ghost pad.
29656         Should write a doc on this.
29657         
29658         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
29659         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
29660         gst_object API.
29661         
29662         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
29663         pads are real pads. No ghost pads in this file. Not documenting
29664         the myriad s/RPAD/PAD/ and REALIZE fixes.
29665         (gst_pad_class_init): Add properties for "direction" and
29666         "template". Both are construct-only, so they can't change during
29667         the life of the pad. Fixes properly deriving from GstPad.
29668         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
29669         derived objects, just set properties when creating the objects via
29670         g_object_new.
29671         (gst_pad_get_parent): Implement as a function, return NULL if the
29672         parent is not an element.
29673         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
29674         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
29675         
29676         * gst/gstobject.c (gst_object_class_init): Make name a construct
29677         property. Don't set it in the object init.
29678
29679         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
29680         with UNKNOWN direction.
29681         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
29682         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
29683         (gst_element_remove_pad): Remove ghost-pad special cases.
29684         (gst_element_pads_activate): Remove rpad cruft.
29685
29686         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
29687         catch the pad's-parent-not-an-element case.
29688
29689         * gst/gst.h: Include gstghostpad.h.
29690
29691         * gst/gst.c (init_post): No more real, ghost pads.
29692
29693         * gst/Makefile.am: Add gstghostpad.[ch].
29694
29695         * check/Makefile.am:
29696         * check/gst/gstbin.c:
29697         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
29698         into a bin creates ghost pads, and that the refcounts are right.
29699         Partly moved from gstbin.c.
29700
29701 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29702
29703         * check/gst-libs/.cvsignore:
29704         * check/gst/.cvsignore:
29705         * check/pipelines/.cvsignore:
29706           ignore more
29707         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
29708         (START_TEST), (cleanup_suite), (main):
29709           add some tests related to cleanup after running pipelines
29710
29711 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29712
29713         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
29714           add a testsuite for GstBuffer
29715
29716 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29717
29718         * gst/gstminiobject.h:
29719           add defines for accessing the refcount
29720
29721 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
29722
29723         * Makefile.am: added support for html unit test coverage reports
29724
29725 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
29726
29727         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
29728           Free existing caps if the capsfilter changes. Add a FIXME about
29729           setting those caps on the pads.
29730
29731         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
29732           Before adding a ghost pad to a parent bin, check that there isn't
29733           already one for the element on the bin. Prevents infinite recursion
29734           when using decodebin in parse pipelines. Andy says he'll rewrite the
29735           way this works anyway, so ignore the hack.
29736
29737 2005-06-02  Andy Wingo  <wingo@pobox.com>
29738
29739         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
29740         file size, pass it on to the type find helper.
29741
29742         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
29743         segment_start and segment_end properly according to the seek
29744         method. Segment_end is still a bit flaky because offset can be
29745         negative for CUR and END cases, but it takes -1 as an "unset"
29746         value.
29747
29748 2005-06-02  Wim Taymans  <wim@fluendo.com>
29749
29750         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
29751         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
29752         (gst_basesink_activate):
29753         * gst/base/gstbasesink.h:
29754         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29755         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29756         (gst_pad_query), (gst_pad_start_task):
29757         * gst/gstpad.h:
29758         * gst/gstqueue.c: (gst_queue_bufferalloc),
29759         (gst_queue_handle_sink_event), (gst_queue_chain):
29760         Bufferalloc: return GstFlowReturn to more accuratly report
29761         why allocation failed.
29762
29763 2005-06-02  Wim Taymans  <wim@fluendo.com>
29764
29765         * gst/gstpipeline.c: (gst_pipeline_send_event):
29766         Take snapshot of state without blocking.
29767
29768 2005-06-02  Wim Taymans  <wim@fluendo.com>
29769
29770         * docs/design/part-TODO.txt:
29771         * docs/design/part-caps.txt:
29772         * docs/design/part-clocks.txt:
29773         * docs/design/part-negotiation.txt:
29774         * docs/design/part-preroll.txt:
29775         Small doc updates 
29776
29777 2005-05-30  Wim Taymans  <wim@fluendo.com>
29778
29779         * gst/elements/gstidentity.c: (gst_identity_event),
29780         (gst_identity_transform), (gst_identity_get_property):
29781         Protect last_message property as it is accessed from
29782         multiple threads.
29783
29784 2005-05-30  Wim Taymans  <wim@fluendo.com>
29785
29786         * gst/gstelement.c: (gst_element_init),
29787         (gst_element_pads_activate), (gst_element_change_state):
29788         Slicker pad activation code.
29789
29790 2005-05-30  Wim Taymans  <wim@fluendo.com>
29791
29792         * gst/Makefile.am:
29793         * gst/gstelement.h:
29794         * gst/gstelementfactory.h:
29795         * gst/gsttypes.h:
29796         Move elementfactory methods to separate .h file.
29797
29798 2005-05-30  Wim Taymans  <wim@fluendo.com>
29799
29800         * docs/design/part-overview.txt:
29801         * gst/gstsystemclock.h:
29802         Small typo fixes, doc updates.
29803
29804 2005-05-30  Wim Taymans  <wim@fluendo.com>
29805
29806         * gst/gst.c: (gst_init_get_popt_table), (init_post),
29807         (init_popt_callback):
29808         Remove cpu-opt flag.
29809
29810 2005-05-30  Wim Taymans  <wim@fluendo.com>
29811
29812         * gst/gstbuffer.c: (gst_subbuffer_finalize),
29813         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
29814         * gst/gstbuffer.h:
29815         Avoid typechecking in places where not needed.
29816         Added accessor for malloc_data.
29817
29818 2005-05-30  Wim Taymans  <wim@fluendo.com>
29819
29820         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
29821         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
29822         (gst_pad_configure_sink), (gst_pad_configure_src),
29823         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
29824         (gst_pad_start_task):
29825         Propagate errors from _set_caps() in configure_src/sink
29826         functions instead of returning TRUE.
29827         FLUSH events can travel up and downstream
29828
29829
29830 2005-05-30  Wim Taymans  <wim@fluendo.com>
29831
29832         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
29833         (gst_basesink_activate):
29834         Handle EOS in preroll.
29835
29836 2005-05-30  Wim Taymans  <wim@fluendo.com>
29837
29838         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
29839         (gst_queue_loop), (gst_queue_handle_src_event):
29840         Remove old pieces of code
29841         Flushing the queue in an upstream event is a very bad idea.
29842
29843 2005-05-26  Andy Wingo  <wingo@pobox.com>
29844
29845         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
29846         gst_value_set_mini_object so as to add a ref on the object (which
29847         will be removed when the value is unset).
29848
29849         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
29850         arg type in ::handoff.
29851
29852         * gst/gstelement.c (gst_element_change_state): Also deactivate
29853         pads in READY->NULL, just in case the element didn't make it to
29854         PAUSED. Wingo tested, Wim approved.
29855
29856 2005-05-26  Wim Taymans  <wim@fluendo.com>
29857
29858         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29859         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29860         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
29861         A flushing pad cannot be used to alloc_buffer from.
29862
29863 2005-05-26  Wim Taymans  <wim@fluendo.com>
29864
29865         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
29866         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
29867         (gst_bus_source_dispatch), (gst_bus_source_finalize),
29868         (gst_bus_create_watch), (gst_bus_add_watch_full):
29869         * gst/gstbus.h:
29870         Implement a real GSource and use g_main_context_wakeup() to
29871         signal new messages instead of the socketpair.
29872
29873 2005-05-25  Wim Taymans  <wim@fluendo.com>
29874
29875         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
29876         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
29877         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29878         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
29879         (gst_pad_send_event), (gst_pad_start_task):
29880         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
29881         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
29882         (gst_queue_sink_activate), (gst_queue_src_activate),
29883         (gst_queue_change_state):
29884         * gst/gstqueue.h:
29885         Fix state changes for non sinks. We now change sinks, then elements
29886         with unconnected srcpads, then the rest.
29887         More efficient queue unlocking in flush and state changes.
29888         Set the pad activate mode even if it does not have an activate
29889         function.
29890
29891 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29892
29893         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
29894           Don't go in pull mode for non-seekable sources.
29895         * gst/elements/gsttypefindelement.h:
29896         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
29897         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
29898         (free_entry), (stop_typefinding),
29899         (gst_type_find_element_handle_event), (find_peek),
29900         (gst_type_find_element_chain), (do_pull_typefind),
29901         (gst_type_find_element_change_state):
29902           Allow typefinding (w/o seeking) in push-mode, simplified version
29903           of what was in 0.8.
29904         * gst/gstutils.c: (gst_buffer_join):
29905         * gst/gstutils.h:
29906           gst_buffer_join() from 0.8.
29907
29908 2005-05-25  Wim Taymans  <wim@fluendo.com>
29909
29910         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29911         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
29912         (gst_pad_send_event), (gst_pad_start_task):
29913         Disable attempt at mode switching until it is figured out.
29914
29915 2005-05-25  Wim Taymans  <wim@fluendo.com>
29916
29917         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
29918         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
29919         (gst_basesink_finish_preroll), (gst_basesink_chain),
29920         (gst_basesink_loop), (gst_basesink_activate),
29921         (gst_basesink_change_state):
29922         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
29923         (gst_basesrc_get_range), (gst_basesrc_loop),
29924         (gst_basesrc_activate):
29925         * gst/elements/gsttee.c: (gst_tee_sink_activate):
29926         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
29927         (gst_real_pad_init), (gst_real_pad_set_property),
29928         (gst_real_pad_get_property), (gst_pad_set_active),
29929         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
29930         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
29931         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
29932         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
29933         (gst_pad_event_default_dispatch), (gst_pad_event_default),
29934         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
29935         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
29936         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
29937         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
29938         (gst_pad_stop_task):
29939         * gst/gstpad.h:
29940         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
29941         (gst_queue_loop), (gst_queue_src_activate):
29942         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
29943         (gst_task_get_state):
29944         * gst/gsttask.h:
29945         * gst/schedulers/threadscheduler.c:
29946         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
29947         Implement gst_pad_pause/start/stop_task(), take STREAM lock
29948         in task function.
29949         Remove ACTIVE pad flag, use FLUSHING everywhere
29950         Added _pad_chain(), _pad_get_range() to call chain/getrange 
29951         functions.
29952         Add locks around IS_FLUSHING when reading.
29953         Take STREAM lock in chain(), get_range() functions so plugins
29954         don't need to take it anymore.
29955         
29956
29957
29958 2005-05-25  Wim Taymans  <wim@fluendo.com>
29959
29960         * tools/gst-launch.c: (event_loop):
29961         Unref message after using its contents instead of
29962         before.
29963
29964 2005-05-24  Wim Taymans  <wim@fluendo.com>
29965
29966         * docs/design/draft-ghostpads.txt:
29967         * docs/design/draft-push-pull.txt:
29968         * docs/design/draft-query.txt:
29969         * docs/design/part-overview.txt:
29970         Docs updates, added general overview doc.
29971
29972 2005-05-21  David Schleef  <ds@schleef.org>
29973
29974         * docs/gst/tmpl/old/GstBin.sgml:
29975         * docs/gst/tmpl/old/GstBuffer.sgml:
29976         * docs/gst/tmpl/old/GstCaps.sgml:
29977         * docs/gst/tmpl/old/GstClock.sgml:
29978         * docs/gst/tmpl/old/GstCompat.sgml:
29979         * docs/gst/tmpl/old/GstData.sgml:
29980         * docs/gst/tmpl/old/GstElement.sgml:
29981         * docs/gst/tmpl/old/GstEvent.sgml:
29982         * docs/gst/tmpl/old/GstIndex.sgml:
29983         * docs/gst/tmpl/old/GstStructure.sgml:
29984         * docs/gst/tmpl/old/GstTag.sgml:
29985         * docs/gst/tmpl/old/cothreads.sgml:
29986         * docs/gst/tmpl/old/cothreads_compat.sgml:
29987         * docs/gst/tmpl/old/gettext.sgml:
29988         * docs/gst/tmpl/old/gobject2gtk.sgml:
29989         * docs/gst/tmpl/old/grammar.tab.sgml:
29990         * docs/gst/tmpl/old/gst-i18n-app.sgml:
29991         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
29992         * docs/gst/tmpl/old/gst_private.sgml:
29993         * docs/gst/tmpl/old/gstaggregator.sgml:
29994         * docs/gst/tmpl/old/gstarch.sgml:
29995         * docs/gst/tmpl/old/gstatomic_impl.sgml:
29996         * docs/gst/tmpl/old/gstbufferstore.sgml:
29997         * docs/gst/tmpl/old/gstdata_private.sgml:
29998         * docs/gst/tmpl/old/gstdisksink.sgml:
29999         * docs/gst/tmpl/old/gstdisksrc.sgml:
30000         * docs/gst/tmpl/old/gstelementfactory.sgml:
30001         * docs/gst/tmpl/old/gstextratypes.sgml:
30002         * docs/gst/tmpl/old/gstfakesink.sgml:
30003         * docs/gst/tmpl/old/gstfakesrc.sgml:
30004         * docs/gst/tmpl/old/gstfdsink.sgml:
30005         * docs/gst/tmpl/old/gstfdsrc.sgml:
30006         * docs/gst/tmpl/old/gstfilesink.sgml:
30007         * docs/gst/tmpl/old/gstfilesrc.sgml:
30008         * docs/gst/tmpl/old/gsthttpsrc.sgml:
30009         * docs/gst/tmpl/old/gstidentity.sgml:
30010         * docs/gst/tmpl/old/gstindexfactory.sgml:
30011         * docs/gst/tmpl/old/gstmarshal.sgml:
30012         * docs/gst/tmpl/old/gstmd5sink.sgml:
30013         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
30014         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
30015         * docs/gst/tmpl/old/gstpadtemplate.sgml:
30016         * docs/gst/tmpl/old/gstpipefilter.sgml:
30017         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
30018         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
30019         * docs/gst/tmpl/old/gstshaper.sgml:
30020         * docs/gst/tmpl/old/gstspider.sgml:
30021         * docs/gst/tmpl/old/gstspideridentity.sgml:
30022         * docs/gst/tmpl/old/gststatistics.sgml:
30023         * docs/gst/tmpl/old/gsttee.sgml:
30024         * docs/gst/tmpl/old/gsttimecache.sgml:
30025         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
30026         * docs/gst/tmpl/old/gstxmlregistry.sgml:
30027         * docs/gst/tmpl/old/gthread-cothreads.sgml:
30028         * docs/gst/tmpl/old/types.sgml:
30029           I didn't intend to add these or check them in.
30030
30031 2005-05-19  David Schleef  <ds@schleef.org>
30032
30033         * configure.ac: Use -no-common everywhere.  In a sane world, it
30034           would be the default in libtool, because without it, you can't
30035           build DLLs on Windows.
30036         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
30037         * docs/gst/gstreamer-sections.txt:
30038         * docs/gst/tmpl/gstcpu.sgml:
30039         * docs/gst/tmpl/gstdata.sgml:
30040         * docs/gst/tmpl/gstthread.sgml:
30041
30042 2005-05-19  David Schleef  <ds@schleef.org>
30043
30044         * gst/gstminiobject.c: (gst_value_set_mini_object),
30045         (gst_value_take_mini_object), (gst_value_get_mini_object):
30046         * gst/gstminiobject.h: Add GValue set/get functions.
30047
30048 2005-05-19  Wim Taymans  <wim@fluendo.com>
30049
30050         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
30051         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
30052         (gst_subbuffer_init), (gst_buffer_is_span_fast):
30053         * gst/gstbuffer.h:
30054         * gst/gstbus.c: (gst_bus_post):
30055         * gst/gstelement.c: (gst_element_get_random_pad):
30056         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
30057         Make subbufer unref the parent in finalize.
30058         some more debugging info.
30059
30060
30061 2005-05-19  Wim Taymans  <wim@fluendo.com>
30062
30063         * gst/base/gstbasesink.c: (gst_basesink_class_init),
30064         (gst_basesink_init), (gst_basesink_finalize),
30065         (gst_basesink_activate), (gst_basesink_change_state):
30066         Don't free preroll queue too early.
30067
30068 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30069
30070         * gst/Makefile.am:
30071         * gst/ROADMAP:
30072           Hi, I'm outdated. Please shoot me.
30073
30074 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30075
30076         * gst/gstpipeline.c: (gst_pipeline_send_event):
30077           Do not access variables after they have been deleted.
30078
30079 2005-05-19  Wim Taymans  <wim@fluendo.com>
30080
30081         * tools/gst-inspect.c: (print_plugin_features):
30082         A plugin feature does unfortunatly not use the
30083         object name yet...
30084
30085 2005-05-18  Wim Taymans  <wim@fluendo.com>
30086
30087         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
30088         Port _span() functions to new subbuffers.
30089
30090 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30091
30092         * gst/gstbin.c: (gst_bin_add_func):
30093           Fix clock settery in bins when adding kids after the clock has
30094           been selected.
30095
30096 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30097
30098         * gst/elements/gstidentity.c: (gst_identity_class_init):
30099           Workaround until signals support GstMiniObject.
30100
30101 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
30102
30103         * gst/gstbuffer.c:
30104         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
30105
30106 2005-05-18  Wim Taymans  <wim@fluendo.com>
30107
30108         * gst/base/Makefile.am:
30109         * gst/base/gstadapter.c: (gst_adapter_base_init),
30110         (gst_adapter_class_init), (gst_adapter_init),
30111         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
30112         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
30113         (gst_adapter_flush), (gst_adapter_available),
30114         (gst_adapter_available_fast):
30115         * gst/base/gstadapter.h:
30116         Ported and added adapter to the base classes.
30117
30118 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
30119
30120         * gst/gst.c:
30121         * gst/gstmessage.c:
30122           Make sure the class is reffed/unreffed once before threads can be
30123           used.  Fixes #304551.
30124
30125 2005-05-17  Wim Taymans  <wim@fluendo.com>
30126
30127         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
30128         (gst_basesink_chain_unlocked), (gst_basesink_activate):
30129         * gst/gstminiobject.c: (gst_mini_object_get_type),
30130         (gst_mini_object_free):
30131         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
30132         (gst_pad_push), (gst_pad_push_event):
30133         * gst/gstqueue.c: (gst_queue_change_state):
30134         Don't queue buffers in basesink when we are flushing.
30135         Unref buffer when flushing in basesink.
30136         Flush queue when going to READY
30137         Unref buffer when _push() returns an error.
30138         Don't free MiniObject instance when refcount is incremented
30139         in _finalize() so that we can recover objects.
30140
30141 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
30142
30143         * docs/manual/advanced-schedulers.xml:
30144         * docs/manual/appendix-checklist.xml:
30145         * docs/pwg/advanced-clock.xml:
30146         * docs/pwg/advanced-interfaces.xml:
30147         * docs/pwg/advanced-request.xml:
30148         * docs/pwg/advanced-types.xml:
30149         * docs/pwg/intro-preface.xml:
30150         * examples/plugins/example.c: (gst_example_get_type),
30151         (gst_example_class_init), (gst_example_chain),
30152         (gst_example_set_property), (gst_example_get_property),
30153         (gst_example_change_state), (plugin_init):
30154         * examples/plugins/example.h:
30155           small doc fixes
30156
30157 2005-05-17  Wim Taymans  <wim@fluendo.com>
30158
30159         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
30160         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
30161         * gst/gstqueue.c: (gst_queue_change_state):
30162         Clear queue when going to READY.
30163         Remove IN_SETCAPS flag too.
30164
30165 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
30166
30167         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
30168           Remove implicit cast from gboolean to GstElementStateReturn;
30169           make sure we still return failure in paused => ready case if
30170           the parent class fails to change state and our own stop 
30171           vfunc succeeds.
30172
30173 2005-05-17  Wim Taymans  <wim@fluendo.com>
30174
30175         * tools/gst-launch.c: (event_loop):
30176         Message was unreffed too soon.
30177
30178 2005-05-16  Andy Wingo  <wingo@pobox.com>
30179
30180         * gst/gstbin.c (sink_iterator_filter): Err... um...
30181
30182         * check/gst/gstbin.c (test_ghost_pads): New test for the
30183         ghosting-if-elements-not-in-same-bin behavior.
30184
30185 2005-05-16  David Schleef  <ds@schleef.org>
30186
30187         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
30188         accessing refcount directly.
30189
30190 2005-05-15  David Schleef  <ds@schleef.org>
30191
30192         * check/Makefile.am: remove GstData checks
30193         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
30194         * gst/Makefile.am: add miniobject, remove data
30195         * gst/gst.h: add miniobject, remove data
30196         * gst/gstdata.c: remove
30197         * gst/gstdata.h: remove
30198         * gst/gstdata_private.h: remove
30199         * gst/gsttypes.h: remove GstEvent and GstMessage
30200         * gst/gstelement.c: (gst_element_post_message): fix for API changes
30201         * gst/gstmarshal.list: change BOXED -> OBJECT
30202
30203         Implement GstMiniObject.
30204         * gst/gstminiobject.c:
30205         * gst/gstminiobject.h:
30206
30207         Modify to be subclasses of GstMiniObject.
30208         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
30209         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
30210         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
30211         (gst_subbuffer_get_type), (gst_subbuffer_init),
30212         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
30213         (gst_buffer_span):
30214         * gst/gstbuffer.h:
30215         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
30216         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
30217         (_gst_event_copy), (gst_event_new):
30218         * gst/gstevent.h:
30219         * gst/gstmessage.c: (_gst_message_initialize),
30220         (gst_message_get_type), (gst_message_class_init),
30221         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
30222         (gst_message_new), (gst_message_new_error),
30223         (gst_message_new_warning), (gst_message_new_tag),
30224         (gst_message_new_state_changed), (gst_message_new_application):
30225         * gst/gstmessage.h:
30226         * gst/gstprobe.c: (gst_probe_perform),
30227         (gst_probe_dispatcher_dispatch):
30228         * gst/gstprobe.h:
30229         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
30230         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
30231         (_gst_query_copy), (gst_query_new):
30232
30233         Update elements for GstData -> GstMiniObject changes
30234         * gst/gstquery.h:
30235         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
30236         (gst_queue_chain), (gst_queue_loop):
30237         * gst/elements/gstbufferstore.c:
30238         (gst_buffer_store_add_buffer_func),
30239         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
30240         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30241         (gst_fakesink_render):
30242         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
30243         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
30244         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
30245         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
30246         (gst_filesrc_create_read):
30247         * gst/elements/gstidentity.c: (gst_identity_class_init):
30248         * gst/elements/gsttypefindelement.c:
30249         (gst_type_find_element_src_event), (free_entry_buffers),
30250         (gst_type_find_element_handle_event):
30251         * libs/gst/dataprotocol/dataprotocol.c:
30252         (gst_dp_header_from_buffer):
30253         * libs/gst/dataprotocol/dataprotocol.h:
30254         * libs/gst/dataprotocol/dp-private.h:
30255
30256 2005-05-15  David Schleef  <ds@schleef.org>
30257
30258         * gst/elements/gstelements.c: Don't include headers that were
30259         just removed.
30260
30261 2005-05-15  David Schleef  <ds@schleef.org>
30262
30263         * gst/elements/Makefile.am: Remove some elements that don't
30264         need to be in the core (or even exist at all).
30265         * gst/elements/gstaggregator.c:
30266         * gst/elements/gstaggregator.h:
30267         * gst/elements/gstmd5sink.c:
30268         * gst/elements/gstmd5sink.h:
30269         * gst/elements/gstmultifilesrc.c:
30270         * gst/elements/gstmultifilesrc.h:
30271         * gst/elements/gstpipefilter.c:
30272         * gst/elements/gstpipefilter.h:
30273         * gst/elements/gstshaper.c:
30274         * gst/elements/gstshaper.h:
30275         * gst/elements/gststatistics.c:
30276         * gst/elements/gststatistics.h:
30277         * po/POTFILES.in: Remove above files.
30278
30279 2005-05-14  Andy Wingo  <wingo@pobox.com>
30280
30281         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
30282         so as to get the refs right.
30283         (sink_iterator_filter): New function, wraps bin_element_is_sink,
30284         unreffing objects that don't pass the filter.
30285
30286         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
30287         gst_element_set_bus.
30288         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
30289         normal cases, this will destroy the bus.
30290
30291         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
30292         object.
30293
30294         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
30295         has no sinks.
30296
30297 2005-05-13  Andy Wingo  <wingo@pobox.com>
30298
30299         * gst/gstutils.c (gst_element_link_pads): Instead of calling
30300         gst_pad_link, call pad_link_maybe_ghosting,
30301         (pad_link_maybe_ghosting): Links pads, making sure that the
30302         elements being linked are in the same bin.
30303         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
30304         Helpers for pad_link_maybe_ghosting.
30305
30306 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
30307
30308         * configure.ac:
30309           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
30310
30311 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
30312
30313         * docs/design/part-element-source.txt:
30314           Mention GstPushSrc
30315
30316 2005-05-12  Wim Taymans  <wim@fluendo.com>
30317
30318         * gst/base/gstbasesink.c: (gst_basesink_init),
30319         (gst_basesink_activate):
30320         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
30321         (gst_basesrc_is_seekable):
30322         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
30323         (bin_element_is_sink), (gst_bin_change_state):
30324         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30325         * gst/gstelement.h:
30326         Identify sinks by their flag to avoid overly complicated
30327         checks (fow now).
30328         Do state changes even for elements not reachable from the
30329         sinks.
30330         BaseSink is a sink now :)
30331         Some more debugging info in the basesrc.
30332
30333
30334 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30335
30336         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
30337           Implement _query on a bin, similar to _send_event.
30338
30339 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
30340
30341         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
30342           Discont event offset format should be GST_FORMAT_BYTES,
30343           not GST_FORMAT_TIME.
30344
30345 2005-05-12  Wim Taymans  <wim@fluendo.com>
30346
30347         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
30348         Same fix as Ronald's but without the signal. 
30349
30350 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30351
30352         * gst/gstutils.c: (gst_element_query_position):
30353           No, an element is not a pad.
30354
30355 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30356
30357         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
30358         (gst_bin_get_state):
30359           If a child is removed from a bin while we remove the child from
30360           the bin and while we're retrieving its state, signal this to the
30361           get_state function so we abort the wait (instead of waiting for
30362           a timeout) and can immediately re-iterate over all other elements.
30363
30364 2005-05-12  Wim Taymans  <wim@fluendo.com>
30365
30366         * gst/base/Makefile.am:
30367         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
30368         (gst_basesrc_start):
30369         * gst/base/gstbasesrc.h:
30370         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
30371         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
30372         (gst_pushsrc_init), (gst_pushsrc_create):
30373         * gst/base/gstpushsrc.h:
30374         Added is_seekable to BaseSrc
30375         Added simple PushSrc.
30376
30377 2005-05-11  Wim Taymans  <wim@fluendo.com>
30378
30379         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30380         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30381         (gst_element_link_pads), (gst_element_query_position),
30382         (gst_element_query_convert), (intersect_caps_func),
30383         (gst_pad_query_position), (gst_pad_query_convert):
30384         Fix refcounting in utils function.
30385         No point in trying to activate a pad when it's added, it could
30386         be added from the state change function and then we deadlock, the
30387         element has to decide what to do.
30388
30389 2005-05-10  Andy Wingo  <wingo@pobox.com>
30390
30391         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
30392         *all* the arguments.
30393
30394         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
30395         stream lock if it's a FLUSH_DONE; normal flushes don't get the
30396         lock (according to the docs -- if this is wrong change the docs).
30397
30398         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
30399         flush messages in the NULL state.
30400
30401         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
30402         message immediately and return.
30403         (gst_bus_set_flushing): New function. If a bus is flushing, it
30404         flushes out any queued messages and immediately unrefs new
30405         messages. This is so when an element goes to NULL, all of the
30406         unhandled messages coming from it can be freed, and their
30407         references to the element dropped. In other words: message source
30408         ref considered harmful :P
30409
30410         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
30411         we're finished with it.
30412
30413         * gst/gstmessage.c (gst_message_new_state_changed): 
30414
30415 2005-05-10  Wim Taymans  <wim@fluendo.com>
30416
30417         * gst/gstvalue.c: (gst_value_compare_flags),
30418         (gst_value_serialize_flags), (gst_value_deserialize_flags),
30419         (_gst_value_initialize):
30420         Added flags serialize/deserialize/compare code.
30421
30422 2005-05-09  Andy Wingo  <wingo@pobox.com>
30423
30424         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
30425         Intersect the peer's caps with our caps.
30426
30427 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30428
30429         * gst/base/gsttypefindhelper.c: (helper_find_peek):
30430         * gst/elements/gsttypefindelement.c: (find_peek):
30431           Handle negative offsets better. Fixes decodebin.
30432
30433 2005-05-09  Wim Taymans  <wim@fluendo.com>
30434
30435         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
30436         (gst_base_transform_event):
30437         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
30438         Implement accept_caps.
30439         Fix silly lock/unlock mismatch in base class.
30440
30441 2005-05-09  Wim Taymans  <wim@fluendo.com>
30442
30443         * docs/design/draft-push-pull.txt:
30444         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
30445         * gst/elements/gstfilesink.c: (gst_filesink_init),
30446         (gst_filesink_query):
30447         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
30448         (gst_type_find_handle_src_query), (find_element_get_length):
30449         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
30450         * gst/gstelement.h:
30451         * gst/gstmessage.c:
30452         * gst/gstmessage.h:
30453         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
30454         (gst_real_pad_get_caps_unlocked),
30455         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
30456         (gst_pad_event_default_dispatch), (gst_pad_event_default),
30457         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
30458         (gst_real_pad_dispose), (gst_real_pad_finalize),
30459         (gst_pad_load_and_link), (gst_pad_save_thyself),
30460         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
30461         (gst_pad_check_pull_range), (gst_pad_pull_range),
30462         (gst_pad_template_get_type), (gst_pad_template_class_init),
30463         (gst_pad_template_init), (gst_pad_template_dispose),
30464         (name_is_valid), (gst_static_pad_template_get),
30465         (gst_pad_template_new), (gst_static_pad_template_get_caps),
30466         (gst_pad_template_get_caps), (gst_pad_set_element_private),
30467         (gst_pad_get_element_private), (gst_pad_start_task),
30468         (gst_pad_pause_task), (gst_pad_stop_task),
30469         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
30470         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
30471         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
30472         (gst_ghost_pad_new):
30473         * gst/gstpad.h:
30474         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
30475         (gst_query_new_position), (gst_query_set_position),
30476         (gst_query_parse_position), (gst_query_new_convert),
30477         (gst_query_set_convert), (gst_query_parse_convert):
30478         * gst/gstquery.h:
30479         * gst/gstqueryutils.c:
30480         * gst/gstqueryutils.h:
30481         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30482         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30483         (gst_queue_handle_src_query):
30484         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30485         (gst_element_query_position), (gst_element_query_convert),
30486         (intersect_caps_func), (gst_pad_query_position),
30487         (gst_pad_query_convert):
30488         * gst/gstutils.h:
30489         * tools/gst-inspect.c: (print_pad_info):
30490         * tools/gst-xmlinspect.c: (print_element_info):
30491         Remove old query functions. Ported old code.
30492         Added position/convert helper functions to gstutils.
30493         Reordered gstpad.c code, grouping relevant things.
30494         Remove gst_message_new(), always need to speficy a specific
30495         message.
30496
30497
30498 2005-05-09  Andy Wingo  <wingo@pobox.com>
30499
30500         * gst/gstiterator.h: Add some includes.
30501
30502         * gst/gstqueryutils.h: Include more headers.
30503
30504         * gst/gstpad.h:
30505         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
30506         some uses of gst_pad_query.
30507
30508         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
30509         NULL out parameters.
30510         (gst_query_new_position): New proc, allocates a new position
30511         query.
30512
30513         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
30514         gstqueryutils.c to the build.
30515
30516         * gst/gststructure.c (gst_structure_set_valist): Implement with
30517         the generic G_VALUE_COLLECT.
30518         
30519 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
30520
30521         * gst/Makefile.am: (gst_headers):
30522         Added gstqueryutils.h to the list of headers to install, that was
30523         a 'nachty' move wingo :)
30524
30525 2005-05-06  Andy Wingo  <wingo@pobox.com>
30526
30527         * gst/gstquery.h
30528         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
30529         GstData, init a memchunk.
30530         (standard_definitions): Add a few query types, deprecate a few.
30531         (gst_query_get_type): New proc.
30532         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
30533         implementation.
30534         (gst_query_new_application, gst_query_get_structure): New public
30535         procs.
30536
30537         * docs/design/draft-query.txt: Removed LINKS from the query types,
30538         because all the rest can be dispatched to other pads -- seemed
30539         ugly to have a query that couldn't be dispatched. internal_links
30540         is fine as a pad method.
30541
30542         * gst/gstpad.h: Add query2 as a pad method, add the new functions
30543         in gstpad.c, but maintain binary compatibility for the moment.
30544         Will fix before 0.9 is out.
30545
30546         * gst/gstqueryutils.c: 
30547         * gst/gstqueryutils.h: New files, implement 3 methods for each
30548         query type: parse_query, parse_response, and set. Probably need an
30549         allocator as well.
30550
30551         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
30552
30553         * gst/elements/gstfilesink.c (gst_filesink_query2):
30554         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
30555         query_types, and formats methods.
30556
30557         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
30558         (gst_pad_set_query2_function): New functions.
30559         (gst_real_pad_init): Set query2_default as the default query2
30560         function. Basically just dispatches to internally linked pads.
30561
30562         Needs review!
30563         
30564         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
30565         without using the atomic operations. Only one thread can possibly
30566         be accessing the data at this point. Changed so as to avoid
30567         gst_atomic operations.
30568
30569 2005-05-06  Wim Taymans  <wim@fluendo.com>
30570
30571         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
30572         Also set caps if we use the fallback buffer alloc.
30573
30574 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
30575
30576         * docs/gst/Makefile.am:
30577         * docs/gst/gstreamer-docs.sgml:
30578         * docs/gst/gstreamer-sections.txt:
30579         * docs/gst/tmpl/gstatomic.sgml:
30580         * docs/gst/tmpl/gstmemchunk.sgml:
30581         * testsuite/elements/struct_i386.h:
30582         * win32/GStreamer.vcproj:
30583         * win32/Makefile:
30584           Purge GstAtomic stuff from docs and win32 makefiles as well
30585
30586 2005-05-06  Wim Taymans  <wim@fluendo.com>
30587
30588         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
30589         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
30590         * gst/gstpad.c: (gst_pad_peer_get_caps):
30591         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30592         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30593         (gst_queue_src_activate), (gst_queue_change_state):
30594         * gst/gstqueue.h:
30595         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30596         (intersect_caps_func):
30597         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
30598         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
30599         Some fixes for the peer_get_caps() change.
30600
30601 2005-05-06  Wim Taymans  <wim@fluendo.com>
30602
30603         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
30604         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
30605         (gst_basesink_activate):
30606         Actually do something with error codes returned from the push
30607         functions.
30608
30609 2005-05-06  Wim Taymans  <wim@fluendo.com>
30610
30611         * docs/design/part-element-sink.txt:
30612         * docs/design/part-element-source.txt:
30613         * gst/base/gstbasesink.c: (gst_basesink_class_init),
30614         (gst_basesink_event), (gst_basesink_activate):
30615         * gst/base/gstbasesink.h:
30616         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
30617         (gst_basesrc_activate):
30618         * gst/base/gstbasesrc.h:
30619         * gst/gstelement.c: (gst_element_pads_activate):
30620         Some more documentation.
30621         Fixed scheduling decision in _pads_activate().
30622
30623 2005-05-05  Andy Wingo  <wingo@pobox.com>
30624
30625         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
30626         the test suite.
30627
30628 2005-05-05  Wim Taymans  <wim@fluendo.com>
30629
30630         * gst/base/Makefile.am:
30631         * gst/base/gstbasesink.h:
30632         * gst/base/gstbasesrc.c: (gst_basesrc_init),
30633         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
30634         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
30635         (gst_collectpads_class_init), (gst_collectpads_init),
30636         (gst_collectpads_finalize), (gst_collectpads_new),
30637         (gst_collectpads_set_function), (gst_collectpads_add_pad),
30638         (find_pad), (gst_collectpads_remove_pad),
30639         (gst_collectpads_is_active), (gst_collectpads_collect),
30640         (gst_collectpads_collect_range), (gst_collectpads_start),
30641         (gst_collectpads_stop), (gst_collectpads_peek),
30642         (gst_collectpads_pop), (gst_collectpads_available),
30643         (gst_collectpads_read), (gst_collectpads_flush),
30644         (gst_collectpads_chain):
30645         * gst/base/gstcollectpads.h:
30646         * gst/elements/Makefile.am:
30647         * gst/elements/gstelements.c:
30648         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30649         (gst_fakesink_get_times), (gst_fakesink_event),
30650         (gst_fakesink_preroll), (gst_fakesink_render):
30651         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
30652         (gst_filesink_init), (gst_filesink_set_location),
30653         (gst_filesink_open_file), (gst_filesink_close_file),
30654         (gst_filesink_pad_query), (gst_filesink_event),
30655         (gst_filesink_render), (gst_filesink_change_state):
30656         * gst/elements/gstfilesink.h:
30657         Added object to help in making collect pad based elements.
30658         Ported filesink.
30659         Make event function in sink baseclass return gboolean.
30660
30661 2005-05-05  Wim Taymans  <wim@fluendo.com>
30662
30663         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
30664         (gst_bin_get_by_name):
30665         * gst/gstbuffer.h:
30666         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
30667         (gst_clock_finalize):
30668         * gst/gstdata.c: (gst_data_replace):
30669         * gst/gstdata.h:
30670         * gst/gstelement.c: (gst_element_request_pad),
30671         (gst_element_pads_activate):
30672         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
30673         (gst_object_unref):
30674         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30675         (gst_pad_set_checkgetrange_function),
30676         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
30677         (gst_pad_check_pull_range), (gst_pad_pull_range),
30678         (gst_static_pad_template_get_caps), (gst_pad_start_task),
30679         (gst_pad_pause_task), (gst_pad_stop_task):
30680         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30681         (gst_element_request_pad), (gst_pad_proxy_getcaps):
30682         Fix name lookup in GstBin.
30683         Added _data_replace() function and _buffer_replace()
30684         Use finalize method to clean up clock.
30685         Fix refcounting on request pads.
30686         Fix pad schedule mode error.
30687         Some more object refcounting debug info,
30688
30689
30690 2005-05-04  Andy Wingo <wingo@pobox.com>
30691
30692         * check/Makefile.am:
30693         * docs/gst/tmpl/gstatomic.sgml:
30694         * docs/gst/tmpl/gstplugin.sgml:
30695         * gst/base/gstbasesink.c: (gst_basesink_activate):
30696         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
30697         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
30698         (gst_basesrc_query), (gst_basesrc_set_property),
30699         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
30700         (gst_basesrc_activate):
30701         * gst/base/gstbasesrc.h:
30702         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
30703         (gst_base_transform_src_activate):
30704         * gst/elements/gstelements.c:
30705         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
30706         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
30707         * gst/elements/gsttee.c: (gst_tee_sink_activate):
30708         * gst/elements/gsttypefindelement.c: (find_element_get_length),
30709         (gst_type_find_element_checkgetrange),
30710         (gst_type_find_element_activate):
30711         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
30712         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
30713         (gst_caps_load_thyself):
30714         * gst/gstelement.c: (gst_element_pads_activate),
30715         (gst_element_save_thyself), (gst_element_restore_thyself):
30716         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
30717         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
30718         * gst/gstpad.h:
30719         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
30720         (gst_xml_parse_file), (gst_xml_parse_memory),
30721         (gst_xml_get_element), (gst_xml_make_element):
30722         * gst/indexers/gstfileindex.c: (gst_file_index_load),
30723         (_file_index_id_save_xml), (gst_file_index_commit):
30724         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
30725         (read_enum), (load_pad_template), (load_feature), (load_plugin),
30726         (load_paths):
30727         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
30728         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
30729         * tools/gst-complete.c: (main):
30730         * tools/gst-compprep.c: (main):
30731         * tools/gst-inspect.c: (print_element_properties_info):
30732         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
30733         * tools/gst-xmlinspect.c: (print_element_properties):
30734         GCC 4 fixen.
30735         
30736 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
30737
30738         * gst/gstplugin.c: (gst_plugin_check_module),
30739         (gst_plugin_check_file), (gst_plugin_load_file):
30740             apply patch from #172526 to make register work on MacOSX
30741
30742 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30743
30744         * docs/gst/tmpl/gstconfig.sgml:
30745         * gst/gstconfig.h.in:
30746           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
30747         * testsuite/debug/printf_extension.c: (main):
30748           Do not use GST_PTR_FORMAT on pointers to types with
30749           sizeof < sizeof(gpointer).  Fixes test on 64-bit
30750         * testsuite/elements/property.h:
30751           use correct printf format
30752
30753 2005-05-02  Wim Taymans  <wim@fluendo.com>
30754
30755         * docs/design/draft-push-pull.txt:
30756         * docs/design/draft-query.txt:
30757         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
30758         (gst_basesrc_start):
30759         Added draft for new query API.
30760         Added draft for better selecting scheduling methods.
30761         Make basesrc ignore length if the subclass does not support
30762         it.
30763
30764 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30765
30766         * gst/Makefile.am:
30767           possible fixes for automake-1.5 - _LIBADD is reserved
30768
30769 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30770
30771         * docs/faq/Makefile.am:
30772         * docs/manual/Makefile.am:
30773         * docs/manuals.mak:
30774         * docs/pwg/Makefile.am:
30775         * gst/Makefile.am:
30776           possible fixes for automake-1.5
30777
30778 2005-04-28  Wim Taymans  <wim@fluendo.com>
30779
30780         * gst/base/gstbasesink.c: (gst_basesink_base_init),
30781         (gst_basesink_pad_getcaps), (gst_basesink_init),
30782         (gst_basesink_do_sync):
30783         * gst/gstclock.c: (gst_clock_entry_new):
30784         * gst/gstevent.c: (gst_event_discont_get_value):
30785         * gst/gstpipeline.c: (pipeline_bus_handler),
30786         (gst_pipeline_change_state):
30787         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
30788         Better debugging of clocking info.
30789         Allow NULL values when getting discont values.
30790
30791 2005-04-27  Wim Taymans  <wim@fluendo.com>
30792
30793         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
30794         * check/gst/gstpad.c: (gst_pad_suite):
30795         Increase timeout for checks.
30796
30797 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
30798
30799         * check/Makefile.am:
30800           fix the broken rule for cleanup.  Apparently this rule is
30801           only needed on FC2, so maybe this warrants further autotool
30802           inspection.
30803
30804 2005-04-26  Wim Taymans  <wim@fluendo.com>
30805
30806         * gst/gsttrashstack.h:
30807         Ooohh. a nasty one! After having a failed pop() from the stack,
30808         it's possible that the stack is empty. In that case, don't
30809         follow the NULL pointer.
30810
30811 2005-04-25  Wim Taymans  <wim@fluendo.com>
30812
30813         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30814         (gst_pad_set_checkgetrange_function),
30815         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
30816         (gst_pad_check_pull_range), (gst_pad_pull_range),
30817         (gst_static_pad_template_get_caps), (gst_pad_start_task),
30818         (gst_pad_pause_task), (gst_pad_stop_task):
30819         * gst/gstplugin.c: (gst_plugin_load):
30820         * gst/gstplugin.h:
30821         Remove gst_library_load as it does more harm than good with
30822         the new g_module flags.
30823         Revert bogus caps template check in pad linking, pad caps
30824         are important when linking not the template, which is more
30825         general than the current caps.
30826
30827 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30828
30829         * gst/autoplug/.cvsignore:
30830         * gst/autoplug/Makefile.am:
30831         * gst/autoplug/gstsearchfuncs.c:
30832         * gst/autoplug/gstsearchfuncs.h:
30833         * gst/autoplug/gstspider.c:
30834         * gst/autoplug/gstspider.h:
30835         * gst/autoplug/gstspideridentity.c:
30836         * gst/autoplug/gstspideridentity.h:
30837         * gst/autoplug/spidertest.c:
30838           Die, spider, die.
30839
30840 2005-04-25  Wim Taymans  <wim@fluendo.com>
30841
30842         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30843         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
30844         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
30845         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
30846         * gst/gstpad.h:
30847         Added stubs for unimplemented functions. 
30848
30849 2005-04-24  David Schleef  <ds@schleef.org>
30850
30851         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
30852         please fix.
30853
30854 2005-04-24  David Schleef  <ds@schleef.org>
30855
30856         Convert everything from GstAtomicInt to g_atomic_int_*, and
30857         remove gstatomic.
30858         * gst/Makefile.am:
30859         * gst/gstatomic.c:
30860         * gst/gstatomic.h:
30861         * gst/gstatomic_impl.h:
30862         * gst/gstbuffer.c:
30863         * gst/gstcaps.c:
30864         * gst/gstcaps.h:
30865         * gst/gstclock.c:
30866         * gst/gstclock.h:
30867         * gst/gstdata.c:
30868         * gst/gstdata.h:
30869         * gst/gstdata_private.h:
30870         * gst/gstevent.c:
30871         * gst/gstinfo.c:
30872         * gst/gstinfo.h:
30873         * gst/gstmessage.c:
30874         * gst/gstobject.c:
30875         * gst/gstobject.h:
30876         * gst/gststructure.c:
30877         * gst/gststructure.h:
30878         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
30879         * gst/gstutils.h:
30880
30881 2005-04-24  David Schleef  <ds@schleef.org>
30882
30883         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
30884         make the regressions tests work.  Remove some code that is no
30885         longer true.
30886         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
30887         Disable warning for pads without templates.
30888
30889 2005-04-24  David Schleef  <ds@schleef.org>
30890
30891         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
30892         functions that handle filtered links.
30893         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
30894         removed functions.
30895         * gst/gstutils.c: Fix/remove utility functions that handle
30896         filtered caps.
30897         * gst/gstutils.h:
30898         * gst/gstvalue.c: Add serialization/deserialization of caps
30899         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
30900         requires fixing so that the filter caps notation creates
30901         a capsfilter element and sets the filter_caps property.  I
30902         think everyone probably wants to keep the shorthand notation.
30903         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
30904         * docs/gst/tmpl/gstpad.sgml:
30905
30906         * gst/elements/gstelements.c: Register capsfilter element.
30907         * gst/Makefile.am: fix spacing
30908         * docs/random/ds/0.9-suggested-changes: random
30909
30910 2005-04-23  David Schleef  <ds@schleef.org>
30911
30912         * gst/elements/Makefile.am:
30913         * gst/elements/gstcapsfilter.c: New element that acts like an
30914         identity, but filters caps.  Will eventually replace filtered
30915         caps in pad linking.
30916         * gst/gstutils.c: (gst_element_create_all_pads): New function
30917         to create all the ALWAYS pads that are registered with an
30918         element class.  This functionality should eventually be
30919         merged in with GstElement initialization.
30920         * gst/gstutils.h:
30921         * testsuite/trigger/README: part of trigger test code that should
30922         have been checked in a long time ago.
30923
30924 2005-04-23  David Schleef  <ds@schleef.org>
30925
30926         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
30927         needed with new versions of libtool (nobody will confirm this),
30928         and hard to carry around.
30929         * gst/autoplug/Makefile.am:
30930         * gst/base/Makefile.am:
30931         * gst/elements/Makefile.am:
30932         * gst/indexers/Makefile.am:
30933         * gst/schedulers/Makefile.am:
30934         * libs/gst/bytestream/Makefile.am:
30935         * libs/gst/control/Makefile.am:
30936         * libs/gst/dataprotocol/Makefile.am:
30937         * libs/gst/getbits/Makefile.am:
30938
30939 2005-04-21  Wim Taymans  <wim@fluendo.com>
30940
30941         * docs/design/draft-push-pull.txt:
30942         * docs/design/part-MT-refcounting.txt:
30943         * docs/design/part-TODO.txt:
30944         * docs/design/part-caps.txt:
30945         * docs/design/part-events.txt:
30946         * docs/design/part-gstbus.txt:
30947         * docs/design/part-gstpipeline.txt:
30948         * docs/design/part-messages.txt:
30949         * docs/design/part-push-pull.txt:
30950         * docs/design/part-query.txt:
30951         Some more docs.
30952
30953 2005-04-21  Wim Taymans  <wim@fluendo.com>
30954
30955         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
30956         (gst_message_new), (gst_message_new_error),
30957         (gst_message_new_warning), (gst_message_new_tag),
30958         (gst_message_new_state_changed), (gst_message_new_application),
30959         (gst_message_get_structure):
30960         * gst/gstmessage.h:
30961         * gst/gststructure.c: (gst_structure_set_parent_refcount),
30962         (gst_structure_copy_conditional):
30963         Use parent refcount in GstMessage to ensure GstStructure
30964         consistency.
30965         Cleaned up headers a bit.
30966         
30967
30968 2005-04-20  Wim Taymans  <wim@fluendo.com>
30969
30970         * gst/base/gstbasesink.c: (gst_basesink_base_init),
30971         (gst_basesink_pad_getcaps), (gst_basesink_init),
30972         (gst_basesink_chain_unlocked):
30973         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
30974         (gst_type_find_helper):
30975         * gst/elements/gsttypefindelement.c:
30976         (gst_type_find_element_have_type), (gst_type_find_element_init),
30977         (stop_typefinding), (gst_type_find_element_handle_event),
30978         (find_suggest), (gst_type_find_element_chain),
30979         (gst_type_find_element_checkgetrange),
30980         (gst_type_find_element_getrange), (do_typefind),
30981         (gst_type_find_element_activate):
30982         * gst/gstbuffer.c: (_gst_buffer_sub_free),
30983         (gst_buffer_default_free), (gst_buffer_default_copy),
30984         (gst_buffer_set_caps):
30985         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
30986         (gst_caps_replace):
30987         * gst/gstmessage.c: (gst_message_new),
30988         (gst_message_new_state_changed):
30989         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30990         (gst_pad_set_checkgetrange_function),
30991         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
30992         (gst_pad_set_caps), (gst_pad_check_pull_range),
30993         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
30994         * gst/gstpad.h:
30995         * gst/gsttypefind.c: (gst_type_find_register):
30996         Make gst_caps_replace() work like other _replace() functions.
30997         Use _caps_replace() where possible.
30998         Make sure _message_new() initialises its field.
30999         Add gst_static_pad_template_get_caps()
31000
31001
31002 2005-04-18  Andy Wingo  <wingo@pobox.com>
31003
31004         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
31005         on the peer, not the pad. I think that was a typo. Pass an extra
31006         arg to see if random access is possible. Activate the pads as
31007         PULL_RANGE if possible.
31008
31009         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
31010
31011         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
31012         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
31013         to PROP_....
31014
31015 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31016
31017         * docs/faq/using.xml:
31018           Add note on gstreamer-properties (#154996).
31019
31020 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31021
31022         * docs/random/bbb/optional-properties:
31023           Some analysis on optional properties.
31024
31025 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31026
31027         * docs/gst/tmpl/gstelementfactory.sgml:
31028         * gst/gstelement.h:
31029         * gst/gstelementfactory.c: (gst_element_factory_init),
31030         (gst_element_factory_cleanup), (gst_element_register),
31031         (__gst_element_factory_add_static_pad_template),
31032         (gst_element_factory_get_static_pad_templates),
31033         (gst_element_factory_can_src_caps),
31034         (gst_element_factory_can_sink_caps):
31035         * gst/registries/Makefile.am:
31036         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
31037         (gst_xml_registry_class_init), (gst_xml_registry_init),
31038         (gst_xml_registry_new), (gst_xml_registry_set_property),
31039         (gst_xml_registry_get_property), (get_time), (make_dir),
31040         (gst_xml_registry_get_perms_func),
31041         (plugin_times_older_than_recurse), (plugin_times_older_than),
31042         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
31043         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
31044         (add_to_char_array), (read_string), (read_uint), (read_enum),
31045         (load_pad_template), (load_feature), (load_plugin), (load_paths),
31046         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
31047         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
31048         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
31049         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
31050         (gst_xml_registry_rebuild):
31051         * gst/registries/gstlibxmlregistry.h:
31052         * tools/gst-compprep.c: (main):
31053         * tools/gst-inspect.c: (print_pad_templates_info):
31054         * tools/gst-xmlinspect.c: (print_element_info):
31055           Use libxml2 for registry parsing, use staticpadtemplates in
31056           elementfactories. Makes gst_init() +/- 10x faster.
31057
31058 2005-04-12  Wim Taymans  <wim@fluendo.com>
31059
31060         * gst/base/Makefile.am:
31061         * gst/base/gstbasesink.c: (gst_basesink_base_init),
31062         (gst_basesink_pad_getcaps), (gst_basesink_init),
31063         (gst_basesink_event), (gst_basesink_change_state):
31064         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31065         (gst_basesrc_init), (gst_basesrc_query),
31066         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
31067         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
31068         (gst_basesrc_check_get_range), (gst_basesrc_loop),
31069         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
31070         (gst_basesrc_stop), (gst_basesrc_activate),
31071         (gst_basesrc_change_state):
31072         * gst/base/gsttypefindhelper.c: (helper_find_peek),
31073         (helper_find_suggest), (gst_type_find_helper):
31074         * gst/base/gsttypefindhelper.h:
31075         * gst/elements/Makefile.am:
31076         * gst/elements/gstelements.c:
31077         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
31078         (gst_fakesink_get_times), (gst_fakesink_event),
31079         (gst_fakesink_preroll), (gst_fakesink_render):
31080         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
31081         (gst_fakesrc_init), (gst_fakesrc_event_handler),
31082         (gst_fakesrc_get_property), (gst_fakesrc_create),
31083         (gst_fakesrc_start), (gst_fakesrc_stop):
31084         * gst/elements/gstfakesrc.h:
31085         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
31086         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
31087         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
31088         (gst_filesrc_create_read), (gst_filesrc_create),
31089         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
31090         (gst_filesrc_start):
31091         * gst/elements/gsttypefindelement.c:
31092         (gst_type_find_element_have_type), (gst_type_find_element_init),
31093         (start_typefinding), (stop_typefinding), (push_buffer_store),
31094         (gst_type_find_element_handle_event),
31095         (gst_type_find_element_chain),
31096         (gst_type_find_element_checkgetrange),
31097         (gst_type_find_element_getrange), (do_typefind),
31098         (gst_type_find_element_activate),
31099         (gst_type_find_element_change_state):
31100         * gst/elements/gsttypefindelement.h:
31101         * gst/gstpipeline.c: (pipeline_bus_handler):
31102         Added typefind helper.
31103         Small preroll fix in the base sink.
31104         Disable typefind code in basesrc.
31105         Crude port of typefindelement.
31106         Fakesrc cleanups.
31107
31108
31109 2005-04-11  Wim Taymans  <wim@fluendo.com>
31110
31111         * check/gst/gstbus.c: (gstbus_suite):
31112         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
31113         * check/gstcheck.h:
31114           Fix up the timeout so that the test does not fail.
31115
31116 2005-04-06  Wim Taymans  <wim@fluendo.com>
31117
31118         * gst/base/README:
31119         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31120         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
31121         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
31122         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
31123         (gst_basesrc_check_get_range), (gst_basesrc_loop),
31124         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
31125         (gst_basesrc_stop), (gst_basesrc_activate),
31126         (gst_basesrc_change_state), (basesrc_find_peek),
31127         (basesrc_find_suggest), (gst_basesrc_type_find):
31128         * gst/base/gstbasesrc.h:
31129         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
31130         (gst_filesrc_class_init), (gst_filesrc_init),
31131         (gst_filesrc_finalize), (gst_filesrc_set_location),
31132         (gst_filesrc_set_property), (gst_filesrc_get_property),
31133         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
31134         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
31135         (gst_filesrc_create_read), (gst_filesrc_create),
31136         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
31137         * gst/elements/gstfilesrc.h:
31138         * gst/gstelement.c: (gst_element_get_state_func),
31139         (gst_element_lost_state), (gst_element_pads_activate):
31140         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31141         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
31142         (gst_pad_pull_range):
31143         * gst/gstpad.h:
31144         More work on the generic source base class, implement seeking,
31145         query.
31146         Make filesrc extend the base source class.
31147         Added gst_pad_set_checkgetrange_function to GstPad.
31148
31149 2005-04-06  Andy Wingo  <wingo@pobox.com>
31150
31151         * pkgconfig/gstreamer-base.pc.in:
31152         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
31153
31154         * pkgconfig/Makefile.am:
31155         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
31156
31157 2005-04-04  Wim Taymans  <wim@fluendo.com>
31158
31159         * gst/base/Makefile.am:
31160         * gst/base/README:
31161         * gst/base/gstbasesink.c: (gst_basesink_base_init),
31162         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
31163         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
31164         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
31165         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31166         (gst_basesrc_base_init), (gst_basesrc_class_init),
31167         (gst_basesrc_init), (gst_basesrc_get_formats),
31168         (gst_basesrc_get_query_types), (gst_basesrc_query),
31169         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
31170         (gst_basesrc_set_property), (gst_basesrc_get_property),
31171         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
31172         (gst_basesrc_loop), (gst_basesrc_activate),
31173         (gst_basesrc_change_state):
31174         * gst/base/gstbasesrc.h:
31175         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
31176         (gst_fakesrc_class_init), (gst_fakesrc_init),
31177         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
31178         (gst_fakesrc_get_property), (gst_fakesrc_create):
31179         * gst/elements/gstfakesrc.h:
31180         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
31181         (gst_filesrc_open_file), (gst_filesrc_loop),
31182         (gst_filesrc_activate), (filesrc_find_peek),
31183         (gst_filesrc_type_find):
31184         Made base source class, make fakesrc extend it.
31185         Add comments to basesink class.
31186         Some filesrc cleanup.
31187
31188 2005-03-31  David Schleef  <ds@schleef.org>
31189
31190         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
31191         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
31192         expected to link against libgstreamer.
31193         * gst/base/Makefile.am: link against libgstreamer
31194         * gst/elements/Makefile.am: same
31195
31196 2005-03-31  Andy Wingo  <wingo@pobox.com>
31197
31198         * tests/instantiate/Makefile.am:
31199         * tests/instantiate/caps.c: Add test to test speed of caps copy
31200         and free.
31201
31202         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
31203         GMemChunk to be fair.
31204
31205         * gst/gsttrashstack.h: Remove warning about using the fallback
31206         trash stack implementation, it's still faster than malloc.
31207
31208 2005-03-30  Andy Wingo  <wingo@pobox.com>
31209
31210         * tests/complexity.c: Add a copyright.
31211
31212 2005-03-31  Wim Taymans  <wim@fluendo.com>
31213
31214         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
31215         (gst_base_transform_class_init), (gst_base_transform_init),
31216         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
31217         (gst_base_transform_get_property),
31218         (gst_base_transform_sink_activate),
31219         (gst_base_transform_src_activate),
31220         (gst_base_transform_change_state):
31221         * gst/base/gstbasetransform.h:
31222         * gst/elements/gstidentity.c: (gst_identity_class_init),
31223         (gst_identity_event), (gst_identity_check_perfect),
31224         (gst_identity_transform), (gst_identity_start),
31225         (gst_identity_stop):
31226         Added start/stop methods to transform base class so subclasses 
31227         don't need to deal with state changes even.
31228
31229 2005-03-31  Wim Taymans  <wim@fluendo.com>
31230
31231         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
31232         (gst_event_new_discontinuous), (gst_event_discont_get_value):
31233         * gst/gstevent.h:
31234         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31235         (gst_pad_pull_range):
31236         Added rate to the discont event to prepare for variable speed
31237         and reverse playback.
31238
31239 2005-03-29  David Schleef  <ds@schleef.org>
31240
31241         * configure.ac:
31242         * testsuite/trigger/Makefile.am:
31243         * testsuite/trigger/trigger.c: A little example program to show
31244         how trigger-based elements can work.
31245
31246 2005-03-29  Wim Taymans  <wim@fluendo.com>
31247
31248         * gst/base/Makefile.am:
31249         * gst/base/README:
31250         * gst/base/gstbasesink.c: (gst_basesink_get_type),
31251         (gst_basesink_base_init), (gst_basesink_class_init),
31252         (gst_basesink_pad_getcaps), (gst_basesink_init),
31253         (gst_basesink_activate), (gst_basesink_change_state):
31254         * gst/base/gstbasesink.h:
31255         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
31256         (gst_base_transform_base_init), (gst_base_transform_finalize),
31257         (gst_base_transform_class_init), (gst_base_transform_init),
31258         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
31259         (gst_base_transform_event), (gst_base_transform_getrange),
31260         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
31261         (gst_base_transform_set_property),
31262         (gst_base_transform_get_property),
31263         (gst_base_transform_sink_activate),
31264         (gst_base_transform_src_activate),
31265         (gst_base_transform_change_state):
31266         * gst/base/gstbasetransform.h:
31267         * gst/elements/gstidentity.c: (gst_identity_finalize),
31268         (gst_identity_class_init), (gst_identity_init),
31269         (gst_identity_event), (gst_identity_check_perfect),
31270         (gst_identity_transform), (gst_identity_set_property),
31271         (gst_identity_get_property), (gst_identity_change_state):
31272         * gst/elements/gstidentity.h:
31273         * gst/gstelement.c: (gst_element_get_state_func),
31274         (gst_element_lost_state), (gst_element_pads_activate):
31275         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31276         (gst_pad_check_pull_range), (gst_pad_pull_range):
31277         * gst/gstpad.h:
31278         Simplify pad activation.
31279         Added function to check if pull_range can be performed.
31280         Error out when pulling inactive or flushing pads.
31281         Removed const from refcounted types as it does not make sense.
31282         Simplify pad templates in basesink
31283         Added base class for simple 1-to-1 transforms.
31284         Make identity subclass the base transform.
31285
31286 2005-03-29  Andy Wingo  <wingo@pobox.com>
31287
31288         * docs/libs/gstreamer-libs-overrides.txt: 
31289         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
31290         really don't understand what's going on, but like whatever. I want
31291         green buildbot!
31292
31293         * docs/gst/Makefile.am:
31294         * docs/libs/Makefile.am: Dist the overrides files.
31295
31296         * check/Makefile.am (clean-local): Remove .libs directories.
31297
31298         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
31299         elements to EXTRA_DIST, so po/ files are happy.
31300
31301         * po/POTFILES.in: Er, remove it here.
31302
31303         * po/POTFILES: Remove gstspider.c.
31304
31305         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
31306
31307         * docs/libs/gstreamer-libs-docs.sgml: 
31308         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
31309         bytestream.
31310
31311         * tests/complexity.c (main): Set the length of the preroll queue
31312         on the sinks to prevent a lockup.
31313
31314         * libs/gst/dataprotocol/Makefile.am: 
31315         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
31316         the same as the one in check/gst-libs/gdp.c.
31317
31318         * po/, docs/gst/: Commit automatic changes to docs and po files.
31319
31320         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
31321         the versioned libgstbase.
31322
31323         * check/Makefile.am: Depend on an unversioned gst-register, seems
31324         to make autoconf happier.
31325
31326         * gst/base/Makefile.am: Make libgstbase a versioned lib.
31327
31328 2005-03-28  Wim Taymans  <wim@fluendo.com>
31329
31330         * configure.ac:
31331         * docs/design/part-gstelement.txt:
31332         * docs/design/part-negotiation.txt:
31333         * docs/design/part-preroll.txt:
31334         * docs/design/part-scheduling.txt:
31335         * docs/design/part-states.txt:
31336         * gst/Makefile.am:
31337         * gst/base/Makefile.am:
31338         * gst/base/README:
31339         * gst/base/gstbasesink.c: (gst_basesink_get_template),
31340         (gst_basesink_base_init), (gst_basesink_class_init),
31341         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
31342         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
31343         (gst_basesink_set_pad_functions),
31344         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
31345         (gst_basesink_set_property), (gst_basesink_get_property),
31346         (gst_base_sink_get_template), (gst_base_sink_get_caps),
31347         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
31348         (gst_basesink_preroll_queue_push),
31349         (gst_basesink_preroll_queue_empty),
31350         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
31351         (gst_basesink_event), (gst_basesink_get_times),
31352         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
31353         (gst_basesink_chain_unlocked), (gst_basesink_chain),
31354         (gst_basesink_loop), (gst_basesink_activate),
31355         (gst_basesink_change_state):
31356         * gst/base/gstbasesink.h:
31357         * gst/elements/Makefile.am:
31358         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
31359         (gst_fakesink_class_init), (gst_fakesink_init),
31360         (gst_fakesink_set_property), (gst_fakesink_get_property),
31361         (gst_fakesink_get_times), (gst_fakesink_event),
31362         (gst_fakesink_preroll), (gst_fakesink_render),
31363         (gst_fakesink_change_state):
31364         * gst/elements/gstfakesink.h:
31365         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31366         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
31367         * gst/gstelement.c: (gst_element_add_pad),
31368         (gst_element_get_state_func), (gst_element_abort_state),
31369         (gst_element_commit_state), (gst_element_lost_state),
31370         (gst_element_set_state), (gst_element_pads_activate):
31371         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
31372         * gst/gstpipeline.c: (gst_pipeline_send_event),
31373         (gst_pipeline_change_state):
31374         Added state change code.
31375         Added/updated docs.
31376         Added sink base class, make fakesink extend the base class.
31377         Small cleanups in GstPipeline.
31378
31379 2005-03-26  David Schleef  <ds@schleef.org>
31380
31381         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
31382         is broken and should be implemented in a different library.
31383         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
31384         * gst/gst.h: remove gstcpu.h
31385         * gst/gstcpu.c: remove
31386         * gst/gstcpu.h: remove
31387         * gst/Makefile.am.future: Remove this file.  It's ancient.
31388
31389 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31390
31391         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31392         (gst_bin_send_event):
31393           Add default event/set_manager handlers. The set_manager handler
31394           takes care that the manager is distributed over kids that were
31395           already in the bin before the manager was set. The event handler
31396           is a utility virtual function that sends the event over all sinks,
31397           so that gst_element_send_event (bin, event); has the expected
31398           behaviour.
31399         * gst/gstpad.c: (gst_pad_event_default):
31400           Re-install default event handling for discontinuities, so that
31401           seeking works without requiring hacks in applications or extra
31402           code in sinks.
31403         * gst/gstpipeline.c: (gst_pipeline_class_init),
31404         (gst_pipeline_send_event):
31405           Half hack, half utility: set a pipeline to PAUSED for seek events,
31406           since that is the only way we can guarantee a/v sync. Means that
31407           you can do gst_element_seek (pipeline, method, pos); on a pipeline
31408           and it "just works".
31409
31410 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31411
31412         * gst/gstpipeline.c: (gst_pipeline_use_clock):
31413           Lock/unlock mismatch.
31414
31415 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
31416
31417         * docs/faq/gst-uninstalled:
31418           add gst-plugins-base
31419         * docs/gst/Makefile.am:
31420           don't error out until docs are fixed
31421         * docs/gst/gstreamer.types:
31422           remove thread
31423
31424 2005-03-22  Wim Taymans  <wim@fluendo.com>
31425
31426         * check/Makefile.am:
31427         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
31428         * gst/gststructure.c: (gst_structure_set_valist),
31429         (gst_structure_copy_conditional):
31430         Activated more tests.
31431         Added message test.
31432         Added G_TYPE_POINTER to GstStructure.
31433         
31434
31435 2005-03-22  Wim Taymans  <wim@fluendo.com>
31436
31437         * docs/design/part-TODO.txt:
31438         * docs/design/part-events.txt:
31439         * docs/design/part-gstbin.txt:
31440         * docs/design/part-gstbus.txt:
31441         * docs/design/part-gstpipeline.txt:
31442         * docs/design/part-messages.txt:
31443         * gst/gstbus.c:
31444         * gst/gstmessage.c:
31445         Docs updates
31446
31447 2005-03-21  Wim Taymans  <wim@fluendo.com>
31448
31449         * gst/gstbus.c: (gst_bus_post):
31450         Fix copy-and-paste error.
31451
31452 2005-03-21  Wim Taymans  <wim@fluendo.com>
31453
31454         * check/Makefile.am:
31455         * gst/Makefile.am:
31456         * gst/elements/Makefile.am:
31457         * gst/elements/gstelements.c:
31458         * gst/elements/gstfakesink.c: (gst_fakesink_init),
31459         (gst_fakesink_event), (gst_fakesink_chain):
31460         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
31461         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
31462         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
31463         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
31464         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
31465         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
31466         (gst_fakesrc_loop), (gst_fakesrc_activate),
31467         (gst_fakesrc_change_state):
31468         * gst/elements/gstfakesrc.h:
31469         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
31470         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
31471         (gst_filesrc_open_file), (gst_filesrc_loop),
31472         (gst_filesrc_activate), (gst_filesrc_change_state),
31473         (filesrc_find_peek), (filesrc_find_suggest),
31474         (gst_filesrc_type_find):
31475         * gst/elements/gstidentity.c: (gst_identity_finalize),
31476         (gst_identity_class_init), (gst_identity_init),
31477         (gst_identity_proxy_getcaps), (identity_queue_push),
31478         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
31479         (gst_identity_getrange), (gst_identity_chain),
31480         (gst_identity_sink_loop), (gst_identity_src_loop),
31481         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
31482         (gst_identity_set_property), (gst_identity_get_property),
31483         (gst_identity_change_state):
31484         * gst/elements/gstidentity.h:
31485         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
31486         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
31487         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
31488         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
31489         (gst_tee_sink_activate):
31490         * gst/elements/gsttee.h:
31491         * gst/gst.c: (gst_register_core_elements), (init_post):
31492         * gst/gst.h:
31493         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
31494         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
31495         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
31496         (gst_bin_change_state):
31497         * gst/gstbin.h:
31498         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
31499         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
31500         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
31501         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
31502         (gst_bus_set_sync_handler), (gst_bus_create_watch),
31503         (bus_watch_callback), (bus_watch_destroy),
31504         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
31505         (poll_timeout), (gst_bus_poll):
31506         * gst/gstbus.h:
31507         * gst/gstcaps.h:
31508         * gst/gstdata.h:
31509         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
31510         (gst_element_post_message), (gst_element_message_full),
31511         (gst_element_get_state_func), (gst_element_get_state),
31512         (gst_element_abort_state), (gst_element_commit_state),
31513         (gst_element_lost_state), (gst_element_set_state),
31514         (gst_element_pads_activate), (gst_element_change_state),
31515         (gst_element_dispose), (gst_element_set_manager_func),
31516         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
31517         (gst_element_set_manager), (gst_element_get_manager),
31518         (gst_element_set_bus), (gst_element_get_bus),
31519         (gst_element_set_scheduler), (gst_element_get_scheduler):
31520         * gst/gstelement.h:
31521         * gst/gstevent.c: (gst_event_new_segment_seek),
31522         (gst_event_new_flush):
31523         * gst/gstevent.h:
31524         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
31525         (_gst_message_free), (gst_message_get_type), (gst_message_new),
31526         (gst_message_new_eos), (gst_message_new_error),
31527         (gst_message_new_warning), (gst_message_new_tag),
31528         (gst_message_new_state_changed), (gst_message_new_application),
31529         (gst_message_get_structure), (gst_message_parse_tag),
31530         (gst_message_parse_state_changed), (gst_message_parse_error),
31531         (gst_message_parse_warning):
31532         * gst/gstmessage.h:
31533         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
31534         (gst_real_pad_set_property), (gst_pad_set_active),
31535         (gst_pad_is_active), (gst_pad_set_blocked_async),
31536         (gst_pad_set_blocked), (gst_pad_is_blocked),
31537         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
31538         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
31539         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
31540         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
31541         (gst_pad_link_filtered), (gst_pad_relink_filtered),
31542         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
31543         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
31544         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
31545         (gst_pad_set_caps), (gst_pad_configure_sink),
31546         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
31547         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
31548         (gst_real_pad_dispose), (gst_real_pad_finalize),
31549         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
31550         (gst_pad_event_default_dispatch), (gst_pad_event_default),
31551         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
31552         * gst/gstpad.h:
31553         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
31554         (pipeline_bus_handler), (gst_pipeline_change_state),
31555         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
31556         * gst/gstpipeline.h:
31557         * gst/gstprobe.h:
31558         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
31559         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
31560         (gst_queue_link_src), (gst_queue_bufferalloc),
31561         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
31562         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
31563         (gst_queue_loop), (gst_queue_handle_src_event),
31564         (gst_queue_handle_src_query), (gst_queue_src_activate),
31565         (gst_queue_change_state):
31566         * gst/gstqueue.h:
31567         * gst/gstscheduler.c: (gst_scheduler_init),
31568         (gst_scheduler_dispose), (gst_scheduler_create_task),
31569         (gst_scheduler_factory_create):
31570         * gst/gstscheduler.h:
31571         * gst/gststructure.c: (gst_structure_get_type),
31572         (gst_structure_copy_conditional):
31573         * gst/gststructure.h:
31574         * gst/gsttaginterface.h:
31575         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
31576         (gst_task_init), (gst_task_dispose), (gst_task_create),
31577         (gst_task_get_state), (gst_task_start), (gst_task_stop),
31578         (gst_task_pause):
31579         * gst/gsttask.h:
31580         * gst/gstthread.c:
31581         * gst/gstthread.h:
31582         * gst/gsttypes.h:
31583         * gst/schedulers/Makefile.am:
31584         * gst/schedulers/cothreads_compat.h:
31585         * gst/schedulers/entryscheduler.c:
31586         * gst/schedulers/faircothreads.c:
31587         * gst/schedulers/faircothreads.h:
31588         * gst/schedulers/fairscheduler.c:
31589         * gst/schedulers/gstbasicscheduler.c:
31590         * gst/schedulers/gstoptimalscheduler.c:
31591         * gst/schedulers/gthread-cothreads.h:
31592         * gst/schedulers/threadscheduler.c:
31593         (gst_thread_scheduler_task_get_type),
31594         (gst_thread_scheduler_task_class_init),
31595         (gst_thread_scheduler_task_init),
31596         (gst_thread_scheduler_task_start),
31597         (gst_thread_scheduler_task_stop),
31598         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
31599         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
31600         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
31601         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
31602         (plugin_init):
31603         * libs/gst/Makefile.am:
31604         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
31605         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
31606         (gst_file_pad_parent_set):
31607         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
31608         (gst_dp_event_from_packet):
31609         * tests/complexity.c: (main):
31610         * tests/mass_elements.c: (main):
31611         * testsuite/states/locked.c: (message_received), (main):
31612         * testsuite/states/parent.c: (main):
31613         * tools/gst-inspect.c: (print_element_flag_info),
31614         (print_implementation_info), (print_pad_info):
31615         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
31616         (main):
31617         * tools/gst-md5sum.c: (event_loop), (main):
31618         * tools/gst-typefind.c: (main):
31619         * tools/gst-xmlinspect.c: (print_element_info):
31620         Next big merge.
31621         Added GstBus for mainloop integration.
31622         Added GstMessage for sending notifications on the bus.
31623         Added GstTask as an abstraction for pipeline entry points.
31624         Removed GstThread.
31625         Removed Schedulers.
31626         Simplified GstQueue for multithreaded core.
31627         Made _link threadsafe, removed old capsnego.
31628         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
31629         Added pad blocking functions.
31630         Reworked scheduling functions in GstPad to prepare for
31631         scheduling updates soon.
31632         Moved events out of data stream.
31633         Simplified GstEvent types.
31634         Added return values to push/pull.
31635         Removed clocking from GstElement.
31636         Added prototypes for state change function for next merge.
31637         Removed iterate from bins and state change management.
31638         Fixed some elements, disabled others for now.
31639         Fixed -inspect and -launch.
31640         Added check for GstBus.
31641
31642 2005-03-10  Wim Taymans  <wim@fluendo.com>
31643
31644         * docs/design/part-MT-refcounting.txt:
31645         * docs/design/part-clocks.txt:
31646         * docs/design/part-gstelement.txt:
31647         * docs/design/part-gstobject.txt:
31648         * docs/design/part-standards.txt:
31649         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31650         (gst_bin_remove_func), (gst_bin_remove):
31651         * gst/gstbin.h:
31652         * gst/gstbuffer.c:
31653         * gst/gstcaps.h:
31654         * testsuite/clock/clock1.c: (main):
31655         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
31656         (main):
31657         * testsuite/dlopen/loadgst.c: (do_test):
31658         * testsuite/refcounting/bin.c: (add_remove_test1),
31659         (add_remove_test2), (main):
31660         * testsuite/refcounting/element.c: (main):
31661         * testsuite/refcounting/element_pad.c: (main):
31662         * testsuite/refcounting/pad.c: (main):
31663         * tools/gst-launch.c: (sigint_handler_sighandler):
31664         * tools/gst-typefind.c: (main):
31665         Doc updates.
31666         Added doc about clock.
31667         removed gst_bin_iterate_recurse_up(), marked methods
31668         for removal.
31669         Fix more testsuites.
31670
31671 2005-03-09  Wim Taymans  <wim@fluendo.com>
31672
31673         * gst/gstpad.c: (gst_pad_get_direction),
31674         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
31675         (gst_pad_collect_valist):
31676         * testsuite/bins/interface.c: (main):
31677         * testsuite/caps/audioscale.c: (test_caps):
31678         * testsuite/caps/caps.c: (test1), (test2), (test3):
31679         * testsuite/caps/deserialize.c: (main):
31680         * testsuite/caps/enumcaps.c: (main):
31681         * testsuite/caps/filtercaps.c: (main):
31682         * testsuite/caps/intersect2.c: (main):
31683         * testsuite/caps/random.c: (main):
31684         * testsuite/caps/renegotiate.c: (my_fixate), (main):
31685         * testsuite/caps/sets.c: (check_caps):
31686         * testsuite/caps/simplify.c: (check_caps), (main):
31687         * testsuite/caps/subtract.c: (check_caps):
31688         Fix _pad_get_direction wrt ghostpads.
31689         Fix caps testsuite.
31690
31691 2005-03-09  Wim Taymans  <wim@fluendo.com>
31692
31693         * check/Makefile.am:
31694         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
31695         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
31696         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
31697         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
31698         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
31699         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
31700         (gst_bin_remove), (gst_bin_iterate_recurse_up),
31701         (bin_element_is_sink), (gst_bin_iterate_sinks),
31702         (gst_bin_iterate_all_by_interface):
31703         * gst/gstbin.h:
31704         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
31705         (gst_element_change_state), (gst_element_dispose),
31706         (gst_element_finalize), (gst_element_set_loop_function):
31707         * gst/gstelement.h:
31708         * gst/gstiterator.c: (find_custom_fold_func):
31709         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31710         (gst_pad_collectv), (gst_pad_collect_valist),
31711         (gst_pad_template_new):
31712         * gst/gstpipeline.c: (gst_pipeline_class_init),
31713         (gst_pipeline_dispose), (gst_pipeline_set_property),
31714         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
31715         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
31716         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
31717         * gst/gstutils.h:
31718         * gst/schedulers/entryscheduler.c:
31719         * gst/schedulers/gstbasicscheduler.c:
31720         (gst_basic_scheduler_cothreaded_chain),
31721         (gst_basic_scheduler_chain_add_element):
31722         * testsuite/bins/interface.c: (main):
31723         Added GstBin test.
31724         Added GstSystemClock test.
31725         Implemented clock distribution code in GstBin.
31726         Implemented iterate sinks method for future use.
31727         Rearranged gstelement.h
31728         Fix GstIterator comparison bug.
31729         Moved some code to GstPipeline, mostly clocking related.
31730
31731 2005-03-09  Wim Taymans  <wim@fluendo.com>
31732
31733         * configure.ac:
31734         * gst/gst_private.h:
31735         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31736         (gst_bin_remove_func), (gst_bin_remove),
31737         (gst_bin_get_by_name_recurse_up):
31738         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
31739         (gst_clock_id_compare_func), (gst_clock_id_wait),
31740         (gst_clock_id_wait_async), (gst_clock_init),
31741         (gst_clock_adjust_unlocked), (gst_clock_get_time):
31742         * gst/gstelement.h:
31743         * gst/gstinfo.c: (_gst_debug_init):
31744         * gst/gstobject.h:
31745         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31746         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
31747         * gst/gstpad.h:
31748         Bump version number, we're now 0.9.0
31749         Add future debugging category.
31750         Fix NULL _unref() in _get_by_name_recurse_up
31751         Rearrange gstpad.h.
31752         Update some docs.
31753
31754 2005-03-08  Wim Taymans  <wim@fluendo.com>
31755
31756         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
31757         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
31758         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
31759         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
31760         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
31761         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
31762         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
31763         * gst/elements/gstidentity.c: (gst_identity_class_init):
31764         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
31765         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
31766         * gst/elements/gstshaper.c: (gst_shaper_class_init):
31767         * gst/elements/gststatistics.c: (gst_statistics_class_init):
31768         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
31769         (gst_tee_link):
31770         * gst/gstelement.c: (gst_element_class_init),
31771         (gst_element_base_class_init), (gst_element_init),
31772         (gst_element_get_random_pad), (gst_element_wait_state_change),
31773         (gst_element_change_state), (gst_element_dispose),
31774         (gst_element_finalize), (gst_element_set_loop_function):
31775         * gst/gstelement.h:
31776         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
31777         * gst/gstthread.c: (gst_thread_class_init),
31778         (gst_thread_release_children_locks), (gst_thread_change_state):
31779         * gst/schedulers/gstbasicscheduler.c:
31780         (gst_basic_scheduler_loopfunc_wrapper),
31781         (gst_basic_scheduler_chain_wrapper),
31782         (gst_basic_scheduler_src_wrapper),
31783         (gst_basic_scheduler_remove_element):
31784         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
31785         Remove threadsafe properties. Fix elements because GObject
31786         complains when installing a property before declaring a
31787         set/get_property handler.
31788         Rearrange gstelement.h file, use STATE macros for state locks.
31789         Free mutexes in the finalize method instead of dispose.
31790
31791 2005-03-08  Wim Taymans  <wim@fluendo.com>
31792
31793         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
31794         * gst/gstthread.c: (gst_thread_release_children_locks):
31795         Added parentage check.
31796         Fix build og GstThread again.
31797
31798 2005-03-08  Wim Taymans  <wim@fluendo.com>
31799
31800         * docs/design/part-MT-refcounting.txt:
31801         * docs/design/part-conventions.txt:
31802         * docs/design/part-gstobject.txt:
31803         * docs/design/part-relations.txt:
31804         * docs/design/part-standards.txt:
31805         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31806         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
31807         (gst_bin_get_by_name), (gst_bin_get_by_interface),
31808         (gst_bin_iterate_all_by_interface):
31809         * gst/gstbuffer.h:
31810         * gst/gstclock.h:
31811         * gst/gstelement.c: (gst_element_class_init),
31812         (gst_element_change_state), (gst_element_set_loop_function):
31813         * gst/gstelement.h:
31814         * gst/gstiterator.c:
31815         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
31816         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
31817         (gst_object_dispatch_properties_changed), (gst_object_set_name),
31818         (gst_object_set_parent), (gst_object_unparent),
31819         (gst_object_check_uniqueness):
31820         * gst/gstobject.h:
31821         Docs updates, clean up some headers.
31822
31823 2005-03-07  Wim Taymans  <wim@fluendo.com>
31824
31825         * check/.cvsignore:
31826         * check/Makefile.am:
31827         * check/gst-libs/.cvsignore:
31828         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
31829         * check/gst/.cvsignore:
31830         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
31831         (START_TEST), (gstbus_suite), (main):
31832         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
31833         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
31834         (gst_data_suite), (main):
31835         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
31836         (add_fold_func), (gstiterator_suite), (main):
31837         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
31838         (thread_name_object), (thread_name_object_default),
31839         (gst_object_name_compare), (gst_object_suite), (main):
31840         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
31841         (gst_pad_suite), (main):
31842         * check/gstcheck.c: (gst_check_log_message_func),
31843         (gst_check_log_critical_func), (gst_check_init):
31844         * check/gstcheck.h:
31845         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
31846         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
31847         Added checks.
31848
31849 2005-03-07  Wim Taymans  <wim@fluendo.com>
31850
31851         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
31852         (gst_list_iterator_next), (gst_list_iterator_resync),
31853         (gst_list_iterator_free), (gst_iterator_new_list),
31854         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
31855         (gst_iterator_free), (gst_iterator_push), (filter_next),
31856         (filter_resync), (filter_uninit), (filter_free),
31857         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
31858         (gst_iterator_foreach), (find_custom_fold_func),
31859         (gst_iterator_find_custom):
31860         * gst/gstiterator.h:
31861         Added missing files.
31862
31863 2005-03-07  Wim Taymans  <wim@fluendo.com>
31864
31865         * Makefile.am:
31866         * configure.ac:
31867         * docs/design/part-MT-refcounting.txt:
31868         * docs/design/part-conventions.txt:
31869         * docs/design/part-gstobject.txt:
31870         * docs/design/part-relations.txt:
31871         * examples/mixer/mixer.c: (main):
31872         * examples/thread/thread.c: (eos), (main):
31873         * gst/Makefile.am:
31874         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
31875         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
31876         (gst_spider_plug_from_srcpad):
31877         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
31878         (gst_spider_identity_change_state),
31879         (gst_spider_identity_sink_loop_type_finding):
31880         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
31881         * gst/elements/gstidentity.c: (gst_identity_init):
31882         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
31883         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
31884         * gst/elements/gsttypefindelement.c: (free_entry):
31885         * gst/gst.c:
31886         * gst/gst.h:
31887         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
31888         (gst_bin_set_clock_func), (gst_bin_auto_clock),
31889         (gst_bin_set_index), (gst_bin_set_element_sched),
31890         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
31891         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
31892         (gst_bin_iterate_elements), (iterate_child_recurse),
31893         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
31894         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
31895         (compare_interface), (gst_bin_get_by_interface),
31896         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
31897         * gst/gstbin.h:
31898         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
31899         (gst_buffer_default_free), (gst_buffer_default_copy),
31900         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
31901         (gst_buffer_create_sub):
31902         * gst/gstbuffer.h:
31903         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
31904         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
31905         (gst_caps_unref), (gst_static_caps_get),
31906         (gst_caps_remove_and_get_structure), (gst_caps_append),
31907         (gst_caps_append_structure), (gst_caps_remove_structure),
31908         (gst_caps_copy_nth), (gst_caps_set_simple),
31909         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
31910         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
31911         (gst_caps_structure_intersect_field), (gst_caps_intersect),
31912         (gst_caps_structure_subtract_field), (gst_caps_subtract),
31913         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
31914         (gst_caps_structure_figure_out_union),
31915         (gst_caps_switch_structures), (gst_caps_do_simplify),
31916         (gst_caps_replace), (gst_caps_from_string),
31917         (gst_caps_copy_conditional):
31918         * gst/gstcaps.h:
31919         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
31920         (_gst_clock_id_free), (gst_clock_id_unref),
31921         (gst_clock_id_compare_func), (gst_clock_id_wait),
31922         (gst_clock_id_wait_async), (gst_clock_class_init),
31923         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
31924         (gst_clock_get_time), (gst_clock_set_time_adjust),
31925         (gst_clock_set_property), (gst_clock_get_property):
31926         * gst/gstclock.h:
31927         * gst/gstcompat.h:
31928         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
31929         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
31930         * gst/gstdata.h:
31931         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
31932         (gst_element_requires_clock), (gst_element_provides_clock),
31933         (gst_element_set_clock), (gst_element_clock_wait),
31934         (gst_element_wait), (gst_element_set_time_delay),
31935         (gst_element_is_indexable), (gst_element_add_pad),
31936         (gst_element_add_ghost_pad), (gst_element_remove_pad),
31937         (pad_compare_name), (gst_element_get_static_pad),
31938         (gst_element_request_pad), (gst_element_get_request_pad),
31939         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
31940         (gst_element_class_get_pad_template_list),
31941         (gst_element_class_get_pad_template), (gst_element_error_func),
31942         (gst_element_get_random_pad), (gst_element_get_event_masks),
31943         (gst_element_send_event), (gst_element_seek),
31944         (gst_element_get_query_types), (gst_element_query),
31945         (gst_element_get_formats), (gst_element_convert),
31946         (gst_element_is_locked_state), (gst_element_set_locked_state),
31947         (gst_element_sync_state_with_parent), (gst_element_change_state),
31948         (gst_element_finalize), (gst_element_yield),
31949         (gst_element_interrupt), (gst_element_set_scheduler),
31950         (gst_element_get_scheduler), (gst_element_set_loop_function):
31951         * gst/gstelement.h:
31952         * gst/gstevent.h:
31953         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
31954         (gst_format_get_by_nick), (gst_format_get_details),
31955         (gst_format_iterate_definitions):
31956         * gst/gstformat.h:
31957         * gst/gstindex.c: (gst_index_gtype_resolver):
31958         * gst/gstinfo.c:
31959         * gst/gstinfo.h:
31960         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
31961         (gst_mem_chunk_free):
31962         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
31963         (gst_object_ref), (gst_object_unref), (gst_object_sink),
31964         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
31965         (gst_object_dispatch_properties_changed),
31966         (gst_object_set_name_default), (gst_object_set_name),
31967         (gst_object_get_name), (gst_object_set_name_prefix),
31968         (gst_object_get_name_prefix), (gst_object_set_parent),
31969         (gst_object_get_parent), (gst_object_unparent),
31970         (gst_object_check_uniqueness), (gst_object_save_thyself),
31971         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
31972         (gst_object_set_property), (gst_object_get_property),
31973         (gst_object_get_path_string):
31974         * gst/gstobject.h:
31975         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
31976         (gst_real_pad_init), (gst_real_pad_get_property),
31977         (gst_pad_custom_new), (gst_pad_get_direction),
31978         (gst_pad_set_active), (gst_pad_is_active),
31979         (gst_pad_set_event_function), (gst_pad_is_linked),
31980         (gst_pad_link_free), (gst_pad_link_intersect),
31981         (gst_pad_link_fixate), (gst_pad_set_caps),
31982         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
31983         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
31984         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
31985         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
31986         (gst_pad_get_caps), (gst_pad_peer_get_caps),
31987         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
31988         (gst_pad_realize), (gst_pad_get_allowed_caps),
31989         (gst_real_pad_dispose), (gst_real_pad_finalize),
31990         (gst_pad_collectv), (gst_pad_collect_valist),
31991         (gst_pad_template_dispose), (gst_pad_template_new),
31992         (gst_pad_get_internal_links):
31993         * gst/gstpad.h:
31994         * gst/gstpipeline.c: (gst_pipeline_dispose),
31995         (gst_pipeline_change_state):
31996         * gst/gstpipeline.h:
31997         * gst/gstplugin.c:
31998         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
31999         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
32000         * gst/gstpluginfeature.h:
32001         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
32002         * gst/gstquery.c: (_gst_query_type_initialize),
32003         (gst_query_type_register), (gst_query_type_get_by_nick),
32004         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
32005         * gst/gstquery.h:
32006         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
32007         * gst/gstscheduler.c: (gst_scheduler_add_element),
32008         (gst_scheduler_factory_create):
32009         * gst/gststructure.c: (gst_structure_set_parent_refcount),
32010         (gst_structure_free), (gst_structure_set_name),
32011         (gst_structure_id_set_value), (gst_structure_set_value),
32012         (gst_structure_set_valist), (gst_structure_remove_field),
32013         (gst_structure_remove_fields),
32014         (gst_structure_remove_fields_valist),
32015         (gst_structure_remove_all_fields), (gst_structure_foreach),
32016         (gst_structure_map_in_place),
32017         (gst_caps_structure_fixate_field_nearest_int),
32018         (gst_caps_structure_fixate_field_nearest_double):
32019         * gst/gststructure.h:
32020         * gst/gstsystemclock.c: (gst_system_clock_class_init),
32021         (gst_system_clock_init), (gst_system_clock_dispose),
32022         (gst_system_clock_async_thread),
32023         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
32024         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
32025         * gst/gstsystemclock.h:
32026         * gst/gsttag.c: (gst_tag_list_add_value_internal),
32027         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
32028         * gst/gsttaginterface.c:
32029         * gst/gstthread.c: (gst_thread_dispose),
32030         (gst_thread_release_children_locks), (gst_thread_change_state),
32031         (gst_thread_main_loop):
32032         * gst/gsttrashstack.h:
32033         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
32034         * gst/gsttypes.h:
32035         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
32036         (gst_element_request_pad), (gst_element_get_pad_from_template),
32037         (gst_element_request_compatible_pad),
32038         (gst_element_get_compatible_pad_filtered),
32039         (gst_element_get_compatible_pad), (gst_element_state_get_name),
32040         (gst_element_link_pads_filtered), (gst_element_link_filtered),
32041         (gst_element_link_many), (gst_element_link),
32042         (gst_element_link_pads), (gst_element_unlink_pads),
32043         (gst_element_unlink_many), (gst_element_unlink),
32044         (gst_pad_can_link_filtered), (gst_pad_can_link),
32045         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
32046         (gst_object_default_error), (gst_bin_add_many),
32047         (gst_bin_remove_many), (gst_element_populate_std_props),
32048         (gst_element_class_install_std_props), (gst_buffer_merge),
32049         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
32050         (link_fold_func), (gst_pad_proxy_setcaps):
32051         * gst/gstutils.h:
32052         * gst/gstvalue.c: (gst_value_deserialize_string):
32053         * gst/parse/grammar.y:
32054         * gst/schedulers/gstbasicscheduler.c:
32055         (gst_basic_scheduler_cothreaded_chain),
32056         (gst_basic_scheduler_chain_recursive_add),
32057         (gst_basic_scheduler_pad_link):
32058         * gst/schedulers/gstoptimalscheduler.c:
32059         (get_group_schedule_function),
32060         (gst_opt_scheduler_state_transition),
32061         (gst_opt_scheduler_add_element), (element_get_reachables_func):
32062         * libs/gst/bytestream/bytestream.c:
32063         * libs/gst/dataprotocol/dataprotocol.c:
32064         (gst_dp_header_from_buffer):
32065         * po/nb.po:
32066         * po/ru.po:
32067         * tests/threadstate/threadstate2.c: (eos):
32068         * tools/gst-compprep.c: (main):
32069         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
32070         (print_pad_info), (print_children_info):
32071         * tools/gst-launch.c: (idle_func), (main):
32072         * tools/gst-md5sum.c: (idle_func), (main):
32073         * tools/gst-xmlinspect.c: (print_element_info):
32074         First THREADED backport attempt, focusing on adding locks and
32075         making sure the API is threadsafe. Needs more work. More docs
32076         follow this week.
32077
32078 2005-02-24  Andy Wingo  <wingo@pobox.com>
32079
32080         * tests/bench-complexity.scm:
32081         * tests/complexity.gnuplot: New files, good for running complexity
32082         benchmarks.
32083
32084         * tests/Makefile.am:
32085         * tests/complexity.c: New test, sets up N elements, at each level
32086         teeing into M streams per element. Eeeenteresting.
32087
32088         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
32089         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
32090         running bench-mass_elements.scm.
32091
32092         * tests/bench-mass_elements.scm: New script, runs mass_elements
32093         for various numbers of identities, outputting the results to a
32094         file. Requires guile 1.6. Just for testing.
32095
32096 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
32097
32098         * gst/schedulers/fairscheduler.c:
32099           compile with debug disabled
32100
32101 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
32102
32103         * configure.ac:
32104           hunting season on 0.9 is now OPEN